• Keine Ergebnisse gefunden

Berechenbarkeit und Komplexit¨at Vorlesung 4

N/A
N/A
Protected

Academic year: 2022

Aktie "Berechenbarkeit und Komplexit¨at Vorlesung 4"

Copied!
25
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Berechenbarkeit und Komplexit¨at Vorlesung 4

Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7

RWTH Aachen

27. Oktober 2014

(2)

Registermaschinen (RAM) ¨uber N

Programm

b Befehlsz¨ahler

c(0) Akkumulator

c(1)c(2)c(3)c(4) · · · unbeschr¨ankter Speicher

(3)

Erl¨auterung von RAM-Befehlen

LOAD i:c(0) :=c(i),b :=b+ 1;

INDLOAD i:c(0) :=c(c(i)),b :=b+ 1;

CLOADi:c(0) :=i,b :=b+ 1;

STOREi:c(i) :=c(0), b:=b+ 1;

INDSTOREi:c(c(i)) :=c(0), b:=b+ 1;

ADDi:c(0) :=c(0) +c(i),b :=b+ 1;

CADD i:c(0) :=c(0) +i,b :=b+ 1;

INDADD i:c(0) :=c(0) +c(c(i)), b:=b+ 1;

...

DIV i:c(0) :=⌊c(0)/c(i)⌋,b:=b+ 1;

CDIVi:c(0) :=⌊c(0)/i⌋,b:=b+ 1;

INDIV i:c(0) :=⌊c(0)/c(c(i))⌋,b :=b+ 1;

GOTO j:b:=j

IF c(0) =x GOTO j:b:=j fallsc(0) =x, sonst b:=b+ 1;

END.

(4)

Kostenmaße

Modelle f¨ur die Rechenzeit

Uniformes Kostenmaß:Jeder Schritt z¨ahlt eine Zeiteinheit.

Logarithmisches Kostenmaß: Die Laufzeitkosten eines Schrittes sind proportional zur bin¨aren L¨ange der Zahlen in den angesprochenen Registern.

(5)

Simulation RAM durch TM

Satz:

Eine RAM kann durch eine TM simuliert werden:

Ist f : N N RAM-berechenbar, so ist die entsprechende Wort- funktion f¨ur Bin¨ardarstellungen nat¨urlicher Zahlen TM-berechenbar.

Zusatz: Eine im logarithmischen Kostenmaß t(n)-zeitbeschr¨ankte RAM (f¨ur Eingabel¨ange n) kann f¨ur ein Polynom q durch eine O(q(n+t(n)))-zeitbeschr¨ankte TM simuliert werden.

(6)

Simulation RAM durch TM – Beweis

Beweis des Satzes:

Wir verwenden eine 2-Band-TM, die die RAM schrittweise simuliert.

Band 1 wird f¨ur die Rechnungen benutzt.

Band 2 enth¨alt die Nummern der bisher angesprochenen Register und ihre Inhalte.

Das RAM-Programm P bestehe aus p Programmzeilen.

F¨ur jede Programmzeile schreiben wir ein TM-Unterprogramm Mi (0≤ip).

Außerdem spezifizieren wir ein UnterprogrammM0 f¨ur die Initialisierung der TM und Mp+1 f¨ur die Aufbereitung der Ausgabe des Ergebnisses.

(7)

Simulation RAM durch TM – Beweis

Abspeichern derRegistermaschinenkonfigurationauf der TM:

Den Befehlsz¨ahler kann die TM im Zustand abspeichern, da die L¨ange des RAM-Programms konstant ist.

Die Registerinhalte werden wie folgt auf Band 2 abgespeichert:

##0#bin(c(0))##bin(i1)#bin(c(i1))##. . .

. . .##bin(im)#bin(c(im))### , wobei 0,i1, . . . ,im die Indizes der benutzten Register sind.

Die L¨ange des Speicherinhalts auf Band 2 ist durchO(n+t(n)) beschr¨ankt, weil die RAM f¨ur jedes neue Bit, das sie erzeugt, mindestens eine Zeiteinheit ben¨otigt.

(8)

Simulation RAM durch TM – Beweis

Rechenschritt f¨ur Rechenschritt simuliert die TM nun die Konfigurationsver¨anderungen der RAM.

Dazu ruft die TM das im Programmz¨ahlerb angegebene UnterprogrammMb auf.

Das UnterprogrammMb

kopiert den Inhalt der in Programmzeile b angesprochenen Register auf Band 1,

f¨uhrt die notwendigen Operationen auf diesen Registerinhalten durch,

kopiert dann das Ergebnis in das in Zeile b angegebene Register auf Band 2 zur¨uck, und

aktualisiert zuletzt den Programmz¨ahler b.

(9)

Simulation RAM durch TM – Beweis

Laufzeitanalyse:

Die Initialisierung (von Band 2) erfordert ZeitO(n).

Herstellung der Ausgabe (von Band 2 auf Band 1) erfolgt in Zeit O(n+t(n))

Jede RAM-Schritt-Simulation durch ein UnterprogrammMb hat eine Laufzeit, die polynomiell in der L¨angeℓder Bandinschrift auf Band 2 beschr¨ankt ist, also durch ein Polynomp(ℓ).

Ein RAM-Schritt kostet also Zeitp(n+t(n)); dies ist ein Polynom inn.

Somit ist die Gesamtlaufzeit der Simulation beschr¨ankt durch q(n) =t(n)·p(n+t(n)), somit polynomiell in n+t(n).

(10)

Simulation TM durch RAM

Satz:

Jedet(n)-zeitbeschr¨ankte TM kann durch eine RAM simuliert wer- den, die

uniform O(t(n) +n)

logarithmisch O((t(n) +n) log(t(n) +n)) zeitbeschr¨ankt ist.

(11)

Simulation TM durch RAM – Ansatz

Beweis des Satzes:

Wir k¨onnen annehmen, dass die gegebene TM ein einseitig beschr¨anktes Band hat, dessen Zellen mit 0,1,2,3, . . . durchnummeriert sind.

Die Zust¨ande und Zeichen werden ebenfalls durchnummeriert und mit ihren Nummern identifiziert, so dass sie in den Registern abgespeichert werden k¨onnen. Das Zeichen “Blank”

hat Nummer 0.

Register 1 speichert den Index der Kopfposition.

Register 2 speichert den aktuellen Zustand.

Die Register 3,4,5,6, . . .speichern die Inhalte der Bandpositionen 0,1,2,3, . . . .

(12)

Simulation TM durch RAM – Beweis

Die TM wird nun Schritt f¨ur Schritt durch die RAM simuliert.

Auswahl des richtigen TM-¨Ubergangs

Die RAM verwendet eine zweistufigeif-Abfrage:

Auf einer ersten Stufe von |Q|vielen if-Abfragen wird der aktuelle Zustand selektiert.

F¨ur jeden m¨oglichen Zustand, gibt es dann eine zweite Stufe von|Γ|vielenif-Abfragen, die das gelesene Zeichen selektieren.

Durchf¨uhrung des TM-¨Ubergangs

Je nach Ausgang derif-Abfragen aktualisiert die RAM den TM-Zustand in Register 2,

die TM-Bandinschrift in Registerc(1) und die TM-Bandposition in Register 1.

(13)

Laufzeitanalyse im uniformen Kostenmodell

Die Initialisierung kann in Zeit O(n) durchgef¨uhrt werden.

Die Simulation jedes einzelnen TM-Schrittes hat konstante Laufzeit.

Insgesamt ist die Simulationszeit somitO(n+t(n)).

(14)

Laufzeitanalyse im logarithmischen Kostenmodell

Die in den Registern gespeicherten Zahlen repr¨asentieren Zust¨ande, Zeichen und Bandpositionen.

Zust¨ande und Zeichen haben eine konstante Kodierungsl¨ange.

Die Bandpositionen, die w¨ahrend der Simulation angesprochen werden, sind durch max{n,t(n)} ≤n+t(n) beschr¨ankt. Die Kodierungsl¨ange dieser Positionen ist alsoO(log(t(n) +n)).

Damit kann die Simulation jedes einzelnen TM-Schrittes in Zeit O(log(t(n) +n)) durchgef¨uhrt werden.

Insgesamt ergibt sich somit eine Simulationszeit von O((t(n) +n) log(t(n) +n).

(15)

Zusammenfassung

Die Mehrband-TM kann mit quadratischem Zeitverlust durch eine (1-Band) TM simuliert werden.

TM und RAM (mit logarithmischen Laufzeitkosten) k¨onnen sich gegenseitig mit polynomiellem Zeitverlust simulieren.

Wenn es uns also

”nur“ um Fragen der Berechenbarkeit von Problemen (oder um ihre L¨osbarkeit in polynomieller Zeit) geht, k¨onnen wir wahlweise auf die TM, die Mehrband-TM oder die RAM zur¨uckgreifen.

(16)

Zwei Vorschl¨age

Im Jahr 1936 schlugen Alonzo Church (USA) und Alan Turing (England) unabh¨angig voneinander vor, den intuitiven Begriff

“f ist algorithmisch berechenbar”

zu pr¨azisieren:

Church durch den sog. Lambda-Kalk¨ul, Turing durch die Turingmaschine

(beide wechselseitig aufeinander reduzierbar).

(17)

Alan Turing

(18)

Alonzo Church

(19)

Die Church-Turing-These

Church-Turing-These

Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der “im intuitiven Sinne algorithmisch berechenbaren” Funktionen

¨uberein.

Kritisch ist die Implikation:

f im intuitiven Sinne algorithmisch berechenbar

f TM-berechenbar

(20)

Argumente f¨ur die Church-Turing-These

Turings Analyse des Rechenvorgangs Erfahrung seit ¨uber 70 Jahren

Reduktionsm¨oglichkeit von Erweiterungen des TM-Modells auf die Basisform

die Berechnungs¨aquivalenz vieler andersartiger

Programmierformalismen mit dem Modell der Turingmaschine (darunter Lambda-Kalk¨ul, rekursive Funktionen,

Markov-Kalk¨ul, h¨ohere Programmiersprachen)

(21)

Grundannahme f¨ur die folgenden ¨ Uberlegungen

Wir werden die TM-berechenbaren Funktionen mit den im intuitiven Sinne berechenbaren Funktionen identifizieren.

Dabei benutzen wir die Church-Turing-These in zwei Weisen:

Unwesentliche Verwendung:

Behauptung, dass ein gegebener Algorithmus im intuitiven Sinne auch durch eine TM realisierbar ist.

Wesentliche Verwendung:

Behauptung, dass eine nicht TM-berechenbare Funktion durch keinerlei Algorithmus berechenbar ist.

(22)

berechenbar vs. aufz¨ahlbar vs. entscheidbar

Die Church-Turing-These bezieht sich auf Berechenbarkeit.

Wir zeigen enge Zusammenh¨ange zum Begriff der Aufz¨ahlbarkeit und der Entscheidbarkeit.

Diesen Zusammenhang kann man auf intuitiver Ebene oder auf TM-Ebene zeigen.

(23)

Aufz¨ahlbarkeit via Berechenbarkeit

Eine MengeL⊆Σ ist genau dann aufz¨ahlbar,

wenn sie Definitionsbereich einer berechenbaren Funktion f : Σ Σ ist.

(24)

Beweis von ⇒

SeiA ein Algorithmus, derLaufz¨ahlt.

Wir verwendenA in folgendem AlgorithmusB, der eine Funktionf mitDef(f) =Lberechnet:

Bei Eingabe u lasse den Aufz¨ahlungsalgorithmus A so lange laufen, bis er einmal das Wort u als Ausgabe geliefert hat; in diesem Falle terminiere mit Ausgabe ε, ansonsten laufe ohne Termination weiter.

(25)

Beweis von ⇐

SeiA ein Algorithmus, derf : Σ Σ berechnet.

Wir verwendenA in folgendem Algorithmus B, der die Menge Def(f) aufz¨ahlt.

Gehe nach dem Diagonalverfahren alle Kombinationen (Wort wi ausΣ, Schrittzahl j) durch und lasse jeweils den Algorithmus A mit Eingabe wi f¨ur j Schritte laufen.

Immer, wenn dabei festgestellt wird, dass A f¨ur Eingabe wi nachj Schritten terminiert, gebe das jeweilige Wort wi aus.

Referenzen

ÄHNLICHE DOKUMENTE

Welche Funktionen sind durch einen Algorithmus

Falls dieses Zeichen eine 1 ist, so l¨osche es, gehe nach links, und wechsel in den Zustand

Beweis: Die Menge aller TM ¨uber {0, 1} ist abz¨ahlbar, also auch die Menge der TM, die eine Sprache

Trivial sind die Eigenschaften “M hat endlich viele Zust¨ande” oder. “M hat

Wenn wir das Startdomino mit einer Folge von Dominos aus der Liste der erlaubten Dominos derart erg¨anzen, dass der obere String ein Prefix des unteren Strings ist, so.

Wir zeigen jetzt, dass sogar bei der Berechnung totaler Funktionen das while-Konstrukt nicht durch loop ersetzt werden kann.. Dazu betrachten wir

NP ist die Klasse der Entscheidungsprobleme, die durch eine NTM M erkannt werden, deren worst case Laufzeit t M (n) polynomiell beschr¨ankt ist. NP steht dabei f¨ur

CLIQUE ist NP-vollst¨andig... Identifiziere Literale und Knoten, d.h. Zwei Knoten werden durch eine Kante verbunden, wenn.. 1) die assoziierten Literale geh¨oren zu