Está en la página 1de 6

Práctico 3

1. En el ejemplo del termostato: ahora podemos pensarlo como un agente racional:


¿Qué creencias tendría el agente? ¿Qué deseos? ¿Qué intenciones? Describa con
sus palabras en lenguaje informal.

El termostato tendría una creencia sobre la temperatura ambiente. Esta creencia podría
estar representada como una variable y se actualiza con cada lectura del sensor de
temperatura.

Como es un termostato simple tiene un solo deseo. El termostato quiere llevar la


temperatura ambiental a la temperatura configurada.

Como tiene un solo deseo, no hay mucho que deliberar, y ese único deseo se convierte en
una intención.

Las únicas acciones que tiene un termostato simple es encender y apagar la caldera y el
planificador del termostato toma la intención, las creencias y enciende o apaga la caldera.
No hay mucho más que hacer.

La función opción actualiza los deseos. Toma las creencias sobre el mundo, la intención que
quiere llegar a cabo y actualiza sus deseos.
Options:p(Bel)xp(Int)->p(Des)

La función filter elige una intención. Toma como parámetro las creencias, los deseos, la
intención y devuelve una intención
filter:p(Bel)xp(Des)xp(Int)->p(Int)

Luego se actualizan las creencias. Esta función toma de parámetro las creencias, sus
percepciones actuales y actualiza las creencias.
brf:d(Bel)xPer ->p(Bel)

El Planifica las acciones, toma de parámetro las creencias sobre el mundo, la intención y
devuelve una secuencia de acciones.
plan: p(Bel)xp(Int)xd(Act)->Plan
2. Dada un KB en lógica proposicional y una sentencia s, podemos reducir el
problema de “decidir si KB s” como un algoritmo de búsqueda.
– Para esto necesitamos definir: que es un estado, estado inicial, acciones posibles a
aplicar en cada estado, consecuencias de las acciones, estado meta.

Saber si una sentencia se deriva de un conjunto KB de sentencias se puede plantear como


un problema de búsqueda sobre un grafo AND-OR.

En una primera aproximación supondremos que en la KB solo hay sentencias atómicas,


negacion de sentencias atómicas y sentencias de la siguiente forma p →q , q ^ r → p, q v r
→ p, donde p, q y r son sentencias atómicas o negación de sentencias atómicas. Esto es
similar a datalog y es la forma en que lo explica el libro Intelligence Structures and
Strategies for Complex Problem Solving de George Luger.

El estado inicial es la sentencia que se quiere probar. Las metas son cada una de las
sentencias del conjunto KB, las sentencias que se pueden deducir de KB y también las
tautologías. Los estados son sentencias de lógica proposicional. Se puede pasar de un
estado a otro aplicando algunas de las siguientes reglas.

Se pasa de un estado a otro aplicando alguna de esas reglas y como se puede ver algunas
de las reglas producen hijos unidos por un arco.

A diferencia de los algoritmos de búsqueda vistos en clase, para encontrar una solución en
un grafo AND-OR, se tiene que llegar a un estado meta por todos los nodos hijos con arco
involucrados en el camino. No basta con que por uno solo de los nodos hijos con arco se
llegue a una meta. Se encuentra una solución al problema cuando se llega a la meta por
todos los nodos hijos que tienen arco.

Por ejemplo en el operador ‘v’ si por cualquiera de los caminos elegidos se llega a una meta
esto es suficiente para resolver el problema. Pero en cambio en el operador ‘٨’ no basta con
que por uno solo de los caminos se llegue a una meta, para resolver el problema se tiene
que llegar a la meta por ambos caminos.

El algoritmo de búsqueda es un poco más complicado porque no basta encontrar un camino


desde el estado inicial al final, hay que llegar a un estado final por cada uno de los nodos
con arco.

Para el caso general con fórmulas de cualquier tipo es un poco más complicado, los
estados finales o metas, son más cosas que tautologías y sentencias contenidas en la KB,
las reglas para pasar de un estado a otro son más complicadas..
.
– Dada KB = {p, q, p→ r, q→ t} y s = t Λ q, muestre el árbol de búsqueda y recorrido
correspondiente usando alguna de las estrategias vistas en clase.

Para probar “s” tengo que probar “t” y “q”. La sentencia “q” esta en el conjunto KB, por lo
tanto es un estado meta y lo pongo en rectángulo. En la KB está la regla “q →t”, por lo tanto
para probar “t” tengo que probar “q”. Y “q” es una sentencia atómica que está en el conjunto
KB, por lo tanto es un estado meta.

La raíz del árbol es la sentencia que se quiere probar, los estados metas, o finales, están
dentro de un rectángulo y son las sentencias atómicas del conjunto KB.

3. Notemos que este tipo de razonamiento no es monótono, i.e. puede suceder que
KB1 KB2 y sin embargo CWA(KB1) CWA(KB2). Ejercicio: muestre un ejemplo
concreto de este resultado.

La CWA completa un conjunto KB, al incluir la negación de un átomo basico siempre que
ese átomo basico no se siga lógicamente de KB.

𝐶𝑊𝐴(𝐾𝐵) = 𝐾𝐵 ∪ {¬𝑝: 𝑝 𝑒𝑠 𝑎𝑡𝑜𝑚𝑖𝑐𝑜 𝑦 𝐾𝐵 ⊭ 𝑝}

Si asumo que todo lo que no conozco es falso y en mi KB1 solo tengo {EsUnPajaro(chilly) v
EsUnPajaro(tweety)}

entonces, dado que no puedo deducir EsUnPajaro(chilly),


ni tampoco puedo deducir EsUnPajaro(tweety)

tengo que CWA1 de KB1 es

CWA1 = { {EsUnPajaro(chilly) v EsUnPajaro(tweety),-EsUnPajaro(chilly),


-EsUnPajaro(tweety) }
S KB2 = { {EsUnPajaro(chilly) v EsUnPajaro(tweety),-EsUnPajaro(chilly)}
tengo que KB1 está incluido en KB2
KB1 ⊆KB2
y el CWA2 de KB2 es {EsUnPajaro(chilly) v EsUnPajaro(tweety),-EsUnPajaro(chilly)}
dado que
{EsUnPajaro(chilly) v EsUnPajaro(tweety),-EsUnPajaro(chilly)} ⊨ EsUnPajaro(tweety)

pero CWA1 no está incluido en CW2, CWA1 ⊈ CWA2

Es un ejemplo de un caso donde KB1 está incluido en KB2 y CWA1 no está incluido en
CWA2. Además CWA1 es inconsistente.

4. Describa otro ejemplo concreto que muestre la necesidad de razonamiento no


monótono, similar al de “Tweety”; muestre por qué la lógica clásica falla en ese caso
en particular.

Una lógica es monótona si cualquier proposición que pueda derivarse de una base de
conocimiento también puede derivarse cuando se agregan proposiciones adicionales a la
base de conocimiento. Agregar conocimiento no reduce el conjunto de proposiciones que se
pueden derivar.

Una lógica monotónica no puede manejar varios tipos de razonamiento tales como el
razonamiento por defecto (los hechos pueden ser conocidos únicamente por la
incertidumbre o carencia de evidencia de lo contrario), el razonamiento abductivo (los
hechos sólo se deducen en calidad de explicaciones probables), el razonamiento acerca del
conocimiento (la ignorancia de un hecho debe ser retractada cuando el hecho sea
conocido), y la revisión de creencias (nuevo conocimiento puede contradecir creencias
anteriores, obligando a revisarlas).-

Un diálogo entre el interrogador y el testigo muestra la necesidad del razonamiento


no-monotonico:

- Interrogador: En la primera línea de su soneto que dice "¿Te compararé con un día de
verano", "un día de invierno" no funcionará tan bien o mejor?
- Testigo: Sí, pero nadie quiere ser comparado con un día de invierno.
- Interrogador: ¿Entonces usted dice que a nadie le gusta la Navidad?
- Testigo: Si me gusta la navidad.
- Interrogador: Cómo es eso posible, la Navidad es un día de invierno y usted dijo que no le
gustan los días de invierno.
- Testigo: Por día de invierno, uno significa un día típico de invierno, en lugar de uno
especial como Navidad.
El razonamiento de sentido común muchas veces establece conclusiones a partir de
información parcial, que luego se revisan o se desechan cuando se obtiene nueva
información relevante.

Se intenta encontrar al culpable de un robo. Hay tres sospechosos, Juan, Pedro y Roberto.
Para la policía uno de los tres debe haber cometido el robo. Juan tiene una coartada firme,
a esa hora Juan estaba haciendo un hisopado de covid. Por lo tanto el robo lo debe Pedro o
Roberto.

El abogado de Pedro presenta una prueba sólida que saca a Pedro de la escena del Robo.
Pero si agrego a la base de conocimiento que Pedro tiene una coartada entonces no puedo
deducir lo que deducía antes de haber agregado la coartada de Pedro a la base de
conocimiento.

También podría gustarte