Skip to content

Model structure

Claudio Bonesana edited this page May 27, 2021 · 1 revision

Chain-like structure

Originally, this tool was developed following a specific chain-like structure of models. Here is a schema:

 S0 -> S1 -> S2 -> S3
  v     v     v     v
 Q0*   Q1*   Q2*   Q3*

This is what we call a chain-skill model: for each skill Sx there are a number of questions Qx available, and for each question Qx there is only one skill Sx as a parent. Each skill can have multiple questions. The skills are connected along a chain, hence the name.

The adaptive engine will optimize for the best distribution across all skill nodes, also called output or target nodes, based on the answers given.

A model like this can cover up the majority of questionnaire where the questions have one single precise argument and at the same time there is a certain connection between the skills. If there is a more complex interaction between the skills, the tool support this. As an example, the following model is considered by the tool another chain-like model:

        v--------- S3
  v--- S1 ----v     |
 S0     |    S2     |
  v     v     v     v
 Q0*   Q1*   Q2*   Q3*

Networks and complex models

When we have instead a complex connection between skills and nodes, more like a Bayesian network than a chain, it is advised to set the simple flag to true. This flag let the adaptive engine use a more simple search method where constraints on the skills are not considered.

In case of such interactions, we noted how the performance increase in adding a single "skill" node that is the parent of all the real skill node and its states are a combination of all the real skill states. In other word, if we have skill nodes SA and SB both with 2 states, the added node will have SA and SB as children and its states will be {sa1b1, sa1b2, sa2b1, sa2b2}. This solution tends to easily explode with many states.

Clone this wiki locally