Алгоритм: Двійковий пошук, коли значення невизначені


11

Мені потрібен алгоритм для здійснення двійкового пошуку, коли тест на кожному кроці може дати неправильний результат.

Передумови: Мені потрібно розмістити учнів на найбільш відповідних 12 рівнях складності. Нинішній підхід є грубою силою і задає 60 запитань із численним вибором з 4 відповідями, що збільшують труднощі, зупиняючись після трьох неправильних, і ставить студента на рівень: floor((score - 1) / 5) + 1як мінімум 1.

Ми стурбовані тим, що клієнти вимикаються, коли вони стикаються з тестом, що містить до 60 питань, перш ніж вони дійсно можуть скористатися програмою, тому ми хотіли б мінімізувати кількість запитань у тесті. Ми також стурбовані тим, що клієнти пропускають тест на місце розташування (оскільки він здається довгим), а потім відмовляються від програми, оскільки це здається занадто простим.

Середнє місце розташування насправді знаходиться на рівні 2, тому 50 +% учнів набирають балів <11 (тобто відповідають <14 питань). Випадково це може бути через те, що їм нудно і перестають серйозно сприймати питання (це маленькі діти).

Пропоноване рішення: Реалізуйте тест у вигляді двійкового пошуку за дванадцятьма елементами, починаючи з питання на рівні складності 6/7 та продовжуючи, виходячи з того, чи правильно вони поставили запитання. Теоретично це могло б знайти відповідний рівень складності для них у 3-4 питаннях.

Проблема: Як ви можете здогадатися з існуючого тесту, який закінчується лише після трьох неправильних відповідей і використовуючи 60 запитань для вибору між 12 рівнями, ми хочемо врахувати, що студенти мають правильні відповіді (що вони повинні робити 25% часу) або випадково даючи неправильні відповіді (жирні пальці, неправильне запитання тощо). Це ще важливіше при двійковому пошуку, оскільки неповторна відповідь на перше запитання може поставити вас у верхню половину рівнів складності, навіть якщо ви отримаєте неправильне запитання.

То чи існує розпізнаний алгоритм двійкового пошуку, коли ви не можете гарантувати, що індивідуальний тест є точним?

Наївно я можу спробувати найкраще 3 або 5 питань на кожному кроці, і, оскільки ранні запитання мають більший вплив на кінцевий результат, ніж пізніші, можливо, додайте ці додаткові запитання лише до перших етапів, а не до пізніших. Чи є в цьому більше, ніж це?


Навіщо взагалі протестувати? Просто налаштуйте питання щодо фактичного тесту
Скотт Стенсленд

@ScottStensland, цікава думка. Однак фактична програма - це 12 "карт" з 10 "уроків", кожен з яких урок складається з 8-15 полотен HTML5 "Заходи" або ігри, що відрізняються різним дизайном. Студенти просуваються через карти та отримують нагороди та нагороди / сертифікати після кожного уроку та карти. Якби ми постійно коригували їх рівень після кожної гри, це було б досить дезорієнтуючим, і нам потрібно було б вбудувати відгук у всі наші існуючі ігри та також розібратися з правилами зворотного зв’язку для кожної гри.

@Kirill, чи є простий спосіб перемістити / перехрестити запитання на інший розділ?

@jim Ви можете позначити його для уваги модератора, щоб попросити вони перенести це питання, а також можете видалити це питання і створити там нове ідентичне запитання. Перехресне розміщення (з однаковими запитаннями на різних сайтах одночасно) зазвичай не рекомендується. Я зробив цю пропозицію, тому що мені здається порівняно простим питанням статистики / машинного навчання, яке б швидше отримало чітку відповідь.
Кирило

Відповіді:


2

Трактуйте проблему як масив байєсівських ймовірностей; спочатку припустімо, що на 1/13 шанс, що дитина знаходиться трохи нижче кожного рівня, і, для повноти, шанс на 1/13, що вони не зверху. Потім: 1) Знайдіть серединний рівень свого масиву, тобто рівень, де ймовірність бути вище за нього найближчим до 50% 2) Задайте дитині запитання з цього рівня. 3) Використовуйте Правило Байєса, щоб оновити ймовірність кожної комірки, припускаючи 25% -ву помилку. Припиніть і поверніть найімовірніший рівень, коли одна клітинка потрапить на досить високу ймовірність, або я здогадуюсь, коли у вас закінчуються питання на рівні.

Більш суворий режим цього алгоритму є тут ; Рекомендую прочитати його перед впровадженням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.