Tècniques Semàntiques d'Estudi de Validesa Proposicional

Taules de Veritat

Definició 7

Una taula de veritat és una representació tabular del valor d'una fórmula en totes les possibles interpretacions.

Exemple

Calcular el valor de veritat de la fórmula F = pq ↔ ¬pq , la taula de veritat consisteix en representar les 4 possibles interpretacions i avaluar-ne la fórmula en elles.

El nombre de possibles interpretacions d'una fórmula F és 2n on n és el nombre de variables proposicionals de F. Per tant, aquest mètode té una complexitat exponencial que complica la seva utilització per a fórmules complexes.

Arbres Semàntics

Definició 8

Un arbre semàntic és una tècnica similar a les taules de veritat que pot simplificar l'avaluació d'algunes fórmules.

Procediment

Inicialment, es forma el conjunt LP de lletres proposicionals de la fórmula. Es construeix un node inicial de l'arbre que es prendrà com a node actual i s'aplica el següent procediment:

  1. S'intenta avaluar la fórmula en el node actual.
  2. Si és possible assignar a F un valor {Veritat, Fals} s'etiqueta el node amb el valor assignat i es finalitza el tractament del node actual.
  3. En cas contrari:
    1. Es selecciona la primera lletra proposicional p del conjunto LP.
    2. S'esborra p de LP.
    3. Es construeixen dues branques, una corresponent a p interpretat amb valor Veritat (identificada com a p) i l'altra corresponent a p amb valor Fals (identificada com a ¬p).
    4. es repeteix el procediment per a cadascun dels dos nous nodes.

Definició 9

Els nodes de l'arbre semàntic en els que el conjunto de significats atribuïts fins a ells fan Fals la fórmula, s'anomenen nodes d'errada i els que la fan Verita, nodes d'encert.

Exemple

Donada la fórmula (pq) → (¬p → ¬q). Seleccionant els literals per ordre alfabètic, s'obté el següent arbre semàntic:

Observem-ne que no ha estat necessari avaluar les interpretacions p = V, q = V i p = V, q = F.

NOTA: Per simplificació, s'anotarà a partir d'ara V com a Veritat i F com a Fals

Demostració per Contradicció

Procediment

Per a demostrar que una fórmula F és vàlida per contradicció es realitza el següent:

  1. Es suposa que existeix una interpretació I tal que VI(F) = F i s'intenten calcular els diversos valors de la fórmula.
  2. Si s'arriba a una contradicció, aleshores ∄ I VI(F) = F ⇒ ∀I VI(F) = VF és vàlida.
  3. En cas contrari ∃ I VI(F) = FF no és vàlida.

Aquest tipus de demostracions es sol representar etiquetant la fórmula amb valor F i avaluant-ne els possibles valors fins que s'arribi a la contradicció. Per a poder assegurar que F és vàlida s'ha d'arribar a contradicció per totes les alternatives. Si no s'arriba a contradicció per alguna alternativa es pot dir que F no és vàlida.

Exemples

a) Volem demostrar la validesa de la fórmula: ¬p ∨ ¬q → ¬(pq)

Suposem la fórmula no vàlida. S'arriba a contradicció (en vermell), per tant la fórmula és vàlida.

b) Volem demostrar la transitivitat de l'equivalència lògica. És a dir que: (AB, BC) ⇒ (AC). Per fer-ho hi haurà prou amb demostra que la fórmula: (AB) ∧ (BC) → (AC) és vàlida. En aquesta demostració apareixen dues alternatives i la fórmula és vàlida perquè s'arriba a contradicció per totes dues. Suposem la fórmula no vàlida.

Resolució Proposicional

El mètode de resolució és un algorisme fàcilment mecanitzable proposat per J.A. Robinson el 1965. L'entrada de l'algorisme no és una fórmula, sinó un conjunt de cláusules i l'algorisme comprova si són insatisfacibles. Abans de presentar l'algorisme de resolució, es defineix què és una clàusula i com transformar una fórmula en un conjunt de clàusules mitjançant les formes normals.

Formes normals

Definició 10

Una fórmula F és una conjunció si és de la forma F1F2 ∧ ··· ∧ Fn, amb n ≥ 0

Definició 11

Una fórmula F és una disjunció si és de la forma F1F2 ∨ ··· ∨ Fn, amb n ≥ 0

Definició 12

Un literal és una proposició (p) o una proposició negada (¬p)

Definició 13

Una fórmula F és en Forma Normal Conjuntiva (FNC) si és una conjunció de la forma: F1F2 ∧ ... ∧ Fn

On cada Fi és una disjunció de literals. Es representa per:

Exemple: La següent fórmula és en FNC: (¬pq) ∧ (¬pr ∨ ¬s) ∧ p

Definició 14

Un fórmula F és en Forma Normal Disjuntiva (FND) si és una disjunció de la forma: F1F2 ∨ ... ∨ Fn

On cada Fi és una conjunció de literals. Es representa per:

Exemple: La següent fórmula és en FND: (p ∧ ¬qr) ∨ ¬p ∨ (r ∧ ¬s)

Observem que la fórmula (¬p) és a la vegada en FNC i FND.

Teorema 5

Tota fórmula de la lògica de proposicions pot ser transformada en una fórmula lògicament equivalent a ella en FNC o FND.

Demostració:

La demostració consisteix en indicar els passos de l'algorisme de transformació a forma normal conjuntiva. Donat que aquests passos mantenen l'equivalència i donat que l'equivalència acompleix la propietat transitiva, la fórmula resultant és equivalent a la fórmula original. Per a demostrar formalment que l'algorisme acaba, es requereix l'estudi de sistemes de re-escriptura de termes que pot consultar-se a [Abramsky, 92]. Els passos de transformació són:

  1. Eliminar la connectiva ↔:
    • AB ≡ (AB) ∧ (BA)
  2. Eliminar la connectiva →:
    • AB ≡ (¬AB)
  3. Utilitzar les lleis de De Morgan introduint negacions fins que afectin als literals:
    • ¬(AB) ≡ ¬A ∨ ¬B)
    • ¬(AB) ≡ ¬A ∧ ¬B)
  4. Eliminar les negacions múltiples:
    • ¬¬AA
  5. Aplicar propietats distributives per eliminar les possibles conjuncions (disjuncions) dins de disjuncions (conjuncions) obtenint-ne FNC o FND:
    • A ∧ (BC) ≡ (AB) ∨ (AC)
    • A ∨ (BC) ≡ (AB) ∧ (AC)

Donat que les fórmules resultants d'aplicar cadascun dels passos anteriors mantenen l'equivalència, la fórmula obtinguda serà equivalent a la fórmula original.

En moltes ocasions s'hi afegeixen altres tres passos per a simplificar-ne la fórmula obtinguda:

Simplificació

  1. Eliminar conjuncions (disjuncions) afegint-ne un literal i el seu oposat:
    • (p ∧ ¬pX) ∨ YY
    • (p ∨ ¬pX) ∧ YY
  2. Eliminar literals repetits:
    • (pp) ≡ p
    • (pp) ≡ p
  3. Eliminar subsumpcions. Una subsumpció es produeix quan una conjunció (o disjunció) C és inclosa en altra D. Aleshores s'elimina la clàusula D:
    • (AB) ∧ AA
    • (AB) ∨ AA

Exemple

Transformar la fórmula ¬(pq) ↔ pr a FNC:

  ¬(pq) ↔ pr  
  { Eliminar ↔ }
  (¬(pq) → pr ) ∨ ((pr) → ¬(pq))  
  { Eliminar → }
  (¬(¬(¬pq) ∨ pr) ∧ ( ¬(pr) ∨ ¬(¬pq))  
  { Eliminar doble negació }
  pqpr ) ∧ ( ¬(pr) ∨ ¬(¬pq))  
  { Eliminar disjunció amb literal i l'oposat }
  (¬(pr) ∨ ¬(¬pq))  
  { De Morgan }
  p ∧ ¬r) ∨ (¬¬p ∧ ¬q)  
  { Eliminar doble negació }
  p ∧ ¬r) ∨ (p ∧ ¬q)  
  { Distributiva ∨ }
  ((¬p ∧ ¬r) ∨ p) ∧ ( (¬p ∧ ¬r) ∨ ¬q)  
  { Distributiva ∧ }
  (((¬pp) ∨ ¬r) ∨ p) ∧ ((¬p ∧ ¬r) ∨ ¬q)  

Definició 15

Una clàusula és una disjunció de literals.

Definició 16

Una fórmula està en Forma Clausal si s'expressa com a un conjunt de clàusules.

La transformació d'una fórmula en FNC a Forma Clausal és immediata substituint les connectives per comes i englobant les disjuncions entre claus.

Exemple

La fórmula (¬pq) ∧ (¬pq ∨ ¬r) ∧ (p) en FNC equival a {¬pq, ¬pq ∨ ¬r, p} en Forma Clausal

Definició 17

Una clàusula sense literals s'anomena clàusula buida, es representa per π i el seu valor és sempre igual a F.

Definició 18

Una clàusula amb, com a molt, un literal positiu s'anomena clàusula Horn. Una clàusula Horn serà de la forma: A ∨ ¬B1 ∨ ¬B2 ∨ ··· ∨ ¬Bn

Si n = 0, s'anomena fet, si no existeix literal positiu (no existeix A) aleshores s'anomena objectiu i, finalment, si n > 0 i existeix literal positiu, s'anomena regla.

Forma normal negativa (FNN)

Definició

  • Si F és atòmica, aleshores F i ¬F són FNN.
  • Si F i G són FNN, aleshores (FG ) i (FG ) també ho són.

Exemples

  • pq) ∧ (¬qp) és FNN
  • (pq) ∧ (qp) no és FNN
  • ¬(pq) no és FNN

Transformació a FNN

L'objectiu és: donada una fórmula F , obtenir-ne una altra en forma normal negativa G tal que FG.

Es seguirà, ordenadament, el procediment fnn(F) següent:

  1. Eliminar equivalències: pq ≡ (pq) ∧ (qp)
  2. Eliminar implicacions: pq ≡ ¬pq
  3. Interioritzar negacions:
    • ¬(pq) ≡ ¬p ∨ ¬q
    • ¬(pq) ≡ ¬p ∧ ¬q
    • ¬¬pp
    • ¬(¬(pq)) ≡ pq
    • ¬((¬p) ∨ q) ≡ p ∧ ¬q

Exemples

  • fnn(pq) = (¬pq) ∧ (¬qp)
  • fnn((p ∨ (¬q)) → r ) = (¬pq) ∨ r
  • fnn((p ∧ (qr)) → s) = ((¬p ∨ (q ∧ ¬r)) ∨ s)

Propietats

  • fnn(F) és FNN
  • fnn(F) ≡ F

Forma normal conjuntiva (FNC)

Disjuncions esteses

  • Si F és un literal, aleshores F és una disjunció estesa.
  • Si F i G són disjuncions esteses, aleshores (FG) també ho és.

Exemples

  • ¬p ∨ (q ∨ ¬r) és una disjunció estesa.
  • ¬p ∨ (q ∧ ¬r) no és una disjunció estesa.

Fórmules en FNC

  • Si F és una disjunció estesa, aleshores F és FNC.
  • Si F i G són FNC, aleshores (FG) també ho és.

Exemple

Ambdues són equivalents, però una és FNC i l'altra no:

  • pq) ∧ (¬qp) és FNC.
  • pq) ∧ (qp) no és FNC.

Transformació en FNC

L'objectiu és: donada una fórmula F, obtenir-ne una altra en FNC G tal que FG

Es seguirà, ordenadament, el procediment fnc(F) següent:

  1. Transformació a FNN.
  2. Interiorització de les disjuncions:
    • p ∨ (qr) ≡ (pq) ∧ (pr)
    • (pq) ∨ r ≡ (pr) ∧ (qr)

Exemples

    • fnc(p ∧ (qr)) = p ∧ (¬q ∨ r)
    • fnc(¬(p ∧ (qr))) = (¬pq) ∧ (¬p ∨ ¬r)
    • fnc(¬(pr)) = (((pr) ∧ (p ∨ ¬p)) ∧ ((¬rr) ∧ (¬r ∨ ¬p)))

Propietats

    • fnc(F) és una FNC.
    • fnc(F) ≡ F

Forma normal disjuntiva (FND)

Conjuncions esteses

    • Si F és un literal, aleshores F és una conjunció estesa.
    • Si F i G són conjuncions esteses, aleshores (FG) també ho és.

Exemples

    • ¬p ∧ (q ∧ ¬r) és una conjunció estesa.
    • ¬p ∨ (q ∧ ¬r) no és una conjunció estesa.

Fórmules en FND

    • Si F és una conjunció estesa, aleshores F està en FND.
    • Si F i G estan en FND, aleshores (FG) també ho està.

Exemples

    • pq) ∨ (¬qp) està en FND.
    • pq) ∨ (qp) no està en FND.

Transformació en FND

L'objectiu és: donada una fórmula F, obtenir-ne una altra en FND G tal que FG

Es seguirà, ordenadament, el procediment fnd(F) següent:

    1. Transformació a FNN
    2. Interiorització de les conjuncions:
      • p ∧ (qr) ≡ (pq) ∨ (pr)
      • (pq) ∧ r ≡ (pr) ∨ (qr)

Exemples

    • fnd(p ∧ (qr)) = (p ∧ ¬q) ∨ (pr)
    • fnd(¬(p ∧ (qr))) = (¬p ∨ (q ∧ ¬r))

Propietats

    • fnd(F) és una forma normal disjuntiva.
    • fnd(F) ≡ F

Algorisme de resolució proposicional

L'algorisme es basa en una regla d'inferència senzilla i, a la vegada, de gran potència: la regla de resolució. Donat que s'utilitza una sola regla, l'algorisme és fàcil d'analitzar i implementar.

La idea del principi de resolució és simple: Si es sap que s'acompleix: "P ó Q" i també se sap que s'acompleix "no P ó R" aleshores es pot deduir que s'acomplirà "Q ó R".

Exemple

Si es té: "Guanya ó Perd ó Empata" i "Si Guanya aleshores dona una Festa o Va de Viatge". Es pot deduir que: "ó Perd ó Empata ó dona una Festa ó va de Viatge".

Formalitzat com:

    • Premissa 1: GPE
    • Premissa 2: GFV ≡ ¬GFV
    • Conclusió (inferència de la regla de resolució): PEFV

Definició 19

Donades dues clàusules C1 i C2 tals que existeixi un literal L de forma que LC1 i ¬LC1 , es denomina resolvent de C1 i C2 respecte a L, a la clàusula: RL(C1,C2) = (C1 – {L}) ∪ (C2 – {¬L}

Es diu aleshores que C1 i C2 són clàusules resolubles.

Teorema 6 (Consistència de la regla de resolució)

El resolvent de dues clàusules és conseqüència lògica d'elles. És a dir: {C1,C2} ⇒ R(C1, C2)

Demostració

Es demostra per contradicció.

Sigui C1 = LL11L12 ∨ ··· ∨ L1m i C2 = ¬LL21L22 ∨ ··· ∨ L2n

El resolvent de C1 i C2 respecte a L serà: RL(C1,C2) = L11L12 ∨ ··· ∨ L1mL21L22 ∨ ··· ∨ L2n

Pel teorema 2, provar que {C1,C2} ⇒ R(C1,C2) és equivalent a provar que C1C2RL(C1,C2) és vàlida.

Suposem que existeix una interpretació que la fa F, l'assignació de valors serà:

(LL11L12 ∨ ··· ∨ L1m) ∧ (¬LL21L22 ∨ ··· ∨ L2n) → (L11L12 ∨ ··· ∨ L1mL21L22 ∨ ··· ∨ L2n)

Assignació que ens porta a una contradicció. Per tant la fórmula no pot ser F i serà sempre V, és a dir: la fórmula és Vàlida.

Teorema 7

Donades dues clàusules C1 i C2, pertanyents a un conjunt C i resolubles respecte a un literal L, aleshores tindrem que CCRL(C1,C2)

Demostració

Sigui C = C1C2 ∧ ··· ∧ Cn aleshores el conjunt CRL(C1,C2) serà: C1C2 ∧ ··· ∧ CnRL(C1,C2).

La demostració consisteix a provar que la fórmula: C1C2 ∧ ··· ∧ CnC1C2 ∧ ··· ∧ CnRl(C1,C2) és vàlida.

Es té en compte el teorema 6 i es demostra per contradicció.

Teorema 8

Si el resolvent de dues clàusules C1 i C2, pertanyents a un conjunt C és la clàusula buida, aleshores C és insatisfacible.

Demostració

Es demostra en primer lloc que el conjunt C és equivalent a F:

  C  
  { Teorema 7 }
  CRI(C1,C2)  
  { Hipòtesis}
  C ∧ π  
  { Definició π = F }
  CF  
  { Dominació }
  F  

Finalment es demostra que qualsevol fórmula equivalent a F és insatisfacible.

  CF  
  { Definició interpretació ≡ }
  I VI(C) = VI(F)  
  { Definició interpretació: VI(F) = F}
  I VI(C) = F  
  { Definició insatisfacible }
  C és insatisfacible  

A partir dels teoremes anteriors, es defineix l'algorisme de resolució que comprovarà si un conjunt de clàusules es insatisfacible:

Procediment de l'algorisme de resolució proposicional

    • Entrada: Un conjunt de clàusules C
    • Sortida: Detecta si C és insatisfacible

Passos:

    1. Buscar dues clàusules C1 i C2C tals que existeixi un literal L que acompleixi que L ⋲ C1 i ¬ ⋲ C2
    2. Si es troben:
    3. Calcular RL(C1,C2) i afegir al conjunt C
    4. Si RL(C1,C2) = ∅ aleshores SORTIR indicant que C és insatisfacible
    5. Si no, tornar a 1
    6. Si no es troben: SORTIR indicant que C no és insatisfacible

Exemple

Sigui C el següent conjunt de clàusules: {p, ¬pq, ¬r, ¬p ∨ ¬qr} es pot demostrar que C és insatisfacible per resolució. Par a fer-ho:

    • Es resol la tercera clàusula ( ¬r ) amb la quarta ( ¬p ∨ ¬qr ), obtenint-ne ¬p ∨ ¬q
    • Es resol ara la clàusula anterior amb la segona clàusula ( ¬pq ) obtenint-ne: ¬p
    • Es resol ara la clàusula anterior amb la primera clàusula ( p ) i s'arriba a la clàusula buida ∅
    • Per tant, C es insatisfacible

Teorema 9

Un raonament de la forma: P1 , P2 , ···, PnQ és correcte sí i només sí el conjunt de clàusules:

{ Pc1, Pc2, ···, Pcn, ¬Qc } es insatisfacible.

Cada Pci és el resultat de transformar la premissa Pi a forma clausal.

I aleshores, ¬Qc és el resultat de transformar la negació de la conclusió a forma clausal.

Demostració

  P1 , P2 , ···, PnQ  
  { Teorema 4 }
  P1P2 ∧ ··· ∧ PnQ és vàlida  
  { Teorema 1 }
  ¬(P1P2 ∧ ··· ∧ PnQ) és insatisfacible  
  { Passant a FNC cada premissa i operant }
  {Pc1, Pc2, ···, Pcn, ¬Qc} es insatisfacible  

Exemple

Per a estudiar si el raonament { pqrs, p → ¬s } ⇒ ¬p ∨ ¬q es correcte per resolució, es necessari transformar cada premissa a forma clausal i afegir-ne el resultat de transformar la negació de la conclusió a forma clausal.

El conjunt obtingut serà: { ¬p ∨ ¬qr, ¬p ∨ ¬qs, ¬p ∨ ¬s, p, q }.

Aplicant l'algorisme de resolució:

    • Es resol la segona clàusula ( ¬p ∨ ¬qs) amb la tercera ( ¬p ∨ ¬s), obtenint-ne: ¬p ∨ ¬q
    • Es resol ara la clàusula anterior amb la quarta clàusula (p) obtenint-ne: ¬q
    • Es resol ara la clàusula anterior amb la cinquena i s'arriba a la clàusula buida: ∅

Donat que s'arriba a la clàusula buida, el conjunt de clàusules és insatisfacible i el raonament és correcte.

Demostració de la completud de l'algorisme de resolució

Es presenten les idees generals de la demostració de la completud de l'algorisme de resolució proposicional. Una demostració formal requereix tècniques que van més enllà d'aquest treball [Fitting, 96].

Exemple

Sigui el conjunt de clàusules C = { p, ¬pq, ¬r, ¬p ∨ ¬q ∨ ¬r }.

Per a construir l'arbre semàntic per a C es recorda que un conjunt de clàusules equival a una FNC, en aquest cas: p ∧ (¬pq) ∧ (¬r) ∧ (¬p ∨ ¬q ∨ ¬r).

En la següent figura es mostra l'arbre semàntic corresponent, marcant la clàusula F en els nodes d'errada:

Lema 1

Si un conjunt de clàusules és insatisfacible, aleshores l'arbre semàntic és finit i limitat per nodes d'errada, s'anomena, en aquest cas, arbre d'errada.

Lema 2

Cada node d'errada n fa F al menys a una de les clàusules del conjunt que serà la clàusula associada a n.

Lema 3

La clàusula C associada a un node d'errada n conté un subconjunt dels complements dels literals que apareixen a la branca que va des de l'arrel de l'arbre semàntic fins a n.

Demostració

Donat que la clàusula C fa F el node n, tots els seus literals han de tenir assignat un valor en la interpretació parcial corresponent a n. A més, el valor d'aquests literals ha de ser F (donat que C és una disjunció). El valor assignat ha de ser doncs el complementari.

Definició 20

S'anomena node d'inferència a un node de l'arbre semàntic els fills del qual són nodes d'errada.

Lema 4

En un arbre d'errada, excepte que només tingui un node, ha d'existir al menys un node d'inferència.

Demostració

Donat que l'arbre d'errada és finit i les branques es desenvolupen de dues en dues, necessàriament tindrem un últim node desenvolupat amb dos fills.

Lema 5

Si l'arbre semàntic d'un conjunt de clàusules és d'errada i conté un sol node, aleshores aquest conjunt conté la clàusula buida.

Lema 6

Un node d'inferència i indica un pas de resolució de les clàusules associades als seus dos fills. El resolvent d'aquestes clàusules és F pel node i i, ocasionalment, per algun dels seus antecessors.

Demostració

En un node d'inferència i qualsevol, es tindrà un esquema com el següent:

    • Donat que el node i no fa F a Cj i la única cosa que canvia en el node j respecte a i és el valor de p, la clàusula Cj ha de contenir el literal ¬p (complementat per tal de que sigui F).
    • Per la mateixa raó, la clàusula Ck ha de contenir el literal p (sense complementar per tal de que sigui F).

Per tant: Cj i Ck són resolubles respecte a p. L'esquema serà:

En el node j, Cj pren valor F, per tant Reste_Cj prendrà també valor F, com Reste_Cj no conté el literal p també prendrà valor F en el node i

De la mateixa forma, Reste_Ck prendrà valor F en el node i. Per tant, Rp(Cj, Ck) = Reste_CjReste_Ck C prendrà valor F en el node i, és a dir, el node i, és un node d'errada per al resolvent de Cj i Ck

De vegades, pot ocórrer que el resolvent sigui F també per algun dels pares del node d'inferència, com exemple, consideris el conjunt de clàusules { p, ¬pq, ¬r, ¬pr }, l'arbre semàntic, junt amb els resolvents seria:

El resolvent dels nodes 6 i 7 és ( ¬p) que fa F al node 4 però també fa F al seu antecessor, el node 2.

Teorema 10 (Completud de l'algorisme de resolució proposicional)

Si un conjunt de clàusules és insatisfacible aleshores, aplicant l'algorisme de resolució, s'arriba a la clàusula buida.

Demostració

  C és un conjunt de clàusules insatisfacibles.  
  { Lema 1 }
  L'arbre semàntic de C serà un arbre d'errada.  
  { Lema 4 }
  Existeix un node d'inferència  
  { Lema 6, un node d'inferència indica un pas de resolució }
  Es pot formar el resolvent amb les clàusules associades als dos fills.
El resolvent pot afegir-se al conjunt. C
 
  { Hipòtesis: C és insatisfacible, Consistència Resolució }
  Es construeix un nou arbre semàntic.  

El nou arbre seguirà sent insatisfacible però contindrà menys nodes. Repetint el procés s'arribarà a un arbre semàntic amb un sol node que correspondrà a la clàusula buida { Lema 5 }. Quedant demostrat que s'arriba a la clàusula buida per resolució.

Estratègies de resolució

El mètode de resolució és un algorisme no determinista ja que poden trobar-se múltiples formes d'assolir la clàusula buida en un conjunt insatisfacible. Molts cops, seguint un determinat camí s'assolirà la clàusula buida amb molts menys passos de resolució que per un altre camí.

Durant el desenvolupament de l'algorisme és necessari respondre les següents preguntes: Quines dues clàusules es seleccionen? i sobre quins literals es fa la resolució?

Les diferents estratègies de resolució tracten de respondre a ambdues preguntes de forma que es mantingui la completud (si el conjunt és insatisfacible, assolir la clàusula buida) de manera eficient.

Un dels desavantatges de la utilització de les regles de resolució sense cap restricció consisteix en que es poden seleccionar clàusules en les que el seu resolvent no sigui útil en el camí de cerca de la clàusula buida. S'observa que molts cops els resolvents són redundants o no aporten cap utilitat per a la cerca. A continuació es mencionen un seguit d'estratègies que serviran per a eliminar el treball inútil.

Estratègies d'esborrat

Una estratègia d'esborrat serà una tècnica en la qual s'eliminen un seguit de clàusules abans de que siguin utilitzades. Si aquestes clàusules no van a aportar res per a la cerca de la clàusula buida, la seva eliminació permetrà un estalvi computacional.

Eliminació de clàusules amb literals purs

Definició 21

Un literal és pur sí i només sí no existeix un literal complementari a ell en el conjunt de clàusules.

Una clàusula que contingui un literal pur és inútil en la cerca de la clàusula buida, donat que el literal pur no podrà ser eliminat mai mitjançant resolució. Per tant, una estratègia d'esborrat consisteix en l'eliminació de clàusules con literals purs.

Exemple

Sigui el conjunt C = { ¬p ∨ ¬qr, ¬ps, ¬qs, p, q, ¬r, } és insatisfacible, tanmateix, per a demostrar-ho, es poden ignorar la segona i la tercera clàusules, donat que ambdues contenen el literal pur s.

Eliminació de tautologies

Definició 22

Una tautologia és una clàusula que conté el mateix literal en la seva forma directa i inversa. [1]

Exemple

La clàusula p ∨ ¬qr ∨ ¬p és una tautologia.

La presència o absència de tautologies en un conjunt de clàusules no afecta la condició de satisfacibilitat del conjunt. Un conjunt de clàusules romandrà satisfacible independentment de que se li afegeixin tautologies. De la mateixa manera, un conjunt de clàusules insatisfacible ho seguirà sent encara que s'elimini totes les seves tautologies. És possible, per tant, eliminar les tautologies d'un conjunt de clàusules per a que no intervinguin en el procés de cerca sense alterar-ne la satisfacibilitat del conjunt.

Eliminació de Subsumpcions

Definició 23

Una clàusula C subsumeix a una clàusula D sí i només sí tot literal de C pertany també a D, és a dir: CD.

Exemple

La clàusula p ∨ ¬q subsumeix a la clàusula p ∨ ¬qr.

Per la llei d'absorció, un conjunt de clàusules en el que s'eliminin totes les clàusules subsumides serà equivalent al conjunt original. Les clàusules subsumides poden ser, per tant, eliminades.

Es necessari observar que, durant el desenvolupament del procés de resolució, es poden generar resolvents de clàusules que siguin tautologies o clàusules subsumides. Les estratègies d'esborrat hauran de comprovar tant el conjunt de clàusules original com els diferents resolvents generats en cada resolució.

Resolució unitària

Definició 24

Un resolvent unitari és un resolvent en el qual al menys un dels pares és una clàusula unitària (amb un sol literal).

Una estratègia de resolució unitària és una aplicació de l'algorisme de resolució en la qual tots els resolvents són unitaris.

Exemple

Sigui C = { pq, ¬pr, ¬qr, ¬r, } . A continuació s'aplicarà l'estratègia de resolució unitària, per a fer-ho, es seleccionen sempre dues clàusules resolubles tals que una d'elles tingui un literal.

Observis que els resolvents generats són un subconjunt dels que es podrien generar mediant la resolució sense restriccions. Per exemple, les clàusules 1 i 2 podrien haver-se seleccionat per a obtenir qr . Tanmateix ni aquesta clàusula ni els seus descendents podran ser generats perquè cap de les clàusules que la generen és unitària.

Els procediments de resolució basats en resolució unitària són senzills d'implementar i, normalment, bastant eficients. Observis que si una clàusula és resolta amb una clàusula unitària, el seu resolvent té menys literals que la clàusula original. D'aquesta manera els procediments segueixen una cerca directa cap a la clàusula buida (∅) guanyant en eficiència.

Malauradament, els procediments d'inferència basats en resolució unitària no són, en general, complerts. Per exemple, el conjunto C = { pq, ¬pq, p ∨ ¬q, ¬p ∨ ¬q } es insatisfacible, però la resolució unitària no trobarà la clàusula buida perquè cap de les clàusules és unitària.

Per altra banda, restringint-ne el format de clàusules a clàusules Horn (clàusules amb un literal positiu com a màxim) es pot demostrar que si un conjunto de clàusules Horn és insatisfacible, aleshores s'arribarà a la clàusula buida aplicant l'estratègia de resolució unitària.

Resolució d'entrada

Definició 25

Un resolvent d'entrada és un resolvent en el qual al menys un dels pares és una clàusula del conjunt original d'entrada.

Una estratègia de resolució d'entrada es una aplicació de l'algorisme de resolució en la qual tots els resolvents són d'entrada.

Exemple

Sigui C = { pq, ¬pr, ¬qr, ¬r, } . A continuació s'aplicarà l'estratègia de resolució d'entrada, per a fer-ho, es seleccionen sempre dues clàusules resolubles tals que una d'elles pertany al conjunt original d'entrada.

Es pot demostrar que la resolució unitària i la resolució d'entrada tenen el mateix poder d'inferència en el sentit de que si amb una estratègia es pot assolir la clàusula buida, amb l'altra també.

Una conseqüència de l'anterior és que la resolució d'entrada és complerta per a clàusules Horn, però incomplerta en general. Com a contraexemple, es pot prendre el de l'apartat anterior.

Resolució lineal

La resolució lineal (també coneguda com a resolució amb filtrat d'avantpassats) és una lleugera generalització de la resolució d'entrada. S'escull una clàusula inicial o clàusula cap C0 i es forma una cadena de resolvents R0 , R1 , R2 ,···, Rn on:

    • R0 = C0
    • Ri+1 = R(Ri, Ci) tal que CiC ó Ci = Rj (j ≤ i)

La resolució lineal pren el nom de l'aspecte lineal que presenten les inferències realitzades. Una resolució lineal comença amb una clàusula del conjunt inicial i produeix una cadena lineal de resolucions com la que es mostra en la figura pel conjunt de clàusules: C = { pq, ¬pq, p ∨ ¬q, ¬p ∨ ¬q }

Observis que cada resolvent, després del primer, s'obté del resolvent anterior i d'alguna altra clàusula del conjunt.

La resolució lineal evita moltes resolucions inútils centrant-se en cada pas en els avantpassats d'una clàusula i en els elements del conjunt inicial.

Els resultats obtinguts aplicant resolució per a una determinada clàusula cap es poden mostrar en forma d'arbre de resolució. L'arrel de l'arbre és la clàusula cap i es formen els nodes descendents segons les clàusules amb les que es pot resoldre. L'arbre de resolució per a l'exemple anterior seria:

En la figura es representen les resolucions indicant el nombre de la clàusula i el literal pel que es resol. A cada resolvent se li assigna un nou nombre. Observis que poden existir camins infinits (el camí més a l'esquerra), camins que porten a tautologies i camins d'èxit que assoleixen la clàusula buida.

Es pot demostrar que la resolució lineal es complerta. Per a qualsevol conjunt de clàusules insatisfacibles, aplicant resolució lineal, s'assoleix la clàusula buida.

Com a conseqüència del següent teorema, no sempre és necessari provar amb totes les clàusules del conjunt inicial com a clàusula cap.

Teorema 110

Si un conjunt de clàusules S es satisfacible i S ∪ C es insatisfacible, aleshores es troba la clàusula buida mitjançant resolució lineal prenent com a clàusula cap una clàusula del conjunto C.

El teorema anterior té aplicació a l'estudi dels raonaments, en els quals les premisses són, en general, satisfacibles. Si al afegir-ne les clàusules resultants de negar la conclusió el conjunto resultant és insatisfacible (i el raonament és correcte) aleshores, segons el teorema anterior hi ha prou amb provar com a clàusula cap amb les que resultaren de negar la conclusió.

Resolució ordenada

La resolució ordenada o selectiva és una estratègia de resolució molt restrictiva en la qual cada clàusula es pren com a un conjunt de literals ordenats. La resolució només es realitza amb el primer literal de cada clàusula. Els literals del resolvent mantenen l'ordre de les clàusules pare amb els literals del pare positiu (la clàusula que contenia el literal pel que es resol afirmant) seguits dels literals del pare negatiu (la clàusula que contenia el literal pel que es resol negant).

Exemple

Sigui C = { pq, ¬pr, ¬qr, ¬r, } . A continuació s'aplicarà l'estratègia de resolució d'entrada, per a fer-ho, es seleccionen sempre dues clàusules resolubles tals que una d'elles pertany al conjunt original d'entrada.

La clàusula 5 es l'únic resolvent ordenat entre les clàusules 1 i 4. Les clàusules 1 i 3 no resolen donat que els seus literals complementaris no són els primers. Per la mateixa raó tampoc resolen les clàusules 2 i 4 ni les clàusules 3 i 4. Un cop generada la clàusula 5, resol amb la clàusula 3 per a produir la clàusula 6, la qual resol amb la clàusula 4 per a produir la clàusula buida.

La resolució ordenada es la més eficient (a l'exemple, s'obté la clàusula buida en el tercer pas de resolució). Desafortunadament, la resolució ordenada no és complerta. Però s'ha demostrat que la resolució ordenada sí és complerta per a clàusules Horn.

Els principals sistemes de demostració automàtica basats en el principi de resolució (por exemple, els sistemes Prolog) utilitzen una combinació de les dues últimes estratègies restringides a conjunts de clàusules Horn [2].

 

Jordi Coll Vera - 2020



La seva taula de la veritat té el valor Vertader per a totes les combinacions de les variables.
Utilitzen la resolució lineal ordenada per a clàusules Horn en lògica de predicats. Coneguda com a resolució SLD (Selective Linear Resolution for Definite Clauses).