Einfache Online-Spiele mit 20 Fragen, angetrieben von einer unheimlich genauen KI.
Wie raten sie so gut?
Einfache Online-Spiele mit 20 Fragen, angetrieben von einer unheimlich genauen KI.
Wie raten sie so gut?
Antworten:
Sie können es sich als binären Suchalgorithmus vorstellen. In jeder Iteration stellen wir eine Frage, die ungefähr die Hälfte der möglichen Wortauswahl eliminieren sollte. Wenn es insgesamt N Wörter gibt, können wir erwarten, nach log2 (N) Fragen eine Antwort zu erhalten.
Mit 20 Fragen sollten wir optimal in der Lage sein, ein Wort unter 2 ^ 20 = 1 Million Wörtern zu finden.
Eine einfache Möglichkeit, Ausreißer (falsche Antworten) zu eliminieren, wäre wahrscheinlich die Verwendung von RANSAC . Dies würde bedeuten, dass Sie, anstatt alle beantworteten Fragen zu berücksichtigen, zufällig eine kleinere Teilmenge auswählen, die ausreicht, um eine einzige Antwort zu erhalten. Jetzt wiederholen Sie dies einige Male mit verschiedenen zufälligen Teilmengen von Fragen, bis Sie feststellen, dass Sie die meiste Zeit das gleiche Ergebnis erhalten. Sie wissen dann, dass Sie die richtige Antwort haben.
Dies ist natürlich nur eine von vielen Möglichkeiten, dieses Problem zu lösen.
code
Link klicken , um ihn anzuzeigen
Ein Entscheidungsbaum unterstützt diese Art der Anwendung direkt. Entscheidungsbäume werden häufig in der künstlichen Intelligenz verwendet.
Ein Entscheidungsbaum ist ein Binärbaum, der in jedem Zweig die "beste" Frage stellt, um zwischen den Sammlungen zu unterscheiden, die durch seine linken und rechten untergeordneten Elemente dargestellt werden. Die beste Frage wird durch einen Lernalgorithmus bestimmt, den die Ersteller der 20-Fragen-Anwendung zum Erstellen des Baums verwenden. Wie andere Poster zeigen, gibt Ihnen ein 20 Ebenen tiefer Baum eine Million Dinge.
Eine einfache Möglichkeit, "die beste" Frage an jedem Punkt zu definieren, besteht darin, nach einer Eigenschaft zu suchen, die die Sammlung am gleichmäßigsten in zwei Hälften teilt. Auf diese Weise wird bei jedem Schritt etwa die Hälfte der Sammlung entfernt, wenn Sie eine Ja / Nein-Antwort auf diese Frage erhalten. Auf diese Weise können Sie die binäre Suche approximieren.
Wikipedia gibt ein vollständigeres Beispiel:
http://en.wikipedia.org/wiki/Decision_tree_learning
Und einige allgemeine Hintergrundinformationen:
Ich empfehle, hier über das Spiel zu lesen: http://en.wikipedia.org/wiki/Twenty_Questions
Insbesondere der Abschnitt Computer:
Das Spiel legt nahe, dass die Informationen (gemessen anhand der Entropiestatistik von Shannon), die zur Identifizierung eines beliebigen Objekts erforderlich sind, etwa 20 Bit betragen. Das Spiel wird oft als Beispiel verwendet, wenn Menschen über Informationstheorie unterrichtet werden. Wenn jede Frage so strukturiert ist, dass die Hälfte der Objekte eliminiert wird, ermöglicht 20 Fragen dem Fragesteller, zwischen 2 20 oder 1.048.576 Themen zu unterscheiden. Dementsprechend besteht die effektivste Strategie für 20 Fragen darin, Fragen zu stellen, die das Feld der verbleibenden Möglichkeiten jedes Mal ungefähr in zwei Hälften teilen. Der Prozess ist analog zu einem binären Suchalgorithmus in der Informatik.
Es bezeichnet sich selbst als "das neuronale Netz im Internet", und darin liegt der Schlüssel. Wahrscheinlich werden die Frage- / Antwortwahrscheinlichkeiten in einer Ersatzmatrix gespeichert. Mithilfe dieser Wahrscheinlichkeiten kann mithilfe eines Entscheidungsbaumalgorithmus abgeleitet werden, welche Frage gestellt werden soll, um die nächste Frage am besten einzugrenzen. Sobald die Anzahl der möglichen Antworten auf ein paar Dutzend eingegrenzt ist oder wenn bereits 20 Fragen erreicht sind, beginnt das wahrscheinlichste Ablesen.
Der wirklich faszinierende Aspekt von 20q.net ist, dass 20q im Gegensatz zu den meisten mir bekannten Algorithmen für Entscheidungsbäume und neuronale Netze eine spärliche Matrix und inkrementelle Aktualisierungen unterstützt.
Bearbeiten: Es stellt sich heraus, dass die Antwort die ganze Zeit im Netz war. Robin Burgener, der Erfinder, beschrieb seinen Algorithmus in seiner Patentanmeldung von 2005 ausführlich .
Es wird ein Lernalgorithmus verwendet.
k-NN ist ein gutes Beispiel dafür.