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

Slides:



Advertisements
Ähnliche Präsentationen
Sudoku Übersicht Spielregeln Strategien Knoch
Advertisements

Seminar über Algorithmen
Christian Scheideler SS 2009
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Vorlesung Compilertechnik Sommersemester 2008
Informatik II: Algorithmen und Datenstrukturen SS 2013
6. Regelbasierte Systeme
Polynomial Root Isolation
Vom graphischen Differenzieren
WR + WS ZEIGEN Neues aus der Mathematik.
Suche in Texten (Stringsuche )
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
8. Jahrgang: Abbildungen DIE DREHUNG
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Beispiele für Ausdrucksalgebren
Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach.
Wie macht man ein Sudoku? Transformations-Methode:
Kakuro Regeln und Strategien
Hanjie Hanjie Hanjie ist ein japanisches Bilderpuzzle, das aus dem späten 18. Jahrhundert stammt. Jedes Hanjie besteht.
Neuer Aufbau, neue Elemente Schubladen In unseren neuen Schubladenelementen hat viel Information auf wenig Raum Platz. Sie öffnen eine Schublade durch.
Eine Bewerbung schreiben
Seminarvortrag über die Orientierbarkeit von Flächen
Eine Bewerbung schreiben
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Ich möchte gerne mehrere Bilder auf ein Folie
Willkommen bei Sycarus – dem Mathematikprogramm, das neue Wege geht.
Auf Wunsch einer einzelnen Dame
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Zum verständlich machen, wozu die Trigger-Funktion geeignet ist,
Effiziente Algorithmen

Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hallo, ich mühe mich seit einer ganzen Weile mit einer neuen Präsentation für meine Chefin ab. Bin jetzt soweit fertig mit der Basis und möchte nun ein.
100 kg Wie wird’s gemacht?! Klick.
So eine Möglichkeit kenne ich nicht.
Wie man eine einfache Präsentation erstellt...
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Grundlagen der Informatik - Prof. Slany 1 Grundlagen der Informatik Prof. Wolfgang SLANY.
Lösen von quadratischen Ungleichungen
ENDLICHE KÖRPER RSA – VERFAHREN.
PHP: Operatoren und Kontrollstrukturen
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
by animalanimal.jimdo.com
Vom graphischen Differenzieren
01 - Schaltflächen- 1 Schaltfläche Cosmic Schaltflächen Ändern Sie die Größe des Hintergrunds auf 140x40 Pixel und die Farbe auf Schwarz.
Subnetting.
Binärbäume.
Einführung Die nachfolgende Präsentation dient dem besseren Verständnis der taktischen Grundlagen bei Integration eines Läufersystem in den Spielablauf.
 Präsentation transkript:

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

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

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

(1) Was ist „Warehouseman's Problem“ übersetzt: „Problem des Lagerarbeiters“ oder „Problem des Lagerverwalters“

(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

(1) Was ist „Warehouseman's Problem“? Definition (2): Problem: Ist eine Konfiguration unter diesen Voraussetzungen in eine andere überführbar?

(1) Was ist „Warehouseman's Problem“? Beispiel 1: Kommt man von hier...

(1) Was ist „Warehouseman's Problem“? Beispiel 1: nach hier? Ja. (Einfach)

(1) Was ist „Warehouseman's Problem“? Beispiel 2: Kommt man von hier...

(1) Was ist „Warehouseman's Problem“? Beispiel 2:... nach hier? Ja, wie wir sehen werden.

(2) Weg des Beweises

Grundlage RWP: PSPACE-vollständiges Rewriting-Problem

(2) Weg des Beweises 1. Reduktion RWP: PSPACE-vollständiges Rewriting- Problem auf: TPP: Transpositions- (bzw. Verschiebe-)- Problem für Zeichenketten

(2) Weg des Beweises 2. Reduktion TPP: Verschiebe-Problem für Zeichenketten auf: 2DO: Verschiebe-Problem für 2D-Objekte

(2) Weg des Beweises 3. Reduktion 2DO: Verschiebe-Problem für 2D-Objekte auf: WMP: Problem des Lagerarbeiters (Warehouseman's Problem)

(2) Weg des Beweises also: daraus folgt: Problem des Lagerarbeiters ist PSPACE- schwer

(3) PSPACE-vollständiges Rewriting- Problem

1. Zeichenkette: {S=S 1 S 2 S 3...S n } mit allen S m aus einem Alphabet Σ. 2. Produktionen P j ; jeweils eine der folgenden Formen: AB -> AC oder AB -> CB mit A, B, C ∑.

(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.

(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)

(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)

(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!

(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.

(4.1) Reduktion auf TPP Was ist ein Verschiebesproblem für Zeichenketten? Beispiel 1: einfach ABC...AABBCC B wird verschoben: AC...AABBBCC

(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

(4.1) Reduktion auf TPP also, Ziel: Simulation der Rewriting-Problems als Verschiebeproblem

(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 S TPP ) gespeichert: S TPP =ABCD...AA...ABB...BCC...CD

(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.

(4.1) Reduktion auf TPP Damit: Jede Verschiebung verboten! Dagegen: Erfordernis 2. eingeschränkt auf die Zeichen aus ∑. Zeichen aus ∑ ab hier: Standardzeichen

(4.1) Reduktion auf TPP Realisierung des Verbots: Indizes: Standardzeichen indiziert: S i hat den Index i mod 3 Nachbarschaftsregel: In jeder Folge A j B k C l von Standardzeichen: j = (k-1 mod 3) und l = (k+1 mod 3)

(4.1) Reduktion auf TPP also: A 0 B 1 C 2 D 0 E 1... Jedes Einfügen eines Standardzeichens X 0, X 1 oder X 2 würde die Nachbarschaftsregel verletzen.

(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.

(4.1) Reduktion auf TPP Problem beim Speichern gleicher Zeichen hintereinander, wegen Nachbarschaftsregel: Lösung: Klammerzeichen, für die die Nachbarschaftsregel nicht gilt: ΛA 0 B 1 C 2...Γ... [A 0 ][A 0 ]...[][A 1 ][A 1 ]...[A 2 ][A 2 ]...[B 0 ][B 0 ]...

(4.1) Reduktion auf TPP Leere Klammerpaare für Zeichen vorhanden, die aktuell im signifikanten Teil sind: ΛA 0 B 1 C 2...Γ... [A 0 ][A 0 ]...[][A 1 ][A 1 ]...[A 2 ][A 2 ]...[B 0 ][B 0 ]...

(4.1) Reduktion auf TPP Bis hier: alle Voraussetzungen erfüllt jede Verschiebung im signifikanten Teil verboten Es fehlen: erlaubte Verschiebungen

(4.1) Reduktion auf TPP Realisierung von Verschiebungen: 3 Sonderzeichen M i 01, M i 12, M i 20 für die i-te Produktionsregel der Gestalt AB -> AC. 3 Sonderzeichen N j 01, N j 12, N j 20 für die j-te Produktionsregel der Gestalt AB -> CB.

(4.1) Reduktion auf TPP Nachbarschaftsregel M: M i jk, das zur Produktion AB -> AC gehört, darf rechts von A j stehen, und links von B k oder C k, oder links von jedem X (k+1 mod 3). (X ∑) sonst nirgendwo zwischen Standardzeichen.

(4.1) Reduktion auf TPP Nachbarschaftsregel N: N i jk, das zur Produktion AB -> CB gehört, darf links von B k stehen, und rechts von A j oder C j oder rechts von jedem X (j-1 mod 3). (X ∑) sonst nirgendwo zwischen Standardzeichen.

(4.1) Reduktion auf TPP Also folgendes erlaubt:...A 0 B 1 C >...A 0 M i 01 B 1 C >...A 0 M i 01 C >...A 0 M i 01 C 1 C >...A 0 C 1 C 2... wenn M der Produktionsregel AB -> AC entspricht. ähnlich bei N i jk

(4.1) Reduktion auf TPP Damit Reduktion fast abgeschlossen, denn: Rewriteproblem erfüllbar, genau dann, wenn Transpositonsproblem erfüllbar.

(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 M i oder N j möglich.

(4.1) Reduktion auf TPP „<=“ Andere Verschiebungen als die mit M i oder N j nicht möglich. Von beiden je nur eine möglich, weil im Fall des Einsetzens von M i und N j kein weiterer Fortschritt möglich wäre:

(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.

(4.1) Reduktion auf TPP „<=“ 2. Wenn Produktionen sich in genau einem Zeichen überschneiden, folgendes möglich:...A 0 M i 01 B 1 N j 12 C 2... B darf jetzt aber nicht verschoben werden, weil sonst M und N nebeneinander

(4.1) Reduktion auf TPP Also: zu einem Zeitpunkt in TPP genau die Verschiebungen mit M i oder N j möglich, genau dann, wenn Produktionen i oder j in RWP möglich. Reduktion abgeschlossen!

(4.1) Reduktion auf TPP Zur Vollständigkeit: M i und N j werden in Klammerpaaren rechts des signifikanten Teils gespeichert. ΛA 0 B 1 C 2...Γ... [M 1 01 ][M 1 12 ][M 1 20 ]...[M i 01 ][M i 12 ][M i 20 ]... [N 1 01 ][N 1 12 ][N 1 20 ]...[N j 01 ][N j 12 ][N j 20 ]... [A 0 ][A 0 ]...[][A 1 ][A 1 ]...[A 2 ][A 2 ]...[B 0 ][B 0 ]...

(4.1) Reduktion auf TPP Man sieht leicht, dass die Reduktion in poynomieller Zeit möglich ist. Also: TPP ist PSPACE-schwer

(4.2) Reduktion auf 2DO

Verschiebe-Problem für Zeichenketten weit entfernt vom Problem des Lagerarbeiters, weil: „Objekte“ sind abstrakte Zeichen.

(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.

(4.2) Reduktion auf 2DO also, Ziel: Simulation des Verschiebe-Problems für Zeichenketten als Verschiebe-Problem für 2D-Objekte

(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:

(4.2) Reduktion auf 2DO einfache Simulation blaugraue Objekte können beliebig umgeordnet werden

(4.2) Reduktion auf 2DO immer, wenn Lücke an dieser Stelle, genau 2 Bewegungssequenzen mgl., so dass die Lücke wieder dort entsteht

(4.2) Reduktion auf 2DO 1. Sequenz

(4.2) Reduktion auf 2DO 1. Sequenz

(4.2) Reduktion auf 2DO 1. Sequenz

(4.2) Reduktion auf 2DO 1. Sequenz

(4.2) Reduktion auf 2DO 1. Sequenz

(4.2) Reduktion auf 2DO 1. Sequenz kann wiederholt werden, angezeigter Spalt wird verschoben:

(4.2) Reduktion auf 2DO 2. Sequenz

(4.2) Reduktion auf 2DO 2. Sequenz

(4.2) Reduktion auf 2DO 2. Sequenz

(4.2) Reduktion auf 2DO 2. Sequenz

(4.2) Reduktion auf 2DO 2. Sequenz

(4.2) Reduktion auf 2DO 2. Sequenz

(4.2) Reduktion auf 2DO 2. Sequenz

(4.2) Reduktion auf 2DO 2. Sequenz kann nicht wiederholt werden, nur ein blaues Objekt passt

(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“

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position

(4.2) Reduktion auf 2DO Beispiel: 1. Objekt an 3. Position fertig.

(4.2) Reduktion auf 2DO Problem:

(4.2) Reduktion auf 2DO Problem: bisher keine Nachbarschaftsregeln, jedes Objekt darf neben jedes.

(4.2) Reduktion auf 2DO Lösung:

(4.2) Reduktion auf 2DO Lösung: Einbuchtungen und Ausbuchtungen.

(4.2) Reduktion auf 2DO Lösung: Einbuchtungen und Ausbuchtungen...

(4.2) Reduktion auf 2DO... von denen manche zusammen passen, andere nicht.

(4.2) Reduktion auf 2DO Die genaue Konstruktion spare ich mir, weil sie recht beliebig gewählt ist.

(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.

(4.2) Reduktion auf 2DO Lösung: modifizierte „Maschine“

(4.2) Reduktion auf 2DO funktioniert so:

(4.2) Reduktion auf 2DO funktioniert so:

(4.2) Reduktion auf 2DO funktioniert so:

(4.2) Reduktion auf 2DO funktioniert so:

(4.2) Reduktion auf 2DO funktioniert so:

(4.2) Reduktion auf 2DO funktioniert so:

(4.2) Reduktion auf 2DO funktioniert!

(4.2) Reduktion auf 2DO Damit ist die Simulation komplett:

(4.2) Reduktion auf 2DO Damit ist die Simulation komplett: „=>“ Jedes Verschiebe-Problems von Zeichenketten ist eindeutig als Problem von 2D-Objekten darstellbar

(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)

(4.2) Reduktion auf 2DO Dass die Reduktion in polynomieller Zeit vonstatten geht, dürfte offensichtlich sein.

(4.2) Reduktion auf 2DO Also gilt: Das Verschiebeproblem für 2D-Objekte ist damit PSPACE-schwer.

(4.3) Reduktion auf WMP

2DO ist schon fast Problem des Lagerarbeiters Nur die signifikanten Objekte sind noch nicht rechteckig:

(4.3) Reduktion auf WMP 2DO ist schon fast „Möbelrücken“ Nur die signifikanten Objekte sind noch nicht rechteckig:

(4.3) Reduktion auf WMP also Ziel: signifikante Blöcke durch Rechtecke simulieren alle ungewollten Bewegungen ausschließen

(4.3) Reduktion auf WMP 1. Blöcke durch Rechtecke simulieren Am Einfachsten durch horizontales Zerteilen:

(4.3) Reduktion auf WMP Problem: Blöcke können nach links durchrutschen.

(4.3) Reduktion auf WMP Beispiel: Der Block rechts sollte nicht passen.

(4.3) Reduktion auf WMP Beispiel: Der Block rechts sollte nicht passen. Aber:

(4.3) Reduktion auf WMP Lösungsansatz: Eine „Wirbelsäule“ zwischen die „Rippen“ schieben.

(4.3) Reduktion auf WMP Funktioniert!

(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

(4.3) Reduktion auf WMP Voraussetzung der Lösung beider Probleme: Zwischenblöcke („Spacer“) einfügen:

(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:

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

(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.

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

(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)

(4.3) Reduktion auf WMP blaue Lage passt, weil der linke Block ein-, der rechte ausgebuchtet ist, und der Zwischenblock normal.

(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.

(4.3) Reduktion auf WMP um später Einfügen von Spezialzeichen simulieren zu können: immer zwei Zwischenblöcke zwischen normalen Blöcken

(4.3) Reduktion auf WMP Jetzt zurück zu den Problemen:

(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

(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/3 i

(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.

(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

(4.3) Reduktion auf WMP Rippen in Trennlagen: minimal weniger hoch als die Lage die anderen Rippen: minimal höher als die Lage

(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.

(4.3) Reduktion auf WMP Deshalb ließe sich einer der beiden Blöcke mit ausgetauschten Rippen nicht mehr normal einpassen Die Bewegung stoppte.

(4.3) Reduktion auf WMP Damit alle ungewollten Bewegungen ausgeschlossen. 2DO ist damit eineindeutig simuliert. („=>“ und „<=“) Die Reduktion ist vollständig.

(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.

(4.3) Reduktion auf WMP also: daraus folgt: Problem des Lagerarbeiters 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

(5) Anhang Fragen?

(5) Anhang Danke für die Aufmerksamkeit!