Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Sistemas ExpertosIntroducción
Arquitectura - Motor de Inferencias
Ingeniería del Conocimiento
Ingeniería Electrónica
IC - MODULOS
• INTRODUCCION
• SISTEMAS BASADOS EN CONOCIMIENTOCONOCIMIENTO
• RAZONAMIENTO APROXIMADO
• FUZZY SYSTEMS
• APRENDIZAJE AUTOMATIZADO
• AGENTES INTELIGENTES
Conjunto de Conocimientos y Técnicas que Conjunto de Conocimientos y Técnicas que permiten aplicar el saber científico a la utilización del permiten aplicar el saber científico a la utilización del conocimiento.conocimiento.
ADQUISICIONADQUISICION
INGENIERIA DEL CONOCIMIENTO
QUE SE OCUPA DE LA REPRESENTACIONREPRESENTACION
INFERENCIAINFERENCIA
MANTENIMIENTO
•• Es la disciplina tecnológica que se centra en el Es la disciplina tecnológica que se centra en el desarrollo, funcionamiento y mantenimientodesarrollo, funcionamiento y mantenimiento de de Sistemas Basados en ConocimientoSistemas Basados en Conocimiento (SBC (SBC –– KBS)KBS) de de una forma sistemática, disciplinada y cuantificable una forma sistemática, disciplinada y cuantificable
INGENIERIA DEL CONOCIMIENTO
una forma sistemática, disciplinada y cuantificable una forma sistemática, disciplinada y cuantificable (utilizando Ingeniería de Software)(utilizando Ingeniería de Software)
•• SBC: sistema de software capaz de soportar la SBC: sistema de software capaz de soportar la representación explícitarepresentación explícita de conocimiento.de conocimiento.
•• SBC (KBS):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 métodos adecuados conocimiento) y que incluyen métodos adecuados para explotarlo.para explotarlo.
SISTEMA BASADO EN CONOCIMIENTO
para explotarlo.para explotarlo.
•• Sistema Experto: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)
60´s
Inicio de los Sistemas Basados en Conocimiento
Se buscaban soluciones generales
70́ s Los sistemas son más eficientes en dominios 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 resuelven problemas aplicando una representación simbólica de la experiencia humana.
Jackson.
� Sistemas que representan el conocimiento sobre el dominio en forma explícita y separada del resto del sistema.
Waterman.
Jackson.
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 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 conductainteligente de un experto humano en un dominioespecífico y especializado, con el objeto de resolverproblemas.
Hardware + softwareSistema de computación
Fuente de pericia humana en el dominio
Simulación
Conducta inteligente
Experto
Dominio limitado Específico y especializado
Experiencia humana vs. SE.
PERICIA ARTIFICIAL PERICIA HUMANA
Permanente Perecedera Siempre accesible No siempre accesible
Fácil de documentar No documentable Estable, confiable Variable, flexible � Costo manejable Costosa
Fragilidad de las máquinas Fragilidad humana Fragilidad de las máquinas Fragilidad humana Sin inspiración Creativa �
Conocimiento técnico Sentido común � Estática - Dinámica Dinámica (aprendizaje) � Dominios estrechos Dominios más extensos
� Los humanos son imprescindibles!!!
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 enfermedadesinfecciosas (aprox. 500 reglas). Introducefactores de certeza.
PROSPECTOR
Stanford-US Geological Survey (Duda-Gashning-Hart, 1979): Evaluación de yacimientos mineralesy petrolíferos. (aprox 1600 reglas). Probabilidadescondicionales y Teorema de Bayes.
Conocimiento inexacto
INTERNISTPittsburg (Pople-Myers, 1977): Diagnósticoen Medicina interna. CADUCEUS: Analizarelacionescausales.relacionescausales.
CASNETRutgens (Kulikowsky-Weiss-Safir, 1977):Oftalmología. Aplica un modelo causal para eldiagnóstico de glaucoma.
Razonamiento expertoModelos causales
R1
MOLGEN
Carnegie Mellon (Mc Dermott): Configuración deordenadores VAX (aprox 500 reglas). Descomponeel diseño en distintos niveles de abstracción. Reducción espacio
de búsquedaStanford (Stefik): Diseño de experimentosgenéticos. Utiliza abstracción.
Estructura básica de un SE/SBC.
Base de Conocimientos
Inte
Us
Ingeniero del conocimiento
KAT
Conocimientos
Motor de Inferencias
erface
suarioExperto del
dominio
T
Estructura básica de un SE/SBC
Base de Conocimientos
Su estructura de datos queda definida entérminos del esquema de representaciónelegido para incorporar el conocimientodel dominio de trabajo.
Motor de Inferencias
Es la estructura de control de un SE,contiene el programa que gestiona la BC yotros mecanismos necesarios paraadministrar un sistema de naturalezainteractiva.
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.� 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.� 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 CONOCIMIENTOCONOCIMIENTO
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.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 nuevo conocimiento
Resulta en gran medida dependiente de la tarea y del dominio de aplicación.
Representación:Modelado de un sistemaAdquisición del conocimiento
Conceptos y relaciones
Métodos deinferencia
Modelo Conceptual
No computable
Modelo Formal
No computable
Semicomputable
�Representa simbólicamente y organiza el conocimiento.
�Determina el mecanismo de inferencia adecuado.
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)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
UNA KB DEBE PERMITIR CON EFICIENCIA:
PREGUNTAS RESPUESTAS
MECANISMO DE INFERENCIAS
DISTINTOS FORMALISMOS
�FORMALISMOS LOGICOS
�SISTEMAS DE PRODUCCION
�FORMALISMOS ESTRUCTURADOS:�FORMALISMOS ESTRUCTURADOS:• REDES SEMANTICAS
• FRAMES
• OBJETOS
• ONTOLOGÍAS
FORMALISMOS LOGICOSConstituyen sistemas formales en los cuales:
♦ SINTAXIS Y SEMANTICA ESTA BIEN DEFINIDA
♦ HAY UNA TEORIA DE LA DEMOSTRACION
•Completa y Consistente
LA LOGICA DE 1er ORDEN
Es la base de la mayoría de los esquemas de representación
FORMALISMOS LOGICOS
• Conocimiento es representado mediante un conjunto de fórmulas bien formadas (fbfs)en algún sistema lógico (proposicional -predicados - multivaluada...)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)
DISTINTOS SISTEMAS LOGICOS:
♦LOGICA PROPOSICIONAL
♦LOGICA DE PREDICADOS
♦LOGICAS NO-CLASICAS– MULTIVALUADAS (Fuzzy Logic)
– MODALES
OBJETIVO: ESTABLECER LA VALIDEZ DE DISTINTOS RAZONAMIENTOS -OBTENER CONCLUSIONES DE UN CONJUNTO DE FORMULAS
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 • 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 formalismosOtros formalismos
DISTINTOS FORMALISMOS
�FORMALISMOS LOGICOS
�SISTEMAS DE PRODUCCION
�FORMALISMOS �FORMALISMOS ESTRUCTURADOS:• REDES SEMANTICAS
• OBJETOS
OTROS FORMALISMOS Sistemas de producción
�Utilizan elementos de la lógica
�Salen del marco estrictamente formal
Newell & Simon - 1973
�Salen del marco estrictamente formal� más flexibles� más eficientes
�Pierden propiedades fundamentales como la consistencia y completitud.
SE basados en reglas de producción
Sistemas de producción
Newell y Simon (1972): Al resolver problemas, laspersonas utilizan sumemoria a largo plazo(permanente)que aplican a situaciones actuales contenidas en sumemoria a corto plazo(transitoria). Esto puede generarmodificaciones en la última.
BC Memoria de Mundo Exterior
BC (Reglas)
Memoria de trabajo (Hechos)
Motor de Inferencias
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.
ARQUITECTURA
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 �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 disparadaspermite presentar la cadena de razonamiento asociada.
� Semejanza con el proceso cognitivo humano:modelonaturaldel razonamientohumano.naturaldel razonamientohumano.
Dificultades:� Completitud y consistencia como responsabilidad del desarrollador.
� Se necesitan otras estructuras para lograr una visión global delconocimiento 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 KAPPA-PC
MakeRule( Rtigre, [],animal:grupo #= carnívoro And animal:color #= leonado And
animal:pelaje #= franjas_negras,animal:especie = tigre );
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 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
Sistemas de producción.Un ejemplo de regla
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
If el motor no arranca And las luces no enciendenThen falla la batería.
Sistemas de producción.Un conjunto de reglas
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.
El desarrollo de las reglas de producción para construir la KB.
• Cada una de estas reglasaparece como un gránulode conocimiento que esde conocimiento que esindependiente
• La ampliación de la KBpuede realizarse sin mayorproblema.
El desarrollo de las reglas de producción para construir la KB.
• estas reglas deben estarrelacionadas por loshechos que mencionanpara que puedan serpara que puedan serinterpretadas durante elproceso 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 reglasreglas
• respetar la sintaxis e los hechos representados.
Sistemas de producción Como razonamos???
� Utilizando un
MECANISMO DE INFERENCIA MECANISMO DE INFERENCIA (MOTOR DE INFERENCIA)
El cual determina de que forma utilizar lasreglas 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 seconstata que: “no arranca el motor, ni encienden lasluces, y llega combustible”.
• esnecesarioingresarestainformaciónen la memoriade• esnecesarioingresarestainformaciónen la memoriadetrabajo, para obtener una solución o respuesta al problema.
• la interfazde este KBS, deberá proveer los recursos quepermitan 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 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 querealiza el motor de inferencia,consiste en tomar cada una deestas plantillas, y explorar laKB buscando coincidencias enlas premisas de cada una de lasreglas.
• La primera regla se desen-cadena, y produce entonces laconclusión:“falla la batería” ,y el problema queda resuelto
Inferencia en los KBS
� Este proceso de comparación que explora cadauna de las reglas, es prácticamente independientedel orden en que se encuentren dispuestas lasmismasenla KB.mismasenla KB.
�Este proceso de inferencia en los KBS, esdenominado:sistema de inferencia por filtrado(pattern maching inference system)
Inferencia en los KBSLas herramientas actuales soportan procesos dematching más complejos, que satisfacen algúnpredicado:• que el valor de un slot de un objeto cumpla algunacondició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”.
VENTAJAS
�A los expertos les resulta simple “pensar en reglas”.
� Completitud y consistencia.
� El conocimiento se separaen pequeños “gránulos”.
PROBLEMAS Es común que se los combine con otros
formalismos.
Sistemas estructurados
� REDES SEMANTICAS (70s)
� OBJETOS (80s)� 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 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
Legajo
INSTANCIAEstudiante -LCC Estudiante -IEca
Juan PerezPedro García Legajo P-1233/5
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
Generalización
Instanciación
� “parte-de” relación componente-objeto
� definidas por el usuario
Dominio de aplicación
Agregación
Descripción
Redes semánticas Como razonamos???
�Búsqueda de intersecciónEncontrando relaciones entre objetos�Es Juan Pérez un estudiante de la UNR?�Cuál es el promedio de Pedro García?�Cuál es el promedio de Pedro García?
� Utiliza fundamentalmente la estructura jerárquica
Objetos
Los vemos más como una forma de representar el 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.
ENCAPSULAMIENTO
INTERFAZ
Un PROGRAMA OOes una red de objetos cooperantes, que interactúan entre sí, enviándose mensajes.
ENCAPSULAMIENTO
Permite la utilización de clases conimplementaciones intercambiables.
Objetos
Una CLASE es una definición de las característicascomunes de un conjunto de objetos semejantes.
� ESTRUCTURA: Conjuntode
CLASE
� ESTRUCTURA: Conjuntodevariables de clase e instancia.
� INTERFAZ: conjunto demétodos. Los objetos concretosbuscan en su clase la definicióncuando reciben un mensaje.
Objetos
Las CLASES se organizan en jerarquías modelizando el dominio
De Estructura: Más estática.
Esquema de colaboración entre objetos (explícito en
el código)
De Comportamiento: Ocurre en ejecución. HERENCIA
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 !!!
Frente a cada problema a resolver:
�Analizar las características del conocimiento involucrado.
�Recurrir a la combinación de formalismos.
Frente a cada problema a resolver: