Learning Algorithms Reference
Last Updated: 2026-10-09 | For: Experimenters, researchers, and developers
Audience: Experimenters/researchers who need to interpret adaptive behavior, and developers who maintain it. Teachers usually need Learning Sessions instead.
This page explains the learning-session scheduling logic currently implemented in MoFaCTS and ties it to relevant literature.
This page describes learningsession scheduling and the shared adaptive-model identities also used by model-linked SPARC practice. It does not describe assessment schedules, video checkpoints, conversational move selection, or instruction-only units.
Practical Summary
MoFaCTS currently uses:
- a logistic probability model (LKT-style in spirit, not full Bayesian KT), and
- a selection policy (
unitMode) that decides which item to show next using those probabilities.
In learning sessions, the most important selection mode is distance, which picks the item closest to an optimal target probability in logit space.
Probability preparation uses one captured evaluation time for the selection pass. Time-based predictors use that shared reference, so computation order does not give each candidate a different clock value.
Shared model evidence across course lessons
Lessons in the same course can intentionally share evidence for a knowledge component by using the same clusterKC. Shared model scope combines the learner, course, and normalized cluster identity. Standalone practice uses a lesson scope, so matching a concept name alone does not merge all of a learner's unrelated practice.
Authors can place clusterKC on the cluster. That cluster-level identity takes precedence over per-stimulus cluster values. String cluster identities are trimmed and normalized to lowercase. Use the same identity for the same concept, and distinct identities for concepts whose evidence should remain separate. Numeric identities remain supported, but reusing an identity across course lessons has consequences for model evidence.
Course-scoped model evidence and assignment progress serve different purposes: shared practice can inform a concept's model, while the assignment retains its own launch and completion scope. Model-linked SPARC and ordinary card practice use the shared history contract rather than separate model stores.
Where This Lives in Code
- Unit-engine app facade:
mofacts/client/views/experiment/unitEngine.ts - Learning-session engine:
learning-components/units/learning-session/LearningSessionUnitEngine.ts - Probability calculation:
learning-components/models/adaptive-logistic/probabilityCalculation.ts - Selection policies:
learning-components/models/adaptive-logistic/selectionPolicy.ts - Shared scope and cluster identities:
learning-components/runtime/sharedModelPracticeIdentity.ts - Author-facing tooltip definitions for
unitModeandcalculateProbability:mofacts/client/lib/tooltipContent.ts
Runtime boundary note: current learning, assessment, video, instruction, and AutoTutor unit types register through learning-component manifests under learning-components/. Manifest capability checks fail clearly when required runtime capabilities are missing; the app-owned Meteor/Svelte layer supplies routing, persistence, UI, and server-method integration.
1) Probability Model
Default model
If a unit does not provide its own calculateProbability, MoFaCTS uses a default logistic model (defaultProbFunction):
y = -0.77
+ 0.665 * logitdec(recent outcomes, decay=0.966)
+ 0.51 * stimSuccessCount
+ 11.1 * recency(stimSecsSinceLastShown, d=0.443)
probability = 1 / (1 + exp(-y))
Inputs used
The model composes multiple signals from practice history:
- recent correctness history (decayed),
- per-stimulus prior successes/failures,
- recency (time since last shown),
- additional contextual history available in
p.*when custom probability expressions is provided.
Why this is "stripped-down LKT"
- It predicts correctness probability using logistic skill/performance signals (similar to KT-family and PFA-family models),
- but it is not a full hidden-state Bayesian Knowledge Tracing model with explicit learn/slip/guess transitions per skill.
2) Selection Policy
Once each candidate item has a probability estimate, unitMode determines selection.
distance mode (primary learning-session mode)
distance computes:
dist = | logit(p_item) - logit(p_optimal) |
and picks the item with minimum distance, subject to eligibility constraints (canUse, spacing rules, hidden-item filters).
Interpretation:
p_optimalis the desired challenge level (from delivery params or item parameters),- choosing minimum distance aims to keep practice near an instructional sweet spot.
thresholdceiling mode
Picks the highest-probability eligible item that is still below a ceiling threshold.
3) Worked Interpretation of Distance
Suppose target probability is 0.80.
- Compute each candidate item's current
p_item. - Convert both
p_itemand0.80to logits. - Pick the item with smallest absolute logit gap.
Compared with plain probability subtraction, logit-space distance behaves better near probability extremes and matches the model's logistic form.
4) Relationship to Literature
The current implementation aligns most directly with this lineage:
- Knowledge Tracing tradition: student knowledge/performance inference from sequential responses.
- Logistic performance-factor modeling: correctness predicted from prior successes/failures and related factors.
- Spacing/recency effects: timing between practices matters for retention and scheduling.
MoFaCTS supports configurable calculateProbability expressions evaluated by a bounded authored-expression interpreter. These expressions are not unrestricted JavaScript execution. The default and custom model must be distinguished in study reporting.
References
- Corbett, A. T., & Anderson, J. R. (1994). Knowledge tracing: Modeling the acquisition of procedural knowledge. User Modeling and User-Adapted Interaction, 4, 253-278. https://doi.org/10.1007/BF01099821
- Pavlik, P. I., Cen, H., & Koedinger, K. R. (2009). Performance Factors Analysis - A New Alternative to Knowledge Tracing. In AIED 2009. https://doi.org/10.3233/978-1-60750-028-5-531
- Cen, H., Koedinger, K. R., & Junker, B. (2006). Learning Factors Analysis - A General Method for Cognitive Model Evaluation and Improvement. ITS 2006. https://doi.org/10.1007/11774303_17
- Cepeda, N. J., Pashler, H., Vul, E., Wixted, J. T., & Rohrer, D. (2006). Distributed practice in verbal recall tasks: A review and quantitative synthesis. Psychological Bulletin, 132(3), 354-380. https://doi.org/10.1037/0033-2909.132.3.354