Date post: | 16-Mar-2016 |
Category: |
Documents |
Upload: | edecio-freitez |
View: | 244 times |
Download: | 5 times |
Sistemas Expertos o Basados en Conocimiento
Inteligencia Artificial
Profesor: Ing. Edecio Freitez
ContenidosDefinició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
Definició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.
Evolución1956 Se maneja la idea de que es posible descubrirmétodos generales de resolución de problemas porexpertos 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 conocimientohumano y los procedimientos utilizados para resolveruna tarea específica. (Edward Feigenbaum).
1987 Como conclusión de las posturas anteriores, alexistir requerimientos comunes, se puedenprogramar sistemas expertos vacíos.
Caracterí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
...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
SE 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
Ventajas 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 lo hace accesible a más personas
Ventajas 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
Arquitectura de un SE
Base de conocimiento
Motor de Inferencia
Ingeniero del conocimientoy experto Humano
Subsistema de adquisición delconocimiento
Subsistema de explicaciones
Interfaz Usuario
Usuario
Shell
Base de Hechos
Motor de Inferencia
Puede simular la estrategia de solución de unexperto
Unidad lógica con la que se extraen conclusionesde 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.
...Motor de InferenciaLas funciones del mecanismo de inferencia son:
1. Determinación de las acciones que tendrán lugar, elorden en que lo harán y cómo lo harán entre lasdiferentes partes del Sistema Experto.
2. Determinar cómo y cuándo se procesarán lasreglas, y dado el caso también la elección de quéreglas deberán procesarse.
3. Control del diálogo con el usuario.
En este ambiente es fundamental el tipo debúsqueda implementado
...Motor de InferenciaEstá 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.
Ordenada:Encadenamiento 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 conocimientoincompleto o incierto: (Determinístico, Probabilístico,Aproximado, Difuso).
Base de ConocimientoRepresenta 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.
Intefaz con el UsuarioRequisitos 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 elSE simula al comportamiento de un experto. Debe sernoscómodo y relativamente sencillo en cuanto al manejo.
2. Debe evitarse en lo posible la entrada de datoserrónea.
3. Los resultados deben presentarse en una forma clarapara el usuario.
4. Las preguntas y explicaciones deben sercomprensibles.
Subsistema de AdquisiciónUn buen componente de adquisición ayudará considerablemente lalabor del Ingeniero del Conocimiento. Este puede concentrarseprincipalmente en la estructuración del conocimiento sin tener quededicar tanto tiempo en la actividad de programación.
Requisitos o características:
1. El conocimiento, es decir, las reglas, los hechos, las relaciones entre loshechos, etc., debe poder introducirse de la forma más sencilla posible.
2. Posibilidades de representación clara de todas las informacionescontenidas en una base de conocimientos.
3. Comprobación automática de la sintaxis.
4. Posibilidad constante de acceso al lenguaje de programación.
Subsistema de ExplicacionesLas soluciones descubiertas por los expertos deben poder ser repetiblestanto por el ingeniero del conocimiento en la fase de comprobación asícomo por el usuario. La exactitud de los resultados sólo podrá sercontrolada, naturalmente, por los expertos.
Siempre es deseable que durante el trabajo de desarrollo del sistema seconozca 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 formagrá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.
Base de HechosLa 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.
ShellUn 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.
Condiciones para el desarrollo de un SE.
Un SE es posible de desarrollar si se cumple cadauna 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
Justificació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.
¿Cuando 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.
Algunos ejemplos de SEMYCIN: 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.
Tipos 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.
Sistemas 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.
Sistemas de predicciónInfieren 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).
Sistemas de diagnósticosInfieren 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.
Sistemas 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.
Sistemas 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.
Sistemas 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.
Sistemas 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.
Sistemas de reparaciónSistemas 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.
Sistemas 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.
Sistemas de controlSon 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.