Вы находитесь на странице: 1из 58

T ecnicas de Resoluci on

Pablo Barcel o

P. Barcel o

T ecnicas de resoluci on - CC52A

1/1

Resoluci on: Problemas


Si no somos cuidadosos al elegir resolventes el proceso de resoluci on puede volverse muy ineciente. Ejercicio: Considere el conjunto que contiene a las cl ausulas {p , q }, {p , q }, {q , p }, {p }.

Demuestre usando resoluci on que es insatisfacible. Qu e sucede si eligi eramos otra estrategia de resoluci on en este ejemplo? Existen loops?

P. Barcel o

T ecnicas de resoluci on - CC52A

2/1

Resoluci on: Problemas


Si no somos cuidadosos al elegir resolventes el proceso de resoluci on puede volverse muy ineciente. Ejercicio: Considere el conjunto que contiene a las cl ausulas {p , q }, {p , q }, {q , p }, {p }.

Demuestre usando resoluci on que es insatisfacible. Qu e sucede si eligi eramos otra estrategia de resoluci on en este ejemplo? Existen loops?

Pregunta: C omo podr amos evitar los loops en el ejemplo anterior?

P. Barcel o

T ecnicas de resoluci on - CC52A

2/1

Resoluci on: Problemas


Si no somos cuidadosos al elegir resolventes el proceso de resoluci on puede volverse muy ineciente. Ejercicio: Considere el conjunto que contiene a las cl ausulas {p , q }, {p , q }, {q , p }, {p }.

Demuestre usando resoluci on que es insatisfacible. Qu e sucede si eligi eramos otra estrategia de resoluci on en este ejemplo? Existen loops?

Pregunta: C omo podr amos evitar los loops en el ejemplo anterior?

Ya que la cl ausula p est a en podr amos haber sacado a {q , p } antes de comenzar el proceso.

P. Barcel o

T ecnicas de resoluci on - CC52A

2/1

Estrategias de resoluci on: Vista general

Estudiaremos 2 tipos de estrategias para implementar resoluci on: Estrategias de ordenaci on: Denen el orden en que se realizan las resoluciones.
Primero en anchura, primero en profundidad, resoluci on unitaria.

Estrategias de renamiento: Imponen restricciones en los tipos de resoluciones permitidos.


Eliminaci on de clausulas, conjunto soporte, resoluci on lineal.

P. Barcel o

T ecnicas de resoluci on - CC52A

3/1

Estrategia de ordenaci on: Primero en anchura

Denimos los resolventes de nivel i 0 como sigue:


Los resolventes de nivel 0 son las cl ausulas en . Los resolventes de nivel i + 1 son aquellas cl ausulas obtenidas aplicando resoluci on a cl asulas C1 de nivel i y C2 de nivel j i.

La b usqueda primero en anchura calcula primero los resolventes de primer nivel, luego los de segundo nivel, etc. Se detiene cuando encuentra la cl asula vac a en alg un nivel.

P. Barcel o

T ecnicas de resoluci on - CC52A

4/1

Estrategia de ordenaci on: Primero en anchura

Ejercicio: Realice b usqueda primero en anchura para conjunto de cl ausulas: {p , q }, {q , r }, {p , s }, {p , s }, {r }.

P. Barcel o

T ecnicas de resoluci on - CC52A

5/1

Estrategia de ordenaci on: Primero en anchura

Ejercicio: Realice b usqueda primero en anchura para conjunto de cl ausulas: {p , q }, {q , r }, {p , s }, {p , s }, {r }. Ventajas y desventajas de la b usqueda en profundidad:

Ventaja: No entra en loops, y por tanto, siempre naliza con la cl ausula vac a en el caso de que el conjunto sea insatisfacible. Desventaja: Es exponencial tanto en tiempo como en espacio.

P. Barcel o

T ecnicas de resoluci on - CC52A

5/1

Estrategia de ordenaci on: Primero en profundidad

Se almacena la demostraci on como una lista de cl ausulas. En cada paso resolvemos utilizando la u ltima cl ausula generada y alguna cl ausula en la lista. El problema es que podemos caer en loops si no elegimos bien la estrategia. Ejemplo anterior: = {{p , q }, {p , q }, {q , p }, {p }}. Com unmente se pone una cota en el largo de las demostraciones para evitar loops.

P. Barcel o

T ecnicas de resoluci on - CC52A

6/1

Estrategias de ordenai on: Primero en profundidad

Ejemplo: B usqueda en profundidad.


B {R } {B , O , R } O

{B , R } {B } {}

P. Barcel o

T ecnicas de resoluci on - CC52A

7/1

Estrategias de ordenai on: Primero en profundidad

Ventajas y deventajas de primero en profundidad:

Ventaja: Requiere menos memoria ya que s olo almacenamos cl ausulas en la lista. Desventaja: Debemos incluir estrategias de control para detecci on de loops (no trivial).

P. Barcel o

T ecnicas de resoluci on - CC52A

8/1

Estrategias de ordenaci on: Resoluci on unitaria

on unitaria le entrega siempre prioridad a aquellas La resoluci resoluciones donde al menos una de las cl ausulas tiene un s olo literal.

P. Barcel o

T ecnicas de resoluci on - CC52A

9/1

Estrategias de ordenaci on: Resoluci on unitaria

on unitaria le entrega siempre prioridad a aquellas La resoluci resoluciones donde al menos una de las cl ausulas tiene un s olo literal. Justicaci on: Al resolver una cl ausula con k literales y una cl ausula con 1 literal obtenemos una cl ausula con k 1 literales. Al obtener cl ausulas m as y m as peque nas aumenta la probabilidad de llegar a la cl ausula vac a 2.

P. Barcel o

T ecnicas de resoluci on - CC52A

9/1

Resoluci on unitaria: Ejemplo


El siguiente es un ejemplo de resoluci on donde todos los pasos son unitarios:
A A B B C D D E E C

B D C D

Nota: Por supuesto esto no es siempre posible!


P. Barcel o T ecnicas de resoluci on - CC52A 10 / 1

Estrategias de renamiento: Eliminaci on de cl ausulas


En general, no podemos eliminar cl ausulas generadas en un proceso de resoluci on porque podr an ser utilizadas posteriormente.
{B , C } {A, B } {C , A} {A, B , C }

{A, B }

{B } {A, B , C } {C }

{A, C }

{A} {}

Sin embargo, podr amos intentar mantener el n umero de cl ausulas tan peque no como se pueda sin alterar la satisfacibilidad del conjunto.
P. Barcel o T ecnicas de resoluci on - CC52A 11 / 1

Estrategias de renamiento: Eliminaci on de cl ausulas

En un proceso de resoluci on podemos eliminar los siguientes tipos de cl ausulas sin afectar la satisfacibilidad del conjunto:

Cl ausulas puras: para alg un literal l en la cl ausula se tiene que l no aparece en ninguna otra cl ausula. Tautolog as: cl asulas que contienen literales l y l. Cl ausulas subsumidas: aquellas para las cuales existe otra cl ausula que contiene exactamente un subconjunto de sus literales.

Nos enfocaremos principalmente en este u ltimo tipo de cl ausulas.

P. Barcel o

T ecnicas de resoluci on - CC52A

12 / 1

Estrategias de renamiento: Cl ausulas subsumidas

Ejercicio: Por qu e podemos eliminar las cl ausulas subsumidas sin afectar la satisfacibilidad del conjunto? Ejercicio: Realice resoluci on sobre nuestro ejemplo anterior, pero esta vez eliminando a cada paso todas las cl ausulas subsumidas.

P. Barcel o

T ecnicas de resoluci on - CC52A

13 / 1

Cl ausulas subsumidas y resoluci on unitaria

on de la forma: Note que despu es de cada paso unitario de resoluci l C1 l C1 podemos eliminar la cl ausula l C1 (por qu e?).

P. Barcel o

T ecnicas de resoluci on - CC52A

14 / 1

Estrategias de renamiento: Conjunto soporte

Una suposici on razonable al momento de vericar si |= es que es satisfacible: corresponde a nuestra descripci on del mundo, y por tanto, deber a tener al menos un modelo. Por tanto, toda demostraci on de insatisfacibilidad de {} mediante resoluci on debe contener alguna cl ausula de . ar nuestra b usqueda La idea del conjunto soporte es por tanto gu usando .

P. Barcel o

T ecnicas de resoluci on - CC52A

15 / 1

Conjunto soporte: Denici on


El conjunto soporte se dene como sigue: pertenece al conjunto soporte; la resoluci on de cualquier elemento en el conjunto soporte y otra cl ausula pertenece al conjunto soporte. La estrategia del conjunto soporte: En cada resoluci on usar al menos una cl ausula en el conjunto soporte. Ejemplo: {B }, {R }, {B , O , R } |= O usando estrategia de conjunto soporte:
B {R } {B , O , R } O

{B , R } {B } {}

P. Barcel o

T ecnicas de resoluci on - CC52A

16 / 1

Conjunto soporte: Correcci on y completidad


Teorema
Para el caso en que es satisfacible la estrategia del conjunto soporte es correcta y completa. Esto quiere decir que si {} 2, entonces 2 puede ser obtenido desde {} usando resoluci on mediante la estrategia del conjunto soporte. Ejercicio (dif cil): Demuestre el teorema anterior. Ejercicio: Demuestre que A es consecuencia l ogica de {A, B }, {B , C , D }, {D , E }, {E }, {C } usando la estrategia del conjunto soporte.
P. Barcel o T ecnicas de resoluci on - CC52A 17 / 1

Estrategias de renamiento: Resoluci on lineal

on lineal es una secuencia C0 , C1 , . . . , Cn tal que Una resoluci C0 y para cada 1 i n, Ci se obtiene se obtiene:

por resoluci on desde Ci 1 y alg un elemento en ; o por resoluci on desde Ci 1 y Cj , j < i 1.

Ejemplo: El ejemplo que usamos para mostrar la estrategia del conjunto soporte es tambi en una resoluci on lineal. Ejercicio: Demuestre que la resoluci on lineal es completa.

P. Barcel o

T ecnicas de resoluci on - CC52A

18 / 1

Estrategias de renamiento: Resoluci on lineal

Si eliminamos el caso en que Ci se obtiene por resoluci on de Cj y on de entrada. Ci 1 entonces hablamos de resoluci Ejercicio: Demuestre que la estrategia de resoluci on de entrada no es completa.

P. Barcel o

T ecnicas de resoluci on - CC52A

19 / 1

Complejidad de resoluci on

Por muy buenas que sean nuestras estrategias hay dos resultados matem aticos que muestran que resoluci on es (en el caso general) un m etodo poco eciente:

El problema de satisfacibilidad es NP-completo. Existen casos en que el largo de la refutaci on m as corta es a un exponencial [Haken85].

Intentar convertir a DNF o procedimientos parecidos no funcionan, ya que las transformaciones entre estos fragmentos est a demostrado que toman tiempo exponencial en el peor caso.

P. Barcel o

T ecnicas de resoluci on - CC52A

20 / 1

Complejidad de resoluci on

Pero... estamos hablando de peor caso: Por ejemplo, la complejidad promedio del problema de satisfacibilidad es polinomial. La complejidad de satisfacibilidad para 2-SAT tambi en es polinomial. A continuaci on demostraremos que esto tambi en es cierto para un fragmento de SAT muy u til en programaci on en l ogica: Cl ausulas de Horn.

P. Barcel o

T ecnicas de resoluci on - CC52A

21 / 1

Cl ausulas de Horn

Estudiaremos un tipo de cl ausulas para el que podemos resolver ausulas de Horn. ecientemente el problema de satisfacibilidad: Cl as un literal positivo. Una cl ausula es de Horn si tiene a lo m Ejemplo: {p , q , r }, {p }, {q , r }. Mostraremos que vericar satisfacibilidad para esta clase de cl ausulas se puede hacer en tiempo polinomial. Ejercicio: Demuestre que existe una cl ausula que no es equivalente a ning un conjunto de cl asulas de Horn.

P. Barcel o

T ecnicas de resoluci on - CC52A

22 / 1

Cl ausulas de Horn

Por lo antes dicho, las cl ausulas de Horn pueden ser de 3 tipos: (1) p (2) q1 , . . . , qn (3) p q1 , . . . , qn atomo cl ausula negativa cl ausula positiva

En una cl ausula positiva p q1 , . . . , qn decimos que p es la cabeza y q1 , . . . , qn es el cuerpo.

P. Barcel o

T ecnicas de resoluci on - CC52A

23 / 1

Procedimiento para chequear satisfacibilidad

El siguiente procedimiento falla si y s olo si el conjunto de cl ausulas de Horn es insatisfacible. Si no falla, entrega adem as el conjunto de proposiciones at omicas que son consecuencia l ogica del programa: Dado conjunto de cl ausulas de Horn: 1. Inicialice L := (L conjunto de atomos que se deducen de ). 2. Realice lo siguiente hasta que el procedimiento falle o hasta que el valor de L no cambie:

Si existe cl ausula q1 , . . . , qn en tal que qi L, para todo i n, entonces el procedimiento falla. De otra forma, para cada cl ausula p q1 , . . . , qn en tal que p L y qi L, para todo i n, agregue p a L.

P. Barcel o

T ecnicas de resoluci on - CC52A

24 / 1

Procedimiento para satisfacibilidad: Ejemplo


Ejemplo: Sea el siguiente conjunto de cl ausulas: {d }, {e }, {a b , c }, {b d , e }, {b c }, {b g , e }, {c e }, {f a, g }

P. Barcel o

T ecnicas de resoluci on - CC52A

25 / 1

Procedimiento para satisfacibilidad: Ejemplo


Ejemplo: Sea el siguiente conjunto de cl ausulas: {d }, {e }, {a b , c }, {b d , e }, {b c }, {b g , e }, {c e }, {f a, g } El procedimiento anterior entrega lo siguiente (Li es el valor de L en paso i ):

L0 = ; L1 = {d , e }; L2 = {d , e , b , c }; L3 = {d , e , b , c , a}; L4 = L3 (procedimiento para).


T ecnicas de resoluci on - CC52A 25 / 1

P. Barcel o

Procedimiento para satisfacibilidad: Ejemplo


Ejemplo: Sea el siguiente conjunto de cl ausulas: {d }, {e }, {a b , c }, {b d , e }, {b c }, {b g , e }, {c e }, {f a, g } El procedimiento anterior entrega lo siguiente (Li es el valor de L en paso i ):

L0 = ; L1 = {d , e }; L2 = {d , e , b , c }; L3 = {d , e , b , c , a}; L4 = L3 (procedimiento para).


T ecnicas de resoluci on - CC52A 25 / 1

P. Barcel o

Procedimiento para satisfacibilidad: Ejemplo


Ejemplo: Sea el siguiente conjunto de cl ausulas: {d }, {e }, {a b , c }, {b d , e }, {b c }, {b g , e }, {c e }, {f a, g } El procedimiento anterior entrega lo siguiente (Li es el valor de L en paso i ):

L0 = ; L1 = {d , e }; L2 = {d , e , b , c }; L3 = {d , e , b , c , a}; L4 = L3 (procedimiento para).


T ecnicas de resoluci on - CC52A 25 / 1

P. Barcel o

Procedimiento para satisfacibilidad: Ejemplo


Ejemplo: Sea el siguiente conjunto de cl ausulas: {d }, {e }, {a b , c }, {b d , e }, {b c }, {b g , e }, {c e }, {f a, g } El procedimiento anterior entrega lo siguiente (Li es el valor de L en paso i ):

L0 = ; L1 = {d , e }; L2 = {d , e , b , c }; L3 = {d , e , b , c , a}; L4 = L3 (procedimiento para).


T ecnicas de resoluci on - CC52A 25 / 1

P. Barcel o

Procedimiento para satisfacibilidad: Ejemplo


Ejemplo: Sea el siguiente conjunto de cl ausulas: {d }, {e }, {a b , c }, {b d , e }, {b c }, {b g , e }, {c e }, {f a, g } El procedimiento anterior entrega lo siguiente (Li es el valor de L en paso i ):

L0 = ; L1 = {d , e }; L2 = {d , e , b , c }; L3 = {d , e , b , c , a}; L4 = L3 (procedimiento para).


T ecnicas de resoluci on - CC52A 25 / 1

P. Barcel o

Procedimiento para satisfacibilidad: Ejemplo


Ejemplo: Sea el siguiente conjunto de cl ausulas: {d }, {e }, {a b , c }, {b d , e }, {b c }, {b g , e }, {c e }, {f a, g } El procedimiento anterior entrega lo siguiente (Li es el valor de L en paso i ):

L0 = ; L1 = {d , e }; L2 = {d , e , b , c }; L3 = {d , e , b , c , a}; L4 = L3 (procedimiento para).


T ecnicas de resoluci on - CC52A 25 / 1

P. Barcel o

Procedimiento para satisfacibilidad: Ejemplo

Concluimos que es satisfacible y que L3 = {d , e , b , c , a} es el conjunto de variable proposicionales que son consecuencia l ogica de . Que sea satisfacible no es muy sorprendente. De hecho, Ejercicio: Demuestre que todo conjunto de atomos (p ) y cl ausulas positivas (p q1 , . . . , qn ) es satisfacible.

P. Barcel o

T ecnicas de resoluci on - CC52A

26 / 1

Cl ausulas de Horn y consecuencia l ogica

M as que satisfacibilidad nosotros queremos vericar consecuencia l ogica. Si queremos usar este procedimiento para chequear si |= , donde es conjunto de cl asulas de Horn, se requiere que sea una cl ausula de Horn: Asumimos que es una conjunci on de literales positivos (llamada objetivo). Por tanto, es de la forma q1 , . . . , qn . En este caso {} es tambi en un conjunto de cl ausulas de Horn.

P. Barcel o

T ecnicas de resoluci on - CC52A

27 / 1

Procedimiento para consecuencia l ogica: Ejemplo


Ejemplo: Queremos demostrar que Girl es consecuencia l ogica del siguiente conjunto de cl ausulas de Horn: {Baby }, {Child Baby}, {Boy Child, Male} {Female}, {Girl Child, Female}, {Child Infant}

P. Barcel o

T ecnicas de resoluci on - CC52A

28 / 1

Procedimiento para consecuencia l ogica: Ejemplo


Ejemplo: Queremos demostrar que Girl es consecuencia l ogica del siguiente conjunto de cl ausulas de Horn: {Baby }, {Child Baby}, {Boy Child, Male} {Female}, {Girl Child, Female}, {Child Infant} Basta demostrar que el procedimiento anterior falla sobre { Girl} (Li es el valor de L en paso i ):

L0 = ; L1 = {Female, Baby }; L2 = {Female, Baby , Child}; L3 = {Female, Baby , Child, Girl}; En el 4to paso el pocedimiento falla debido a la presencia de Girl.
T ecnicas de resoluci on - CC52A 28 / 1

P. Barcel o

Procedimiento para consecuencia l ogica: Ejemplo


Ejemplo: Queremos demostrar que Girl es consecuencia l ogica del siguiente conjunto de cl ausulas de Horn: {Baby }, {Child Baby}, {Boy Child, Male} {Female}, {Girl Child, Female}, {Child Infant} Basta demostrar que el procedimiento anterior falla sobre { Girl} (Li es el valor de L en paso i ):

L0 = ; L1 = {Female, Baby }; L2 = {Female, Baby , Child}; L3 = {Female, Baby , Child, Girl}; En el 4to paso el pocedimiento falla debido a la presencia de Girl.
T ecnicas de resoluci on - CC52A 28 / 1

P. Barcel o

Procedimiento para consecuencia l ogica: Ejemplo


Ejemplo: Queremos demostrar que Girl es consecuencia l ogica del siguiente conjunto de cl ausulas de Horn: {Baby }, {Child Baby}, {Boy Child, Male} {Female}, {Girl Child, Female}, {Child Infant} Basta demostrar que el procedimiento anterior falla sobre { Girl} (Li es el valor de L en paso i ):

L0 = ; L1 = {Female, Baby }; L2 = {Female, Baby , Child}; L3 = {Female, Baby , Child, Girl}; En el 4to paso el pocedimiento falla debido a la presencia de Girl.
T ecnicas de resoluci on - CC52A 28 / 1

P. Barcel o

Procedimiento para consecuencia l ogica: Ejemplo


Ejemplo: Queremos demostrar que Girl es consecuencia l ogica del siguiente conjunto de cl ausulas de Horn: {Baby }, {Child Baby}, {Boy Child, Male} {Female}, {Girl Child, Female}, {Child Infant} Basta demostrar que el procedimiento anterior falla sobre { Girl} (Li es el valor de L en paso i ):

L0 = ; L1 = {Female, Baby }; L2 = {Female, Baby , Child}; L3 = {Female, Baby , Child, Girl}; En el 4to paso el pocedimiento falla debido a la presencia de Girl.
T ecnicas de resoluci on - CC52A 28 / 1

P. Barcel o

Procedimiento para consecuencia l ogica: Ejemplo


Ejemplo: Queremos demostrar que Girl es consecuencia l ogica del siguiente conjunto de cl ausulas de Horn: {Baby }, {Child Baby}, {Boy Child, Male} {Female}, {Girl Child, Female}, {Child Infant} Basta demostrar que el procedimiento anterior falla sobre { Girl} (Li es el valor de L en paso i ):

L0 = ; L1 = {Female, Baby }; L2 = {Female, Baby , Child}; L3 = {Female, Baby , Child, Girl}; En el 4to paso el pocedimiento falla debido a la presencia de Girl.
T ecnicas de resoluci on - CC52A 28 / 1

P. Barcel o

Procedimiento para consecuencia l ogica: Ejemplo


Ejemplo: Queremos demostrar que Girl es consecuencia l ogica del siguiente conjunto de cl ausulas de Horn: {Baby }, {Child Baby}, {Boy Child, Male} {Female}, {Girl Child, Female}, {Child Infant} Basta demostrar que el procedimiento anterior falla sobre { Girl} (Li es el valor de L en paso i ):

L0 = ; L1 = {Female, Baby }; L2 = {Female, Baby , Child}; L3 = {Female, Baby , Child, Girl}; En el 4to paso el pocedimiento falla debido a la presencia de Girl.
T ecnicas de resoluci on - CC52A 28 / 1

P. Barcel o

Correcci on y completitud del procedimiento

C omo podemos demostrar que el procedimiento es correcto y completo? Es decir, queremos demostrar que es satisfacible si y s olo si el procedimiento anterior no falla con entrada .

P. Barcel o

T ecnicas de resoluci on - CC52A

29 / 1

Correcci on y completitud del procedimiento

C omo podemos demostrar que el procedimiento es correcto y completo? Es decir, queremos demostrar que es satisfacible si y s olo si el procedimiento anterior no falla con entrada . Asuma primero que el procedimiento no falla y su salida es L. Ejercicio: Demuestre que la valuaci on tal que (p ) = 1 p L satisface a .

P. Barcel o

T ecnicas de resoluci on - CC52A

29 / 1

Correcci on y completitud del procedimiento


Asuma ahora que es satisfacible por valuaci on , y (por contradicci on) que el procedimiento falla. Sea L la salida del algoritmo hasta el paso inmediatamente anterior a fallar. Primero demostramos que para toda variable proposicional p en L se tiene que (p ) = 1. Podemos demostrar esto por inducci on en el n umero de pasos ejecutados por el algoritmo hasta antes de fallar. Pero entonces para toda regla q1 , . . . , qn tal que qi L, para todo i n, se tiene que (qi ) = 1, para todo i n. Contradicci on, porque () = 1.

P. Barcel o

T ecnicas de resoluci on - CC52A

30 / 1

Complejidad del algoritmo

La complejidad del algoritmo es la siguiente:


El algoritmo realiza a lo m as || pasos. Cada paso tiene que buscar una regla seleccionable entre || reglas. Vericar si una regla es seleccionable toma tiempo n2 , donde n es el n umero de variables proposicionales en . Complejidad nal: O (||2 n2 ), i.e. polinomial. Se puede hacer lineal con un buen manejo de la estructura de datos.

P. Barcel o

T ecnicas de resoluci on - CC52A

31 / 1

Cl ausulas de Horn y resoluci on unitaria

Pregunta: Qu e tipo de resoluci on es la que realiza este procedimiento?

P. Barcel o

T ecnicas de resoluci on - CC52A

32 / 1

Cl ausulas de Horn y resoluci on unitaria

Pregunta: Qu e tipo de resoluci on es la que realiza este procedimiento? Resoluci on unitaria en cada paso!

P. Barcel o

T ecnicas de resoluci on - CC52A

32 / 1

Cl ausulas de Horn y resoluci on unitaria

Pregunta: Qu e tipo de resoluci on es la que realiza este procedimiento? Resoluci on unitaria en cada paso!

Corolario
Un conjunto de cl ausulas de Horn es insatisfacible si y s olo si 2 si y s olo si 2 puede ser obtenida mediante resoluci on unitaria en cada paso a partir de .

P. Barcel o

T ecnicas de resoluci on - CC52A

32 / 1

Otro procedimiento para consecuencia l ogica


El procedimiento anterior se conoce como forward chaining pues es dirigido desde los atomos hacia el objetivo. Presentaremos otro procedimiento que dado conjunto de cl ausulas de Horn y conjunci on de variables proposicionales determina si es consecuencia l ogica de . Este procedimiento se conoce como backward chaining pues es dirigido desde el objetivo hacia los atomos.

Es menos eciente que el anterior. Lo presentamos porque generaliza bien al caso de Prolog con variables y funciones.

P. Barcel o

T ecnicas de resoluci on - CC52A

33 / 1

Backward chaining
Dado conjunto de cl ausulas de Horn atomicas y positivas, y conjunci on = q1 qn de variables proposicionales. El procedimiento retorna un SI si y s olo si {} es insatisfacible. procedure RESOLVER[q1 , . . . , qn ]
if n = 0 then return SI. for cada cl ausula q1 r1 , . . . , rm en do
if RESOLVER[r1 , . . . , rm , q2 , . . . , qn ] then return SI.

end for

return NO.

P. Barcel o

T ecnicas de resoluci on - CC52A

34 / 1

Backward chaining
Dado conjunto de cl ausulas de Horn atomicas y positivas, y conjunci on = q1 qn de variables proposicionales. El procedimiento retorna un SI si y s olo si {} es insatisfacible. procedure RESOLVER[q1 , . . . , qn ]
if n = 0 then return SI. for cada cl ausula q1 r1 , . . . , rm en do
if RESOLVER[r1 , . . . , rm , q2 , . . . , qn ] then return SI.

end for

return NO. Ejercicio: A parrtir de nuestro u ltimo ejemplo demuestre que |= Girl usando backward chaining.

P. Barcel o

T ecnicas de resoluci on - CC52A

34 / 1

Backward chaining: Observaciones

El procedimiento se dice que es:

Depth-rst: Intenta resolver los nuevos objetivos r1 , . . . , rm antes que los viejos objetivos q1 , . . . , qn . Left-to-right: Intenta resolver los objetivos qi en orden: 1, 2, 3, .

Este procedimiento tambi en se denomina SLD:


Selection: Selecciona el primer elemento del objetivo. Linear: Efect ua resoluci on lineal. Denite: Funciona para cl ausulas denitivas o de Horn.

P. Barcel o

T ecnicas de resoluci on - CC52A

35 / 1

Backward chaining: Observaciones

Para el procedimiento:

La elecci on del atomo a resolver en el objetivo no importa: Todos los atomos deben ser resueltos. La elecci on de la regla s importa: Malas elecciones pueden llevar a fracasos, loops y backtracking.

Ejercicio: Investigue que sucede en nuestro primer ejemplo de cl ausulas de Horn si usamos SLD. Ejercicio: Demuestre que existe un conjunto de cl ausulas de Horn y un objetivo para los cuales SLD entra en un loop innito.

P. Barcel o

T ecnicas de resoluci on - CC52A

36 / 1

Correcci on y completitud de SLD

Pregunta: C omo podemos demostrar que el procedimiento SLD es correcto y completo?

P. Barcel o

T ecnicas de resoluci on - CC52A

37 / 1

Correcci on y completitud de SLD

Pregunta: C omo podemos demostrar que el procedimiento SLD es correcto y completo? No hay nada que demostrar, el procedimiento SLD es simplemente el de forward chaining pero recorremos el grafo en sentido contrario (desde el objetivo hacia los atomos).

Corolario
Un conjunto de cl ausulas de Horn es insatisfacible si y s olo si ausula vac a 2 puede ser obtenida por 2 si y s olo si la cl resoluci on lineal y de entrada desde .

P. Barcel o

T ecnicas de resoluci on - CC52A

37 / 1

Вам также может понравиться