-
Notifications
You must be signed in to change notification settings - Fork 1
Model 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*
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.