各ステップのテストで誤った結果が出る可能性がある場合に、バイナリサーチを実行するアルゴリズムが必要です。
背景:
最も適切な12の難易度に生徒を配置する必要があります。現在のアプローチはブルートフォースであり、難易度が増加し、3つの間違いの後で停止する60の4択多項式質問をし、生徒をfloor((score - 1) / 5) + 1
最低1のレベルに配置します。
お客様が実際にプログラムを使用する前に最大60の質問を伴うテストに直面すると、お客様の電源が切れるのではないかと懸念しています。そのため、テストで行われる質問の数を最小限に抑えたいと考えています。また、お客様がプレースメントテストを(長いように思われるため)スキップし、プログラムが簡単すぎると思われるためにプログラムを放棄することも懸念しています。
配置の中央値は実際にはレベル2にあるため、学生の50%以上が11未満(つまり、14未満の質問に答える)のスコアです。逸話として、これは彼らが退屈して真剣に質問をするのをやめたためかもしれません(彼らは幼い子供です)。
提案された解決策: 難易度6/7の質問で始まり、質問が正しいか間違っているかに基づいて進行する12項目のバイナリ検索としてテストを実装します。理論的には、これは3〜4問で適切な難易度を見つけることができます。
問題: 既存のテストは3つの間違った答えの後にのみ終了し、60の質問を使用して12レベルから選択することから推測できるように、正しい答えをたどる生徒(25%の確率で行う)または誤って不正解(太った指、誤解した質問など)を与える。二分探索では、これがさらに重要です。最初の質問に正解をたどると、他のすべての質問が間違っていても、難易度の上半分になる可能性があるからです。
では、個々のテストが正確であることを保証できない二分探索の認識されたアルゴリズムはありますか?
単純に私は各ステップで3つまたは5つの質問を最もよく試す可能性があります。また、初期の質問は後の質問よりも最終結果に大きな影響を与えるため、これらの追加の質問を初期のステップにのみ追加し、後のステップには追加しないでください。それ以上のものはありますか?