Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
primer orden
Agenda
Lectura:
Captulo 7
Arbol Familiar
Practica
Hechos (Facts).
Enunciados. Infieren nuevo conocimiento
Significado.
etc.
Base de Conocimientos.
Un conjunto de enunciados que representan hechos acerca del ambiente expresado
en algn lenguaje de representacin de conocimientos.
Motor de inferencia.
Infiere nuevos enunciados a partir de enunciados en la base de conocimientos.
LOGICA
Ejemplo
Nombre
Nombre del
enunciado
PQ
and
Conjuncin
PQ
or
Disyuncin
not
Negacin
PQ
implies
Implicacin
PQ
equivalent
Bicondicional
Tipos de lgica
Fuzzy logic maneja enunciados que son vagos como este hombre esta
gordo, el cielo esta nublado.
Ontologa:
Que clase de cosas existen en el mundo?
Que necesitamos describir y razonar al respecto?
Razonamiento
Representacin
------------------Sistema formal
de smbolos.
Sintaxis
--------Que se
dice?
Semntica
------------Que
significa?
Inferencia
--------------------Bsqueda de
patrones formal
Esquema
------------Reglas de
inferencia
Ejecucin
------------Estrategia
de
bsqueda
Knowledge-Based Agents
KB = knowledge base
Un conjunto de enunciados o hechos
ejemplo, un conjunto de enunciados en un lenguaje lgico.
Inferencia
Crear nuevas enunciados a partir de enunciados existentes.
ejemplo, usar un conjunto de enunciados para inferir nuevos
enunciados.
Abduccin
Razonamiento de los hechos que dan la mejor explicacin
Diagnstico medico, hardware debugging
Logica en General
Ontological Commitment:
Lo que existe en el ambiente es VERDAD
Lgica Proposicional : hechos (facts).
Lgica de primer orden : objetos con relaciones entre ellos.
Epistemological Commitment:
Lo que el agente cree acerca de los hechos (facts) CREENCIA
Simbolos de predicados
Son relaciones
ejemplo, hermano(ricardo, juan), mayor_que(3,2)...
Simbolos de Funciones
Son funciones
ejemplo, sqrt(3), pierna_izquierda_de(juan),...
x, y, a, b,...
Conectores
, , , ,
Igualdad
Cuantificadores
Relaciones
algunas relaciones representan propiedades: se caracterizan
por alguna caracterstica de algn objeto: redonda(pelota),
primo(7).
relaciones n-arias hechos que intervienen acerca de dos o ms
objetos: casados(juan,maria), mayor_que(3,2).
Algunas relaciones son funciones: su valor representa otro
objeto: suma(2,3), padre(daniel).
Termino
Termino = expresin logica que se refiere a un objeto.
Existen 2 tipos de trminos:
smbolos constantes: mesa, computadora
smbolos de funcin: pierna_izquierda_de(pete), Sqrt(3),
suma(2,3) etc
Ejemplos:
mayor_que(2,3) es falso.
hermano(mary,pete) is falso.
casado(padre(richard), mother(john)) puede ser falso o verdadero.
hermano_de(pete,hermano(pete)) es verdadero.
relacin binaria
funcin
Oraciones complejas
funcin
objetos
conectores
Ms ejemplos
rey(richard) king(john)
Variables
person(John) es verdadero o falso porque solo asignamos un
argumento. John
Podemos ser mucho ms flexibles si permitimos variables, las
cules, pueden tomar valores en un dominio. ejemplo., todas
las personas x, todos los enteros i, etc.
E.g., podemos establecer reglas como persona(x) =>
tiene_cabeza(x)
o entero(i) => entro(suma(i,1)
Cuantificacin universal
Importante
x king(x) person(x) is not correct!
Esto implica que todos los objetos son reyes y personas.
x king(x) => person(x) es la manera correcta de representarlo
Cuantificacin Existencial
ejemplo:
x king(X)
x vive(john, castillo(x))
i
entero(i) mayor_que(i,0)
Ms ejemplos
Combinando Cuantificadores
x y ama(x,y)
Para cualquiera (todas las x) existe alguin que ama (y)
y x ama(x,y)
- existe alguin (y) que ama a todos
x le_gusta(x, materia)
En efecto :
- es una conjuncin sobre un universo de objetos.
- es una disjuncin sobre un universo de objetos
Entonces las reglas de DeMorgans pueden ser aplicadas.
P Q (P Q )
x P x (P )
P Q (P Q )
x P x (P )
(P Q ) P Q
x P x (P )
(P Q ) P Q
x P x (P )
DFS? A*?
Environment
(P1,2 P2,1)
(P1,1 P2,2 P3,1)
Si Wumpus estuviera
aqu, olor debera estar
aqu. Por lo tanto esta
aqui.
Si, no hay brisa
aqui, el hoyo debe estar
ah, y debe estar OK
aqui
LOGICA
Necesitamos el uso de razonamiento lgico para encontrar el oro.
Logica son lenguajes formales para representar informacin de como
podemos establecer o probar una conclusin
Sintaxis define loe enunciados en dicho lenguaje formal
Semntica define el significado o interpretacin de los enunciados;
conecta los smbolos con eventos en el mundo real,
ejemplo, define la verdad de un enunciado en el mundo.
ejemplo., el lenguaje de la aritmtica
x+2 y es un enunciado; x2+y > {} no es enunciado;
semntica
sintaxis
Perspectiva Esquemtica
Entailment (Implicacin)
Entailment significa una cosa es seguida de otro:
KB
La Base de conocimientos KB implica (entails) el enunciado si
y solo si es verdadero en todos los mundos donde KB es
verdadero
ejemplos,
x+y = 4 entails 4 = x+y
Maria es la hermana de Susana y Amy es la hija de Susana
implica (entails) Maria es la tia de Amy.
Modelos
Los expertos en logica tpicamente piensa en trminos de
modelos, los cuales son mundos formalmente estructurados en
donde se puede evaluar lgicamente, es decir evaluar si es
verdadero o no.
Decimos que m es un modelo del enunciado , si es verdad en
m
M() es un conjunto de todos los modelos
de
Then KB iff M(KB) M()
x+y = 4 entails 4 = x+y
Modelos en Wumpus
Modelos Wumpus
Modelos Wumpus
Modelo Wumpus
2 = "[2,2] es seguro", KB 2
Percept([Stench,Breeze,Glitter,None,None],5)
Acciones:
Equivalencias Lgicas
Una base de conocimientos (KB): una lista de enunciados que son conocidos
por el agente.
Bases de conocimientos
Base de conocimientos:
conjunto de enunciados en un lenguage formal.
Estrategia Declarativa para construir un agente:
Tell que necesita saber.
Ask que necesita hacer las respuestas deben venir de la
KB.
DFS? A*?
Environment
Entailment (Implicacin)
Entailment significa una cosa es seguida de otra:
KB
La Base de conocimientos KB implica (entails) el enunciado si
y solo si es verdadero en todos los mundos donde KB es
verdadero
ejemplos,
x+y = 4 entails 4 = x+y
Maria es la hermana de Susana y Amy es la hija de Susana
implica (entails) Maria es la tia de Amy.
Modelos
Los expertos en logica tpicamente piensa en trminos de
modelos, los cuales son mundos formalmente estructurados en
donde se puede evaluar lgicamente, es decir evaluar si es
verdadero o no.
Decimos que m es un modelo del enunciado , si es verdad en
m
M() es un conjunto de todos los modelos
de
Then KB iff M(KB) M()
x+y = 4 entails 4 = x+y
Modelos Wumpus
Modelos Wumpus
Modelos Wumpus
P1,2
P2,2
P3,1
false
true
false
Con estos smbolos, hay 8 posibles modelos, 23.
(P1,2 P2,1)
(P1,1 P2,2 P3,1)
Equivalencias Lgicas
Validacin y satisfaccin
Un enunciado es valido si es verdadero en todos sus modelos,
ejemplo., True,
A A, A A, (A (A B)) B
falso)
Mtodos de Prueba
Mtodos de prueba son de dos tipos:
Aplicacin de reglas de inferencia:
Crear enunciados legitimos a partir de enunciados existentes.
Resolucin
Forward & Backward chaining
Model checking
Bsqueda a travs de asignaciones.
Mejorar el backtracking: Davis--Putnam-Logemann-Loveland (DPLL)
Heuristic search in model space: Walksat.
Normalizacin
Se busca probar: KB |=
equivalent to : KB unsatifiable
literales
(A B) (B C D)
Clausula
Clausula
Resolusin
Resolucin: reglas de inferencia para CNF: sound and complete
(A B C )
Si A o B o C son verdaderos, pero no A, entonces
(A)
(B C )
(A B C )
(A D E )
(B C D E )
(A B )
( A B )
(B B ) B
Simplificacin
Algoritmo de Resolucin
KB |= equivalent to
1. Encontramos
P P
que no es satisfactoria.
Resolution example
KB
Verdadero
Falso en
todos los
ambientes
Forward chaining
Probar cualquier regla que son satisface en la KB,
agregar las conclusiones a la base de datos que
satisfacen el query.
AND gate
OR gate
Forward chaining
OR Gate
AND gate
Forward chaining
Forward chaining
Forward chaining
Forward chaining
Forward chaining
Forward chaining
Backward chaining
checar si q es conocida, o
probar BC todas las premisas de alguna regla que
satisfagan q
Aqu BC mantiene un stack de sub-tareas que
necesitan ser probadas para satisfacer q.
necesitamos P para
probar L y L para
probar P.
Wumpus World
listing(agent_location),
listing(agent_orientation),
wumpus: agent_location(X,Y)),
wumpus: agent_orientation(A),
wumpus: breeze(B),
Resmen
Logica de primer orden:
Manejo de Incertidumbre
A menudo en problemas de seleccin estructurada la solucin
final no es conocida con completa certidumbre; las reglas del
sistema de conocimiento pueden ser vagas, o el usuario puede
estar inseguro de las respuestas.
Esto se ve claramente en sistemas de diagnstico mdicos
donde no se puede establecer de manera definitiva la relacin
entre los sntomas y la enfermedad. De hecho los doctores
reales siempre ofrecen varios escenarios del diagnstico.
Los sistemas expertos usados en aplicaciones comerciales, es
asociar un valor numrico asociado un grado de certidumbre
para cada pieza de inferencia de la informacin analizada.
Data representation.
Interfase de Usuario.
Como preguntar al usuario?
Usar un predicado para preguntar, si algn atributo en la base de
datos es verdad (unifica). El programa debe considerar que
atributos pueden ser usados para preguntar.
Interfase de Usuario.
Si preguntamos si existe algn ave color blanco, el predicado
ask(color, white), unificar si existe algn predicado
color(white)
Un Shell simple.
Nuestro modelo de identificacin de aves consta de 2 partes la
base de conocimientos, que tiene los predicados especficos
para identificacin de las clases de aves y la interface del
usuario.
Separando estas dos partes podemos crear un shell que
pudiera ser usada para cualquier otra base de conocimientos,
por ejemplo un sistema experto que identifique peces.
Esto a travs de un cambio mnimo, creando un predicado de
alto nivel que inicie el proceso de identificacin. Esto
aadiendo un predicado genrico que podemos denominar
como top_goal por ejemplo :
top_goal(X) :- bird (X).
Un Shell simple.
El shell tendr un nuevo predicado llamado solve, que hace
las labores de limpieza para nuestro predicado top_goal, y
estara codificado de la siguiente manera:
En resumen.
Los predicados de nuestro sistema de identificacin de aves,
sern divididos en dos mdulos.
Shell Predicates :
solve. Empieza la consulta.
ask. Propone preguntas simples al usuario y las recuerda.
menuask. presenta al usuario con opciones de informacin.
predicados adicionales que soportan los 3 anteriores.
Knowledge Base predicates :
top_goal. especfica cul es la meta de alto nivel a seguir.
un conjunto de reglas que definan la base de conocimientos
para la cul fue creada. ejemplo (aves, peces, familia, regiones
etc).
reglas para definir los atributos de la informacin que el
usuario proveer ejemplo (tamao, color, alas, que come, etc).
Ciclar el sistema
Nuestro shell puede ser mejorado con un comando de alto
nivel llamado go, que a su ves se compone de los siguientes
comandos :
load. Carga la base de conocimientos.
consult. Consulta la base de conocimientos satisfaciendo el
predicado top_goal de nuestra KB.
quit. Salida del shell.