como se había mencionado anteriormente para el desarrollo de sistemas expertos podemos usar un...

Post on 11-Apr-2015

111 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

• Como se había mencionado anteriormente para el desarrollo de sistemas expertos podemos usar un lenguaje de programación.

• Sin embargo este tiene la desventaja de que tiene que construir todos los componentes alrededor de un SE.

• Por este motivo surgió mas el interés de utilizar los Shell para la construcción de un SE.

• Ejemplo de ello es OPS (Official Production System). El cual es un software para asistir la creación de SE

Los Shell cuentan con

• Herramientas basadas en reglas.• Herramientas basadas en Marcos.• Herramientas basadas en Lógica difusa.

• Herramientas de Inducción.– Generan reglas acerca de ejemplos– Un desarrollador introduce un gran numero de

ejemplos, de un dominio de interés.– Muy eficiente para grandes conjuntos de datos– Sirven incluso si el experto no existe.

Tipos de pizza

• Margarita-> tomate, queso mozzarella, albahaca fresca, aceite de oliva

• Cuatro estaciones-> champiñones, aceitunas, jamón serrano y berenjenas.

• Caprichosa-> albahaca, jamón aceitunas• Caprichosa región-> albahaca, jamon

aceitunas, huevo cocido anchoas

• Cuatro quesos-> mozarella, crema, parmesano, gorgonzolla, chedar, albahaca.

• Napolitana-> tomate, anchoas, aceituna, aceite de oliva extra virgen.

• Hawaiana-> jamon, piña (opcional cereza, durazno)

• Pepperoni-> queso, pepperoni, tomate

Herramientas basadas en casos

• Esta tiene que ver cuando ya tenemos un problema similar en la memoria de la maquina.

• Es decir dado un conjunto de entradas similares, veremos si hemos tenido un problema similar para ir a una solución directa.

• Incluso si no existe una solución en memoria buscaremos el caso que mas se le parezca para responder.

Seleccionando una herramienta desde el punto de vista de la base de conocimientos

• Desde una perspectiva practica para seleccionar un Shell es su facilidad para codificar el conocimiento.

• Esta cualidad define como podemos representar el conocimiento (arboles de búsqueda, marcos, reglas).

• Otros factores son relevantes como su razonamiento inexacto o sus capacidades de procedimiento procedural.

Representación del conocimiento

• Representación del conocimiento, como representa el conocimiento.– Basados en reglas– Basado en marcos– Logica difusa– Case based reasoning

Razonamiento Inexacto

Esto tiene que ver con la habilidad para resolver los problemas acerca de conocimiento incierto o con información inexacta.Requerirá mecanismos de razonamiento que puedan procesar este tipo de problemasSorprendentemente la mayoría de los shells no tiene esta capacidad, y dejan esa tarea a los diseñadores.

Capacidad de procesamiento procedural

• En algunas aplicaciones es necesario escribir algo de código procedural.– Métodos – Funciones– La mayoría de los métodos proveen estas

funciones muy limitadas, a excepción de los basados en marcos.

Seleccionando una herramienta desde el punto de vista de la inferencia y los procesos de control

• Encadenamiento. Si tiene la capacidad de encadenamiento hacia atrás, adelante o ambas.

• Agenda. Que permitan definir las actividades que queremos que desempeñe el sistema

• Meta-reglas. Describe como otro tipo de reglas debe de ser usado.

• Razonamiento no-monotonico. Este tipo de razonamiento permite cambiar el modo de razonamiento dado un hechos, eliminar un hecho o todos.

Seleccionando una herramienta desde el punto de vista de la facilidad de dar explicaciones

• El subsistema de explicaciones provee transparencia al razonamiento del sistema experto.

• Importante en sistemas interactivos, donde el usuario quiere saber como se llego a ese resultado.

Ejemplo

• Considere el caso en el que a un paciente le es dada una medicina, pero el desea saber por que.

• Normalmente, hemos visto, que los medico explican las razones del por que se toma ese medicamento.

Seleccionando una herramienta desde el punto de vista de la interfaz del desarrollador.

• Para la creación de la base de conocimiento- Muchos ingenieros del conocimiento requieres, editores para ingresar el conocimiento.

• La capacidad de imprimir el conocimiento y revisarlo.

• Es decir que el shell colabore mas de cerca con la creación del SE.

• Utilidades de debug

• Ayuda en línea y documentación.

Seleccionando una herramienta desde el punto de vista del usuario

• La interfaz grafica que tendrá el usuario.• Como el usuario agregara información al

sistema• Como visualizara la información.• Que privilegios tiene el usuario. Para esto es

recomendable que pueda iniciar sesión con un determinado rol.

Interfaces con otros sistemas.

• Hoy en dia los shell debe de tener la capacidad de poder intercambiar información con otros sistemas o software como son bases de datos, programas en otros lenguajes de programación.

Clasificación de los SEControl Sistema que controla un comportamiento dadas unas

especificacionesDiseño Configurar objetos bajo especificaciones

Diagnostico Inferir, fallas o errores en un sistema

Instrucción Diagnostico, debug y reparación de un comportamiento

Interpretación Inferir una situación a partir de unos datos.

Monitoreo Comparar observaciones respecto a puntos de referencia.

Planeación Seleccionar una secuencia de actividades, a partir de un conjunto de restricciones para lograr una meta.

Prescripción Recomendar una solución a un mal funcionamiento en un sistema

Agenda Asignar recursos y tiempos de una lista de posibilidades.

Selección Identificar la mejor opción de una serie de posibilidades

Simulacion Modelar la interacción entre dos componentes.

Ejemplos

• Control-ASIA- Sistema capaz de razonar con información externa en tiempo real. Usaba datos simbólicos.

• Diseño-Designer se le especificaban las características, dado un conjunto objetivos que se querían alcanzar.

• Diagnostico-MARPLE. Hecho para diagnosticar las fuentes de poder de una nave espacial. Desarrollado por Texas Instruments.

• Instrucción-Instruction un shell para dar tutorías inteligentes para entrenas doctores.

• Interpretación-SSI un shell para la interpretación de señales en sistemas expertos.

• Monitoreo. PREMON. Para monitorear el sistema de enfriamiento de una jet de propulsión.

• Planeación-GHOST, es un sistema de propósito general para el área de la construcción. Combina la programación orientada a objetos

• Agenda. ESRA. Soluciona la distribución de los recursos.

• Simulación. ORBIS. Es un shell diseñado para funcionar en una gran variedad de ambientes de simulación. Recolecta estadísticas.

Sistemas Expertos entornos de trabajo

Expert System Environment

MCESE

• Es una herramienta de software para construir shells de un problema en especifico y crear sistemas expertos.

• Fue hecho para satisfacer las siguientes metas.– Permite al usuario procesar conocimiento

incompleto e impreciso.– Permite al usuario personalizar el shell y procesar

con la incertidumbre de la manera que el prefiere.– Permite al usuario crear aplicaciones en un

lenguaje en particular (C, FranzLISP y Scheme), permitiendo esto que la aplicación tenga mas peso que la base de conocimiento.

• Fue hecho para satisfacer las siguientes metas– Permite al usuarios una conexión natural con

diferentes base del conocimiento en una aplicación

– Permite un modelo de ciclo de vida tipo prototipo– Permite inferencias rápidas.

ROSIE

• Rule Oriented System for Implementing Expertise.

• Es un lenguaje de programación parecido al lenguaje ingles.– Altamente entendible– Expresivo– Herramienta poderosa para la construcción de

sistemas expertos.

IBM Expert System Development Environment (ESDE)

• Hecho para ayudar a los usuarios a desarrollar sistemas basados en conocimiento

• Ayuda al desarrollo y prueba de un sistema experto.

William J. Rasdorf

Hardware

• Hoy en día la implementación hardware cae en cinco categorías:

• Computadoras personales• Dispositivos móviles (tablets, teléfonos celulares)• Estaciones de trabajo (tecnología legacy)• Servidores• Clúster de servidores.• Sistemas distribuidos

• La mayoría de los ofertantes de shells, los desarrollan para computadoras personales.

• Hoy en día las PC y los servidores tiene las mismas características operativas. A diferencia que los servidores tiene capacidades aumentadas en el caso de respaldo de energia, disipación de calor., memoria principal y secundaria.

Implementing Embedded Expert Systemsvia Programmable Hardware

• La implementación de los sistemas expertos en hardware especifico (embebido)

• Las tareas principales para usar sistemas expertos embebidos son:– Diagnosis– Monitoreo– Control de sistemas de produccion

Sistema minimo

• El Hardware tiene que ver con cuestiones de accesibilidad geográfica.

The expert system and its applicationsfor a sustainable environment management

Un sistema experto para el método del calculo del impacto ambiental

Expert system for environmental quality evaluation

top related