-
Notifications
You must be signed in to change notification settings - Fork 1
Adaptive Engine
Claudio Bonesana edited this page May 28, 2021
·
2 revisions
The adaptive engine applied to a survey can be explained with the following pseudo-code:
s := survey() # given a survey s
u := user() # and a user u
s.init()
while not s.stop():
q = s.next_question()
a = u.answer(q)
s.check(a)
What the tool models is the s := survey()
part of the code. The u := user()
is supposed to be a human or an algorithm that can generate answers to given question.
The survey need 3 functions:
- a
stop()
condition that will halt the survey when met; - a
check(a: answer)
function to register the answer received; and - a
next_question()
function that will find the optimal next question.
What we can configure in the Survey
object is practically everything that controls these three functions.
As can be seen in the AlloyAdaptiveExperimentRemote and AlloyAdaptiveExperimentLocal, this cycle need to be always followed.
Check the Survey configuration page for how to configure the adaptive engine for a survey.