Clase 9 · Agentes lógicos, lógica proposicional y satisfacibilidad
Pregunta central
¿Cómo puede un agente representar explícitamente el conocimiento de un mundo parcialmente observable, inferir hechos no percibidos directamente y deducir racionalmente qué hacer sin depender de adivinanzas ni de búsquedas exhaustivas a ciegas?
Idea de la clase
Los métodos de búsqueda clásicos y de adversarios asumen estados atómicos opacos o funciones de utilidad sobre desenlaces inmediatos. Un agente basado en conocimiento mantiene una Base de Conocimiento () compuesta por sentencias en un lenguaje formal (como la lógica proposicional). Cada nueva percepción añadida mediante
Telldescarta mundos posibles (). La inferencia responde preguntasAskmediante vinculación lógica (), la cual se reduce algorítmicamente a verificar la insatisfactibilidad de (un caso especial de CSP booleano).
Cómo estudiar esta nota:
- Comprende primero por qué el Mundo del Wumpus obliga al agente a razonar con perceptos pasados y reglas del entorno en vez de limitarse a buscar caminos.
- Domina la distinción formal entre sintaxis (árboles de derivación BNF, precedencia de conectores) y semántica (mundos posibles , función de interpretación , conjunto de modelos ).
- Interioriza la visualización de la como una intersección de modelos: aprender información recorta mundos posibles; la contradicción vacía el conjunto de modelos ().
- Analiza con rigor el árbol de reducción de inferencia a SAT (diapositiva 22) y su equivalencia formal con un CSP de variables booleanas.
Fuente y alcance: Esta nota cubre detalladamente las 25 diapositivas de la presentación Clase 9: Agentes lógicos (IIMAS, UNAM), complementadas con el texto canónico de Russell & Norvig (AIMA 4.ª ed., Cap. 7), dos laboratorios interactivos en HTML incrustados y referencias a cursos abiertos de Stanford y UC Berkeley.
flowchart LR P["Percepciones del entorno"] --> T["Tell[f]: Añadir a KB"] T --> M["Recortar espacio de modelos:\nM(KB) = M(KB) ∩ M(f)"] M --> Q{"Consulta: Ask[f]\n¿KB ⊨ f?"} Q -->|Prueba de refutación| SAT["¿Es KB ∪ {¬f} satisfactible?"] SAT -->|NO| YES["Entailment: Sí (demostrado)"] SAT -->|SÍ| SEC{"¿Es KB ∪ {f} satisfactible?"} SEC -->|NO| NO["Contradicción: No (falso)"] SEC -->|SÍ| UNK["Contingente: No lo sé"] YES --> ACT["Deducir acción racional segura"]
1. De la búsqueda ciega a los agentes basados en conocimiento
Hasta la clase anterior, los problemas se resolvieron mediante algoritmos de búsqueda (BFS, DFS, A*, Minimax, Expectimax) o satisfacción de restricciones (CSP). En todos ellos, el agente consideraba estados como entidades monolíticas y requería conocer de antemano el espacio de estados o una distribución de probabilidades explícita.
Sin embargo, en el mundo real y en entornos parcialmente observables surgen tres grandes limitaciones:
- Incompletitud perceptiva: El agente no observa el estado global en cada instante; solo recibe pistas locales e indirectas.
- Costo prohibitivo del error: En presencia de peligros letales inmediatos, explorar caminos al azar o estimar con heurísticas no garantiza que el agente no muera en el siguiente paso.
- Estructura composicional del conocimiento: Saber que “el suelo mojado se debe a la lluvia o a un aspersor” permite transferir conocimiento a situaciones completamente nuevas sin necesidad de redefinir el grafo de búsqueda desde cero.
Por ello, un agente basado en conocimiento combina:
- Un lenguaje formal declarativo para representar hechos y leyes del mundo.
- Un motor de inferencia que deriva deductivamente nuevas sentencias a partir de las ya almacenadas.
2. El Mundo del Wumpus: Entorno de prueba para el razonamiento lógico
La diapositiva 4 introduce el entorno clásico del Mundo del Wumpus (concebido originalmente por Gregory Yob en 1973 y formalizado en IA por Russell & Norvig).

2.1 Especificación PEAS del entorno
| Componente PEAS | Descripción en el Mundo del Wumpus |
|---|---|
| P (Performance) | por salir con el oro; por caer en pozo o morir devorado; por cada acción; por usar la flecha. |
| E (Environment) | Cuadrícula delimitada por muros. Casilla inicial siempre segura. Pozos distribuidos con probabilidad (excepto en ). Un único Wumpus inmóvil y un lingote de oro. |
| A (Actuators) | Adelante, GirarIzquierda, GirarDerecha, TomarOro, DispararFlecha, Salir (solo en ). |
| S (Sensors) | Stench (hedor en la celda del Wumpus y casillas adyacentes); Breeze (brisa en casillas adyacentes a pozos); Glitter (brillo en la celda con oro); Bump (choque contra pared); Scream (grito si el Wumpus muere). |
2.2 Por qué fallan los agentes sin memoria ni lógica
Un agente puramente reactivo (reflejo) en percibe brisa y no sabe si el pozo está en o en . Si elige al azar, morirá en el de los intentos. En cambio, un agente lógico:
- Recuerda que en no había brisa ni hedor deduce que y son seguras.
- Explora y percibe hedor pero no brisa descarta que sea pozo.
- Cruza la información previa de y deduce de manera impecable que es 100% segura y que el pozo está forzosamente en .
Laboratorio interactivo 1: Deducción lógica en el Mundo del Wumpus
Explora el recorrido paso a paso en el tablero oficial de la diapositiva 4, observando cómo se actualiza la Base de Conocimiento y cómo se deducen celdas seguras y trampas.
Idea central si el laboratorio no carga: El agente en percibe vacío y sabe que y son seguras. En detecta brisa (). En vez de adivinar, regresa y entra a , donde detecta hedor pero no brisa (). Por silogismo disyuntivo, deduce que el pozo está en y que la celda es totalmente segura.
3. Arquitectura del agente basado en conocimiento
La diapositiva 5 sintetiza las tres propiedades fundamentales de este tipo de agentes:
- Forman representaciones internas de un mundo complejo: No almacenan píxeles ni coordenadas brutas, sino sentencias lógicas compuestas.
- Utilizan procesos de inferencia formal: Derivan nuevas sentencias verdaderas que no estaban explícitas en las percepciones iniciales.
- Deducen qué hacer: Formulan consultas lógicas para seleccionar acciones garantizadas como seguras o conducentes a la meta.
3.1 Ciclo de ejecución del agente lógico
A nivel de programa, el agente interactúa con su base mediante dos primitivas:
Tell(KB, sentencia): Incorpora percepciones y consecuencias deducidas a la base.Ask(KB, consulta): Interroga a la base para decidir si una acción es admisible.
def KB_AGENT(percept):
# 1. Registrar percepto en la base de conocimiento
Tell(KB, Make_Percept_Sentence(percept, t))
# 2. Consultar qué acción debe ejecutarse
action = Ask(KB, Make_Action_Query(t))
# 3. Registrar la acción decidida
Tell(KB, Make_Action_Sentence(action, t))
t = t + 1
return action4. ¿Qué es una lógica? Componentes y tipos
La diapositiva 6 establece que toda lógica formal debe poseer tres componentes inseparables:
- Sintaxis: Define la estructura gramatical de las sentencias legales (cuándo una fórmula está bien formada).
- Semántica: Define el significado de las sentencias determinando su valor de verdad respecto a un mundo o modelo.
- Teoría de pruebas (Proof theory): Conjunto de reglas de inferencia puramente sintácticas para derivar nuevas sentencias válidas sin tener que recorrer todos los modelos posibles.
4.1 Compromisos ontológicos y epistemológicos (Diapositiva 7)
Cada sistema formal asume supuestos distintos sobre lo que existe en la realidad (compromiso ontológico) y sobre el estado de creencia del agente (compromiso epistemológico):
| Lenguaje / Sistema | Lo que existe (Ontología) | Creencia del agente (Epistemología) |
|---|---|---|
| Lógica proposicional | Hechos | Verdadero / Falso / Desconocido () |
| Lógica de primer orden | Hechos, objetos, relaciones entre objetos | Verdadero / Falso / Desconocido () |
| Lógica temporal | Hechos, objetos, relaciones y tiempo | Verdadero / Falso / Desconocido () |
| Teoría de probabilidad | Hechos | Grado de creencia numérico () |
| Lógica difusa | Grado de verdad continuo () | Grado de creencia numérico |
Lógica difusa vs. Probabilidad
- La probabilidad trata con incertidumbre de información: el hecho “la botella está envenenada” es estrictamente verdadero o falso, pero el agente solo tiene una creencia de .
- La lógica difusa trata con vaguedad de conceptos: el hecho “la persona es alta” no es ni ni ; la persona mide y tiene un grado de verdad de pertenencia al conjunto “alto” de .
5. Sintaxis de la lógica proposicional
Las diapositivas 8 y 9 definen la gramática formal para construir fórmulas válidas.
5.1 Sentencias atómicas y complejas
- Sentencia atómica: Consiste en un único símbolo proposicional () o las constantes booleanas y . Representa una proposición indivisible que puede ser verdadera o falsa en un mundo.
- Sentencia compleja: Se construye combinando sentencias mediante conectores lógicos y paréntesis.
5.2 Gramática BNF (Backus-Naur Form)
5.3 Precedencia estricta de operadores
Para evitar ambigüedad en ausencia de paréntesis explícitos, se aplica la siguiente jerarquía (de mayor a menor prioridad):
Ejemplo de desambiguación:
- La expresión:
- Se asocia paso a paso como:
6. Semántica formal, modelos y función de interpretación
Las diapositivas 10 a 14 desarrollan cómo se asigna significado y valor de verdad a las fórmulas.
6.1 Definición de Modelo / Mundo posible ()
Un modelo es una asignación completa de valores de verdad a cada símbolo proposicional presente en el vocabulario:
Si existen proposiciones atómicas independientes, el espacio universal de modelos posibles es:
Por ejemplo, con tres símbolos , existen exactamente mundos posibles.
6.2 Función de interpretación
Dada una fórmula y un modelo , la función de interpretación devuelve:
- (Verdadero): Si el mundo satisface la fórmula .
- (Falso): Si el mundo no satisface la fórmula .
El conjunto de todos los modelos que satisfacen se denota como :
6.3 Tabla de verdad completa de los conectores (Diapositiva 13)
| 0 | 0 | 1 | 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 | 1 |
Clave para recordar la implicación ( )
Una promesa condicional solo se rompe si se cumple el antecedente pero no se entrega el consecuente . Si es falso, la afirmación no puede ser refutada, por lo que su valor de verdad es .
6.4 Evaluación recursiva en árbol sintáctico (Diapositiva 14)
Sea la fórmula y el modelo particular . La interpretación se computa desde las hojas hacia la raíz:
flowchart TD ROOT["I((¬A ∧ B) ↔ C, w) = 1"] AND["I(¬A ∧ B, w) = 0"] C["I(C, w) = 0"] NOT["I(¬A, w) = 0"] B["I(B, w) = 1"] A["I(A, w) = 1"] ROOT --- AND ROOT --- C AND --- NOT AND --- B NOT --- A
Cálculo paso a paso:
- .
- .
- .
- .
- Comparación bicondicional: ambos lados valen . Como es verdadero, concluimos que:
7. La Base de Conocimiento como intersección de modelos
Las diapositivas 15 y 16 introducen el principio geométrico y conjuntista fundamental del razonamiento lógico:
La Base de Conocimiento es una intersección de mundos
Una base de conocimiento representa la conjunción lógica de todas sus fórmulas. Por tanto, el conjunto de modelos donde la es verdadera corresponde a la intersección de los modelos de cada una de sus fórmulas:
7.1 El ejemplo de Rain y Wet (Diapositiva 15)
Consideremos el espacio de 4 modelos formado por las variables (filas) y (columnas):
& & \text{Wet}=0 & \text{Wet}=1 \\ \hline \text{Rain}=0 & & w_1 & w_2 \\ \hline \text{Rain}=1 & & w_3 & w_4 \\ \hline \end{array}$$ - $M(\text{Rain})$: Son las celdas donde $\text{Rain}=1 \implies \{w_3, w_4\}$ (2 modelos). - $M(\text{Rain} \to \text{Wet})$: Por definición de implicación, incluye $\{w_1, w_2, w_4\}$ (3 modelos; solo excluye $w_3$ donde llueve y el piso no se moja). - $M(\{\text{Rain}, \text{Rain} \to \text{Wet}\})$: Es la intersección de ambos:{w_3, w_4} \cap {w_1, w_2, w_4} = {w_4}
undefinedKB \implies KB \cup {f}, \qquad M(KB) \implies M(KB) \cap M(f)
undefinedKB \models f \iff M(KB) \subseteq M(f)
*Ejemplo:* $\text{Rain} \wedge \text{Snow} \models \text{Rain}$. Como $M(\text{Rain} \wedge \text{Snow}) \subseteq M(\text{Rain})$, la lluvia está lógicamente garantizada. ### 8.2 Contradicción La base $KB$ **contradice** a $f$ si y solo si no existe ningún mundo donde coexistan:KB \text{ contradice } f \iff M(KB) \cap M(f) = \emptyset
KB \text{ contradice } f \iff KB \models \neg f
### 8.3 Contingencia (Información incompleta) Ocurre cuando $f$ es verdadera en algunos modelos de $KB$ y falsa en otros:\emptyset \subsetneq M(KB) \cap M(f) \subsetneq M(KB)
undefinedKB \models f \iff KB \cup {\neg f} \text{ es insatisfactible } (M(KB \cup {\neg f}) = \emptyset)
undefined