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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

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 2011) 2. Algorithmen 2 / 51

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

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 2011) 2. Algorithmen 4 / 51

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)} Entscheidungsverfahren (EV): Algorithmus zur Lösung eines Entscheidungsproblems L Eingabe: x Σ Ausgabe: JA (falls E(x)) bzw. NEIN (falls E(x)) L ist entscheidbar, wenn es ein Entscheidungsverfahren für L gibt. Theoretische Informatik (SoSe 2011) 2. Algorithmen 5 / 51

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 2011) 2. Algorithmen 6 / 51

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 2011) 2. Algorithmen 7 / 51

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 2011) 2. Algorithmen 8 / 51

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 2011) 2. Algorithmen 9 / 51

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

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 2011) 2. Algorithmen 11 / 51

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 ) = λ. Theoretische Informatik (SoSe 2011) 2. Algorithmen 12 / 51

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 2011) 2. Algorithmen 13 / 51

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 ϕ : D T mit D Σ ist total, falls D = Σ gilt. Totale Funktionen sind also Spezialfälle der partiellen Funktionen. Theoretische Informatik (SoSe 2011) 2. Algorithmen 14 / 51

15 Partielle Berechnungsverfahren Ein Berechnungsverfahren zur Berechnung einer partiellen Funktion heisst partielles Berechnungsverfahren: Partielles Berechnungsverfahren (PBV) : Algorithmus zur Lösung eines partiellen Berechnungsproblems ϕ : D T (mit D Σ ) 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 2011) 2. Algorithmen 15 / 51

16 Partielle Berechnungsverfahren: Beispiel Die Primzahlzwillingfunktion pzzf : N N ordnet jeder Zahl n 1 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 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 2011) 2. Algorithmen 16 / 51

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 2011) 2. Algorithmen 17 / 51

18 2.2. Anforderungen an Algorithmen Theoretische Informatik (SoSe 2011) 2. Algorithmen 18 / 51

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: endliche Beschreibung Determiniertheit: Ergebnis hängt nur von der Eingabe ab (für Verfahren mit Eingabe) Effektivität: Verfahren tatsächlich durchführbar Theoretische Informatik (SoSe 2011) 2. Algorithmen 19 / 51

20 Anforderungen an Algorithmen (2) Die Rechnung besteht aus einer Folge von elementaren Rechenschritten (sequentiell). Die Reihenfolge der Schritte ist eindeutig festgelegt (deterministisch). In jedem Einzelschritt wird eine elementare Operation (aus einer endlichen Menge von vorgegebenen Operationen) ausgeführt. Jede dieser Operationen kann effektiv, in endlicher Zeit ausgeführt werden. Die hier genannten Anforderungen werden von klassischer Algorithmus erfüllt. Mitunter wird der Algorithmenbegriff so erweitert, dass nicht alle dieser Eigenschaften gefordert werden (nichtklassische Algorithmen). Theoretische Informatik (SoSe 2011) 2. Algorithmen 20 / 51

21 Anforderungen an Algorithmen (3) Eine weitere, häufig genannte Anforderung an Algorithmen ist, dass diese terminieren, d.h. nach endlich vielen Schritten stoppen. 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 2011) 2. Algorithmen 21 / 51

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 nicht entscheidbar ist!) Theoretische Informatik (SoSe 2011) 2. Algorithmen 22 / 51

23 EXKURS: Nichtklassische Algorithmen (1) Parallele und verteilte Algorithmen : Der Algorithmus wird von mehreren Prozessoren oder Rechnern gleichzeitig bearbeitet (nicht sequentiell). Nichtdeterministische Algorithmen: Schrittfolge wird durch Eingabe nicht eindeutig festgelegt. Nichtdeterministische Algorithmen sind meist nichtdeterminierte EVs. Um 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 dann dadurch, dass man Akzeptanz durch Mehrheitsentscheidung definiert. Theoretische Informatik (SoSe 2011) 2. Algorithmen 23 / 51

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 angegeben 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 2011) 2. Algorithmen 24 / 51

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 2011) 2. Algorithmen 25 / 51

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

27 Ziele Als nächstes wollen wir die grundlegenden Begriffen der Berechenbarkeitstheorie, d.h. Entscheidbarkeit Aufzählbarkeit (partielle) Berechenbarkeit etwas näher betrachten und die bestehende 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 allgemein Mengen durch Funktionen und Funktionen durch Mengen darstellen kann. Theoretische Informatik (SoSe 2011) 2. Algorithmen 27 / 51

28 Mengen vs. Funktionen (1) Darstellung von Mengen durch (partielle) Funktionen Charakteristische Funktion 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 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 2011) 2. Algorithmen 28 / 51

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

30 Entscheidbare Sprachen Theoretische Informatik (SoSe 2011) 2. Algorithmen 30 / 51

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 2011) 2. Algorithmen 31 / 51

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. 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 2011) 2. Algorithmen 32 / 51

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 2011) 2. Algorithmen 33 / 51

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

35 Aufzählbare Sprachen Theoretische Informatik (SoSe 2011) 2. Algorithmen 35 / 51

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 2011) 2. Algorithmen 36 / 51

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 terminert dieses Verfahren nicht und liefert keine Ausgabe.) BEWEIS ( ): Sei P ein partielles EV für A. Ein AV für A arbeitet wie folgt: 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. Dove Tailing Argument Theoretische Informatik (SoSe 2011) 2. Algorithmen 37 / 51

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 2011) 2. Algorithmen 38 / 51

39 Aufzählbare Mengen: Projektionslemma A aufzählbar A Projektion einer (2-dim) entscheidbaren Menge B Hierbei ist die n-st. Menge A die Projektion der (n + 1)-st. Menge B, falls gilt: x A y (( x,y) 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 2011) 2. Algorithmen 39 / 51

40 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 entscheidbar ist: Aufzählbares Problem = Unbeschränktes effektives Suchproblem Theoretische Informatik (SoSe 2011) 2. Algorithmen 40 / 51

41 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 2011) 2. Algorithmen 41 / 51

42 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 i.a. entscheidbar! (Wir werden dies z.t. später zeigen.) Theoretische Informatik (SoSe 2011) 2. Algorithmen 42 / 51

43 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: 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 2011) 2. Algorithmen 43 / 51

44 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 2011) 2. Algorithmen 44 / 51

45 (Partiell) Berechenbare Funktionen Theoretische Informatik (SoSe 2011) 2. Algorithmen 45 / 51

46 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 2011) 2. Algorithmen 46 / 51

47 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 2011) 2. Algorithmen 47 / 51

48 Beziehungen zwischen den Konzepten (Zusammenfassung) Theoretische Informatik (SoSe 2011) 2. Algorithmen 48 / 51

49 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 2011) 2. Algorithmen 49 / 51

50 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 2011) 2. Algorithmen 50 / 51

51 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 2011) 2. Algorithmen 51 / 51

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 2014

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

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

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

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

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

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

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Rückschau 12.11.04 Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Wir haben das Prinzip der Diagonalisierung eingeführt und mit DIAG eine erste nicht rek. aufz. Sprache

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 17. DIE CHOMSKY-HIERARCHIE Theoretische Informatik (SoSe 2011) 17. Die Chomsky-Hierarchie 1 / 15 Einleitung Die

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

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

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

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit 14. Die polynomiell beschränkten Komplexitätsklassen Die Grenzen der tatsächlichen Berechenbarkeit PRINZIPIELLE VS. TATSÄCHLICHE BERECHENBARKEIT Prinzipielle (theoretische) Berechenbarkeit: Eine Funktion

Mehr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

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

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

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

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

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

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

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

Automaten, Formale Sprachen und Berechenbarkeit I Wichtige Begriffe

Automaten, Formale Sprachen und Berechenbarkeit I Wichtige Begriffe Automaten, Formale Sprachen und Berechenbarkeit I Wichtige Begriffe Eine partielle Funktion ist eine Relation f A B; für jedes x dom(f) gibt es ein y range(f) mit x f y; wir schreiben statt f A B und x

Mehr

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8.1 Der Kompaktheitssatz Kompaktheitssatz Endlichkeitssatz Der Kompaktheitssatz ist auch unter dem Namen Endlichkeitssatz bekannt. Unter Verwendung

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

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

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung

Mehr

1 Lineare Gleichungssysteme und Matrizen

1 Lineare Gleichungssysteme und Matrizen 1 Lineare Gleichungssysteme und Matrizen Das Studium linearer Gleichungssysteme und ihrer Lösungen ist eines der wichtigsten Themen der linearen Algebra. Wir werden zunächst einige grundlegende Begriffe

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 0. ORGANISATORISCHES UND ÜBERBLICK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 0. ORGANISATORISCHES UND ÜBERBLICK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2014 0. ORGANISATORISCHES UND ÜBERBLICK Theoretische Informatik (SoSe 2014) 0. Organisatorisches und Überblick 1 / 16

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

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008 Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

8. Rekursive und primitiv rekursive Funktionen

8. Rekursive und primitiv rekursive Funktionen 8. Rekursive und primitiv rekursive Funktionen In diesem Abschnitt führen wir eine weitere (letzte) Formalisierung des Berechenbarkeitskonzeptes für Funktionen über den natürlichen Zahlen ein. Hatten wir

Mehr

Theorie der Informatik Einleitung. Theorie der Informatik Basisfunktionen und Einsetzung Primitive Rekursion. 14.

Theorie der Informatik Einleitung. Theorie der Informatik Basisfunktionen und Einsetzung Primitive Rekursion. 14. Theorie der Informatik 16. April 2014 14. primitive Rekursion und µ-rekursion Theorie der Informatik 14. primitive Rekursion und µ-rekursion 14.1 Einleitung 14.2 Basisfunktionen und Einsetzung Malte Helmert

Mehr

Berechenbarkeitsmodelle

Berechenbarkeitsmodelle Berechenbarkeit 2 Endliche Automaten erkennen nicht alle algorithmisch erkennbaren Sprachen. Kontextfreie Grammatiken erzeugen nicht alle algorithmisch erzeugbaren Sprachen. Welche Berechnungsmodelle erlauben

Mehr

Unentscheidbarkeit. Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Unentscheidbarkeit. Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Worum geht

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1 Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

3. Mathematische Maschinen

3. Mathematische Maschinen 3. Mathematische Maschinen Bei den Anforderungen an Algorithmen im letzten Paragraphen haben wir bemerkt, dass ein Algorithmus im Prinzip von einer Maschine ausgeführt werden kann. Umgekehrt kann solch

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Die Church-Turing-These

Die Church-Turing-These Die Church-Turing-These Elmar Eder () Die Church-Turing-These 1 / 12 Formale Systeme Formale Systeme µ-partiellrekursive Funktionen Logikkalküle SLD-Resolution (Prolog) Chomsky-Grammatiken Turing-Maschinen

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Kapitel 1. Aussagenlogik

Kapitel 1. Aussagenlogik Kapitel 1 Aussagenlogik Einführung Mathematische Logik (WS 2012/13) Kapitel 1: Aussagenlogik 1/17 Übersicht Teil I: Syntax und Semantik der Aussagenlogik (1.0) Junktoren und Wahrheitsfunktionen (1.1) Syntax

Mehr

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann

Mehr

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt?

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt? Informatik I 14.02.2014 28. Ausblick Informatik I 28. Ausblick Bernhard Nebel Albert-Ludwigs-Universität Freiburg 28.1 28.2 28.3 Was geht nicht? 14.02.2014 Bernhard Nebel (Universität Freiburg) Informatik

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

Mehr

Kapitel 1. Grundlagen

Kapitel 1. Grundlagen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) 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_16

Mehr

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie (Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie 1) Schreiben Sie ein LOOP-Programm, das die Funktion f: N \ {0} N, f (n) = n n berechnet. Sie dürfen in Ihrem Programm die Multiplikation

Mehr

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

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

Mehr

Einführung in die mathematische Logik

Einführung in die mathematische Logik Prof. Dr. H. Brenner Osnabrück SS 2014 Einführung in die mathematische Logik Vorlesung 19 Entscheidbarkeit und Berechenbarkeit In der letzten Vorlesung haben wir verschiedene mathematische Operationen

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 3. TURINGMASCHINEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2012

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 3. TURINGMASCHINEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2012 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 3. TURINGMASCHINEN Theoretische Informatik (SoSe 2012) 3. Turingmaschinen 1 / 45 Alan Mathison Turing (1912-1954)

Mehr

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009 Theoretische Informatik Rainer Schrader Probabilistische Turingmaschinen Institut für Informatik 10. Juni 009 1 / 30 / 30 Gliederung probabilistische Turingmaschinen Beziehungen zwischen und NDTM es stellt

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (II) 2.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

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

Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen 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 induktiv

Mehr

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1

Mehr

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln

Kapitel 1.3. Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Kapitel 1.3 Normalformen aussagenlogischer Formeln und die Darstellbarkeit Boolescher Funktionen durch aussagenlogische Formeln Mathematische Logik (WS 2011/12) Kapitel 1.3: Normalformen 1/ 29 Übersicht

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Lösungsvorschläge zu Blatt Nr. 6

Lösungsvorschläge zu Blatt Nr. 6 Institut für Algorithmen und Kognitive Systeme Dr. Jörn Müller-Quade Carmen Kempka Christian Henrich Nico Döttling Vorlesung Informatik III Lösungsvorschläge zu Blatt Nr. 6 Aufgabe 1 (K) (4 Punkte) i.)

Mehr

Berechenbarkeit/Entscheidbarkeit

Berechenbarkeit/Entscheidbarkeit Berechenbarkeit/Entscheidbarkeit Frage: Ist eine algorithmische Problemstellung lösbar? was ist eine algorithmische Problemstellung? formale Sprachen benötigen einen Berechenbarkeitsbegriff Maschinenmodelle

Mehr

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Probeklausur 25.01.2013 Probeklausur zur Vorlesung Berechenbarkeit und Komplexität Aufgabe 1 (1+2+6+3 Punkte)

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,

Mehr

Einführung in die mathematische Logik

Einführung in die mathematische Logik Prof. Dr. H. Brenner Osnabrück SS 2014 Einführung in die mathematische Logik Vorlesung 22 Repräsentierbarkeit in einer Theorie Wir haben schon in der zwanzigsten Vorlesung davon gesprochen, wann eine arithmetische

Mehr

Kapitel L:II. II. Aussagenlogik

Kapitel L:II. II. Aussagenlogik Kapitel L:II II. Aussagenlogik Syntax der Aussagenlogik Semantik der Aussagenlogik Eigenschaften des Folgerungsbegriffs Äquivalenz Formeltransformation Normalformen Bedeutung der Folgerung Erfüllbarkeitsalgorithmen

Mehr

Kanonische Primfaktorzerlegung

Kanonische Primfaktorzerlegung Mathematik I für Informatiker Zahlen p. 1 Kanonische Primfaktorzerlegung Jede natürliche Zahl n kann auf eindeutige Weise in der Form n = p α 1 1 pα 2 2... pα k k geschrieben werden, wobei k N 0, α i N

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 13. LOOP-, WHILE- und GOTO-Berechenbarkeit Malte Helmert Gabriele Röger Universität Basel 9. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Wie viel Mathematik kann ein Computer?

Wie viel Mathematik kann ein Computer? Wie viel Mathematik kann ein Computer? Die Grenzen der Berechenbarkeit Dr. Daniel Borchmann 2015-02-05 Wie viel Mathematik kann ein Computer? 2015-02-05 1 / 1 Mathematik und Computer Computer sind schon

Mehr

Syntax von LOOP-Programmen

Syntax von LOOP-Programmen LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,

Mehr

Resolutionsalgorithmus

Resolutionsalgorithmus 112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:

Mehr

Einführung in die Informatik Algorithms

Einführung in die Informatik Algorithms Einführung in die Informatik Algorithms Eigenschaften von Algorithmen Wolfram Burgard 14.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren zur Lösung von Problemen. Eine

Mehr

Kapitel 1. Grundlagen Mengen

Kapitel 1. Grundlagen Mengen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

Mehr

Wir müssen wissen, und wir werden wissen.

Wir müssen wissen, und wir werden wissen. D. Hilbert Wir müssen wissen, und wir werden wissen. David Hilbert (1862-1943)... Eine Diophantische Gleichung [...] sei vorgelegt: man soll ein Verfahren angeben, nach welchem sich mittelst einer endlichen

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 15. primitive Rekursion und µ-rekursion Malte Helmert Gabriele Röger Universität Basel 22. April 2015 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale

Mehr

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten

Mehr

Maße auf Produkträumen

Maße auf Produkträumen Maße auf Produkträumen Es seien (, Ω 1 ) und (X 2, Ω 2 ) zwei Meßräume. Wir wollen uns zuerst überlegen, wie wir ausgehend davon eine geeignete σ-algebra auf X 2 definieren können. Wir betrachten die Menge

Mehr

Mathematische Maschinen

Mathematische Maschinen Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,

Mehr

1.3 Funktionen einer reellen Veränderlichen und ihre Darstellung im x, y - Koordinatensystem

1.3 Funktionen einer reellen Veränderlichen und ihre Darstellung im x, y - Koordinatensystem .0.0. Funktionen einer reellen Veränderlichen und ihre Darstellung im, - Koordinatensstem Vereinbarungen Wir betrachten vorerst nur noch Funktionen f, deren Definitionsund Wertebereich jeweils R oder ein

Mehr

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Einführung in Berechenbarkeit, Komplexität und formale Sprachen Johannes Blömer Skript zur Vorlesung Einführung in Berechenbarkeit, Komplexität und formale Sprachen Universität Paderborn Wintersemester 2011/12 Inhaltsverzeichnis 1 Einleitung 2 1.1 Ziele der Vorlesung...................................

Mehr