Ho bisogno di un algoritmo per fare una ricerca binaria quando il test in ogni fase può dare il risultato sbagliato.
Contesto:
devo posizionare gli studenti sul livello di difficoltà 12 più appropriato. L'approccio attuale è la forza bruta e pone 60 domande a 4 risposte a risposta multipla di difficoltà crescente, fermandosi dopo tre errori e pone lo studente al livello: floor((score - 1) / 5) + 1con un minimo di 1.
Siamo preoccupati che i clienti siano spenti quando affrontano un test con un massimo di 60 domande prima di poter effettivamente utilizzare il programma, quindi vorremmo ridurre al minimo il numero di domande poste nel test. Siamo anche preoccupati che i clienti saltino il test di posizionamento (perché sembra lungo) e quindi abbandonano il programma perché sembra troppo facile.
Il posizionamento mediano è in realtà al livello 2, quindi il 50 +% degli studenti ha un punteggio <11 (cioè risposta <14 domande). Aneddoticamente, questo può essere perché si annoiano e smettono di prendere sul serio le domande (sono bambini piccoli).
Soluzione proposta: implementare il test come una ricerca binaria su dodici elementi iniziando con una domanda a livello di difficoltà 6/7 e procedendo in base alla risposta corretta o errata. In teoria, questo potrebbe trovare il livello di difficoltà appropriato per loro in 3-4 domande.
Il problema: come si può immaginare dal test esistente che termina solo dopo tre risposte sbagliate e utilizzando 60 domande per scegliere tra 12 livelli, vogliamo tenere conto degli studenti che rispondono correttamente alle risposte (che dovrebbero fare il 25% delle volte) o accidentalmente dare risposte errate (dita grasse, domande male interpretate ecc.). Questo è ancora più importante con una ricerca binaria perché la risposta corretta alla prima domanda potrebbe metterti nella metà superiore dei livelli di difficoltà anche se sbagli ogni altra domanda.
Quindi esiste un algoritmo riconosciuto per una ricerca binaria in cui non è possibile garantire che un singolo test sia accurato?
Ingenuamente potrei provare meglio di 3 o 5 domande ad ogni passaggio e, poiché le domande iniziali hanno un effetto maggiore sul risultato finale rispetto alle domande successive, forse aggiungere queste domande aggiuntive solo ai passaggi iniziali e non a quelli successivi. C'è di più?