ingenieria de sistemas umss · web viewanaliza la estructura del razonamiento realizado por el...

15
UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGIA Sistemas Expertos Semestre 2/2019 Docente: Lic. Carmen Rosa Garcia Perez Estudiante: Paco Cayhuara Jennifer Mariel García Choque Andy Marcelo Grupo: Inteligencia Artificial II Fecha: 15/10/2019 Horario: Martes 12:45-2:15

Upload: others

Post on 14-Dec-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA

Sistemas Expertos

Semestre 2/2019

Docente: Lic. Carmen Rosa Garcia Perez

Estudiante: Paco Cayhuara Jennifer MarielGarcía Choque Andy Marcelo

Grupo: Inteligencia Artificial II

Fecha: 15/10/2019

Horario: Martes 12:45-2:15

Cochabamba – Bolivia

Page 2: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

QUE ES UN SISTEMA EXPERTO?

Es un sistema informático que emula el razonamiento humano actuando tal y como lo haría un experto en un área de conocimiento.

Los sistemas expertos son una aplicacion de la intelegencia artificial que pretende simular el razonamiento humano .

Estructura basica de un Sistema experto:

La BC esta compuesta por hechos y reglas del calculo de predicados o reglas de producción acerca del ámbito de aplicación.

El Motor de Inferencia se compone de todos los procesos que manipulan la BC e información del usuario para deducir la información pedida por el usuario. Los mecanismos de inferencia pueden ser encadenamiento hacia atrás o hacia delante.

La Interfaz con el usuario podría basarse en algún tipo de sistema de procesamiento del lenguaje natural, que permita al usuario interactuar con el sistema. También se tiene interfaz gráfica con menús, etc.

El subsistema de explicación analiza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO ha encontrado la respuesta.

Page 3: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

El subsistema de adquisición de conocimiento es el medio por el cual nuestro sistema experto recibe todo el conocimiento del experto en el área se encarga de estructurar el conocimiento que se le esta dando

Ventajas de los sistemas expertos:

Permanencia: A diferencia de un experto humano un SE (sistema experto) no envejece, y por tanto no sufre pérdida de facultades con el paso del tiempo.

Replicación: Una vez programado un SE lo podemos replicar infinidad de veces. Rapidez: Un SE puede obtener información de una base de datos y realizar cálculos

numéricos mucho más rápido que cualquier ser humano. Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dañinos para el ser

humano.Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano sí (cansancio, presión, etc.).

Limitaciones de los sistemas expertos:

Sentido común: Para un Sistema Experto no hay nada obvio. Por ejemplo, un sistema experto sobre medicina podría admitir que un hombre lleva 40 meses embarazado, a no ser que se especifique que esto no es posible ya que un hombre no puede gestar hijos.

Lenguaje natural: Con un experto humano podemos mantener una conversación informal mientras que con un SE no podemos.

Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de sus errores y de errores ajenos, que un SE haga esto es muy complicado.

Capacidad sensorial: Un SE carece de sentidos. Conocimiento no estructurado: Un SE no es capaz de manejar conocimiento poco

estructurado. Un sistema experto no posee sentimientos ni puede comprender ciertas emociones y

conceptos humanos como el matrimonio, la moralidad, el amor o planear el futuro.

TIPOS DE SISTEMAS EXPERTOS: Existen principalmente 3 tipos de sistemas expertos nosotros nos enfocaremos en los Basados en reglas previamente establecidas

Basados en reglas previamente establecidas o RBR (Rule Based Reasoning) Basados en casos o CBR (Case Based Reasoning). Basados en redes bayesianas.

Page 4: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

SISTEMAS BASADOS EN REGLAS:

Que es una regla?

. Una regla es una forma de conocimiento procedural, que asocia información a una acción.

.Esta acción puede ser nueva información o algún procedimiento a ejecutar. Una regla describe cómo resolver un problema. Tiene la siguiente forma de representación:

IF a THEN h

IF el color del balon es rojo

THEN me gusta el balón

Tenemos distintos tipos de reglas :

Relacion: si ocurre esto entonces pasa esto

IF la batería esta dañada THEN el auto no arranca

Recomendación: si ocurre esto entonces debería hacer esto

IF el auto no arranca

THEN alquilar un auto

Estrategia: si ocurre esto entonces debemos hacer esto

IF el auto no arrancaTHEN primero verificar el sistema de combustible, después revisar el sistema eléctrico

Page 5: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

SISTEMAS EXPERTOS BASADOS EN REGLAS (DIAGRMA SIMPLE)

Nuestra base de conocimientos esta dividida en hecho y reglas su funcionamiento es sencillo de entender , a travez de la maquina de inferencias o motor de inferencias manipulara la información de nuestra base de conocimientos para asi deducir la información requerida por el usuario

FUNCIONAMIENTO BASICO DE NUESTRA BC Y MOTOR DE INFERENCIA:

Tenemos nuestra regla de inferencia denominada Modus Ponens

Page 6: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

A

A -> B

------------

B

. Donde A es una combinación de condiciones o premisas muchas veces relacionadas por operadores lógicos (AND OR)

. Donde B es una conjunción de conclusiones.

.

. EJEMPLOS: Utilizaremos algunas reglas de inferencia para entender mejor el funcionamiento simple de nuestra base de conocimiento y nuestro motor de inferencia algunas de las reglas de inferencia que utilizaremos son:

.

. PRODUCTO CONDICIONAL

. SILOGISMO

. DILEMA DISYUNTIVO SIMPLE

. TOLLENDO PONENS

. DILEMA DISYUNTIVO COMPLEJO

. EJEMPLOS DE SISTEMAS EXPERTOS BASADOS EN REGLAS

MYCIN : Mycin es un sistema experto desarrollado a principios de los años 70 . Fue escrito en Lisp, e inicialmente estaba inspirado en Dendral, otro sistema experto que tuvo cierto éxito a finales de los años 60. Su principal función consistía en el diagnóstico de enfermedades infecciosas de la sangre; además, Mycin era capaz de “razonar” el proceso seguido para llegar a estos diagnósticos, y de recetar medicaciones personalizadas a cada paciente (según su estatura, peso, etc.).

Su funcionamiento era sencillo se manejaba con un motor de inferencia que manipulba una base de conocimiento de 500 reglas El programa capturaba las entradas a partir de una serie de preguntas (como por ejemplo, tiene el paciente molestias en el pecho? O a sido operado recientemente? que usualmente respondía el medico del paciente.

Las investigaciones realizadas por la escuela medica de Stanford revelaron que Mycin tuvo aciertos de un 65% mejorando las estadísticas de los médicos no especializados en infecciones bacterianas , los médicos de esta área tenían un 80% de acierto.

Page 7: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

Mycin fue decayendo debido a algunos problemas legales que fueron surgiendo como en los casos en que el sistema se equivocaba, entonces quien asumiría la responsabilidad? El programador o el medico.

DENDRAL:

(Interpreta la estructura molecular) es el nombre de un sistema experto desarrollado en la Universidad de Stanford, a mediados de la década de 1960. Su desarrollo duró diez años

Fue el primer sistema experto en ser utilizado para propósitos reales, al margen de la investigación computacional, y durante aproximadamente 10 años, el sistema tuvo cierto éxito entre químicos y biólogos, ya que facilitaba enormemente la inferencia de estructuras moleculares, dominio en el que Dendral estaba especializado.

Sistemas expertos basados en casos

Este tipo de sistemas basa su funcionamiento en experiencias anteriormente vividas, ya sea por el propio sistema o bien por la persona experta, y a partir de este conocimiento de vivencias realizar una asociación con estas experiencias para extraer una solución de esto. Como podemos ver este es el que más se asemeja al modo de pensar que tenemos los seres humanos.

Este sistema de razonamiento se basa en una unidad mínima llamada caso. Un caso se puede definir como una representación de una experiencia anterior, una vivencia. Podría ser visto como una caja en la que encontramos todas aquellas cosas que pasaron en la experiencia. Una buena analogía seria utilizando reglas, podríamos describir este caso como un conjunto de reglas relacionadas con una experiencia. Debe quedar claro que las reglas por sí solas no tienen significado, ya que es en el conjunto de la experiencia donde encontramos la mínima expresión. Si considerásemos reglas sueltas de esta experiencia nos encontraríamos con que estaríamos delante de un sistema experto.

Es importante hacer notar sobre todo lo de contextualizado ya que, como hemos dicho antes este conocimiento representa un conjunto de hechos que han transcurrido en la experiencia. Una parte de estos hechos corresponden al contexto en el que transcurre la experiencia. Este contexto en el sistema experto también tiene mucha importancia ya que en el proceso de inferencia puede ser utilizado; esto se explicará más adelante.

lo que implica es que el caso está basado en un conocimiento, es decir no es algo creado artificialmente sobre hechos sino que está basado en un conocimiento existente previamente y por lo tanto que podemos considerar cierto desde el inicio. Además, el hecho de que hablemos de experiencia ya nos comienza a hacer notar que este sistema estará muy ligado a la adquisición de conocimiento externo, ya que al estar basado en las experiencias será necesario que el sistema vaya adquiriendo nuevas experiencias para mejorar su razonamiento.

Las experiencias que tenemos en el sistema no se refieren a cualquier experiencia sino sólo a aquellas que nos aportan alguna información sobre el tema tratado por el sistema experto, además de no repetir experiencias ya existentes con el mismo contexto, ya que no aportan nueva información al sistema. El uso de los casos persiguen directamente la consecución de los objetivos del razonamiento, que como en cualquier sistema experto es la consecución de una conclusión que dependiendo del tipo de problema puede ser muy variado.

A través de este análisis del significado del tema que vamos a tratar, podemos comenzar a introducirnos de lleno en analizar las diversas soluciones que existen para implementar este tipo de

Page 8: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

sistema experto. Aun así antes introduciremos en la historia del razonamiento basado en casos dentro de la inteligencia artificial, así como ha ido evolucionando a lo largo de los años hasta la actualidad.

Cuando hablamos de razonamiento basado en casos, estamos generalizando mediante este termino todos aquellos métodos que se utilizan para crear un sistema experto a partir de la filosofía del uso de casos. Aunque en este trabajo estamos utilizando el término de razonamiento basado en casos para referirnos a este problema, existen multitud de otros términos que son usados para definir, si no bien el mismo problema exactamente, problemas que podemos considerar equivalente y por lo tanto son términos equivalentes a utilizar el de razonamiento basado en casos. Todo esto ser así es conveniente analizar cuales son esas pequeñas diferencias en cada una de esas denominaciones. A continuación detallaremos las diferentes denominaciones para definir este problema, con las particularidades que presenta cada una.

· Razonamiento basado en ejemplos

Este término se utiliza para hacer hincapié en que los casos que tenemos almacenados en la base de conocimiento son realmente ejemplos de que lo ha sucedido en diferentes contextos al realizar un conjunto de acciones. El problema aquí es determinar al insertar un nuevo ejemplo si este resulta ser la extensión de un ejemplo ya existente en el sistema, es decir, añade información a un ejemplo ya existente en el sistema, o si por el contrario se corresponde con un nuevo ejemplo, el cual hay que añadir a la base de conocimiento, ya que no se corresponde con un conocimiento anterior. Así pues, podemos ver que este problema básicamente es un problema de clasificación en el que tenemos que situar correctamente el nuevo ejemplo.

· Razonamiento basado en instancias

Este termino hace referencia a una especialización del anterior. La mayor diferencia que existe es que hace especial hincapié en el análisis sintáctico del razonamiento. El problema que existe principalmente en este tipo de razonamiento es la dificultad de guiar el proceso de asociación del caso del que previamente partimos con aquel que está en la base de conocimiento. Así pues este tipo de razonamiento lo que intenta es compensar la falta de guía para llegar al caso que es conocido y se encuentra en la base de conocimiento del sistema. Para ello se utilizan un gran número de instancias para dirigir el razonamiento. La representación de estas instancias es normalmente en forma de vectores.

· Razonamiento basado en memoria

Este termino enfatiza en ver la colección de casos como una gran memoria, viendo entonces el razonamiento como un proceso de acceso y búsqueda en esta memoria. La organización de la memoria y su acceso seria la parte central del razonamiento basado en casos. Este tipo de técnicas se ven beneficiadas por las técnicas de procesamiento paralelo, cosa que los diferencia del resto de soluciones. Así pues el acceso y el guardado se basan básicamente en criterios puramente sintácticos, es decir en como está escrito algo y no el significado del mismo.

· Razonamiento basado en casos

Aunque se utiliza el término de razonamiento basado en casos como un término genérico en todo el documento, típicamente este método tiene una serie de características que lo distinguen del resto y que vale la pena comentar. Comenzaremos comentando que cuando hablamos de caso damos por hecho que este poseerá un cierto grado de riqueza en la información que contiene, es decir la descripción de la experiencia esta perfectamente descrita y se intenta que no falte información en su descripción, además es necesario que toda esta información que contiene posea un cierto grado de organización que permita su rápido entendimiento y sobre todo llegar a la información necesaria

Page 9: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

rápidamente minimizando acceder a información no necesaria. Por otro lado, nos encontramos con otra particularidad y es la capacidad que existe para modificar o adaptar este caso a una solución cuando se está solucionando un problema en un contexto diferente. Además como se había comentado cuando analizábamos la descripción del significado, es muy importante el contexto del conocimiento, concretamente la riqueza con el que estará descrito, su representación y el rol que tenga con el conocimiento principal; resulta evidente que a un mayor conocimiento del contexto las conclusiones que se podrán obtener del razonamiento serán mejores. Como contrapartida de esto, el exceso de información puede provocar que sea demasiado lento en el proceso de razonamiento. Es por eso que es necesario buscar un término medio entre estos dos términos.

· Razonamiento basado en analogías

Este termino muchas veces es usado como sinónimo del razonamiento basado en casos debido a que tiene las mismas características que el anterior. Aun así tiene una serie de particularidades que lo hacen diferente. Destacar en primer lugar que a diferencia del anterior este permite la caracterización de métodos para solucionar problemas basados en casos que tenemos en la base de conocimiento pero que tienen un dominio diferente. Para entenderlo mejor podemos utilizar el ejemplo del niño y la olla y podemos ver que este caso podría ser extrapolado a otro contexto como puede ser que el niño estuviese en el campo y su madre le advirtiese de algo. Podemos ver que los contextos son totalmente diferentes, pero aun así existen las suficientes conexiones, en este caso la madre, que permite formalizar un razonamiento del nuevo caso sobre el caso preexistente. Así pues el estudio sobre este tipo de razonamiento se encuentra en el estudio de los casos existentes en la base de conocimiento y su reutilización, proceso que recibe el nombre del problema de mapeado, que básicamente consiste en encontrar la manera de transferir o mapear la solución que presenta alguna analogía (llamada fuente) con el problema que estamos tratando (llamado objetivo).

Como podemos ver, de una manera u otra todos los términos todo y que tienen sus particularidades se intentan resolver el problema de la creación de un sistema experto a partir de la misma caracterización del problema. A pesar de existir esta diversidad de términos, en este trabajo seguiremos utilizando el de “razonamiento basado en casos” pero en un ámbito genérico para englobar todas estas particularidades.

Como Funcionan

Como la mayoría de las cosas de la inteligencia artificial, existen multitud de técnicas para implementar una misma cosa, en este caso las 2 principales son:

Un modelo de proceso en forma de ciclo Un método estructurado en tareas

A continuación procederemos a describir los dos modelos de una forma más rigurosa y en profundidad, no sin antes añadir que estos dos modelos resultan ser complementarios entre sí y representan dos vistas diferentes del razonamiento basado en casos, es decir dos formas diferentes de ver este mismo problema.

Razonamiento basado en casos basado en ciclos

La primera de ellas se basa en los modelos dinámicos en lo que se hace es dividir el problema inicial en subproblemas, comprobando las dependencias que existen entre ellos y los productos que resultan de su unión. Es decir, estos problemas son resueltos secuencialmente en forma de ciclo hasta llegar al final del mismo ciclo.

Por otro lado tenemos el segundo método que se basa en una descomposición en diferentes tarea, en el que dar solución supone resolver esos métodos que serán la base para resolver aquellos métodos

Page 10: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

de los cuales son dependientes. Así pues en este caso los subproblemas pueden ser resueltos en cualquier orden mientras los métodos dependientes de este problema hayan sido resueltos con anterioridad.

En el proceso de dividir el razonamiento basado en casos en diferentes subprocesos nos encontramos el ciclo que lo conforman puede ser dividido en 4 procesos claramente diferenciados:

1. RECORDAR los casos similares al que analizamos.2. REUTILIZAR la información y el conocimiento que tenemos en este caso para resolver el

problema.3. REVISAR la solución propuesta.4. RETENER las partes de esta experiencia que nos puedan ser útiles para la resolución de

futuros problemas.

Cuando nos encontramos delante de un nuevo problema para el cual tenemos que dar una solución lo que primer que tenemos que hacer es dado ese determinado problema recordar los casos relevantes que pueden solucionarlo. Estos casos relevantes tendrá que ser una selección de aquellos casos de los que disponemos en la base de conocimiento del sistema experto.

Razonamiento basado en casos basado en tareas jerárquicas

El proceso que hemos visto en forma de ciclo tiene por objetivo enfatizar el carácter secuencial que tienen sus pasos. Para una mayor descomposición y descripción de los 4 pasos que anteriormente hemos mencionado, utilizaremos una visión del problema en forma de tareas donde cada paso o subproblema, es visto como un objetivo que tiene que alcanzar el razonamiento basado en casos.

Mientras que en el proceso anterior teníamos una vista glotal, externa, de lo que estaba sucediendo en cada uno de los pasos que dábamos en el proceso de razonamiento, tener una vista orientada a las diferentes tareas que tenemos nos permite describir con un nivel de detalle superior lo que está sucediendo y los mecanismos utilizados desde la perspectiva del razonamiento basado en casos. En el nivel de la base de conocimientos, el sistema experto es visto como un agente que tiene una metas que conseguir, que es dar una solución, y los medios de los que dispone para llegar a dicha solución.

Así pues la descripción puede ser hecha desde tres perspectivas diferentes:

Así pues, como hemos dicho antes, las tareas persiguen el objetivo del sistema, y estas tareas están elaboradas a partir de la aplicación de uno de los métodos existentes en el sistema. Pero hay que tener en cuenta que para que un método pueda alcanzar la resolución de una tarea es necesario que todas aquellas tareas de las que dependa hayan sido realizadas. Así pues, podemos ver como el marco de trabajo en el que nos movemos esta fuertemente influenciado por esta base de conocimiento.

Problemas

Una vez hemos analizado en profundidad todo el proceso de cómo llevar a cabo el razonamiento basado en casos seria importante antes de continuar analizar todos aquellos problemas que existen para llevar a cabo una correcta implementación y la forma más eficaz para solucionarlos,estos problemas se encontraran principalmente en dos partes claramente diferenciadas, por un lado tendremos todos aquellos relacionados con el mantenimiento de la base de conocimiento, y por otro lado tendremos aquellos relacionados con la línea de razonamiento a seguir. En el fondo son dos problemas bastamente relacionados ya se necesitan el uno al otro para alcanzar la solución final.

Page 11: Ingenieria de Sistemas UMSS · Web viewanaliza la estructura del razonamiento realizado por el sistema y da una explicación al usuario, del PORQUE esta haciendo una pregunta y COMO

.Sistemas expertos basados en redes Bayesianas

• Las redes bayesianas son herramientas estadísticas que representan un conjunto de incertidumbres asociadas sobre la base de las relaciones de independencia condicional que se establecen entre ellas.

• diríamos que una red bayesiana es un conjunto de variables, una estructura gráfica conectando estas variables y un conjunto de distribuciones de probabilidad condicional.

• Codifica incertidumbre asociada a cada variable por medio de probabilidades y, gracias al teorema de Bayes, esta incertidumbre es susceptible de ser modificada con base en observaciones (o evidencias) sobre el modelo.

• Una red bayesiana tiene dos dimensiones: una cualitativa y otra cuantitativa

Cualitativas

• Una red bayesiana es un tipo concreto de grafo que se denomina grafo dirigido acíclico (GDA)

• Aristas Orientadas

• No puede regresar a un mismo punto

Cuantitativas

• El concepto de probabilidad como un grado de creencia subjetiva relativa a la ocurrencia de un evento

• El conjunto de funciones de probabilidad condicionada que definen a cada variable en el modelo

• El teorema de Bayes como herramienta básica para actualizar probabilidades con base en experiencia.