Se encuentra usted aquí

Sistemas Expertos

Enviado por vacho en Sáb, 05/12/2012 - 10:58

Introducción

se2El ser humano en su naturaleza, ha buscado siempre tener mayores comodidades y condiciones de vida mejores. Utilizando su inventiva al máximo ha creado procedimientos cada vés mejores para realizar las tareas. Desde que la tecnología desarrollada ha permitido tener máquinas las ha desarrollado y empleado en todas sus labores: la agricultura, la medicina, la fabricación, etc. El desafío que aún no ha tenido éxito caval es el de dotar a estas máquinas de inteligencia, tal cual la de un ser humano.

La Inteligencia Artificial inspirada para dotar a dispositivos creados por el hombre de sus dones propios como el aprendizaje, la memorización el razonamiento y comunicación natural, es una ciencia en la cual se han invertido muchos recursos. Siendo parte de esta ciencia y desde los años 50 los Sistemas Expertos han sido una línea para crear sistemas de computación capaces de emular las capacidades de un Experto Humano.

 

 

Definición

En el Congreso Mundial de IA Feigenbaum se definió a los SE como:

  • Un programa de computador inteligente que usa el conocimiento y procedimientos de inferencia para resolver problemas que son lo suficientemente difíciles como para requerir la intervención de un experto humano para su resolución.

Sin embargo con los avances conseguidos hasta ahora esta definición ha cambiado, actualmente un SE define de la siguiente manera:

  • Un SE es un sistema informático que simula los procesos de aprendizaje, memorización, razonamiento, comunicación y acción de un experto humano en una determinada rama de la ciencia, suministrando, de esta forma, un consultor que puede sustituirle con unas ciertas garantías de éxito.

Un poco de história

Los Sistemas Expertos, surgen a mediados de los años sesenta; en esos tiempos, se creía que bastaban unas pocas leyes de razonamiento junto con potentes ordenadores para producir resultados brillantes. Los primeros investigadores que desarrollaron programas basados en leyes de razonamiento fueron Alan Newell y Herbert Simon, quienes desarrollaron el GPS (General Problem Solver). Este sistema era capaz de resolver problemas como el de las torres de Hanoi y otros similares, a través de la criptoaritmética. Sin embargo, este programa no podía resolver problemas más cotidianos y reales, como, por ejemplo, dar un diagnóstico médico.
Entonces algunos investigadores cambiaron el enfoque del problema: ahora se dedicaban a resolver problemas sobre un área específica intentando simular el razonamiento humano. En vez de dedicarse a computarizar la inteligencia general, se centraron en dominios de conocimiento muy concretos . De esta manera nacieron los Sistemas Expertos.

Sistema

Fecha Autor Aplicación
Dendral 1965 Stanford Deduce información sobre estructuras químicas
Macsyma 1965 MIT Análisis matemático complejo
HearSay 1965 Carmegie - Mellon Interpreta en lenguaje natural un subconjunto del idioma
Mycin 1972 Stanford Diagnóstico de enfermedades de sangre
Tieresias 1972 Stanford Herramienta para la transformación de conocimientos
Pospector 1972 Stanford Exploración mineral y herramientas de identificación
Age 1973 Stanford Herramientas para generar Sistemas Expertos
OPS5 1974 Carnegie - Mellon Herramienta para desarrollo de Sistemas Expertos
Caduceus 1975 Universidad de Pittsburg Herramienta de diagnóstico para medicina interna
Rosie 1978 Rand Herramienta de desarrollo de Sistemas Expertos
R1 1978 Carnegie - Mellon Configurador de equipos de computadoras para DEC

 

Entre 1980 a 1985  surgen empresas dedicadas a desarrollar Sistemas Expertos, las cuales que supusieron en conjunto una inversión total de más de 300 millones de dólares. Los productos más importantes que creaban estas nuevas compañías eran las "máquinas LISP", las cuales consistían en unos ordenadores que ejecutaban programas LISP con la misma rapidez que en un ordenador central.
Desgraciadamente para DEC, el SE que antes fuera un gran ahorro dejó de ser rentable en 1987, debido a que al actualizarlo llegaron a gastar más de dos millones de dólares al año para darle mantenimiento, por lo que su benefició quedó en duda, y por lo tanto fue descontinuado; algo similar ocurrió con DELTA .

Aplicación

Un sistema experto se aplica a un problema cuando:

  • Una solución del problema tiene una rentabilidad tan alta que justifica el desarrollo de un sistema, pues las soluciones son necesidades del área y no se ha trabajado en otros métodos para obtenerla.
  • El problema puede resolverse sólo por un conocimiento experto que puede dar forma a los conocimientos necesarios para resolver el problema, y la intervención de experto dará al sistema la experiencia que necesita.
  • El problema puede resolverse solamente por un conocimiento experto en vez de usar algoritmos particulares.
  • Se tiene acceso a un experto que puede dar forma a los conocimientos necesarios para resolver el problema. La intervención de este experto dará al sistema la experiencia que necesita.
  • El problema puede o no tener una solución única. Los Sistemas Expertos funcionan mejor con problemas que tienen un cierto número de soluciones aceptables.
  • El problema cambia rápidamente, o bien el conocimiento es el que cambia rápidamente, o sus soluciones son las que cambian constantemente.
  • El desarrollo de un Sistema Experto no se considera que está acabado una vez que funciona este, sino que continúan desarrollando y actualizando tanto el conocimiento del sistema como los métodos de procesamiento, quedando reflejados los progresos o modificaciones en el campo, área o sistema.

Diferencias entre un Humano Inexperto, Experto Humano y un Sistema Experto.

  Humano Inexperto Experto Humano Sistema Experto
Tiempo de resolución Grande Pequeño Pequeño
Eficacia resolutiva Mediana - Baja Alta Alta - Mediana
Estrategias y tácticas No Si Si
Búsqueda de soluciones No heurística Heurística Heurística
Expresión de los resultados finales Buena - Mala Buena Buena - Mala
Captación de información sobre el problema Regular Buena Buena - Regular
Conocimiento ninguno - innato Adquirido + innato Adquirido
Adquisición del conocimiento ninguno Teórico + Práctico Teórico
Campo Múltiples Múltiples Único - múltiples
Explicación Ninguna Siempre A veces
Limitación de capacidad Si, no evaluable Si, no evaluable Si
Reproducible No No Sí, idéntico
Vida Finita Finita Infinita
Disponibilidad A veces A veces Siempre
Estado anímico Variable Variable Constante

 

El uso de heurísticas para determinar las soluciones es la mayor contribución a la potencia de los Sistemas Expertos y es lo que los distingue de los sistemas de software tradicionales. Encontrar expertos humanos suele ser dificil y costoso económicamente. Evaluando la tabla comparativa el uso de un experto humano es claramente superior al de un sistema experto sin embargo es mucho mejor utilizar este software a que un inexperto humano.

Diferencias entre un Sistema Experto y un Programa Tradicional.

  Sistema Experto Programa Tradicional
Conocimiento En programa e independiente En programa y circuitos
Tipos de datos Simbólicos definidos según el problema Simbólicos predefinidos: numéricos, cadenas, etc.
Resolución Heurística Combinatoria
Definición del problema Declarativa Procedimental
Control Independiente y no secuencial Dependiente y secuencial
Conocimientos

Imprecisos

Conocimientos separados de mecanismo de procesamiento

Precisos

Combinados en la programación (conocimiento y procesamiento entrelazados)

Modificaciones Frecuentes Raras
Explicaciones Si No
Solución Satisfactoria Optima
Justificación de la resolución Si No
Resolución Área limitada Específico
Comunicación Independiente En programa
Errores Los resultados esperados son susceptibles a validación. Es decir pueden contener errores. No contiene errores conscientes (puede tener bugs, etc.)
Ejecución

La ejecución usa heurísticas y lógica

Se ejecuta paso a paso

Representación simbólica Representa y usa conocimiento Representa y usa datos

 

Representación del conocimiento

El conocimiento se compone de ideas, conceptos, hechos y figuras, teorías, procedimientos y relaciones entre ellos. El conocimiento empleado en un Sistema Experto es el heurístico; que es aquel que posibilita mejoramiento o aprendizaje.

Básicamente el conocimiento debe estar representado de tal forma que:

  • Capture generalizaciones.
  • Pueda ser comprendido por quien le proporciona conocimiento.
  • Pueda ser fácilmente modificado.
  • Pueda ser utilizado en diversas situaciones y aún cuando no sea totalmente exacto o completo.
  • Pueda ser utilizado para reducir el rango de incertidumbre que se tiene al buscar soluciones en un problema nuevo.
Lógica proposicional

Es la forma más antigua y simple, permite representar y manipular aserciones sobre la realidad. La lógica proposicional permite el razonamiento a través de un mecanismo que primero evalúa sentencias simples y luego sentencias complejas, formadas mediante el uso de conectivos proposicionales AND o OR típicamente. Este mecanismo determina la veracidad de una sentencia compleja, analizando los valores de veracidad asignados a las sentencias simples que la conforman.

- La principal debilidad de la lógica proposicional es su limitada habilidad para expresar conocimiento.
+ Este tipo de lógica es soportado por los lenguajes lógicos con mucha facilidad.

Ej. 
p= Todos los seres vivos se alimentan
q=El hombre es un ser vivo
r= El hombre se alimenta

p AND q THEN r

Lógica de predicados

Existen sentencias que pierden su significado cabal cuando se les representa en lógica proposicional. La lógica de predicados está basada en la idea de que las sentencias realmente expresan relaciones entre objetos, así como también cualidades y atributos de tales objetos. Igual que las proposiciones los predicados tienen un valor de veracidad pero a diferencia de, su valor de veracidad depende de sus términos. Es decir que un predicado puede ser verdadero para un conjunto de términos, pero falso para otro.

- Esta forma de representar el conocimiento tiene la misma debilidad de la lógica proposicional.
+ Este tipo de lógica es soportado por los lenguajes lógicos con mucha facilidad.

Ej.

Para todo mamifero se cumple que depende de la alimentación de su madre al principio
mamífero(Y) => depende(Y, madre)

Reglas de producción

La regla es la forma más común de representar el conocimiento, debido a su gran sencillez y a que es la formulación más inmediata del principio de causalidad. Una regla consta de un conjunto de acciones o efectos que son ciertas cuando se cumplen un conjunto de condiciones o causas.

+ Son declarativas, tienen sencillez, son modulares al se fácilmente agrupables.
- Presentan difucultad para establecer relaciones, para lo cual hay que recurrir al uso de meta-reglas, lo que produce un crecimiento muy rápido de las reglas y hace más lento el proceso de inferencia. Las reglas también podrían ocasionar contradicciones.

Ej.

Si <Hay escases de alimento en esta región> Entonces <Migración>

Redes asociativas

Son redes semánticas o asociativas, se caracterizan por representar el conocimiento de forma gráfica. Agrupan una porción del conocimiento en dos partes: objetos (nodos) y relaciones entre objetos (arcos o enlaces). Su concepción se basa en la asociación real que realiza la memoria humana.

+ Son muy apropiados para representar conocimiento jerárquico.
+ Posibilitan mayor potencia para operaciones deductivas y sistemas de aprendizaje.
+ El tiempo que toma el proceso de búsqueda de hechos particulares es significativamente reducido.
- No existe una interpretación normalizada para el conocimiento expresado en la red. Esta se delega al programa que la manipula.

se3

Estructuras FRAME

 Una plantilla o Frame es una estructura de datos apropiada para representar situaciones estereotípicas. La evidencia psicológica sugiere que la gente utiliza grandes plantillas para codificar el conocimiento de experiencias pasadas.
Una plantilla representa un objeto o situación describiendo la colección de atributos que posee. Cada plantilla está formada por un nombre y una serie de campos de información o ranuras (slots), cada ranura puede contener uno o mas enlaces. cada enlace tiene un valor asociado. Varios enlaces pueden ser definidos para cada ranura. Además los enlaces pueden ser procedimientos que residen en la base de datos (demons). 

+ Facilidad  de proceso guiado por expectativas. Mediante los demons se pueden especificar ciertas acciones cuando se reunen ciertas condiciones.
+ Conocimiento significativamente estructurado.
+ Se pueden almacenar intervalos o valores dinámicos en las ranuras. Esto es particularmente útil para hacer simulación.
- Dificultad para representar objetos que se alejan de los estereotipos.
- Dificultad para describir conocimiento heurístico que mucho más fácil de representar mediante reglas.

Representación Orientada a Objetos

Los objetos son similares a las plantillas, ambos sirven para agrupar conocimiento pero estos soportan además herencia, encapsulamiento y polimorfismo. Se manipula la información mediante métodos.

+ Posibilitan un nivel de reutilización elevado.
+ Eficiencia en sistemas grandes.
- Hay dificultad para manejar situaciones que no han sido encontradas antes.

Componentes de un Sistema Experto

Los principales componentes que tiene un Sistema Experto son:

  1. La base de conocimiento que se codifica según una notación específica que pueden ser reglas. predicados, redes semánticas y objetos.
  2. El motor de inferencia que el que combina los hechos y las preguntas particulares, utilizando la base de conocimiento, seleccionando los datos y pasos apropiados para representar los resultados.
  3. Subsistema de control de coherencia que previene la entrada de información incoherente en la base de conocimiento.
  4. Subsistema de adquisición de conocimiento que se encarga de controlar el flujo de nuevo conocimiento. Elimina sobre todo redundancias.
  5. Subsistema de demanda de información que completa el conocimiento necesario y reanuda el proceso de inferencia. Si se necesita mas información del usuario este se la solicita.
  6. Subsistema de incertidumbre que almacena la información incierta y propaga la incertidumbre asociada.
  7. Subsistema de ejecución de tareas que permite realizar acciones al Sistema Experto basadas en el motor de inferencia.
  8. Subsistema de explicación que le brinda al usuario una explicación de cómo se llegaron a las conclusiones.

 

se1_1

Estructura de un sistema experto ideal segun Samper

Referencias

  • SAMPER Márquez Juan José. SISTEMAS EXPERTOS. EL CONOCIMIENTO AL PODER 2005
  • CRIADO Briz José Mario. Introducción a los Sistemas Expertos 2000
  • WINSTON Patrick Henry. Artificial Intelligence. Addison Wesley. Tercera edición. California, 1992.

td/li