Title: Una aproximacin lgica para la resolucin en MaxSAT
1Una aproximación lógica para la resolución en
Max-SAT
2Índice
- Motivación.
- Definiciones básicas.
- Max-DPLL.
- Reglas de Inferencia.
- Conclusiones y trabajo futuro.
3Motivación
- SAT Algoritmos simples y elegantes basados en
reglas de inferencia.
Función DPLL(F) bool FUP(F) si ?? F devuelve
falso si F devuelve cierto lSeleccionaLiter
al(F) devuelve DPLL(Fl) v DPLL(Fl)
z v Az v B
A v B
4Motivación
- Max-SAT Algoritmos difíciles de entender basados
en procedimientos.
LB3 LB2 for every clause (x ? y) ? S do
if (c(x) gt 0) ? (c(y) gt 0) then LB3
LB3 1 c(x) c(x) - 1 c(y) c(y) - 1
end if end for
5Definiciones Básicas de SAT
- Xx1,, xn variables booleanas t,f
- l literal Es una variable x o su negación x.
- x ? t x instanciada a cierto.
- x ? f x instanciada a falso.
- Asignación Instanciación de un conjunto de
variables. - Asignación completa Instanciación de todas las
variables en X.
6Definiciones Básicas de SAT
- C es una cláusula (disyunción de literales).
- Ejemplo C x1 v x2 v x3, C3.
- Una asignación satisface una cláusula C si
satisface uno o más literales de C. - F es el conjunto de cláusulas.
- Una asignación completa que satisface todas las
cláusulas se llama modelo. - ? es la cláusula vacía. Si ? ? F, es una
contradicción explícita, y es imposible de
satisfacer.
7Def. Básicas de Max-SAT
- Si no existe un modelo para F, podemos estar
interesados en encontrar una asignación completa
con el mínimo número de cláusulas violadas. Este
es el problema de Max-SAT.
8Def. Básicas de Max-SAT
- Weighted Max-SAT considera las cláusulas como
pares (C,w). C es una cláusula y w ? N es un peso
/ coste asociado. - Asumimos la existencia de T, un upper bound de la
solución óptima. Un modelo es una asignación
completa de coste menor a T. - (C,T) es una cláusula dura. (C,u) con ultT es una
cláusula blanda. Si T1 tenemos SAT. - Max-SAT es el problema de encontrar el modelo de
coste mínimo. - Max-SAT y Weighted Max-SAT son problemas
equivalentes.
9Def. Básicas de Max-SAT
- La suma de costes/pesos se definea ? b
minab,T. - La cláusula vacía es un lower bound (?,w). Si
(?,T) ? F, es una contradicción explícita. - Fl (Asignación de l) genera una nueva F Todas
las cláusulas que contienen l son eliminadas
(satisfechas) y l es eliminada de todas las
cláusulas que la contienen.
10Def. Básicas de Max-SAT
- Ejemplo de modelo óptimo T5.
(?,1), (x,3), (x,1),(x,1),(y,3),(y,2), (x v y
v z,1)
Fx
(?,2), (y,3),(y,2), (y v z,1)
Fy
(?,4), (z,1)
Fz
(?,4)
11Max-DPLL
- Función Max-DPLL(F,T) nat
- FUP(F)si (?,T) ? F devuelve Tsi F
devuelve 0si F(?,w)devuelve
wlSeleccionaLiteral(F)vDPLL(Fl,T)vDP
LL(Fl,v)devuelve v
12Max-DPLL
- UP Reglas básicas UCR.
- Reglas básicas de simplificación de Max-SAT
- BR1(A,T),(A v B,w) ? (A,T)
- BR2(A,w),(A,u) ? (A,w ? u)
- BR3 si (w ? u T) entonces (A,w),(Av B,u)?
(A,w), (Av B,T) - BR4 (A,0) ?
13Max-DPLL
- UCR (Unit clause Reduction) Selecciona una
cláusula (l,T) e instancia la correspondiente
variable en concordancia con el literal de esa
cláusula. - UP (Unit propagation) Es el algoritmo que aplica
UCR y las reglas básicas BR1-4 hasta (a)
encontrar una contradicción o (b) hasta que no es
posible hacer más simplificaciones.
14Max-DPLL
- Aplicando UP. Ejemplo con T5.
(?,1), (x,3), (x,1),(x,1),(y,3),(y,2), (x v y
v z,1)
BR2 Suma de pesos
(?,1), (x,4),(x,1),(y,3),(y,2), (x v y v z,1)
BR3 Endurecimiento
(?,1), (x,T),(x,1),(y,3),(y,2), (x v y v z,1)
UCR x
(?,2),(y,3)(y,2),(y v z,1)
15Max-DPLL
(?,2),(y,3)(y,2),(y v z,1)
Recordar T5
BR3 Endurecimiento
(?,2),(y,T)(y,2),(y v z,1)
UCR y
(?,4),(z,1)
BR3 Endurecimiento
(?,4),(z,T)
UCR z
(?,4)
16Reglas de Inferencia
- Regla de Resolución genérica. Resolution for
Max-SAT (RES)
(A v B,m),(x v A,u-m), (x v B, w-m), (x v A v
B,m), (x v A v B,m)
(x v A,u), (x v B,w)
Donde mminu,w y
a b a ? T T a T
a b
17Reglas de Inferencia
(A v B,m),(x v A,u-m),(x v B, w-m), (x v A v
B,m),(x v A v B,m)
(x v A,u), (x v B,w)
x A B
??? ? ? ? ? ?
uu00w0w0
m00 0 m000
u-mu-m0 0 0 0 00
0000w-m0w-m0
??? ? ? ? ? ?
??? ? ? ? ? ?
0m000000
??? ? ? ? ? ?
000000m0
f f ff f tf t ff t tt f ft f tt t ft t t
18Reglas de Inferencia
- Neighborhood Resolution (NRES) En RES, suponer
que AB.
(A,m),(x v A,u-m), (x v A, w-m)
(x v A,u), (x v A,w)
(?,m),(x,u-m), (x,w-m)
(x,u), (x,w)
(donde mminu,w)
19Reglas de Inferencia
- Aplicando NRES. Ejemplo T5.
(x,1),(x v y,2),(x v y v z,1), (x v y v z,1)
NRES2
(x,1),(x v y,2),(x v y,1)
NRES1
(x,1),(x v y,1),(x,1)
NRES0
(?,1),(x v y,1)
20Conclusiones y trabajo futuro
- Se ha adaptado el DPLL a Max-SAT.
- Se han adaptado algunas reglas de inferencia que
nos permiten simplificar el problema, reduciendo
la aridad de cláusulas y obteniendo nuevas cotas
inferiores. - En breve adaptaremos la regla de Modus Ponens a
Max-SAT y se harán experimentos.
Referencia Resolution in Max-SAT and its
relation to local consistency in weighted CSPs,
Javier Larrosa and Federico Heras (IJCAI 2005
Edinburgh).