Posgrado

PosgradoLógica matemática y fundamentosLógica proposicional


Solución en lógica proposicional


La resolución es una regla fundamental de inferencia utilizada en la lógica proposicional y la demostración automática de teoremas. Juega un papel importante en la programación lógica y forma la base del lenguaje de programación Prolog. La técnica se basa en el principio de refutación, donde se prueba la imposibilidad de una proposición asumiendo su negación y obteniendo una contradicción. En lógica proposicional, la resolución se usa para derivar una conclusión resolviendo un conjunto de cláusulas.

Conceptos básicos de lógica proposicional

En la lógica proposicional, tratamos con proposiciones, que son afirmaciones que pueden ser verdaderas o falsas. Estas proposiciones se representan mediante variables proposicionales como p, q, r, etc. Las proposiciones combinadas se forman utilizando conectivos lógicos como Y (), O (), NO (¬), IMPLICA () y EQUIVALENTE ().

Un literal es una variable proposicional o la negación de una variable proposicional. Una cláusula es una disyunción de un literal. Por ejemplo, la cláusula (p ∨ ¬q ∨ r) contiene los literales p, ¬q y r.

El concepto central en la solución es la regla de solución, que nos permite deducir una nueva cláusula a partir de dos cláusulas existentes que contienen literales complementarios. Los literales complementarios son pares, como p y ¬p, que son negaciones entre sí.

Reglas de resolución

La regla de solución se puede expresar formalmente de la siguiente manera:

C1: (A ∨ X)
C2: (¬x ∨ b)
,
Respuesta: (A ∨ B)

Aquí, C1 y C2 son cláusulas que contienen letras x y ¬x, respectivamente. La cláusula (A ∨ B) es el resultado de resolver estas dos cláusulas sobre la letra x.

Considere el siguiente ejemplo:

C1: (p ∨ q)
C2: (¬q ∨ r)
,
Res: (P ∨ R)

En este caso, el literal q en C1 y ¬q en C2 están complementados. El resultado de la solución es (p ∨ r).

Forma normal conjuntiva (CNF)

Para utilizar la solución de manera efectiva, las proposiciones deben convertirse en una forma específica conocida como forma normal conjuntiva (CNF). Una fórmula está en CNF si es una conjunción de una o más cláusulas, donde cada cláusula es una disyunción de literales.

Convertir una fórmula lógica a CNF implica una serie de transformaciones de equivalencia:

  • Eliminar implicaciones y equivalencias utilizando equivalencias lógicas tales como:
            p → q ≡ ¬p ∨ q
            p ↔ q ≡ (p → q) ∧ (q → p)
    
  • Mover los NOTs hacia adentro usando las leyes de De Morgan y la doble negación:
            ¬(p ∧ q) ≡ ¬p ∨ ¬q
            ¬(p ∨ q) ≡ ¬p ∧ ¬q
            ¬¬P ≡ P
    
  • Distribuir el OR sobre el AND, asegurándose de que todas las cláusulas se conviertan en disyunciones de términos literales.

Ejemplo de conversión a CNF

Considere la fórmula:

 (P → Q) → (Q → R)

Paso 1: Eliminar las implicaciones:

 ¬(¬p∨q) ∨ (¬q∨r)

Paso 2: Aplicar las leyes de De Morgan:

 (p ∧ ¬q) ∨ (¬q ∨ r)

Paso 3: Distribuir:

 (p ∨¬q) ∧ (p ∨r)

Ahora, la fórmula está en CNF.

Ejemplo de solución en lógica proposicional

Consideremos un ejemplo de cómo la resolución puede utilizarse para resolver un problema lógico:

Se dan las siguientes afirmaciones:

  1. Si está lloviendo, entonces el suelo está húmedo. (R → W)
  2. Si el suelo está húmedo, el cielo está nublado. (W → C)
  3. No hay nubes en el cielo. (¬C)

Demuestre que no está lloviendo. (¬R)

Represente cada afirmación en CNF:

  • ¬R ∨ W (derivado de R → W)
  • ¬W ∨ C (derivado de W → C)
  • ¬C

Para probar ¬R, agregue la negación de la conclusión como una suposición y resuelva la contradicción:

Agregue R al conjunto.

Solución:

1. R
2.¬R ∨ W
3. ¬W ∨ C
4. ¬C

Resolve (1) R y (2) ¬R ∨ W:

 5. W
Resuelva (5) W y (3) ¬W ∨ C:
 6. C
(6) C contradice (4) ¬C. Por lo tanto, la suposición R debe ser falsa, por lo que ¬R es verdadera.

Propiedades de la resolución

La resolución tiene varias propiedades importantes que la hacen una herramienta poderosa en la demostración automática de teoremas:

  • Corrección: Si una cláusula surge de la regla de solución, entonces esa cláusula está lógicamente implicada por el conjunto inicial de cláusulas.
  • Completitud: Si un conjunto de cláusulas es insatisfacible (es decir, no pueden ser todas verdaderas al mismo tiempo), entonces la solución puede reflejar esa insatisfacción.
  • Refutación completa: Si se puede derivar una contradicción de un conjunto de cláusulas, entonces la solución eventualmente la encontrará.

Complejidad y limitaciones

Aunque la resolución es una técnica poderosa, es importante notar sus limitaciones:

  • Crecimiento exponencial: El espacio de posibles segmentos puede crecer exponencialmente en tamaño, volviendo las soluciones computacionalmente costosas para problemas grandes.
  • Restringido a CNF: Dado que la solución funciona en CNF, cualquier problema debe transformarse en esta forma, lo cual a veces puede implicar un gran número de cláusulas.

Representación visual de la resolución

Para aclarar más la solución, veamos una representación diagramática simple. Considere estas oraciones:

A (A ∨ B) ¬B
(A ∨ B) ¬B A

El paso de solución A combina (A ∨ B) y (¬B) para hacer una conjetura.

Estrategias de solución

En la práctica, se emplea una serie de estrategias y optimizaciones para utilizar la solución de manera eficiente. Estas estrategias buscan controlar el orden y método en el que se resuelven las cláusulas, a menudo basados en heurísticas o algoritmos específicos.

  • Solución unitaria: Esto implica priorizar bloques de letras individuales, conocidos como bloques unitarios, para simplificar y reducir rápidamente el tamaño del problema.
  • Resolución de entrada: asegura que la resolución se realice entre un segmento del conjunto original y un segmento derivado nuevo, reduciendo así la complejidad.
  • Estrategia de conjunto de apoyo: se enfoca en reducir el espacio de búsqueda resolviendo cláusulas solo dentro de un subconjunto específico, a menudo utilizados en la demostración interactiva de teoremas.

Aplicaciones en informática

La resolución es ampliamente utilizada en disciplinas de la informática, particularmente en áreas como inteligencia artificial y programación lógica. Sus principales aplicaciones incluyen:

  • Demostración automática de teoremas: Como técnica principal en sistemas de prueba y herramientas de razonamiento automático, la solución de pruebas ayuda a verificar la validez de afirmaciones lógicas.
  • Programación lógica: La teoría de la solución es la base de lenguajes como Prolog, donde se resuelven relaciones lógicas para formar preguntas computacionales.
  • Solucionadores de satisfacibilidad: Los solucionadores SAT modernos aplican estrategias basadas en la solución para determinar si se puede satisfacer una fórmula proposicional.

Conclusión

La resolución en lógica proposicional es un método robusto y atractivo para el razonamiento lógico. Al aprovechar el poder de la inferencia a través de la regla de resolución, provee un enfoque sistemático para probar la validez o contradicción de afirmaciones expresadas en lógica proposicional. Mientras su aplicación en escenarios del mundo real puede ser computacionalmente intensiva, su base teórica tiene un valor inmenso para entender sistemas lógicos y desarrollar herramientas automatizadas prácticas en la informática.

La inferencia por resolución brinda una gran visión sobre la estructura lógica de los problemas, lo que permite construir algoritmos eficientes para abordar tareas complejas de razonamiento lógico, y sigue siendo un área importante de estudio en matemáticas e informática.


Posgrado → 8.1.4


U
username
0%
completado en Posgrado


Comentarios