Upload
francis-crooke
View
220
Download
1
Tags:
Embed Size (px)
Citation preview
Bi-intervals for backtracking on temporal constraint networks
Jean-François Baget and Sébastien Laborie
2
Motivations
My schedule problem (as a temporal constraint network) :
Talk
Boss
Slides
meetsmet-by
equalsfinishesstarts
meets
meetscontains
Nodes are time intervals Arcs are disjunctions of Allen’s relations [Allen:83]
QUESTION
Is there a possible schedule solution ?
QUESTION
Is there a possible schedule solution ?
This problem is NP-completeThis problem is NP-complete
3
Related Work
• Generate all instantiations of relations.• Test networks consistency using path-consistency [Allen:83].• Use optimizations: constraints and relations ordering [Van Beek and Manchak:96]…
Instantiate constraints :
To handle mixed qualitative/quantitative relations :instantiate variables during backtrack
To handle mixed qualitative/quantitative relations :instantiate variables during backtrack
Use backtracking optimizations such as forward checking [Schwalb et.al.:97]
Use backtracking optimizations such as forward checking [Schwalb et.al.:97]
• Finitely partition the infinite domains of interval values e.g., using an interval end-points encoding [Thornton et.al.:05]• Backtrack on these finite partition.
Instantiate variables :
4
Outline
Instantiate variables with abstract intervals Backtrack with abstract intervals Forward checking with abstract intervals Forward checking (version 2) with abstract intervals
Instantiate variables with bi-intervals
Conclusion
Backtrack with bi-intervals Forward checking with bi-intervals
(in the paper)
5
Abstract intervals
An abstract interval [x,y] is a pair of elements from a totally ordered list. They encode an infinite number of intervals of real numbers.
Definition :
Example :
Talk
meets 17H10 18H30Talk Mail17H30
17H25 19HTalk Mail17H40
.
.
.
A B CTalk Mail
6
[a,b]
possibilities
instantiations
[a,b]
[b,c] [d,a]
[e,c] [a,c] [f,c] [b,g]
X X X X
meetsmet-by
equalsfinishesstarts
meets
meetscontains
a b cd
[b,c] ,[d,a]
ef g
[e,c] ,[a,c][f,c] ,[b,g]
Ø
Backtrack on abstract intervalsTalk
Boss
Slides
talk mailboss
talk mailmail boss
7
[a,b] [a,b]
[b,c] [d,a]
[e,c] [a,c] [f,c] [b,g] [h,a] [d,i] [d,b] [d,j]
X X X X X X
meetsmet-by
a bd
[b,c] ,[d,a]
i j
[h,a],[d,i][d,b],[d,j]
Ø
h
[a,b] [a,b][a,b]
finishesstarts
equals
meets
meetscontains
possibilities
instantiations
Backtrack on abstract intervalsTalk
Boss
Slides
talkmailboss
slides
boss slides
8
[a,b]
[b,c] [d,a]
a b cd
[b,c] ,[d,a]
[a,b]
[e,c] ,[a,c][f,c] ,[d,c][g,c] ,[b,h]
efg h
Ø
X
talk mailmail
talkmail bossslides
Forward Checking on abstract intervals[a,b]
meetsmet-by
equalsfinishesstarts
meets
meetscontains
Talk
Boss
Slides
possibilities
instantiationsmail
ImpossibleSlides equals TalkMail meets Slides
9
slides
Slides
Boss
Forward Checking on abstract intervals[a,b]
[b,c] [d,a]
a b cd
[b,c] ,[d,a]
[a,b]
[i,a],[d,j][d,b],[d,k][d,c] ,[d,l]
ji l
X
k
[d,j] [d,b] [d,k] [d,c] [d,l][i,a]
[a,b] X X [a,b] [a,b] [a,b]Ø
talkmail
boss
boss
[a,b]meetsmet-by
equalsfinishesstarts
meets
meetscontains
Talk
possibilities
instantiations
10
Outline
Instantiate variables with bi-intervals
Instantiate variables with abstract intervals Backtrack with abstract intervals Forward checking with abstract intervals
Conclusion
Backtrack with bi-intervals Forward checking with bi-intervals
11
Bi-intervals
A bi-interval <[A,B],[C,D]> on a list of points encodes a set of abstract intervals [u,v] where u[A,B] and v[C,D].
Definition :
Example :
A B C D E
The interpretation of the bi-interval <[A,B],[C,E]> into abstract intervals is :
<[A,B],[C,E]>Z X Y
[A,C], [A,X] , [A,D], [A,Y] , [A,E][Z,C] , [Z,X] , [Z,D] , [Z,Y] , [Z,E][B,C], [B,X] , [B,D], [B,Y] , [B,E]
[ ] [ ]
12
mailboss
Backtrack on bi-intervals
talkmail
[a,b]
[b,c] [d,a]
a b cd
<[b,b],]b,[>,<]-,a[,[a,a]>
<]-,b[,[c,c]>
<[b,b],]c,[>
Ø
talk mailmail
<]-,[,]-,[>
meetsmet-by
equalsfinishesstarts
meets
meetscontains
Talk
Boss
Slides
possibilities
instantiations-
[e,c] [a,c] [f,c] [b,g]
X X X X
boss
ef g
13
Backtrack on bi-intervals[a,b]
[b,c] [d,a]
a bd
<[b,b],]b,[>,<]-,a[,[a,a]>
<[a,a],[b,b]>
<]-,d[,[a,a]>
<[d,d],]a,[>
Ø
talkmail
<]-,[,]-,[>
meetsmet-by
equalsfinishesstarts
meets
meetscontains
Talk
Boss
Slides
possibilities
instantiations-
slides
[h,a] [d,i] [d,b] [d,j]
X X[a,b] [a,b]
boss
boss
h i j
[e,c] [a,c] [f,c] [b,g]
X X X X
14
talkmail mail
Forward Checking on bi-intervals[a,b]
[b,c] [d,a]
a b cd
<[b,b],]b,[>,<]-,a[,[a,a]>
<[a,a],[b,b]>
<]-,b[,[c,c]>
<[b,b],]c,[>
Ø
X
talk mailmail
boss
<]-,[, ]-,[>
meetsmet-by
equalsfinishesstarts
meets
meetscontains
Talk
Boss
Slides
possibilities
instantiations
ImpossibleSlides equals TalkMail meets Slides
- slides
15
Forward Checking on bi-intervals[a,b]
[b,c] [d,a]
a bd
<[b,b],]b,[>,<]-,a[,[a,a]>
<[a,a],[b,b]>
<]-,d[,[a,a]>
<[d,d],]a,[>
Ø
X
talkmail
<]-,[,]-,[>
meetsmet-by
equalsfinishesstarts
meets
meetscontains
Talk
Boss
Slides
possibilities
instantiations-
slides
[e,a] [d,f] [d,b] [d,g]
X X[a,b] [a,b]
boss
boss
e f g
16
Outline
Conclusion
Instantiate variables with abstract intervals Backtrack with abstract intervals Forward checking with abstract intervals
Instantiate variables with bi-intervals Backtrack with bi-intervals Forward checking with bi-intervals
17
ConclusionBacktrack on abstract intervals Forward checking on abstract intervals
Backtrack on bi-intervals Forward checking on bi-intervals
Domains are smaller
Future Works:
Explore other optimizations techniques and use bi-intervals in a hybrid algorithm