Universidad del Sol Curso: Sistemas Expertos M.en IA. Alberto Reyes Ballesteros Universidad del Sol
[email protected] http://www.geocities.com/areyes_66 Tel. 318-38-11 ext. 7626
Introducción • Un sistema experto es un programa que representa y razona con el conocimiento de algún especialista con la idea de resolver problemas, tomar decisiones o recomendar algo. • La tecnología de los sistemas expertos deriva de la Inteligencia Artificial. • Esta tecnología se ha aplicado con éxito en dominios tales como: la química orgánica, la exploración mineral y la medicina interna.
Introducción
Entre las tareas típicas de los sistemas expertos están: – – – – –
La interpretación de datos, El diagnóstico de fallas o enfermedades El análisis estructural de objetos complejos La configuración de objetos complejos La planificación de secuencias de acciones
Introducción Un sistema experto se puede distinguir de un programa con aplicaciones convencionales por lo siguiente: – Simula el razonamiento humano. – Realiza razonamiento sobre representaciones del conocimiento humano, además de realizar cálculos numéricos y acceso a datos. – Resuelven problemas mediante métodos heurísticos o aproximados.
Introducción Un sistema experto difiere de otros programas de IA por lo siguiente: – Trata con asuntos de complejidad real que normalmente requieren una cantidad considerable de experticia humana. – Para ser herramientas útiles deben exhibir alto rendimiento en términos de velocidad y disponibilidad. – Deben explicar y justificar soluciones o recomendaciones para convencer al usuario de que su razonamiento es correcto.
Introducción • El término Sistemas Basados en el Conocimiento a veces se usa como sinónimo de Sistemas Expertos. • Un sistema basado en el conocimiento es cualquier sistema que realiza una tarea mediante la aplicación de reglas sobre la representación simbólica de conocimiento. Ejemplo: un programa que hace pronóstico del tiempo.
Introducción • Un sistema experto codifica el conocimiento dependiente del dominio de los especialistas en algún área para resolver problemas. • La ingeniería del conocimiento es el proceso para construir un sistema experto y se le refiere como IA aplicada.
Beneficios de los SE • • • • • • • • • • •
Mayor productividad y características de salida Mayor calidad. Capacidad para capturar experticia y su diseminación Operación en ambientes inciertos Accesibilidad a conocimiento Disponibilidad Mejores capacidades que otros sistemas computacionales. Habilidad para manipular información incompleta e incierta. Ofrece entrenamiento. Destaca las capacidades de resolución de problemas. Menor tiempo de toma de decisiones.
Etapas para la construcción y uso de SEs • • • •
Adquisición de Conocimiento Representación de Conocimiento Aplicación de Conocimiento Explicación de las Soluciones
Adquisición de Conocimiento •
Transferencia y transformación de la experticia potencial para la resolución de problemas desde una fuente de conocimiento hasta un programa.
•
Esta tarea requiere de largas entrevistas entre un ingeniero de conocimiento y un experto del dominio (velocidad = 2 a 5 unidades de conocimiento o bits por día).
¿Porque es tan pobre la producción? •
Cada dominio tiene su propio lenguaje y por tanto es difícil que un experto comunique su conocimiento en un lenguaje coloquial.
•
Los hechos y principios de ciertos dominios no siempre se pueden caracterizar matemáticamente o en términos de un modelo determinista. Ejemplo: Las finanzas.
Adquisición de Conocimiento ¿Porque es tan pobre la producción? •
Los expertos necesitan saber más que solo hechos y principios de un dominio para poder resolver un problema.
•
La experticia humana se establece normalmente en un contexto muy amplio que involucra conocimiento con sentido común del mundo real. Ejemplo: un experto legal.
Alternativas al método de la entrevista. •
Deducción Automática de Conocimiento (mediante programas).
•
Aprendizaje Automático (como en realidad lo hacen los humanos).
Representación del Conocimiento • Frontera entre la IA y las ciencias cognitivas. • Se refiere a la supuesta forma en que el cerebro humano almacena información, y las formas en que pueden describirse formalmente grandes cantidades de conocimiento con fines de computación simbólica (Sintaxis y Semántica). • Los investigadores en esta área se han esforzado por construir lenguajes de representación para describir objetos organizados e ideas en vez de secuencias de instrucciones y elementos de datos simples.
Criterios para evaluar la calidad de representación • Congruencia lógica. Debe ser capaz de hacer las distinciones deseadas. Ejemplo: drogas y efectos colaterales. Se necesita cuantificar. • Poder heurístico. Así como contar con un lenguaje de representación expresivo debe haber alguna forma de usar las representaciones así construidas e interpretadas para resolver problemas. • Conveniencia Notacional. Es una virtud ya que la mayoría de los sistemas expertos requieren la codificación de cantidades substanciales de conocimiento.
Aplicación del Conocimiento • Este módulo tiene la tarea de acceder y aplicar el conocimiento durante la búsqueda de una solución. • Meta-Conocimiento. Saber que es lo que uno sabe, y saber cuando usar lo que se sabe. (conocimiento sobre el conocimiento). • Las diversas estrategias para aplicar el conocimiento repercuten en la eficiencia de un programa, y determinan la manera en que un programa busca la solución en un espacio de alternativas.
Aplicación del Conocimiento
No basta con introducir datos al SE para deducir exactamente en que parte del espacio buscar. Ejemplo: Diagnóstico de fallas en un auto.
Aún en la ausencia de heurísticas específicas, entre más metódicamente se proceda mayor será la posibilidad de descubrir la falla.
Estrategia de control para aplicar el conocimiento en forma sistemática: “Pruebe todos los módulos antes de probar sus componentes”.
Explicación de las Soluciones •
La forma de entender la estructura y función de un sistema de software complejo es comparable a la interacción humano – computadora.
•
Los investigadores de esta área han dado énfasis a los programas de consulta y a la forma de relacionar la conducta de un sistema con las cadenas de razonamiento empleadas por tales sistemas.
Las explicaciones de la conducta de un SE son importantes por lo siguiente: – Los usuarios de un SE deben quedar satisfechos que las conclusiones son correctas. – Los ingenieros de conocimiento deben quedar convencidos que la aplicación del conocimiento es apropiada aun cuando no este completo el prototipo.
Explicación de las Soluciones – Los expertos del dominio necesitan rastrear la forma en que se aplica el conocimiento para juzgar si la extracción de conocimiento procede satisfactoriamente. – Los programadores que mantienen, depuran y extienden los programas basados en el conocimiento deben contar con una ventana a su obra. – Los administradores de la tecnología de SE deben quedar convencidos que el modo de razonamiento es aplicable a su dominio. – Al tópico de explicaciones alguna veces se le denomina transparencia.
Etapas para la construcción y uso de SEs
Referencias
• Peter Jackson, Introduction to Expert Systems, 2nd Edition, Addison Wesley, 1990. • Dennis Merritt, Expert Systems in Prolog, Springer Verlag, 1989.