Theoretische Informatik 1
|
|
- Reiner Meyer
- vor 7 Jahren
- Abrufe
Transkript
1 Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012
2 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung Kostenmaße uniformes Kostenmaße logarithmische Kostenmaße Komplexität Komplexität Effizienz Church-Turing These Church-Turing These Zusammenfassung
3 Begriff Algorithmus Das Zehnte Hilbert sche Problem 1 (dt. Originaltext) Eine diophantische (=ganzzahlige) Gleichung mit irgendwelchen Unbekannten und mit ganzen rationalen Zahlenkoeffizienten sei vorgelegt. Man soll ein Verfahren angeben, nach welchem sich mittels einer endlichen Anzahl von Operationen entscheiden lässt, ob die Gleichung in ganzen Zahlen lösbar ist. David Hilbert (1912) 2 1 David Hilbert präsentiert 1900 in Paris die 23 offenen Probleme der Mathematik 2 Aus Wikipedia - die freie Enzyklopädie
4 Begriff Algorithmus Hilbert hat also explizit und in definierter abstrakter Form nach einem Entscheidungsalgorithmus gefragt. Er war davon überzeugt, dass es einen solchen prinzipiell immer gibt. Tatsächlich konnte 1970 bewiesen werden, dass es keinen solchen Algorithmus geben kann.
5 Algorithmus konkretisiert endliche Anzahl an Operationen endliche, nummerierte Anweisungsliste (Programm) Rechenoperationen: + (Zwischen-)Ergebnisse: r 0, r 1,..., r k,... bedingte Verzweigung (JZERO), Sprung(GOTO) definierter Haltebefehl: END = Registermaschine (RM auch RAM (en.))
6 Schema einer Registermaschine (RM) 1 Graphik aus: Asteroth, Baier: Theoretische Informatik, Pearson Studium
7 Befehlssatz einer Registermaschine LOAD x r 0 := v(x) STORE k r k := r 0 STORE k r rk := r 0 ADD x r 0 := r 0 + v(x) SUB x r 0 := max {0, r 0 v(x)} MULT x r 0 := r 0 v(x) DIV x r 0 := r 0 v(x) GOTO k b := k JZERO k if r 0 = 0 then b := k END b := 0 danach: b := b + 1 (außer nach Verzweigungen) Argumentwert x v(x) #k k k r k k r rk Register: i N 0 : r i N 0 b = 0 HALT Falls R terminiert, erwarten wir das Ergebnis der Berechnung im Akkumulator r 0.
8 Formale Beschreibung Ein RM-Programm R = (π 1,..., π m ) ist eine endliche Sequenz von Anweisungen. Eine Registerbelegung R = {(j 1, r j1 ), (j 2, r j2 ),..., (j l, r jl )} ist eine endliche Menge von Register-Wert-Paaren. Alle Register, die nicht in R aufgezählt sind haben den Wert 0. Die Eingabe für eine RM R soll ein Tupel von k Zahlen x 1,..., x k N 0 sein. Die initiale Registerbelegung lautet: R[x 1,..., x k ] = {(1, x 1 ), (2, x 2 ),..., (k, x k )}
9 Definition (Konfiguration) Konfigurationen Die Konfiguration einer RM ist ein Tupel κ = (b, R), wobei b N 0 der nächste auszuführende Befehls ist und R N 2 0 die aktuelle Registerbelegung darstellt. Definition (Konfigurationsrelation R ) Sei κ = (b, R) und κ = (b, R ), dann ist κ κ wahr, gdw. R entweder π b ein Sprungbefehl nach b und R = R ist, oder b = b + 1 und R = {(j, x)} (R \ {(i, y) N 2 0 i = j}), wobei j das von π b adressierte Register und x dessen neu berechneter Inhalt ist. Eine terminierte Konfiguration (0, R) hat keine Nachfolgekonfiguration.
10 Konfigurationen Definition ( n R, R ) κ 0 R κ genau dann wenn κ = κ. κ n+1 R κ gdw κ N 2 N2 0 : κ n R κ κ R κ R ist die reflexive, transitive Hülle von R.
11 Definition (Berechnete partielle Funktion einer RM) Die durch R berechnete partielle Funktion f R : N k 0 N 0 ist gegeben durch r 0 : R : κ 0 R (0, R ) (0, r 0 ) R f R (x 1,..., x k ) = : R : κ 0 R (0, R ) wobei κ 0 = (1, R[x 1,..., x k ]) die Startkonfiguration darstellt. Definition (RM-Berechenbarkeit) Eine partielle Funktion f : N k 0 N 0 wird RM-berechenbar genannt, wenn es eine Registermaschine R gibt, sodass f = f R
12 Beispiel: Berechne x y Startkonfiguration: κ 0 = (1, R[x, y]), x, y N 0 Gesucht: RM-Programm R, sodass f R (x, y) = x y Pseudocode für z = x y z = 1; while y > 0 z := z x; y := y 1; wend RM Programm 1 LOAD #1 2 STORE 3 3 LOAD 2 4 JZERO 11 5 SUB #1 6 STORE 2 7 LOAD 3 8 MULT 1 9 STORE 3 10 GOTO 3 11 LOAD 3 12 END
13 uniforme Kostenmaße Es gilt: (1, R[x 1,..., x k ]) i R (b i, R i ), mit b N = 0 Definition (uniforme Zeitkosten) Die uniformen Zeitkosten der RM R bei Eingabe von x 1,..., x k sind definiert als t u R (x 1,..., x k ) = N Definition (uniforme Platzkosten) Die uniformen Platzkosten der RM R bei Eingabe von x 1,..., x k sind definiert als { sr u 1 0 i N : (x ri,j 0 1,..., x k ) = 0 0 i N : r i,j = 0 j=0
14 Uniforme Zeitkosten: Beispiel x y tr u (x, y) = 4 + Zeile y + Zeile 5-10,3,4; y Durchläufe + 2 Zeile 11,12 = 8y + 6 Uniforme Platzkosten: sr u (x, y) = 4 Entspricht das unserer Vorstellung von intuitiver Komplexität?
15 Logarithmische Länge L(x) Definition (Logarithmische Länge) Sei x N 0, dann ist die Logarithmische Länge von x die Anzahl der für die binäre Darstellung von x benötigten Bits. { 1 : x = 0 L(x) = log x + 1 : x 1
16 logarithmische Zeitkosten Definition (logarithmische Zeitkosten) Die logarithmischen Zeitkosten der RM R bei Eingabe von x 1,..., x k sind definiert als t R (x 1,..., x k ) = N 1 i=0 1 π bi =GOTO END L(r i,0 ) π bi =JZERO op L(r i,0 )+L(op) π bi =ADD SUB MULT DIV #op L(r i,0 )+L(op) π bi =STORE op L(r i,0 )+L(op)+L(r i,op ) π bi =ADD SUB MULT DIV op L(r i,0 )+L(op)+L(r i,op ) π bi =STORE op L(r i,0 )+L(op)+L(r i,op )+ +L(r i,ri,op ) π bi =ADD SUB MULT DIV op L(op) π bi =LOAD #op L(op)+L(r i,op ) π bi =LOAD op L(op)+L(r i,op )+L(r i,ri,op ) π bi =LOAD op.
17 logarithmische Platzkosten Definition (logarithmische Platzkosten) Die logarithmischen Platzkosten der RM R bei Eingabe von x 1,..., x k sind definiert als s R (x 1,..., x k ) = j=0 { max0 i N L(r i,j ) 0 i N : r i,j i N : r i,j = 0
18 Beispiel x y, logarithmische Zeitkosten pro Befehl uniform logarithmisch 1 LOAD #1 r STORE 3 r 3 r LOAD 2 r 0 r L(r 2 ) 4 JZERO 11? r 0 = 0 1 L(r0 ) 5 SUB #1 r 0 r L(r 0 ) STORE 2 r 2 r L(r 0 ) 7 LOAD 3 r 0 r L(r 3 ) 8 MULT 1 r 0 r 0 r 1 1 L(r 0 ) L(r 1 ) 9 STORE 3 r 3 r L(r 0 ) 10 GOTO LOAD 3 r 0 r L(r 3 ) 12 END 1 1
19 Uniforme Zeitkosten: Beispiel x y tr u (x, y) = 4 + Zeile y + Zeile 5-10,3,4; y Durchläufe + 2 Zeile 11,12 = 8y + 6 Logarithmische Zeitkosten: ( y i=1 L(i) y(l(y) 1)) t R (x, y) = 9 + 2L(y) + yl(x) Z 1-4, y i=1 L(i) + 3L(x) y i=1 i yl(x) + 11y Z 5-10, y 2 L(x) + (4y + 2)L(y) + y(7 3 2 L(x)) + 9
20 Komplexität Definition (Zeitkomplexität, Laufzeit) Die Zeitkomplexität T R (n) einer RM R in Abhängigkeit der logarithmischen Länge n der Eingabe ist definiert als T R (n) = max t R (x 1,..., x k ) (x 1,...,x k ) N k 0 : L(x 1)+ +L(x k ) n Definition (Platzkomplexität, Speicherbedarf) Die Platzkomplexität S R (n) einer RM R in Abhängigkeit der logarithmischen Länge n der Eingabe ist definiert als S R (n) = max s R (x 1,..., x k ) (x 1,...,x k ) N k 0 : L(x 1)+...+L(x k ) n
21 Beispiel x y, Komplexität T u R Unter dem uniformen Kostenmaß: tr u (x, y) = 8y + 6 L(x) = n x, L(y) = n y <= 8 2 ny + 6 n = n x + n y T u R (n) <= 8 2n = O(2 n ) Linear im Eingabewert heißt exponentiell in der EingabeLänge!
22 Beispiel x y, Komplexität T R Unter dem logarithmischen Kostenmaß: t R (x, y) = 3 2 y 2 L(x) + (4y + 2)L(y) + y(7 3 2 L(x)) ny n x + (4 2 ny + 2)n y + 2 ny (6 3 2 n x) + 9 T R (n) n n + (4 2 n + 2)n + 2 n (6 3 2 n) n22n n2n n + 2n + 9 = O(n2 2n ) also sogar superexponentielle Laufzeit (/ O(poly(n)))
23 Effizientere Berechnung von x y Grundidee (Square & Multiply): Reduziere die Anzahl der Schleifendurchläufe Ersetzte z = z x durch z = z z Anzahl der Schleifendurchläufe nur mehr: log y Zeitbedarf unter dem uniformen Kostenmaß: TR u (n) = O(n) Zeitbedarf unter dem logarithmischen Kostenmaß: T R (n) = O(2 n )
24 Polynomielle Zeitbeschränkung Definition (Polynomielle Zeitbeschränkung) Wir nennen eine RM R polynomiell Zeitbeschränkt, falls die Kostenfunktion T R polynomiell Zeitbeschränkt ist. T R (n) = O (poly(n)) d.h. es gibt ein Polynom p für das gilt T R (n) p(n) n N Ein Problem heißt effizient lösbar, wenn es eine polynomiell Zeitbeschränkte Registermaschine R gibt, die das Problem löst.
25 uniforme vs. logarithmische Kosten Solange man nur die Frage der polynomiellen Laufzeit beantworten möchte, kann man unter folgenden Voraussetzungen das uniforme Kostenmaß verwenden. TR u (n) = O(poly(n))) max i,j L(r i,j ) = O(poly(n)) Sind beide Voraussetzungen erfüllt, dann gilt T R (n) = O(poly(n))
26 N 1 tr u (x 1,..., x k ) = 1 Beweisskizze i=0 N 1 t R (x 1,..., x k ) = {1 L(op) L(r i,op ) L(r i,ri,op )} }{{} i=0 bis zu 4 Summanden h(x 1,...,k ) := max L(r i,j ) und H(n) = max h(x 1,...,k ) i,j L(x 1 )+...+L(x k ) n t R (x 1,...,k ) 4 N 1 T R (n) i=0 max L(x 1 )+...+L(x k ) n h(x 1,...,k ) = 4t u R (x 1,...,k) h(x 1,...,k ) (4tR u (x 1,...,k) h(x 1,...,k )) 4TR u (n) H(n) T R (n) = O (TR u (n) H(n))
27 Beweisskizze T R (n) = O (TR u (n) H(n)) laut Annahme: H(n) = O(poly(n)) TR u (n) = O(poly(n)) T R (n) = O(poly(n))
28 RM ohne Multiplikation Das RM - Modell kann ohne Verlust der Berechnungsstärke eingeschränkt werden indem (z.b.) auf die Multiplikation verzichtet wird: Eine RM R ohne MULT Simuliert eine RM R mit MULT sodass T R (n) = O(T R (n) 2 ) (ohne Beweis)
29 Church-Turing These Church-Turing These Die Klasse der intuitiv berechenbaren Funktion ist genau die Klasse der Turing-berechenbaren, d.h. durch ein Turing-vollständiges Prozessmodell (z.b. RM), berechenbaren Funktionen. Erweiterte Church sche These Jedes sinnvolle Prozessmodell kann effizient auf einem Standardmodell (Turing-Maschine, Registermaschine) simuliert werden. Effizient heißt, dass der Zeitverlust maximal polynomiell ist Diese These ist für alle bekannten Prozessmodelle bewiesen.
30 Zusammenfassung Algorithmusbegriff konkretisieren: Maschinenmodelle Registermaschine: ähnlich zu modernem Computer Grundrechenarten als Basisfunktionen Aufpassen bei Kostenmaßen (uniform/logarithmisch) Polynomiell Zeitbeschränkte RM effiziente Berechenbarkeit Viele unterschiedliche Maschinenmodelle Beliebig austauschbar Church-Turing These
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?
MehrTheoretische Informatik 1
heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung U Graz SS 2014 Übersicht uring Maschinen Algorithmusbegriff konkretisiert Modelldefinition uring-berechenbarkeit
MehrTheoretische Informatik 1
heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016 Übersicht uring Maschinen Algorithmusbegriff konkretisiert
MehrTheoretische Informatik 1
Theoretische Informatik 1 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Allgemein Teilgebiete der Informatik ohne Theoretische Grundlagen 2 Fragen an
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
MehrTheoretische Informatik 1
Theoretische Informatik 1 Teil 4 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Turingmaschinen Mehrband-TM Kostenmaße Komplexität 2 Mehrband-TM Kostenmaße
MehrTheoretische Informatik 1
Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die
MehrTheoretische Informatik 1 Sommersemester 2012
Vorlesungsskriptum Theoretische Informatik 1 Sommersemester 2012 Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz Autoren: Florian Burgstaller, Andreas Derler, Armin Eibl,
MehrTheoretische Informatik 1
Vorlesungsskriptum Theoretische Informatik 1 Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 3. März 2016 Autoren der ersten Auage, 2012: Florian Burgstaller Andreas Derler
MehrTheoretische Informatik 1 Sommersemester 2012
Vorlesungsskriptum Theoretische Informatik 1 Sommersemester 2012 Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz Autoren: Florian Burgstaller, Andreas Derler, Armin Eibl,
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)...
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
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
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
MehrLaufzeit einer DTM, Klasse DTIME
Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes
MehrTheoretische Informatik 1
heoretische Informatik 1 eil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung U Graz SS 2009 Übersicht 1 uring Maschinen uring-berechenbarkeit 2 Kostenmaße Komplexität 3 Mehrband-M
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin Maike.Buchin@rub.de Raum NA 1/70 Sprechzeiten:
Mehr11. 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
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrÜ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
MehrTheoretische Informatik 1
Theoretische Informatik 1 Vollständigkeit 1 David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 20.05.2016 Übersicht Schwere Definition CIRCUIT-VALUE ist P-schwer
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
MehrAllgemeines Halteproblem Hilberts 10. Problem
Allgemeines Halteproblem Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
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
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.
MehrZeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1
Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in
Mehr2. Imperative Programmierung und Berechenbarkeit - Registermaschinen -
2. Imperative Programmierung und Berechenbarkeit - Registermaschinen - 2.1 Definition 2.2 Loop-Programme 2.3 While Programme 2.4 While Programme und rekursive Funktionen Im Wesentlichen: Tafel! Maschinenmodell
MehrAlgorithmen und Datenstrukturen 1 Kapitel 4.1
Algorithmen und Datenstrukturen 1 Kapitel 4.1 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 4: Maschinenmodelle [Dieses Kapitel hält sich eng an
MehrBerechenbarkeit 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
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
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.
MehrRekursive Funktionen Basisfunktionen
Rekursive Funktionen Basisfunktionen die nullstellige Funktion Z, die den konstanten Wert 0 liefert, die Funktion S : N N, bei der jeder natürlichen Zahl ihr Nachfolger zugeordnet wird, die Funktion P
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
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: ; :=
MehrReduktion / Hilberts 10. Problem
Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
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
Mehr12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP
12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller
MehrDie Reduktion Hilberts 10. Problem
Die Reduktion Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 8. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrKomplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF
Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF Einflussgrößen bei der Bildung von Komplexitätsklassen Das zugrunde liegende Berechnungsmodell (Turingmaschine, Registermaschine
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 07.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
MehrBerechenbarkeit und Komplexität Vorlesung 3
Berechenbarkeit und Komplexität Vorlesung 3 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 22. November 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 22.
MehrÄquivalenzen. F3 03/04 p.1/??
Äquivalenzen Eine Menge M ist genau dann aufzählbar, wenn sie von einem Automaten der folgenden Art erkannt werden kann: 1. Einer deterministischen Turing-Maschine (DTM). 2. Einer nichtdeterministischen
MehrAnhang zum Lehrbuch über Datenstrukturen und Algorithmen
Anhang zum Lehrbuch über Datenstrukturen und Algorithmen Hans Ulrich Simon 10. April 018 Zusammenfassung Der Stoff der Vorlesung Datenstrukturen im Sommersemester 018 deckt sich zum großen Teil mit den
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
MehrAlgorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems
4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik
MehrSyntax 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:
MehrVL-05: Unentscheidbarkeit I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
VL-05: Unentscheidbarkeit I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-05: Unentscheidbarkeit I 1/37 Organisatorisches Nächste Vorlesung: Donnerstag, November
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
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrTheoretische Informatik 1
Theoretische Informatik 1 Search - Beweis der Korrektheit David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2013 Algemeine Anmerkungen zur Übung 9 Aufgabenblätter, 3 Abgabetermine
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
MehrTheorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit
Theorie der Informatik 13. Mai 2015 20. P, NP und polynomielle Reduktionen Theorie der Informatik 20. P, NP und polynomielle Reduktionen 20.1 P und NP Malte Helmert Gabriele Röger 20.2 Polynomielle Reduktionen
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Tutorium 1-13. Sitzung Dennis Felsing dennis.felsing@student.kit.edu http://www.stud.uni-karlsruhe.de/~ubcqr/2010w/tut gbi/ 2011-01-31 Turingmaschinen 1 Turingmaschinen Wiederholung
Mehr1 Random Access Maschine
1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband,
MehrPolynomielle Verifizierer und NP
Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert
MehrTheoretische 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
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
MehrTypen von Programmiersprachen
Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:
MehrIsomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt
Isomorphismus Definition Gruppen-Isomorphismus Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt 1 f ist bijektiv f (u + v) = f (u) f (v) für alle u, v G, die
MehrÜbersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
Mehr3.3 Laufzeit von Programmen
3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,
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
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
MehrTheoretische Informatik 1
Theoretische Informatik 1 Platzkomplexität David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 22.04.2016 Platzkomplexität Platzkomplexitätsklassen Zeit vs. Platzbedarf
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
MehrInformatik II. Turingmaschinen. Turingmaschinen. Turingmaschinen. Rainer Schrader. 14. Dezember 2005
Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Dezember 2005 1 / 76 2 / 76 Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Simulation RAM/Turingmaschine nichtdeterministische
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
MehrDas zehnte Hilbertsche Problem. Seminar Arbeit von Jurij Bernhardt ( )
Das zehnte Hilbertsche Problem Seminar Arbeit von Jurij Bernhardt (4004655) (11) In dem 10 en Hilbertschen Problem geht es um Existenz eines Algorithmus oder einer Methode zur Bestimmung ganzzahliger Lösungen
MehrHärte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft
Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 5. Februar 2010 Berthold Vöcking, Informatik
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
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
MehrRandom Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
MehrTheoretische Informatik 1
Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP
MehrDiskrete Mathematik II
Diskrete Mathematik II Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Sommersemester 2011 DiMa II - Vorlesung 01-04.04.2011 1 / 252 Organisatorisches Vorlesung: Mo 12-14 in HZO 70, Di 09-10
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: ; :=
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
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
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
MehrAlgorithmen und Programmierung
Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen
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
MehrDie Klasse NP und die polynomielle Reduktion
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
Mehr2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
MehrVorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13
Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2012/13 Prof. Barbara König Übungsleitung: Henning Kerstan & Sebastian Küpper Barbara
MehrDas Rucksackproblem: schwache NP-Härte und Approximation
Das Rucksackproblem: schwache NP-Härte und Approximation Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1. Februar 2010 Berthold Vöcking, Informatik 1 () Vorlesung
Mehr5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,
MehrPrimitiv rekursive und µ-rekursive Funktionen
Primitiv rekursive und µ-rekursive Funktionen Loop-, While- und Goto-Programme sind vereinfachte imperative Programme und stehen für imperative Programmiersprachen, bei denen Programme als Folgen von Befehlen
MehrBerechenbarkeit. Stefan Zimmer Informatik I Automatisierungstechnik in der Produktion. Grenzen unserer... Programme...
Berechenbarkeit Informatik I Automatisierungstechnik in der Produktion 22.12.2004 Page 1 of 14 1. Grenzen unserer Programmierkunst Die Menge der Programme, die wir bisher schreiben können, wird durch drei
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 (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.
Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit
MehrGTI. 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.
Mehr1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus
//5 Abstrakte Maschinenmodelle: Turingmaschine (TM) 96 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus einem festen Teil ( "Hardware ) einem variablen Teil ( "Software
Mehr