Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität"

Transkript

1 Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Ralph Keusch 21. November 2017

2 Berechenbarkeitstheorie

3 RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M 2 > 0. M 2 : M 1 : M 0 : M 1 : M 2 : Programmzähler: 5 Die Random Access Machine (RAM) mit einem Programm der Länge 5, ausgeführt auf Eingabe M 1 = 3 und M 2 = 15.

4 Programme Definition: Ein Programm ist eine endliche Folge von zulässigen Befehlen. Details und formale Definition: Skript, Kapitel Ein Programm muss nicht zwingend endliche Laufzeit haben!

5 Programme Definition: Ein Programm ist eine endliche Folge von zulässigen Befehlen. Details und formale Definition: Skript, Kapitel Ein Programm muss nicht zwingend endliche Laufzeit haben! Zweck von Programmen: In der Komplexitätstheorie wollen wir Programme mit endlicher Laufzeit benützen, um Funktionen zu berechnen.

6 Funktionen auf Z Funktionen f : {0, 1} {0, 1} reichen aus, um Funktionen f : Z Z zu berechnen.

7 Funktionen auf Z Funktionen f : {0, 1} {0, 1} reichen aus, um Funktionen f : Z Z zu berechnen. Es ist leicht, eine Bijektion zwischen {0, 1} und Z zu finden:

8 Funktionen auf Z Funktionen f : {0, 1} {0, 1} reichen aus, um Funktionen f : Z Z zu berechnen. Es ist leicht, eine Bijektion zwischen {0, 1} und Z zu finden: x b(x) λ

9 Funktionen auf Z Funktionen f : {0, 1} {0, 1} reichen aus, um Funktionen f : Z Z zu berechnen. Es ist leicht, eine Bijektion zwischen {0, 1} und Z zu finden: x b(x) λ Die Beschränkung der Bildmenge ist ebenfalls unwesentlich. Für eine gegebene Funktion f : Z Z setzen wir { f i (x) 1 wenn b(f (x)) exakt i Bits lang ist 0 sonst f i (x) := Bit i von b(f (x))

10 Programme berechnen Funktionen Wir wollen Programme benützen, um Funktionen zu berechnen. Sei A ein Programm, das immer endliche Laufzeit hat, und sei x {0, 1}.

11 Programme berechnen Funktionen Wir wollen Programme benützen, um Funktionen zu berechnen. Sei A ein Programm, das immer endliche Laufzeit hat, und sei x {0, 1}. 1. Schreibe b 1 (x) Z als Eingabe in M 0.

12 Programme berechnen Funktionen Wir wollen Programme benützen, um Funktionen zu berechnen. Sei A ein Programm, das immer endliche Laufzeit hat, und sei x {0, 1}. 1. Schreibe b 1 (x) Z als Eingabe in M Lasse das Programm A auf dieser Eingabe laufen, bis es hält.

13 Programme berechnen Funktionen Wir wollen Programme benützen, um Funktionen zu berechnen. Sei A ein Programm, das immer endliche Laufzeit hat, und sei x {0, 1}. 1. Schreibe b 1 (x) Z als Eingabe in M Lasse das Programm A auf dieser Eingabe laufen, bis es hält. 3. Betrachte die Zahl, die dann in M 0 steht:

14 Programme berechnen Funktionen Wir wollen Programme benützen, um Funktionen zu berechnen. Sei A ein Programm, das immer endliche Laufzeit hat, und sei x {0, 1}. 1. Schreibe b 1 (x) Z als Eingabe in M Lasse das Programm A auf dieser Eingabe laufen, bis es hält. 3. Betrachte die Zahl, die dann in M 0 steht: M 0 > 0: interpretieren wir als 1

15 Programme berechnen Funktionen Wir wollen Programme benützen, um Funktionen zu berechnen. Sei A ein Programm, das immer endliche Laufzeit hat, und sei x {0, 1}. 1. Schreibe b 1 (x) Z als Eingabe in M Lasse das Programm A auf dieser Eingabe laufen, bis es hält. 3. Betrachte die Zahl, die dann in M 0 steht: M 0 > 0: interpretieren wir als 1 M 0 0: interpretieren wir als 0 Wir stellen fest: Unser Programm A berechnet eine Funktion A : {0, 1} {0, 1}.

16 Andere Rechenmodelle? Offensichtlich ist unsere Definition von berechenbar abhängig von der RAM-Maschine. Ist das eine Einschränkung?

17 Andere Rechenmodelle? Offensichtlich ist unsere Definition von berechenbar abhängig von der RAM-Maschine. Ist das eine Einschränkung? es gibt weniger mächtige Rechenmodelle

18 Andere Rechenmodelle? Offensichtlich ist unsere Definition von berechenbar abhängig von der RAM-Maschine. Ist das eine Einschränkung? es gibt weniger mächtige Rechenmodelle es gibt aber auch mächtigere Rechenmodelle

19 Andere Rechenmodelle? Offensichtlich ist unsere Definition von berechenbar abhängig von der RAM-Maschine. Ist das eine Einschränkung? es gibt weniger mächtige Rechenmodelle es gibt aber auch mächtigere Rechenmodelle die meisten anderen Modelle wie z.b. Turing-Maschinen sind gleich mächtig wie die RAM-Maschine!

20 Andere Rechenmodelle? Offensichtlich ist unsere Definition von berechenbar abhängig von der RAM-Maschine. Ist das eine Einschränkung? es gibt weniger mächtige Rechenmodelle es gibt aber auch mächtigere Rechenmodelle die meisten anderen Modelle wie z.b. Turing-Maschinen sind gleich mächtig wie die RAM-Maschine! Church-Turing-These: Die Klasse der RAM-berechenbaren Funktionen stimmt mit der Klasse der intuitiv berechenbaren Funktionen überein. (nicht beweisbar!) lesenswert: History of the Church-Turing thesis auf englischer Wikipedia

21 Codieren in {0, 1} Wir haben die Begriffe Sprache, Funktion, Berechenbarkeit über {0, 1} eingeführt.

22 Codieren in {0, 1} Wir haben die Begriffe Sprache, Funktion, Berechenbarkeit über {0, 1} eingeführt. Ist dies hinreichend flexibel?

23 Codieren in {0, 1} Wir haben die Begriffe Sprache, Funktion, Berechenbarkeit über {0, 1} eingeführt. Ist dies hinreichend flexibel? Bereits gesehen: {0, 1} ist bijektiv zu Z.

24 Codieren in {0, 1} Wir haben die Begriffe Sprache, Funktion, Berechenbarkeit über {0, 1} eingeführt. Ist dies hinreichend flexibel? Bereits gesehen: {0, 1} ist bijektiv zu Z. Wir wollen auch Paare (x, y) als Elemente von {0, 1} codieren können, oder auch ganze Programme.

25 Codierung von Paaren Seien x, y {0, 1}. Wir möchten das Paar (x, y) als Element von {0, 1} auffassen. Wie geht das?

26 Codierung von Paaren Seien x, y {0, 1}. Wir möchten das Paar (x, y) als Element von {0, 1} auffassen. Wie geht das? Idee: verdopple jedes Bit b von x und y dies ergibt x und y füge x und y mit Trennsymbol 10 zusammen

27 Codierung von Paaren Seien x, y {0, 1}. Wir möchten das Paar (x, y) als Element von {0, 1} auffassen. Wie geht das? Idee: verdopple jedes Bit b von x und y dies ergibt x und y füge x und y mit Trennsymbol 10 zusammen Beispiel: Sei x = 100 und y = 11. Dann codieren wir das Paar (x, y) als

28 Codierung von Programmen Serie 1, Aufgabe 2: 1 : M : M 1 M M0 3 : M 1 M 1 + M 1 4 : M M0 M 1 5 : M 0 M M0 M 2 6 : GOTO 2 IF M 0 > 0

29 Codierung von Programmen Serie 1, Aufgabe 2: 1 : M : M 1 M M0 3 : M 1 M 1 + M 1 4 : M M0 M 1 5 : M 0 M M0 M 2 6 : GOTO 2 IF M 0 > 0 Beobachtung: Wir können jedes Symbol als Bitstring codieren (z.b. ASCII). Dies ergibt einen endlichen Bitstring, somit können wir das Programm als Element von {0, 1} codieren.

30 Hilbertsche Probleme (1900) 23 damals ungelöste Probleme aus der Mathematik

31 Hilbertsche Probleme (1900) 23 damals ungelöste Probleme aus der Mathematik Problem 8b: Zeige, dass jede gerade Zahl ausser 2 die Summe von zwei Primzahlen ist (Goldbach-Vermutung).

32 Hilbertsche Probleme (1900) 23 damals ungelöste Probleme aus der Mathematik Problem 8b: Zeige, dass jede gerade Zahl ausser 2 die Summe von zwei Primzahlen ist (Goldbach-Vermutung). Problem 2: Sind die arithmetischen Axiome widerspruchsfrei?

33 Hilbertsche Probleme (1900) 23 damals ungelöste Probleme aus der Mathematik Problem 8b: Zeige, dass jede gerade Zahl ausser 2 die Summe von zwei Primzahlen ist (Goldbach-Vermutung). Problem 2: Sind die arithmetischen Axiome widerspruchsfrei? Gödel (1930): dies kann nicht bewiesen werden!

34 Was heisst beweisen? Sei S eine Menge von mathematischen Aussagen, z.b. x > y, n ist eine Primzahl, Programm A hält auf Eingabe x

35 Was heisst beweisen? Sei S eine Menge von mathematischen Aussagen, z.b. x > y, n ist eine Primzahl, Programm A hält auf Eingabe x Wir verlangen, dass aus s S auch s S folgt.

36 Was heisst beweisen? Sei S eine Menge von mathematischen Aussagen, z.b. x > y, n ist eine Primzahl, Programm A hält auf Eingabe x Wir verlangen, dass aus s S auch s S folgt. Das Verifizieren eines Beweises soll mechanisch sein: Es soll ein Programm V geben, das Aussagen s S beweisen kann.

37 Was heisst beweisen? Sei S eine Menge von mathematischen Aussagen, z.b. x > y, n ist eine Primzahl, Programm A hält auf Eingabe x Wir verlangen, dass aus s S auch s S folgt. Das Verifizieren eines Beweises soll mechanisch sein: Es soll ein Programm V geben, das Aussagen s S beweisen kann. genauer: für gegebene s S und p {0, 1} ist V (s, p) = 1 genau dann wenn p ein gültiger Beweis für Aussage s ist.

38 Was heisst beweisen? Sei S eine Menge von mathematischen Aussagen, z.b. x > y, n ist eine Primzahl, Programm A hält auf Eingabe x Wir verlangen, dass aus s S auch s S folgt. Das Verifizieren eines Beweises soll mechanisch sein: Es soll ein Programm V geben, das Aussagen s S beweisen kann. genauer: für gegebene s S und p {0, 1} ist V (s, p) = 1 genau dann wenn p ein gültiger Beweis für Aussage s ist. Definition: V heisst widerspruchsfrei, falls es kein s S gibt, so dass V sowohl s als auch s beweisen kann.

39 Gödelsche Unvollständigkeitssätze Theorem (1. UV-Satz) Sei V so dass, falls A(x) hält, V die Aussage A(x) hält immer beweisen kann.

40 Gödelsche Unvollständigkeitssätze Theorem (1. UV-Satz) Sei V so dass, falls A(x) hält, V die Aussage A(x) hält immer beweisen kann. Dann gibt es eine Aussage s S, die korrekt ist, die V aber nicht beweisen kann.

41 Gödelsche Unvollständigkeitssätze Theorem (1. UV-Satz) Sei V so dass, falls A(x) hält, V die Aussage A(x) hält immer beweisen kann. Dann gibt es eine Aussage s S, die korrekt ist, die V aber nicht beweisen kann. Beweisidee: per Widerspruch:

42 Gödelsche Unvollständigkeitssätze Theorem (1. UV-Satz) Sei V so dass, falls A(x) hält, V die Aussage A(x) hält immer beweisen kann. Dann gibt es eine Aussage s S, die korrekt ist, die V aber nicht beweisen kann. Beweisidee: per Widerspruch: Könnten wir für alle Paare (A, x), so dass A(x) nicht hält, die Aussage A(x) hält nicht beweisen,

43 Gödelsche Unvollständigkeitssätze Theorem (1. UV-Satz) Sei V so dass, falls A(x) hält, V die Aussage A(x) hält immer beweisen kann. Dann gibt es eine Aussage s S, die korrekt ist, die V aber nicht beweisen kann. Beweisidee: per Widerspruch: Könnten wir für alle Paare (A, x), so dass A(x) nicht hält, die Aussage A(x) hält nicht beweisen, so könnten wir daraus ein Programm schreiben, das entscheidet, ob A(x) hält oder nicht.

44 Gödelsche Unvollständigkeitssätze Theorem (1. UV-Satz) Sei V so dass, falls A(x) hält, V die Aussage A(x) hält immer beweisen kann. Dann gibt es eine Aussage s S, die korrekt ist, die V aber nicht beweisen kann. Beweisidee: per Widerspruch: Könnten wir für alle Paare (A, x), so dass A(x) nicht hält, die Aussage A(x) hält nicht beweisen, so könnten wir daraus ein Programm schreiben, das entscheidet, ob A(x) hält oder nicht. Dann wäre aber die Haltefunktion berechenbar!

45 Gödelsche Unvollständigkeitssätze Theorem (1. UV-Satz) Sei V so dass, falls A(x) hält, V die Aussage A(x) hält immer beweisen kann. Dann gibt es eine Aussage s S, die korrekt ist, die V aber nicht beweisen kann. Beweisidee: per Widerspruch: Könnten wir für alle Paare (A, x), so dass A(x) nicht hält, die Aussage A(x) hält nicht beweisen, so könnten wir daraus ein Programm schreiben, das entscheidet, ob A(x) hält oder nicht. Dann wäre aber die Haltefunktion berechenbar! Theorem (2. UV-Satz) Kein widerspruchsfreies Programm V kann die eigene Widerspruchsfreiheit beweisen.

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Teil II: Berechenbarkeit und Komplexität Algorithmen und Komplexität 22. November 2016 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M 2 > 0. M 2 : M

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

Clevere Algorithmen programmieren

Clevere Algorithmen programmieren ClevAlg 2017 Theoretische Informatik Clevere Algorithmen programmieren Dennis Komm, Jakub Závodný, Tobias Kohn 06. Dezember 2017 Die zentralen Fragen sind... Was kann man mit einem Computer nicht machen?

Mehr

Angewandte Mathematik am Rechner 1

Angewandte Mathematik am Rechner 1 Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 Kapitel 3 [Bildquellen: Wikipedia User David Madore, Inductiveload ] Grundlagen 2: Funktionen, Berechenbarkeit und emergente Komplexität Michael Wand

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Universelle Turingmaschinen und Church sche These Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander

Mehr

Berechnungsmodelle. Mathias Hecht. April 29, 2010

Berechnungsmodelle. Mathias Hecht. April 29, 2010 Berechnungsmodelle Mathias Hecht April 29, 2010 1 Die Turingmaschine 1.1 Definition Eine Turingmaschine wird durch ein Tupel (Γ, Q, δ) beschrieben. Γ ein endliches Alphabet Q : eine endliche Menge an Zuständen

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

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

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung Gliederung 0. Einführung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Algorithmische Probleme und Berechnungsmodelle 3.2. Das Berechnungsmodell

Mehr

Handout zu Gödel: Die Unvollständigkeitssätze

Handout zu Gödel: Die Unvollständigkeitssätze Handout zu Gödel: Die Unvollständigkeitssätze Juanfernando Angel-Ramelli, Christine Schär, Katja Wolff December 4, 2014 Contents 1 Einleitung 1 1.1 Gödels Theoreme (1931)..............................

Mehr

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen

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

Hilberts zweites Problem: Die Widerspruchsfreiheit der arithmetischen Axiome

Hilberts zweites Problem: Die Widerspruchsfreiheit der arithmetischen Axiome Hilberts zweites Problem: Die Widerspruchsfreiheit der arithmetischen Axiome Marcel Karcher Hilbertseminar, TUM Teil I: Die Problemstellung und das Hilbertprogramm mit seinen Zielen Problem: Sind die arithmetischen

Mehr

LOGIK IM INTERDISZIPLINÄREN SPANNUNGSFELD

LOGIK IM INTERDISZIPLINÄREN SPANNUNGSFELD Fachschaftstagung Gymnasium Köniz LOGIK IM INTERDISZIPLINÄREN SPANNUNGSFELD ZWISCHEN INFORMATIK, MATHEMATIK UND PHILOSOPHIE Thomas Strahm Institut für Informatik und angewandte Mathematik Universität stät

Mehr

Theoretische Informatik Kap 2: Berechnungstheorie

Theoretische Informatik Kap 2: Berechnungstheorie Gliederung der Vorlesung 0. Grundbegriffe 1. Formale Sprachen/Automatentheorie 1.1. Grammatiken 1.2. Reguläre Sprachen 1.3. Kontextfreie Sprachen 2. Berechnungstheorie 2.1. Berechenbarkeitsmodelle 2.2.

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten

Mehr

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 29. November 2007 Turing-mächtige

Mehr

Berechenbarkeit und Komplexität Vorlesung 10

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

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

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 13. November 2006 Turing-mächtige

Mehr

Logik und Beweisbarkeit

Logik und Beweisbarkeit Logik und Beweisbarkeit VL 08 Martin Mundhenk Univ. Jena, Institut für Informatik 11. Januar 2019 Teil 3: Berechenbarkeitstheorie 1. Aussagenlogik 2. Arithmetik 3. Berechenbarkeitstheorie VL08: URM-berechenbare

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 22 Registermaschinen (RAM) Programm b c(0) c(1) c(2) c(3) c(4)...

Mehr

Der erste Gödelsche Unvollständigkeitssatz

Der erste Gödelsche Unvollständigkeitssatz Der erste Gödelsche Unvollständigkeitssatz Referent: Tobias Gleißner 29. Januar 2013 (syntaktischer Aufbau eines arithmetischen Terms) - Jede Zahl ist ein Term - Jede Variable ist ein Term - Sind und Terme,

Mehr

Logik und Beweisbarkeit

Logik und Beweisbarkeit Logik und Beweisbarkeit Einleitung Martin Mundhenk Univ. Jena, Institut für Informatik. Februar 0 Einleitung: U ber Sinn und Form Symbolisches Addieren Al-Chwarizmi (etwa 8 80) Problem: Was ist MMMDCCCXCIX

Mehr

Martin Goldstern Der logische Denker Kurt Gödel und sein Unvollständigkeitssatz. 6.

Martin Goldstern Der logische Denker Kurt Gödel und sein Unvollständigkeitssatz.  6. Martin Goldstern Der logische Denker Kurt Gödel und sein Unvollständigkeitssatz http://www.tuwien.ac.at/goldstern/ 6.September 2006 1 Kurt Gödel, 1906-1978 1906: geboren am 28.April in Brünn (heute Brno)

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

Turing-Maschinen: Ein abstrakes Maschinenmodell

Turing-Maschinen: Ein abstrakes Maschinenmodell Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen

Mehr

Chaitins Interpretation von Zufall, Komplexität und Unvollständigkeit durch Ω

Chaitins Interpretation von Zufall, Komplexität und Unvollständigkeit durch Ω Chaitins Interpretation von Zufall, Komplexität und Unvollständigkeit durch Ω Zufall Leibniz und Wolfram: scheinbar zufälligen Ereignissen liegt eine unendliche Beweiskette zugrunde, die der menschliche

Mehr

Seminararbeit zum Thema Was ist ein Algorithmus?

Seminararbeit zum Thema Was ist ein Algorithmus? Seminararbeit zum Thema Was ist ein Algorithmus? Martin Griesser 05. Juni 2013 Inhaltsverzeichnis 1 Vorwort 2 2 Wortherkunft 2 3 Definition 2 3.1 Algorithmus und Berechenbarkeit.................. 2 3.2

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

Typen von Programmiersprachen

Typen von Programmiersprachen Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:

Mehr

Achim Feldmeier, 23. Juni : Penrose nimmt dieses Argument auf in Shadows of the Mind.

Achim Feldmeier, 23. Juni : Penrose nimmt dieses Argument auf in Shadows of the Mind. Können Menschen mehr (Mathematik) als Computer? Turing - Penrose - Searle Achim Feldmeier, 23. Juni 2008 1931: Gödel beweist den Unvollständigkeitssatz. 1937: Turing beweist das Halteproblem. 1961: Lucas

Mehr

Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik

Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik Turingmaschinen und eine kleine Einführung in Bereiche der theoretischen Informatik Gliederung Einführung Leben Alan Turing Theoretische Informatik Turingmaschine Aufbau, Definition Beispiele Game of Life

Mehr

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 25.

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 25. Formale Logik PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg Wintersemester 16/17 Sitzung vom 25. Januar 2017 Gödels Unvollständigkeitssatz Unvollständigkeit von Axiomensystemen:

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

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen und rekursive Funktionen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 16. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Einige Ideen und Probleme der theoretischen Informatik

Einige Ideen und Probleme der theoretischen Informatik Einige Ideen und Probleme der theoretischen Informatik Kolloquium Informatik und Unterricht Thomas Strahm Institut für Informatik und angewandte Mathematik Universität Bern 14. Januar 2008 Ideen und Probleme

Mehr

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php

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

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten

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

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

Registermaschine (RAM), Church-Turing-These

Registermaschine (RAM), Church-Turing-These Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 21. Oktober 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Grundlagen der Theoretischen Informatik: Übung 10

Grundlagen der Theoretischen Informatik: Übung 10 Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f

Mehr

Einführung in die Berechenbarkeitstheorie

Einführung in die Berechenbarkeitstheorie Einführung in die Berechenbarkeitstheorie Timo Kötzing 4. November 2013 1 Einleitung Dieses Dokument bietet eine kurze Einführung in die Grundlagen der Berechenbarkeitstheorie (für eine Ausführliche Behandlung

Mehr

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Algorithmische Probleme und Berechnungsmodelle 3.2. Das Berechnungsmodell

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

Informatik I Komplexität von Algorithmen

Informatik I Komplexität von Algorithmen Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz

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

Axiome der Mengenlehre nach von Neumann, Bernays, Gödel (NBG)

Axiome der Mengenlehre nach von Neumann, Bernays, Gödel (NBG) Axiome der Mengenlehre nach von Neumann, Bernays, Gödel (NBG) B. Ammann 1 1 Universität Regensburg Vorlesung Analysis am 6.11.13 Ziel: Axiomatischer Aufbau der Mathematik Es gibt verschiedene Axiomensysteme

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

Zufall oder Absicht?

Zufall oder Absicht? Zufall oder Absicht? Randomisierung und Derandomisierung Prof. Markus Bläser Universität des Saarlandes 4. Januar 2010 1 / 21 Zufall oder Absicht? 1 Randomisierte Algorithmen 2 Polynom-Identitätstests

Mehr

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62 Ein formales Berechnungsmodell: Turingmaschinen Turingmaschinen 26 / 62 Ein formales Rechnermodell Bisher haben wir abstrakt von Algorithmen bzw. Programmen gesprochen und uns dabei JAVA- oder C++-Programme

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Die Komplexitätsklasse P David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Äquivalenz von RM und TM Äquivalenz, Sätze Simulation DTM

Mehr

Warum wir noch Mathematiker brauchen

Warum wir noch Mathematiker brauchen Church und das Entscheidungsproblem Warum wir noch Mathematiker brauchen Joachim Breitner * 24. Juni 2011 Gulaschprogrammiernacht 11, Karlsruhe Zusammenfassung Hilbert hatte einen Traum: Er wünschte sich

Mehr

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik

Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik Logik, Berechenbarkeit und Komplexität Sommersemester 2008 Fachhochschule Wiesbaden Prof. Dr. Steffen Reith Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik 1 Turingmaschinen - Ein

Mehr

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall: Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge

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

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

Kapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit

Kapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit Kapitel 5 Entscheidbareit und Berechenbareit Wir wenden uns nun grundsätzlichen Fragen zu, nämlich den Fragen nach der prinzipiellen Lösbareit von Problemen. Dazu stellen wir auch einen Zusammenhang zwischen

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

ALP I Turing-Maschine

ALP I Turing-Maschine ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen

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

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 Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene

Mehr

Gödels Unvollständigkeits-Theorem

Gödels Unvollständigkeits-Theorem Gödels Unvollständigkeits-Theorem Helmut Eberharter Matr.# 9926931 Kennzahl 535 Institut für Technische Informatik Technische Universität Wien e9926931@student.tuwien.ac.at 20. Mai 2008 Epimenides, der

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Teil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Codierung, Gödelisierung Paare, Tupel, Listen Überabzählbarkeit 2 Ist universell?

Mehr

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008

Turingmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008 1 Turingmaschinen Von Alan Turing in den 30er Jahren dieses Jahrhunderts eingeführt Eines der ältesten Berechenbarkeitsmodelle Idee: den mechanischen Anteil des Rechnens mit Bleistift und Radiergummi auf

Mehr

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c

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

8. Der Äquivalenzsatz

8. Der Äquivalenzsatz 8. Der Äquivalenzsatz ÄQUIVALENZSATZ. Für eine (partielle) Funktion f : N n N sind folgende Aussagen äquivalent: f ist (partiell) Turing-berechenbar. f wird von einer k-band-turingmaschine berechnet (k

Mehr

VL-06: Unentscheidbarkeit II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-06: Unentscheidbarkeit II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger VL-06: Unentscheidbarkeit II (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-06: Unentscheidbarkeit II 1/37 Organisatorisches Nächste Vorlesung: Mittwoch, November

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm

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

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

MATHEMATIQ. Der Newsletter der MathSIG (Interessensgruppe innerhalb der Mensa Österreich) Ausgabe 4.

MATHEMATIQ. Der Newsletter der MathSIG (Interessensgruppe innerhalb der Mensa Österreich) Ausgabe 4. MATHEMATIQ Der Newsletter der MathSIG (Interessensgruppe innerhalb der Mensa Österreich) Ausgabe 4 http://www.hugi.scene.org/adok/mensa/mathsig/ Editorial Liebe Leserinnen und Leser! Dies ist die vierte

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

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

Berechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These

Berechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These Berechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 28. Oktober 2006 Simulation RAM

Mehr

Angewandte Mathematik am Rechner 1 SOMMERSEMESTER Kapitel 4. Algebra. Michael Wand Institut für Informatik.

Angewandte Mathematik am Rechner 1 SOMMERSEMESTER Kapitel 4. Algebra. Michael Wand Institut für Informatik. Michael Wand Institut für Informatik. Angewandte Mathematik am echner 1 SOMMESEMESTE 2017 Kapitel 4 Algebra Wiederholung Kapitel 3 Funktionen Informatik Algorithmus / Berechnung Mathematik Wohldefinierte

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

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

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 Informatik

Theoretische Informatik Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:

Mehr

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:

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

3. RAM als Rechnermodell

3. RAM als Rechnermodell 3. RAM als Rechnermodell Motivation Wir möchten Berechnungsvorschriften (Algorithmen) formal beschreiben und deren Eigenschaften wie Korrektheit und Laufzeit analysieren Rechnermodell abstrahiert vom verwendeten

Mehr

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik

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

Grundlagen der Theoretischen Informatik

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

Mehr

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität) Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration

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