Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

23
Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

description

Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann. 1.Die Türme von Hanoi 1.1.Hanoi in Strips 1.2Hanoi in Functional Strips 2.Functional Strips 2.1Motivation 2.2Sprache 2.3Operatoren 2.4Zustandsmodell - PowerPoint PPT Presentation

Transcript of Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Page 1: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Seminar Cognitive Systeme WS 2004/05

Functional Strips

Julia Trommer, Christian Fleischmann

Page 2: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 2

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 3: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 3

Functional Strips

• Prädikate P = { clear1, on2, smaller2 }

• Objekte O = { a, b, c, d1, d2, d3 }

• Operator: move ( x, y, z )•Precondition: on( x, y ), clear( x ), clear( z ), smaller ( x, z )•Add: clear( y ), on ( x, z )•Delete: clear ( z ), on ( x, y )

•x = Scheibe, die bewegt wird•y = Scheibe, auf der x liegt•z = Scheibe, auf der x abgelegt wird

• Startzust.: clear( d1 ), clear( b ), clear( c ), on( d1, d2 ), on( d2, d3 ), on( d3, a), smaller( d1, d2 ), smaller( d1, d3 ), smaller( d2, d3 ), smaller( d1, a ), smaller( d1, b ), smaller( d1, c ), smaller( d2, a ), smaller( d2, b ), smaller( d2, c ), smaller( d3, a ), smaller( d3, b ), smaller( d3, c )

• Zielzust.: clear( d1 ), clear( a ), clear( b ), on( d1, d2 ), on( d2, d3 ), on( d3, c )

1.1 Das Hanoi Problem mit drei Türmen in Strips

Page 4: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 4

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 5: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 5

Functional Strips

1.2 Das Hanoi Problem mit drei Türmen in Functional Strips• Domänen: Peg: p1, p2, p3; die Stapel

Disk: d1, d2, d3; die ScheibenDisk*: Disk, d0; die Scheiben und eine unterste Dummy Scheibe 0

• Fluents: top: Peg → Disk*; liefert die oberste Scheibe eines Stapelsloc: Disk → Disk*; beschreibt die Scheibe unter der gegebenen

Scheibesize:Disk* → Integer; repräsentiert die Scheibengröße

• Aktionen: move(pi, pj: Peg); bewegt zwischen Stapeln – Vorbed.: top(pi) ≠ d0 , size(top(pi)) < size(top(pj))– Nachbed.: top(pi) := loc(top(pi)) , loc(top(pi)) := top(pj) , top(pj) := top(pi)

• Startzust.: loc(d1) = d0 ; loc(d2) = d1 ; loc(d3) = d2

top(p1) = d3 ; top(p2) = d0 ; top(p3) = d0

size(d0) = 3 ; size(d1) = 2 ; size(d2) = 1 ; size(d3) = 0

• Zielzust.: loc(d1) = d0 ; loc(d2) = d1 ; loc(d3) = d2 ; top(p3) = d3

Page 6: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 6

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 7: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 7

Functional Strips

2.1 Motivation

• Hanoi in Strips: – Relationen: on(i,j), clear(i), smaller(i,j)– Aktionen: move(i,j,k) Anzahl der Basisaktionen N3

• Idee von FS:– Verwendung von functional fluents anstatt der relational fluents

in Strips Funktionale Symbole als ‚first class citizens‘

• Hanoi in Functional Strips:– Term: top(pi)

– Aktion: move(pi,pj)

• Grösster Unterschied zu Strips:– Verwendung von Nachbedingungen

Page 8: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 8

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 9: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 9

Functional Strips

2.2 Sprache

• FS ist eine first order language with no quantifications• Symbole:

– function symbols– constant symbols– relational symbols

• FS ist typbasiert (zum Beispiel Peg, Disk, Disk*):– Typen grenzen Bereiche von Aktionenschemas ab– Typen definieren Domänen, über die Fluents interpretiert sind

(Bsp.: die Angabe „Disk: d1, d2, d3“)

• Argumente von Fluents müssen sich über endliche Domänen erstrecken (Stapel = { p1, p2, p3})

Page 10: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 10

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 11: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 11

Functional Strips

2.3 Operatoren beschrieben durch

• die Typen ihrer Argumente• durch zwei Mengen

– Liste der Vorbedingungen (Prec(op)) Menge von Formeln

– Liste der Nachbedingungen (Post(op)) Menge von Updates der Form f(t) := w (t und w sind Terme des selben Typs, f ist fluent Symbol)

• Erläuterung der Nachbedingung: Für den Nachfolgezustand sa=next(a,s) muss die Gleichung fsa(ts) = ws erfüllt werden.Beispiel:

Update wie loc(top(p1)) := top(p2) bedeutet, dass loc(d3) = d2 wahr werden muss in sa, wenn top(p1) = d3 und top(p2) = d2 wahr in s sind;

Page 12: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 12

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 13: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 13

Functional Strips

2.4 Zustandsmodell

C1: Zustände • s S sind die logischen Interpretationen über der

Sprache LF, und

• werden repräsentiert durch Zuweisung eines Wertes fs[v] zu jeder Zustandsvariablen f[v] für jedes fluent f und jeden Wert v in Df

Das Problem P(LF,OF,IF,GF) wird mit Hilfe des folgenden

Zustandsmodells gelöst:

Page 14: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 14

Functional Strips

2.4 Zustandsmodell

C2: der Anfangszustand s0 erfüllt die Gleichung f(t) = w in IF

C3: die Zielzustände s SG sind die Interpretationen, die die Zielformel GF erfüllen

Startzustand: loc(d1) = d0; loc(d2) = d1; loc(d3) = d2

top(p1) = d3; top(p2) = d0; top(p3) = d0

size(d0) = 3; size(d1) = 2; size(d2) = 1; size(d3) = 0

Zielzustand: loc(d1) = d0; loc(d2) = d1; loc(d3) = d2; top(p3) = d3

Page 15: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 15

Functional Strips

2.4 Zustandsmodell

C4: Aktionen a A(s) sind die Operatoren op OF, deren Vorbed. in s wahr sind

Aktionen: move(pi, pj: Peg); bewegt zwischen Stapeln

Vorbed.: top(pi) ≠ d0, size(top(pi)) < size(top(pj))

Nachbed.: top(pi) := loc(top(pi)), loc(top(pi)) := top(pj), top(pj) := top(pi)

Page 16: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 16

Functional Strips

2.4 Zustandsmodell

C5: die Repräsentation des Folgezustands sa = next(a,s) für a A(s) bedeutet, dass für jedes fluent symbol f und v Df gilt:

anderevf

tvundaPostinwtfwennwvf

s

ss

sa )(

)(:)(][

Page 17: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 17

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 18: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 18

Functional Strips

3. Vergleich Zustandsmodelle: Strips(B) und FS(C)

B1: - Zustände s S sind die logischen Interpretationen über der Sprache LS, und

- werden repräsentiert durch die Menge [s] von Atomen, die sie bewahrheiten

C1: - Zustände s S sind die logischen Interpretationen über der Sprache LF, und

- werden repräsentiert durch Zuweisung eines Wertes fs[v] zu jeder Zustandsvariablen f[v] für jede fluent f und jeden Wert v in Df

Page 19: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 19

Functional Strips

3. Vergleich Zustandsmodelle: Strips(B) und FS(C)

B2: der Anfangszustand s0 ist die Interpretation, die durch die Atome in Is erfüllt wird und durch allen anderen Atome nicht erfüllt wird

C2: der Anfangszustand s0 erfüllt die Gleichung f(t) = w in IF

B3: die Zielzustände s SG sind die Interpretationen, die durch die Atome in GS erfüllt werden

C3: die Zielzustände s SG sind die Interpretationen, die die Zielformel GF erfüllen

Page 20: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 20

Functional Strips

3. Vergleich Zustandsmodelle: Strips(B) und FS(C)

B4: Aktionen a A(s) sind die Operatoren op OS, deren Vorbedingungen in s wahr sind

C4: Aktionen a A(s) sind die Operatoren op OF, deren Vorbedingungen in s wahr sind

Page 21: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 21

Functional Strips

3. Vergleich Zustandsmodelle: Strips(B) und FS(C)

B5: die Übergangsfunktion next bildet Zustände s in Zustände s‘=next(a,s) für a A(s) so ab, dass die Repräsentation von s‘ [s‘]=[s]-Del(a)+Add(a) ist

C5: die Repräsentation des Folgezustands sa = next(a,s) für a A(s) bedeutet, dass für jedes fluent symbol f und v Df gilt:

anderevf

tvundaPostinwtfwennwvf

s

ss

sa )(

)(:)(][

Page 22: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 22

Functional Strips

1. Die Türme von Hanoi1.1. Hanoi in Strips

1.2 Hanoi in Functional Strips

2. Functional Strips2.1 Motivation

2.2 Sprache

2.3 Operatoren

2.4 Zustandsmodell

3. Vergleich Zustandsmodelle: Strips und Functional Strips

4. Reifenbeispiel in Functional Strips

Page 23: Seminar Cognitive Systeme WS 2004/05 Functional Strips Julia Trommer, Christian Fleischmann

Julia Trommer, Christian Fleischmann Seite 23

Functional Strips

• Domänen: Reifen: rPlatt, rVoll

Ort: oKofferraum, oAchse, oBoden

• Fluents: loc: Reifen → Ort*; beschreibt den Reifen an seinem Ort

• Aktion: remove(ri: Reifen, oj:Ort); entfernt Reifen von Achse/Kofferraum– Vorbed.: loc(ri)= oj

– Nachbed.: loc(ri):= oBoden

• Aktion: puton (ri:Reifen, oj:Ort); bewegt Reifen– Vorbed.: loc(ri)= oBoden; ri=rVoll; loc(rPlatt)= oBoden

– Nachbed.: loc(ri):= oAchse

• Startzust.: loc(rPlatt) = oAchse; loc(rVoll) = oKofferraum

• Zielzust.: loc(rVoll) = oAchse

4. Reifenbeispiel in Functional Strips