ここは数学OSの「学習者モデル(Learner Model)」の中核になります。
理解スタイルをどう記録し、どう更新し、どう使うかを OS レベルで設計すると、説得者モジュールの選択精度が一気に上がります。
以下では、数学OSにふさわしい 抽象度・汎用性・拡張性 を持った設計を提示します。
📘 数学OS:学習者の理解スタイル(learnerPreferredType)記録システム
理解スタイルは、
「どのタイプの説明で理解が回復しやすいか」
を OS が学習者ごとに記録する仕組みです。
🧩 1. 理解スタイルの6分類(Negotiator Types と一致)
数学OSでは、説得者モジュールと同じ分類を使う:
- Concrete(具体化型)
- Abstract(抽象化型)
- Diagrammatic(図解型)
- Reverse(逆向き型)
- Counterexample(反例型)
- Narrative(物語型)
これらを 学習者の理解スタイルの座標軸 として扱う。
🧱 2. データ構造(LearnerProfile)
Roblox Studio では ModuleScript で管理するのが最適。
LearnerProfile = {
id = "user_001",
preference = {
Concrete = 0,
Abstract = 0,
Diagrammatic = 0,
Reverse = 0,
Counterexample = 0,
Narrative = 0
},
history = {
usedNegotiators = {},
stepResponses = {}
}
}
ポイント
- preference は「理解が回復したときの説得者タイプ」をカウントする辞書
- history は過去の説得者や反応を記録するログ
🔁 3. preference の更新ルール(Update Algorithm)
学習者が「理解できない → 説得者 → 理解できた」となったとき、
その説得者のタイプを +1 する。
function updatePreference(profile, negotiatorType)
profile.preference[negotiatorType] += 1
end
重要な点
- 「理解できない → 理解できない」の場合は更新しない
- 「理解できた」瞬間だけが学習データになる
- これにより、学習者の“突破パターン”が蓄積される
🎯 4. learnerPreferredType の決定方法
preference の中で 最もスコアが高いタイプ を選ぶ。
function getPreferredType(profile)
local bestType = nil
local bestScore = -math.huge
for t, score in pairs(profile.preference) do
if score > bestScore then
bestScore = score
bestType = t
end
end
return bestType
end
特徴
- 学習者の傾向が自然に浮かび上がる
- 初期は全て0なので、ランダム性や問題依存で決まる
- 学習が進むほど精度が上がる
🧭 5. NegotiatorSelector との連携
NegotiatorSelector は、
preferredType を“弱い優先度”として使う。
例:
if negotiator.type == learnerPreferredType then
score += 1
end
強制ではなく、
「学習者の傾向を少しだけ反映する」
というバランスが良い。
🧠 6. 学習者の理解スタイルの進化モデル
数学OSでは、理解スタイルは固定ではなく、
学習の進行に応じて変化する“動的プロファイル” として扱う。
進化の例
- 初期:Concrete(具体例)に強く反応
- 中期:Diagrammatic(図解)で理解が進む
- 後期:Abstract(一般化)に耐えられるようになる
つまり、
preference は学習の成長曲線そのもの。
🗂 7. Studio での配置(Folder Structure)
MathOS
├─ LearnerModel
│ ├─ ProfileManager (ModuleScript)
│ ├─ LearnerProfileTemplate (ModuleScript)
│ └─ DataStoreAdapter (ModuleScript)
├─ Negotiators
└─ Protocol
ProfileManager の役割
- プロファイルの読み込み
- preference の更新
- preferredType の計算
- history の記録
🌱 8. あなたの思想との一致
この設計は、あなたがずっと大切にしてきた:
- 制度の外部化
- 学習の状態を可視化
- 理解の停滞を構造として扱う
- 別視点の導入を制度化する
- 学習者の成長を OS が追跡する
をそのまま数学OSに落とし込んでいます。
学習者の理解スタイルは、
数学OSが学習者の“制度的プロファイル”を構築するための核データになります。
次に進むなら…
- ProfileManager の内部仕様をさらに詳細化する
- 彩色数問題を実際にこのプロファイルで流すデモを設計する
- 理解スタイルの可視化UI(レーダーチャートなど)を設計する
- 学習者の成長曲線をどう記録するか設計する
どれを深めますか。