20Q. Inteligencia Artificial Divertida Imprimir
INTERNET - Recursos online
Lunes, 10 de Octubre de 2005 15:05
Un juego que te sorprenderá y te servirá para comenzar a entender la AI (Inteligencia Artificial)
1. INTRODUCCIÓN.
2. INSTRUCCIONES DEL JUEGO.
3. OBSERVACIONES.
4. FUNCIONAMIENTO.

1.      INTRODUCCIÓN.

Seguramente de pequeño has jugado alguna vez al juego de las 20 preguntas, ya sabes, uno piensa en un objeto y otro trata de adivinarlo haciendo preguntas a las que sólo se puede responder “sí” o “no”. Si lo adivinas con un máximo de 20 preguntas has ganado.

20Q es una versión web de este juego utilizando inteligencia artificial. En este caso, tu compañero de juegos es virtual, piensas en un objeto y será el ordenador quien debe adivinar el objeto mediante preguntas. Si el ordenador consigue adivinarlo con un máximo de 20 preguntas el, ha ganado. Si necesita más de 20 preguntas, habrás vencido al ordenador.

JUGAR A 20Q.

2.      INSTRUCCIONES DEL JUEGO.

Para empezar a jugar lo primero que debes hacer es pensar en un objeto. La única restricción que el juego pone a tu imaginación es que debe ser conocido por la mayoría, es decir, el objeto “gato” es correcto, pero el objeto “mi gato manchas” no es válido.

Una vez que has decidido un objeto, la primera pregunta que te hace el ordenador consiste en que lo clasifiques en una de las siguientes categorías:

  • Animal: Si pertenece al reino animal, incluidos organismos multicelulares y unicelulares, ejemplo: gato, perro, serpiente, protozoo…
  • Vegetal: Si pertenece al reino vegetal, ejemplo: zanahoria, árbol, alga…
  • Mineral: Si pertenece al reino mineral, ejemplo: roca, oro, diamante…
  • Otros: Si no es un animal, vegetal o mineral, por ejemplo: amor, color azul…
  • Desconocido: Si no sabes como clasificarlo (generalmente no se usa).

 

Una vez clasificado el objeto, el ordenador empezará a hacerte preguntas sencillas, por ejemplo, “¿La mayoría de la gente lo usa todos los días?”, “¿Es más pequeño que una hogaza de pan?”…

En 20Q las respuestas no son estrictamente “sí” y “no” como en el juego original, sino que también se puede responder “no sé”, “irrelevante”, “a veces”, “tal vez”, “probablemente”, “normalmente”, “rara vez” y “en parte”. Cuando tu respuesta es “no sé”, esa pregunta no contará como formulada, aunque la tendrá en cuenta.

A continuación puedes ver un ejemplo de una serie de preguntas que realiza el ordenador para adivinar un objeto. En este ejemplo tiene que adivinar “una margarita”.

 

Puedes rectificar las respuestas pulsando sobre las subrayadas (tres últimas respuestas). Volverá a aparecerte la pregunta y podrás contestar de nuevo. También puedes utilizar el botón Atrás de tu navegador.

Periódicamente, el juego te propone una conjetura sobre el objeto, entonces tendrás que responder si ha acertado, si no ha acertado o si se ha quedado cerca. En este ejemplo, como mi objeto es “una margarita” y está conjeturando con “un clavel” entonces responderé “casi” y seguirá haciendo preguntas y conjeturas.

 

Puede que adivine el objeto realizando como máximo 20 preguntas, entonces el ordenador habrá sido el ganador.

 

Si el ordenador necesita más de 20 preguntas para adivinar el objeto, entonces habrás vencido al ordenador.

 

Cuando ha adivinado el objeto, tanto si ha ganado el ordenador como si ha perdido, nos muestra la siguiente información: contradicciones que ha detectado, objetos similares, y una serie de conocimientos infrecuentes sobre el objeto.

 

Puede que 20Q se encuentre desconcertado, es decir, realice 30 preguntas y no haya adivinado el objeto, entonces el juego se rinde y te muestra un listado con objetos que él considera próximos.

 

En este punto puede ocurrir que tu objeto esté en la lista o que no aparezca en ella. Si no aparece en la lista debes introducir el objeto pensado en el recuadro. Si no lo reconoce exactamente, 20Q mostrará un listado de objetos con palabras similares al elegido por ti. Si el objeto no aparece en esta nueva lista deberás introducirlo de nuevo en el recuadro, y 20Q te comunicará que no lo conoce y lo introducirá en su base de conocimiento.

 

3.      OBSERVACIONES.

Como podemos observar en el ejemplo “margarita”, expuesto anteriormente, en una jugada ha necesitado 16 preguntas para adivinarlo, y en otra jugada posterior ha necesitado 29. Yo creo, que esto es debido al acierto de las preguntas y de las respuestas. Por ejemplo, para el objeto “margarita” en una jugada me preguntó: “¿Es de sangre caliente?”, esta pregunta, debido a que anteriormente ya había clasificado el objeto como vegetal, no le aporta mucha información ¿Existe algún vegetal de sangre caliente?.

También he observado, que en la misma jugada, puede hacerte en más de una ocasión la misma pregunta.

4.      FUNCIONAMIENTO.

Si has estado jugando con 20Q seguro que te estarás preguntando ¿Cómo es posible?. Puedo asegurarte que no es un truco de magia, es inteligencia artificial.

Habrás oído hablar muchas veces de inteligencia artificial, pero ¿Qué es inteligencia artificial? La inteligencia artificial no es algo nuevo. Este término tiene su origen en 1956 y podríamos definirlo como “la ciencia que se encarga del estudio de las facultades mentales mediante el uso de modelos computacionales”.

20Q es, en realidad, una aplicación basada en una red neuronal artificial, que es una de las ramas de estudio de la inteligencia artificial. Si comprendemos el funcionamiento de una red neuronal, comprenderemos el funcionamiento de 20Q.

Las redes neuronales son un modelo de aprendizaje y procesamiento de información automático inspirado en el sistema nervioso biológico.

Los cerebros humanos están compuestos por decenas de billones de neuronas conectadas mediante sinopsis, estas conexiones pueden intensificarse o atenuarse dependiendo de una serie de factores. La neurona, dependiendo del estado global de sus conexiones, toma un nivel de activación. Luego, propagará esta información a todas las neuronas con las que esté conectada.

En las redes neuronales artificiales las neuronas se modelan mediante unidades de proceso, que están unidas mediante conexiones ponderadas. Cada conexión tiene un peso asociado, que equivale a la fuerza de la conexión. La función de red es la encargada de calcular la entrada global, que generalmente se calcula mediante una suma ponderada de todas las entradas recibidas. La función de activación, generalmente más compleja que la función de red, se encarga de determinar el nivel de activación basándose en la entrada global. Este valor de activación será el que se transmitirá a todas las unidades con las que esté conectada.

 

Para diseñar una red neuronal artificial debemos establecer las conexiones entre unidades y los pesos de estas. Lo normal es tener unidades en forma de capas: una capa de entrada, que actuará como buffer de entrada; una capa de salida, que actuará como buffer de salida y capas ocultas que serán las encargadas de extraer, procesar y memorizar la información.

 

Una de las características más importantes de las redes neuronales es el aprendizaje. El aprendizaje en las redes neuronales biológicas se produce mediante el ajuste de la efectividad de la sinopsis, de esta manera cambia la influencia que unas neuronas ejercen sobre otras. En las redes neuronales artificiales el aprendizaje consiste en el ajuste de los pesos en las conexiones.

Inicialmente, habremos establecido unos pesos para las conexiones de nuestra red neuronal artificial, pero a través de entrenamiento podemos conseguir que estos pesos cambien. En nuestro caso, entrenamos a 20Q cada vez que jugamos. Si para el mismo objeto repetidas veces obtiene la misma respuesta, esa conexión se irá reforzando y terminará reconociendo esa respuesta como válida. Por esta razón, cuando hemos acabado el juego nos dice las contradicciones que ha encontrado, mostrando para esa pregunta la respuesta que tiene más peso hasta el momento (que no coincide con lo que nosotros hemos contestado). Sin embargo, nuestra respuesta ha contribuido a aumentar el peso de esa respuesta.

En 20Q encontramos una de las aplicaciones que tienen las redes neuronales artificiales, pero el campo de aplicación es muy extenso. Ejemplo de algunas aplicaciones interesantes pueden ser: análisis de tendencias y patrones, inspección de calidad en manufacturación, predicción de reacciones adversas a los medicamentos y creación de armas inteligentes, entre otras muchas.