Theoretische Informatik 1
|
|
|
- Reiner Meyer
- vor 9 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?
Theoretische 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
Theoretische 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
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
Theoretische 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
Theoretische Informatik 1
Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die
Theoretische 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
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)...
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
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
Laufzeit 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
Theoretische 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
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin [email protected] Raum NA 1/70 Sprechzeiten:
11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P
11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie
Die 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
Ü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
Allgemeines Halteproblem Hilberts 10. Problem
Allgemeines Halteproblem Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
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
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.
Zeitkomplexitä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
2. 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
Algorithmen und Datenstrukturen 1 Kapitel 4.1
Algorithmen und Datenstrukturen 1 Kapitel 4.1 Technische Fakultät [email protected] Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 4: Maschinenmodelle [Dieses Kapitel hält sich eng an
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
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
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.
Rekursive 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
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: ; :=
Reduktion / Hilberts 10. Problem
Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
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
12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP
12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller
Komplexitä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
Berechenbarkeit 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.
Anhang 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
Algorithmen 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
Algorithmen 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
Einführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik
Syntax von LOOP-Programmen
LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:
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
Mä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
Berechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit
Theorie der Informatik 13. Mai 2015 20. P, NP und polynomielle Reduktionen Theorie der Informatik 20. P, NP und polynomielle Reduktionen 20.1 P und NP Malte Helmert Gabriele Röger 20.2 Polynomielle Reduktionen
Berechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
1 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,
Polynomielle Verifizierer und NP
Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert
Theoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
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
Typen von Programmiersprachen
Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:
Isomorphismus. 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
Ü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
3.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,
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
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
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
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
Das 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
Hä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
Theoretische 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
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
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner [email protected] Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
Theoretische 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
Theoretische 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
Diskrete 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
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: ; :=
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
Grundlagen: 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
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
Algorithmen 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
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
Die 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
2. 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
Das 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
5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,
Primitiv 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
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
Einfü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
GTI. Hannes Diener. 18. Juni. ENC B-0123,
GTI Hannes Diener ENC B-0123, [email protected] 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.
1936 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
