Constraint Acquisition via Partial Queries Chris'an Bessiere - - PowerPoint PPT Presentation

constraint acquisition via partial queries
SMART_READER_LITE
LIVE PREVIEW

Constraint Acquisition via Partial Queries Chris'an Bessiere - - PowerPoint PPT Presentation

1 Constraint Acquisition via Partial Queries Chris'an Bessiere 1 Remi Cole1a 1 Emmanuel Hebrard 2 George


slide-1
SLIDE 1

ì ¡

Constraint ¡Acquisition ¡via ¡Partial ¡Queries ¡

Chris'an ¡Bessiere1 ¡ ¡ ¡ ¡ ¡ ¡ ¡Remi ¡Cole1a1 ¡ ¡ ¡ ¡ ¡ ¡Emmanuel ¡Hebrard2 ¡ ¡ ¡ ¡ ¡ ¡ ¡George ¡Katsirelos3 ¡ Nadjib ¡Lazaar1 ¡ ¡ ¡ ¡ ¡ ¡ ¡Nina ¡Narodytska4 ¡ ¡ ¡ ¡ ¡ ¡ ¡Claude-­‑Guy ¡Quimper5 ¡ ¡ ¡ ¡ ¡ ¡Toby ¡Walsh4 ¡ ¡ ¡

1CNRS, ¡U. ¡Montpellier, ¡France ¡ ¡ 2LAAS-­‑CNRS, ¡Toulouse, ¡France ¡ ¡ 3INRA ¡Toulouse, ¡France ¡ 4NICTA, ¡UNSW, ¡Sydney, ¡Australia ¡ ¡

  • 5U. ¡Laval, ¡Quebec ¡City, ¡Canada ¡

¡ ¡ ¡

1 ¡

slide-2
SLIDE 2

Motivations ¡

2 ¡

CSP ¡ solu'on ¡

slide-3
SLIDE 3

Motivations ¡

2 ¡

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…) ¡ ¡
slide-4
SLIDE 4

Motivations ¡

2 ¡

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…) ¡ ¡

Learning ¡process ¡

solu'ons ¡ non-­‑solu'ons ¡

slide-5
SLIDE 5

Motivations ¡

2 ¡

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…) ¡ ¡

Learning ¡process ¡

solu'ons ¡ non-­‑solu'ons ¡

Constraint ¡ ¡ Acquisi'on ¡ ¡ Problem ¡

slide-6
SLIDE 6

Motivations ¡

2 ¡

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…) ¡ ¡

Learning ¡process ¡

solu'ons ¡ non-­‑solu'ons ¡

Constraint ¡ ¡ Acquisi'on ¡ ¡ Problem ¡ Any ¡problem ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Solver!! ¡

slide-7
SLIDE 7

B

Constraint ¡Acquisition ¡Problem

ì Inputs: ì Output:

E - ¡ E+ ¡

CT ¡ CL ¡

3 ¡

  • (X, D) : Vocabulary
  • B : Bias (possible constraints)
  • CT : Target network
  • (E+, E−) : positives and negatives
  • CL: Learnt network s.t.,

– CL ⊂ B : CL ≡ CT

slide-8
SLIDE 8

Example ¡

X1 ¡ X3 ¡ X2 ¡

= ¡ < ¡

X1 ¡ X3 ¡ X2 ¡

= ¡ < ¡

  • Γ = {<, =}
  • B = {xi < xj, xi = xj, ∀i, j}
  • CT = {x1 = x3, x1 < x2}
  • CL = {x1 = x3, x3 < x2}

4 ¡

slide-9
SLIDE 9

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] ¡

ModelSeeker ¡[Beldiceanu ¡and ¡Simonis, ¡CP12] ¡

A ¡passive ¡learning ¡ Based ¡on ¡global ¡constraint ¡catalog ¡ Bu1om-­‑up ¡search ¡

5 ¡

E+ ¡ E-­‑ ¡

CL ¡

slide-10
SLIDE 10

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] ¡

ModelSeeker ¡[Beldiceanu ¡and ¡Simonis, ¡CP12] ¡

A ¡passive ¡learning ¡ Based ¡on ¡global ¡constraint ¡catalog ¡ Bu1om-­‑up ¡search ¡

5 ¡

E+ ¡ E-­‑ ¡ e+ ¡ e-­‑ ¡ K = (¬x1 ∧ ¬x2 ∧ ¬x3) ^ (x4 ∨ x5 ∨ x6 ∨ x7) . . .

CL ¡

slide-11
SLIDE 11

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] ¡

ì ModelSeeker ¡[Beldiceanu ¡and ¡Simonis, ¡CP12] ¡

ì

A ¡passive ¡learning ¡

ì

Based ¡on ¡global ¡constraint ¡catalog ¡(more ¡than ¡400) ¡

ì

Bu1om-­‑up ¡search ¡

5 ¡

E+ ¡ e+ ¡ e-­‑ ¡ K = (¬x1 ∧ ¬x2 ∧ ¬x3) ^ (x4 ∨ x5 ∨ x6 ∨ x7) . . .

CL ¡

slide-12
SLIDE 12

QUACQ: ¡Quick ¡Acquisition ¡

ì QUACQ ¡ ¡[Bessiere ¡et ¡al. ¡IJCAI13] ¡

ì

Ac've ¡learning ¡approach ¡

ì

Bidirec'onal ¡search ¡

ì But ¡it ¡can ¡be ¡top-­‑down ¡search ¡only ¡if ¡no ¡posi've ¡

example ¡ ì

Based ¡on ¡par'al ¡queries ¡to ¡elucidate ¡the ¡scope ¡

  • f ¡the ¡constraint ¡to ¡learn ¡ ¡

6 ¡

E+ ¡ E-­‑ ¡

CL ¡

slide-13
SLIDE 13

Partial Queries

ask(2, ¡8, ¡4, ¡2, ¡6, ¡5, ¡1, ¡6) ¡

7 ¡

slide-14
SLIDE 14

Partial Queries

ask(2, ¡8, ¡4, ¡2, ¡6, ¡5, ¡1, ¡6) ¡= ¡No ¡

7 ¡

slide-15
SLIDE 15

Partial Queries

ask(2, ¡8, ¡4, ¡2, ¡-­‑, ¡-­‑, ¡-­‑, ¡-­‑) ¡= ¡No ¡

7 ¡

slide-16
SLIDE 16

Partial Queries

ask(2, ¡8, ¡-­‑, ¡-­‑, ¡-­‑, ¡-­‑, ¡-­‑, ¡-­‑) ¡= ¡Yes ¡

7 ¡

slide-17
SLIDE 17

Partial Queries

ask(2, ¡8, ¡4, ¡-­‑, ¡-­‑, ¡-­‑, ¡-­‑, ¡-­‑) ¡= ¡No ¡

7 ¡

slide-18
SLIDE 18

QUACQ: ¡Quick ¡Acquisition ¡

INPUT ¡ reduce(B) ¡ yes ¡ QUACQ ¡ Gen-­‑query ¡ ask(e) ¡

8 ¡

slide-19
SLIDE 19

QUACQ: ¡Quick ¡Acquisition ¡

INPUT ¡ reduce(B) ¡ yes ¡ QUACQ ¡ No ¡ Gen-­‑query ¡ ask(e) ¡ FindScope ¡ par'al-­‑ask(e) ¡

8 ¡

slide-20
SLIDE 20

QUACQ: ¡Quick ¡Acquisition ¡

INPUT ¡ reduce(B) ¡ yes ¡ QUACQ ¡ No ¡ Gen-­‑query ¡ ask(e) ¡ FindScope ¡ par'al-­‑ask(e) ¡ FindC ¡ scope ¡

8 ¡

slide-21
SLIDE 21

QUACQ: ¡Quick ¡Acquisition ¡

INPUT ¡ reduce(B) ¡ yes ¡ QUACQ ¡ No ¡ Gen-­‑query ¡ ask(e) ¡ FindScope ¡ par'al-­‑ask(e) ¡ FindC ¡ scope ¡ Update(CL) ¡ C ¡

8 ¡

slide-22
SLIDE 22

QUACQ: ¡Quick ¡Acquisition ¡

INPUT ¡ reduce(B) ¡ yes ¡ QUACQ ¡ No ¡ Gen-­‑query ¡ ask(e) ¡ FindScope ¡ par'al-­‑ask(e) ¡ FindC ¡ scope ¡ Update(CL) ¡ C ¡

CL ¡

B= ¡

8 ¡

slide-23
SLIDE 23

Complexity ¡of ¡QUACQ ¡

ì The number of queries required to find the

target concept is in:

ì The number of queries required to converge is

in:

O(|CT | · (log |X| + |Γ|))

O(|B|)

12 ¡

E - ¡ E+ ¡

slide-24
SLIDE 24

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 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

13 ¡

Γ = {=, 6=, <, , >, }

slide-25
SLIDE 25

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 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

13 ¡

Γ = {=, 6=, <, , >, }

¡Intel ¡Xeon ¡E5462 ¡ ¡@ ¡2.80GHz ¡with ¡16 ¡Gb ¡of ¡RAM. ¡

|CL| #q #qc ¯ q time

rand 50 10 12

12 196 34 24.04 0.23

rand 50 10 122

86 1074 94 13.90 0.14

slide-26
SLIDE 26

Some ¡Results ¡

ì Zebra ¡puzzle ¡

ì

QUACQ ¡behavior ¡on ¡different ¡bias ¡sizes ¡

13 ¡

¡Intel ¡Xeon ¡E5462 ¡ ¡@ ¡2.80GHz ¡with ¡16 ¡Gb ¡of ¡RAM. ¡

slide-27
SLIDE 27

Some ¡Results

ì Sudoku

A target network on 81 variables with 810 constraints

¡Intel ¡Xeon ¡E5462 ¡ ¡@ ¡2.80GHz ¡with ¡16 ¡Gb ¡of ¡RAM. ¡

|CL| #q #qc ¯ q time

Sudoku 9 × 9

810 8645 821 20.58 0.16

13 ¡

slide-28
SLIDE 28

Conclusions ¡

ì QUACQ: ¡new ¡constraint ¡acquisi'on ¡approach ¡based ¡on ¡par'al ¡

queries ¡

ì Ac've ¡learning ¡approach ¡ ì Learning ¡ ¡a ¡constraint ¡in ¡a ¡log ¡scale ¡of ¡#queries ¡ ¡ ì Queries ¡are ¡osen ¡much ¡shorter ¡than ¡membership ¡ones ¡ ì Can ¡follow ¡a ¡top-­‑down ¡search ¡to ¡learn ¡a ¡constraint ¡network ¡

15 ¡

slide-29
SLIDE 29

Perspectives ¡

ì QUACQ as a solver

ì QUACQ does not require

positive examples

ì we can use it to solve an

instance ì Ask ¡more ¡than ¡yes/no ¡ques'ons ¡

ì GENACQ ¡for ¡Generaliza'on ¡

Acquisi'on ¡[ECAI14] ¡(next ¡talk!) ¡

E - ¡

CT ¡ Solu'on! ¡

14 ¡

slide-30
SLIDE 30

15 ¡