jueves, 15 de noviembre de 2012

SISTEMAS EXPERTOS


En los años 70 surgió un nuevo modelo en la inteligencia artificial "los sistemas expertos", estos son sistemas que simulan el proceso de aprendizaje, de memorización  de razonamiento, de comunicación y de acción en razón de un experto humano en cualquier ciencia. Estas características le permiten almacenar datos y conocimiento, sacar conclusiones lógicas, tomar decisiones, aprender de la experiencia y los datos existentes, comunicarse con expertos humanos, explicar el por qué de las decisiones tomadas y realizar acciones como consecuencia de lo anterior.

Técnicamente un sistema experto, contiene una base de conocimientos que incluye la experiencia acumulada de expertos y un conjunto de reglas para aplicar esta base de conocimientos en una situación particular que se le indica al programa. El objetivo de los sistemas expertos no es sustituir a el experto, si no servir de apoyo a los especialistas en una tarea especifica.



Estructura de un sistema experto:
un sistema experto esta conformado por:

*Base de conocimientos(BC): Contiene conocimiento modelado extraído del dialogo con un experto humano.

*Base de  hechos o datos(memoria de trabajo):Contiene los hecho sobre un problema que se ha descubierto durante un proceso de análisis.

*Motor de inferencia: Modela el proceso de razonamiento humano.

*Modulo de justificación: Explica el razonamiento utilizado por el sistema para llegar a una determinada concilio.

*Interfaz de usuario: Es la interacción entre el sistema experto y el usuario, y se realiza mediante el lenguaje neutral.


Ventajas y limitaciones de los sistemas expertos:

Ventajas:

*Permanencia: A diferencia de un experto humano un SE no envejece , y por tanto no sufre perdida de facultades con el paso del tiempo.

*Replicación: una vez programado un SE se puede replicar infinidad de veces

*Rapidez: Un SE puede obtener información de una base de datos y realizar cálculos numéricos mucho mas rápido que un ser humano.

*Bajo costo: A pesar de que el consto inicial puede ser elevado, gracias a la capacidad de duplicación el coste final es bajo.

*Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dañinos para el ser humano.

*Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano si(cansancio, presión, etc.).

LIMITACIONES:
*Sentido común  Para un sistema experto no hay nada obvio. Por ejemplo, un sistemas experto sobre medicina podría admite que un hombre lleva 40 meses embarazado, a no se que se especifique que es imposible para un hombre gestar hijos.

*Lenguaje natural  Con un experto humano podemos mantener un conversación informal mientras que con un SE  no podemos

*Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de sus errores y errores ajenos, que un SE haga esto es muy complicado.

* Perspectiva global: Un experto humano es capaz de distinguir cuales son las cuestiones principales de un problema y separarlas de cuestiones secundarias

*Capacidad sensorial: Un sistema experto carece de sentidos.

* Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos para la resolución de un problema.




LENGUAJES DE PROGRAMACIO DE LA IA



En principio, cualquier lenguaje de programación puede ser utilizado para desarrollar sistemas de inteligencia artificial, no obstante, destacan en especial tres lenguajes que fueron desarrollados para realizar programas dotados de inteligencia artificial, los lenguajes LIPS,PROLOG y  OPS5 .


Lenguaje LIPS: Es el segundo lenguaje de programación mas alto de nivel, destacado mas viejo que todavía tiene un gran uso. Fue desarrollado por Jhon McCarthy en 1958 aunque ha cambiado mucho desde sus comienzos.

El nombre de LIPS se deriva d "LISt.Processing", proceso de listas. Las listas encadenadas  se tratan de una de las claves de este lenguaje de programación. Gracias a esto, los programas de LIPS pueden manipular el código fuente como una estructura de datos, que permiten a los programadores crear nueva sintaxis de programas de dominio especifico.


Lenguaje PROLOG: Creado a principios de los 70 por Alain Colmerauer y Phillipe Roussel.  PROLOG esta orientado a la resolución de problemas mediante cálculos predicados basados en preguntas a la base de datos y pruebas matemáticas  El programa PROLOG específica como debería ser la solución de un problema, en vez de dar el algoritmo para su solución. La solución se obtiene mediante la búsqueda aplicando la lógica a los predicados.





Lenguale OPS5: El lenguaje OPS5 es quizás el menos conocido de anteriores, no obstante, su importancia en el desarrollo de la inteligencia artificial fue clave dado que fue el primer lenguaje usado con resultado de éxito en un sistema experto.

Este lenguaje de programación esta basado en en reglas. Una regla consiste en condiciones previas a una accion. El programa comprueba su memoria de trabajo para considerar si hay reglas que satisfagan  las  condiciones previas, si es así esta acción es una regla satisfecha y se ejecuta.

La familia de lenguajes OPS(Oficial Productio System) fue desarrollada a finales de la década de 1970 por Charles Forgy.

miércoles, 14 de noviembre de 2012

ESCUELAS DEL PENSAMIENTO (IA)




La IA se divide en dos escuelas de pensamiento, estas son la inteligencia artificial y la inteligencia computacional.

INTELIGENCIA ARTIFICIAL CONVENCIONAL

También conocido como IA simbólico-deductiva e IA débil. Está basada en el análisis formal y estadístico del conocimiento humano ante diferentes problemas:

• Razonamiento basado en casos: Ayuda a tomar decisiones mientras se resuelven ciertos problemas concretos.

• Sistemas expertos: Infieren una solución a través del conocimiento previo del contexto en que se aplica y de ciertas reglas o relaciones.

• Redes bayesianas: propone soluciones mediante inferencia estadística.

• Inteligencia artificial basada en comportamientos: sistemas complejos que tienen autonomía y pueden auto-regularse y controlarse para mejorar

INTELIGENCIA ARTIFICIAL COMPUTACIONAL

También conocida como IA subsimbólica-inductiva e IA fuerte;  implica desarrollo o aprendizaje iterativo por ejemplo, modificaciones interactivas de los parámetros en sistemas conexionistas. El aprendizaje se realiza basándose en datos empíricos. Algunos métodos de esta rama incluyen:

•Máquina de vectores soporte: Sistemas que permiten reconocimiento de patrones genéricos de gran potencia.

•Redes neuronales: sistemas con grandes capacidades de reconocimiento de patrones.

•Modelos ocultos de Markov: Aprendizaje basado en dependencia temporal de eventos probabilísticas.

•sistemas difusos: Técnicas para lograr el razonamiento bajo incertidumbre. Ha sido ampliamente usada en la industria moderna y en productos de consumo masivo, como las lavadoras.

Computación evolutiva: aplica conceptos inspirados en la biología, tales como población, mutación y supervivencia del más apto para generar soluciones sucesivamente mejores para un problema.

HISTORIA Y EVOLUCIÓN DE LA INTELIGENCIA ARTIFICIAL

La inteligencia artificial "nació" en 1943 cuando Warren McCulloch y Walter Pitts propusieron un modelo de neurona del cerebro humano y animal. Estas neuronas nerviosas abstractas proporcionaron una representación simbólica de actividad cerebral.
En 1950  Alan Turing consolidó el campo de la inteligencia artificial con su artículo  "Computing Machinery and Intelligence", en que propuso una pruba concreta para determinar si una maquina era inteligente o no, su famosa prueba de Turing por lo que se le considera el padre de la inteligencia artificial. 

Mas adelante, Norbert Wiener elaboro estas ideas junto con otras, dentro del mismo campo, que se llamo "cibernética"; de aquí nacería, sobre los años 50, Inteligencia Artificial.

Los primeros investigadores de esta innovadora ciencia, tomaron como base la neurona formalizada de McCulloch y postulaban que:

"El cerebro es un solucionado inteligente de problemas, de modo que imitemos un cerebro".

Pero si consideramos la enorme complejidad del mismo esto es ya prácticamente imposible, teniendo en cuenta que el hardware y software de la época no estaban a la altura de semejantes proyectos.
Se comenzó a considerar el pensamiento humano como un coordinación de tareas simples relacionas entre si mediante símbolos  Se llegaría a la realización de lo que ellos consideraban como los fundamentos de la solución inteligente de problemas, pero lo difícil es unir entre si estas actividades simples.
En los años 50 cuando se logra realizar un sistema que tuvo cierto existo, se llamo el Perceptrón de Rossenblantt, pero este fallo.

 Fue en los años 60 cuando Alan Newell y Herbert Simon, que trabajando en la demostración de teoremas de ajedrez por ordenador logran crear un programa llamado GPS(General Problem Soulver: solucionador general de problemas). Este era un sistema en el que usuario definía un entorno en función de una serie de objetos y los operadores se podían aplicar sobre ellos. Este programa era capaz de trabajar con torres de hanoim esai como cripto-aritmeticas y otros problemas similares, operando, claro esta, con microcosmos formalizados que representaban los parámetros dentro de los cuales se podían resolver. Lo que no podía el GPS era resolver problemas ni del mundo real, ni  médicos ni tomar desiciones importantes.El GPS manejaba reglas hueristicas   (aprender de sus propios descubrimientos) que la conducían hasta el destino deseado mediante el método de ensayo y error.

En los años 70, un equipo de investigadores dirigido por Edward Feigenbau, conmenzo a elaborar un proyecto para resolver problemas de la vida cotidiana o que se centrara, al menos, en problemas mas concretos. Así es como nació el sistema experto.

El primer sistema experto fue el denominado Dendral, un interprete de espectrograma de masa construido en 1967, pero el mas influyente resultaría ser el Mycin de 1974, este era capaz de diagnosticar trastornos en la sangre y recetar la correspondiente medicación, todo un logro en aquella época incluso fueron utilizados en hospitales(como el Puff,variante de Myycin de uso común en el Pacific Medical Center de San Francisco EEUU).

Ya en los 80, se desarrollaron lenguajes especiales para utilizar con la Inteligencia Artificial, tales como el lisp o el prolog. Es en esta epoca es cuando se desarrollan programas expertos mas refinados, como por ejemplo el EURISKO. Este programa perfecciona su propio cuerpo de reglas huristicas automáticamente por inducción.





DEFINICIÓN DE INTELIGENCIA ARTIFICIAL:



En la mente humana la información recogida por el sistema sensorial fluye a travéz de un sistema cognitivo cuyos componentes básicos son la atención,  la percepción y la memoria. esto nos permite aprender de nuestro entorno y tomar decisiones en diferentes situaciones y bajo diferentes condiciones, a esto le llamamos razonar.


La inteligencia artificial es la ciencia de la computación que, junto con la robótica, fisiología  inclusive hasta filosofía y otra gran cantidad de ciencias, pretende emular el pensamiento humano en una maquina que tenga la capacidad de evaluar y actuar conforme a cierto principios y criterios de optimización y conciencia. De acuerdo con lo anterior racionalidad en resumen el objetivo principal de esta ciencia.



Categorías de la inteligencia artificial:

Stuart Russell y Peter Norving diferencian estos tipos de inteligencia artificial:


*Sistemas que piensan como humanos:


 Estos sistemas tratan de emular el pensamiento humano; por ejemplo las redes neuronales artificiales. La autorización de actividades que vinculamos con procesos de pensamiento humano, actividades como la toma de sediciones, la resolución de problemas y el aprendizaje


*Sistemas que actúan como humanos: 

Estos tratan de actuar como humanos; es decir, imitan el comportamiento humano; por ejemplo la robótica. El estudio de como lograr que los computadores realicen tareas que, por el momento los humanos hacen mejor.                 




*Sistemas que piensan racionalmente:

Es decir, con lógica (idealmente), tratan de imitar o emular el pensamiento lógico racional del ser humano; por ejemplos los sistemas expertos. El estudio de los cálculos que hacen posible percibir, razonar y actuar.