20q
# 20q

20q è un'implementazione avanzata di un classico problema di intelligenza artificiale, messo sotto forma di un semplice videogioco. Il giocatore pensa in precedenza a un qualunque oggetto e il programma tenta di indovinarlo ponendogli domande che possono avere una risposta del tipo "Sì" o "No".

20q sta per 20 questions, ovvero "20 domande", perché questo era il titolo di un analogo quiz radiotelevisivo degli anni quaranta. Di solito 20q pone circa 20 domande, ma questo numero è indicativo.

Quando il programma non è in grado di indovinare un oggetto, si arrende e chiede al giocatore di inserire la risposta da tastiera. A questo punto il nuovo oggetto diventa noto e viene salvato nella base dati, e grazie alle informazioni date dal giocatore, d'ora in avanti potrà essere indovinato.

Già negli anni settanta esisteva un gioco simile, Animal, che utilizza un albero binario per classificare gli animali e indovinarli per esclusione. 20q ha una struttura molto più adattabile, supporta anche risposte del tipo "Forse" o "A volte" ed è in grado di gestire situazioni ambigue in cui i giocatori danno informazioni errate o soggettive. Inoltre, in caso di insuccesso, il gioco porrà 10 ulteriori domande all'utente prima di dichiarare il fallimento.

20q si basa su un programma sviluppato già a partire dal 1988, che utilizza una rete neurale artificiale per classificare gli oggetti e apprendere nuove conoscenze. L'inventore originale è Robin Burgener, poi fondatore della 20Q.net Inc. di Ottawa.

Nel 1995 il programma è stato pubblicato sotto forma di videogioco per browser, disponibile in diverse lingue tra cui l'italiano; da allora, chiunque può partecipare liberamente al gioco e ogni nuova parola che il programma non riesce a indovinare entra a far parte delle sue conoscenze.

Sul sito Akinator c'è un altro gioco che si basa sul problema di 20q.

