Juegos en línea simples de 20 preguntas impulsados por una inteligencia artificial inquietantemente precisa.
¿Cómo adivinan tan bien?
Juegos en línea simples de 20 preguntas impulsados por una inteligencia artificial inquietantemente precisa.
¿Cómo adivinan tan bien?
Respuestas:
Puede pensar en él como el algoritmo de búsqueda binaria. En cada iteración, hacemos una pregunta, que debería eliminar aproximadamente la mitad de las posibles opciones de palabras. Si hay un total de N palabras, entonces podemos esperar obtener una respuesta después de log2 (N) preguntas.
Con 20 preguntas, deberíamos poder encontrar de manera óptima una palabra entre 2 ^ 20 = 1 millón de palabras.
Una forma fácil de eliminar valores atípicos (respuestas incorrectas) sería probablemente usar algo como RANSAC . Esto significaría que, en lugar de tener en cuenta todas las preguntas que se han respondido, elige al azar un subconjunto más pequeño, lo que es suficiente para darle una única respuesta. Ahora repite eso unas cuantas veces con diferentes subconjuntos aleatorios de preguntas, hasta que veas que la mayoría de las veces obtienes el mismo resultado. entonces sabrá que tiene la respuesta correcta.
Por supuesto, esta es solo una de las muchas formas de resolver este problema.
code
enlace para verlo: openbookproject.net/py4fun/animal/animal.html
Un árbol de decisiones apoya directamente este tipo de aplicación. Los árboles de decisión se utilizan comúnmente en inteligencia artificial.
Un árbol de decisión es un árbol binario que hace "la mejor" pregunta en cada rama para distinguir entre las colecciones representadas por sus hijos izquierdo y derecho. La mejor pregunta está determinada por algún algoritmo de aprendizaje que los creadores de la aplicación de 20 preguntas utilizan para construir el árbol. Luego, como señalan otros carteles, un árbol de 20 niveles de profundidad te da un millón de cosas.
Una forma sencilla de definir "la mejor" pregunta en cada punto es buscar una propiedad que divida la colección por la mitad de manera más uniforme. De esa manera, cuando obtenga una respuesta sí / no a esa pregunta, se deshará de aproximadamente la mitad de la colección en cada paso. De esta manera puede aproximar la búsqueda binaria.
Wikipedia da un ejemplo más completo:
http://en.wikipedia.org/wiki/Decision_tree_learning
Y algunos antecedentes generales:
Recomiendo leer sobre el juego aquí: http://en.wikipedia.org/wiki/Twenty_Questions
En particular la sección de Computadoras:
El juego sugiere que la información (medida por la estadística de entropía de Shannon) requerida para identificar un objeto arbitrario es de unos 20 bits. El juego se utiliza a menudo como ejemplo cuando se enseña a las personas sobre la teoría de la información. Matemáticamente, si cada pregunta está estructurada para eliminar la mitad de los objetos, 20 preguntas permitirán al interrogador distinguir entre 2 20 o 1.048.576 sujetos. En consecuencia, la estrategia más eficaz para Veinte preguntas es hacer preguntas que dividirán el campo de posibilidades restantes aproximadamente a la mitad cada vez. El proceso es análogo a un algoritmo de búsqueda binaria en informática.
Se anuncia a sí misma como "la red neuronal en Internet", y ahí está la clave. Es probable que almacene las probabilidades de preguntas y respuestas en una matriz de repuesto. Usando esas probabilidades, es capaz de usar un algoritmo de árbol de decisión para deducir qué pregunta hacer que reduciría mejor la siguiente pregunta. Una vez que reduce el número de posibles respuestas a unas pocas docenas, o si ya ha alcanzado las 20 preguntas, comienza a leer las más probables.
El aspecto realmente intrigante de 20q.net es que, a diferencia de la mayoría de los árboles de decisión y algoritmos de redes neuronales que conozco, 20q admite una matriz dispersa y actualizaciones incrementales.
Editar: Resulta que la respuesta ha estado en la red todo este tiempo. Robin Burgener, el inventor, describió su algoritmo en detalle en su solicitud de patente de 2005 .
Está utilizando un algoritmo de aprendizaje.
k-NN es un buen ejemplo de uno de estos.