Title: Sistemas Basados en Conocimiento o Sistemas Expertos
1Sistemas Basados en Conocimiento oSistemas
Expertos
- Inteligencia Artificial
- Profesor Gonzalo Villarreal Farah
2Contenidos
- Definición
- Evolución
- Características de los SE
- SE v/s Sistemas Convencionales
- Ventajas de un SE sobre un experto humano
- Ventajas del experto humano sobre el SE
- Arquitectura de un SE
- Condiciones para el desarrollo de un SE
- Justificación para el desarrollo de un SE
- Cuando un SE es la herramienta adecuada?
- Tipos de sistemas expertos
3Definición
- D1 Los Sistemas Expertos son sistemas, que emulan
el comportamiento de un experto humano para
resolver un problema, en un área de conocimiento
específica. - D2 Sistema que resuelve problemas utilizando una
representación simbólica del conocimiento humano. - D3 Es un sistema computarizado capaz de resolver
problemas en el dominio en el cual posee
conocimiento específico.
4Evolución
- 1956 Se maneja la idea de que es posible
descubrir métodos generales de resolución de
problemas por expertos y se pueden implementar en
un computador (Marvin Minsky, Jhon Mac Carthy). - 1965 Se trabaja la idea que en lugar de
generalidad, propone preocuparse de capturar el
conocimiento humano y los procedimientos
utilizados para resolver una tarea específica.
(Edward Feigenbaum). - 1987 Como conclusión de las posturas anteriores,
al existir requerimientos comunes, se pueden
programar sistemas expertos vacíos.
5Características de los SE
- Representan y utilizan conocimiento especializado
de un determinado dominio - Capacidad de razonar
- Muestra el mismo comportamiento del experto
- Representa el conocimiento simbólicamente
- Manipula símbolos
- Maneja problemas de dominio difícil
- Alto rendimiento en un dominio específico
- Examina su propio razonamiento y explica
6...Características de los SE
- Existe una separación entre el conocimiento y la
forma de utilizarlo - Utiliza la naturaleza heurística del conocimiento
antes que el algorítmico
7SE v/s Sistemas Convencionales
- Representación y uso de conocimiento
- Heurístico
- Proceso Inferencial
- Examina su propio razonamiento
- Explica su operación
- Difícil de predecir la cantidad de esfuerzo total
requerido para producir un SE
- Representa y usa datos
- Algorítmico
- Proceso repetitivo
- No examina
- No explica
- Naturaleza y cantidad de conocimiento requerido
puede ser bien estimado
8Ventajas del SE sobre el experto humano
- Experto humano
- Perecible
- Difícil de documentar
- Difícil de transferir
- Impredecible
- Más caro
- Experto Artificial
- Permanente
- Fácil de transferir
- Fácil de documentar
- Consistente
- Menos caro
- Resuelve problemas para los que no existe un
modelo matemático adecuado o solución compleja - Preserva el conocimiento del experto y hacerlo
accesible a más personas
9Ventajas del experto humano sobre el SE
- Experto humano
- Creativo
- Adaptable
- Experiencia sensorial
- Conocimiento de sentido común
- Experto Artificial
- No creativo
- Requiere mantención
- Entrada simbólica
- Conocimiento técnico
- Se basa en un conocimiento heurístico (impreciso,
mal definido, amplio) - Hay pérdidas en la transferencia del Experto
humano al sistema
10Arquitectura de un SE
Base de conocimiento
Shell
Motor de Inferencia
Base de Hechos
Interfaz Usuario
Subsistema de adquisición del conocimiento
Subsistema de explicaciones
Ingeniero del conocimiento y experto Humano
Usuario
11Motor de Inferencia
- Puede simular la estrategia de solución de un
experto - Unidad lógica con la que se extraen conclusiones
de la base de conocimientos - Una conclusión se produce mediante aplicación de
las reglas sobre los hechos presentes - Decide que se debe aplicar, que se debe hacer,
resuelve conflictos nuevos, hace uso de la base
de conocimiento.
12...Motor de Inferencia
- Las funciones del mecanismo de inferencia son
- Determinación de las acciones que tendrán lugar,
el orden en que lo harán y cómo lo harán entre
las diferentes partes del Sistema Experto. - Determinar cómo y cuándo se procesarán las
reglas, y dado el caso también la elección de qué
reglas deberán procesarse. - Control del diálogo con el usuario.
- En este ambiente es fundamental el tipo de
búsqueda implementado
13...Motor de Inferencia
- Está caracterizado por
- El lenguaje en que ha sido escrito.
- La velocidad de trabajo Inferencias/segundo.
- Las estrategias de búsqueda de soluciones
- No Ordenada aleatoria, heurística.
- OrdenadaEncadenamiento hacia adelante
(deductivo), encadenamiento hacia atrás
(inductivo). - La forma en que elige el conocimiento.
- La posibilidad de incorporar metaconocimiento.
- El tipo de lógica que emplea en el razonamiento
Booleana, difusa, etc. - El método que utiliza para la evaluación del
conocimiento incompleto o incierto
(Determinístico, Probabilístico, Aproximado,
Difuso).
14Base de Conocimiento
- Representa parte del universo donde se inserta el
sistema - Contiene todos los hechos, las reglas y los
procedimientos del dominio de aplicación que son
importantes para la solución del problema. - Se espera que la representación sea
- Sencilla Independiente Fácil de modificar
Transparente (justificación de soluciones y
explicación de los procesos) Relacional Potente
(poder expresivo y eficiencia de cálculo) - Importante es su capacidad, expresada sobre la
base del número de reglas que posee - Demostración interesante 50 reglas.
- Prototipo funcional 250 reglas.
- SE operacional medio 500 - 1000 reglas.
- SE operacional especial 4000 reglas.
- Una base de conocimientos debe ser coherente,
rápida, modular, fácil de desarrollar y mantener.
15Intefaz con el Usuario
- Requisitos o Características de la interface
- 1. El aprendizaje del manejo debe ser rápido.
- El usuario no debe dedicar mucho tiempo al
manejo del sistema , debe ser intuitivo , fácil
en su manejo. No se debe olvidar que el SE simula
al comportamiento de un experto. Debe sernos
cómodo y relativamente sencillo en cuanto al
manejo. - 2. Debe evitarse en lo posible la entrada de
datos errónea. - 3. Los resultados deben presentarse en una forma
clara para el usuario. - 4. Las preguntas y explicaciones deben ser
comprensibles.
16Subsistema de Adquisición
- Un buen componente de adquisición ayudará
considerablemente la labor del Ingeniero del
Conocimiento. Este puede concentrarse
principalmente en la estructuración del
conocimiento sin tener que dedicar tanto tiempo
en la actividad de programación. - Requisitos o características
- 1. El conocimiento, es decir, las reglas, los
hechos, las relaciones entre los hechos, etc.,
debe poder introducirse de la forma más sencilla
posible. - 2. Posibilidades de representación clara de todas
las informaciones contenidas en una base de
conocimientos. - 3. Comprobación automática de la sintaxis.
- 4. Posibilidad constante de acceso al lenguaje de
programación.
17Subsistema de Explicaciones
- Las soluciones descubiertas por los expertos
deben poder ser repetibles tanto por el ingeniero
del conocimiento en la fase de comprobación así
como por el usuario. La exactitud de los
resultados sólo podrá ser controlada,
naturalmente, por los expertos. - Siempre es deseable que durante el trabajo de
desarrollo del sistema se conozca el grado de
progreso en el procesamiento del problema. - Difícil lograr un buen componente explicativo
- Muchos representan el progreso de la consulta al
sistema de forma gráfica. - Justifican su función rastreando hacia atrás el
camino de la solución. - Es difícil representar en un texto inteligible
las relaciones encontradas.
18Base de Hechos
- La base de hechos es el conjunto de información
invariable de una a otra resolución. Los hechos
se diferencian de los datos en el sentido que los
hechos forman parte del SBC, mientras que los
datos, al poder variar de una solución a otra,
conviene agruparlos en archivos externos al SBC. - Algunos autores no consideran a la base de hechos
en forma independiente. Los conocimientos y los
hechos pueden aparecer conjuntamente en una sola
base, la de conocimientos.
19Shell
- Un Shell (de forma resumida) es un Sistema
Experto que contiene una base de conocimientos
vacía - No existe ningún Shell para todas las
aplicaciones - Permite una manera racional y rápida para el
desarrollar SE - Separa la base de conocimiento de las
procedimientos que usan el conocimiento. - La base de reglas y hechos deben cumplir cierto
formalismo, para ser entendidos por la shell. - Los resultados son aceptables en el mismo dominio
de aplicación. - Disminuye el trabajo de programación.
20Condiciones para el desarrollo de un SE.
- Un SE es posible de desarrollar si se cumple
cada una de las siguientes condiciones - Tarea no requiere demasiado del sentido común
- Tarea requiere solamente habilidad cognitiva
- Existe un experto
- Experto esta de acuerdo
- Experto debe ser capaz de explicar
- Tarea no es demasiado fácil
- Tarea esta bien definida
21Justificación para el desarrollo de un SE.
- Se justifica un SE, en algunas de las
siguientes situaciones - Descubrimientos rentables.
- Hay perdida de experto.
- Faltan expertos.
- Expertos presentes en varios lugares.
- Trabajo en ambiente hostil.
22Cuando un SE es la herramienta apropiada?
- Un SE es la herramienta adecuada si se cumple
cada una de las siguientes condiciones - Tarea requiere manipulación de símbolos.
- Tarea requiere solución heurística.
- Tarea no es demasiado fácil.
- Tarea tiene valor práctico.
- Tarea es de tamaño manejable.
23Algunos ejemplos de SE
- MYCIN Desarrollado por Feigenbaum, Universidad
de Stanford. - Diagnostico de bacteria y meningitis
- 3500 reglas.
- XCON Desarrollado por Univ. de Carnegie Mellon y
DEC (Digital Equipament Corporation) - Configuración de computadores.
- 6000 reglas
- Hasta 1988 90.000 sistemas vax configurados.
24Tipos de sistemas expertos
- Sistemas de Interpretación.
- Sistemas de predicción.
- Sistemas de diagnóstico.
- Sistemas de diseño.
- Sistemas de planificación
- Sistemas de monitores.
- Sistemas de depuración.
- Sistemas de reparación.
- Sistemas de instrucción.
- Sistemas de control.
25Sistemas de Interpretación
- Infieren descripciones de situaciones a partir
de observaciones provenientes de sensores
ejemplos - Análisis de imágenes.
- Interpretación de señales
- de audio, de radar, radio etc.
- Comprensión de voz.
- Análisis de tipos de grietas.
26Sistemas de predicción
- Infieren las consecuencias probables a partir de
un conjunto de situaciones dadas. Predicción - Demográfica.
- Tráfico.
- Daños a cosechas por algún tipo de
insecto, peste, etc. - Conflictos armados basados en informes de
inteligencia. - Demanda de algún insumo (petróleo, cobre),
dada una situación (geopolítica, económica,
desarrollo).
27Sistemas de diagnósticos
- Infieren mal funcionamiento de sistemas a
partir de observaciones. Relaciona
irregularidades del comportamiento observado con
causas posibles. - Enfermedades a partir
- de un conjunto de síntomas.
- Componentes defectuosos
- de un sistema.
- Fallas de equipos
- en procesos productivos.
28Sistemas de diseño
- Desarrollan configuraciones de objetos basados
en restricciones o exigencias del problema.
Después de construidas, verifican que cumplan las
especificaciones. - Diseño de circuitos integrados.
- Diseño de edificios.
- Creación de moléculas
- orgánicas complejas.
- Configuración de equipos
- computacionales.
29Sistemas de planificación
- Son sistemas destinados a diseñar planes de
acción. - Programación de rutas.
- Programación de robots.
- Programación de
- comunicaciones.
- Programación de
- experimentos.
- Creación de planes de vuelo.
30Sistemas de monitoreo
- Comparan el comportamiento de un sistema
(observaciones) con comportamiento esperado. A
partir de las diferencias sugieren acciones
correctivas. - Monitorear lecturas de instrumentos para detectar
- condiciones de fallas de
- equipos industriales.
- Detectar condiciones
- favorables a accidentes.
- Monitoreo de tráfico aéreo.
31Sistemas de depuración
- Sistemas destinados a encontrar los remedios
adecuados para el mal funcionamiento. - Selección del tipo de mantención necesaria para
corregir fallas en cables telefónicos. - Elegir el procedimiento de mantención para
reparar equipamiento (locomotoras, buses,
maquinaria industrial,etc.) - Selección de tratamientos de enfermedades vía
quimioterapia. - Depuración de programas computacionales.
32Sistemas de reparación
- Sistemas destinados a desarrollar y ejecutar
planes para administrar un remedio para algún
problema ya diagnosticado. - Reparación de automóviles.
- Reparación de equipos electrónicos.
- Calibración de instrumentos.
33Sistemas de instrucción
- Sistemas desarrollados para instruir en el
aprendizaje independiente. - Capacitación de personas sobre la operación de
equipamiento. - Desarrollo de manuales inteligentes.
- Manuales de diagnósticos de fallas.
- Instrucción sobre algún contenido específico.
34Sistemas de control
- Son sistemas destinados a gobernar mediante
un control el comportamiento general de un
sistema. Interpretan repetitivamente la situación
actual, predecir el futuro, diagnosticar las
causas de los problemas, formular un plan de
remedio y monitorear su ejecución con tal de
asegurar el éxito del control. Interactúan con
modelos determinísticos provenientes de la teoría
de control. - Control de procesos productivos.
- Control de operaciones.