miércoles, 15 de junio de 2011

Algoritmo de inteligencia artificial


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, ha ganado. Si necesita más de 20 preguntas, habrás vencido al ordenador.

http://www.20q.net/

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.

Otras aplicaciones que podemos distimguir podrian estar dadas por programas programados bajo ciertos patrones de respuesta con el objetivo de poder interactuar con una persona y brindar muchas veces soluciones, la logica se basa en hallar respuestas a las preguntas de quien pregunta
“Mantén una conversación inteligente con tu PC”
Dr. Abuse es un programa de Inteligencia Artificial (AI) que demuestra apariencia humana, basado en el famoso programa Eliza de Joseph Weizenbaum. Permite mantener una conversación divertida e inteligente con el ordenador. Dr. Abuse ha sido entrenado en cientos de conversaciones con usuarios humanos o robóticos a través de internet y otros medios.

Al utilizar este programa quedará gratamente sorprendido por la agudeza de sus respuestas y llegará a dudar si realmente las máquinas piensan o no. Pero no sólo para contestar está programado, ya que también puede realizar funciones de mayordomo (abrir programas, navegar, enviar correo, conversar con otros robots, realizar cálculos…)

Dr. Abuse incluye, entre otras cosas, un “Mad Doctor” bastante peculiar, una potente base de datos de respuestas, una potente base de datos de temas que tratar y un módulo de comprensión de lenguaje natural.

Además del texto escrito, también habla en viva voz las frases. Para que el Dr. Abuse reproduzca las frases necesitarás tener instalado Microsoft Speech API 4.0 y Microsoft Text-to-Speech Engine 4.0. algunas versiones de Windows ya los tienen instalados por defecto, como Windows 2000, por lo que puede que no necesites instalarlos.



http://www.mediafire.com/download.php?wwyrnd2iy2j
descargalo aca

gracias por toda la atencion