1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in...

24
1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments (Eigennütziges Routen in Netzwerken)

Transcript of 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in...

Page 1: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

1

AG-Monien

Projektgruppe SEROSE

Selfish Routing in Sokoban Environments

(Eigennütziges Routen in Netzwerken)

Page 2: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 2

Sokoban

Page 3: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 3

Sokoban

Page 4: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 4

Sokoban mit autonomen Arbeitern

• Transportbedarf gegeben durch Jobs

• Kosten für Arbeiter gegeben durch zurückgelegte Wege

• Netzwerk gegeben als Sokoban-Instanz

• Entgelte für Transport gegeben für jeden Job

Page 5: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 5

Sokoban mit autonomen Arbeitern

• Arbeiter sind eigenständige Agenten, die ihre Laufrouten so planen, dass sie ihren Gewinn maximieren.

• Gewinne der Arbeiter sind auch vom Verhalten der anderen Arbeiter abhängig.

• Stabile Zustände eines Systems sind erreicht, wenn alle Arbeiter ihre Routen geplant haben und kein Arbeiter mehr seine Route ändern will.

Page 6: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 6

Sokoban mit autonomen Arbeitern

Page 7: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 7

Sokoban mit autonomen Arbeitern

Page 8: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 8

Thema der Projektgruppe

Berechnung von stabilen bzw. approximativ stabilen Zuständen (approximativen Nash Equilibrien) und global optimalen Zuständen in Sokoban-Systemen mit autonomen Arbeitern

Nash Equilibria vs. Global optimale Transportwege

Anschauliche Vorstellung: Ein Spiel zwischen nicht kooperierenden Spielern (Arbeiter), die ihren

persönlichen Gewinn maximieren wollen.

Page 9: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 9

SOKOBAN

Definitionen:

Push: Verschieben einer Box auf ein Nachbarfeld

Carry: Verschieben einer Box auf ein beliebiges Feld ohne zwischendurch eine andere Box zu bewegen

Page 10: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 10

SOKOBAN: Geschichte

Erfunden in den 1980ern von Thinking Rabbit, Takarazuka, Japan.

Quasi-Standard Benchmark von 50 Instanzen (1984), geordnet nach der Schwierigkeit für Menschen, sie zu lösen.

Bsp: Kürzeste bekannte Lösung (1999):

674 pushes

Page 11: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 11

Literatur/Löser

Joseph Culberson. SOKOBAN is PSPACE-complete. Proceedings in Informatics 4. Fun with Algorithms (E.Lodi,

L.Pagli, N.Santoro eds). Carleton Scientific 1999. Andreas Junghanns. Pushing the limits: New developements in Single-Agent Search. Phd Thesis, Edmonton, CAN, 1999.

Push-basierter IDA*-LöserDatenbanken für DeadlockwiedererkennungSchrankenberechnung über Maximum Bipartite Matching

Ken‘ichiro Takahashi: Löser von Thinking Rabbit

http://www.ic-net.or.jp/home/takaken/e/

xsokoban.lcs.mit.edu/cgi-bin/xsokoban/best-scores (?)

Page 12: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 12

Ein eigener Löser

Carry-basiert Iterative Deepening DFS für non-goal carries Hashtabelle für Carryumstellungen Deadlockerkennung (Hashtabelle für

Wiedererkennung) Zielbereichsanalyse (in Kinderschuhen) Heuristische Bewertungsfunktion (Mobility) Erkennung statisch toter Felder

Page 13: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 13

Deadlocks

Lösung:

101-139,

80-42,

60-59,

121-120

143-124

145+166

usw.

Page 14: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 14

Deadlocks

Lösung:

101-139,

80-42,

60-59,

121-120

143-124

145+166

usw.

Page 15: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 15

Deadlocks

Lösung:

101-139,

80-42,

60-59,

121-120

143-124

145+166

usw.

Warum nicht:

101-139,

121-120

143-124

145+166

usw.

Page 16: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 16

Deadlocks

Deadlocked Frei

Page 17: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 17

Zielbereichsanalyse

Welche Zielfelder sollen zuerst besetzt werden ?

Page 18: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 18

Zielbereichsanalyse

Diese Konfiguration ist nicht mehr lösbar !

Gründe für die Unlösbarkeit können außerhalb des Zielbereiches liegen !

Page 19: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 19

Zielgerichtete Suche

Bekannte Lösung erfordert 7 stille Carries am Anfang.

Welche Carries ?

Page 20: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 20

Zielgerichtete Suche

Lösung:

179-181163-18249-12567-6884-65122-103121-123138+248 usw.

Page 21: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 21

Zielgerichtete Suche

Ziele:

138-Goal ?121-(nicht 121)!122-(nicht 122) !84-(nicht 84) !67-(nicht 67) !49-(nicht 49) !163-(nicht 163) !179-(nicht 179) !

Page 22: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 22

Ein eigener Löser

… läuft unter Linux… löst durchaus schon schwierige Instanzen,

(1..10,12) z.B.

Page 23: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 23

Fazit

In der PG: Konzentration auf spieltheoretische

MethodenVermeidung der Deadlocks, z.B. durch

Verwendung von speziellen Eingabeinstanzen oder durch Erlauben von Ziehe-Operationen ?

Vermeidung von Zielbereichsanalysen, z.B. durch Vornummerierung von Boxen und Zielfeldern.

Vermeidung der Notwendigkeit von zielgerichteten Suchen z.B. durch Expansion der Labyrinthe (Straßen breiter machen)

Page 24: 1 AG-Monien Projektgruppe SEROSE Selfish Routing in Sokoban Environments ( Eigennütziges Routen in Netzwerken )

PG-SEROSE AG Monien 24

Aufgaben dieser PG

Berechnung einer global optimalen LösungBerechnung eines bestmöglichen Nash

EquilibriumsBerechnung einer Lösung über AuktionenBerechnung einer heuristisch

eigenständigen LösungInstanzengenerator, Optimierer, Auktionator, Simulator, …

Jeder Teilnehmer schreibt einen eigenen Agenten. Anbindung zum Simulator über MPI.