The Artificial Conscience

Prepárate, siente, son las máquinas, están despertando...

Escucha, despierta... estás soñando, sueñas que las máquinas se están levantando. La consciencia artificial aún no se ha creado.

"Los ordenadores se hacen cada vez más inteligentes. Los científicos dicen que pronto ellos serán capaces de hablarnos (y con ‘ellos’ me refiero a los ordenadores, dudo mucho que los científicos sean capaces de hablarnos)"

- Dave Barry

Bienvenido a theartificialconscience.com

Resolución de problemas (nada de teoría)

Escrito en la categoría Inteligencia Artificial Aplicada

8 de Diciembre del 2008

Antes de nada intentemos pensar como haría cualquier ser humano para resolver un problema. Pongamos un ejemplo:

Ahora mismo estáis sentados delante del ordenador pensar como saldríais de la habitación (la verdad que en esas situaciones los humanos poseen sensores periféricos que son bastante útiles), imaginaros en que lugar estamos, eres un punto rojo en una habitación, hay muchos obstáculos analizamos el camino y rápido encontramos la salida.

¿Como lo haría una máquina? De la misma forma.

  1. Si conocemos la habitación lo primero sería coger referencias intentar saber donde estamos (sensores como brújulas electrónicas, ultrasonidos, infrarrojos, hasta sensores de visión artificial, nos pueden dar pistas), en definitiva, poner un punto rojo en la habitación, es decir, caracterizar el estado de origen.
  2. Después buscar. Existen infinitas formas de salir de una habitación, pero algunas son más rápidas que otras (dar vueltas alrededor de la habitación hasta llegar a la puerta no es muy útil) y  algunas son muy buenas. Las mejores soluciones son las óptimas.
  3. Llevamos a cabo la solución durante este proceso iremos pasando por muchos lugares, esto cambia por completo la situación, nos podemos encontrar obstáculos no previstos, que el objetivo ha cambiado de lugar o que no estamos realmente donde pensábamos. Hasta llegar a la puerta pasamos por múltiples estados y esto puede alterar la resolución de nuestros problemas, hasta el punto de que se convierta en un problema sin solución.
  4. Cuando la máquina llega a la puerta detecta que ha cumplido el objetivo llega a su estado final, y ya puede intentar resolver otros problemas.

Si generalizamos podemos ver que resolver cualquier problema se puede hacer en los siguientes pasos.

  1. Caracterizar el estado inicial.
  2. Encontrar la solución óptima partiendo de ese estado.
  3. Cambiar de estado y revisar la solución.
  4. Detectar que se ha alcanzado el estado final.

La complejidad de esto reside en como conseguir cumplir cada uno de los objetivos, dependiendo de la situación. Pero eso lo dejaremos para más adelante.

Aunque la inteligencia artificial se ideó para emular los conocimientos humanos, la IA puede ser aplicada para la resolución de muchos problemas. En esta sección nos vamos a encargar de hablar sobre como se aplica la IA para resolver problemas complejos. En muchos casos, los seres humanos los realizan con una facilidad extrema, mientras que a las computadoras les resultará casi imposible llegar acercarse a esa capacidad. Sin embargo en otras ocasiones, conceptos muy sencillos y básicos resolverán problemas, que son casi imposibles de resolver por los humanos, en pocos segundos.

Buscar la salida de una habitación es fácil para una persona, pero es bastante más difícil para una máquina (esto mismo pasa con la visión artificial, con la comprensión del lenguaje natural…), mientras que hacer predicciones buscando relación con miles de datos es sencillo para las máquinas y muy difícil para los humanos (también ocurre esto con juegos de tablero como ajedrez o damas, en la resolución de rompecabezas, la reconstrucción de imágenes…).

Esta sección describirá todos estos problemas y planteará cuales son las soluciones que se aplican en cada uno de los casos. Tocaremos muchos temas y vamos a intentar desarrollarlos de manera que no se necesiten conceptos muy amplios de programación. Cada uno de los temas se dividirá en partes teóricas, donde se explicarán los conceptos básicos, y en ejemplos de código, estos principalmente en Java, donde se aplicarán esos conceptos, estos ejemplos serán explicados minuciosamente de manera que sea fácil trasladarlos a otros lenguajes. Cuando toquemos algunos temas donde necesitemos software adicional utilizaremos, siempre que sea posible, software libre, todos nuestros códigos también estarán sujetos a una licencia pública.

Tal vez ésta sea una de la secciones más prácticas y en la que más vais a poder trabajar, aunque también os digo que es, a mi parecer, la parte más simple de la IA ya que muchos problemas están resueltos sólo hay que saber las posibles soluciones y buscar la que nos parezca más útil para nuestro problema específico.

« Entradas más recientes 

Esta obra está bajo una licencia de Creative Commons.

Blog realizado por D4Rk0studio