Repository navigation
Expand file tree
/
Copy pathconfig.py
More file actions
91 lines (81 loc) · 2.84 KB
/
Copy pathconfig.py
File metadata and controls
91 lines (81 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
"""Simulation configuration, parameters.
All specific parameter values should be collected here."""
from models import Scenario
from progress_measures import *
LOW_SKILL, AVG_SKILL, HIGH_SKILL = -3, 0, 3
SKILLS = list(range(LOW_SKILL, HIGH_SKILL+1))
EVAL_SPECS_TIME = {
'L_under_0': 600,
'L_under_1': 540,
'A_over_1': 350,
'A_over_0': 200,
'A_under_0': 140,
'A_under_1': 50,
'H_over_1': 280,
'H_over_0': 80,
'poor_std': 220
}
def get_eval_specs(scenario, as_time=False):
"""For a specific scenario, either in number of attempts or time."""
if as_time:
return EVAL_SPECS_TIME
t = scenario.time_intensity
return {atr: EVAL_SPECS_TIME[atr] / t for atr in EVAL_SPECS_TIME}
def get_attempts_limit(scenario):
t = scenario.time_intensity
return int(EVAL_SPECS_TIME["L_under_0"] / t)
scenarios = {
"acq": Scenario(
name="ACQ",
guess_chance=0.5,
time_intensity=3,
desc="alternate choice question, fast answer",
difficulty_mean=-0.25,
difficulty_std=1,
student_std=1
),
"mcq": Scenario(
name="MCQ",
guess_chance=0.25,
time_intensity=5,
desc="multiple choice question, 4 options, vocabulary practice",
difficulty_mean=0.25,
difficulty_std=1,
student_std=1
),
"wa": Scenario(
name="WA",
guess_chance=0.05,
time_intensity=15,
desc="constructed response (written answer), math equations, slow answers",
difficulty_mean=0,
difficulty_std=1,
student_std=1
)
}
pm_lists = {
"acq-opt":[
ProgressMeasureTC(36),
ProgressMeasureNCC(11),
ProgressMeasureTOW(bonus=0.037, pen=0.055),
ProgressMeasureEMA(decay=0.942, threshold=0.805),
ProgressMeasureVSLinear(base_step=0.029, slope=0.619, guess_chance=0.5, decay=0.536),
ProgressMeasureVSHMM(base_step=0.031, guess_chance=0.5, slip_chance=0.017, skill_change=0.002, low_speed=0.525, high_speed=1.282)
],
"mcq-opt":[
ProgressMeasureTC(36),
ProgressMeasureNCC(6),
ProgressMeasureTOW(bonus=0.068, pen=0.032),
ProgressMeasureEMA(decay=0.818, threshold=0.801),
ProgressMeasureVSLinear(base_step=0.063, slope=0.341, guess_chance=0.25, decay=0.68),
ProgressMeasureVSHMM(base_step=0.065, guess_chance=0.25, slip_chance=0.015, skill_change=0.001, low_speed=0.076, high_speed=1.029)
],
"wa-opt":[
ProgressMeasureTC(7),
ProgressMeasureNCC(3),
ProgressMeasureTOW(bonus=0.199, pen=0.036),
ProgressMeasureEMA(decay=0.578, threshold=0.809),
ProgressMeasureVSLinear(base_step=0.189, slope=1.276, guess_chance=0.05, decay=0.954),
ProgressMeasureVSHMM(base_step=0.191, guess_chance=0.05, slip_chance=0.006, skill_change=0.004, low_speed=0.09, high_speed=1.035)
]
}