¿Cómo funcionan los algoritmos de IA de 20 preguntas?


Simples juegos en línea de 20 preguntas impulsados por una IA extrañamente precisa.

¿Cómo adivinan tan bien?

Author: Jon Seigel, 2009-05-20

5 answers

Se 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 las preguntas log2(N).

Con la pregunta 20, deberíamos ser capaces de encontrar una palabra entre 2^20 = 1 millón de palabras.

Una forma fácil de eliminar los valores atípicos (respuestas incorrectas) sería probablemente usar algo como RANSAC. Esto significaría, en lugar de tener en cuenta todas las preguntas que han sido respondidas, elige aleatoriamente un subconjunto más pequeño, que es suficiente para darle una sola respuesta. Ahora repites eso un par de veces con diferentes subconjuntos aleatorios de preguntas, hasta que veas que la mayoría de las veces, estás obteniendo el mismo resultado. entonces sabes que tienes la respuesta correcta.

Por supuesto, esta es solo una de las muchas formas de resolver este problema.

 51
Author: Yogi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-28 19:29:40

Recomiendo leer sobre el juego aquí: http://en.wikipedia.org/wiki/Twenty_Questions

En particular la sección Ordenadores:

El juego sugiere que la información (medido por la entropía de Shannon estadística) necesaria para identificar un objeto arbitrario es de unos 20 bits. El juego se utiliza a menudo como un ejemplo cuando enseñar a la gente sobre la información teoría. Matemáticamente, si cada pregunta está estructurada para eliminar la mitad de los objetos, 20 preguntas permitir que el interlocutor distinga entre 220 o 1.048.576 sujetos. En consecuencia, el más eficaz estrategia para Veinte Preguntas es hacer preguntas que dividirán la campo de posibilidades restantes aproximadamente a la mitad cada vez. Proceso es análogo a una búsqueda binaria algoritmo en ciencias de la computación.

 22
Author: cgp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-05-20 12:23:20

Un árbol de decisiones soporta este tipo de aplicación directamente. Los árboles de decisión se usan 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 20 questions 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 más uniformemente la colección en la mitad. De esa manera, cuando obtienes una respuesta sí/no a esa pregunta, te deshaces 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 generales antecedentes:

Http://en.wikipedia.org/wiki/Decision_tree

 21
Author: Nathan Shively-Sanders,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-05-20 13:37:17

Se anuncia como "la red neuronal en internet", y ahí está la clave. Probablemente almacena las probabilidades de pregunta / respuesta en una matriz de repuesto. Usando esas probabilidades, es capaz de usar un algoritmo de árbol de decisiones para deducir qué pregunta hacer que mejor reduciría 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, entonces comienza a leer lo más probable.

El aspecto realmente intrigante de 20q.net es que a diferencia de la mayoría de los algoritmos de árbol de decisión y 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 .

 8
Author: Cerin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-22 04:55:57

Está usando un algoritmo de aprendizaje.

K-NN es un buen ejemplo de uno de estos.

Wikipedia: k-Algoritmo del vecino más cercano

 6
Author: Shaun Mason,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-05-20 12:09:59