Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität
|
|
- Bernt Heidrich
- vor 6 Jahren
- Abrufe
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
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
MehrWir 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
MehrClevere 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?
MehrAngewandte 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
MehrTheoretische 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
MehrBerechnungsmodelle. 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
MehrTheorie 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
MehrUnentscheidbarkeitssä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
MehrKapitel 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
MehrHandout 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)..............................
MehrMä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
MehrLogik 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
MehrHilberts 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
MehrLOGIK 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
MehrTheoretische 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.
MehrAlgorithmen & 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
MehrBerechenbarkeit 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
MehrBerechenbarkeit 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.
Mehr6.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
MehrBerechenbarkeit 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
MehrLogik 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
MehrGrundlagen 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
MehrRegistermaschine (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)...
MehrDer 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,
MehrLogik 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
MehrMartin 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)
MehrGrundlagen 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
MehrTuring-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
MehrChaitins 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
MehrSeminararbeit 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
MehrUnentscheidbare 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
MehrTypen von Programmiersprachen
Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:
MehrAchim 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
MehrTuringmaschinen. 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
MehrFormale 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:
MehrBerechenbarkeitstheorie 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:
MehrMä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
MehrEinige 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
MehrWiederholung. 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
MehrEntscheidungsprobleme
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
MehrVL-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,
MehrAlgorithmen & 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
MehrUnentscheidbare 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
MehrLOOP-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: ; :=
MehrRegistermaschine (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
MehrGrundlagen 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
MehrEinfü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
MehrKapitel 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
MehrKapitel 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 /
MehrInformatik 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
Mehr1 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
MehrAxiome 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
Mehr2.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
MehrZufall 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
MehrEin 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
MehrTheoretische 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
MehrWarum 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
MehrAuffrischung 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:
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
MehrInformatik 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
MehrTheoretische 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
MehrKapitel 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
Mehr2.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.
MehrALP 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
MehrEinfü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
MehrEntscheidungsprobleme
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
MehrEinfü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
MehrEinfü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
MehrGö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
MehrTheoretische 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?
MehrTuringmaschinen. 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
MehrBerechenbarkeit 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
MehrMä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
MehrStefan 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
Mehr8. 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
MehrVL-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
MehrEinfü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
MehrInhalt. 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
Mehr1 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
MehrMATHEMATIQ. 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
MehrDank. 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
MehrDefinition 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
MehrBerechenbarkeit 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
MehrAngewandte 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
MehrInhalt. 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
MehrBerechenbarkeit 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.
MehrInformatik. 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 -
MehrTheoretische 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:
Mehr1.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:
MehrTeil 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
Mehr3. 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
MehrFunktionale 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
MehrDie 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
MehrGrundlagen 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
MehrAlgorithmenbegriff: 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
Mehr1.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