Introducción: ¿Por qué Lógica?
El Salto de Reaccionar a Razonar
En la clase anterior exploramos diferentes tipos de agentes. Vimos que los agentes reflejo simples funcionan con reglas directas:
si percepción == "sucio" entonces Aspirar
si percepción == "limpio" entonces Mover
Estos agentes son como máquinas expendedoras: estímulo → respuesta. Funcionan bien en situaciones simples y predecibles.
graph LR
A[Simple Reflex] --> B[Model-Based]
B --> C[Goal-Based]
C --> D[Utility-Based]
D --> E[Learning]
style A fill:#64748b,stroke:#475569,color:#fff
style B fill:#0ea5e9,stroke:#0284c7,color:#fff
style C fill:#059669,stroke:#047857,color:#fff
Pero hay un problema fundamental: ¿Qué hace el agente cuando enfrenta una situación que nunca ha visto? ¿Cómo puede derivar conclusiones nuevas a partir de lo que ya sabe?
Un Problema Motivador
Imagina que eres un explorador en una cueva peligrosa. No puedes ver más allá de donde estás parado. La cueva tiene pozos mortales, pero también tiene pistas: sientes una brisa cuando hay un pozo cerca.

Situación:
- En la celda [1,1]: No sientes brisa
- Avanzas a [1,2]: ¡Sientes brisa!
Pregunta crítica: ¿Es seguro avanzar a [2,2]?
Un agente reflejo simple no puede responder esto. No tiene una regla “si brisa en [1,2] entonces…” para cada posible combinación de percepciones.
Para resolver este problema, el agente necesita:
- Recordar lo que percibió en cada lugar
- Combinar esa información
- Derivar nuevas conclusiones
Este tipo de razonamiento sistemático es exactamente lo que proporciona la lógica.
Agentes Basados en Conocimiento
Un agente basado en conocimiento (Knowledge-Based Agent) tiene dos componentes principales que le permiten razonar:
graph TD
subgraph "Agente Basado en Conocimiento"
KB[Base de Conocimiento<br/>Knowledge Base]
INF[Motor de Inferencia<br/>Inference Engine]
end
P[Percepciones] --> KB
KB --> INF
INF --> KB
INF --> A[Acciones]
style KB fill:#8b5cf6,stroke:#7c3aed,color:#fff
style INF fill:#14b8a6,stroke:#0d9488,color:#fff
La Base de Conocimiento (KB)
La KB es donde el agente guarda todo lo que sabe. Contiene:
- Hechos observados: “No hay brisa en [1,1]”, “Hay brisa en [2,1]”
- Reglas del mundo: “Si hay brisa, entonces hay un pozo adyacente”
- Conocimiento previo: “El agente empieza en [1,1], que es segura”
El Motor de Inferencia
El motor de inferencia es el “cerebro” que procesa la KB para derivar nuevas conclusiones. Toma los hechos y reglas que tiene y produce nuevos hechos.
Ejemplo:
- Hecho: “Hay brisa en [2,1]”
- Regla: “Brisa significa pozo adyacente”
- Conclusión derivada: “Hay pozo en [1,1], [3,1], [2,0] o [2,2]”
El Ciclo del Agente
En cada momento, el agente:
- TELL (decir): Añade lo que percibe a su KB
- ASK (preguntar): Consulta a la KB qué acciones son seguras
- TELL: Registra la acción que tomó
función AGENTE-KB(percepción):
TELL(KB, convertir_a_sentencia(percepción))
acción ← ASK(KB, "¿qué acción debo tomar?")
TELL(KB, convertir_a_sentencia(acción))
return acción
¿Por Qué un Lenguaje Formal?
El conocimiento del agente debe estar en un lenguaje formal — no en español ni en inglés. ¿Por qué?
El Problema de la Ambigüedad
El lenguaje natural es ambiguo:
“Vi al hombre con el telescopio”
¿Qué significa?
- ¿Usé un telescopio para verlo?
- ¿El hombre tenía un telescopio?
Ambas interpretaciones son válidas en español. Una computadora no sabría cuál elegir.
Las Ventajas del Lenguaje Formal
En un lenguaje formal como la lógica proposicional:
| Ventaja | Explicación |
|---|---|
| Sin ambigüedad | Cada expresión tiene un único significado |
| Procesable por máquina | Las computadoras pueden manipularlo |
| Verificable | Podemos demostrar propiedades matemáticamente |
| Composicional | El significado de una expresión compleja se deriva de sus partes |
En lógica, las dos interpretaciones serían distintas:
- $Vio(Yo, Hombre) \land Usó(Yo, Telescopio)$
- $Vio(Yo, Hombre) \land Tiene(Hombre, Telescopio)$
No hay confusión posible.
El Enfoque “Pensando Racionalmente”
¿Recuerdas los 4 enfoques de la IA de la Clase 2?
| Como Humano | Racionalmente | |
|---|---|---|
| Pensar | Ciencia Cognitiva | Leyes del Pensamiento ← |
| Actuar | Test de Turing | Agentes Racionales |
La lógica es el corazón del enfoque “Pensando Racionalmente”. La idea es que hay patrones de razonamiento que siempre producen conclusiones correctas, independientemente de quién los use.
Las Leyes del Pensamiento
Aristóteles (384-322 a.C.) identificó patrones de razonamiento que son universalmente válidos. El más famoso:
El Silogismo:
Premisa 1: Todos los hombres son mortales.
Premisa 2: Sócrates es hombre.
Conclusión: Sócrates es mortal.
Si las premisas son verdaderas, la conclusión debe ser verdadera. No hay forma de que sea de otra manera.
Este patrón funciona sin importar de qué se trate:
Premisa 1: Todos los pájaros tienen alas.
Premisa 2: Un canario es un pájaro.
Conclusión: Un canario tiene alas.
La lógica formaliza estos patrones para que las máquinas puedan usarlos.
Tipos de Lógica
La lógica no es una sola cosa — hay diferentes “sabores” para diferentes necesidades:
| Tipo de Lógica | ¿Qué puede expresar? | Ejemplo | Complejidad |
|---|---|---|---|
| Proposicional | Hechos simples (verdadero/falso) | “Está lloviendo” | Decidible (NP) |
| Primer Orden | Objetos, relaciones, cuantificadores | “Todos los humanos son mortales” | Semi-decidible |
| Temporal | Cambios en el tiempo | “Eventualmente llegará” | Varía |
| Modal | Necesidad, posibilidad | “Es posible que llueva” | Varía |
| Probabilística | Grados de creencia | “Probablemente llueva” | Clase 5 |
En este módulo nos enfocamos en lógica proposicional — la más simple, pero que ilustra todos los conceptos fundamentales.
Ventajas y Limitaciones
Lo Bueno de la Lógica
| Ventaja | ¿Por qué importa? |
|---|---|
| Precisión | No hay ambigüedad — sabemos exactamente qué significa cada expresión |
| Correctitud (Soundness) | Si derivamos algo, es verdad — no hay conclusiones falsas |
| Completitud | Podemos derivar todo lo que es verdad |
| Herramientas | Existen SAT solvers muy optimizados para problemas reales |
Las Limitaciones
| Limitación | ¿Por qué es problema? | ¿Cómo se resuelve? |
|---|---|---|
| Solo verdadero/falso | No puedo decir “probablemente” | Probabilidad (Clase 5) |
| Computacionalmente difícil | SAT es NP-completo | Heurísticas, SAT solvers |
| Asume conocimiento completo | “Lo que no sé, no existe” | Lógica no-monótona |
| Estática | No captura cambio fácilmente | Lógica temporal |
Mapa de Este Módulo
graph TD
A["3.1 Introducción<br/>¿Por qué lógica?"] --> B["3.2 Lógica Proposicional<br/>El lenguaje formal"]
B --> C["3.3 Inferencia<br/>Derivando conclusiones"]
C --> D["3.4 SAT<br/>Límites computacionales"]
B --> E["3.5 Wumpus World<br/>Aplicación completa"]
C --> E
D --> E
style A fill:#14b8a6,stroke:#0d9488,color:#fff
style B fill:#0ea5e9,stroke:#0284c7,color:#fff
style C fill:#8b5cf6,stroke:#7c3aed,color:#fff
style D fill:#f59e0b,stroke:#d97706,color:#000
style E fill:#059669,stroke:#047857,color:#fff
| Sección | Pregunta que responde |
|---|---|
| 3.2 Lógica Proposicional | ¿Cómo represento conocimiento formalmente? |
| 3.3 Inferencia | ¿Cómo derivo nuevas conclusiones? |
| 3.4 SAT | ¿Qué puedo y qué no puedo computar? |
| 3.5 Wumpus World | ¿Cómo aplico todo esto a un problema real? |
Preguntas para Reflexionar
Antes de continuar, piensa en estas preguntas:
-
Minesweeper: ¿Cómo razonas cuando juegas? Cuando ves un “2”, ¿cómo decides qué celdas son seguras?
-
Saber vs. Demostrar: ¿Cuál es la diferencia entre “saber” algo y “poder demostrarlo”?
-
Incertidumbre: Si la lógica solo permite verdadero/falso, ¿cómo representamos “no sé”?
-
Historia: ¿Por qué crees que los sistemas expertos de los años 80 (como MYCIN para diagnóstico médico) usaban lógica?
Ejercicio de Calentamiento
Sin usar lógica formal, analiza este razonamiento:
Premisas:
- Si llueve, la calle se moja.
- La calle está mojada.
Conclusión propuesta: Llovió.
Preguntas:
- ¿Es válida esta conclusión?
- ¿Qué otras explicaciones hay para que la calle esté mojada?
- ¿Cómo distinguirías un razonamiento válido de uno inválido?
Ver Análisis
1. ¿Es válida? No, no es válida.
Este es un error lógico clásico llamado “Afirmación del Consecuente”:
- Premisa 1: Si P entonces Q (Si llueve → calle mojada)
- Premisa 2: Q (calle mojada)
- Conclusión incorrecta: P (llovió)
El error es asumir que la única causa de Q es P.
2. Otras explicaciones:
- Alguien lavó su carro y salpicó agua
- Se rompió una tubería
- Pasó el camión de riego
- Un vecino regó sus plantas
- Hubo una inundación
3. ¿Qué SÍ sería válido?
Modus Ponens (que veremos en detalle):
- Si llueve → calle mojada
- Llovió
- ∴ Calle mojada ✓
Modus Tollens:
- Si llueve → calle mojada
- Calle NO está mojada
- ∴ NO llovió ✓
La lógica nos da herramientas precisas para distinguir razonamientos válidos de falacias.
Puntos Clave
- Los agentes reflejo simples no pueden razonar sobre situaciones nuevas
- Los agentes basados en conocimiento tienen una KB y un motor de inferencia
- El conocimiento se representa en un lenguaje formal para evitar ambigüedad
- La lógica implementa las “leyes del pensamiento” — patrones de razonamiento universalmente válidos
- La lógica proposicional es el tipo más simple, pero tiene limitaciones
- Este módulo cubre: representación (sintaxis), significado (semántica), inferencia, y aplicación