• Aucun résultat trouvé

Optimisation bool´eenne multiobjectif : complexit´e sous contraintes compil´ees et r´esolution via SAT

N/A
N/A
Protected

Academic year: 2022

Partager "Optimisation bool´eenne multiobjectif : complexit´e sous contraintes compil´ees et r´esolution via SAT"

Copied!
109
0
0

Texte intégral

(1)

Optimisation bool´ eenne multiobjectif : complexit´ e sous contraintes compil´ ees et r´ esolution via SAT

Emmanuel Lonca

Universit´e d’Artois, CRIL-CNRS UMR 8188

26 juin 2015

(2)

Cadre des travaux

probl`emes de d´ecision

∃?ω

probl`emes d’optimisation

∃?ω|@ω0ω

variables bool´eennes

{>,⊥}

vous ˆetes ici

(3)

Probl` eme de d´ ecision

Probl`eme deecision: existe-t-il une solution `a mon probl`eme ?

package: a version: 1 conflicts: a installed: true package: a version: 2 conflicts: a, d package: b version: 1 conflicts: b installed: true package: b version: 2 conflicts: b package: b

package: c version: 1 installed: true package: d version: 1 installed: true package: e version: 1 depends: f, h, i conflicts: e package: e version: 2

depends: f, h, a > 1, b > 1 conflicts: e

package: e

package: e version: 4 depends: f, j conflicts: e package: f version: 1 package: g version: 1 conflicts: b, c, d package: h version: 1 package: i version: 1

request: install package e

(4)

Probl` eme d’optimisation

Probl`emed’optimisation: existe-t-il une solution `a mon probl`eme ? Si oui, en retourner une qui minimise le nombre de paquets retir´es.

package: a version: 1 conflicts: a installed: true package: a version: 2 conflicts: a, d package: b version: 1 conflicts: b installed: true package: b version: 2 conflicts: b package: b version: 3 conflicts: b, c

package: c version: 1 installed: true package: d version: 1 installed: true package: e version: 1 depends: f, h, i conflicts: e package: e version: 2

depends: f, h, a > 1, b > 1 conflicts: e

package: e version: 3

depends: f, a > 1, b > 2 conflicts: e

package: e version: 4 depends: f, j conflicts: e package: f version: 1 package: g version: 1 conflicts: b, c, d package: h version: 1 package: i version: 1

request: install package e install: e

(5)

Probl` eme d’optimisation multicrit` ere

Probl`emed’optimisation multicrit`ere : existe-t-il une solution `a mon probl`eme ? Si oui, en retourner une qui minimise le nombre de paquets retir´es, dont la version a chang´e, et le nombre de paquets install´es.

package: a version: 1 conflicts: a installed: true package: a version: 2 conflicts: a, d package: b version: 1 conflicts: b installed: true package: b version: 2

package: c version: 1 installed: true package: d version: 1 installed: true package: e version: 1 depends: f, h, i conflicts: e package: e version: 2

depends: f, h, a > 1, b > 1

package: e version: 4 depends: f, j conflicts: e package: f version: 1 package: g version: 1 conflicts: b, c, d package: h version: 1 package: i

(6)

Plan de l’expos´ e

I But de la th`ese : ´etudier les probl`emes de d´ecision,

d’optimisation monocrit`ere et multicrit`ere dans la cas bool´een (SAT).

I Plan de l’expos´e :

I pr´eliminaires formels ;

I panorama de la complexit´e de l’optimisation sous contraintes compil´ees ;

I am´elioration des performances des prouveurs SAT pour la ecision et l’optimisation.

(7)

Pr´ eliminaires formels

Pr´eliminaires formels

(8)

Logique propositionnelle

I Cadre bool´een : logique propositionnelle.

I Forme normale : formules CNF (conjonction de clauses).

(x1,1∨. . .∨x1,p1)

∧ (x2,1∨. . .∨x2,p2) . . .

∧ (xn,1∨. . .∨xn,pn)

I On note Ω l’ensemble des mod`elesω.

(9)

Encodage en logique propositionnelle

I Encodage possible du probl`eme de gestion de d´ependances (d´ecision) en CNF :

¬e1(f1h1)

¬e2(f1h1a2(b2b3))

¬e3(f1a2b2)

¬e4(f1j1)

¬a1∨ ¬a2

¬b1(¬b2∧ ¬b3∧ ¬g1)

¬b2(¬b3∧ ¬g1)

¬b3(¬c1∧ ¬g1)

¬c1∨ ¬g1

¬d1(¬a2∧ ¬g1)

¬e1(¬e2∧ ¬e3∧ ¬e4)

¬e2(¬e3∧ ¬e4)

¬e3∨ ¬e4

I Existe-t’il des solutions meilleures que d’autres ? (crit`ere de choix → probl`eme d’optimisation)

(10)

Encodage en logique propositionnelle

I Encodage possible du probl`eme de gestion de d´ependances (d´ecision) en CNF :

¬e1(f1h1)

¬e2(f1h1a2(b2b3))

¬e3(f1a2b2)

¬e4(f1j1)

¬a1∨ ¬a2

¬b1(¬b2∧ ¬b3∧ ¬g1)

¬b2(¬b3∧ ¬g1)

¬b3(¬c1∧ ¬g1)

¬c1∨ ¬g1

¬d1(¬a2∧ ¬g1)

¬e1(¬e2∧ ¬e3∧ ¬e4)

¬e2(¬e3∧ ¬e4)

¬e3∨ ¬e4

I Existe-t’il des solutions meilleures que d’autres ? (crit`ere de choix → probl`eme d’optimisation)

(11)

Fonction d’utilit´ e ou de coˆ ut

I Relation de pr´ef´erences : ω1 ω21 est pr´ef´er´e `aω2)

I Une fonction d’utilit´e u : Ω7→R mod´elise une relation de pr´ef´erence si et seulement si :

∀ω1, ω2∈Ω, u(ω1)≥u(ω2)⇔ω1 ω2.

I Une fonction de coˆut (= d´esutilit´e)c : Ω7→Rmod´elise une relation de pr´ef´erence si et seulement si :

∀ω1, ω2 ∈Ω, c(ω1)≤c(ω2)⇔ω1ω2.

(12)

Probl` eme d’optimisation monocrit` ere

I Encodage possible du probl`eme de gestion de d´ependances (optimisation monocrit`ere) :

minc(ω) = (¬a1¬a2) + (¬b1¬b2¬b3) + (¬c1) + (¬d1) tq.

¬e1(f1h1)

¬e2(f1h1a2(b2b3))

¬e3(f1a2b2)

¬e4(f1j1)

¬a1∨ ¬a2

¬b1(¬b2∧ ¬b3∧ ¬g1)

¬b2(¬b3∧ ¬g1)

¬b3(¬c1∧ ¬g1)

¬c1∨ ¬g1

¬d1(¬a2∧ ¬g1)

¬e1(¬e2∧ ¬e3∧ ¬e4)

¬e2(¬e3∧ ¬e4)

¬e3∨ ¬e4

I Plusieurs crit`eres ? Probl`eme d’optimisation multicrit`ere.

(13)

Probl` eme d’optimisation monocrit` ere

I Encodage possible du probl`eme de gestion de d´ependances (optimisation monocrit`ere) :

minc(ω) = (¬a1¬a2) + (¬b1¬b2¬b3) + (¬c1) + (¬d1) tq.

¬e1(f1h1)

¬e2(f1h1a2(b2b3))

¬e3(f1a2b2)

¬e4(f1j1)

¬a1∨ ¬a2

¬b1(¬b2∧ ¬b3∧ ¬g1)

¬b2(¬b3∧ ¬g1)

¬b3(¬c1∧ ¬g1)

¬c1∨ ¬g1

¬d1(¬a2∧ ¬g1)

¬e1(¬e2∧ ¬e3∧ ¬e4)

¬e2(¬e3∧ ¬e4)

¬e3∨ ¬e4

I Plusieurs crit`eres ? Probl`eme d’optimisation multicrit`ere.

(14)

Difficult´ es de l’optimisation multicrit` ere

Difficult´es du cas multicrit`ere :

I commensurabilit´e des crit`eres ;

I crit`eres g´en´eralement conjointement contradictoires ;

I comment comparer (entre elles) les solutions ?

solution removed versionChanged installed {a1,b1,c1,d1,e1,f1,h1,i1} 0 0 4

{a2,b2,d1,e2,f1,h1} 1 2 3 {a2,b3,e3,f1} 2 2 2 {a2,e4,f1,g1} 3 0 3 I m´ethode AC (agr´eger et comparer) : d´egager un coˆut global

pour chaque solution

(15)

Difficult´ es de l’optimisation multicrit` ere

Difficult´es du cas multicrit`ere :

I commensurabilit´e des crit`eres ;

I crit`eres g´en´eralement conjointement contradictoires ;

I comment comparer (entre elles) les solutions ?

solution removed versionChanged installed {a1,b1,c1,d1,e1,f1,h1,i1} 0 0 4

{a2,b2,d1,e2,f1,h1} 1 2 3 {a2,b3,e3,f1} 2 2 2 {a2,e4,f1,g1} 3 0 3

I m´ethode AC (agr´eger et comparer) : d´egager un coˆut global pour chaque solution

(16)

Difficult´ es de l’optimisation multicrit` ere

Difficult´es du cas multicrit`ere :

I commensurabilit´e des crit`eres ;

I crit`eres g´en´eralement conjointement contradictoires ;

I comment comparer (entre elles) les solutions ?

solution removed versionChanged installed {a1,b1,c1,d1,e1,f1,h1,i1} 0 0 4

{a2,b2,d1,e2,f1,h1} 1 2 3 {a2,b3,e3,f1} 2 2 2 {a2,e4,f1,g1} 3 0 3 I m´ethode AC (agr´eger et comparer) : d´egager un coˆut global

pour chaque solution

(17)

Quelques fonctions d’agr´ egation

Op´erateurs d’agr´egation consid´er´es dans l’´etude th´eorique :

I Somme pond´er´eeS(ω) =Pn

i=1ci(ω) :

I ne tient pas compte de l’´equilibre des solutions : (0,1)(0.5 +,0.5 +),0+.

I Leximax, minimiser s´equentiellement les statistiques d’ordre n, . . . ,1 :

I ne tient pas compte du coˆut global des solutions : (1,1)(0,1),0+.

I Op´erateurOWAW(ω) =Pn

i=1wichii(ω)

I permet un compromis entre la somme et le leximax

I optimisation g´en´eralement complexe

(18)

Complexit´ e de l’optimisation sous contraintes compil´ ees

Complexit´e de l’optimisation

sous contraintes compil´ees

(19)

Compilation de connaissances et optimisation

I Dans l’exemple de gestion de d´ependances, les contraintes sont les mˆemes pour tout le monde, mais les requˆetes et crit`eres d´ependent des utilisateurs.

I Compilation de connaissances :

I traduction coˆuteuse d’une formule vers un sous-langage de la logique propositionnelle ;

I but : permettre de r´epondre en temps polynomial `a des requˆetes normalement difficiles (ex : CO).

I Nouvelle requˆete : OPT(plus difficile que CO) ; ´etude de sa complexit´e.

(20)

Compilation de connaissances et optimisation

I Dans l’exemple de gestion de d´ependances, les contraintes sont les mˆemes pour tout le monde, mais les requˆetes et crit`eres d´ependent des utilisateurs.

I Compilation de connaissances :

I traduction coˆuteuse d’une formule vers un sous-langage de la logique propositionnelle ;

I but : permettre de r´epondre en temps polynomial `a des requˆetes normalement difficiles (ex : CO).

I Nouvelle requˆete : OPT(plus difficile que CO) ; ´etude de sa complexit´e.

(21)

Compilation de connaissances et optimisation

I Dans l’exemple de gestion de d´ependances, les contraintes sont les mˆemes pour tout le monde, mais les requˆetes et crit`eres d´ependent des utilisateurs.

I Compilation de connaissances :

I traduction coˆuteuse d’une formule vers un sous-langage de la logique propositionnelle ;

I but : permettre de r´epondre en temps polynomial `a des requˆetes normalement difficiles (ex : CO).

I Nouvelle requˆete : OPT(plus difficile que CO) ; ´etude de sa complexit´e.

(22)

Langages de la logique propositionnelle

Logique propositionnelle

NNF

d-NNF

BDD

FBDD

OBDD

OBDD<

s-NNF

MODS

DNNF

DNF

IP d-DNNF

d-SDNNF

d-DNNFT

f-NNF

CNF

PI SDNNF

DNNFT

(23)

Exemples de formules compil´ ees

I DNNF : nœuds ∧d´ecomposables.

a b c d

a

(24)

Exemples de formules compil´ ees

I DNNF : nœuds∧ d´ecomposables.

a b a d

a

(25)

Exemples de formules compil´ ees

I OBDD : diagramme de d´ecision binaire ordonn´e.

a

b

c

b

c

1 0

(26)

Exemples de formules compil´ ees

I OBDD : DNNF particuli`ere.

¬a a

¬b b

¬c > c

¬b b

¬c > c

(27)

Exemples de formules compil´ ees

I OBDD : diagramme de d´ecision binaire ordonn´e.

a

b

c

c

b

1 0

(28)

Contribution : r´ esultats th´ eoriques pour l’optimisation

I Panorama de l’optimisation sous contraintes compil´ees (langages satisfaisant CO) [LLM14]

I Fonctions consid´er´ees :

I fonctions lin´eairesL(a1x1+. . .+apxp),

I fonctions quadratiquesQ(qi 2) et polynomialesP (a1·x1,1·x1,q1+. . .+ap·xp,1·xp,qp),

I fonctions pseudo-bool´eennes g´en´eralesG (a1φ1+. . .+apφp, φiNNF),

I fonctions sous-modulairesS

(f(x1x2) +f(x1x2)f(x1) +f(x2)) :

I fonctions de budget additives,

I entropie,

I ...

(29)

Contribution : r´ esultats th´ eoriques pour l’optimisation

OPT {>} DNF DNNF, OBDD

fonctions lin´eaires dans P dans P dans P fonctions sous-modulaires dans P dans P NP-difficile

fonctions OWA NP-difficile NP-difficile NP-difficile fonctions quadratiques NP-difficile1,2 NP-difficile1,2 NP-difficile2 fonctions polynomiales NP-difficile1,2 NP-difficile1,2 NP-difficile2

1: dans P si, dans la fonction, les poids sont tous du mˆeme signe et si les litt´eraux n’apparaissent que sous une unique polarit´e

2: dans P si le nombre de cubes de la fonction est born´e

(30)

Compilation et optimisation : bilan

I Optimisation possible pour un certain nombre de cas int´eressants.

I Des probl`emes subsistent :

I pour des fonctions expressives, optimisation difficile mˆeme sous OBDD ;

I compilation difficile pour beaucoup de probl`emes (pigeons).

I N´ecessit´e d’am´eliorer l’optimisation pour les cas difficiles (compilation ou optimisation).

I Deux contributions pour cela : am´elioration pour les probl`emes de d´ecision et d’optimisation.

(31)

Compilation et optimisation : bilan

I Optimisation possible pour un certain nombre de cas int´eressants.

I Des probl`emes subsistent :

I pour des fonctions expressives, optimisation difficile mˆeme sous OBDD ;

I compilation difficile pour beaucoup de probl`emes (pigeons).

I N´ecessit´e d’am´eliorer l’optimisation pour les cas difficiles (compilation ou optimisation).

I Deux contributions pour cela : am´elioration pour les probl`emes de d´ecision et d’optimisation.

(32)

Compilation et optimisation : bilan

I Optimisation possible pour un certain nombre de cas int´eressants.

I Des probl`emes subsistent :

I pour des fonctions expressives, optimisation difficile mˆeme sous OBDD ;

I compilation difficile pour beaucoup de probl`emes (pigeons).

I N´ecessit´e d’am´eliorer l’optimisation pour les cas difficiles (compilation ou optimisation).

I Deux contributions pour cela : am´elioration pour les probl`emes de d´ecision et d’optimisation.

(33)

Compilation et optimisation : bilan

I Optimisation possible pour un certain nombre de cas int´eressants.

I Des probl`emes subsistent :

I pour des fonctions expressives, optimisation difficile mˆeme sous OBDD ;

I compilation difficile pour beaucoup de probl`emes (pigeons).

I N´ecessit´e d’am´eliorer l’optimisation pour les cas difficiles (compilation ou optimisation).

I Deux contributions pour cela : am´elioration pour les probl`emes de d´ecision et d’optimisation.

(34)

Prouveurs CDCL et syst` emes de preuves

Prouveurs CDCL et syst`emes

de preuves

(35)

Algorithme CDCL : apprentissage de clauses

α1= (x1∨ ¬x2) α2= (¬x2∨ ¬x3∨ ¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

(36)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨ ¬x3∨ ¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

(37)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨ ¬x3∨ ¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1 α1

(38)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨ ¬x3∨ ¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1 α1

(39)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨ ¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

α1

(40)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

(41)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

(42)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨ ¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨ ¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨ ¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12 α9

(43)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10 α4

α9

α3

α5 α6

α8

α7

(44)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10

α4

α9

α3

α5 α6

α8

α7

(45)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10

α4

α9

α3

α5 α6

α8

α7

R`egle de r´esolution [Rob65] :

(a∨b1∨. . .∨bp)∧(¬a∨c1∨. . .∨cq)|=

(46)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10

α4

α9

α3

α5 α6

α8

α7

σ1=η[x10, α7, α8] = ¬x7∨x8∨ ¬x9

σ2 =η[x9, σ1, α4] = ¬x4∨ ¬x6∨ ¬x7∨x8

σ3 =η[x7, σ2, α5] = ¬x4∨ ¬x6∨x8 σ4 =η[x8, σ3, α6] = ¬x4∨ ¬x6.

(47)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10

α4

α9

α3

α5 α6

α8

α7

σ1=η[x10, α7, α8] = ¬x7∨x8∨ ¬x9 σ2 =η[x9, σ1, α4] = ¬x4∨ ¬x6∨ ¬x7∨x8

σ3 =η[x7, σ2, α5] = ¬x4∨ ¬x6∨x8 σ4 =η[x8, σ3, α6] = ¬x4∨ ¬x6.

(48)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10

α4

α9

α3

α5 α6

α8

α7

σ1=η[x10, α7, α8] = ¬x7∨x8∨ ¬x9 σ2 =η[x9, σ1, α4] = ¬x4∨ ¬x6∨ ¬x7∨x8

σ3 =η[x7, σ2, α5] = ¬x4∨ ¬x6∨x8

σ4 =η[x8, σ3, α6] = ¬x4∨ ¬x6.

(49)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10

α4

α9

α3

α5 α6

α8

α7

σ1=η[x10, α7, α8] = ¬x7∨x8∨ ¬x9 σ2 =η[x9, σ1, α4] = ¬x4∨ ¬x6∨ ¬x7∨x8

σ3 =η[x7, σ2, α5] = ¬x4∨ ¬x6∨x8

(50)

Algorithme CDCL : apprentissage de clauses

α1= (x1¬x2) α2= (¬x2∨¬x3∨¬x4) α3= (x3x5∨x6) α4= (¬x4∨¬x6∨x9) α5= (¬x6∨x7) α6= (¬x6∨¬x8) α7= (¬x7∨x8x10) α8= (¬x9∨¬x10) α9= (¬x11x12)

β1= (¬x4¬x6)

x2

x1

x4

¬x3 α1 α2

x11

¬x12

¬x5

x6

x9

¬x8

x7

¬x10

x10

α4

α9

α3

α5 α6

α8

α7

σ1=η[x10, α7, α8] = ¬x7∨x8∨ ¬x9 σ2 =η[x9, σ1, α4] = ¬x4∨ ¬x6∨ ¬x7∨x8

σ3 =η[x7, σ2, α5] = ¬x4∨ ¬x6∨x8 σ4 =η[x8, σ3, α6] = ¬x4∨ ¬x6.

I x6 unique variable du dernier niveau de d´ecision : arrˆet

Références

Documents relatifs

Le travail que nous avons préenté s’intègre dans un projet plus large de dévelopement d’un analyseur syntaxique robuste pour le langage tout-venant par résolution d’un

Dans un travail pr´ ec´ edent [16], nous avons propos´ e un langage ` a base de contraintes pour l’extraction de motifs combinant plusieurs motifs locaux.. L’uti- lisateur mod´

[r]

Dans ce travail, nous proposons des algorithmes rapides pour r´esoudre ces probl`emes, par minimisation de la va- riation totale sous contraintes.. Les algorithmes propos´es

On peut alors déterminer la nature des points candidats, en passant par la matrice Hessienne : condition de

Remarquer que si on remplace la sph`ere de rayon 1 par la boule de mˆeme rayon on a un probl`eme d’optimisation d’une fonction lin´eaire sur un convexe, son minimum est donc atteint

D’après le principe du minimum de l’énergie, la position d’équilibre des noeuds est, parmi toutes les positions admissibles, celle pour laquelle le centre de gravité du système

Remarquer que, si on remplace la sphère de rayon 1 par la boule de même rayon, on a un problème d’optimisation d’une fonction linéaire sur un convexe, son minimum est donc atteint