Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pablo Barcel o
P. Barcel o
1/1
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
2/1
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
2/1
Demuestre usando resoluci on que es insatisfacible. Qu e sucede si eligi eramos otra estrategia de resoluci on en este ejemplo? Existen loops?
Ya que la cl ausula p est a en podr amos haber sacado a {q , p } antes de comenzar el proceso.
P. Barcel o
2/1
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.
P. Barcel o
3/1
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
4/1
P. Barcel o
5/1
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
5/1
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
6/1
{B , R } {B } {}
P. Barcel o
7/1
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
8/1
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
9/1
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
9/1
B D C D
{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
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.
P. Barcel o
12 / 1
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
13 / 1
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
14 / 1
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
15 / 1
{B , R } {B } {}
P. Barcel o
16 / 1
on lineal es una secuencia C0 , C1 , . . . , Cn tal que Una resoluci C0 y para cada 1 i n, Ci se obtiene se obtiene:
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
18 / 1
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
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
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
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
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
P. Barcel o
23 / 1
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
24 / 1
P. Barcel o
25 / 1
P. Barcel o
P. Barcel o
P. Barcel o
P. Barcel o
P. Barcel o
P. Barcel o
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
26 / 1
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
27 / 1
P. Barcel o
28 / 1
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
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
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
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
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
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
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
29 / 1
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
29 / 1
P. Barcel o
30 / 1
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
31 / 1
P. Barcel o
32 / 1
Pregunta: Qu e tipo de resoluci on es la que realiza este procedimiento? Resoluci on unitaria en cada paso!
P. Barcel o
32 / 1
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
32 / 1
Es menos eciente que el anterior. Lo presentamos porque generaliza bien al caso de Prolog con variables y funciones.
P. Barcel o
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
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
34 / 1
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, .
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
35 / 1
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
36 / 1
P. Barcel o
37 / 1
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
37 / 1