Inteligencia Artifical

Estado actual de eNarduin
Actualmente, la IA tiene el siguiente estado:

Vision
Es capaz de:
- Reconocer caras humanas (conocidas y desconocidas).
- Reconocer objetos (conocidos y desconocidos): sillas, sillones, mesas, paredes, suelos, ventanas, perros, lobos, logos...
Utilizo openCV y Numenta Toolkit Vision.


Ideas
Sobre IA hay muchas ideas que puedo recoger, aquí se recojen las que me van convenciendo o utilizo:


Corrientes actuales

Actualmente, los métodos para alcanzar algún nivel de IA son:
- Redes neuronales artificiales

- Procesamiento del Lenguaje Natural

- Lenguajes semánticos

- Lenguajes declarativos (lógicos) : 
  + PROLOG es un buen lenguaje para reglas.
  + Otro basado además en estadísticas que ha demostrado ser muy bueno: "Church".

- Lenguajes lógicos difusos

- Algoritmos genéticos

- Robótica Evolutiva

- Razonamiento basado en Casos

- Sistemas Expertos

- Redes bayesianas

- Basada en comportamientos

- Smart Process Management

- IA Computacional

- Imitación del cerebro de mamíferos

- Imitación del cerebro humano

- Imitación del cerebro de insectos

- Programación funcional

- Anti-logic

- Conexionismo

- Grafos

- Árbol binario

- Tipo Abstracto de Dato

- IMPORTANTE: Tiene que existir un reconocimiento del tiempo, del antes y del ahora. Debería funcionar como un bucle infinito que examina una capa comparativa entre los estados "antes" y "ahora" (imágenes, sonidos, estados internos...) y aplicarse en la diferencia (por ejemplo concentrarse en que se le acerca un palo demasiado deprisa a la cara).





Pensamiento
- NuPIC: Artículo sobre NuPIC:
http://eliax.com/?post_id=2537

En otros artículos, se cuenta que la idea de NuPIC es increíble: "Empezaron a programarlo hace 4 años y lo que tienen logrado hasta ahora es lo más eficaz que se ha creado hasta ahora en cuánto a Inteligencia Artificial para un ámbito comercial (incluso más que IBM). Todavía no han implementado todas las funciones que tienen planificadas, pero para 2010 ya estarán las mas importantes, como la capacidad de predicción de acotecimientos futuros además de muchas otras. Lo bueno que tiene este proyecto además, es que cualquiera puede descargar libremente el código fuente del proyecto junto con toda la plataforma de programación y documentación. Parece que se acerca un excelente futuro cercano en cuanto a simulación del cerebro se refiere.

Estan llevando acabo la misma tarea que IBM, através de una ingeniería inversa del neocórtex humano, trabajando con neurocientíficos. El modelo de software que han conseguido es una réplica lo mas aproximada posible de las columnas neuronales del córtex y con sinapsis emuladas através de redes Bayesianas. Todo ello esta basado en experimentos con pruebas de PET y demás escáneres cerebrales. Y actualmente, en el presente es el proyecto, con visos a aplicaciones reales, mas avanzado y realista, hasta el punto de que ya se estan construyendo aviones con esta tecnología, capaces de literalmente "ver" parte de su entorno. El proyecto nombrado de IBM y éste se nombran en:
http://www.eliax.com/index.cfm?post_id=6180

- Una buena Web que recopila ideas para IA es la de http://pensabot.com/  

Conversaciones automáticas
No soy partidario de motores de conversación automático, pero echarle un vistazo a alguno no vendría mal:

- SILVIA Studio: desde 2007 dicen que tienen un sistema muy bueno:
http://www.cognitivecode.com/

- JabberWacky; http://www.jabberwacky.com/

- ALICE: http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1


Visión

- Librería gráfica opencV: muy buena pero me tarda mucho en buscar objetos. Sí que es capaz de localizarlos en un escenario entre otros.

- Librería gráfica Numenta Vision Toolkit: muy buena y rapidísima. No es -aún- capaz de localizar debidamente todo objeto en un escenario. He dejado un comentario por una duda que tengo de cómo fusionar dos proyectos distintos:
http://www.numenta.com/phpBB2/viewtopic.php?t=1303

Audio


Sensores táctiles

 
Sensores distancia


Aspecto
Si la IA algún día llega a ser buena, o al menos mínima, el aspecto del robot es una parte muy importante para ayudar a convencernos de la misma, es mucho más creíble cuanto más podamos humanizarlo. Por ejemplo, es más fácil humanizar un perro que una moto, y no es solo porque nos parezca listo sino por su mirada o sus movimientos. Pues mi idea es cubrir al robot en un peluche de su tamaño, no sé si encontré uno adecuado o tendré que hacerlo yo mismo; pero sí que ayudará tal como digo a hacerlo más creíble ¿o acaso no es muy creíble el robot vestido de oso en la película Inteligencia Artificial?