- Aprender
- Informática
- Ciencias de la computación
- Inteligencia artificial
- Agentes lógicos y planificación
Agentes lógicos y planificación
IntermedioUnidad 5 de 10 del curso Curso de Inteligencia artificial
Lo que aprenderás
- Explica cómo un agente basado en conocimientos almacena hechos y llega a conclusiones, escribe sus conocimientos como enunciados proposicionales y determina qué se sigue de ellos mediante la comprobación de modelos.
- Describe cómo funciona un agente basado en conocimientosExplica la base de conocimientos, las operaciones TELL y ASK y el ciclo de percibir, razonar y actuar del agente, usando el mundo del wumpus como ejemplo recurrente.
- Escribe enunciados en lógica proposicionalUsa la sintaxis y el significado según las tablas de verdad de la lógica proposicional para codificar reglas sobre un mundo, incluidos hechos que cambian con el tiempo.
- Determina la consecuencia lógica mediante la comprobación de modelosDefine consecuencia lógica, validez y satisfacibilidad, y usa la enumeración mediante tablas de verdad para determinar si una conclusión se sigue de una base de conocimientos.
- Describe cómo funciona un agente basado en conocimientos
- Construye demostraciones con reglas de inferencia y resolución, razona eficazmente con cláusulas de Horn mediante encadenamiento y usa resolvedores SAT para encontrar modelos o demostrar que no existe ninguno.
- Construye demostraciones con reglas de inferenciaAplica Modus ponens, eliminación de la conjunción y equivalencias habituales para construir demostraciones paso a paso, y trata la búsqueda de una demostración como un problema de búsqueda.
- Demuestra la consecuencia lógica mediante resoluciónConvierte enunciados a forma normal conjuntiva y usa la refutación por resolución para demostrar que una consulta se sigue de una base de conocimientos.
- Razona con cláusulas de Horn mediante encadenamiento hacia delante y hacia atrásReconoce cláusulas definidas y de Horn y determina la consecuencia lógica mediante encadenamiento hacia delante y hacia atrás, comparando cuándo conviene cada método.
- Encuentra modelos con resolvedores SATDetermina la satisfacibilidad con el algoritmo de retroceso DPLL y la búsqueda local WalkSAT, y evalúa qué demuestra cada resultado.
- Construye demostraciones con reglas de inferencia
- Interpreta, evalúa y escribe enunciados de primer orden sobre objetos y relaciones, y construye una pequeña base de conocimientos para un dominio.
- Interpreta y evalúa enunciados de primer ordenUsa la sintaxis y la semántica de la lógica de primer orden, evalúa enunciados en un modelo y compara la semántica estándar con la de bases de datos.
- Traduce enunciados a lógica de primer ordenEscribe enunciados en lenguaje natural como enunciados de primer orden, eligiendo correctamente cuantificadores, conectivas e igualdad y evitando los errores clásicos de traducción.
- Construye una base de conocimientos para un dominioSigue el proceso de ingeniería del conocimiento para elegir un vocabulario, escribir axiomas generales y hechos de una instancia, plantear consultas y depurar una pequeña base de conocimientos.
- Interpreta y evalúa enunciados de primer orden
- Haz coincidir enunciados de primer orden mediante unificación, aplica el encadenamiento hacia delante y hacia atrás con reglas de primer orden y demuestra consultas mediante resolución de primer orden.
- Haz coincidir enunciados mediante sustitución y unificaciónAplica la instanciación universal y existencial, explica la proposicionalización y calcula los unificadores más generales para el Modus ponens generalizado.
- Aplica el encadenamiento hacia delante y hacia atrás con reglas de primer ordenEjecuta el encadenamiento hacia delante hasta un punto fijo y el encadenamiento hacia atrás sobre objetivos con cláusulas definidas de primer orden, y explica cómo funciona la programación lógica en Prolog.
- Demuestra consultas de primer orden mediante resoluciónConvierte enunciados de primer orden a forma clausal con Skolemización y demuestra consultas mediante refutación por resolución, usando estrategias que reducen la búsqueda.
- Haz coincidir enunciados mediante sustitución y unificación
- Estructura conocimientos generales con categorías, ontologías y redes semánticas, y explica cómo los grafos de conocimiento almacenan, consultan y amplían hechos.
- Estructura conocimientos con categorías y ontologíasRepresenta categorías, pertenencia, subclases y partes, describe redes semánticas y lógicas descriptivas, y explica el razonamiento por defecto con excepciones.
- Explica cómo almacenan y usan hechos los grafos de conocimientoDescribe los grafos de conocimiento como conjuntos de tripletas con un esquema, consúltalos, deriva nuevos hechos mediante reglas y reconoce sus usos y límites.
- Estructura conocimientos con categorías y ontologías
- Describe problemas de planificación en PDDL, busca planes hacia delante y hacia atrás con heurísticas independientes del dominio y compara enfoques de planificación y sus límites.
- Describe un problema de planificación en PDDLEscribe estados, esquemas de acción, estados iniciales y objetivos en PDDL, y calcula cómo cambia una acción un estado.
- Busca planes con heurísticas independientes del dominioEjecuta búsquedas hacia delante y hacia atrás en el espacio de estados de problemas de planificación y estima la longitud de los planes con heurísticas de problemas relajados.
- Compara enfoques de planificación y sus límitesExplica la interacción entre subobjetivos, la planificación basada en SAT, de orden parcial y jerárquica, la complejidad de la planificación y lo que la planificación clásica no puede modelar.
- Describe un problema de planificación en PDDL
Guía de estudio de Agentes lógicos y planificación
1Representa lo que sabe un agente mediante lógica proposicional
Un agente puede extraer conclusiones útiles de las observaciones antes de ver todo el mundo. Los enunciados formales permiten comprobar esas conclusiones: puedes preguntar qué mundos posibles encajan con las observaciones y si todos ellos respaldan la acción propuesta. Empieza con el agente basado en conocimientos, codifica sus reglas con conectivas proposicionales y después usa modelos para distinguir las conclusiones justificadas de los hechos que siguen siendo desconocidos.
1.1 Describe cómo funciona un agente basado en conocimientos
Un agente basado en conocimientos actúa a partir de una descripción de su mundo. Su base de conocimientos (KB) contiene enunciados formales: hechos y reglas iniciales, llamados axiomas, e información añadida durante el funcionamiento. La inferencia conecta esos enunciados con conclusiones que el agente nunca ha observado directamente.
Conecta la percepción con la acción
TELL añade un enunciado a la KB. ASK solicita una respuesta respaldada por ella, ya sea almacenada o derivada. En cada paso de tiempo, el agente registra su percepción, pregunta qué acción debe realizar, registra la acción elegida y la ejecuta. Registrar las acciones importa porque el razonamiento posterior necesita saber cómo ha cambiado el mundo.
En el nivel de conocimiento, podríamos decir que un robot sabe que un pasillo está bloqueado y quiere llegar a una zona de almacenamiento. En el nivel de implementación, describimos estructuras de datos y procedimientos de inferencia. Un diseño declarativo proporciona hechos y reglas; un diseño procedimental escribe el comportamiento directamente en código. Un agente en funcionamiento puede combinar ambos.
Interpreta el mundo del wumpus
El mundo del wumpus es una cuadrícula de 4 × 4. Las coordenadas son [columna, fila]; el agente empieza en [1, 1] mirando a la derecha. Hay un wumpus, una pieza de oro y una probabilidad de 0,2 de que haya un pozo en cada casilla salvo la inicial. Los pozos y el wumpus permanecen en su lugar. El mundo es discreto, determinista y de un solo agente, pero parcialmente observable: la disposición está oculta.
Una brisa señala un pozo en una casilla directamente adyacente; un hedor señala al wumpus en una de ellas. Las casillas diagonales no cuentan. Un destello indica oro en la casilla actual, un golpe informa de una pared y un grito informa de la muerte del wumpus en cualquier lugar de la cueva. Las acciones son Forward, TurnLeft, TurnRight, Grab, Shoot y Climb. El agente tiene una flecha; Climb solo permite salir desde [1, 1]. Salir con el oro da 1000 puntos, morir resta 1000, cada acción cuesta 1 y disparar cuesta otros 10.
Combina observaciones
En [1, 1], la ausencia de brisa descarta pozos en [1, 2] y [2, 1]; la ausencia de hedor descarta al wumpus allí. Ambas casillas son seguras. En [2, 1], una brisa sitúa un pozo en [2, 2] o [3, 1], porque la casilla inicial no tiene ninguno. La ausencia de hedor descarta al wumpus en [2, 2] y [3, 1].
El agente visita después [1, 2]. La ausencia de brisa descarta un pozo en [2, 2], así que la disyunción anterior obliga a que haya un pozo en [3, 1]. Un hedor en [1, 2] sitúa al wumpus en [1, 3] o [2, 2]. La observación anterior de ausencia de hedor descarta [2, 2], por lo que queda [1, 3]. El agente ha establecido que [2, 2] no contiene ninguno de los dos peligros sin entrar en ella.
Este razonamiento depende tanto de las percepciones como de las reglas que las relacionan con los peligros. Una casilla no explorada es desconocida cuando la KB no respalda ni que sea segura ni que sea peligrosa. No poder derivar que es peligrosa no basta para afirmar que es segura. Elegir entrar en una casilla así requiere una decisión sobre el riesgo, más allá de las consecuencias lógicas por sí solas.
Puntos clave
- Una KB combina axiomas de partida con percepciones y acciones registradas.
- TELL añade enunciados; ASK devuelve respuestas respaldadas por la KB.
- El agente registra una percepción, elige y registra una acción y después actúa.
- El conocimiento puede establecer hechos sobre casillas no visitadas.
- Desconocida y segura son conclusiones distintas.
1.2 Escribe enunciados en lógica proposicional
La lógica proposicional proporciona a un agente reglas precisas para combinar afirmaciones que pueden ser verdaderas o falsas. Un símbolo atómico nombra una afirmación completa, como P₁₂ para «hay un pozo en [1, 2]». Un literal es un átomo o su negación. Los enunciados más complejos los combinan con ¬, ∧, ∨, ⇒ y ⇔.
Evalúa las conectivas
Un modelo asigna verdadero o falso a cada símbolo. Con n símbolos hay 2ⁿ asignaciones. La negación invierte un valor de verdad; una conjunción necesita que ambos lados sean verdaderos; una disyunción inclusiva necesita al menos uno. Una implicación es falsa solo cuando la premisa es verdadera y la conclusión es falsa. Un bicondicional necesita valores de verdad iguales en ambos lados.
| P | Q | P ⇒ Q | P ⇔ Q |
|---|---|---|---|
| Verdadero | Verdadero | Verdadero | Verdadero |
| Verdadero | Falso | Falso | Falso |
| Falso | Verdadero | Verdadero | Falso |
| Falso | Falso | Verdadero | Verdadero |
El orden de precedencia es ¬, ∧, ∨, ⇒, ⇔. Así, ¬A ∧ B ⇒ C significa ((¬A) ∧ B) ⇒ C. Usa paréntesis cuando la agrupación pretendida pueda resultar poco clara. Con A verdadero, B falso y C verdadero, (A ∨ B) ⇒ C es verdadero, mientras que A ⇒ (B ∧ C) es falso.
La implicación lógica establece una restricción sobre los valores de verdad, no una causa. Una premisa falsa hace verdadera la implicación. Tampoco permite invertir la dirección: de «si la batería está descargada, el robot se detiene», el mero hecho de que se detenga no permite establecer que la batería esté descargada.
Codifica ambas direcciones de una regla
La regla de la brisa en la casilla inicial es B₁₁ ⇔ (P₁₂ ∨ P₂₁). Dice que hay brisa exactamente cuando existe un pozo en una casilla vecina. La dirección B₁₁ ⇒ (P₁₂ ∨ P₂₁) permite detectar un peligro a partir de una brisa. La dirección inversa permite descartar pozos a partir de la ausencia de brisa. Omitirla impide la inferencia de ¬B₁₁ a ¬P₁₂ ∧ ¬P₂₁.
Cada casilla necesita su propia regla proposicional. Codificar que hay exactamente un wumpus entre 16 casillas necesita una disyunción que indique que hay al menos uno, más una restricción que indique que hay como máximo uno para cada par. Hay 16 × 15 / 2 = 120 pares distintos. Los símbolos proposicionales no pueden cuantificar sobre casillas, así que las reglas generales se convierten en muchos enunciados separados.
Representa el cambio sin perder la persistencia
Un fluente es un hecho cuya verdad puede cambiar. Un superíndice de tiempo distingue sus valores: L₁₁⁰ registra la ubicación en el tiempo 0. Un axioma de efecto puede decir que moverse a la derecha desde [1, 1] produce la ubicación [2, 1] en el tiempo 1 y elimina la ubicación anterior. Deja sin especificar qué ocurre con los hechos no relacionados, como la posesión de la flecha. Describir todos estos hechos que no cambian es el problema del marco.
Un axioma de estado sucesor proporciona una regla completa de actualización por fluente: Fᵗ⁺¹ ⇔ (una acción hace verdadero F) ∨ (Fᵗ ∧ ninguna acción hace falso F). Para la flecha, HaveArrowᵗ⁺¹ ⇔ (HaveArrowᵗ ∧ ¬Shootᵗ). Como ninguna acción proporciona otra flecha, el agente la conserva hasta disparar y después sigue sin ella.
Puntos clave
- Una implicación falla solo cuando su premisa es verdadera y su conclusión falsa.
- La o inclusiva permite que se cumplan ambas alternativas.
- Un bicondicional codifica dos implicaciones.
- Las reglas generales proposicionales requieren instancias separadas.
- Los axiomas de estado sucesor describen tanto el cambio como la persistencia.
- Exactamente uno combina al menos uno con exclusiones por pares.
1.3 Determina la consecuencia lógica mediante la comprobación de modelos
Un agente necesita un criterio para determinar si una conclusión está justificada. La consecuencia lógica, escrita KB ⊨ α, significa que α es verdadero en todos los modelos que satisfacen la KB. Un solo mundo compatible en el que α sea falso invalida la consecuencia lógica.
Conserva exactamente los modelos compatibles
La comprobación de modelos enumera las asignaciones, descarta las que hacen falso algún enunciado de la KB y comprueba la consulta en las restantes. Supón que la KB contiene A ∨ B y ¬A. De las cuatro asignaciones a A y B, solo A falso, B verdadero satisface ambos enunciados. De la KB se siguen B y ¬A. A no se sigue porque el modelo que queda hace falso A.
En la KB del wumpus, ¬P₁₁, B₁₁ ⇔ (P₁₂ ∨ P₂₁), B₂₁ ⇔ (P₁₁ ∨ P₂₂ ∨ P₃₁), ¬B₁₁ y B₂₁ usan siete símbolos. Hay 128 asignaciones. Exactamente tres satisfacen la KB: P₁₂ y P₂₁ son falsos, mientras que P₂₂ y P₃₁ son, respectivamente, verdadero/falso, falso/verdadero o verdadero/verdadero. Por tanto, ¬P₁₂ es una consecuencia lógica. P₂₂ varía entre los tres modelos, así que no se sigue ni P₂₂ ni ¬P₂₂. Estas reglas sobre pozos por sí solas establecen la ausencia de un pozo, no la ausencia del wumpus.
Distingue las principales comprobaciones lógicas
| Comprobación | Qué pregunta |
|---|---|
| Satisfacible | ¿Es el enunciado verdadero en al menos un modelo? |
| Insatisfacible | ¿No es verdadero en ningún modelo? |
| Válido | ¿Es verdadero en todos los modelos? |
| Equivalente | ¿Tienen dos enunciados exactamente los mismos modelos? |
P ∨ ¬P es válido; P ∧ ¬P es insatisfacible. P ⇒ Q y ¬P ∨ Q son equivalentes. La equivalencia exige consecuencia lógica en ambas direcciones. De A ∧ B se sigue A, pero A permite modelos con B falso, así que la consecuencia inversa no se cumple.
Convierte una consulta en una prueba de contradicción
KB ⊨ α exactamente cuando KB ∧ ¬α es insatisfacible. Añadir la consulta negada busca un mundo donde se cumpla la KB y falle la consulta. No encontrar ninguno demuestra la consecuencia lógica; encontrar uno proporciona un contramodelo. De forma equivalente, α ⊨ β exactamente cuando α ⇒ β es válido. La validez de α puede comprobarse, a su vez, determinando si ¬α es insatisfacible.
La conectiva ⇒ pertenece al interior de un enunciado. El símbolo ⊨ describe una relación entre enunciados y sus modelos. Del mismo modo, «no se sigue» puede significar que la consulta está descartada o que sigue siendo desconocida. Comprueba si su negación se sigue antes de elegir entre ambas posibilidades.
La enumeración es correcta y completa para la lógica proposicional porque comprueba exhaustivamente un conjunto finito. La enumeración en profundidad necesita O(2ⁿ) de tiempo y O(n) de memoria; 50 símbolos ya producen aproximadamente 1,13 × 10¹⁵ asignaciones. Determinar la consecuencia lógica proposicional es co-NP-completo. Comprueba también la consistencia: de una KB sin modelos se sigue cualquier enunciado, porque no tiene ningún modelo compatible que pueda incumplir una consulta.
Puntos clave
- La consecuencia lógica significa verdad en todos los modelos de la KB.
- Un contramodelo satisface la KB y hace falsa la consulta.
- Desconocido significa que no se sigue ni una afirmación ni su negación.
- KB ⊨ α exactamente cuando KB ∧ ¬α es insatisfacible.
- De una KB clásica inconsistente se sigue cualquier enunciado.
2Demuestra conclusiones mediante inferencia proposicional y resolvedores SAT
Enumerar todos los mundos posibles puede ser costoso incluso cuando una conclusión tiene una demostración corta. Las reglas de inferencia, la resolución y el encadenamiento de cláusulas de Horn ofrecen distintas formas de derivar consecuencias de una base de conocimientos. Los resolvedores SAT abordan las mismas restricciones lógicas buscando asignaciones que las satisfagan. Comprender qué devuelve cada procedimiento te ayuda a distinguir una conclusión demostrada, un contraejemplo y una búsqueda que simplemente se ha detenido.
2.1 Construye demostraciones con reglas de inferencia
Una demostración deriva una consulta aplicando reglas a enunciados ya conocidos. KB ⊢ α indica una derivación; KB ⊨ α indica una garantía semántica sobre los modelos. Un procedimiento de demostración correcto los conecta: toda conclusión que deriva realmente se sigue de la KB. Un procedimiento completo puede derivar toda conclusión que sea consecuencia lógica dentro del lenguaje al que se aplica.
Aplica reglas a sus premisas
Modus ponens permite obtener Q a partir de P ⇒ Q y P. La eliminación de la conjunción permite obtener cualquiera de los dos términos de P ∧ Q. Si se conocen SensorOn ∧ Calibrated y SensorOn ⇒ ReadingAvailable, la eliminación de la conjunción da SensorOn y después Modus ponens da ReadingAvailable. Cada línea indica la información y la regla que la justifican.
Estas reglas preservan la verdad, pero su vocabulario restringido hace que sean incompletas como sistema de demostración completo. De P se sigue semánticamente P ∨ Q, pero ninguna de las dos reglas introduce ∨. Un conjunto de reglas correctas puede aun así dejar sin obtener conclusiones válidas.
Reescribe sin cambiar el significado
Las equivalencias útiles pueden aplicarse en ambas direcciones:
- Doble negación: ¬¬P ≡ P.
- Implicación: P ⇒ Q ≡ ¬P ∨ Q.
- Contraposición: P ⇒ Q ≡ ¬Q ⇒ ¬P.
- Bicondicional: P ⇔ Q ≡ (P ⇒ Q) ∧ (Q ⇒ P).
- De Morgan: ¬(P ∨ Q) ≡ ¬P ∧ ¬Q, y ¬(P ∧ Q) ≡ ¬P ∨ ¬Q.
- Distribución: P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R), con la ley dual para ∧ sobre ∨.
La conjunción y la disyunción también permiten reagrupar y cambiar el orden. Estas reescrituras muestran la estructura útil de un enunciado sin añadir un nuevo supuesto sobre los hechos.
Para B₁₁ ⇔ (P₁₂ ∨ P₂₁) y ¬B₁₁, separa el bicondicional y selecciona (P₁₂ ∨ P₂₁) ⇒ B₁₁. La contraposición da ¬B₁₁ ⇒ ¬(P₁₂ ∨ P₂₁). Modus ponens da ¬(P₁₂ ∨ P₂₁); De Morgan da ¬P₁₂ ∧ ¬P₂₁. La eliminación de la conjunción demuestra entonces ¬P₁₂. La demostración nunca necesita enumerar todas las disposiciones posibles de la cueva.
Comprueba un atajo inválido
De P ⇒ Q y Q, inferir P es afirmar el consecuente. De P ⇒ Q y ¬P, inferir ¬Q es negar el antecedente. Ambos fallan en el modelo P falso, Q verdadero. Una caída del servidor puede impedir que cargue una página, pero un fallo de carga tiene otras posibles causas; la ausencia de una caída tampoco garantiza que cargue.
Encontrar una demostración es un problema de búsqueda. El estado inicial contiene la KB; una acción aplica una regla de inferencia y añade su conclusión; el estado objetivo contiene la consulta. La longitud de la demostración puede servir como costo del camino. Seleccionar enunciados relevantes evita dedicar esfuerzo a cadenas que no están relacionadas. La lógica clásica es monótona: añadir premisas preserva las consecuencias lógicas anteriores. Las reglas por defecto con excepciones necesitan otro tratamiento porque la información posterior puede retirar una conclusión por defecto anterior.
Puntos clave
- La inferencia correcta preserva la verdad de las premisas en la conclusión.
- Modus ponens necesita tanto una implicación como su premisa.
- Las equivalencias permiten reescribir un enunciado en ambas direcciones.
- Afirmar el consecuente y negar el antecedente son formas de inferencia inválidas.
- La búsqueda de una demostración añade enunciados justificados hasta llegar a la consulta.
- La consecuencia lógica clásica es monótona.
2.2 Demuestra la consecuencia lógica mediante resolución
La resolución demuestra la consecuencia lógica buscando una contradicción. Su entrada está en forma normal conjuntiva (CNF): una conjunción de cláusulas, cada una de ellas una disyunción de literales. Una cláusula de un solo literal es una cláusula unitaria. La cláusula vacía no tiene ningún literal que pueda ser verdadero y representa la falsedad.
Convierte enunciados en cláusulas
Primero elimina ⇔ y ⇒. Después desplaza las negaciones hacia el interior con las leyes de De Morgan y la eliminación de la doble negación. Por último, distribuye ∨ sobre ∧. Un bicondicional puede crear así varias cláusulas.
Para B₁₁ ⇔ (P₁₂ ∨ P₂₁), la primera dirección da ¬B₁₁ ∨ P₁₂ ∨ P₂₁. La inversa da ¬(P₁₂ ∨ P₂₁) ∨ B₁₁. Al desplazar la negación hacia el interior y distribuir se obtienen ¬P₁₂ ∨ B₁₁ y ¬P₂₁ ∨ B₁₁. Se necesitan las tres cláusulas para expresar el bicondicional completo.
Resuelve un par complementario
De P ∨ A y ¬P ∨ B, la resolución deriva A ∨ B. Sea cual sea el valor de P, al menos una de las partes restantes debe cumplirse. La resolución unitaria usa una cláusula de un solo literal: P con ¬P ∨ B da B. Los literales duplicados se eliminan mediante factorización, así que resolver A ∨ B con A ∨ ¬B da A.
Resuelve exactamente un par complementario cada vez. A ∨ B y ¬A ∨ ¬B son satisfacibles conjuntamente cuando A es verdadero y B es falso. Eliminar ambos pares daría incorrectamente la cláusula vacía. Resolver solo sobre A produce B ∨ ¬B, una tautología que no añade ninguna restricción.
Refuta la consulta negada
Para demostrar KB ⊨ α, añade ¬α, convierte el enunciado combinado a CNF y deriva nuevas cláusulas resolventes. Llegar a la cláusula vacía demuestra que no existe ningún contramodelo.
Para la consulta sobre el pozo ¬P₁₂, añade P₁₂. Resuélvelo con ¬P₁₂ ∨ B₁₁ para obtener B₁₁. Resuelve eso con el ¬B₁₁ observado para llegar a la cláusula vacía. La demostración establece la ausencia del pozo, no su presencia: el literal positivo del pozo era una consulta negada temporal.
Un segundo ejemplo usa R ⇒ C, (C ∨ I) ⇒ G y R. Las cláusulas CNF son ¬R ∨ C, ¬C ∨ G, ¬I ∨ G y R. Añade ¬G. Se resuelve con ¬C ∨ G para dar ¬C, que da ¬R usando la primera cláusula. Resolver ¬R con R cierra la refutación. No se necesitó ningún hecho sobre I.
La resolución proposicional es correcta y completa por refutación. Termina porque un número finito de símbolos permite un número finito de cláusulas distintas. Si el cierre exhaustivo no produce ninguna cláusula nueva ni contradicción, la consulta no es una consecuencia lógica. No tiene por qué derivar directamente todos los enunciados que son consecuencia lógica: a partir de A por sí solo, la resolución no construye A ∨ B.
La distribución puede ampliar la CNF de forma exponencial. Una codificación de Tseitin introduce símbolos para las subfórmulas y produce una CNF de tamaño lineal. El nuevo enunciado es equisatisfacible con el original; no tiene por qué ser lógicamente equivalente sobre el vocabulario ampliado. Preservar la satisfacibilidad basta para las pruebas de contradicción basadas en SAT.
Puntos clave
- La CNF es una conjunción de disyunciones de literales.
- La resolución elimina un par complementario por paso.
- La refutación añade la negación de la consulta.
- La cláusula vacía demuestra la insatisfacibilidad.
- La resolución proposicional es completa por refutación y termina.
- La codificación de Tseitin preserva la satisfacibilidad y controla el tamaño de la CNF.
2.3 Razona con cláusulas de Horn mediante encadenamiento hacia delante y hacia atrás
Las reglas con una sola conclusión positiva permiten un procedimiento de inferencia más sencillo que la resolución general. Una cláusula definida tiene exactamente un literal positivo; ¬A ∨ ¬B ∨ C se escribe A ∧ B ⇒ C. Un hecho tiene un cuerpo vacío. Una cláusula de Horn tiene como máximo un literal positivo, lo que incluye una cláusula objetivo sin ninguno, como A ∧ B ⇒ Falso.
Deja que los hechos dirijan las reglas
El encadenamiento hacia delante empieza con los hechos conocidos. Cuando se conocen todas las premisas de una regla, añade su cabeza. Continúa hasta que aparezca la consulta o se llegue a un punto fijo en el que no se añada nada. Las implementaciones eficientes mantienen una agenda de hechos nuevos y un contador de premisas no satisfechas por regla.
Toma PowerOn, FanSpinning y LoadLow como hechos. Las reglas son PowerOn ∧ FanSpinning ⇒ Cooling; Cooling ∧ LoadLow ⇒ TempNormal; PowerOn ⇒ LedLit; LedLit ∧ TempNormal ⇒ SystemOK; FanSpinning ⇒ NoiseHeard. Procesar PowerOn permite obtener LedLit y satisface parcialmente la regla de enfriamiento. FanSpinning permite obtener Cooling y NoiseHeard. Cooling junto con LoadLow da TempNormal, y después TempNormal junto con LedLit da SystemOK. NoiseHeard es una conclusión adicional válida aunque la consulta no la necesitara.
Deja que una consulta elija las reglas
El encadenamiento hacia atrás empieza con SystemOK. Su regla requiere LedLit y TempNormal. LedLit se reduce al hecho conocido PowerOn. TempNormal requiere Cooling y LoadLow; Cooling requiere PowerOn y FanSpinning. Todas las hojas son hechos, así que la consulta tiene éxito. La regla del ruido nunca se examina.
| Método | Punto de partida | Situación adecuada |
|---|---|---|
| Encadenamiento hacia delante | Hechos disponibles | Mantener las consecuencias a medida que llegan observaciones |
| Encadenamiento hacia atrás | Una conclusión solicitada | Responder una consulta concreta con reglas relevantes |
Para KB de cláusulas definidas y consultas atómicas, ambos métodos son correctos y completos con un control adecuado de la búsqueda. El encadenamiento proposicional hacia delante puede ejecutarse en tiempo lineal respecto al tamaño de la KB. En su punto fijo, asignar verdadero a los símbolos derivados y falso a todos los demás da un modelo de las cláusulas definidas.
Gestiona los ciclos sin perder respuestas
A ⇒ B y B ⇒ A producen un ciclo infinito en un procedimiento ingenuo hacia atrás. Una rama puede detenerse cuando su objetivo ya está en la pila de objetivos activos. Los subobjetivos demostrados pueden almacenarse, pero un fallo causado por un ciclo es temporal. Con B ⇒ A, A ⇒ B, C ⇒ A y el hecho C, un intento temprano de demostrar B mientras A está activo puede fallar. Después de demostrar A a partir de C, volver a intentar B tiene éxito. Guardar permanentemente ese primer fallo perdería la demostración. La tabulación de respuestas hace seguimiento de los objetivos dependientes y vuelve a examinarlos cuando aparecen respuestas.
El encadenamiento depende de la forma de las reglas. A ∨ B tiene dos literales positivos, así que no es una cláusula de Horn. Junto con A ⇒ C y B ⇒ C, implica C al considerar ambas alternativas. Ninguna regla definida se activa a partir de la disyunción por sí sola. La resolución general puede demostrar esta conclusión aunque el encadenamiento sencillo se estanque.
Puntos clave
- Las cláusulas definidas tienen un literal positivo; las de Horn tienen como máximo uno.
- El encadenamiento hacia delante está dirigido por los datos.
- El encadenamiento hacia atrás está dirigido por el objetivo.
- En un punto fijo no se añaden nuevos hechos.
- Los fallos debidos a ciclos no deben guardarse como definitivos.
- Las premisas disyuntivas pueden requerir un razonamiento que va más allá del encadenamiento.
2.4 Encuentra modelos con resolvedores SAT
Un resolvedor SAT busca una asignación que satisfaga todas las cláusulas de un enunciado en CNF. Un modelo devuelto puede comprobarse directamente. Un resultado insatisfacible descarta todas las asignaciones. SAT es NP-completo, pero las instancias estructuradas suelen admitir soluciones mucho más rápidas que la enumeración exhaustiva mediante tablas de verdad.
Reduce la búsqueda con DPLL
DPLL es un retroceso en profundidad con tres atajos. Un literal verdadero satisface toda su cláusula, mientras que una cláusula completamente falsa termina la rama. Un símbolo puro aparece con un solo signo entre las cláusulas no satisfechas, así que puede asignarse para satisfacer esas apariciones. Una cláusula unitaria solo tiene un literal restante que puede ser verdadero, al que debe asignarse verdadero. Repetir estas elecciones forzadas es la propagación unitaria.
Considera (A), (¬A ∨ B), (¬B ∨ C ∨ D), (¬C ∨ ¬D), (D ∨ E). E es puro, así que asígnale verdadero. La cláusula unitaria A obliga a que A sea verdadero, lo que obliga a que B sea verdadero. La restricción restante C ∨ D y la cláusula ¬C ∨ ¬D requieren que exactamente uno de C y D sea verdadero. Ramifica con C verdadero; la propagación obliga a que D sea falso. A, B, C y E verdaderos con D falso satisfacen todas las cláusulas.
Para (A ∨ B), (A ∨ ¬B), (¬A ∨ C), (¬A ∨ ¬C), ramifica sobre A. A falso obliga a que se cumplan tanto B como ¬B; A verdadero obliga a que se cumplan tanto C como ¬C. Ambas ramas entran en conflicto, así que todo el enunciado es insatisfacible.
Aprende de los conflictos
El aprendizaje de cláusulas dirigido por conflictos (CDCL) amplía esta búsqueda. Una cláusula aprendida bloquea una combinación responsable de un conflicto. El retroceso por saltos omite elecciones irrelevantes; la actividad de las variables guía la ramificación; los reinicios cambian el recorrido de búsqueda; los literales vigilados aceleran la propagación. Las cláusulas aprendidas están justificadas por la fórmula, así que preservan sus posibles soluciones.
Busca cambiando una asignación completa
WalkSAT empieza con una asignación completa aleatoria. Elige una cláusula no satisfecha e invierte una variable de ella, unas veces al azar y otras para dejar satisfechas el mayor número de cláusulas. Los movimientos aleatorios ayudan a escapar de trampas locales. Empezar con los cinco símbolos falsos en el ejemplo anterior deja falsos (A) y (D ∨ E). Invertir A corrige (A), pero deja de satisfacer (¬A ∨ B). Un movimiento puede reparar una cláusula y perjudicar otra.
| Resultado | DPLL o CDCL | WalkSAT |
|---|---|---|
| Se encuentra un modelo satisfactorio | Establece la satisfacibilidad | Establece la satisfacibilidad |
| La búsqueda termina sin modelo | El fallo exhaustivo demuestra la insatisfacibilidad | Un límite de inversiones deja la respuesta sin resolver |
Para comprobar la consecuencia lógica, proporciona KB ∧ ¬α. La insatisfacibilidad demuestra α; un modelo es un contraejemplo. Si WalkSAT agota el tiempo, ambas posibilidades siguen abiertas. En fórmulas 3-CNF aleatorias grandes, la proporción de cláusulas por variable tiene una transición estimada cerca de 4,26, y las instancias difíciles suelen estar cerca de ella. Es un patrón del conjunto, no un umbral que decida una fórmula individual. La estructura de las cláusulas y la estrategia del resolvedor también afectan a la dificultad.
Puntos clave
- La propagación unitaria realiza asignaciones forzadas.
- Las elecciones de símbolos puros preservan la satisfacibilidad.
- DPLL ramifica y retrocede; CDCL también aprende de los conflictos.
- WalkSAT busca entre asignaciones completas.
- Si WalkSAT agota el tiempo, la satisfacibilidad queda sin resolver.
- SAT comprueba la consecuencia lógica evaluando KB ∧ ¬α.
- El umbral de 3-SAT aleatorio describe una distribución, no cada instancia.
3Representa conocimientos en lógica de primer orden
Una regla sobre todos los objetos no debería necesitar un símbolo distinto para cada uno. La lógica de primer orden añade objetos, relaciones, funciones y cuantificadores para que un enunciado compacto pueda describir todo un dominio. Su poder expresivo también hace más importantes las decisiones de modelado: el orden de los cuantificadores, la identidad y los supuestos sobre hechos ausentes pueden cambiar las respuestas. Construye una pequeña base de conocimientos para ver cómo funcionan juntas estas decisiones.
3.1 Interpreta y evalúa enunciados de primer orden
La lógica de primer orden describe objetos y sus relaciones. En lugar de dar a cada casilla un símbolo independiente, puede expresar una regla para todas las casillas: ∀s (Breezy(s) ⇔ ∃r (Adjacent(r, s) ∧ Pit(r))). Los cuantificadores hacen que la generalidad forme parte del lenguaje.
Separa los objetos de las afirmaciones
Una constante nombra un objeto, como Ada. Una variable, como x, recorre los objetos. Una función asigna un objeto a objetos: MotherOf(Ada) es un término que se refiere a alguien. Un predicado forma una afirmación: Owns(Ada, Atlas) es verdadero o falso. Un término puede ser una constante, una variable o una función aplicada a términos.
Book(x) es un enunciado, no un objeto, así que Owns(Ada, Book(x)) coloca un tipo de expresión incorrecto en la posición de un argumento. La igualdad compara aquello a lo que se refieren los términos: MotherOf(Ada) = Clara dice que ambos términos denotan el mismo objeto.
Evalúa un enunciado en un modelo
Un modelo de primer orden proporciona un dominio no vacío y una interpretación. Las constantes denotan objetos del dominio, los predicados denotan relaciones y las funciones dan resultados para cada tupla adecuada de objetos del dominio. Un enunciado cuantificado universalmente debe cumplirse para cada posible valor de su variable; un enunciado existencial necesita al menos un testigo.
Sea el dominio {a, b, k}; Ada nombra a a, Ben nombra a b y Atlas nombra a k. Person contiene a y b, Book contiene k y Owns contiene solo (a, k). Owns(Ada, Atlas) es verdadero. ∃x (Book(x) ∧ Owns(Ben, x)) es falso porque Ben no posee ningún objeto. ∀x (Person(x) ⇒ ∃y (Book(y) ∧ Owns(x, y))) es falso porque Ben es un contraejemplo. Sin embargo, todo libro tiene propietario: se cumple ∀x (Book(x) ⇒ ∃y Owns(y, x)).
Explicita los supuestos de modelado
| Supuesto | Significado |
|---|---|
| Nombres únicos | Nombres de constante diferentes denotan objetos diferentes |
| Mundo cerrado | Un hecho atómico ausente de las consecuencias conocidas cuenta como falso |
| Cierre del dominio | Todo objeto tiene nombre |
La lógica de primer orden estándar no impone estos supuestos de bases de datos. Book(Atlas), Book(Beowulf), Owns(Ada, Atlas) y Owns(Ada, Beowulf) dejan sin determinar si los dos nombres denotan el mismo libro y si Ada posee más libros. Con la semántica de bases de datos, describen exactamente dos libros que posee Ada.
Para obtener esa afirmación exacta en la semántica estándar, conserva los cuatro hechos y añade ¬(Atlas = Beowulf) y ∀x ((Book(x) ∧ Owns(Ada, x)) ⇒ (x = Atlas ∨ x = Beowulf)). La desigualdad establece que hay dos libros distintos; la restricción universal excluye otros libros que Ada posea.
Los modelos de primer orden pueden tener dominios de tamaño arbitrariamente grande, así que el método de enumeración finita de los modelos proposicionales no proporciona aquí un procedimiento general de decisión. Los métodos de demostración trabajan, en cambio, con la estructura de los enunciados. Una variable libre necesita una asignación para su evaluación; vincula las variables cuando escribas una afirmación cerrada para la KB.
Puntos clave
- Los términos se refieren a objetos; los predicados forman afirmaciones.
- Un modelo proporciona un dominio e interpretaciones de los símbolos.
- ∀ comprueba todos los objetos; ∃ necesita un testigo.
- La lógica de primer orden estándar no supone nombres únicos ni un dominio cerrado.
- Los conteos exactos requieren distinción y una condición de cota superior.
3.2 Traduce enunciados a lógica de primer orden
La traducción empieza por determinar qué afirma el enunciado sobre cada objeto. El ámbito de los cuantificadores, la dirección de la implicación y la igualdad determinan el significado; los nombres de los predicados por sí solos no lo fijan. Los paréntesis hacen visible el ámbito pretendido.
Usa la conectiva adecuada con un cuantificador
«Todos los gatos son mamíferos» se convierte en ∀x (Cat(x) ⇒ Mammal(x)). Un objeto que no pertenece a la categoría satisface la implicación sin ser un gato. Escribir ∀x (Cat(x) ∧ Mammal(x)) hace incorrectamente que todo sea un gato.
«Algún gato es negro» se convierte en ∃x (Cat(x) ∧ Black(x)). El testigo debe satisfacer ambas propiedades. Con ∃x (Cat(x) ⇒ Black(x)), cualquier objeto que no sea un gato ya es un testigo, incluso en un mundo sin gatos negros. Las reglas universales sobre categorías suelen usar implicación; las afirmaciones existenciales sobre categorías suelen usar conjunción.
Comprueba quién puede depender de quién
∀x ∃y Loves(x, y) permite que cada x ame a una persona distinta. ∃y ∀x Loves(x, y) requiere una persona amada por todo el mundo. En un mundo de dos personas donde cada una ama solo a la otra, el primero se cumple y el segundo falla. Intercambiar cuantificadores de distintos tipos puede cambiar una afirmación; intercambiar dos cuantificadores universales adyacentes o dos existenciales adyacentes la preserva.
La negación intercambia los cuantificadores: ¬∀x P(x) ≡ ∃x ¬P(x), y ¬∃x P(x) ≡ ∀x ¬P(x). Por tanto, «No todos los estudiantes aprobaron» significa ∃x (Student(x) ∧ ¬Passed(x)). Requiere un estudiante que no aprobó; no afirma que todos los estudiantes hayan reprobado.
Expresa dirección y número
«Solo los miembros toman prestado» significa ∀x (Borrows(x) ⇒ Member(x)). Tomar prestado basta para establecer la pertenencia, mientras que pertenecer por sí solo no dice nada sobre tomar prestado. «Ningún reptil es mamífero» significa ∀x (Reptile(x) ⇒ ¬Mammal(x)).
Para expresar que Ada posee al menos dos libros, escribe ∃x ∃y (Book(x) ∧ Book(y) ∧ Owns(Ada, x) ∧ Owns(Ada, y) ∧ ¬(x = y)). La desigualdad importa: dos nombres de variable pueden referirse al mismo objeto. Para exactamente uno se usa un testigo más unicidad: ∃x (Book(x) ∧ Owns(Ada, x) ∧ ∀y ((Book(y) ∧ Owns(Ada, y)) ⇒ y = x)).
Da a las definiciones ambas direcciones
Una definición de hermanos puede ser ∀x ∀y (Sibling(x, y) ⇔ (¬(x = y) ∧ ∃p (Parent(p, x) ∧ Parent(p, y)))). La primera dirección impone condiciones a los hermanos; la inversa permite que los hechos sobre un progenitor compartido establezcan que son hermanos. Una implicación en una sola dirección aporta solo la mitad de ese significado.
En el dominio de un agente, las reglas diagnósticas van de las observaciones a las posibles causas, mientras que las reglas causales van de las causas a los efectos. «Toda casilla con brisa tiene un pozo adyacente» es diagnóstica. «Todo pozo hace que haya brisa en todas las casillas adyacentes» es causal. Juntas respaldan el bicondicional completo de la brisa. Termina una traducción comprobando la vinculación de cada variable y probando un mundo pequeño donde la afirmación en lenguaje natural debería ser falsa.
Puntos clave
- Las reglas universales sobre categorías usan implicación; los testigos existenciales usan conjunción.
- El orden de los cuantificadores determina si los testigos pueden variar.
- La negación intercambia ∀ y ∃.
- «Solo» invierte una dirección de implicación que suele elegirse por error.
- Contar requiere igualdad o desigualdad.
- Las definiciones suelen necesitar un bicondicional.
3.3 Construye una base de conocimientos para un dominio
Construir una base de conocimientos útil es una tarea de modelado. La notación formal solo ayuda una vez elegidos las preguntas, los objetos y las relaciones pertinentes. La ingeniería del conocimiento convierte esas elecciones en axiomas que pueden comprobarse frente a los ejemplos previstos.
Construye a partir de las preguntas
Una secuencia práctica consiste en identificar la tarea, recopilar los conocimientos pertinentes, elegir un vocabulario, escribir axiomas generales, añadir hechos de la instancia, plantear consultas y depurar los resultados. Empieza con preguntas concretas como «¿Puede este estudiante inscribirse en este curso?». Esa pregunta determina lo que la representación debe permitir.
Para la inscripción, usa Student(s), Course(c), Prereq(p, c), Passed(s, c) y CanEnroll(s, c). Prereq(p, c) significa que p debe aprobarse antes de c; invertir sus argumentos invertiría la dependencia. Una regla es ∀s ∀c ((Student(s) ∧ Course(c) ∧ ∀p (Prereq(p, c) ⇒ Passed(s, p))) ⇒ CanEnroll(s, c)). Exige todos los requisitos previos, no solo uno.
Separa las reglas reutilizables de una instancia
Supón que los hechos son Student(Mia), Course(AI), Prereq(Logic, AI), Prereq(Programming, AI), Passed(Mia, Logic) y Passed(Mia, Programming). La regla general puede reutilizarse para otros estudiantes y cursos, mientras que estos hechos de la instancia describen un caso.
En la lógica de primer orden estándar, estos hechos dejan abierta la posibilidad de que haya requisitos previos adicionales para AI. Un modelo compatible podría incluir un tercer requisito previo no aprobado, así que CanEnroll(Mia, AI) aún no es una consecuencia lógica. Añade ∀p (Prereq(p, AI) ⇔ (p = Logic ∨ p = Programming)) para completar la lista. Ahora cada requisito previo es uno de los dos cursos aprobados y se aplica la regla de inscripción. Una base de datos de mundo cerrado puede obtener la misma respuesta tratando como falsos los hechos ausentes sobre requisitos previos.
Elige qué se convierte en objeto
Una ontología es el vocabulario y sus supuestos estructurales. Red(x) trata el rojo como una propiedad. Color(x, Red) convierte Red en un objeto, lo que permite que ∃c (Color(x, c) ∧ Color(y, c)) exprese un color compartido. Este paso es la reificación: permite que el lenguaje hable de una propiedad o categoría como algo por derecho propio.
ASK puede preguntar si se sigue CanEnroll(Mia, AI). ASKVARS puede solicitar vinculaciones para CanEnroll(x, AI), devolviendo una sustitución como {x/Mia}. La misma KB permite tanto preguntas de verdad como consultas sobre objetos que coinciden.
Depura el significado, no solo la sintaxis
Un axioma ausente puede impedir una consecuencia lógica deseada; un axioma incorrecto puede respaldar una no deseada. Prueba ejemplos positivos, negativos y casos límite. La regla ∀c (Course(c) ⇒ ∃t Teaches(t, c)) es demasiado fuerte si algunos cursos aún no tienen profesor. La regla ∀p ∀c (Prereq(p, c) ⇒ Passed(Mia, p)) es demasiado fuerte porque atribuye a Mia la aprobación de todos los requisitos previos de todos los cursos.
Los nombres de los predicados son etiquetas para el sistema de razonamiento. Llamar Prereq a una relación no proporciona por sí solo ninguna política de inscripción. Las reglas deben conectar los hechos sobre requisitos previos, los cursos aprobados y la posibilidad de inscripción en la dirección pretendida.
Puntos clave
- Elige las preguntas antes de elegir el vocabulario.
- Mantén separados los axiomas generales de los hechos de la instancia.
- Un requisito universal puede necesitar una lista completa bajo la semántica de mundo abierto.
- ASKVARS devuelve sustituciones que satisfacen la consulta.
- La reificación permite usar una propiedad o categoría como objeto.
- Depura tanto los axiomas ausentes como los excesivamente fuertes.
4Realiza inferencias en lógica de primer orden
Las reglas con variables solo resultan útiles cuando el sistema de razonamiento puede hacerlas coincidir con hechos concretos. La sustitución y la unificación proporcionan esa correspondencia, lo que permite que el encadenamiento y la resolución trabajen directamente con enunciados de primer orden. Sigue cómo avanzan las vinculaciones en una demostración, cómo los testigos existenciales conservan sus dependencias y cómo el control de la búsqueda determina si una implementación llega realmente a una respuesta justificada lógicamente.
4.1 Haz coincidir enunciados mediante sustitución y unificación
La inferencia de primer orden trabaja con patrones que contienen variables. La sustitución reemplaza variables por términos; la unificación encuentra reemplazos que hacen idénticas dos expresiones. Juntas permiten que una regla general sirva para muchos hechos concretos sin generar antes todas las instancias posibles.
Instancia con cuidado los enunciados cuantificados
La instanciación universal sustituye una variable vinculada universalmente por cualquier término sin variables. De ∀x (Cat(x) ⇒ Mammal(x)), deriva Cat(Tom) ⇒ Mammal(Tom), o la instancia correspondiente con MotherOf(Tom). Un término sin variables no contiene ninguna variable.
La instanciación existencial introduce un nombre nuevo para un testigo. De ∃x (Crown(x) ∧ OnHead(x, John)), introduce una constante nueva C₁ y añade Crown(C₁) y OnHead(C₁, John). Nombrar en cambio a Ben como testigo identificaría incorrectamente un objeto no especificado con uno existente. La KB ampliada preserva la satisfacibilidad, no la equivalencia en el vocabulario ampliado.
La proposicionalización genera instancias sin variables y después usa razonamiento proposicional. Los símbolos de función pueden producir infinitos términos: Ada, MotherOf(Ada), MotherOf(MotherOf(Ada)), y así sucesivamente. Las consultas de primer orden que son consecuencia lógica tienen demostraciones finitas, pero un demostrador general puede ejecutarse indefinidamente cuando la consulta no lo es. Esto es la semidecidibilidad.
Encuentra una sustitución consistente
Para unificar Knows(Ana, x) con Knows(y, Bo), comprueba primero que coincidan el predicado y la aridad. Los primeros argumentos requieren y = Ana; los segundos requieren x = Bo. La sustitución {y/Ana, x/Bo} convierte ambas expresiones en Knows(Ana, Bo).
Knows(Ana, x) y Knows(y, MotherOf(y)) dan en cambio {y/Ana, x/MotherOf(Ana)}. Una vinculación debe propagarse por los demás términos. Si la misma variable x aparece en ambas expresiones Knows(Ana, x) y Knows(x, Bo), tendría que convertirse tanto en Ana como en Bo, así que la unificación sintáctica falla.
Las variables de enunciados cuantificados por separado son independientes. El renombrado de variables para evitar coincidencias cambia sus nombres antes de combinar enunciados. Renombrar la segunda x como z en ese último par permite {z/Ana, x/Bo}. Esto preserva la independencia prevista de las variables locales de dos reglas.
Un unificador más general (MGU) no impone vinculaciones innecesarias. Knows(Ana, x) y Knows(y, z) se unifican con {y/Ana, x/z}; asignar también Ana a z haría el resultado más específico sin necesidad. La comprobación de ocurrencias rechaza x = MotherOf(x), ya que un término finito no puede contenerse a sí mismo. La unificación ordinaria de Prolog puede permitir términos cíclicos, así que hay que prestar atención a su comportamiento cuando se pretende usar lógica de primer orden con términos finitos.
Aplica la regla que coincide
El Modus ponens generalizado hace coincidir todas las premisas con una única sustitución consistente. Owns(Ada, Atlas) y Book(Atlas) coinciden con Owns(x, y) ∧ Book(y) ⇒ Reader(x) mediante {x/Ada, y/Atlas}, lo que da Reader(Ada). Hacer coincidir una premisa con y = Atlas y otra con y = Beowulf no justificaría activar la regla: las variables compartidas obligan a usar los mismos objetos.
Puntos clave
- Las sustituciones reemplazan variables por términos.
- Los testigos existenciales necesitan nombres nuevos.
- La unificación debe satisfacer de forma consistente todas las correspondencias entre argumentos.
- Renombra las variables independientes para evitar coincidencias.
- Un MGU deja abiertas las elecciones innecesarias.
- La comprobación de ocurrencias excluye términos finitos que se contienen a sí mismos.
- El Modus ponens generalizado usa una sola sustitución para todas las premisas.
4.2 Aplica el encadenamiento hacia delante y hacia atrás con reglas de primer orden
Una cláusula definida de primer orden tiene premisas atómicas y una conclusión atómica, y se entiende que sus variables están cuantificadas universalmente. El encadenamiento hacia delante y hacia atrás usa la unificación para aplicar estas reglas a objetos nombrados. Datalog conserva esta forma de regla y excluye los símbolos de función, lo que da un espacio finito de posibles hechos sin variables en el marco habitual de bases de datos finitas.
Deriva ubicaciones alcanzables
Toma Link(A, B), Link(B, C) y Link(C, D). Usa Link(x, y) ⇒ Reach(x, y), y Link(x, y) ∧ Reach(y, z) ⇒ Reach(x, z). En rondas síncronas, cada regla lee los hechos disponibles antes de esa ronda.
La ronda 1 deriva Reach(A, B), Reach(B, C) y Reach(C, D). La ronda 2 añade Reach(A, C) y Reach(B, D). La ronda 3 añade Reach(A, D). La ronda 4 no añade nada. Hay seis hechos Reach en el punto fijo. Una implementación que reutiliza inmediatamente los hechos nuevos puede encontrarlos en otro orden, pero llega al mismo cierre.
Con n constantes y predicados de aridad como máximo k, solo es posible un número finito de tuplas; una cota superior es p · nᵏ para p predicados. En cambio, NatNum(0) y NatNum(n) ⇒ NatNum(S(n)) generan términos de profundidad creciente sin fin. Los símbolos de función eliminan la garantía de un dominio finito.
Hacer coincidir una regla de varias premisas es un problema de restricciones. Una premisa selectiva puede reducir mucho las sustituciones consideradas a continuación. El encadenamiento hacia delante incremental se centra en las reglas afectadas por los hechos recién añadidos. Las redes Rete conservan coincidencias parciales entre actualizaciones, lo que evita repetir trabajo en los sistemas de reglas de producción.
Trabaja hacia atrás con vinculaciones
Para demostrar Reach(A, D), prueba la regla de enlace directo, que requiere el hecho ausente Link(A, D). La regla recursiva requiere en cambio Link(A, y) y Reach(y, D). La primera vincula y con B. Continuar por B y C lleva al hecho conocido Link(C, D). La consulta Reach(A, w) tiene tres respuestas: w = B, C o D.
Prolog escribe las reglas con la cabeza primero y usa variables en mayúscula y constantes en minúscula:
reach(X, Y) :- link(X, Y).
reach(X, Z) :- link(X, Y), reach(Y, Z).
Prueba las cláusulas de arriba abajo y las premisas de izquierda a derecha mediante encadenamiento hacia atrás en profundidad. La aritmética puede usar N is M + 1. La negación por fallo, escrita \+ p, tiene éxito si el intento de demostrar p falla en un número finito de pasos. Es una comprobación operativa del fallo, no una demostración general de negación clásica.
Evita que la recursión atrape la búsqueda
Poner reach(X, Y) primero en el cuerpo recursivo puede llamar inmediatamente otra vez al mismo objetivo sin resolver. Ayudan las cláusulas base primero y una recursión que consume un enlace, pero los ciclos aún pueden atrapar búsquedas sin éxito. La tabulación de respuestas registra las respuestas a los subobjetivos y gestiona las dependencias repetidas. El encadenamiento hacia delante es completo para Datalog finito; la búsqueda ingenua hacia atrás en profundidad necesita este tipo de control para evitar que se pierdan respuestas alcanzables tras ramas infinitas.
Puntos clave
- El encadenamiento de primer orden hace coincidir reglas mediante sustituciones.
- Datalog excluye los símbolos de función y tiene un número finito de hechos sin variables.
- El encadenamiento hacia delante alcanza un punto fijo.
- Prolog usa encadenamiento hacia atrás en profundidad y ordenado.
- La negación por fallo requiere un fallo en un número finito de pasos.
- La tabulación de respuestas gestiona subobjetivos repetidos y sus respuestas.
4.3 Demuestra consultas de primer orden mediante resolución
La resolución de primer orden amplía el razonamiento con cláusulas mediante la unificación. Puede demostrar conclusiones que implican objetos sin nombre porque los términos de Skolem conservan las dependencias de los testigos existenciales. Como en la refutación proposicional, empieza con la KB y la negación de la consulta.
Prepara cláusulas de primer orden
Elimina ⇔ y ⇒, desplaza las negaciones hacia el interior, renombra las variables vinculadas para evitar coincidencias, Skolemiza las variables existenciales, elimina los cuantificadores universales y después distribuye ∨ sobre ∧. Es importante desplazar primero la negación porque ¬∀x P(x) se convierte en ∃x ¬P(x), lo que cambia el tipo de testigo necesario.
Para «Todo curso tiene un profesor», ∀c (Course(c) ⇒ ∃t Teaches(t, c)), el profesor existencial puede depender de c. Introduce una función nueva T(c) para obtener ¬Course(c) ∨ Teaches(T(c), c). Una sola constante impondría un profesor compartido, algo que el enunciado original no exige. Para ∃t ∀c (Course(c) ⇒ Teaches(t, c)), una constante nueva es adecuada porque el testigo precede al cuantificador universal.
«No todas las aves vuelan» se convierte en ∃x (Bird(x) ∧ ¬Flies(x)), y después en Bird(B₁) y ¬Flies(B₁). Ambas cláusulas usan el mismo testigo nuevo. La Skolemización preserva la satisfacibilidad; no es una equivalencia ordinaria sobre el vocabulario ampliado.
Aplica un unificador a toda la resolvente
Renombra las variables de las dos cláusulas para evitar coincidencias. Encuentra literales complementarios que se unifiquen, elimínalos y aplica su MGU a cada literal restante. La factorización también fusiona literales unificables dentro de una cláusula. La resolución con factorización es completa por refutación para cláusulas de primer orden.
Toma ¬Course(c) ∨ Teaches(T(c), c), ¬Teaches(u, v) ∨ Staff(u) y Course(Logic). La consulta es ∃w Staff(w); su negación da ¬Staff(w), cuantificado universalmente. Resuelve el hecho del curso con la primera cláusula para obtener Teaches(T(Logic), Logic). Resuelve con la segunda mediante {u/T(Logic), v/Logic}, lo que da Staff(T(Logic)). Resuelve con ¬Staff(w) mediante {w/T(Logic)} para llegar a la cláusula vacía. Existe un miembro del personal aunque la KB nunca dé a esa persona un nombre ordinario.
Controla la búsqueda de cláusulas
La preferencia por cláusulas unitarias elige primero las cláusulas cortas. El conjunto de soporte requiere una cláusula progenitora procedente de la consulta negada o de sus descendientes y preserva la completitud cuando el resto de la KB es satisfacible. La resolución de entrada requiere una cláusula progenitora original en cada paso y es completa para KB de Horn. La subsunción elimina una cláusula más débil ya cubierta por una más fuerte y general, como eliminar P(Ana) ∨ Q(Bo) cuando se conoce P(x).
La igualdad necesita un tratamiento específico: axiomas de igualdad, reescritura mediante ecuaciones por demodulación o inferencias como la paramodulación. La resolución puramente sintáctica por sí sola no recoge todos los significados de la igualdad. Una búsqueda completa y equitativa encuentra una contradicción para todo conjunto insatisfacible de cláusulas de primer orden, pero puede ejecutarse indefinidamente en otros casos. Entre los demostradores basados en resolución están Vampire y E; EQP demostró la conjetura de Robbins en 1996.
Puntos clave
- Niega la consulta antes de convertirla.
- Desplaza la negación hacia el interior antes de elegir los testigos de Skolem.
- Una función de Skolem registra la dependencia de variables universales.
- Aplica el unificador a cada literal restante.
- La resolución con factorización es completa por refutación.
- La igualdad y el control de la búsqueda necesitan un tratamiento explícito.
5Organiza conocimientos en ontologías y grafos de conocimiento
Las grandes colecciones de hechos necesitan una estructura compartida. Las categorías y las ontologías organizan qué tipos de cosas existen y cómo se relacionan, mientras que los grafos de conocimiento registran entidades y enlaces concretos. El razonamiento puede ampliar esos enlaces, las consultas pueden recuperar objetos que coinciden y los modelos estadísticos pueden sugerir adiciones. Estas operaciones responden a preguntas distintas, por lo que sus resultados necesitan interpretaciones diferentes cuando un grafo es incompleto.
5.1 Estructura conocimientos con categorías y ontologías
Una ontología organiza las categorías, los objetos, las relaciones y los supuestos de un dominio. Una ontología de nivel superior proporciona ideas generales como objetos, sucesos y tiempo; una ontología de dominio proporciona las distinciones útiles en un campo particular. Las ontologías clínicas y biológicas ilustran por qué un vocabulario compartido útil suele servir a una comunidad específica.
Mantén separadas la pertenencia y la relación de subclase
Una categoría puede aparecer como predicado, Laptop(x), o como objeto, Laptops. La pertenencia x ∈ Laptops dice que un individuo pertenece a ella. Laptops ⊂ Computers dice que toda computadora portátil es una computadora. Una taxonomía organiza estas relaciones de subclase en una jerarquía. Si toda computadora tiene un procesador, las computadoras portátiles heredan esa propiedad.
La relación de subclase es transitiva: Penguins ⊂ Birds y Birds ⊂ Animals dan Penguins ⊂ Animals. La pertenencia no es transitiva. Pingu ∈ Penguins y Penguins ∈ Species no hacen que Pingu sea una especie. Un enunciado se refiere a un ave individual; el otro se refiere a una categoría tratada como objeto.
Las categorías son disjuntas cuando no comparten miembros. Una descomposición exhaustiva cubre todos los miembros de la categoría superior. Una partición cumple ambas condiciones: los enteros negativos, el cero y los enteros positivos forman una partición de los enteros. La exhaustividad permite solapamientos a menos que también se indique que las categorías son disjuntas.
Representa partes, sucesos y valores heredados
PartOf describe composición, no pertenencia a una categoría. PartOf es transitiva: un radio que pertenece a una rueda que pertenece a una bicicleta es parte de la bicicleta. Eso no convierte a una bicicleta en un tipo de rueda. Los sucesos también pueden ser objetos: Happens(e, t), Initiates(e, f, t) y HoldsAt(f, t) conectan sucesos con fluentes cambiantes. Encender una lámpara inicia un fluente que persiste hasta que un suceso lo termina.
Una red semántica representa objetos y categorías como nodos con relaciones etiquetadas. En una red con valores por defecto, «las aves normalmente vuelan» puede proporcionar un valor heredado por las aves ordinarias, mientras que una categoría más específica de pingüinos lo sustituye. Esto es distinto de afirmar el axioma clásico sin excepciones ∀x (Bird(x) ⇒ Flies(x)), que también se aplicaría a los pingüinos.
Elige el lenguaje de razonamiento
| Enfoque | Principal ventaja | Restricción importante |
|---|---|---|
| Red semántica | Caminos de relaciones y herencia fáciles de interpretar | Una red sencilla carece de negación y disyunción arbitrarias de la lógica de primer orden |
| Lógica descriptiva | Definiciones de categorías y razonamiento decidible | La expresividad está restringida deliberadamente |
| Razonamiento por defecto | Reglas típicas con excepciones | Las conclusiones pueden retirarse |
Las lógicas descriptivas permiten comprobar la subsunción, la clasificación y la consistencia. Una definición puede clasificar a una persona con al menos tres hijos en una categoría adecuada. Estas lógicas son la base de los lenguajes de lógica descriptiva de OWL.
El razonamiento por defecto es no monótono: saber que un ave es un pingüino puede retirar la conclusión por defecto de que vuela. La circunscripción minimiza los casos anómalos en reglas como Bird(x) ∧ ¬Abnormal(x) ⇒ Flies(x). La lógica por defecto permite conclusiones mientras sigan siendo consistentes con los conocimientos. Los sistemas de mantenimiento de la verdad registran el soporte para que puedan eliminarse las conclusiones que dependen de una creencia retirada.
Puntos clave
- Una ontología proporciona un vocabulario formal y supuestos.
- La pertenencia difiere de la relación de subclase; solo esta última es transitiva en la jerarquía de categorías.
- Una partición es disjunta y exhaustiva.
- PartOf y la relación de subclase describen relaciones distintas.
- Las lógicas descriptivas sacrifican expresividad para lograr un razonamiento decidible.
- Las conclusiones por defecto pueden retirarse cuando aparecen excepciones.
5.2 Explica cómo almacenan y usan hechos los grafos de conocimiento
Un grafo de conocimiento almacena entidades y sus relaciones como un grafo dirigido. Una arista sencilla se convierte en una tripleta: sujeto, predicado, objeto. Por ejemplo, (Ada, worksAt, Lab) corresponde a WorksAt(Ada, Lab); (Ada, type, Researcher) expresa la pertenencia a una categoría. Un esquema da a estas etiquetas un significado compartido y permite realizar más inferencias.
Distingue los estándares web
RDF representa grafos como tripletas. Los sujetos son IRI o nodos en blanco, los predicados son IRI y los objetos también pueden ser valores literales. Los IRI identifican recursos entre conjuntos de datos; un nodo en blanco representa un recurso sin darle un identificador global. RDFS añade clases, relaciones de subclase y el dominio y rango de las propiedades. OWL proporciona definiciones de ontologías más ricas. SPARQL hace coincidir patrones de grafos para devolver vinculaciones de variables. Los grafos de propiedades ofrecen otro modelo con propiedades de clave–valor en nodos y aristas; Cypher y GQL son lenguajes de consulta para esa familia.
Si Ada está clasificada como Researcher y Researcher es una subclase de Scientist, una regla de subclase deriva que Ada es Scientist. Esto es encadenamiento hacia delante de primer orden sobre Member(x, c) ∧ Subset(c, d) ⇒ Member(x, d). Un motor de consultas de grafos necesita soporte para la consecuencia lógica pertinente o conclusiones materializadas para mostrar este hecho inferido.
Haz coincidir una consulta y conserva los detalles
Con ex: declarado como prefijo de IRI, una consulta puede ser:
SELECT ?p WHERE {
?p a ex:Researcher .
?p ex:worksAt ex:Lab .
}
El mismo ?p debe satisfacer ambos patrones. Es una combinación, no dos búsquedas independientes. Los resultados son vinculaciones como ?p = ex:Ada, similares a las sustituciones en consultas lógicas.
Una arista binaria no puede expresar por sí sola todos los papeles de un suceso fechado. Para un premio, crea un nodo de suceso o enunciado y conéctalo con el destinatario, el premio y el año. Esto mantiene juntos los detalles de un premio y evita asociar accidentalmente la fecha a todos los premios de ese tipo. Wikidata admite calificadores de enunciados para estos detalles.
Separa los enlaces ausentes, inferidos y predichos
RDF y OWL usan una interpretación de mundo abierto: una arista ausente sobre el cónyuge deja la relación como desconocida. Las aplicaciones de mundo cerrado toman una decisión distinta sobre los hechos ausentes. Un resultado vacío informa de que no hay coincidencias con esa configuración de consulta; por sí solo no establece un hecho negativo universal.
Wikidata, DBpedia, el Knowledge Graph de Google y los grafos internos de organizaciones permiten realizar consultas sobre hechos, vincular registros, apoyar recomendaciones y recuperar información para sistemas generativos. Sus hechos pueden ser incompletos o estar desactualizados. La resolución de entidades identifica registros que se refieren a lo mismo incluso cuando los identificadores son distintos.
Las representaciones vectoriales asignan vectores a entidades y relaciones. En TransE, la suma del vector de cabeza y el vector de relación se entrena para que esté cerca del vector de cola. Una puntuación alta sugiere un enlace ausente; es una predicción estadística. La inferencia lógica deriva una consecuencia a partir de hechos y reglas expresados. Mantén visible esta diferencia al decidir si una nueva arista pertenece a los hechos verificados.
Puntos clave
- Una tripleta registra una relación dirigida de sujeto–predicado–objeto.
- RDF, RDFS, OWL y SPARQL cumplen funciones distintas.
- Las variables de consulta compartidas combinan patrones.
- Los nodos de sucesos mantienen juntos los hechos de varias partes.
- Una arista ausente es desconocida bajo la semántica de mundo abierto.
- Los enlaces predichos necesitan comprobación; no son consecuencias lógicas.
- La resolución de entidades conecta identificadores distintos para la misma cosa.
6Formula y resuelve problemas de planificación clásica
Un problema de planificación conecta descripciones lógicas con acciones. Representa el estado actual, las condiciones que necesita cada acción y los hechos que cambia; después busca una secuencia que alcance el objetivo. La estructura de las acciones permite razonar hacia atrás y obtener heurísticas útiles, pero los subobjetivos pueden interferir entre sí. Comparar la búsqueda de estados, las codificaciones SAT y el refinamiento de tareas muestra cómo los planificadores gestionan esa dificultad y dónde los supuestos clásicos necesitan ampliarse.
6.1 Describe un problema de planificación en PDDL
La planificación clásica busca acciones que lleven un estado inicial conocido hasta un objetivo. El modelo es completamente observable, determinista, discreto y de un solo agente; el mundo cambia mediante las acciones modeladas. Una representación factorizada describe cada estado mediante fluentes, de modo que un planificador puede razonar sobre lo que cambia cada acción.
Escribe el estado y los esquemas de acción
En el fragmento básico de PDDL de estilo STRIPS, un estado enumera los fluentes atómicos verdaderos sin variables. Los fluentes no enumerados son falsos según el supuesto de mundo cerrado. El dominio reutilizable declara predicados y esquemas de acción; el problema declara objetos, el estado inicial y un objetivo. PDDL se presentó para la competición de planificación de 1998, basándose en STRIPS.
Un esquema de acción tiene parámetros, una precondición y efectos. Go(r, from, to) requiere At(r, from) y Connected(from, to); añade At(r, to) y elimina At(r, from). Pick(r, p, l) requiere At(r, l), In(p, l) y HandEmpty(r); añade Holding(r, p) y elimina In(p, l) y HandEmpty(r). Drop requiere ubicación y posesión; añade la ubicación del paquete y una mano vacía, y elimina la posesión.
Una acción sin variables solo se aplica cuando se cumplen sus precondiciones. Su actualización es RESULT(s, a) = (s − DEL(a)) ∪ ADD(a). Los demás fluentes persisten, incluidos los hechos estáticos Connected. Esta persistencia implícita gestiona el problema del marco sin un axioma separado para cada fluente que no se ve afectado.
Sigue una entrega de cuatro acciones
Inicialmente R está en Dock, Box está en Shelf y la mano de R está vacía. Los enlaces Connected unen Dock con Shelf y Shelf con Packing en ambas direcciones. El objetivo es In(Box, Packing).
- Go(R, Dock, Shelf) cambia la ubicación de R y conserva los hechos sobre la caja y la mano.
- Pick(R, Box, Shelf) retira la caja del estante y hace que R la sostenga.
- Go(R, Shelf, Packing) mueve a R mientras conserva Holding(R, Box).
- Drop(R, Box, Packing) coloca la caja en Packing y libera la mano.
El objetivo deja sin especificar la ubicación final del robot salvo donde las acciones la requieren. En general, los objetivos describen muchos estados aceptables, no un único estado completo.
Interpreta y comprueba un esquema
(:action pick
:parameters (?r ?p ?l)
:precondition (and (at ?r ?l) (in ?p ?l) (hand-empty ?r))
:effect (and (holding ?r ?p)
(not (in ?p ?l)) (not (hand-empty ?r))))
Omitir un efecto de eliminación puede dejar a un robot en dos lugares o a un paquete sostenido y en un estante a la vez. Poner una condición necesaria solo en un efecto hace que la acción la cree en lugar de comprobarla.
En el mundo de los bloques, mover un bloque libre b desde x hasta encima de un bloque libre y requiere On(b, x), Clear(b), Clear(y), Block(b), Block(y) y ¬(b = y). Añade On(b, y) y Clear(x), y elimina On(b, x) y Clear(y). Las comprobaciones de que son distintos y de que son bloques impiden apilar un bloque sobre sí mismo y tratar la mesa como un solo bloque. Una acción MoveToTable separada mantiene la mesa disponible para otros bloques.
Puntos clave
- Los estados contienen fluentes verdaderos sin variables; los fluentes ausentes son falsos.
- Una acción debe satisfacer sus precondiciones antes de ejecutarse.
- Los efectos de eliminación retiran hechos y los de adición incorporan hechos.
- Los hechos no mencionados persisten.
- Un dominio es reutilizable; un problema proporciona objetos, hechos iniciales y objetivos.
- Las comprobaciones del modelo impiden acciones sin variables imposibles.
6.2 Busca planes con heurísticas independientes del dominio
Un modelo de planificación define un espacio de búsqueda, pero elegir acciones útiles sigue siendo difícil. La progresión busca hacia delante entre estados completos. La regresión busca hacia atrás entre las condiciones que debe satisfacer un estado anterior. Ambas pueden reutilizar métodos generales de búsqueda y aprovechar la estructura de las acciones.
Busca desde cualquiera de los dos extremos
La progresión empieza en el estado inicial y aplica acciones sin variables que sean aplicables. Puede malgastar esfuerzo en acciones irrelevantes: un robot, 20 cajas y 10 ubicaciones ya dan 200 combinaciones Pick posibles sin variables antes de filtrar por aplicabilidad.
La regresión considera una acción que logra un literal del objetivo sin negar otro. Regresa un conjunto objetivo g a través de a eliminando los literales logrados y añadiendo las precondiciones: g′ = (g − EFFECT(a)) ∪ PRECOND(a). EFFECT incluye literales positivos y negativos con su signo. Rechaza un resultado inconsistente que contenga un literal y su negación.
Para In(Box, Packing) ∧ At(R, Dock), regresar a través de Drop(R, Box, Packing) da Holding(R, Box) ∧ At(R, Packing) ∧ At(R, Dock). Estas condiciones entran en conflicto con el invariante previsto de una sola ubicación. Un plan válido debe entregar la caja antes del regreso final del robot. Regresar en cambio a través de Go(R, Shelf, Dock) da In(Box, Packing) ∧ At(R, Shelf) ∧ Connected(Shelf, Dock), que conserva la entrega del paquete.
Estima la distancia mediante problemas más sencillos
Una heurística es admisible cuando nunca sobreestima el costo óptimo restante. A* con una heurística admisible encuentra un plan óptimo. Contar los objetivos no satisfechos no siempre es admisible: una sola acción podría lograr varios.
Ignorar las precondiciones hace que todas las acciones puedan usarse de inmediato. Ignorar los efectos de eliminación hace permanente el progreso, para problemas expresados con precondiciones y objetivos positivos. Las condiciones negativas deben convertirse primero en fluentes positivos mantenidos explícitamente. La longitud óptima del plan relajado h⁺ es una cota inferior de la longitud del plan real, pero calcularla es NP-difícil. FF encuentra rápidamente un plan relajado sin garantizar su optimalidad; su longitud puede sobreestimar h⁺ y no está garantizado que sea admisible.
Para el objetivo de entrega en el almacén más el regreso, el plan real más corto tiene seis acciones: ir a Shelf, recoger, ir a Packing, soltar, volver a Shelf y volver a Dock. La relajación por omisión de efectos negativos solo necesita las primeras cuatro porque At(R, Dock) sigue siendo verdadero después de partir. Así, h⁺ = 4 mientras que el costo real es 6. El conteo de objetivos no satisfechos empieza en solo 1 y no refleja la mayor parte de ese trabajo.
Combina estimaciones sin contar dos veces
Un grafo de planificación alterna niveles de posibles fluentes y acciones, con enlaces de exclusión mutua que marcan pares incompatibles. La primera aparición de un objetivo da una estimación de nivel. Tomar el máximo de los niveles de los objetivos individuales es admisible; sumarlos puede contar repetidamente el trabajo compartido. La abstracción de estados elimina algunos fluentes para reducir el espacio de estados. La descomposición en subobjetivos también se beneficia de comprobar las acciones compartidas: el máximo de los costos admisibles de los subobjetivos es seguro, mientras que su suma necesita justificación adicional.
Puntos clave
- La progresión busca en estados completos; la regresión busca en condiciones de objetivo.
- La regresión exige lograr un objetivo sin efectos que entren en conflicto con otros objetivos.
- Las relajaciones eliminan restricciones para estimar el trabajo restante.
- El costo óptimo h⁺ de la relajación por omisión de efectos negativos es admisible, pero difícil de calcular.
- La longitud del plan relajado de FF no tiene garantizada la admisibilidad.
- Sumar los costos de los subobjetivos puede contar dos veces el trabajo compartido.
6.3 Compara enfoques de planificación y sus límites
Los métodos de planificación difieren en aquello sobre lo que buscan: estados, asignaciones de valores de verdad, restricciones de orden o refinamientos de procedimientos expertos. Su utilidad depende de la interacción entre subobjetivos y de los supuestos que hace el modelo sobre la ejecución.
Reconoce los subobjetivos que interactúan
En la anomalía de Sussman, C está sobre A, con A y B sobre la mesa. El objetivo es On(A, B) ∧ On(B, C). Completar primero el subobjetivo de colocar A sobre B bloquea la posterior colocación de B. Colocar B sobre C inmediatamente deja A debajo. Un plan más corto libera primero A y después construye la pila desde abajo: mueve C a la mesa, mueve B sobre C y después mueve A sobre B. Los tres movimientos intercalan la preparación y el logro de los objetivos.
Codifica un plan acotado como SAT
SATPlan elige un horizonte T. Afirma los fluentes iniciales en el tiempo 0, los fluentes del objetivo en T, las precondiciones de las acciones, las restricciones de estado sucesor y las exclusiones de acciones incompatibles. Una asignación satisfactoria selecciona acciones que forman un plan. Un resultado insatisfacible descarta planes dentro de esa codificación y ese horizonte.
Probar horizontes en orden encuentra el menor horizonte satisfacible. Con acciones paralelas, esto minimiza las capas, no necesariamente el número total de acciones. Se necesita una cota de parada para que los sucesivos horizontes insatisfacibles permitan concluir que no existe un plan.
Mantén solo el orden necesario
La planificación de orden parcial registra acciones, restricciones de orden y enlaces causales. Un enlace de A a B etiquetado con p dice que A establece la precondición p para B. Una acción C que podría eliminar p entre ellas es una amenaza. La degradación sitúa C antes de A; la promoción la sitúa después de B. Las acciones no relacionadas pueden permanecer sin ordenar hasta la ejecución, siguiendo el principio de mínimo compromiso.
La planificación HTN refina tareas de alto nivel mediante una biblioteca de métodos. DeliverBox puede convertirse en desplazarse hasta la caja, recogerla, desplazarse hasta el destino y soltarla. Estos métodos codifican procedimientos expertos, así que la búsqueda puede centrarse en refinamientos útiles en lugar de considerar cada acción primitiva en cada punto.
| Método | Principal objeto de búsqueda |
|---|---|
| Planificación en espacio de estados | Estados y acciones aplicables |
| SATPlan | Asignaciones satisfactorias indexadas por tiempo |
| Planificación de orden parcial | Acciones, enlaces causales y restricciones de orden |
| Planificación HTN | Descomposiciones de tareas con métodos proporcionados |
Ajusta el modelo al mundo
La existencia de un plan para STRIPS proposicional general es PSPACE-completa. El mundo de los bloques tiene un problema de existencia más fácil para disposiciones posibles: despejar los bloques llevándolos a la mesa y reconstruir, usando como máximo 2n movimientos para n bloques. Encontrar un plan más corto para el mundo de los bloques sigue siendo NP-difícil.
Los modelos clásicos excluyen resultados inciertos, estados ocultos y duraciones de acciones. Los planes conformantes funcionan sin observaciones, los planes contingentes se ramifican según las observaciones, la replanificación en línea responde a diferencias durante la ejecución y la programación de tareas gestiona tiempos y recursos. Una precondición ausente sobre la batería puede hacer que un plan válido en el modelo falle físicamente. La supervisión de la ejecución comprueba esta diferencia. La planificación automatizada ha llegado a sistemas reales, incluido el Remote Agent de la NASA en Deep Space 1 en 1999.
Puntos clave
- Las interacciones entre subobjetivos pueden requerir intercalar acciones.
- SATPlan comprueba un horizonte cada vez.
- Un horizonte paralelo mínimo no tiene por qué minimizar el número de acciones.
- Las amenazas a enlaces causales se resuelven mediante promoción o degradación.
- Los métodos HTN codifican refinamientos expertos de tareas.
- La existencia de un plan STRIPS general es PSPACE-completa.
- La supervisión de la ejecución comprueba si el mundo sigue el modelo.
Ejemplos de Agentes lógicos y planificación
1De una percepción a una acción justificada
12 pasos
- 1IntroducciónRazona antes de entrar
Un agente en una cueva puede aprender sobre una casilla sin entrar en ella. Sus observaciones restringen las posibles disposiciones y sus reglas de partida conectan esas observaciones con los peligros.
Sigue una cadena desde una percepción registrada hasta un enunciado proposicional y después hasta una consecuencia lógica. La pregunta importante es si todas las disposiciones compatibles respaldan la conclusión propuesta.
- 2ExplicaciónRegistra, razona y actúa
La base de conocimientos almacena enunciados formales. TELL añade información; ASK solicita una respuesta ya almacenada o derivada mediante inferencia.
En un paso de tiempo, el agente registra su percepción, pregunta qué hacer, registra la acción elegida y la ejecuta. Ese registro de la acción ayuda al razonamiento posterior a distinguir lo que era verdadero antes del movimiento de lo que debería serlo después.
- 3EjemploUsa la ausencia de brisa
El agente empieza en [1, 1] y no detecta brisa. La regla de la brisa dice que hay brisa en una casilla exactamente cuando una casilla directamente adyacente contiene un pozo.
Las únicas casillas vecinas de la inicial son [1, 2] y [2, 1]. Si cualquiera de ellas tuviera un pozo, habría brisa en la casilla inicial. Por tanto, la observación descarta un pozo en ambas casillas vecinas, sin que el agente tenga que visitarlas.
- 4Desafío¿Basta con que no haya pozo?
El agente ha descartado un pozo en [1, 2], pero no tiene información sobre el hedor. ¿Puede ya considerar la casilla completamente segura?
---reveal---
No. La seguridad completa también requiere descartar al wumpus. Una demostración sobre pozos no proporciona por sí sola información sobre el wumpus. La ausencia de hedor en [1, 1], junto con la regla del hedor, proporcionaría la exclusión que falta para sus casillas vecinas.
- 5ExplicaciónDa a la regla ambas direcciones
Escribe B₁₁ ⇔ (P₁₂ ∨ P₂₁). Aquí B₁₁ significa que hay brisa en la casilla inicial y cada P indica que hay un pozo en una casilla. El bicondicional dice tanto que una brisa requiere un pozo vecino como que un pozo vecino produce una brisa.
Su dirección inversa es lo que hace útil la ausencia de brisa para descartar pozos. Una regla en una sola dirección, de la observación a la causa, perdería esa inferencia.
- 6EjemploEvalúa una implicación
Para B₁₁ ⇒ (P₁₂ ∨ P₂₁), supón que B₁₁ es falso y que ambos símbolos de pozo son verdaderos. La implicación es verdadera porque su premisa es falsa.
Esa asignación muestra por qué esta regla en una sola dirección permite pozos sin brisa. Añadir la implicación inversa la excluye. La verdad lógica sigue la tabla de la conectiva, incluso cuando un enunciado es un modelo físico incompleto.
- 7DesafíoElige la actualización temporal
Un agente tiene una flecha y nada le proporciona otra. ¿Qué condición para el siguiente paso expresa exactamente que conserva la flecha?
---reveal---
HaveArrowᵗ⁺¹ ⇔ (HaveArrowᵗ ∧ ¬Shootᵗ). La flecha se conserva si estaba presente y el disparo no la elimina. Si se empieza sin la flecha, sigue ausente. Este axioma de estado sucesor abarca tanto la persistencia como el cambio.
- 8ExplicaciónConserva solo los mundos compatibles
La consecuencia lógica significa que una consulta es verdadera en todos los modelos que satisfacen la KB. Para comprobarla directamente, enumera las asignaciones, descarta las que incumplen la KB y examina la consulta en cada una de las restantes.
Una sola asignación restante con la consulta falsa es un contramodelo. Si quedan asignaciones con la consulta verdadera y otras con la consulta falsa, la consulta es desconocida a partir de esta KB.
- 9EjemploExamina tres disposiciones
La ausencia de brisa en la casilla inicial descarta P₁₂ y P₂₁. Una brisa en [2, 1], junto con la ausencia de un pozo en la casilla inicial, requiere P₂₂ ∨ P₃₁.
Hay tres opciones compatibles para esos dos últimos símbolos de pozo: verdadero/falso, falso/verdadero y verdadero/verdadero. Así, ¬P₁₂ es verdadero en todos los casos, pero P₂₂ varía. La primera afirmación se sigue de la KB y la segunda queda desconocida.
- 10DesafíoEncuentra el contramodelo
Para KB = {A ∨ B}, ¿se sigue A? Da una asignación compatible que resuelva la pregunta.
---reveal---
No. A falso y B verdadero satisface la KB mientras hace falso A, así que es un contramodelo. La asignación inversa también satisface la KB. Por tanto, A es desconocido, no está descartado: de la KB no se sigue ni A ni ¬A.
- 11ConexiónConvierte la consulta sobre la acción en SAT
Para comprobar una conclusión de seguridad propuesta α, pregunta si KB ∧ ¬α es satisfacible. Un modelo describe un mundo compatible donde la conclusión falla; la insatisfacibilidad establece la consecuencia lógica.
Esto conecta la decisión del agente con el resultado formal de un resolvedor. La ausencia de una demostración de seguridad deja un riesgo sin resolver; no convierte la casilla no visitada en un peligro demostrado.
- 12RepasoDistingue los tres resultados
TELL registra la evidencia y la codificación determina qué significa. La inferencia separa entonces una conclusión respaldada, una negación respaldada y una afirmación desconocida.
Antes de actuar, comprueba que la regla codificada incluya las direcciones necesarias para la inferencia y que la conclusión descarte todos los peligros relevantes. Un contramodelo señala exactamente por qué falla una conclusión propuesta.
2Demuestra una consulta e interpreta los resultados del resolvedor
16 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónUna consulta, varios métodos
- 2EjemploExtrae una premisa
- 3DesafíoComprueba una inversión tentadora
- 4ExplicaciónPrepara la forma clausal
- 5EjemploNiega la consulta sobre la liberación
- 6EjemploCierra la refutación
- 7Desafío¿Pueden desaparecer dos pares?
- 8ExplicaciónAprovecha una sola cabeza de regla
- 9EjemploSigue la cadena relevante
- 10DesafíoGestiona un ciclo con cuidado
- 11ExplicaciónPropaga las asignaciones forzadas
- 12EjemploExplora ambas ramas
- 13Idea claveAprender frente a reparar
- 14DesafíoInterpreta un límite de tiempo de búsqueda local
- 15DesafíoConecta las reglas con el resultado de un resolvedor
- 16RepasoComprende qué permite concluir cada resultado
3Haz que una regla cuantificada diga lo que quieres expresar
12 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónDe hechos individuales a reglas generales
- 2ExplicaciónIdentifica la función de cada símbolo
- 3EjemploEvalúa un mundo pequeño
- 4Desafío¿Dos nombres significan dos libros?
- 5ExplicaciónCombina el cuantificador y la conectiva
- 6EjemploCambia la posición del testigo compartido
- 7DesafíoNiega correctamente el universal
- 8ExplicaciónEmpieza por la consulta prevista
- 9EjemploCompleta la relación de requisitos previos
- 10DesafíoEncuentra la política que falta
- 11DesafíoCombina ámbito y completitud
- 12RepasoComprueba el significado en un modelo pequeño
4Sigue las vinculaciones en una demostración de primer orden
15 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónDeja que la regla encuentre sus objetos
- 2EjemploHaz coincidir la primera premisa
- 3Idea claveDeja abiertas las elecciones innecesarias
- 4DesafíoComprueba todas las restricciones de los argumentos
- 5ConsejoUsa un testigo existencial nuevo
- 6EjemploConstruye caminos por rondas
- 7ExplicaciónInterpreta la consulta como una búsqueda
- 8DesafíoComprueba una llamada que se repite
- 9ConexiónComprende de dónde viene la finitud
- 10ExplicaciónConserva la dependencia de un testigo
- 11EjemploAñade la consulta negada sobre el personal
- 12EjemploAplica la vinculación al resultado
- 13DesafíoLa negación cambia el testigo
- 14DesafíoDistingue la demostración de la terminación
- 15RepasoConserva un mismo significado en cada paso
5Sigue un hecho por una ontología y un grafo
11 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónVarios tipos de afirmaciones en un grafo
- 2ExplicaciónSepara categoría e individuo
- 3EjemploAñade una excepción sin contradicción
- 4DesafíoComprueba si una división es una partición
- 5ConexiónElige un sistema de razonamiento sobre categorías
- 6EjemploConvierte la relación en tripletas
- 7EjemploCombina dos patrones
- 8DesafíoInterpreta una relación ausente
- 9Idea claveMantén visible el estado de una predicción
- 10DesafíoSigue el soporte de un nuevo tipo
- 11RepasoPregunta qué justifica la arista
6Construye, comprueba y busca un plan de entrega
16 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónExplicita las consecuencias de las acciones
- 2ExplicaciónInterpreta el estado inicial
- 3EjemploDesplázate y recoge
- 4EjemploDesplázate con la caja y suéltala
- 5DesafíoEncuentra el efecto de eliminación que falta
- 6ExplicaciónBusca entre estados o condiciones
- 7EjemploTrabaja hacia atrás desde la entrega
- 8DesafíoAñade el objetivo de regreso
- 9EjemploElimina efectos de eliminación para obtener una estimación
- 10Desafío¿Puede sobreestimar el conteo de objetivos?
- 11EjemploIntercala los objetivos del mundo de los bloques
- 12ExplicaciónCodifica un horizonte temporal
- 13DesafíoProtege una condición de entrega
- 14ConexiónUsa métodos y supervisa la ejecución
- 15DesafíoElige una extensión para la observación
- 16RepasoComprueba el plan frente a su objetivo
Ejercicios de Agentes lógicos y planificación
Set 1: De las observaciones a las conclusiones justificadas10 Preguntas de Práctica
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Set 2: Cuantificadores, vinculaciones y demostraciones de primer orden10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 3: Combinación de representación, inferencia y planificación10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
path(X, Z) :- path(X, Y), edge(Y, Z). y después path(X, Z) :- edge(X, Z). Hecho: edge(m, n). ¿Qué ocurre con la búsqueda ordinaria en profundidad de path(m, n) sin tabulación de respuestas?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 4: Organización de hechos y cambio de estados10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 5: Diagnóstico de errores sutiles de razonamiento10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
¿Te atascas con una pregunta tuya? Ayuda con Tareas
Términos Clave
A
Amenaza
Aprendizaje de cláusulas dirigido por conflictos (CDCL)
Axioma
Axioma de compleción
Axioma de estado sucesor
Á
Ámbito del cuantificador
B
Base de conocimientos
Bicondicional
C
Cláusula
Cláusula de Horn
Cláusula definida
Codificación de Tseitin
Completitud
Comprobación de ocurrencias
Conjunto de soporte
Consecuencia lógica
Contramodelo
Corrección
Cuantificador existencial
Cuantificador universal
D
Datalog
Dominio PDDL
DPLL
E
Encadenamiento hacia atrás
Encadenamiento hacia delante
Enlace causal
Esquema de acción
Esquema RDF (RDFS)
Exclusión mutua (mutex)
F
Factorización
Fluente
Forma normal conjuntiva
H
Heurística admisible
I
Implicación
Ingeniería del conocimiento
Instanciación existencial
Instanciación universal
Interpretación
L
Lenguaje de consulta SPARQL
Lenguaje de ontologías web (OWL)
Lista de adición
Lista de eliminación
Literal
Lógica de primer orden
Lógica descriptiva
M
Mantenimiento de la verdad
Marco de descripción de recursos (RDF)
Modelo
Modus ponens
Modus ponens generalizado
Monotonicidad
N
Negación por fallo
\+ p espera el intento de demostrar p; un ciclo infinito no cuenta como fallo.Nivel de conocimiento
O
Ontología
Operación de consulta ASK
Operación de incorporación de conocimiento TELL
P
Paramodulación
Partición
Plan
Plan contingente
Planificación clásica
Planificación mediante redes jerárquicas de tareas (HTN)
Precondición
Predicado
Problema de satisfacibilidad proposicional (SAT)
Problema del marco
Programación de tareas
Progresión
Propagación unitaria
Punto fijo
R
Razonamiento por defecto
Red Rete
Refutación
Regresión
Reificación
Relajación por omisión de efectos negativos
Renombrado de variables para evitar coincidencias
Representación vectorial de grafos de conocimiento
Resolución
Resolución de entidades
S
Satisfacibilidad
SATPlan
Semidecidibilidad
Símbolo puro
Skolemización
Subsunción
Supuesto de cierre del dominio
Supuesto de mundo abierto
Supuesto de mundo cerrado
Supuesto de nombres únicos
Sustitución
T
Tabulación de respuestas
Taxonomía
Término
Término sin variables
Tripleta
U
Unificación
Unificador más general
V
Validez
Variable libre
Vinculación de variables
W
WalkSAT
- 1Agentes inteligentes
- 2Búsqueda no informada e informada
- 3Problemas de satisfacción de restricciones
- 4Búsqueda entre adversarios
- 5Agentes lógicos y planificación
- 6Redes bayesianas
- 7Modelos ocultos de Markov
- 8Aprendizaje por refuerzo
- 9Aprendizaje supervisado y redes neuronales
- 10Ética, seguridad y gobernanza de la IA
Sobre esta unidad
Crea tus propios Materiales de Estudio
Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.