63
Sistemas Expertos Introducción Arquitectura - Motor de Inferencias Ingeniería del Conocimiento -EIE Ana Casali – Andrea Torres

Sistemas Expertos - Inicio · QUE SE OCUPA DE LA REPRESENTACION ... Su estructura de datos queda definida en ... ELEMENTOS BASICOS QUE INTERVIENEN EN EL DISEÑO DE UN SISTEMA BASADO

Embed Size (px)

Citation preview

Sistemas ExpertosIntroducción

Arquitectura - Motor de Inferencias

Ingeniería del Conocimiento -EIE

Ana Casali – Andrea Torres

IC - MODULOS

• INTRODUCCION

• SISTEMAS BASADOS EN CONOCIMIENTO

• RAZONAMIENTO APROXIMADO

• FUZZY SYSTEMS

• APRENDIZAJE AUTOMATIZADO

• AGENTES INTELIGENTES

Conjunto de Conocimientos y TConjunto de Conocimientos y Téécnicas que cnicas que permiten aplicar el saber cientpermiten aplicar el saber cientíífico a la utilizacifico a la utilizacióón del n del conocimiento.conocimiento.

ADQUISICIONADQUISICION

QUE SE OCUPA DE LA REPRESENTACIONREPRESENTACION

INFERENCIAINFERENCIA

MANTENIMIENTO

INGENIERIA DEL CONOCIMIENTO

•• Es la disciplina tecnolEs la disciplina tecnolóógica que se centra en el gica que se centra en el desarrollo, funcionamiento y mantenimiento de de Sistemas Basados en Conocimiento (SBC – KBS)(utilizando Ingenier(utilizando Ingenieríía de Software)a de Software)

•• SBC: sistema de software capaz de soportar la SBC: sistema de software capaz de soportar la representacirepresentacióón expln explíícitacita de conocimiento.de conocimiento.

INGENIERIA DEL CONOCIMIENTO

•• SBC (KBS): sistema de software que mantienen sistema de software que mantienen una gran cantidad de conocimiento (Base de una gran cantidad de conocimiento (Base de conocimiento) y que incluyen mconocimiento) y que incluyen méétodos adecuados todos adecuados para explotarlo.para explotarlo.

•• Sistema Experto: es un SBC que contiene el es un SBC que contiene el conocimiento utilizados por expertos humanos conocimiento utilizados por expertos humanos (imita la actividad de un experto)(imita la actividad de un experto)

SISTEMA BASADO EN CONOCIMIENTO

60´s

Inicio de los Sistemas Basados en Conocimiento

Se buscaban soluciones generales

70´s Los sistemas son más eficientes en dominios acotados

La calidad y cantidad de conocimiento son esenciales para una buena performance

Es importante independizar el conocimiento del dominio, del mecanismo de inferencia.

Sistemas basados en conocimiento (SBC-KBS)Definiciones.

� Sistemas que representan el conocimiento sobre el dominio en forma explícita y separada del resto del sistema.

Waterman.

Sistemas basados en conocimiento (SBC-KBS)Definiciones.

� Sistemas de software capaz de soportar la representación explícita del conocimientode un dominio específicoy de explotarlo a través de mecanismos apropiados de razonamientopara proporcionar un comportamiento de alto nivel en la resolución de problemas.

Guida y Taso

Sistemas Expertos: Definición.

Es un sistema de cómputo capaz de simular la conducta inteligente de un experto humano en un dominio específico y especializado, con el objeto de resolver problemas.

Sistemas Expertos: Definición.

Es un sistema de cómputo capaz de simular la conducta inteligente de un experto humano en un dominio específico y especializado, con el objeto de resolver problemas.

Hardware + software

Fuente de pericia humana en el dominio

Sistema de computación

Simulación

Conducta inteligente

Experto

Dominio limitado Específico y especializado

SE/SBC: Tareas

Tareas abordadas

Síntesis:Clasificación, diagnóstico

Análisis: Planificación, diseño o modelado

Las áreas de aplicación son muy variadas !!!

� Los SBC abordan problemas complejos en dominios específicos en los que el peso de las heurísticas para acotar el espacio de búsqueda es importante.

Primeros Sistemas Expertos

MYCINStanford (Buchanan - Shortliffe 1976): Diagnóstico y tratamiento de enfermedades infecciosas (aprox. 500 reglas). Introduce factores de certeza.

PROSPECTOR

Stanford-US Geological Survey (Duda-Gashning-Hart, 1979): Evaluación de yacimientos minerales y petrolíferos. (aprox 1600 reglas). Probabilidades condicionales y Teorema de Bayes.

Conocimiento inexacto

INTERNISTPittsburg (Pople-Myers, 1977): Diagnóstico en Medicina interna. CADUCEUS: Analiza relaciones causales.

CASNETRutgens (Kulikowsky-Weiss-Safir, 1977): Oftalmología. Aplica un modelo causal para el diagnóstico de glaucoma.

Razonamiento expertoModelos causales

R1

MOLGEN

Carnegie Mellon (Mc Dermott): Configuración de ordenadores VAX (aprox 500 reglas). Descompone el diseño en distintos niveles de abstracción. Reducción espacio

de búsquedaStanford (Stefik): Diseño de experimentos genéticos. Utiliza abstracción.

Estructura básica de un SE/SBC.

Base de Conocimientos

Motor de Inferencias

Interface

Usuario

Ingeniero del conocimiento

Experto del dominio

KAT

Estructura básica de un SE/SBC

Base de Conocimientos

Su estructura de datos queda definida en términos del esquema de representación elegido para incorporar el conocimiento del dominio de trabajo.

Motor de Inferencias

Es la estructura de control de un SE, contiene el programa que gestiona la BC y otros mecanismos necesarios para administrar un sistema de naturaleza interactiva.

Separados entre sí

Habilidades que se esperan de un SE

� Buena perfomance, comparable al menos a la de los especialistas.

� Manipular con fluidez descripciones simbólicas.

� Interfaz amigable, adecuada a las necesidades de la aplicación.

� Habilidad para manipular conocimiento incompleto e impreciso.

� Capacidad de explicar sus decisiones a los usuarios.

� Posibilidad de justificar sus conclusiones.

SBC: Ventajas� El conocimiento no se pierde.

� Reducción del espacio de búsqueda con heurísticas para que el problema sea tratable en un tiempo razonable.

� Manejo de conocimiento incierto e incompleto.

� Posibilidad de justificar el razonamiento seguido.

� Hacer el conocimiento disponible en ambientes hostiles o con carencia de especialistas.

� Aumento de fiabilidad, evitando que prevalezcan las últimas experiencias.

� Modificación sencilla de la BC por su característica modular.

SBC: Inconvenientes

� La adquisición del conocimiento es difícil y cara.

� La reutilización del conocimiento en contextos diferentes no es simple.

� Falta de creatividad y sentido común.

� Necesitan aprendizaje y adaptación.

Quedan inmersos en el campo de los Sistemas Inteligentes.

Se trabaja sobre metodología de desarrollo

Se los combina con otras tecnologías

REPRESENTACION DEL CONOCIMIENTO

PREMISA FUNDAMENTAL DE IA:

Para que un sistema informático demuestre un comportamiento inteligente en la solución de problemas, debe poseer

gran cantidad de conocimientosy

un potente mecanismo de razonamiento.

IMPORTANCIA DE UNA ADECUADA REPRESENTACION DEL CONOCIMIENTO

»CONOCIMIENTO DEL MUNDO (en IA) Es la habilidad para construir un modelo de los objetos, sus vinculaciones y de las acciones que pueden realizar.

•REPRESENTACION DEL CONOCIMIENTO

Es la expresión mediante algún lenguaje, de un modelo que exprese el conocimiento sobre el mundo.

:

Conocimiento – Definición

El conocimientoes una mezcla de experiencia, información y “saber hacer” que actúa como marco para la incorporación de nuevas experiencias y guía la acción.

Se utiliza para alcanzar una meta

Genera nuevos hechos/conclusiones

Resulta en gran medida dependiente de la tarea y del dominio de aplicación.

Representación: Modelado de un sistema

Modelo Computable

Operacional

� Bases de Conocimiento� Mecanismos de inferencia� Mecanismos de control

Las tareas de adquisición y modelado son difíciles y costosas.

Existen esquemas de representación útiles en dominios variados.

Los Sistemas Basados en Conocimiento los combinan.

ELEMENTOS BASICOS QUE INTERVIENEN EN EL DISEÑO DE UN SISTEMA BASADO EN EL CONOCIMIENTO (KBS)� Lenguaje formal para expresar conocimiento� Forma de efectuar razonamientos

COMPONENTE MEDULAR DE UN KBS (Agente)

BASE DE CONOCIMIENTOS (KB)

Es un conjunto de representaciones de hechos acerca del mundo

Conjunto de sentencias del lenguaje para la representación del conocimiento

AÑADIR Y MODIFICAR SENTENCIAS

BC

PREGUNTAS RESPUESTAS

MECANISMO DE INFERENCIAS

UNA KB DEBE PERMITIR CON EFICIENCIA:

DISTINTOS FORMALISMOS

�FORMALISMOS LOGICOS

�SISTEMAS DE PRODUCCION

�FORMALISMOS ESTRUCTURADOS:• REDES SEMANTICAS

• FRAMES

• OBJETOS

• ONTOLOGÍAS

FORMALISMOS LOGICOS

• Conocimiento es representado mediante un conjunto de fórmulas bien formadas (fbfs)en algún sistema lógico (proposicional -predicados - multivaluada...)

• Los mecanismos de inferencia son los métodos deductivos del sistema lógico (Resolución en predicados)

PROLOG: Una implementación de

programación lógica

LOGICA DE PREDICADOS + DEDUCCIÓN AUTOM ÁTICA

(RESOLUCION )

• Dada la BC y una fórmula α podemos probar que

» BC - αPodemos contestar perro (Rex) ?

preguntas como X / perro (X)?

Representación del Conocimiento Otros formalismos

DISTINTOS FORMALISMOS

�FORMALISMOS LOGICOS

�SISTEMAS DE PRODUCCION

�FORMALISMOS ESTRUCTURADOS:• OBJETOS

• ONTOLOGÍAS

OTROS FORMALISMOS Sistemas de producción

�Utilizan elementos de la lógica

�Salen del marco estrictamente formal� más flexibles� más eficientes

�Pierden propiedades fundamentales como la consistencia y completitud.

Newell & Simon - 1973

SE basados en reglas de producción

Sistemas de producción

Al resolver problemas, las personas utilizan su memoria a largo plazo (permanente) que aplican a situaciones actuales contenidas en su memoria a corto plazo (transitoria).

BC (Reglas)

Memoria de trabajo (Hechos)

Motor de Inferencias

Mundo Exterior

Sistemas de producción�Los procesos del dominio se representan como acciones independientes que son integradas por el mecanismo de

inferencias para resolver una tarea más general.

Motor deInferencias

BASE DE CONOCIMIENTO

Base deHechos

Base deReglas

ARQUITECTURA

SE basados en reglas de producción

Reglas de producción

IF < CONDICION > THEN < ACCION>

� Son “gránulos” de conocimiento.

�Reúnen información relativa a las condiciones de disparo y a los efectos resultantes del disparo.

� Son estructuras bidireccionales.

SI ?X ES MAMIFERO Y ?X COME CARNE

ENTONCES ?X ES CARNIVORO.

SE basados en reglas de producciónVentajas:�Naturaleza modular: El conocimiento es fácil de

encapsular y expandir.

� Explicaciones sencillas:El registro de reglas disparadas permite presentar la cadena de razonamiento asociada.

� Semejanza con el proceso cognitivo humano:modelo natural del razonamiento humano.

Dificultades:� Completitud y consistencia como responsabilidad del desarrollador.

� Se necesitan otras estructuras para lograr una visión global del conocimiento del dominio.

�Se las combina con otros formalismos de representación.

Sistemas de producción�Se utilizanReglas de Producciónpara

representar el conocimientoIF <premisa> THEN <conclusión y/o acción>

�Son los elementos de deducción básicos

�El proceso de inferencia se basa fundamentalmente en la Regla de Inferencia de la lógica denominada MP A →B, A / ∴B

Reglas de producción�Es el modelo formal para representar un elemento

mínimo de conocimientoIF <premisa> THEN <conclusión y/o acción>

Conclusión

Puede especificar Acción

Estrategia

� La premisa puede tener conectivos lógicos

<premisa> = <cláusula1 AND/OR...AND/OR cláusulak>

Sistemas de producción

�Cada regla es independientedel resto de las reglas en la BC.

�Las reglas no tienen porque estar ordenadas en la BC.

�Las reglas se pueden agrupar por nociones semánticas en “módulos” o “grupos”.

�El metaconocimiento puede ser expresadomediante reglas: metareglas

Reglas de producción- Ejemplos Sintaxis Reglas en JESS

Jess> (defrule bienvenido-menor

"Saludo para niños"

(persona {edad < 3})

=>

(printout t "Hola niño!"

crlf)

Sistemas de producción.Un ejemplo de regla

Un especialista que participa en el desarrollo de un sistema basado en conocimiento relativo al diagnóstico de una falla en un auto, podráexpresar:

“ si el motor no arranca y las luces no encienden, entonces la falla está en la batería ”.

A partir de esta expresión, se puede definir la regla de producción asociada a las proposiciones como:

If el motor no arranca

And las luces no encienden,

Then la falla está en la batería .

Sistemas de producción.Un ejemplo de regla

Sistemas de producción.Un ejemplo

If el motor no arranca And las luces no enciendenThen falla la batería.

If el motor no arranca And las luces enciendenAnd llega combustibleThen falla el sistema de ignición.

If el motor no arranca And las luces enciendenAnd no llega combustibleThen falla el sistema de combustible.

Sistemas de producción.Un conjunto de reglas

El desarrollo de las reglas de producción para construir la KB.

• Cada una de estas reglas aparece como un gránulo de conocimiento que es independiente

• La ampliación de la KB puede realizarse sin mayor problema.

El desarrollo de las reglas de producción para construir la KB.

• estas reglas deben estar relacionadas por los hechos que mencionan para que puedan ser interpretadas durante el proceso de inferencia.

El desarrollo de las reglas de producción para construir la KB.

• Este es el único requisito que requiere el agregado de nuevas reglas

• respetar la sintaxis e los hechos representados.

Sistemas de producción Como razonamos???

� Utilizando un

MECANISMO DE INFERENCIA

(MOTOR DE INFERENCIA)

El cual determina de que forma utilizar las reglas para alcanzar el objetivo planteado

La ejecución del proceso de inferencia en los KBS

Supóngase que se observa una falla en motor del auto y se constata que: “no arranca el motor, ni encienden las luces, y llega combustible”.

• es necesario ingresar esta información en la memoria de trabajo, para obtener una solución o respuesta al problema.

• la interfaz de este KBS, deberá proveer los recursos que permitan ingresar las observaciones del caso.

La ejecución del proceso de inferencia en los KBS

La ejecución del proceso de inferencia en los KBS

• La respuestas seleccionadas originan los hechos: “el motor no arranca”, “ las luces no encienden”y “llega combustible” que ingresarán a la memoria de trabajo del KBS.

La ejecución del proceso de inferencia en los KBS

• El proceso de ejecución que realiza el motor de inferencia, consiste en tomar cada una de estas plantillas, y explorar la KB buscando coincidencias en las premisas de cada una de las reglas.

• La primera regla se desen-cadena, y produce entonces la conclusión: “falla la batería” , y el problema queda resuelto

Inferencia en los KBS

� Este proceso de comparación que explora cada una de las reglas, es prácticamente independiente del orden en que se encuentren dispuestas las mismas en la KB.

�Este proceso de inferencia en los KBS, es denominado: sistema de inferencia por filtrado(pattern maching inference system)

Inferencia en los KBSLas herramientas actuales soportan procesos de matching más complejos, que satisfacen algún predicado:• que el valor de un slot de un objeto cumpla alguna condición, por ej.

• que su valor sea desconocido • que la lista asociada a un slot tenga 3 elementos

Jess> (defrule match-tres-items

(lista-almacen ? ? ?)

=>

(printout t "Hay una lista de tres items." crlf))

Sistemas de producción Motor de Inferencia

Direcciones de búsqueda:

� Hacia delante, Forward Chainingo guiada por los hechos. JESS

� Hacia atrás, Backward Chainingo guiada por los objetivos.

Para seleccionar las reglas candidatas en cada estado utiliza elFILTRADO o MATCHING.

Sistemas de producción

� Flexibles.

� Sencillos de modificar y extender.

� A los expertos les resulta simple “pensar en reglas”.

� Completitud y consistencia.

� El conocimiento se separa en pequeños “gránulos”.

VENTAJAS

PROBLEMAS Es común que se los combine con otros

formalismos.

Sistemas estructurados

� REDES SEMANTICAS (70s)

� OBJETOS (80s)

� ONTOLOG ÍAS (90s)

Redes semánticas� Idea: el significado de un concepto

depende del modo en que se encuentre conectado a otros conceptos

� Representación:mediante un grafo dirigido donde

� los nodos representan objetos y � los arcos relaciones entre los conceptos

REX PERRO MAMIFERO

INSTANCIA ES-UN

Redes semánticas - Ejemplo

ES-UN

ES-UNES-UN

TIENEEstudiante -FCEIA

Estudiante -UNR

Estudiante -LCC Estudiante -IEca

Juan PerezPedro García Legajo P-1233/5

Legajo

Prom1 Prom2

Promedio

TIENE

INSTANCIA

INSTANCIAINSTANCIA

TIENETIENE

INSTANCIAINSTANCIA

Redes semánticas - Arcos

Etiquetas de los arcos

� “es-un” relación subclase-clase�“instancia” relación objeto-clase� “parte-de”relación componente-objeto

� definidas por el usuario

Dominio de aplicación

Generalización

Instanciación

Agregación

Descripción

Objetos

Los vemos más como una forma de representar el mundo que como un paradigma de programación

Los encontramos en muchas herramientas dentro del área.

Tienen ciertas características en común con los agentes.

Objetos OBJETO: Es una entidad que tiene un comportamiento.

ESTADO INTERNO MENSAJES que es capaz de responder.

INTERFAZ

Un PROGRAMA OOes una red de objetos cooperantes, que interactúan entre sí, enviándose mensajes.

ENCAPSULAMIENTO

Permite la utilización de clases con implementaciones intercambiables.

Objetos

Una CLASE es una definición de las características comunes de un conjunto de objetos semejantes.

CLASE

� ESTRUCTURA: Conjunto de variables de clase e instancia.

� INTERFAZ: conjunto de métodos. Los objetos concretos buscan en su clase la definición cuando reciben un mensaje.

Objetos

Las CLASES se organizan en jerarquías modelizando el dominio

De Estructura: Más estática.

De Comportamiento: Ocurre en ejecución. HERENCIA

Esquema de colaboración entre objetos (explícito en

el código)

Cuando un objeto recibe un mensaje, busca el código en su clase, y si no lo encuentra recorre la jerarquía.

Cómo elegir la mejor representación???

No hay receta establecida !!!

�Analizar las características del conocimiento involucrado.

�Recurrir a la combinación de formalismos.

Frente a cada problema a resolver: