EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 2. ALGORITHMEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2014

Größe: px
Ab Seite anzeigen:

Download "EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 2. ALGORITHMEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2014"

Transkript

1 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester ALGORITHMEN Theoretische Informatik (SoSe 2014) 2. Algorithmen 1 / 53

2 Übersicht 1 Typen von Algorithmen: Entscheidungs-, Aufzählungs- und Berechnungsverfahren 2 Anforderungen an Algorithmen 3 Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit: Alternative Charakterisierungen und Vergleich Theoretische Informatik (SoSe 2014) 2. Algorithmen 2 / 53

3 2.1. Typen von Algorithmen: Entscheidungs-, Aufzählungs- und Berechnungsverfahren Theoretische Informatik (SoSe 2014) 2. Algorithmen 3 / 53

4 Algorithmen Ein Algorithmus (Rechenvorschrift) ist eine Vorschrift zur Lösung eines Problems. Aufgrund der Aufgabenstellung unterscheiden wir verschiedene Typen von Algorithmen. Typen von Problemen / Algorithmen: Entscheidungsprobleme / Entscheidungsverfahren Aufzählungsprobleme / Aufzählungsverfahren Berechnungsprobleme / Berechnungsverfahren Theoretische Informatik (SoSe 2014) 2. Algorithmen 4 / 53

5 Entscheidungsprobleme / Entscheidungsverfahren Entscheidungsproblem: Stelle fest, ob ein aus einer Grundmenge von Daten gegebenes Datum eine gewisse Eigenschaft E hat. Solch ein Problem kann durch eine Sprache L beschrieben werden: L = {x Σ : E(x)} ( Gilt x L? ) Entscheidungsverfahren (EV): Algorithmus zur Lösung eines Entscheidungsproblems L Eingabe: x Σ Ausgabe: JA (falls x L d.h. E(x)) bzw. NEIN (falls x L d.h. E(x)) L ist entscheidbar, wenn es ein Entscheidungsverfahren für L gibt. Theoretische Informatik (SoSe 2014) 2. Algorithmen 5 / 53

6 Anmerkungen zu Entscheidungsverfahren Ist E ein EV für die Sprache L, so nennen wir L die von E akzeptierte oder erkannte Sprache. Wir sagen, dass E das Wort x akzeptiert (verwirft), falls das Verfahren die Antwort JA (NEIN) ausgibt. Oft bezeichnen wir Sprachen auch einfach als Mengen oder Probleme: SPRACHE = MENGE = (ENTSCHEIDUNGS)PROBLEM Probleme über natürliche Zahlen identifizieren wir mit Sprachen, indem wir Zahlen wie folgt unär kodieren: n := 0 n+1 ˆ= n A = {n : n A} = {0 n+1 : n A} ˆ= A Theoretische Informatik (SoSe 2014) 2. Algorithmen 6 / 53

7 Entscheidungsverfahren: Beispiel Die Menge ist entscheidbar. A = {n : n gerade} = {2n : n 0} Entscheidungsverfahren für A (d.h. für A): Eingabe: n (= 0 n+1 ) w := n; while w 2 do begin w := tail(tail(w)) end; if w = 1 then output(ja) else output(nein). Hierbei ist die tail-funktion durch tail(λ) = λ und tail(aw) = w definiert. Theoretische Informatik (SoSe 2014) 2. Algorithmen 7 / 53

8 Aufzählungsprobleme / Aufzählungsverfahren Aufzählungsproblem: Liste alle Daten aus einer Grundmenge mit einer gewissen Eigenschaft E auf. Solch ein Problem kann (wie ein Entscheidungsproblem) durch eine Sprache L beschrieben werden: L = {x Σ : E(x)} Aufzählungsverfahren (AV): Algorithmus zur Lösung eines Aufzählungsproblems L = {x Σ : E(x)} Eingabe: keine Ausgabe: Alle Wörter mit Eigenschaft E, aufgelistet in beliebiger (!) Reihenfolge (und evtl. mit Wiederholungen). L ist aufzählbar, wenn es ein Aufzählungsverfahren für L gibt. Theoretische Informatik (SoSe 2014) 2. Algorithmen 8 / 53

9 Spezielle Aufzählungsverfahren Ein monotones AV gibt die Wörter der Grösse nach geordnet (bzgl. der Längen-lexikographischen Ordnung) aus. L ist monoton aufzählbar, wenn es ein monotones Aufzählungsverfahren für L gibt. Die monotone Aufzählbarkeit für Zahlmengen ist entsprechend definiert (NB: m < n m < n). Theoretische Informatik (SoSe 2014) 2. Algorithmen 9 / 53

10 Spezielle Aufzählungsverfahren: Beispiel Die Menge ist monoton aufzählbar. A = {n : n gerade} = {2n : n 0} Monotones Aufzählungsverfahren für A: w := 0 (= 0); while 1 = 1 do begin output(w); w := w0 2 end. Theoretische Informatik (SoSe 2014) 2. Algorithmen 10 / 53

11 Berechnungsprobleme / Berechnungsverfahren Berechnungsproblem: Ordne den Daten aus einer Grundmenge andere Daten zu. Solch ein Problem kann (im 1-dim. Fall) durch eine Wortfunktion f : Σ T beschrieben werden (Σ,T Alphabete). Berechnungsverfahren (BV): Algorithmus zur Lösung eines Berechnungsproblems f : Σ T Eingabe: x Σ Ausgabe: f (x) f ist berechenbar, wenn es ein Berechnungsverfahren für f gibt. Theoretische Informatik (SoSe 2014) 2. Algorithmen 11 / 53

12 Berechnungsverfahren: Beispiel (1) Die (2-stellige) Addition ist berechenbar. f : N N N f (m,n) = m + n Berechnungsverfahren für f mit f (m,n) = m + n: Eingabe: x,y {0} + z := tail(xy); output(z). BEMERKUNG: Damit für eine (n-st.) Zahlfunktionen f die Wortfunktion f überall definiert ist, setzen wir f (w 1,...,w i 1,λ,w i+1,...,w n ) = λ (was wir in den Beispielen aber einfachheitshalber meist nicht berücksichtigen). Theoretische Informatik (SoSe 2014) 2. Algorithmen 12 / 53

13 Berechnungsverfahren: Beispiel (2) Die (2-stellige) Multiplikation ist berechenbar. g : N N N g(m,n) = m n Berechnungsverfahren für g mit g(m,n) = m n: Eingabe: x,y {0} + z := 0 (= 0) while y > 1 do begin z := z tail(x); y := tail(y) end; output(z). Theoretische Informatik (SoSe 2014) 2. Algorithmen 13 / 53

14 Partielle Funktionen Eine partielle Wortfunktion ϕ : Σ T ist eine Funktion ϕ : D T wobei D Σ. D heisst der Definitionsbereich von ϕ und wird mit Db(ϕ) bezeichnet. Notation: ϕ(x) (ϕ(x) definiert), falls x Db(ϕ) ϕ(x) (ϕ(x) undefiniert), falls x Db(ϕ) NB Eine partielle Funktion ϕ : Σ T ist total, falls Db(ϕ) = Σ gilt. Totale Funktionen sind also Spezialfälle der partiellen Funktionen. Theoretische Informatik (SoSe 2014) 2. Algorithmen 14 / 53

15 Partielle Berechnungsverfahren Ein Berechnungsverfahren zur Berechnung einer partiellen Funktion heisst partielles Berechnungsverfahren: Partielles Berechnungsverfahren (PBV) : Algorithmus zur Lösung eines partiellen Berechnungsproblems ϕ : Σ T Eingabe: x Σ Ausgabe: ϕ(x), falls ϕ(x) (sonst keine Ausgabe) NB. Ist ϕ(x) undefiniert, so muss das PBV nicht terminieren, d.h. kann möglicherweise unendlich lange rechnen. ϕ ist partiell berechenbar, wenn es ein partielles Berechnungsverfahren für ϕ gibt. NB. Ist ϕ total, so ist ein PBV für ϕ ein BV: Für totale Funktionen stimmt die partielle Berechenbarkeit mit der Berechenbarkeit überein! Theoretische Informatik (SoSe 2014) 2. Algorithmen 15 / 53

16 Partielle Berechnungsverfahren: Beispiel Die Primzahlzwillingfunktion pzzf : N N ordnet jeder Zahl n 0 die kleinste ungerade Zahl m > 2n zu, sodass m und m + 2 Primzahlen sind (d.h. (m, m + 2) ist der kleinste Primzahlzwilling oberhalb von 2n). Die Funktion pzzf ist partiell berechenbar. Es ist aber nicht bekannt, ob es unendlich viele Primzahlzwillinge gibt, und daher nicht bekannt, ob pzzf total (und damit auch total berechenbar) ist. Partielles Berechnungsverfahren für pzzf (unter Verwendung des Primzahltests PZT; vgl. Übungen): Eingabe: x (= n) {0} + y := xx (= 2n + 1); while PZT(y) PZT(y00) do begin y := y00 end; output(y). NB: Sollte es keinen Primzahlzwilling oberhalb von 2n geben, wird die Schleife unendlich oft durchlaufen und das Verfahren terminiert nicht. Theoretische Informatik (SoSe 2014) 2. Algorithmen 16 / 53

17 Algorithmen für mehrdimensionale Probleme Die eingeführten Algorithmen-Begriffe lassen sich leicht auf mehrdimensionale (homogene oder inhomogene) Probleme übertragen: L Σ... Σ L Σ 1... Σ n f : Σ... Σ Σ f : Σ 1... Σ n Σ n+1 Wir überlassen die Definition als Übung! Theoretische Informatik (SoSe 2014) 2. Algorithmen 17 / 53

18 2.2. Anforderungen an Algorithmen Theoretische Informatik (SoSe 2014) 2. Algorithmen 18 / 53

19 Anforderungen an Algorithmen (1) Ein Algorithmus ist eine Rechenvorschrift, die im Prinzip rein mechanisch ausgeführt werden kann, und u.a. folgenden Anforderungen genügt: Finitheit: Die Beschreibung des Verfahrens ist endlich. Determiniertheit: Das Ergebnis hängt nur von der Eingabe (für Verfahren mit Eingabe) und nicht von anderen (äußeren) Einflüssen ab. Effektivität: Das Verfahren ist tatsächlich durchführbar. Theoretische Informatik (SoSe 2014) 2. Algorithmen 19 / 53

20 Anforderungen an Algorithmen (2) Sequentialität: Die Rechnung besteht aus einer Folge von elementaren Rechenschritten, die nacheinander ausgeführt werden. Determinismus: Die Reihenfolge der Schritte ist eindeutig festgelegt. In jedem Einzelschritt wird eine elementare Operation (aus einem endlichen Vorrat vorgegebener Operationen) ausgeführt. Jede dieser Operationen kann effektiv, in endlicher Zeit ausgeführt werden ( Effektivität). Die hier genannten Anforderungen erfüllt ein klassischer Algorithmus oder - wie man auch sagt - deterministischer sequentieller Algorithmus. Im Folgenden steht Algorithmus für klassischen Algorithmus. Mitunter wird der Algorithmenbegriff jedoch so erweitert, dass nicht alle obigen Eigenschaften gefordert werden ( nichtklassische Algorithmen; s.u.). Theoretische Informatik (SoSe 2014) 2. Algorithmen 20 / 53

21 Anforderungen an Algorithmen (3) Eine weitere, häufig genannte Anforderung an Algorithmen ist die Terminierung: Der Algorithmus stoppt nach endlich vielen Schritten. Entscheidungs- und Berechnungsverfahren müssen dieser Forderung genügen. Partielle Berechnungsverfahren und Aufzählungsverfahren terminieren dagegen i.a. nicht: Ein Aufzählungsverfahren für eine unendliche Menge kann nicht terminieren, da es eine unendliche Aufgabe erfüllen muss. Ein partielles Berechnungsverfahren für eine partielle Funktion ϕ muss bei Eingabe x nur dann terminieren, wenn ϕ(x) definiert ist. Theoretische Informatik (SoSe 2014) 2. Algorithmen 21 / 53

22 Folgerungen aus den Anforderungen Alles was ein Algorithmus in einer vorgegebenen Anzahl von Schritten macht, kann man effektiv erkennen. D.h. die folgenden Probleme sind entscheidbar (V EV oder BV, A AV): H b V = {(x,n) : V terminiert bei Eingabe x in n Schritten} G b V = {(x,y,n) : V terminiert bei Eingabe x in n Schritten und gibt y aus} WA b = {(x,n) : A gibt innerhalb der ersten n Schritte x aus} NB: Dagegen ist nicht klar, ob man für einen Algorithmus entscheiden kann, ob er bei einer Eingabe terminiert! (Wir werden später sehen, dass dies in der Tat i.a. nicht entscheidbar ist!) Theoretische Informatik (SoSe 2014) 2. Algorithmen 22 / 53

23 EXKURS: Nichtklassische Algorithmen (1) Parallele und verteilte Algorithmen : Der Algorithmus wird von mehreren Prozessoren oder Rechnern gleichzeitig bearbeitet (nicht sequentiell). Die Rechenschritte werden also nicht stets nacheinander, sondern mitunter mehrere Schritte gleichzeitig von den beteiligten Prozessoren/Rechnern ausgeführt. Nichtdeterministische Algorithmen: Die Schrittfolge wird durch die Eingabe nicht eindeutig festgelegt. Nichtdeterministische Algorithmen können determiniert sein, müssen dies aber nicht sein. Häufig betrachtet man nichtdeterministische nichtdeterminierte EVs. Um für diese ein eindeutig bestimmtes Ergebnis zu erhalten, legt man fest: Eine Eingabe x wird akzeptiert (d.h. x L), wenn mindestens eine der möglichen Rechnungen akzeptiert. Probabilistische Algorithmen: Der jeweils nächste Rechenschritt wird durch ein Zufallsexperiment (Münzwurf, Würfeln) festgelegt. Determiniertheit erhält man hier dadurch, dass man Akzeptanz durch Mehrheitsentscheidung definiert. Theoretische Informatik (SoSe 2014) 2. Algorithmen 23 / 53

24 EXKURS: Nichtklassische Algorithmen (2) Weitere nichtklassische Rechenverfahren: Quantenalgorithmen (Ausnutzung von Phänomenen der Quantenphysik) Bio-Algorithmen (z.b. Ameisenkolonien als Rechenmaschinen) DNA-Algorithmen (Züchtung der Lösungen im Labor)... Man überlegt sich (in den meisten Fällen sehr leicht), dass die oben angegebenen nichtklassischen Algorithmen nicht mächtiger sind als die klassischen Algorithmen. Interessant sind sie dennoch, da sie möglicherweise effizienter (schneller) sind! Wir werden hierauf in dem Vorlesungsteil zur Komplexitätstheorie ausführlicher zurückkommen, betrachten hier zunächst nur ein Beispiel. Theoretische Informatik (SoSe 2014) 2. Algorithmen 24 / 53

25 EXKURS: Nichtklassische Algorithmen (3) BEISPIEL EINES NICHTDETERMINISTISCHEN ALGORITHMUS PROBLEM: Erfüllbarkeitsproblem für aussagenlogische Formeln EINGABE: Aussagenlogische Formel ϕ(x 1,...,x n ). FRAGE: Gibt es eine Belegung B : {x 1,...,x n } {W,F} der Variablen in ϕ, die die Formel ϕ wahrmacht? NICHTDETERMINISTISCHES ENTSCHEIDUNGSVERFAHREN: Eingabe: ϕ(x 1,...,x n ) for i=1,..., n do begin b i := W F end; if w(ϕ(b 1,...,b n )) = W then output(ja) else output(nein). LAUFZEIT: Quadratisch (oder besser). Alle bekannten deterministischen Entscheidungsverfahren haben dagegen exponentielle Laufzeit. Theoretische Informatik (SoSe 2014) 2. Algorithmen 25 / 53

26 2.3. Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit: Alternative Charakterisierungen und Vergleich Theoretische Informatik (SoSe 2014) 2. Algorithmen 26 / 53

27 Ziele Als nächstes wollen wir die grundlegenden Begriffe der Berechenbarkeitstheorie, d.h. Entscheidbarkeit Aufzählbarkeit (partielle) Berechenbarkeit etwas näher betrachten und die bestehenden Beziehungen zwischen diesen Konzepten aufzeigen. Wir werden zeigen, dass auf jedes der drei Konzepte die übrigen beiden Konzepte zurückgeführt werden können. Da wir es sowohl mit Mengen (Entscheidbarkeit, Aufzählbarkeit) als auch mit (partiellen) Funktionen ((partielle) Berechenbarkeit) zu tun haben, erinnern wir uns zunächst, wie man Mengen durch Funktionen und Funktionen durch Mengen darstellen kann. Theoretische Informatik (SoSe 2014) 2. Algorithmen 27 / 53

28 Mengen vs. Funktionen (1) Darstellung von Mengen durch totale sowie partielle Funktionen: Charakteristische Funktion c A einer Menge (Sprache) A: { 1 falls x A c A (x) = 0 falls x A NB: A = {x : c A (x) = 1} Partielle charakteristische Funktion χ A einer Menge (Sprache) A: { 1 falls x A χ A (x) = falls x A NB: A = {x : χ A (x) } = {x : χ A (x) = 1} Theoretische Informatik (SoSe 2014) 2. Algorithmen 28 / 53

29 Mengen vs. Funktionen (2) Darstellung von (partiellen) Funktionen durch Mengen: Graph G ϕ einer partiellen Funktion ϕ : G ϕ = Graph(ϕ) = {(x,ϕ(x)) : ϕ(x) } NB: ϕ(x) = µ y [(x,y) G ϕ ] Hierbei: µ y [...] = { kleinstes y mit... falls solch ein y existiert sonst. Theoretische Informatik (SoSe 2014) 2. Algorithmen 29 / 53

30 Entscheidbare Sprachen Theoretische Informatik (SoSe 2014) 2. Algorithmen 30 / 53

31 Entscheidbare Mengen (1) A endlich A entscheidbar BEWEIS: Lege eine endliche Tabelle der Elemente von A an und prüfe bei Eingabe x, ob x in der Tabelle vorkommt. A entscheidbar Ā entscheidbar BEWEIS: Vertausche in EV für A JA- und NEIN-Antworten. A entscheidbar c A berechenbar BEWEIS: Ersetze in EV für A JA- und NEIN-Antworten durch 1 bzw. 0 (und umgekehrt). Theoretische Informatik (SoSe 2014) 2. Algorithmen 31 / 53

32 Entscheidbare Mengen (2) A entscheidbar A monoton aufzählbar BEWEIS : n := 0; while n 0 do begin if w n A then output(w n ); n := n+1 end. Hierbei wird w n A? mit Hilfe des vorausgesetzten EV für A entschieden. BEWEIS : O.B.d.A. ist A unendlich. Um zu entscheiden, ob x A, simuliere das monotone AV für A bis es erstmals x ( JA) oder ein Wort y > x ( NEIN) ausgibt. NB: Für den Beweis von ist es wesentlich, dass das AV monoton ist! Theoretische Informatik (SoSe 2014) 2. Algorithmen 32 / 53

33 Entscheidbare Mengen (3) A entscheidbar A und Ā aufzählbar BEWEIS : Diese Richtung folgt aus den vorhergehenden Beobachtungen: A entscheidbar A monoton aufzählbar A aufzählbar A entscheidbar Ā entscheidbar BEWEIS : Um zu entscheiden, ob x A, simuliere parallel die Aufzählungsverfahren A und A für A bzw. Ā bis eines der Verfahren x ausgibt. Gebe JA aus, falls A x ausgibt, sonst NEIN. NB. Es folgt insbesondere, dass jede entscheidbare Sprache aufzählbar ist. Wir werden später zeigen, dass die Umkehrung nicht gilt, d.h. dass es aufzählbare Sprachen gibt, die unentscheidbar sind. Theoretische Informatik (SoSe 2014) 2. Algorithmen 33 / 53

34 Charakterisierungen Entscheidbarer Sprachen Die vorhergehenden Beobachtungen lassen sich wie folgt zusammenfassen: A entscheidbar A entscheidbar c A berechenbar A monoton aufzählbar A und A aufzählbar Theoretische Informatik (SoSe 2014) 2. Algorithmen 34 / 53

35 Aufzählbare Sprachen Theoretische Informatik (SoSe 2014) 2. Algorithmen 35 / 53

36 Aufzählbarkeit vs. partielle Entscheidbarkeit (1) Die aufzählbaren Sprachen lassen sich auf viele Arten beschreiben. Wir beginnen mit der partiellen Entscheidbarkeit. Eine Sprache A ist partiell entscheidbar (oder einseitig entscheidbar), wenn sie ein partielles Entscheidungsverfahren (PEV) besitzt, d.h. es einen Algorithmus gibt, der bei Eingabe x die Ausgabe JA liefert, falls x in A liegt, und andernfalls keine Ausgabe liefert (und evtl. auch nicht terminiert). N.B. A entscheidbar A partiell entscheidbar. Theoretische Informatik (SoSe 2014) 2. Algorithmen 36 / 53

37 Aufzählbarkeit vs. partielle Entscheidbarkeit (2) A aufzählbar A partiell entscheidbar BEWEIS : Um x A? partiell zu entscheiden, simuliere das AV von A bis dieses x ausgibt. Wenn dies geschieht, gebe JA aus und stoppe. (Liegt x nicht in A, so terminiert dieses Verfahren nicht und liefert keine Ausgabe.) BEWEIS : Sei P ein partielles EV für A. Ein AV für A arbeitet wie folgt ( Dove Tailing Argument ): n := 0; while n 0 do begin for m = 0,...,n do begin if (P akzeptiert w m in n Schritten) then output(w m ) end; n := n+1 end. Theoretische Informatik (SoSe 2014) 2. Algorithmen 37 / 53

38 Aufzählbarkeit vs. partielle Berechenbarkeit (1) A aufzählbar χ A partiell berechenbar BEWEIS: Da A genau dann aufzählbar ist, wenn A partiell entscheidbar ist, genügt es ein PEV für A in ein PBV für χ A umzuwandeln (und umgekehrt). Hierzu genügt es die Ausgabe JA durch die Ausgabe 1 zu ersetzen (und umgekehrt). A aufzählbar A Definitionsbereich einer partiell berechenbaren Funktion BEWEIS : A = Db(χ A ) BEWEIS : Sei A = Db(ϕ) und B ein PBV für ϕ. Man erhält hieraus ein partielles Berechnungsverfahren für χ A, indem man alle Ausgaben durch 1 ersetzt. Theoretische Informatik (SoSe 2014) 2. Algorithmen 38 / 53

39 Aufzählbare Mengen: Projektionslemma (1) Für die nächste Charakterisierung der aufzählbaren Mengen benötigen wir den Begriff der Projektion: Eine n-st. Menge A ist die Projektion der (n + 1)-st. Menge B, falls gilt: x A y (( x,y) B) Theoretische Informatik (SoSe 2014) 2. Algorithmen 39 / 53

40 Aufzählbare Mengen: Projektionslemma (2) A aufzählbar A Projektion einer (2-dim) entscheidbaren Menge B BEWEIS : Für ein AV A von A definiere B = {(x,n) : x wird von A innerhalb der ersten n Schritte aufgezählt}. BEWEIS : Sei A die Projektion der entscheidbaren Menge B. Dann ist A der Definitionsbereich der partiell berechenbaren Funktion { kleinstes y mit (x,y) B falls ex. ϕ(x) = sonst Theoretische Informatik (SoSe 2014) 2. Algorithmen 40 / 53

41 Aufzählbare Mengen = effektive Suchprobleme Die Charakterisierung der aufzählbaren Probleme als Projektionen entscheidbarer Mengen zeigt: Aufzählbare Probleme sind Suchprobleme, bei denen der Suchraum unbeschränkt ist und die Korrektheit von Lösungen (=Zeugen) entscheidbar ist: Aufzählbares Problem = Unbeschränktes effektives Suchproblem (Nämlich ist A die Projektion der Menge B, so ist B die Lösungsmenge für A, d.h. y ist ein Zeuge für die Tatsache, dass x A gilt, genau dann, wenn (x,y) B gilt.) Theoretische Informatik (SoSe 2014) 2. Algorithmen 41 / 53

42 Aufzählbare Mengen = effektive Suchprobleme: Beispiele (1) Halteproblem für ein (partielles) EV oder BV A: Suche den Schritt s, bei dem A bei Eingabe x terminiert. Beweisbarkeitsproblem für eine mathematische Theorie: Suche einen Beweis B für den gegebenen Satz ϕ. Postsches Korrespondenzproblem: Gegeben eine Folge von Wortpaaren (x 1,y 1 ),...,(x n,y n ) suche eine Folge k 1,...,k m mit x k1...x km = y k1...y km. Theoretische Informatik (SoSe 2014) 2. Algorithmen 42 / 53

43 Aufzählbare Mengen = effektive Suchprobleme: Beispiele (2) Lösbarkeit Diophantischer Gleichungssysteme: Gegeben eine endliche Folge von k-stelligen Polynomgleichungen mit ganzzahligen Koeffizienten P 1 ( x ) = 0,...,P m ( x ) = 0 Suche eine gemeinsame ganzzahlige Lösung x Z k. (= 10. Hilbertsches Problem) Dies sind alles Beispiele für unbeschränkte effektive Suchprobleme, d.h. aufzählbare Probleme. Keines dieser Probleme ist jedoch (stets) entscheidbar! (Wir werden dies z.t. später zeigen.) Theoretische Informatik (SoSe 2014) 2. Algorithmen 43 / 53

44 Aufzählbare Mengen: Aufzählungsfunktionen A aufzählbar A = /0 oder A ist der Wertebereich einer (totalen) berechenbaren Funktion f f nennt man eine Aufzählungsfunktion von A BEWEIS : Ist A endlich aber nicht leer, d.h. A = {x 0,...,x m }, definiert man f durch f (n) = x n für n m und f (n) = x m sonst. Ist A unendlich, definiert man f (n) = n-tes von A ausgegebenes Wort, wobei A ein AV für A ist. BEWEIS : Ein AV für A berechnet induktiv die Werte f (x 0 ), f (x 1 ), f (x 2 ),... und gibt diese aus. Ähnlich lässt sich zeigen (Übung!): A aufzählbar A endlich oder A ist der Wertebereich einer (totalen) berechenbaren injektiven Funktion f A aufzählbar A ist der Wertebereich einer partiell berechenbaren Funktion ϕ Theoretische Informatik (SoSe 2014) 2. Algorithmen 44 / 53

45 Charakterisierungen Aufzählbarer Sprachen Die vorhergehenden Beobachtungen lassen sich wie folgt zusammenfassen: A aufzählbar A partiell (d.h. einseitig) entscheidbar χ A partiell berechenbar A Definitionsbereich einer part. berechenbaren Funktion A Projektion einer entscheidbaren (2-dim.) Menge A Wertebereich einer partiell berechenbaren Funktion A = /0 oder A Wertebereich einer totalen berechenbaren Funktion A endlich oder A Wertebereich einer totalen berechenbaren injektiven Funktion Theoretische Informatik (SoSe 2014) 2. Algorithmen 45 / 53

46 (Partiell) Berechenbare Funktionen Theoretische Informatik (SoSe 2014) 2. Algorithmen 46 / 53

47 Graphenlemma für partiell berechenbare Funktionen Für partielle Funktionen ϕ gilt: ϕ partiell berechenbar Graph(ϕ) aufzählbar BEWEIS : Für ein PBV B für ϕ ist die Menge GB b = {(x,y,n) : B terminiert bei Eingabe x in n Schritten und gibt y aus} entscheidbar und Graph(ϕ) ist die Projektion (entlang der 3. Komponente) dieser Menge. BEWEIS ( ): Ein AV A für Graph(ϕ) lässt sich in folgendes PBV B für ϕ umwandeln: Bei Eingabe x simuliere A bis dieses ein Paar (x,y) mit erster Komponente x ausgibt. (Geschieht dies nie, so terminiert B nicht und gibt nichts aus.) Gebe y aus. Theoretische Informatik (SoSe 2014) 2. Algorithmen 47 / 53

48 Graphenlemma für totale berechenbare Funktionen Für totale Funktionen f gilt: (1) f berechenbar (2) Graph(f ) entscheidbar (3) Graph(f ) aufzählbar (1) (3): Bereits gezeigt. (2) (3): Trivial, da jede entscheidbare Menge aufzählbar ist. (3) (2): Ein AV A für Graph(f ) lässt sich in folgendes EV für Graph(f ) umwandeln: Bei Eingabe (x,y) simuliere A bis dieses ein Paar (x,y ) mit erster Komponente x ausgibt. Gilt y = y so akzeptiere (x,y). Andernfalls verwerfe (x, y). (Man beachte, dass dieses Verfahren wegen der Totalität von f terminiert! Es gibt nämlich zu jedem x (genau) ein y mit (x,y) Graph(f ), nämlich y = f (x).) Theoretische Informatik (SoSe 2014) 2. Algorithmen 48 / 53

49 Beziehungen zwischen den Konzepten (Zusammenfassung) Theoretische Informatik (SoSe 2014) 2. Algorithmen 49 / 53

50 Rückführung der Entscheidbarkeit auf Aufzählbarkeit und Berechenbarkeit: A entscheidbar A und A aufzählbar A entscheidbar c A berechenbar Theoretische Informatik (SoSe 2014) 2. Algorithmen 50 / 53

51 Rückführung der Aufzählbarkeit auf Berechenbarkeit und Entscheidbarkeit: A aufzählbar A Definitionsbereich einer partiell berechenbaren Funktion A Wertebereich einer partiell berechenbaren Funktion A = /0 oder A Wertebereich einer berechenbaren Funktion A aufzählbar A Projektion einer entscheidbaren Menge Theoretische Informatik (SoSe 2014) 2. Algorithmen 51 / 53

52 Rückführung der Berechenbarkeit auf Aufzählbarkeit und Entscheidbarkeit: f berechenbar G f entscheidbar G f aufzählbar ϕ part. berechenbar G ϕ aufzählbar Theoretische Informatik (SoSe 2014) 2. Algorithmen 52 / 53

53 Abschliessende Bemerkungen Als Nächstes werden wir die Begriffe der (partiellen) Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit formalisieren. Wegen der gerade gezeigten Beziehungen zwischen diesen Konzepten genügt es hierzu den Begriff der (partiellen) Berechenbarkeit zu formalisieren. Die formalen Entscheidbarkeits- und Aufzählbarkeitsbegriffe erhalten wir dann durch folgende Festlegungen: Eine Menge A ist im formalen Sinne entscheidbar, wenn die charakteristische Funktion c A von A im formalen Sinne berechenbar ist. Eine Menge A ist im formalen Sinne aufzählbar, wenn diese der Definitionsbereich einer im formalen Sinne partiell berechenbaren Funktion ist. Theoretische Informatik (SoSe 2014) 2. Algorithmen 53 / 53

2. Algorithmen. 2.1 Typen von Algorithmen: Entscheidungs-, Aufzählungs- und Berechnungsverfahren. 2.2 Anforderungen an Algorithmen

2. Algorithmen. 2.1 Typen von Algorithmen: Entscheidungs-, Aufzählungs- und Berechnungsverfahren. 2.2 Anforderungen an Algorithmen 2. Algorithmen 2.1 Typen von Algorithmen: Entscheidungs-, Aufzählungs- und Berechnungsverfahren 2.2 Anforderungen an Algorithmen 2.3 Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit: Alternative Charakterisierungen

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 2. ALGORITHMEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 2. ALGORITHMEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 2. ALGORITHMEN Theoretische Informatik (SoSe 2011) 2. Algorithmen 1 / 51 Übersicht 1 Typen von Algorithmen: Entscheidungs-,

Mehr

2. Algorithmen: Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit

2. Algorithmen: Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit 2. Algorithmen: Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit Ein Algorithmus (Rechenvorschrift) ist eine Vorschrift zur Lösung eines Problems. Solch ein Problem wird i. Allg. unendlich viele Instanzen

Mehr

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10 Kapitel 1.4 Exkurs: Entscheidbarkeit und Komplexität Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10 Algorithmen Ein Algorithmus oder eine Rechenvorschrift ist ein effektives

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Entscheidungsprobleme Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge U Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen Kapitel 1: rekursive Mengen 1 rekursive Mengen 1.1 Definition 1.1.1 informal Eine Menge heißt rekursiv oder entscheidbar, wenn ihre charakteristische Funktion berechenbar ist. 1.1.2 formal Eine Menge A

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 9. Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit 9.1 Grundbegriffe bereits gezeigt: Spracherkennung durch Turingmaschine = Berechnung der semi-charakteristischen

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge M Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

2.5 Halteproblem und Unentscheidbarkeit

2.5 Halteproblem und Unentscheidbarkeit 38 25 Halteproblem und Unentscheidbarkeit Der Berechenbarkeitsbegriff ist auf Funktionen zugeschnitten Wir wollen nun einen entsprechenden Begriff für Mengen einführen Definition 255 Eine Menge A Σ heißt

Mehr

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17.November 2011 INSTITUT FÜR THEORETISCHE 0 KIT 17.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ). Beweis: Für jedes a Σ muss jede Position in der Tabelle nur konstant oft besucht werden.

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1

Kapitel 1.3. Normalformen aussagenlogischer Formeln. Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Kapitel 1.3 Normalformen aussagenlogischer Formeln Mathematische Logik (WS 2010/11) Kapitel 1.3: Normalformen 1 / 1 Boolesche Formeln, Literale und Klauseln Eine Boolesche Formel ist eine aussagenlogische

Mehr

Grundlagen der Programmierung (Vorlesung 24)

Grundlagen der Programmierung (Vorlesung 24) Grundlagen der Programmierung (Vorlesung 24) Ralf Möller, FH-Wedel Vorige Vorlesung Anwendung im Bereich Compilerbau Inhalt dieser Vorlesung Turing-Maschinen Berechenbarkeitstheorie, Halteproblem Lernziele

Mehr

Theoretische Informatik SS 03 Übung 3

Theoretische Informatik SS 03 Übung 3 Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige

Mehr

Klausur zur Vorlesung Mathematische Logik

Klausur zur Vorlesung Mathematische Logik Universität Heidelberg 13. Februar 2014 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Mathematische Logik Musterlösung Aufgabe 1 (Aussagenlogik

Mehr

Einführung in die Theoretische Informatik Tutorium IX

Einführung in die Theoretische Informatik Tutorium IX Einführung in die Theoretische Informatik Tutorium IX Michael R. Jung 16. & 17. 12. 2014 EThI - Tutorium IX 1 1 Entscheidbarkeit, Semi-Entscheidbarkeit und Unentscheidbarkeit 2 EThI - Tutorium IX 2 Definitionen

Mehr

Ein Induktionsbeweis über Schuhgrößen

Ein Induktionsbeweis über Schuhgrößen Was ist FALSCH an folgendem Beweis? Behauptung: Ein Induktionsbeweis über Schuhgrößen Alle Teilnehmer dieser Vorlesung haben gleiche Schuhgröße. Wir formalisieren diese Aussage, um einen Induktionsbeweis

Mehr

1 Algorithmische Grundlagen

1 Algorithmische Grundlagen 1 Algorithmische Grundlagen Klocke/17.03.2003 1.1 1.1 Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/17.03.2003

Mehr

Reduktion / Hilberts 10. Problem

Reduktion / Hilberts 10. Problem Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

14. Rekursiv aufzählbare Mengen

14. Rekursiv aufzählbare Mengen 14. Rekursiv aufzählbare Mengen In diesem Abschnitt fassen wir einige Eigenschaften der rekursiv aufzählbaren d.h. der nach Churchscher These (effektiv) aufzählbaren Mengen zusammen. In Korollar 11.8 haben

Mehr

Die Reduktion Hilberts 10. Problem

Die Reduktion Hilberts 10. Problem Die Reduktion Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 8. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Rekursive Aufzählbarkeit Die Reduktion

Rekursive Aufzählbarkeit Die Reduktion Rekursive Aufzählbarkeit Die Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Logik und Beweisbarkeit

Logik und Beweisbarkeit Logik und Beweisbarkeit VL 10 Martin Mundhenk Univ. Jena, Institut für Informatik 22. Januar 2019 Vorlesung 11: Beweissysteme 3. Berechenbarkeitstheorie VL08: URM-berechenbare Funktionen und die These

Mehr

3 Reihen. 3.1 Konvergenz und Divergenz. Die Eindeutigkeit nach Satz 13 ergibt schließlich (5). (6) folgt aus (2) und (1) wegen. 1 a +log ba.

3 Reihen. 3.1 Konvergenz und Divergenz. Die Eindeutigkeit nach Satz 13 ergibt schließlich (5). (6) folgt aus (2) und (1) wegen. 1 a +log ba. Die Eindeutigkeit nach Satz 3 ergibt schließlich (5). (6) folgt aus (2) und () wegen Aussage (7) ergibt sich aus () und (6). 0 = log b = log b ( a a) = log b a +log ba. 3 Reihen 3. Konvergenz und Divergenz

Mehr

Unentscheidbarkeit. 1. Wann sind Sprachen unentscheidbar? 1, A 0, A } = {

Unentscheidbarkeit. 1. Wann sind Sprachen unentscheidbar? 1, A 0, A } = { Unentscheidbarkeit 1. Wann sind Sprachen unentscheidbar? Eine Menge A heisst entscheidbar, falls die charakteristische Funktion von A, nämlich A : {0,1}, berechenbar ist, d.h. gilt: A = { 1, A 0, A } Eine

Mehr

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit Semi-Entscheidbarkeit und rekursive Aufzählbarkeit Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Induktive Definitionen

Induktive Definitionen Priv.-Doz. Dr.rer.nat.habil. Karl-Heinz Niggl Technische Universität Ilmenau Fakultät IA, Institut für Theoretische Informatik Fachgebiet Komplexitätstheorie und Effiziente Algorithmen J Induktive Definitionen

Mehr

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

Allgemeines Halteproblem Hilberts 10. Problem

Allgemeines Halteproblem Hilberts 10. Problem Allgemeines Halteproblem Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 15. Ackermannfunktion Malte Helmert Gabriele Röger Universität Basel 28. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale Sprachen III. Berechenbarkeitstheorie

Mehr

6. Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen

6. Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen 6. Rekursive und primitiv rekursive Funktionen Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen IDEE: Definiere eine Klasse von (partiell) berechenbaren Funktionen über N

Mehr

2 Rationale und reelle Zahlen

2 Rationale und reelle Zahlen 2 reelle Es gibt Mathematik mit Grenzwert (Analysis) und Mathematik ohne Grenzwert (z.b Algebra). Grenzwerte existieren sicher nur dann, wenn der Zahlbereich vollständig ist, also keine Lücken aufweist

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Wiederholung Eine Menge von Vektoren a 1, a 2,, a k heisst linear unabhängig, wenn eine Linearkombination c 1 a 1 + c 2 a 2 + + c k a k = k c i a i (1) i=1 nur dann Null sein

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit

Mehr

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,

Mehr

1 Varianten von Turingmaschinen

1 Varianten von Turingmaschinen 1 Varianten von Turingmaschinen Es gibt weitere Definitionen für Turingmaschinen. Diese haben sich aber alle als äquivalent herausgestellt. Ein wiederkehrendes Element der Vorlesung: Äquivalenz von Formalismen

Mehr

Halteproblem/Kodierung von Turing-Maschinen

Halteproblem/Kodierung von Turing-Maschinen Halteproblem/Kodierung von Turing-Maschinen Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblem unentscheidbar ist. Halteproblem (informell) Eingabe: Turing-Maschine M mit Eingabe w. Frage:

Mehr

Unvollständigkeit der Arithmetik

Unvollständigkeit der Arithmetik Unvollständigkeit der Arithmetik Slide 1 Unvollständigkeit der Arithmetik Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Unvollständigkeit der Arithmetik Slide

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter WS 2009/10 Alles ist Zahl? Wenn in der modernen Mathematik alles auf Mengen aufgebaut ist, woher kommen dann die Zahlen? Sind Zahlen

Mehr

Lineare Gleichungen mit 2 Variablen

Lineare Gleichungen mit 2 Variablen Lineare Gleichungen mit 2 Variablen Lineare Gleichungen mit 2 Variablen sind sehr eng verwandt mit linearen Funktionen. Die Funktionsgleichung einer linearen Funktion f(x) = m x+q m: Steigung, q: y Achsenabschnitt

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 1. ALPHABETE, WÖRTER, SPRACHEN Theoretische Informatik (SoSe 2011) 1. Alphabete, Wörter, Sprachen 1 / 25 Vorbemerkung:

Mehr

Berechenbarkeit und Komplexität Vorlesung 11

Berechenbarkeit und Komplexität Vorlesung 11 Berechenbarkeit und Komplexität Vorlesung 11 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 7. Dezember 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 7.

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK THEORETISCHE INFORMATIK UND LOGIK 4. Vorlesung: Das Halteproblem und Reduktionen Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 19. April 2017 Ankündigung Wegen großer Nachfrage wird eine

Mehr

Induktive Definitionen

Induktive Definitionen Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive

Mehr

Der Satz von Rice. Dann ist C(S) eine unentscheidbare Menge.

Der Satz von Rice. Dann ist C(S) eine unentscheidbare Menge. Der Satz von Rice Satz: Sei R die Klasse der (Turing-) berechenbaren Funktionen, S eine nichttriviale Teilmenge von R und C(S) ={w Mw berechnet eine Funktion aus S}. Dann ist C(S) eine unentscheidbare

Mehr

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Holger Arnold Dieser Text befasst sich mit der Frage, unter welchen Bedingungen das Problem, zu bestimmen, ob die

Mehr

Turing-Maschine Definition

Turing-Maschine Definition Turing-Maschine Definition Definition: Eine Turing-Maschine ist ein Quintupel M = (X, Z, z 0, Q, δ), wobei - X und Z Alphabete sind, - z 0 Z und Q Z gelten, - δ eine Funktion von (Z \ Q) (X { }) in Z (X

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit

Mehr

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.

Mehr

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

Mehr

Berechenbarkeit und Komplexität Vorlesung 1

Berechenbarkeit und Komplexität Vorlesung 1 Berechenbarkeit und Komplexität Vorlesung 1 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 13. Oktober 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 13.

Mehr

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik Kapitel 1.5 und 1.6 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2010/11) Kapitel 1.5 und 1.6: Kalküle 1 /

Mehr

Kapitel III Ringe und Körper

Kapitel III Ringe und Körper Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem

Mehr

1. Alphabete, Wörter, Sprachen

1. Alphabete, Wörter, Sprachen 1. Alphabete, Wörter, Sprachen Im Rahmen der Vorlesung: Und damit: und DATEN = WÖRTER (ENTSCHEIDUNGS)PROBLEME ˆ= WORTMENGEN = SPRACHEN FUNKTIONALE (BERECHNUNGS)PROBLEME ˆ= WORTFUNKTIONEN Mit Wörtern lassen

Mehr

Konstruktion der reellen Zahlen

Konstruktion der reellen Zahlen Konstruktion der reellen Zahlen Zur Wiederholung: Eine Menge K (mit mindestens zwei Elementen) heißt Körper, wenn für beliebige Elemente x, y K eindeutig eine Summe x+y K und ein Produkt x y K definiert

Mehr

GTI. Hannes Diener. 18. Juni. ENC B-0123,

GTI. Hannes Diener. 18. Juni. ENC B-0123, GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.

Mehr

Polynomielle Verifizierer und NP

Polynomielle Verifizierer und NP Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert

Mehr

Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem

Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 25. Oktober 2010 Berthold Vöcking, Informatik

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 10.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit Theorie der Informatik 13. Mai 2015 20. P, NP und polynomielle Reduktionen Theorie der Informatik 20. P, NP und polynomielle Reduktionen 20.1 P und NP Malte Helmert Gabriele Röger 20.2 Polynomielle Reduktionen

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis: 1 Unentscheidbarkeit 2 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 #include char *s="include

Mehr

2. Algorithmenbegriff

2. Algorithmenbegriff 2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung

Mehr

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr 6.4 Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem Typ 3 ja ja ja ja DCFL ja ja ja nein (*) Typ 2 ja ja nein (*) nein Typ 1 ja nein (*) nein nein Typ 0 nein (*) nein nein nein (*) Diese

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

Unentscheidbare Probleme: Diagonalisierung

Unentscheidbare Probleme: Diagonalisierung Unentscheidbare Probleme: Diagonalisierung Prof Dr Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Oktober 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 7. Dezember 2006 Rekursiv vs. rekursiv

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl.

Erfüllbarkeitstests. Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl. Erfüllbarkeitstests Im folgenden: Ein sehr effizienter Erfüllbarkeitstest für eine spezielle Klasse von Formeln in KNF, sogenannte Hornformeln (vgl. Grundlagen und diskrete Strukturen ) Ein für Formeln

Mehr

10. UNENTSCHEIDBARE PROBLEME:

10. UNENTSCHEIDBARE PROBLEME: EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 10. UNENTSCHEIDBARE PROBLEME: DIAGONALISIERUNG UND REDUKTION Theoretische Informatik (SoSe 2011) 10. Unentscheidbare

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Unentscheidbarkeit von Problemen mittels Turingmaschinen Unentscheidbarkeit von Problemen mittels Turingmaschinen Daniel Roßberg 0356177 Roland Schatz 0355521 2. Juni 2004 Zusammenfassung In dieser Arbeit befassen wir uns mit der Unentscheidbarkeit von Problemen

Mehr

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015 Übungsblatt Lorenz Leutgeb 30. März 205 Aufgabe. Annahmen ohne Einschränkungen: P Σ und P Γ. Per Definitionem der Reduktion: P P 2 f : Σ Γ wobei f total und berechenbar, genau so, dass: w Σ : w P f(w)

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:

Mehr

Berechenbarkeitstheorie 19. Vorlesung

Berechenbarkeitstheorie 19. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Erinnerung:

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am

Mehr

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) WS 2015/16 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994). Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod

Mehr

2 Lineare Gleichungssysteme

2 Lineare Gleichungssysteme 2 Lineare Gleichungssysteme Betrachte ein beliebiges System von m linearen Gleichungen in den n Unbekannten x,,x n : a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x n = b 2 () a m x + a m2 x

Mehr