Upload
pello
View
25
Download
0
Embed Size (px)
DESCRIPTION
DemeterF. Illustration of combine for capacity constraint violation. 19a. 19. : C. (w1+w2+w3+w4,2). : Cons. (w1+w2+w3+w4,1). : E. (w4,0). 1. 20. 2. 18a. 3. 18. 3a. 13a. (w1+w2+w3,1). : Cons. after blue arrow combine is active (like after). 17a. : C. (w2+w3,1). 4. 12a. - PowerPoint PPT Presentation
Citation preview
DemeterF
Illustration of combinefor capacity constraint violation
:C
:Cons
:E
:Cons
:E :Empty
:C
:Cons
:Cons:E
:E
(w1,0)
(w2,0)
(w3,0)
(w4,0)
(0,0)
(w1,0)
:Empty (0,0)
(w2,0)
(w2+w3,0)
(w2+w3,1)
(w1+w2+w3,1)
:Cons (w1+w2+w3+w4,1)(w1+w2+w3+w4,2)
both containers (C) violate capacity constraints
123
4
5
6
3a
7
7a
8
9
9a
10
10a
11
11a
12
12a13
13a
14
15
15a
16
16a
1717a
1818a
1919a
20
after blue arrowcombine isactive (like after)
The default Builder for PathSpec
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
well-formed movie
• show how the default builder is modified to combine Boolean objects.
The default Builder for PathSpecwell-formed specialization 1
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
#t
The default Builder for PathSpecwell-formed specialization 2
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
#t #t
The default Builder for PathSpecwell-formed specialization 3
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
#t
The default Builder for PathSpecwell-formed specialization 4
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
#t
#f
The default Builder for PathSpecwell-formed specialization 5
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
#f
#t
#t
The default Builder for PathSpecwell-formed specialization 6
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
#f#t
The default Builder for PathSpecwell-formed specialization 7
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
#f
The default Builder for PathSpecwell-formed specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
#t: true#f: false
#t #t #f #t
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
insert NOT
:N
The default Builder for PathSpecNOT_JOIN_MERGE specialization
:S:S
:J
:S:S
:J
:M
1
2
3 4
56
7 8
9
10after blue arrowcopy is built(like after)
Count only uponfirst visit (red) andupon final visit (blue).For leaf nodes, countonly in red.
insert NOT
:N :N
:M
Illustration of combinefor capacity constraint violation
:C
:Cons
:E
:Cons
:E :Empty
:C
:Cons
:Cons:E
:E
(w1,0)
(w2,0)
(w3,0)
(w4,0)
(0,0)
(w1,0)
:Empty (0,0)
(w2,0)
(w2+w3,0)
(w2+w3,1)
(w1+w2+w3,1)
:Cons (w1+w2+w3+w4,1)(w1+w2+w3+w4,2)
both containers (C) violate capacity constraints
Theory
t[f,b](d) => d’, where d’=f(d), d is atomic
t[f,b](c(d0, … ,dn)) =>
f(b(c(d0, … ,dn), d’0, … ,d’n)), where d’i = t[f,b](di)
Default functions:id[f](d) => d
id[b](c(d0, … ,dn), d’0, … ,d’n) => c(d0, … ,dn)
b[c](c(d0, … ,dn), d’0, … ,d’n) => c(d’0, … ,d’n)
On left side of => the term c(…) only indicates a compound object.
Theory
• f is a polymorphic function that takes a single argument and returns a result.
• b is a function object that is responsible for reconstruction of data types.