1 / 145

„Warehouseman's Problem“ ist PSPACE schwer

„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

Télécharger la présentation

„Warehouseman's Problem“ ist PSPACE schwer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Gliederung • Einführung: Was ist „Warehouseman's Problem“? • Vorschau: Weg des Beweises über drei Reduktionen • Grundlage: PSPACE-vollständiges Rewriting-Problem • 3 Reduktionen, aus denen folgt: „Möbelrücken“ ist PSPACE-schwer

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

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

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

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

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

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

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

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

  11. (2) Weg des Beweises

  12. (2) Weg des Beweises Grundlage RWP: PSPACE-vollständiges Rewriting-Problem

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

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

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

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

  17. (3) PSPACE-vollständiges Rewriting-Problem

  18. (3) PSPACE-vollständiges Rewriting-Problem • Zeichenkette: {S=S1S2S3...Sn} mit allen Sm aus einem Alphabet Σ. • Produktionen Pj; jeweils eine der folgenden Formen: AB -> AC oder AB -> CB mit A, B, C ∑.

  19. (3) PSPACE-vollständiges Rewriting-Problem • auf jede Zeichenkette S' genau zwei Produktionen anwendbar: eine der Form AB -> AC, und eine der Form AB -> CB.

  20. (3) PSPACE-vollständiges Rewriting-Problem • 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)

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

  22. (4.1) Reduktion auf TPP

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

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

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

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

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

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

  29. (4.1) Reduktion auf TPP • 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.

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

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

  32. (4.1) Reduktion auf TPP also: A0B1C2D0E1... Jedes Einfügen eines Standardzeichens X0, X1 oder X2 würde die Nachbarschaftsregel verletzen.

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

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

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

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

  37. (4.1) Reduktion auf TPP Realisierung von Verschiebungen: • 3 Sonderzeichen Mi01, Mi12, Mi20 für die i-te Produktionsregel der Gestalt AB -> AC. • 3 Sonderzeichen Nj01, Nj12, Nj20 für die j-te Produktionsregel der Gestalt AB -> CB.

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

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

  40. (4.1) Reduktion auf TPP Also folgendes erlaubt: ...A0B1C2... -> ...A0Mi01B1C2... -> ...A0Mi01C2... -> ...A0Mi01C1C2... -> ...A0C1C2... wenn M der Produktionsregel AB -> AC entspricht. ähnlich bei Nijk

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

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

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

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

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

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

  47. (4.1) Reduktion auf TPP Zur Vollständigkeit: Mi und Nj werden in Klammerpaaren rechts des signifikanten Teils gespeichert. ΛA0B1C2...Γ... [M101][M112][M120]...[Mi01][Mi12][Mi20]... [N101][N112][N120]...[Nj01][Nj12][Nj20]... [A0][A0]...[][A1][A1]...[A2][A2]...[B0][B0]...

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

  49. (4.2) Reduktion auf 2DO

  50. (4.2) Reduktion auf 2DO Verschiebe-Problem für Zeichenketten weit entfernt vom Problem des Lagerarbeiters, weil: „Objekte“ sind abstrakte Zeichen.

More Related