1 ¡ ì ¡ Constraint ¡Acquisition ¡via ¡Partial ¡Queries ¡ Chris'an ¡Bessiere 1 ¡ ¡ ¡ ¡ ¡ ¡ ¡Remi ¡Cole1a 1 ¡ ¡ ¡ ¡ ¡ ¡Emmanuel ¡Hebrard 2 ¡ ¡ ¡ ¡ ¡ ¡ ¡George ¡Katsirelos 3 ¡ Nadjib ¡Lazaar 1 ¡ ¡ ¡ ¡ ¡ ¡ ¡Nina ¡Narodytska 4 ¡ ¡ ¡ ¡ ¡ ¡ ¡Claude-‑Guy ¡Quimper 5 ¡ ¡ ¡ ¡ ¡ ¡Toby ¡Walsh 4 ¡ ¡ ¡ 1 CNRS, ¡U. ¡Montpellier, ¡France ¡ ¡ 2 LAAS-‑CNRS, ¡Toulouse, ¡France ¡ ¡ 3 INRA ¡Toulouse, ¡France ¡ 4 NICTA, ¡UNSW, ¡Sydney, ¡Australia ¡ ¡ 5 U. ¡Laval, ¡Quebec ¡City, ¡Canada ¡ ¡ ¡ ¡
2 ¡ Motivations ¡ CSP ¡ solu'on ¡
2 ¡ Motivations ¡ CSP ¡ solu'on ¡ Ques'on: ¡ ¡How ¡does ¡the ¡user ¡write ¡down ¡the ¡constraints ¡of ¡a ¡problem? ¡ • Limita'ons: ¡modelling ¡constraint ¡networks ¡require ¡a ¡fair ¡exper'se ¡ • Need: ¡ ¡Simple ¡way ¡to ¡build ¡constraint ¡model ¡ è ¡Modeller-‑assistant ¡ • How: ¡In ¡a ¡Machine ¡Learning ¡way ¡(passive/ac've, ¡offline/online, ¡by ¡reinforcement…) ¡ ¡ •
2 ¡ Motivations ¡ Learning ¡process ¡ solu'ons ¡ non-‑solu'ons ¡ CSP ¡ solu'on ¡ Ques'on: ¡ ¡How ¡does ¡the ¡user ¡write ¡down ¡the ¡constraints ¡of ¡a ¡problem? ¡ • Limita'ons: ¡modelling ¡constraint ¡networks ¡require ¡a ¡fair ¡exper'se ¡ • Need: ¡ ¡Simple ¡way ¡to ¡build ¡constraint ¡model ¡ è ¡Modeller-‑assistant ¡ • How: ¡In ¡a ¡Machine ¡Learning ¡way ¡(passive/ac've, ¡offline/online, ¡by ¡reinforcement…) ¡ ¡ •
2 ¡ Motivations ¡ Constraint ¡ ¡ Learning ¡process ¡ Acquisi'on ¡ ¡ solu'ons ¡ Problem ¡ non-‑solu'ons ¡ CSP ¡ solu'on ¡ Ques'on: ¡ ¡How ¡does ¡the ¡user ¡write ¡down ¡the ¡constraints ¡of ¡a ¡problem? ¡ • Limita'ons: ¡modelling ¡constraint ¡networks ¡require ¡a ¡fair ¡exper'se ¡ • Need: ¡ ¡Simple ¡way ¡to ¡build ¡constraint ¡model ¡ è ¡Modeller-‑assistant ¡ • How: ¡In ¡a ¡Machine ¡Learning ¡way ¡(passive/ac've, ¡offline/online, ¡by ¡reinforcement…) ¡ ¡ •
2 ¡ Motivations ¡ Constraint ¡ ¡ Learning ¡process ¡ Acquisi'on ¡ ¡ solu'ons ¡ Problem ¡ non-‑solu'ons ¡ CSP ¡ Any ¡problem ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Solver!! ¡ solu'on ¡ Ques'on: ¡ ¡How ¡does ¡the ¡user ¡write ¡down ¡the ¡constraints ¡of ¡a ¡problem? ¡ • Limita'ons: ¡modelling ¡constraint ¡networks ¡require ¡a ¡fair ¡exper'se ¡ • Need: ¡ ¡Simple ¡way ¡to ¡build ¡constraint ¡model ¡ è ¡Modeller-‑assistant ¡ • How: ¡In ¡a ¡Machine ¡Learning ¡way ¡(passive/ac've, ¡offline/online, ¡by ¡reinforcement…) ¡ ¡ •
3 ¡ Constraint ¡Acquisition ¡Problem E - ¡ ∅ ì Inputs: • ( X, D ) : Vocabulary • B : Bias (possible constraints) C T ¡ C L ¡ • C T : Target network • ( E + , E − ) : positives and negatives ì Output: E + ¡ B • C L : Learnt network s.t., – C L ⊂ B : C L ≡ C T
4 ¡ Example ¡ • Γ = { <, = } X2 ¡ < ¡ • B = { x i < x j , x i = x j , ∀ i, j } • C T = { x 1 = x 3 , x 1 < x 2 } = ¡ X1 ¡ X3 ¡ • C L = { x 1 = x 3 , x 3 < x 2 } X2 ¡ < ¡ = ¡ X1 ¡ X3 ¡
5 ¡ State ¡of ¡the ¡art ¡ ì CONACQ ¡ SAT-‑Based ¡constraint ¡acquisi'on ¡ ì Bidirec'onal ¡search ¡ ì E -‑ ¡ Conacq1.0 ¡(passive ¡learning) ¡ [Bessiere ¡et ¡al. ¡ECML05] ¡ ì Conacq2.0 ¡(ac've ¡learning) ¡ [Bessiere ¡et ¡al. ¡IJCAI07] ¡ ì C L ¡ ModelSeeker ¡ [Beldiceanu ¡and ¡Simonis, ¡CP12] ¡ E + ¡ A ¡passive ¡learning ¡ Based ¡on ¡global ¡constraint ¡catalog ¡ Bu1om-‑up ¡search ¡
5 ¡ State ¡of ¡the ¡art ¡ ì CONACQ ¡ SAT-‑Based ¡constraint ¡acquisi'on ¡ ì Bidirec'onal ¡search ¡ ì E -‑ ¡ Conacq1.0 ¡(passive ¡learning) ¡ [Bessiere ¡et ¡al. ¡ECML05] ¡ ì Conacq2.0 ¡(ac've ¡learning) ¡ [Bessiere ¡et ¡al. ¡IJCAI07] ¡ ì ^ K = ( ¬ x 1 ∧ ¬ x 2 ∧ ¬ x 3 ) ( x 4 ∨ x 5 ∨ x 6 ∨ x 7 ) . . . C L ¡ e + ¡ e -‑ ¡ ModelSeeker ¡ [Beldiceanu ¡and ¡Simonis, ¡CP12] ¡ E + ¡ A ¡passive ¡learning ¡ Based ¡on ¡global ¡constraint ¡catalog ¡ Bu1om-‑up ¡search ¡
5 ¡ State ¡of ¡the ¡art ¡ ì CONACQ ¡ SAT-‑Based ¡constraint ¡acquisi'on ¡ ì Bidirec'onal ¡search ¡ ì Conacq1.0 ¡(passive ¡learning) ¡ [Bessiere ¡et ¡al. ¡ECML05] ¡ ì Conacq2.0 ¡(ac've ¡learning) ¡ [Bessiere ¡et ¡al. ¡IJCAI07] ¡ ì ^ K = ( ¬ x 1 ∧ ¬ x 2 ∧ ¬ x 3 ) ( x 4 ∨ x 5 ∨ x 6 ∨ x 7 ) . . . C L ¡ e + ¡ e -‑ ¡ ì ModelSeeker ¡ [Beldiceanu ¡and ¡Simonis, ¡CP12] ¡ E + ¡ A ¡passive ¡learning ¡ ì Based ¡on ¡global ¡constraint ¡catalog ¡(more ¡than ¡400) ¡ ì Bu1om-‑up ¡search ¡ ì
6 ¡ QUACQ: ¡Quick ¡Acquisition ¡ ì QUACQ ¡ ¡ [Bessiere ¡et ¡al. ¡IJCAI13] ¡ Ac've ¡learning ¡approach ¡ ì Bidirec'onal ¡search ¡ ì E -‑ ¡ ì But ¡it ¡can ¡be ¡top-‑down ¡search ¡only ¡if ¡no ¡posi've ¡ example ¡ Based ¡on ¡par'al ¡queries ¡to ¡elucidate ¡the ¡scope ¡ ì C L ¡ of ¡the ¡constraint ¡to ¡learn ¡ ¡ E + ¡
7 ¡ Partial Queries ask(2, ¡8, ¡4, ¡2, ¡6, ¡5, ¡1, ¡6) ¡
7 ¡ Partial Queries ask(2, ¡8, ¡4, ¡2, ¡6, ¡5, ¡1, ¡6) ¡= ¡No ¡
7 ¡ Partial Queries ask(2, ¡8, ¡4, ¡2, ¡-‑, ¡-‑, ¡-‑, ¡-‑) ¡= ¡No ¡
7 ¡ Partial Queries ask(2, ¡8, ¡-‑, ¡-‑, ¡-‑, ¡-‑, ¡-‑, ¡-‑) ¡= ¡Yes ¡
7 ¡ Partial Queries ask(2, ¡8, ¡4, ¡-‑, ¡-‑, ¡-‑, ¡-‑, ¡-‑) ¡= ¡No ¡
8 ¡ QUACQ: ¡Quick ¡Acquisition ¡ QUACQ ¡ yes ¡ reduce(B) ¡ ask(e) ¡ Gen-‑query ¡ INPUT ¡
8 ¡ QUACQ: ¡Quick ¡Acquisition ¡ QUACQ ¡ yes ¡ reduce(B) ¡ ask(e) ¡ Gen-‑query ¡ INPUT ¡ No ¡ FindScope ¡ par'al-‑ask(e) ¡
8 ¡ QUACQ: ¡Quick ¡Acquisition ¡ QUACQ ¡ yes ¡ reduce(B) ¡ ask(e) ¡ Gen-‑query ¡ INPUT ¡ No ¡ FindC ¡ FindScope ¡ scope ¡ par'al-‑ask(e) ¡
8 ¡ QUACQ: ¡Quick ¡Acquisition ¡ QUACQ ¡ yes ¡ reduce(B) ¡ ask(e) ¡ Gen-‑query ¡ INPUT ¡ Update(C L ) ¡ C ¡ No ¡ FindC ¡ FindScope ¡ scope ¡ par'al-‑ask(e) ¡
8 ¡ QUACQ: ¡Quick ¡Acquisition ¡ QUACQ ¡ yes ¡ reduce(B) ¡ C L ¡ ask(e) ¡ Gen-‑query ¡ B= ¡ INPUT ¡ Update(C L ) ¡ C ¡ No ¡ FindC ¡ FindScope ¡ scope ¡ par'al-‑ask(e) ¡
12 ¡ Complexity ¡of ¡QUACQ ¡ E - ¡ ì The number of queries required to find the target concept is in: O ( | C T | · (log | X | + | Γ | )) ì The number of queries required to converge is in: O ( | B | ) E + ¡
13 ¡ Some ¡Results ¡ ì Random ¡ Under-‑constrained ¡instance ¡(X,D,C)=(50, ¡10, ¡12) ¡ ì Phase ¡transi'on ¡instance ¡(X,D,C)=(50, ¡10, ¡122) ¡ ¡ ¡ ì |B|= ¡7350 ¡built ¡on ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ì Γ = { = , 6 = , <, � , >, }
13 ¡ Some ¡Results ¡ ì Random ¡ Under-‑constrained ¡instance ¡(X,D,C)=(50, ¡10, ¡12) ¡ ì Phase ¡transi'on ¡instance ¡(X,D,C)=(50, ¡10, ¡122) ¡ ¡ ¡ ì |B|= ¡7350 ¡built ¡on ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ì Γ = { = , 6 = , <, � , >, } | C L | # q # q c q ¯ time 12 196 34 24.04 0.23 rand 50 10 12 86 1074 94 13.90 0.14 rand 50 10 122 ¡Intel ¡Xeon ¡E5462 ¡ ¡@ ¡2.80GHz ¡with ¡16 ¡Gb ¡of ¡RAM. ¡
13 ¡ Some ¡Results ¡ ì Zebra ¡puzzle ¡ QUACQ ¡behavior ¡on ¡different ¡bias ¡sizes ¡ ì ¡Intel ¡Xeon ¡E5462 ¡ ¡@ ¡2.80GHz ¡with ¡16 ¡Gb ¡of ¡RAM. ¡
Recommend
More recommend