Inteligencia artificial unidad 3

Unidad 3 Representación del conocimiento y razonamiento Inteligencia Artificial domingo 11 de mayo de 14 • • • • •

Views 111 Downloads 5 File size 5MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Unidad 3 Representación del conocimiento y razonamiento Inteligencia Artificial

domingo 11 de mayo de 14

• • • •





domingo 11 de mayo de 14

3.1.  Sistemas basados en conocimiento.

• •

3.1.1. Concepto de conocimiento. 3.1.2. Lenguajes utilizados en la representación de conocimiento.

3.2.  Mapas conceptuales. 3.3.  Redes semánticas. 3.4.  Lógica de predicados.

• • • •

3.4.1. Sintaxis. 3.4.2. Semántica. 3.4.3.Validez. 3.4.4. Inferencia.

3.5.  Razonamiento con incertidumbre.

• • • •

3.5.1. Aprendizaje. 3.5.2. Razonamiento probabilístico. 3.5.3. Lógicas multivaluadas. 3.5.4. Lógica difusa.

3.6. Demostración y métodos.

Sistemas Basados en el Conocimiento •

Los Sistemas basados en Conocimiento representan un paso delante de los sistemas de información convencionales al pretender representar funciones cognitivas del ser humano como el aprendizaje y el razonamiento.



Esta clase de aplicaciones descansan en las contribuciones de la Inteligencia Artificial en lo general y en la Ingeniería del Conocimiento en lo particular.



Su orientación es la automatización del análisis de problemas, la búsqueda de soluciones, la toma de decisiones y el empleo de conocimiento especializado en un campo específico de aplicación.

domingo 11 de mayo de 14

Sistemas Basados en el Conocimiento •

Entre los productos más significativos de los Sistemas basados en Conocimiento se encuentran los Sistemas Expertos, los cuales están encargados de representar el conocimiento de los especialistas de una rama en la procura de su aprovechamiento para tareas de diagnóstico, enseñanza y control.



La composición de los Sistemas basados en Conocimiento consta de: Un mecanismo de aprendizaje, una base de conocimientos, un motor de razonamiento, y medios de comunicación hombremáquina.

domingo 11 de mayo de 14

Sistemas Expertos INTELIGENCIA ARTIFICIAL SISTEMAS BASADOS EN EL CONOCIMIENTO

SISTEMAS EXPERTOS

domingo 11 de mayo de 14

Estructura de un SBC

Usuario

Hechos Preguntas

Interface de Usuario Resultados Sistema de Inferencia

Ingenierio del Conocimiento Y experto Interface Experta Conocimiento Base de Conocimientos

Sistema Basado En el Conocimiento

domingo 11 de mayo de 14

Conocimiento: Datos No Estructurados Todos sabemos que la ciencia e ingeniería son dominados por principios. Es decir reglas generales, las cuales si se aplican de manera uniforme resuelven todos los problemas de una misma clase Esto es visible principalmente en las matemáticas, donde una de sus principales tareas es reducir problemas aparentemente complejos, mediante un conjunto de principios mínimos para su solución mas fácil Las computadoras fueron creadas por matemáticos domingo 11 de mayo de 14

Conocimiento: Datos No Estructurados (Cont..) Es por eso que son maquinas que se adaptan muy bien a implementar los principios matemáticos Las nociones algorítmicas base reflejan siempre el concepto de maquinas de calculo Por lo contrario el comportamiento humano se rige por otro tipo de principios (en teoría muy pocos). Dice un viejo proverbio que “no hay regla sin excepción”, de tal forma que las excepciones hacen mal funcionar a los principios en dominios donde se aplican un poco de principios conocidos.

domingo 11 de mayo de 14

Conocimiento: Datos No Estructurados (Cont..) En términos computacionales, es posible distinguir entre un tratamiento de datos estructurados y no estructurados. La Computación clásica se adapta al tratamiento de datos estructurados por ejemplo : Cifras, Códigos y otros contenidos de bases de datos Por lo contrario, el comportamiento humano se basa sobre una inmensidad de datos no estructurados: reglas de normas sociales así como también información con incertidumbre. Este ultimo tipo de datos son difícilmente formalizables bajo un formato estructurado. Ya que de manera general son incompletos, ambiguos y muchas veces inconsistentes.

domingo 11 de mayo de 14

Conocimiento: Datos No Estructurados (Cont..) Para la Inteligencia Artificial a estos datos les llama CONOCIMIENTO

domingo 11 de mayo de 14

Lenguajes utilizados para la Representación del Conocimiento •

Se han diseñado a lo largo de los años diversos formalismos y lenguajes que permiten modelar de un modo formal el conocimiento.



Existen diversos formalismos para la representación del conocimiento, cada uno con sus propios lenguajes y cada uno con sus ventajas e inconvenientes.



En esto, al igual que en la Ingeniería del Software, no existe la técnica ideal que nos permita resolver cualquier problema de la mejor manera.



Dependerá del tipo de problema, del conocimiento que se quiera representar, de la expresividad que se necesite, y del uso que se le quiera dar, el que un formalismo y un lenguaje sea más conveniente que otro.

domingo 11 de mayo de 14

Lenguajes utilizados para la Representación del Conocimiento

• •

Lenguajes Basados en Lógica Formal



La lógica formal aporta un buen número de ventajas para la representación del conocimiento y su manejo, partiendo de una sintaxis y semántica bien definidas que detallan perfectamente la forma de construir sentencias y razonamientos sobre ellas.

domingo 11 de mayo de 14

Muchos de los sistemas de representación del conocimiento de la actualidad se basan en algún tipo de lógica formal.

Lenguajes utilizados para la Representación del Conocimiento

• Ejemplos: • Lógica Proposicional • Lógica de Primer Orden • KIF • Lógicas Descriptivas

domingo 11 de mayo de 14

Lenguajes utilizados para la Representación del Conocimiento

domingo 11 de mayo de 14

• •

Lenguajes Basados en Frames o Marcos



Uno de los posibles lenguajes basados en frames es KM.

Estos lenguajes son similares a los lenguajes de programación orientados a objetos, en el sentido de que modelan el conocimiento utilizando clases (frames), atributos, objetos y relaciones, y utilizan relaciones de generalización y especialización para representar la organización jerárquica de los conceptos.

Lenguajes utilizados para la Representación del Conocimiento

• •

Lenguajes Basados en Reglas



Estos lenguajes son fáciles de entender debido a su sencillez conceptual y a su paralelismo con las estructuras de control más simples utilizadas en programación.

domingo 11 de mayo de 14

Estos lenguajes han sido durante mucho tiempo posiblemente los más usados de todos, principalmente debido a su estrecha relación con los Sistemas Expertos utilizados en Inteligencia Artificial.

Lenguajes utilizados para la Representación del Conocimiento •

Este tipo de lenguajes han recibido también un fuerte impulso a partir de la aparición de la web semántica, ya que que se piensa en ellos como herramientas para definir servicios web, y como herramienta base que permita definir la forma en la que pueden interactuar las aplicaciones de comercio electrónico.



Para ello se ha creado una iniciativa “Rule Markup Initiative” que ha diseñado el lenguaje RuleML, basado en XML y que por lo tanto está pensado desde su concepción para garantizar la interoperabilidad necesaria en el web.

domingo 11 de mayo de 14

Mapa Conceptual • Organización del Conocimiento

domingo 11 de mayo de 14

Redes Semánticas

domingo 11 de mayo de 14

Redes Semánticas

domingo 11 de mayo de 14

Redes Semánticas y podríamos incluir otra frase, “Garfield es un Gato”

Garfield

es un

gato

es un

animal

De donde es posible inferir la respuesta a ¿ Garfield es un animal ? domingo 11 de mayo de 14

Extracción de frases del modelo

domingo 11 de mayo de 14

Construir la red semántica

• Los Hobbits son personas pequeñas • Frodo es un Hobbit • Los Hobbits tienen dedos gordos • Frodo posee un anillo mágico • El anillo fue encontrado en una cueva • Los Hobbits son personas míticas domingo 11 de mayo de 14

Lógica de Predicados • Sintaxis

domingo 11 de mayo de 14

Lógica de Predicados • Semántica • Todos los informaticos son listos, Juan es informatico, luego juan es listo

domingo 11 de mayo de 14

Lógica de Predicados •

Un predicado con variables libres no es verdadero ni falso, hasta que se asignen valores para dichas variables.



Algunos de ellos serán siempre verdaderos independientemente de los valores que se escojan: estos son predicados válidos.



Un predicado que es verdadero o falso dependiendo de los valores elegidos se dice que es satisfacible.



Un predicado que es siempre falso se dice que es no satisfacible.

domingo 11 de mayo de 14



domingo 11 de mayo de 14

Razonamiento con Incertidumbre Los principales formalismos que permiten el tratamiento de información



Factores de Certeza y su generalización en lógica difusa, fáciles de aplicar pero sin bases teóricas solidas.



Los Cálculos probabilisticos mediante las teorias de Dempster y Schafer, muy bien fundamentadas en la teoría de la probabilidad, pero difíciles de aplicar.



Las Redes Bayesianas, las cuales están bien fundamentadas, pero necesitan un modelo de la realidad que no siempre esta presente.

Manipulación del Conocimiento Incierto



Supongamos que hacemos uso de la lógica de predicados para hacer una aplicación de diagnóstico dental. ∀x Sintoma(x,dolor-de-muelas) Enfermedad(x,Caries)

• El problema que la regla es errónea. No todos los pacientes con dolores de muelas tienen caries, algunos tienen dolencias de encias. Un absceso, u otro problema disntinto.

domingo 11 de mayo de 14

Manipulación del Conocimiento Incierto ∀x Sintoma(x,dolor-de-muelas) Enfermedad(x,Caries)⋁ Enfermedad(x,Problema-Encias ) ⋁ Enfermedad(x,Absceso )



Desafortunadamente para hacer la regla cierta, tendríamos que añadir una lista casi ilimitada de causas posibles.

domingo 11 de mayo de 14

Manipulación del Conocimiento Incierto •

Una solución podría ser convertir la regla a formula clausal.



∀x Enfermedad(x,Caries) de-muelas)

• •

Pero esta regla también es errónea porque no todas las caries causan dolencias. Inclusive existe la posibilidad de que el paciente podría tener un dolor de muelas y una caries que no estén relacionados.

domingo 11 de mayo de 14

Sintoma(x,dolor-

Manipulación del Conocimiento Incierto

• La conexión entre dolor de muelas y caries no es exactamente una consecuencia lógica en ninguna dirección.

• Nuestra principal herramienta para tratar

este caso sería la teoría de la probabilidad, que asigna a cada hecho un grado numérico de creencia entre 0 y 1.

domingo 11 de mayo de 14

Manipulación del Conocimiento Incierto • No podríamos saber con seguridad lo que

aqueja a un paciente en particular, pero podríamos creer que hay, digamos un 80 por ciento de posibilidades (esto es, una probabilidad de 0.8) de que el paciente que tiene una caries si tiene un dolor de muelas.

domingo 11 de mayo de 14

• •

Notación Básica con probabilidades Proposiciones Los grados de creencias se aplican siempre a las proposiciones (afirmaciones de que tal o cual es el caso)



Recordemos la lógica proposicional y la lógica de predicados.



Pero en la teoría de la probabilidad típicamente usa un lenguaje que es ligeramente mas expresivo que la lógica proposicional.

domingo 11 de mayo de 14



Notación Básica con probabilidades El elemento básico del lenguaje es la variable aleatoria, que puede pensarse como algo que se refiere a “una” parte del mundo cuyo estatus es desconocido inicialmente.



Por ejemplo: Caries podría referirse a si mi muela del juicio inferior izquierda tiene una caries.

• •

Se recomienda escribir en mayúsculas.

domingo 11 de mayo de 14

Cada variable aleatoria tiene un dominio de posibles valores que puede tomar. Por ejemplo el dominio de la variable Caries podría ser ⟪cierto, falso⟫

• • • • domingo 11 de mayo de 14

Notación Básica con probabilidades Variables Aleatorias Booleanas



Caries = cierto

Variables Aleatorias Discretas. Sea el dominio Tiempo



⟪soleado,lluvioso,nublado,nevado⟫

Variables Aleatorias Continuas. Toman sus valores de los números reales. X=4.02

¿Que son las probabilidades?

domingo 11 de mayo de 14

Los valores numéricos de las probabilidades

domingo 11 de mayo de 14

Consecuencias de los axiomas de probabilidad

domingo 11 de mayo de 14

Variables Aleatorias

domingo 11 de mayo de 14

Variables Aleatorias

domingo 11 de mayo de 14

Distribución de Probabilidad

domingo 11 de mayo de 14

Proposiciones mas Complejas

domingo 11 de mayo de 14

Ejemplo de distribución conjunta

domingo 11 de mayo de 14

La importancia de la distribución conjunta

domingo 11 de mayo de 14

Probabilidad Condicional

domingo 11 de mayo de 14

Distribución Condicional

domingo 11 de mayo de 14

Razonamiento con probabilidades: La regla de Bayes

domingo 11 de mayo de 14

1

Regla de Bayes: Forma General

Regla de Bayes: Forma General • Forma general de la Regla de Bayes

– Si se tiene un conjunto de proposiciones {A1, A2,..., Am} completas y mutuamente excluyente se tiene: P(Ai|B)= P(B|Ai) P(Ai) P(B|A1) P(A1)+... P(B|An) P(Am)

O lo que es lo mismo, si tiene una variable aleatoria A con valores a1, a2,..., am P(ai|B)=

domingo 11 de mayo de 14

P(B|ai) P(ai) P(B|a1) P(a1)+... P(B|an) P(am)

1

La de de Bayes: Ejemplo LaRegla Regla Bayes: Ejemplo • Intentemos resolver un caso real con probabilidades: – Se pretende determinar si un alumno conoce un concepto en base a la resolución de un ejercicio. • En este caso: – Hipótesis (SC): Sabe_Concepto (variable aleatoria con dos valores verdadero y falso) – Evidencia (RE): Resuelve_Ejercicio (variable aleatoria con dos valores positivo y negativo)

• Aplicando la Regla de Bayes: P(sc|re)= P(re|sc) P(sc) /(P(re|sc)

P(sc)

+ P(re|

¬

sc)

P(¬ sc))=0.95

P(¬ sc |re)=0.05

• Al elegir la hipótesis más probable debemos concluir que si resuelve el ejercicio sabe el concepto

domingo 11 de mayo de 14

Calculo

P(sc|re)= [(0.76)*(0.80)]/[(0.76)*(0.80)+(0.18)*(0.20)]= 0.95 0.76 re 0.8

¬re 0.04

sc ¬sc

0.2

0.18 re ¬re

domingo 11 de mayo de 14

0.02

1

La Regla de Bayes: Ejemplo La Regla de Bayes: Ejemplo • Continuamos con el ejemplo: – ¿Y si hay varios ejercicios E1,..., Em? • Supondremos que cada ejercicio RE1, RE2,..., REm es una variable aleatoria que indica si se resuelve con dos valores: verdadero y falso.

– Entonces si queremos calcular la probabilidad de que el alumno sepa el concepto necesitamos calcular: P(SC| E1,RE2,...,REm)=P(RE1,,...,REm|SC)P(SC)/P(RE1,RE2,...,REm) – Si al alumno se le hace un conjunto de 7 ejercicios:

domingo 11 de mayo de 14

do Pérez Nava

• Entonces para almacenar la tabla de probabilidad conjunta P(RE1,RE2,...,REm| SC) se necesitan guardar unos 27 números reales (un DVD por alumno). • ¿De donde sacamos los números ? • ¿Cómo hacemos los cálculos computacionalmente eficientes?

1

Independencia: Solución? Independencia¿Una ¿ Una Solución

?

• Independencia – Decimos que dos proposiciones A1 y A2 son independientes si el conocimiento de una no cambia la probabilidad de la otra • Por ejemplo si – A1=“Es rubio” , A2=“Tiene la piel clara” ,A3=“Lloverá mañana” – A1 y A3 son independientes A1 y A2 no.

– Formalmente A1,A2 son independientes si P(A1|A2)=P(A1) o de forma equivalente: P(A2|A1)=P(A2) o utilizando la regla del producto P(A1∧A2)= P(A1) P(A2)

– Dos variables aleatorias son independientes si el conocimento del valor que toma una no cambia la probabilidad de los valores de la otra: P(A1=c|A2 =d) = P(A1=c) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14

Fernando Pérez Nava

– Entonces P(A1 ∧ A2 ∧... ∧ An)= P(A1) P(A2)... P(An) Para especificar la distribución conjunta de n variables se necesitan o(n) números en lugar de o(2n)

Redes Bayesianas: Introducción

domingo 11 de mayo de 14

• En una RB, la información proporcionada por una o más variables que se observan (evidencia) se propaga por la red y actualiza nuestra creencia acerca de las variables no observadas. A este proceso se le llama inferencia. • Es posible aprender las probabilidades condicionales que describen las relaciones entre las variables a partir de los datos. Incluso es posible aprender la estructura completa de la red a partir de datos completos o con algunos de sus valores desconocidos. • Las RB pueden utilizarse para tomar decisiones óptimas introduciendo posibles acciones y la utilidad de sus resultados Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna

domingo 11 de mayo de 14

Fernando Pérez Nava

Redes bayesianas: Inferencia, Redes Bayesianas: Inferencia, Decisión y Aprendizaje 1 Decisión y Aprendizaje

Redes Bayesianas: Redes Bayesianas: Utilización Utilización

1

• Algunas aplicaciones de RB en empresas – Microsoft • Answer Wizard (Office) • Diagnóstico de problemas de usuario (Aladdin) • Home Health en la red de Microsoft (MSN)

– Intel • Diagnóstico de fallos de procesadores

– HP • Diagnóstico de problemas de impresora

– Nokia • Diagnóstico de redes celulares

– Nasa • Sistema de ayuda a la decisión en misiones espaciales

domingo 11 de mayo de 14

Red Bayesiana: Ejemplo Red Bayesiana:Ejemplo

Diagnóstico de Problemas de Impresión (Heckerman) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna

domingo 11 de mayo de 14

Fernando Pérez Nava

1

1

Red Bayesiana:Ejemplo

Red Bayesiana: Ejemplo

Diagnóstico de Problemas en redes celulares para Nokia (Barco y otros) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna domingo 11 de mayo de 14

Redes Bayesianas: Redes Bayesianas: Algunas Algunas Herramientas Herramientas

1

• Norsys – Programa: Netica – Descarga de: http://www.norsys.com/netica.html

• Microsoft

Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna

domingo 11 de mayo de 14

Fernando Pérez Nava

– MSBNx – Descarga de: http://research.microsoft.com/adapt/MSBNx/

¿1 Que es una red bayesiana ? ¿Qué es un Red Bayesiana (RB)? • Una RB es un grafo dirigido en el que cada nodo contiene información probabilística. • Para determinar una RB hace falta: – Un conjunto de variables aleatorias que forman los nodos de la red. Las variables pueden ser discretas o continuas – Un conjunto de enlaces dirigidos (arcos) que conectan parejas de nodos. Si hay un arco del nodo X al Y se dice que X es el padre de Y. – Cada nodo Xi tiene una distribución de probabilidad condicional: P(Xi|Padres (Xi)) que mide el efecto de los padres de ese nodo. – El grafo no tiene ciclos dirigidos (y por tanto es un grafo dirigido acíclico o DAG) Programa de Doctorado de Física e Informática. Bienio 04-06. Dept. Estadística, I.O. y Computación. Universidad de la Laguna

domingo 11 de mayo de 14

Fernando Pérez Nava

• El significado intuitivo de un arco desde el nodo X al Y es que X tiene una influencia directa en Y