Top Banner
„Warehouseman's Problem“ ist PSPACE schwer Beitrag zum Seminar über Algorithmen von: Oliver Jelinski
145

„Warehouseman's Problem“ ist PSPACE schwer

Jan 03, 2016

Download

Documents

elmo-osborne

„Warehouseman's Problem“ ist PSPACE schwer. Beitrag zum Seminar über Algorithmen von: Oliver Jelinski. Gliederung. Einführung : Was ist „Warehouseman's Problem“? Vorschau : Weg des Beweises über drei Reduktionen Grundlage : PSPACE-vollständiges Rewriting-Problem - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: „Warehouseman's Problem“ ist PSPACE schwer

„Warehouseman's Problem“ ist PSPACE schwer

Beitrag zum Seminar über Algorithmenvon:

Oliver Jelinski

Page 2: „Warehouseman's Problem“ ist PSPACE schwer

Gliederung

(1) Einführung: Was ist „Warehouseman's Problem“?

(2) Vorschau: Weg des Beweises über drei Reduktionen

(3) Grundlage: PSPACE-vollständiges Rewriting-Problem

(4) 3 Reduktionen, aus denen folgt: „Möbelrücken“ ist PSPACE-schwer

Page 3: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“?

Page 4: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“

übersetzt: „Problem des Lagerarbeiters“

oder „Problem des Lagerverwalters“

Page 5: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“?

Definition (1):

Es seien beliebige rechteckige Objekte in einem 2-dimensionalen rechteckigen Bereich.

Rechtecke dürften sich frei bewegen aber sich oder den Rand des Bereichs nicht

schneiden

Page 6: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“?

Definition (2):

Problem: Ist eine Konfiguration unter diesen Voraussetzungen in eine andere überführbar?

Page 7: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“?

Beispiel 1:

Kommt man von hier ...

Page 8: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“?

Beispiel 1:

nach hier? Ja. (Einfach)

Page 9: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“?

Beispiel 2:

Kommt man von hier ...

Page 10: „Warehouseman's Problem“ ist PSPACE schwer

(1) Was ist „Warehouseman's Problem“?

Beispiel 2:

... nach hier? Ja, wie wir sehen werden.

Page 11: „Warehouseman's Problem“ ist PSPACE schwer

(2) Weg des Beweises

Page 12: „Warehouseman's Problem“ ist PSPACE schwer

(2) Weg des Beweises

Grundlage

RWP:

PSPACE-vollständiges Rewriting-Problem

Page 13: „Warehouseman's Problem“ ist PSPACE schwer

(2) Weg des Beweises

1. Reduktion

RWP: PSPACE-vollständiges Rewriting-Problem

auf:

TPP: Transpositions- (bzw. Verschiebe-)-Problem für Zeichenketten

Page 14: „Warehouseman's Problem“ ist PSPACE schwer

(2) Weg des Beweises

2. Reduktion

TPP: Verschiebe-Problem für Zeichenketten

auf:

2DO: Verschiebe-Problem für 2D-Objekte

Page 15: „Warehouseman's Problem“ ist PSPACE schwer

(2) Weg des Beweises

3. Reduktion

2DO: Verschiebe-Problem für 2D-Objekte

auf:

WMP: Problem des Lagerarbeiters (Warehouseman's Problem)

Page 16: „Warehouseman's Problem“ ist PSPACE schwer

(2) Weg des Beweises

also:

daraus folgt:

Problem des Lagerarbeiters ist PSPACE-schwer

RWP≤PTPP≤P2DO≤PWMP

Page 17: „Warehouseman's Problem“ ist PSPACE schwer

(3) PSPACE-vollständiges Rewriting-Problem

Page 18: „Warehouseman's Problem“ ist PSPACE schwer

(3) PSPACE-vollständiges Rewriting-Problem

1. Zeichenkette: {S=S1S2S3...Sn} mit allen Sm aus einem Alphabet Σ.

2. Produktionen Pj; jeweils eine der folgenden Formen: AB -> AC oder AB -> CB mit A, B, C ∑.

Page 19: „Warehouseman's Problem“ ist PSPACE schwer

(3) PSPACE-vollständiges Rewriting-Problem

1. auf jede Zeichenkette S' genau zwei Produktionen anwendbar: eine der Form AB -> AC, und eine der Form AB -> CB.

Page 20: „Warehouseman's Problem“ ist PSPACE schwer

(3) PSPACE-vollständiges Rewriting-Problem

1. beide Produktionen in mindestens einem Zeichen überschneidend; wenn genau in einem, dann in dem, das sie beide verändern. (Also bei AB -> AC und DA -> EA das A)

Page 21: „Warehouseman's Problem“ ist PSPACE schwer

(3) PSPACE-vollständiges Rewriting-Problem

Wie ein solchen System aussähe:

???Wichtig ist nur:

es ist PSPACE-vollständig!(s. Hopcroft, Joseph, Whitesides 1982)

Page 22: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Page 23: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Rewriting-System weit entfernt vom Problem des Lagerarbeiters, weil:

„Objekte“ (Zeichen) verschwinden und tauchen aus dem Nichts auf.

Dinge in Lagern verschwinden nicht!

Page 24: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Näher am Problem des Lagerarbeiters:

„Objekte“ (Zeichen), die irgendwo verschwinden, werden an anderer Stelle aufbewahrt.

Sie werden nicht überschrieben, sondern verschoben.

Page 25: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Was ist ein Verschiebesproblem für Zeichenketten?

Beispiel 1: einfach

ABC...AABBCC

B wird verschoben:

AC...AABBBCC

Page 26: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Was ist ein Verschiebeproblem für Zeichenketten?

Beispiel 2: einfache Simulation der Produktion AB -> AC

ABC...AABBCC->A C...AABBBCC->ACC...AABBBC

Page 27: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

also, Ziel:

Simulation der Rewriting-Problems als Verschiebeproblem

Page 28: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

1. Erfordernis: genügend Zeichen zur Verfügung

jedes Zeichen |S| mal vorhanden rechts des ursprünglichen S (ab hier:

signifikanter Teil von STPP) gespeichert:

STPP=ABCD...AA...ABB...BCC...CD.......

Page 29: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

1. Erfordernis: alle Verschiebungen verboten, die nicht speziell erlaubt sind.

Regel: Es darf immer nur ein Zeichen verschoben werden

zwischen zwei Zeichen im signifikanten Teil darf sich die Anzahl der dazwischen stehenden Zeichen nicht verändern.

Page 30: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Damit: Jede Verschiebung verboten!

Dagegen: Erfordernis 2. eingeschränkt auf die Zeichen aus ∑.

Zeichen aus ∑ ab hier: Standardzeichen

Page 31: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Realisierung des Verbots:

Indizes: Standardzeichen indiziert: Si hat den Index i mod 3

Nachbarschaftsregel: In jeder Folge AjBkCl von Standardzeichen: j = (k-1 mod 3) und l = (k+1 mod 3)

Page 32: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

also:

A0B1C2D0E1...

Jedes Einfügen eines Standardzeichens X0, X1 oder X2 würde die Nachbarschaftsregel verletzen.

Page 33: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Folgen für die Gestalt der Zeichenkette:

Jedes Zeichen mit jedem Index |S|/3 mal (aufgerundet) speichern

Problem beim Speichern gleicher Zeichen hintereinander, wegen Nachbarschaftsregel.

Page 34: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Problem beim Speichern gleicher Zeichen hintereinander, wegen Nachbarschaftsregel:

Lösung: Klammerzeichen, für die die Nachbarschaftsregel nicht gilt:

ΛA0B1C2...Γ...[A0][A0]...[][A1][A1]...[A2][A2]...[B0][B0]...

Page 35: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Leere Klammerpaare für Zeichen vorhanden, die aktuell im signifikanten Teil sind:

ΛA0B1C2...Γ...[A0][A0]...[][A1][A1]...[A2][A2]...[B0][B0]...

Page 36: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Bis hier:

alle Voraussetzungen erfüllt jede Verschiebung im signifikanten Teil

verboten

Es fehlen:

erlaubte Verschiebungen

Page 37: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Realisierung von Verschiebungen:

3 Sonderzeichen Mi01, Mi

12, Mi20 für die i-te

Produktionsregel der Gestalt AB -> AC.

3 Sonderzeichen Nj01, Nj

12, Nj20 für die j-te

Produktionsregel der Gestalt AB -> CB.

Page 38: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Nachbarschaftsregel M:

Mijk, das zur Produktion AB -> AC gehört,

darf rechts von Aj stehen, und links von Bk oder Ck, oder links von jedem X(k+1 mod 3). (X ∑)

sonst nirgendwo zwischen Standardzeichen.

Page 39: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Nachbarschaftsregel N:

Nijk, das zur Produktion AB -> CB gehört, darf

links von Bk stehen, und rechts von Aj oder Cj oder rechts von jedem X(j-1 mod 3). (X ∑)

sonst nirgendwo zwischen Standardzeichen.

Page 40: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Also folgendes erlaubt:

...A0B1C2... -> ...A0Mi01B1C2... -> ...A0Mi

01C2... -> ...A0Mi

01C1C2... -> ...A0C1C2...

wenn M der Produktionsregel AB -> AC entspricht.

ähnlich bei Nijk

Page 41: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Damit Reduktion fast abgeschlossen, denn:

Rewriteproblem erfüllbar, genau dann, wenn Transpositonsproblem erfüllbar.

Page 42: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

„=>“

Wenn im Rewriteproblem in S' genau zwei Produktionen möglich, dann im Verschiebeproblem im signifikanten Teil die diesen entsprechenden Verschiebungen mit Mi oder Nj möglich.

Page 43: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

„<=“

Andere Verschiebungen als die mit Mi oder Nj nicht möglich.

Von beiden je nur eine möglich, weil im Fall des Einsetzens von Mi und Nj kein weiterer Fortschritt möglich wäre:

Page 44: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

„<=“

1. Wenn Produktionen sich in mehr als einem Zeichen überschneiden, können gar nicht M und N eingesetzt werden, weil sie direkt nebeneinander gesetzt werden müssten – und das ist verboten.

Page 45: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

„<=“

2. Wenn Produktionen sich in genau einem Zeichen überschneiden, folgendes möglich:

...A0Mi01B1Nj

12C2...

B darf jetzt aber nicht verschoben werden, weil sonst M und N nebeneinander

Page 46: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Also: zu einem Zeitpunkt in TPP genau die Verschiebungen mit Mi oder Nj möglich,

genau dann, wenn Produktionen i oder j in RWP möglich.

Reduktion abgeschlossen!

Page 47: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Zur Vollständigkeit: Mi und Nj werden in Klammerpaaren rechts des signifikanten Teils gespeichert.

ΛA0B1C2...Γ...[M1

01][M112][M1

20]...[Mi01][Mi

12][Mi20]...

[N101][N1

12][N120]...[Nj

01][Nj12][Nj

20]...[A0][A0]...[][A1][A1]...[A2][A2]...[B0][B0]...

Page 48: „Warehouseman's Problem“ ist PSPACE schwer

(4.1) Reduktion auf TPP

Man sieht leicht, dass die Reduktion in poynomieller Zeit möglich ist. Also:

TPP ist PSPACE-schwer

RWP≤PTPP

Page 49: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Page 50: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Verschiebe-Problem für Zeichenketten weit entfernt vom Problem des Lagerarbeiters, weil:

„Objekte“ sind abstrakte Zeichen.

Page 51: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Verschiebe-Problem für 2D-Objekte schon fast Problem des Lagerarbeiters,

außer dass die Objekte beim Problem des Lagerarbeiters rechteckig sein müssen.

Page 52: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

also, Ziel:

Simulation des Verschiebe-Problems für Zeichenketten als Verschiebe-Problem für

2D-Objekte

Page 53: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

1. Simulation des Verschiebens der Position eines 2D-Objekts innerhalb einer Reihe von 2D-Objekten

(wie TPP ohne Nachbarschaftsregeln)

kann folgendermaßen aussehen:

Page 54: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

einfache Simulation blaugraue Objekte können beliebig

umgeordnet werden

Page 55: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

immer, wenn Lücke an dieser Stelle, genau 2 Bewegungssequenzen mgl., so dass die Lücke wieder dort entsteht

Page 56: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

1. Sequenz

Page 57: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

1. Sequenz

Page 58: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

1. Sequenz

Page 59: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

1. Sequenz

Page 60: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

1. Sequenz

Page 61: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

1. Sequenz kann wiederholt werden, angezeigter Spalt wird verschoben:

Page 62: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz

Page 63: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz

Page 64: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz

Page 65: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz

Page 66: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz

Page 67: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz

Page 68: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz

Page 69: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

2. Sequenz kann nicht wiederholt werden, nur ein blaues Objekt passt

Page 70: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

beide Sequenzen sind genauso vorwärts wie rückwärts zu vollziehen

in Kombination positionieren sie beliebige blaue Objekte um

eine Art „Transportmaschine“

Page 71: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 72: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 73: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 74: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 75: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 76: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 77: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 78: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 79: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 80: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 81: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 82: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 83: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 84: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 85: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 86: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 87: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 88: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 89: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position

Page 90: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Beispiel: 1. Objekt an 3. Position fertig.

Page 91: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Problem:

Page 92: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Problem:

bisher keine Nachbarschaftsregeln,

jedes Objekt darf neben jedes.

Page 93: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Lösung:

Page 94: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Lösung:

Einbuchtungen und Ausbuchtungen.

Page 95: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Lösung:

Einbuchtungen und Ausbuchtungen...

Page 96: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

... von denen manche zusammen passen, andere nicht.

Page 97: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Die genaue Konstruktion spare ich mir, weil sie recht beliebig gewählt ist.

Page 98: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

aber: Problem:

mit den Ausbuchtungen sind die Objekte breiter und passen nicht mehr in die Lücke.

Man muss die Lücke weiter machen.

Page 99: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Lösung: modifizierte „Maschine“

Page 100: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

funktioniert so:

Page 101: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

funktioniert so:

Page 102: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

funktioniert so:

Page 103: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

funktioniert so:

Page 104: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

funktioniert so:

Page 105: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

funktioniert so:

Page 106: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

funktioniert!

Page 107: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Damit ist die Simulation komplett:

Page 108: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Damit ist die Simulation komplett:

„=>“ Jedes Verschiebe-Problems von Zeichenketten ist eindeutig als Problem von 2D-Objekten darstellbar

Page 109: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Damit ist die Simulation komplett:

„<=“ Jede Instanz von 2DO stellt eindeutig eine Instanz von TPP dar, weil: alle ungewollten Bewegungen ausgeschlossen (führen dazu, dass weitere Bewegungen nicht möglich sind)

Page 110: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Dass die Reduktion in polynomieller Zeit vonstatten geht, dürfte offensichtlich sein.

Page 111: „Warehouseman's Problem“ ist PSPACE schwer

(4.2) Reduktion auf 2DO

Also gilt:

Das Verschiebeproblem für 2D-Objekte ist damit PSPACE-schwer.

RWP≤PTPP≤P2DO

Page 112: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Page 113: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

2DO ist schon fast Problem des Lagerarbeiters

Nur die signifikanten Objekte sind noch nicht rechteckig:

Page 114: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

2DO ist schon fast „Möbelrücken“

Nur die signifikanten Objekte sind noch nicht rechteckig:

Page 115: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

also Ziel:

signifikante Blöcke durch Rechtecke simulieren

alle ungewollten Bewegungen ausschließen

Page 116: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

1. Blöcke durch Rechtecke simulierenAm Einfachsten durch horizontales Zerteilen:

Page 117: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Problem: Blöcke können nach links durchrutschen.

Page 118: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Beispiel: Der Block rechts sollte nicht passen.

Page 119: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Beispiel: Der Block rechts sollte nicht passen. Aber:

Page 120: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Lösungsansatz: Eine „Wirbelsäule“ zwischen die „Rippen“ schieben.

Page 121: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Funktioniert!

Page 122: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Reicht aber nicht hin:

Weitere ungewollte Bewegungen bei geöffneter Lücke:

Austausch von „Rippen“ zweier Blöcke

Austausch von Rippen innerhalb der linken bzw. rechten Seite eines Blocks

Page 123: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Voraussetzung der Lösung beider Probleme:

Zwischenblöcke („Spacer“) einfügen:

Page 124: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Zwischenblöcke sind mindestens doppelt so breit wie normale, passen also nie in die Transportmaschine.

Normale und Zwischenblöcke werden modifiziert, so das keine normalen Blöcke nebeneinander passen:

Page 125: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Trennlagen (rot), in denen Rippen der Zwischenblöcke kürzer, die normaler Blöcke länger sind:

Page 126: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Trennlagen (rot), in denen Rippen der Zwischenblöcke kürzer, die normaler Blöcke länger sind.

Deshalb passen zwei normale Blöcke nicht nebeneinander.

Page 127: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

normale Lagen (grün), bei denen alle Blöcke ihre normale Breite haben

Page 128: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

normale Lagen (grün), bei denen alle Blöcke ihre normale Breite haben

Deshalb bleiben die Regeln erhalten, nach denen zwei Blöcke Blöcke hintereinander passen, oder nicht. (Jetzt nur mit Zwischenblock)

Page 129: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

blaue Lage passt, weil der linke Block ein-, der rechte ausgebuchtet ist, und der Zwischenblock normal.

Page 130: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

blaue Lage passt, weil der linke Block ein-, der rechte ausgebuchtet ist, und der Zwischenblock normal.

Wäre der linke nicht eingebuchtet, würden die Blöcke auch weiterhin nicht passen.

Page 131: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

um später Einfügen von Spezialzeichen simulieren zu können:

immer zwei Zwischenblöcke zwischen normalen Blöcken

Page 132: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Jetzt zurück zu den Problemen:

Page 133: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Weitere ungewollte Bewegungen bei geöffneter Lücke:

Austausch von „Rippen“ zweier Blöcke

Austausch von Rippen innerhalb der linken bzw. rechten Seite eines Blocks

Page 134: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

1. Problem: Austausch von Rippen innerhalb der linken bzw. rechten Seite eines Blocks

Lösung: Einführung verschiedener Höhen der Lagen („Rippen“).

Wenn die unterste (0-te) Lage die Höhe h hat, dann die i-te die Höhe h/3i

Page 135: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

jede Lage mehr als doppelt so hoch wie alle höheren zusammen

Weil sonst die Trennlagen nicht mehr in die Zwischenblöcke passten, Austausch ausgeschlossen.

Page 136: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

1. Problem: Austausch von Rippen zwischen zwei Blöcken (nur, wenn sich einer der beiden in der Transportlücke befindet).

Lösung: Einführung minimaler Höhenunterschiede

Page 137: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Rippen in Trennlagen: minimal weniger hoch als die Lage

die anderen Rippen: minimal höher als die Lage

Page 138: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

zwei Regeln für die Unterschiede:

Alle Rippen der rechten Seite eines Blocks zusammen genauso hoch wie der Block. (genauso links)

Keine andere Kombination von Rippen der beiden Blöcke ganz genau so hoch.

Page 139: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Deshalb ließe sich einer der beiden Blöcke mit ausgetauschten Rippen nicht mehr normal einpassen

Die Bewegung stoppte.

Page 140: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Damit alle ungewollten Bewegungen ausgeschlossen.

2DO ist damit eineindeutig simuliert. („=>“ und „<=“)

Die Reduktion ist vollständig.

Page 141: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

Dass die Reduktion in polynomieller Zeit funktioniert, dürfte klar sein.

Einziges Problem: Die minimalen Unterschiede sind schwierig zu berechnen. Aber deren Zahl hängt nur von der Größe des Alphabets und der Menge der Produktionen (aus RWP) ab, nicht von der Eingabelänge. Also konstant.

Page 142: „Warehouseman's Problem“ ist PSPACE schwer

(4.3) Reduktion auf WMP

also:

daraus folgt:

Problem des Lagerarbeiters ist PSPACE-schwer

RWP≤PTPP≤P2DO≤PWMP

Page 143: „Warehouseman's Problem“ ist PSPACE schwer

(5) Anhang

Literatur

(1) J.E. Hopcroft, J.T. Schwartz, M. Sharir, „On the Complexity of Motion Planning for Multiple Independent Objects; PSPACE-Hardness of the „Warehouseman's Problem““, in: The International Journal of Robotic Research, 1984

(2) J.E. Hopcroft, D. Joseph, S. Whitesides, „Movement problems for 2-dimensional Linkages“, SIAM Journal Computing, 1984 (erstmalig 1982)

(3) Ingo Wegener, Theoretische Informatik – eine algorithmenorientierte Einführung, Stuttgart/Leipzig, 1999

Page 144: „Warehouseman's Problem“ ist PSPACE schwer

(5) Anhang

Fragen?

Page 145: „Warehouseman's Problem“ ist PSPACE schwer

(5) Anhang

Danke für die Aufmerksamkeit!