Está en la página 1de 52

Inteligencia Artificial

Sistemas expertos

Profesor Dr. Mauricio Sepúlveda


1
Temario

• Sistemas expertos
• Laboratorio

2
Que es un Sistema experto?

Un programa informático que contiene


conocimiento experto sobre un problema
particular, a menudo en forma de un conjunto de
reglas si-entonces, que es capaz de resolver
problemas a un nivel equivalente o mayor que los
expertos humanos.
Que es un Sistema experto?

Un programa informático que contiene


conocimiento experto sobre un problema
particular, a menudo en forma de un conjunto de
reglas si-entonces, que es capaz de resolver
¡El sistema experto es la
problemas a untecnología
nivel equivalente
de IA aplicadao mayor que los
más popular!
expertos humanos.
Construyendo un Sistema experto

Objetivo de un sistema experto:

Transferir la experiencia de expertos humanos a un


sistema informático y
Luego a otros humanos (no expertos)

Actividades
 Adquisición de conocimientos
 Representación del conocimiento
 Inferencia de conocimiento
 Transferencia de conocimiento al usuario
Comportamientos de los expertos
humanos

 Reconocer y formular el problema.


 Resuelve problemas de forma rápida y adecuada
 Explica la solución
 Aprender de la experiencia
 Reestructurar el conocimiento
 Romper las reglas
 Determinar relevancia
Comportamientos de los expertos
humanos

Los sistemas expertos no se utilizan


 Reconocer necesariamente
y formular para el problema.
reemplazar a
los expertos humanos. Se pueden
 Resuelve problemas deque
usar para hacer forma rápida y
su conocimiento adecuada
 y experiencia estén más
Explica la solución
ampliamente disponibles (por
 Aprender de la experiencia
ejemplo, permitiendo que los no
expertos trabajen mejor).
 Reestructurar el conocimiento
 Romper las reglas
 Determinar relevancia
Existen sistemas expertos que:

 Diagnostican enfermedades humanas


 Proponer recetas médicas
 Hacen pronósticos financieros
 Programan rutas para vehículos de reparto
 Interpreta la estructura molecular
 Asisten a los pedidos de los sistemas de computadores
 Análisis de los datos recolectados durante la
exploración petrolera
 Y mucho más
Categoría de Problemas abordados
• Predicción: Inferir consecuencias probables de situaciones dadas.
• Diagnóstico: Inferir el mal funcionamiento del sistema a partir de
observaciones, un tipo de interpretación.
• Diseño: Configuración de objetos bajo restricciones, como órdenes
médicas.
• Planificación: Desarrollo de planes para alcanzar objetivos (planes de
atención).
• Monitoreo: Comparación de observaciones con planes, marcando
excepciones.
• Depuración: Prescripción de remedios por mal funcionamiento
(tratamiento).
• Reparación: Administrar un remedio prescrito.
• Instrucción: Diagnóstico, depuración y corrección del rendimiento del
alumno.
• Controlar: Interpretar, predecir, reparar y monitorear el
comportamiento del sistema.
Ejemplo práctico

Datos o hechos
En lenguaje natural:
• Los padres de Elena son Carlos y Belén.
• Los padres de Carlos son Juan y María.

Declaración de hechos PROLOG:


• padres('Carlos','Belén','Elena').
• padres('Juan','María','Carlos').
Ejemplo práctico
Conocimiento
En lenguaje natural:
• Los padres de los padres son los abuelos.

Programa en “PROLOG”:
• abuelos(Abuelo,Abuela,Nieto) :-
padres(Abuelo,Abuela,Hijo) ,
padres(Hijo,MujerDelHijo,Nieto).
• abuelos(Abuelo,Abuela,Nieto) :-
padres(Abuelo,Abuela,Hija) ,
padres(EsposoHija,Hija,Nieto).
Ejemplo práctico

Uso de un sistema experto

Consulta (objetivo):
?- abuelos(‘Juan’, ‘María’, Nietos).
donde Nietos es una variable.

Respuesta del intérprete/compilador de PROLOG:


Nietos = ‘Elena’
Ejemplo práctico

Uso de un sistema experto

Consulta (objetivo):Conocimiento inferido


(deducido) a partir de
?- abuelos(‘Juan’, ‘María’, Nietos).
los hechos y las reglas
donde Nietos es una
que sonvariable.
conocidos por el
sistema.
Respuesta del intérprete/compilador de PROLOG:
Nietos = ‘Elena’
Ejemplo práctico

Lenguaje recursivo

Consulta :
?- X = * (3, ( + ( 4, 2) )).

Respuesta del intérprete/compilador de PROLOG:


X = 18
Ejemplo práctico

Sistema de control de una planta industrial

Datos:
Temperatura actual del reactor 1 = 75º

Conocimiento:
Si la temperatura de cualquier reactor supera el umbral
establecido, entonces activar el mecanismo de emergencia.
Ejemplo práctico

Sistema de control de una planta industrial

El conocimiento suele ser más estático que los datos,


pero también puede cambiar (“refinarse”):

Si la temperatura de cualquier reactor


supera el umbral establecido, entonces
activar el mecanismo de emergencia, hacer
sonar la alarma y evacuar al personal.
Tipos de Sistemas Expertos

• BASADOS EN ALGORITMOS: Genera conocimiento a


partir de algoritmo generalmente probabilísticos. como
por ejemplo las redes bayesianas.
• BASADOS EN REGLAS: trabajan mediante la aplicación de
reglas, comparación de resultados y aplicación de las nuevas
reglas basadas en situación modificada
• BASADOS EN CASOS: Es el proceso de solucionar nuevos
problemas basándose en las soluciones de problemas
anteriores.
Diferencias entre los sistemas expertos

ELEMENTOS MODELO PROBABILISTICO MODELO DE REGLAS

BASE DE Abstracto: Estructura Abstracto: Reglas


CONOCIMIENTO probabilística Concreto: Hechos
Concreto: Hechos

MOTOR DE Aplicación del teorema de Bayes Encadenamientos hacia atrás


INFERENCIA (evaluación de probabilidades y/o hacia adelante
condicionales)
SUBSISTEMA DE Basado en probabilidades Basado en reglas activas
EXPLICACION condicionales

ADQUISICION DE Espacio probabilístico Reglas


CONOCIMIENTO Parámetros Factores de certeza

SUBSISTEMA DE Cambio en la estructura del Nuevas reglas


APRENDIZAJE espacio probabilístico Cambio en los factores de
Cambio en los parámetros certeza
Componentes importantes de los
sistemas expertos
User
Interface
Una facilidad para que el usuario
interactúe con el Sistema Experto

Inference
Razonamiento (pensamiento). Engine
Realiza deducciones lógicas
basadas en el conocimiento de la
KB. (mecanismo de inferencia)
Knowledge
Base
Contiene el conocimiento del
dominio.
Todos los componentes del sistema
experto
 Knowledge Base
 Inference Engine
 User Interface
 Working Memory / Blackboard / Workplace
◦ Una base de datos global de hechos utilizados
por el sistema.
 Knowledge Acquisition Facility
◦ Una forma (automática) de adquirir
conocimiento
 Explanation Facility
◦ Explica el razonamiento del sistema al usuario.
Todos los componentes del sistema
experto
 Knowledge Base
 Inference Engine
 User Interface
 Working Memory Para/ ser
Blackboard / Workplace
clasificado como un
◦ Una base de datos
"sistemaglobal deelhechos
experto", sistema utilizados
por el sistema. proceso
debe poder explicar el
de razonamiento.
 Knowledge Acquisition Facility con los
Esa es la diferencia
◦ Una forma (automática) de
sistemas basados adquirir
conocimiento.
en el
conocimiento
 Explanation Facility
◦ Explica el razonamiento del sistema al usuario.
Knowledge Base
 La base de conocimiento contiene el conocimiento
del dominio, necesario para comprender, formular y
resolver problemas.
 Dos elementos básicos de la base de conocimiento
◦ Hechos: El conocimiento fáctico es el conocimiento del
dominio de la tarea que se comparte ampliamente,
generalmente se encuentra en libros, texto o revistas, y
comúnmente acordado por aquellos con conocimientos
en el campo particular.
◦ Heurística: el conocimiento heurístico es el menos
estrictamente definido, se basa más en datos empíricos,
más conocimiento crítico del rendimiento
Knowledge Base
 La base de conocimiento contiene el conocimiento
del dominio,
Hecho: necesario
Amsterdam es para comprender, formular y
la capital de los Países
resolver problemas.
Bajos.
 Dos elementos básicos de la base de conocimiento
No es un hecho: los
New England Patriots
◦ Hechos: El conocimiento
tienen el mejor equipofáctico es el conocimiento del
dominio de de la tarea
la NFL
que se comparte ampliamente,
generalmente se encuentra en libros, texto o revistas, y
comúnmente acordado por aquellos con conocimientos
Heurística: si los New
en el campo particular. England Patriots ganan
el Super Bowl por 3er
◦ Heurística: el conocimiento heurístico es el menos
año consecutivo,
estrictamente definido, se basa más en datos empíricos,
probablemente son los
más conocimiento crítico del rendimiento mejores
Métodos de adquisición de
conocimiento

 Manual (entrevistas)
◦ El ingeniero de conocimiento entrevista a expertos
de dominio
 Semiautomático (impulsado por expertos)
 Automático (asistido por computadora)

Adquisición de
conocimiento más
común: entrevistas
cara a cara
Representación del conocimiento
 La representación del conocimiento se ocupa del modelado
formal del conocimiento experto en un programa de
computadora.
 Esquemas importantes de representación del conocimiento:
◦ Reglas de producción (los sistemas expertos que representan el
conocimiento del dominio mediante reglas de producción se
denominan sistemas expertos basados en reglas)
◦ Frames (Marcos)
◦ Redes semánticas
◦ Formalismos lógicos
 La representación del conocimiento debe apoyar:
◦ Adquirir (nuevo) conocimiento
◦ Recuperar conocimiento
◦ Razonamiento en base al conocimiento
Redes semánticas

✓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
Marcos (frames)
✓Idea: Estructura para atender la representación del conocimiento asociado a situaciones
estereotipadas.
✓ Representación: Es una colección de atributos (ranuras - slots) con valores asociados (y
posibles restricciones entre valores, llamados facetas)
Ejemplos de Formalismos lógicos
 Si algunos perros son mamíferos, luego todos
son mamíferos
( x) (P(x)  M(x)) → x (P(x) → m(x))

 Todo número es par o impar


(x) (N(x) → P(x)  I(x))

 Ningún número es a la vez par e impar


(x) (P(x)  I(x))
Reglas de producción
 Pares de condición-acción:
Una REGLA consiste en una parte SI y una parte ENTONCES (también
llamada condición y acción). si se cumple la parte SI de la regla; en
consecuencia, la parte ENTONCES se puede concluir, o se puede tomar
su acción de resolución de problemas.

 Las reglas representan un modelo de comportamiento


humano real
 Las reglas representan una parte autónoma de experiencia
 Cuando se combinan, estos fragmentos pueden llevar a
nuevas conclusiones.
Ventajas y limitaciones de las reglas

 Ventaja
◦ Fácil de entender (forma natural de conocimiento)
◦ Fácil de derivar inferencias y explicaciones
◦ Fácil de modificar y mantener.
 Limitaciones
◦ El conocimiento complejo requiere muchas reglas.
◦ Limitaciones de búsqueda en sistemas con muchas reglas
◦ Mantener sistemas basados en reglas es difícil debido a las
interdependencias entre las reglas.
Mi propio Sistema Experto en Wargus
Townhall=Ayuntamiento

Reglas en Wargus
Barracks=Cuartel
Blacksmith=Herreria

{ id = 1,
name = "build townhall",
preconditions = {hasTownhall(),hasBarracks()},
actions = {
function() return AiNeed(AiCityCenter()) end,
function() return AiSet(AiWorker(), 1) end,
function() return AiWait(AiCityCenter()) end,

function() return AiSet(AiWorker(), 15) end,


function() return AiNeed(AiBarracks()) end,
}
},
{ id = 2,
name = "build blacksmith",
preconditions = {hasTownhall(),hasBarracks()},
etc.
Pregunta: ¿cómo codificaría el
conocimiento de dominio para
Wargus?

 Estudiar guías de estrategia para Warcraft 2


(manual)
 Ejecutar experimentos de aprendizaje automático
para descubrir nuevas reglas estrictas
(automático).
 Permitir que los expertos (es decir, los jugadores
hardcore) agreguen reglas (semiautomáticas)
Mecanismos de inferencia

 Examine la base de conocimiento para


responder preguntas, resolver problemas o
tomar decisiones dentro del dominio.
 Tipos de mecanismos de inferencia:
◦ Sistemas de producción (basados en reglas)
◦ Probadores de teoremas o lenguaje de programación
lógica (por ejemplo, Prolog)
◦ Sistemas de marco (Frame system) y redes
semánticas
◦ Descripción de Sistemas lógicos
Mecanismo de inferencia en sistemas
basados en reglas

 Inferencia con Reglas:


◦ Verifique cada regla en la base de conocimiento en una
dirección:
 hacia adelante (Encadenamiento hacia adelante)
 o hacia atrás (Encadenamiento hacia atrás)
◦ Activar una regla: cuando se satisfacen todas las hipótesis
de la regla (las "partes IF")
◦ Continúa hasta que no se puedan disparar más reglas, o
hasta que se logre un objetivo
Motor de inferencia:
Encadenamiento hacia adelante

Dada una regla R: si A entonces C


 La regla R se puede disparar, ejecutar o aplicar
hacia adelante cuando se satisfacen las condiciones
especificadas en su antecedente A.
 Cuando la regla se dispara, se procede a la
ejecución de las acciones especificadas en su
consecuente C.

Principio de refracción: La regla ejecutada no volverá


a ser aplicable hasta que no desaparezca alguno de los
hechos que hicieron posible su aplicación y vuelvan a
afirmarse (“asertarse”)
Motor de inferencia:
Encadenamiento hacia adelante

 Parte de unos hechos (datos en la memoria de


trabajo),
 Va cotejando (emparejando) los datos de la
memoria de trabajo con los antecedentes de las
reglas, y
 Las va disparando hasta que se satisface algún
objetivo o hasta que ninguna regla sea aplicable.

 Mas de una regla que pueden aplicarse en cada


momento (“conjunto conflicto”), por lo que puede
ramificarse.
Motor de inferencia:
Encadenamiento hacia adelante
EJEMPLO
R0: IF hay placas (puntos blancos) en la garganta
THEN diagnóstico: posible infección de garganta
R1: IF garganta inflamada
AND sospechamos infección bacteriana
THEN diagnóstico: posible infección de garganta
R2: IF temperatura paciente > 39
THEN paciente tiene fiebre
R3: IF paciente enfermo más de una semana
AND paciente tiene fiebre
THEN sospechamos infección bacteriana 45
Motor de inferencia:
Encadenamiento hacia adelante
Memoria de trabajo Inferencia Resolución
temperatura = 40 R2 R2
enfermo dos semanas
garganta inflamada
temperatura = 40 R3 R3
enfermo dos semanas
garganta inflamada
fiebre
temperatura = 40 R1 R1
enfermo dos semanas
garganta inflamada
fiebre
posible infección bacteriana
temperatura = 40
enfermo dos semanas
garganta inflamada
fiebre
posible infección bacteriana
infección en la garganta

Diagnóstico: Posible infección en la garganta


Motor de inferencia:
Encadenamiento hacia adelante
Memoria de trabajo Inferencia Resolución
temperatura = 40 R2 R2
enfermo dos semanas
garganta inflamada
temperatura = 40 R3 R3
enfermo dos semanas
garganta inflamada Si la regla de
fiebre inferencia volviera a
temperatura = 40 aplicarse R1 R1
enfermo dos semanas entraríamos en un
garganta inflamada loop infinito
fiebre
posible infección bacteriana
temperatura = 40
enfermo dos semanas
garganta inflamada
fiebre
posible infección bacteriana
infección en la garganta

Diagnóstico: Posible infección en la garganta


Motor de inferencia:
Encadenamiento hacia adelante
EJEMPLO
Si, en la exploración inicial, se hubiesen visto
puntos blancos en la garganta, entonces tendríamos:

Memoria de trabajo Inferencia Resolución


temperatura = 40 R0, R2 ???
enfermo dos semanas
garganta inflamada
puntos blancos en la garganta

Dependiendo del orden en que el motor de inferencia seleccione las


reglas, podríamos llegar a un diagnóstico con menos pasos (si se
elige R0 primero) o, incluso, puede que diferente.
Motor de inferencia:
Encadenamiento hacia atrás

Dada una regla R: si A entonces C

 La regla se puede aplicar hacia atrás cuando existe un


objetivo OBJ que concuerda con el consecuente C.
 Cuando se aplica una regla hacia atrás, se procede a
sustituir la demostración de OBJ por la demostración
de los antecedentes A de la regla; esto es, el objetivo
inicial OBJ se reemplaza por todos los objetivos A.
Motor de inferencia:
Encadenamiento hacia atrás

EJEMPLO
Vea los siguientes hechos y reglas
Motor de inferencia:
Encadenamiento hacia atrás
Una posible solución es algún desarrollo verdadero desde el objetivo.Ver los
cuadros azules.
Notar los hechos en marco rojo y los hechos intermedios en línea continua.
Explicación del razonamiento
Explique el proceso de razonamiento: por qué hizo alguna pregunta y cómo llegó a alguna
conclusión
Sistema: ¿Hay gas en el tanque de combustible?
Usuario: si.
Sistema: ¿Es cierto que el motor gira?
Usuario: No.
Sistema ¿Es cierto que las luces se encienden?
Usuario: ¿Por qué?
Sistema: Estoy tratando de demostrar: problema con la batería. Se ha establecido
que no es el caso de que el motor gire. Por lo tanto, si no se encienden las luces, hay
un problema con la batería.
¿Es cierto que las luces se encienden?
Usuario: No.
Sistema: concluyo que hay un problema con la batería.
Usuario: ¿Cómo?
Sistema: Esto se desprende de la Regla 2:
SI NO motor_ vueltas_over Y ...
¿Por qué explicar el proceso de
razonamiento?

 Proporciona al usuario un medio para comprender el


comportamiento del sistema.
 Las personas no siempre aceptan las respuestas de un
experto sin alguna forma de justificación
(¡especialmente si el experto es una máquina!)
 Presentar la cadena de razonamiento construida por el
sistema que es importante para explicar el éxito o el
fracaso del proceso de razonamiento.
Beneficios de sistemas expertos
 Ayuda a preservar el conocimiento.
 Ayuda si la experiencia es escasa, costosa o no
está disponible
 Ayuda si está bajo restricciones de tiempo y
presión
◦ Calidad de decisión mejorada
◦ Mayor producción y productividad
 Ayuda en la formación de nuevos empleados.
◦ Tutor inteligente (conferencia no expertos)
◦ Transferencia de conocimiento a ubicaciones
remotas
Problemas y limitaciones de los
sistemas expertos
 El conocimiento no siempre está disponible
 La experiencia puede ser difícil de extraer de los
humanos
 Los sistemas expertos funcionan bien solo en un
dominio limitado de conocimiento
 Los ingenieros de conocimiento son raros y caros
 Los sistemas expertos son caros de diseñar y
mantener
 Falta de confianza por parte de los usuarios finales
(todavía estamos tratando con una computadora)
 Incapacidad para aprender
Algunas herramientas de sistema
experto
 PROLOG
◦ Un lenguaje de programación lógica que utiliza el
encadenamiento hacia atrás.
 CLIPS
◦ La NASA tomó las capacidades de encadenamiento y la sintaxis
de ART e introdujo el "Sistema de producción integrado de
lenguaje C" (es decir, CLIPS) de dominio público.
 OPS5
◦ Primer lenguaje de IA utilizado para el sistema de producción
(XCON)
 EMYCIN
◦ Es un shell experto para la representación del conocimiento, el
razonamiento y la explicación.
 MOLE
◦ Una herramienta de adquisición de conocimiento para adquirir y
mantener el conocimiento del dominio.
Algunas herramientas de sistema
experto
 PROLOG
◦ Un lenguaje de programación lógica que utiliza el
encadenamiento hacia atrás.
 CLIPS
◦ La NASA tomó las capacidades de encadenamiento y la sintaxis
de ART e introdujo el "Sistema de producción integrado de
lenguaje C" (es decir, CLIPS) de dominio
Clips fue público.
 OPS5 utilizado en el juego
◦ Primer lenguaje de IAdeutilizado para“Ages
Microsoft el sistema de producción
(XCON) of Empires”
 EMYCIN
◦ Es un shell experto para la representación del conocimiento, el
razonamiento y la explicación.
 MOLE
◦ Una herramienta de adquisición de conocimiento para adquirir y
mantener el conocimiento del dominio.
Trabajo de Laboratorio
• Realice el trabajo en grupos de 2 estudiantes.
• Para estas reglas diagnostique la fruta para Diámetro = 3 cms, Ninguno
Forma = redonda, nº semillas = 1, Color = rojo

51
Trabajo de Laboratorio
Solución

52

También podría gustarte