Rekursive Funktionen Basisfunktionen
|
|
|
- Kirsten Hofer
- vor 9 Jahren
- Abrufe
Transkript
1 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 : N N, bei der jede natürliche Zahl n 1 auf ihren Vorgänger und die 0 auf sich selbst abgebildet wird, die Funktionen P n i : N n N, die durch P n i (x 1, x 2,..., x n ) = x i definiert sind. Theoretische Informatik II 1
2 Rekursive Funktionen Operationen Kompositionsschema: Für eine m-stellige Funktion g und m n-stellige Funktionen f 1, f 2,..., f m definieren wir die n-stellige Funktion f vermöge f(x 1, x 2,..., x n ) = g(f 1 (x 1,..., x n ), f 2 (x 1,..., x n ),..., f m (x 1,..., x n )). Rekursionsschema: Für fixierte natürliche Zahlen x 1, x 2..., x n, eine n-stellige Funktion g und eine (n + 2)-stellige Funktion h definieren wir die (n + 1)-stellige Funktion f vermöge f(x 1, x 2,..., x n, 0) = g(x 1, x 2,..., x n ), f(x 1, x 2,..., x n, y + 1) = h(x 1, x 2,..., x n, y, f(x 1, x 2,..., x n, y)). Theoretische Informatik II 2
3 Rekursive Funktionen Definition und Charakterisierung Definition: Eine Funktion f : N n N heißt primitiv-rekursiv, wenn sie mittels endlich oft wiederholter Anwendung von Kompositions- und Rekursionsschema aus den Basisfunktionen erzeugt werden kann. Satz: Eine Funktion f ist genau dann primitiv-rekursiv, wenn sie LOOP-berechenbar ist. Theoretische Informatik II 3
4 Primitiv-rekursive Funktionen Beispiele I a) f mit f(n) = S(S(n)) f mit f (n) = S(f(n)) = S(S(S(n))) f bzw. f ordnen jeder natürlichen Zahl ihren zweiten bzw. dritten Nachfolger zu b) P (S(x)) ist primitiv-rekursiv P (S(x)) = x id : N N mit id(x) = x ist primitiv-rekursiv, Theoretische Informatik II 4
5 Primitiv-rekursive Funktionen Beispiele II c) Addition natürlicher Zahlen add(x, 0) = id(x), add(x, y + 1) = S(P 3 3 (x, y, add(x, y))) Multiplikation natürlicher Zahlen mult(x, 0) = Z(x), mult(x, y + 1) = add(p 3 1 (x, y, mult(x, y)), P 3 3 (x, y, mult(x, y))) d) sum(0) = Z(0) = 0, sum(y + 1) = S(add(y, sum(y))) definieren y y(y + 1) sum(y) = i = 2 i=0 Theoretische Informatik II 5
6 µ-operator Für eine (n + 1)-stellige Funktion h definieren wir die n-stellige Funktion f wie folgt: f(x 1, x 2,..., x n ) = z gilt genau dann, wenn die folgenden Bedingungen erfüllt sind: - h(x 1, x 2...., x n, y) ist für alle y z definiert, - h(x 1, x 2,..., x n, y) 0 für y < z, - h(x 1, x 2,..., x n, z) = 0. Bezeichnung: f(x 1,..., x n ) = (µy)[h(x 1,..., x n, y) = 0], f = (µy)[h] Beispiele: { 0 für x = 0 a) (µy)[add(x, y)] = nicht def iniert sonst b) Für h(x, y) = 9x 2 10xy + y 2 gilt (µy)[h(x, y)] = id Theoretische Informatik II 6
7 Partiell-rekursive Funktionen Definition: Eine Funktion f : N n N heißt partiell-rekursiv, wenn sie mittels endlich oft wiederholter Anwendung von Kompositionsschema, Rekursionsschema und µ-operator aus den Basisfunktionen erzeugt werden kann. wenn sie LOOP/WHILE- Satz: Eine Funktion ist genau dann partiell-rekursiv, berechenbar ist. Folgerung: Es gibt eine totale Funktion, die nicht partiell-rekursiv ist. Theoretische Informatik II 7
8 Registermaschine Definition I i) Eine Registermaschine besteht aus den Registern B, C 0,, C 1, C 2,..., C n,... und einem Programm. B heißt Befehlszähler, C 0 heißt Arbeitsregister oder Akkumulator, und jedes der Register C n, n 1, heißt Speicherregister. Jedes Register enthält als Wert eine Zahl aus N 0. ii) Unter einer Konfiguration der Registermaschine verstehen wir das unendliche Tupel (b, c 0, c 1,..., c n,...), wobei das Register B die Zahl b enthält, für n 0 das Register C n die Zahl c n enthält. iii) Das Programm ist eine endliche Folge von Befehlen. Theoretische Informatik II 8
9 Registermaschine Definition II Liste der zugelassenen Befehle und der von ihnen bewirkte Änderung der Konfiguration (b, c o, c 1,... c n,...) in die Konfiguration (b, c 0, c 1,..., c n,...) (wobei u = u für die nicht angegebenen Komponenten gilt) Ein- und Ausgabebefehle: LOAD i, i N b = b + 1 c 0 = c i ILOAD i, i N b = b + 1 c 0 = c ci CLOAD i, i N 0 b = b + 1 c 0 = i STORE i, i N b = b + 1 c i = c 0 ISTORE i, i N b = b + 1 c c i = c 0 Sprungbefehle: GOTO i, i N b = i { IF c 0 = 0 GOTO i, i N b i falls c0 = 0 = b + 1 sonst Theoretische Informatik II 9
10 Registermaschine Definition III Arithmetische Befehle: ADD i, i N b = b + 1 c 0 = c 0 + c i CADD i, i N b = b + 1 c 0 = c 0 + i SUB i, i N b = b + 1 c 0 = { c0 c i für c 0 c i 0 sonst { CSUB i, i N b = b + 1 c c0 i für c 0 = 0 i 0 sonst MULT i, i N b = b + 1 c 0 = c 0 c i CMULT i, i N b = b + 1 c 0 = c 0 i DIV i, i N b = b + 1 c 0 = c 0 /c i CDIV i, i N b = b + 1 c 0 = c 0 /i Stopbefehl: END Theoretische Informatik II 10
11 Registermaschine induzierte Funktion Definition: Sei M eine Registermaschine. Die von M induzierte Funktion f M : N n N ist wie folgt definiert: f(x 1, x 2,... x n ) = y gilt genau dann, wenn M ausgehend von der Konfiguration (1, 0, x 1, x 2,..., x n, 0, 0,...) die Konfiguration (b, c 0, y, c 2, c 3,...) für gewisse b, c 0, c 2, c 3,... erreicht und der b-te Befehl des Programm END ist. Theoretische Informatik II 11
12 Registermaschine Beispiel 1 Registermaschine M 1 mit Programm 1 CLOAD 1 8 LOAD 2 2 STORE 3 9 CSUB 1 3 LOAD 2 10 STORE 2 4 IF c 0 = 0 GOTO GOTO 4 5 LOAD 3 12 LOAD 3 6 MULT 1 13 STORE 1 7 STORE 3 14 END f M1 (x, y) = 1 x x... x } {{ } y mal = x y Theoretische Informatik II 12
13 Registermaschine Beispiel 2 Registermaschine M 2 mit Programm 1 LOAD 1 8 LOAD 1 2 IF c 0 = 0 GOTO 12 9 CSUB 1 3 LOAD 2 10 STORE 1 4 CADD 1 11 GOTO 1 5 STORE 2 12 LOAD 3 6 ADD 3 13 STORE 1 7 STORE 3 14 END f M2 (n) = n i=1 i Theoretische Informatik II 13
14 Registermaschinen versus LOOP/WHILE-Programme I Satz: Zu jedem LOOP/WHILE-Programm Π gibt es eine Registermaschine M derart, dass f M = Φ Π,1 gilt. Beweis: (Induktion über die Tiefe) x i := 0 wird simuliert durch x i := S(x j ) wird simuliert durch 1 CLOAD 0 1 LOAD j 2 STORE 1 2 CADD 1 3 END 3 STORE i 4 END Theoretische Informatik II 14
15 Registermaschinen versus LOOP/WHILE-Programme II Π = Π 1 ; Π 2 M i Registermaschine mit f Mi = Φ Πi,1, i {1, 2}, Programm P i von M i bestehe aus r i Befehlen p i,j sei der j-te Befehl von P i p i,ri = END und dies einziger Stopp-Befehl in P i q j,2 = p j,2, falls p j,2 kein Sprungbefehl sonst entstehe q j,2 aus p j,2 durch Erhöhung der Sprungadresse um r p i,1 r 1 q 1,2 2 p r1 1,1 r q 2, r 1 1 p r1 1,1 r 1 + r 2 1 q r2,2 berechnet Φ Π,1 Theoretische Informatik II 15
16 Registermaschinen versus LOOP/WHILE-Programme III Π = WHILE x i 0 BEGIN Π END M Registermaschine M mit f M = Φ Π,1 p 1, p 2,..., p r Befehle von M p r = END einziger Stoppbefehl q i entstehe aus p i durch Erhöhung aller Befehlsnummer um 2 (sowohl Nummern der Befehle als auch Nummern der Sprungadressen) 1 LOAD i IF c 0 = 0 GOTO r + 3 r + 1 q r 1 3 q 1 r + 2 GOTO 1 4 q 2 r + 3 END berechnet Φ Π,1 Theoretische Informatik II 16
17 Registermaschinen versus k-band-turing-maschinen dec(n) Dezimaldarstellung von n Satz: Sei M eine Registermaschine M mit f M : N n N. Dann gibt es eine 3-Band- Turing-Maschine M, deren Eingabealphabet außer den Ziffern 0,1,2,... 9 noch das Trennsymbol # und das Fehlersymbol F enthält und deren induzierte Funktion f M (w) = { dec(fm (m 1, m 2,..., m n )) w = dec(m 1 )#dec(m 2 )... #dec(m n ) F sonst gilt (auf einer Eingabe, die einem Zahlentupel entspricht, verhält sich M wie M und gibt bei allen anderen Eingaben eine Fehlermeldung). Theoretische Informatik II 17
18 Zusammenfassung Satz: Für eine Funktion f sind die folgenden Aussagen gleichwertig: f ist durch ein LOOP/WHILE-Programm berechenbar. f ist partiell-rekursiv. f ist durch eine Registermaschine berechenbar. f ist bis auf Konvertierung der Zahlendarstellung durch eine Turing-Maschine berechenbar. f ist bis auf Konvertierung der Zahlendarstellung durch eine k-band-turing-maschine berechenbar. Theoretische Informatik II 18
19 Komplexität von Registermaschinen Beschränkung der (indirekten) arithmetischen Befehle auf Addition und Subtraktion Definition: Es sei M eine Registermaschine. Die (uniforme) Komplexität von M auf (x 1, x 2,..., x n ), bezeichnet durch t M (x 1, x 2,..., x n ) ist als Anzahl der Schritte definiert, die M bis zum Erreichen des END-Befehls auf der Eingabe (x 1, x 2,..., x n ) ausführt. Definition: Es sei M eine Registermaschine. Wir sagen, dass M t(n)-zeitbeschränkt ist, wenn t M (x 1, x 2,..., x n ) t(n) für jede Eingabe (x 1, x 2,..., x n ) gilt. Theoretische Informatik II 19
20 Registermaschinen versus Turing-Maschinen Satz: i) Jede t(n)-zeitbeschränkte Registermaschine kann durch eine O((t(n)) 3 )- zeitbeschränkten 3-Band-Turing-Maschine simuliert werden. ii) Jede t(n)-zeitbeschränkte Registermaschine kann durch eine O((t(n)) 6 )- zeitbeschränkten Turing-Maschine simuliert werden. Lemma: Es sei k 2. Jede t(n)-zeitbeschränkte k-band-turing-maschine kann durch eine O(t(n))-zeitbeschränkte k-band-turing-maschine simuliert werden, die keine Zelle links der Eingabe betritt/verändert. Satz: Jede t(n)-zeitbeschränkte k-band-turing-maschine mit k 2 kann durch eine O(t(n))-zeitbeschränkte Registermaschine simuliert werden. Theoretische Informatik II 20
Turing-Maschine Definition
Turing-Maschine Definition Definition: Eine Turing-Maschine ist ein Quintupel M = (X, Z, z 0, Q, δ), wobei - X und Z Alphabete sind, - z 0 Z und Q Z gelten, - δ eine Funktion von (Z \ Q) (X { }) in Z (X
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
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
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
ALP I Rekursive Funktionen
ALP I Rekursive Funktionen SS 2011 Äquivalenz vieler Berechnungsmodelle Effektiv Berechenbare Funktionen Mathematische Modelle Maschinelle Modelle Text λ-kalkül Kombinatorische Logik Allgemein rekursive
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: ; :=
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: ; :=
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
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
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)...
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 Programmierung
Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen
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 13. November 2006 Turing-mächtige
Theoretische Informatik 1
Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung
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.
Theoretische Informatik II
Theoretische Informatik II Einheit 4.2 Rekursive Funktionen 1. Primitiv- und µ-rekursive Funktionen 2. Analyse und Programmierung 3. Äquivalenz zu Turingmaschinen Berechenbarkeit auf N ohne Maschinenmodelle
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 8 18. Juli 2011 Einführung in die Theoretische Informatik
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.
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.
Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier [email protected] 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:
6. Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen
6. Rekursive und primitiv rekursive Funktionen Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen IDEE: Definiere eine Klasse von (partiell) berechenbaren Funktionen über N
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
GOTO simuliert Turingmaschinen
GOTO simuliert Turingmaschinen Wir wissen bisher: LOOP ( GOTO = WHILE TM Jetzt zeigen wir, dass auch WHILE = TM gilt: Die Turingmaschine M =(Z,,,,z 1,, E) berechne f. Wir simulieren M mit einem GOTO-Programm
Primitiv rekursive Funktionen
Primitiv rekursive Funktionen Primitiv rekursive Funktionen Historisch: Die Einführung der primitiven Rekursivität war ein erster (und erfolgloser) Versuch, den Begriff der Berechenbarkeit (oft synonym
1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit
Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:
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
1.3 Primitiv rekursive und µ-rekursive Funktionen
Definition 1.11 Die Klasse der primitiv rekursiven Funktionen (a) Basisfunktionen: (1.) die konstanten Funktionen c (c N) (2.) die Projektionen Π m i (x 1,...,x m ) = x i (1 i m) (3.) die Nachfolgerfunktion
Primitiv rekursive und µ-rekursive Funktionen
Primitiv rekursive und µ-rekursive Funktionen Slide 1 Primitiv rekursive und µ-rekursive Funktionen Hans U. Simon (RUB) Email: [email protected] Homepage: http://www.ruhr-uni-bochum.de/lmi Primitiv rekursive
Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen
LOOP-Programme 1. Def (Meyer/Ritchie). LOOP-Programme werden induktiv aufgebaut aus den (Basis-) Anweisungen. Führe P X-mal aus ) LOOP-Programme 2
LOOP-Programme 1 LOOP-Programme verwenden (jeweils) endlich viele Variablen aus VAR := {X 0,X 1,X 2,...}, oft nur mit X,Y,Z,U,V,W bezeichnet, die als Register fungieren. Slide 1 Def (Meyer/Ritchie). LOOP-Programme
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.
Typen von Programmiersprachen
Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:
Rekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen
Rekursive und primitiv rekursive Funktionen Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen IDEE: Definiere eine Klasse von (partiell) berechenbaren Funktionen über N induktiv
Berechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
Mitschrift BFS WS 13/14
Mitschrift BFS WS 13/14 Stand: 4. Juni 2014 Dieses Skript zum Teil Primitive und µ-rekursion der Vorlesung Berechenbarkeit und Formale Sprachen im Wintersemester 2013/14 bei Prof. Wanka wurde von untenstehenden
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,
Theoretische Informatik SS 03 Übung 5
Theoretische Informatik SS 03 Übung 5 Aufgabe 1 Im Buch von Schöning ist auf S. 106-108 beschrieben, wie eine Turing-Maschine durch ein GOTO-Programm simuliert werden kann. Zeigen Sie, wie dabei die Anweisungen
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
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
Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php
VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,
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?
Theorie der Informatik Einleitung. Theorie der Informatik Basisfunktionen und Einsetzung Primitive Rekursion. 14.
Theorie der Informatik 16. April 2014 14. primitive Rekursion und µ-rekursion Theorie der Informatik 14. primitive Rekursion und µ-rekursion 14.1 Einleitung 14.2 Basisfunktionen und Einsetzung Malte Helmert
Asymptotische Komplexität
Asymptotische Komplexität f B n hängt wesentlich von der Variablen x i ab,, 1 i n, wenn es Werte a j für 1 j n, j i, derart gibt, dass f(a 1,..., a i 1, 0, a i+1,..., a n ) f(a 1,..., a i 1, 1, a i+1,...,
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Turing-Maschine, Berechenbarkeit INSTITUT FÜR THEORETISCHE 0 KIT 07.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen
Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt. I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen
Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen Berechenbarkeitsmodelle Welchen Sinn haben diese? Wie kann man effizient
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
Unentscheidbarkeitssätze der Logik
Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie
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
Def.: Die Menge der LOOP-Programme ist induktiv wie folgt definiert:
3. LOOP-, WHILE- und GOTO-Berechenbarkeit 3.1 LOOP-Programme Komponenten: Variablen: x 0, x 1, x 2,, y, z, Konstanten: 0, 1, 2, Trennsymbole: ; := Operationszeichen: +, - Schlüsselwörter: LOOP, DO, END
Einführung in die Theoretische Informatik Tutorium IX
Einführung in die Theoretische Informatik Tutorium IX Michael R. Jung 16. & 17. 12. 2014 EThI - Tutorium IX 1 1 Entscheidbarkeit, Semi-Entscheidbarkeit und Unentscheidbarkeit 2 EThI - Tutorium IX 2 Definitionen
Theoretische Informatik II. WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch. 1. Teilklausur Vorname:... Nachname:...
Theoretische Informatik II WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch 1. Teilklausur 11. 12. 2007 Persönliche Daten bitte gut leserlich ausfüllen! Vorname:... Nachname:... Matrikelnummer:...
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
Funktionale Programmierung ALP I. µ-rekursive Funktionen WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
ALP I µ-rekursive Funktionen WS 2012/2013 Primitiv-rekursive Funktionen Jede primitiv-rekursive Funktion ist Loop-berechenbar. Das bedeutet, dass jede PR-Funktion in der Loop-Programmiersprache formuliert
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
Übungsblatt 1. Lorenz Leutgeb. 30. März 2015
Übungsblatt Lorenz Leutgeb 30. März 205 Aufgabe. Annahmen ohne Einschränkungen: P Σ und P Γ. Per Definitionem der Reduktion: P P 2 f : Σ Γ wobei f total und berechenbar, genau so, dass: w Σ : w P f(w)
Primitive Rekursion. Basisfunktionen: Konstante Funktion: const 3 3 (1,1, pr 1,3(g,h) (1,1)) Projektion: proj 3 (1,1, pr. Komposition: comp 3,2
Primitive Rekursion Basisfunktionen: Konstante Funktion: const Stelligkeit. Wert des Ergebnisses. Unabhängig von den Parametern. const (,, pr,(g,h) (,)) Stelligkeit. Projektion: proj Gibt die Komponente
Einführung in die Berechenbarkeitstheorie
Einführung in die Berechenbarkeitstheorie Timo Kötzing 4. November 2013 1 Einleitung Dieses Dokument bietet eine kurze Einführung in die Grundlagen der Berechenbarkeitstheorie (für eine Ausführliche Behandlung
Analysis für Informatiker
Analysis für Informatiker Wintersemester 2017/2018 [email protected] 1 Bemerkung: Dies ist kein Skript, welches den gesamten Inhalt der Vorlesung abdeckt. Es soll den Studierenden aber während
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
Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 12 Besprechung in KW 03 / Abgabe in KW 04 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren
Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen
Kapitel 1: rekursive Mengen 1 rekursive Mengen 1.1 Definition 1.1.1 informal Eine Menge heißt rekursiv oder entscheidbar, wenn ihre charakteristische Funktion berechenbar ist. 1.1.2 formal Eine Menge A
Algorithmen und Datenstrukturen I - Maschinenmodelle -
Algorithmen und Datenstrukturen I - Maschinenmodelle - Thies Pfeiffer Technische Fakultät [email protected] Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 93 Kapitel 3 - Maschinenmodelle
Informatik III. Arne Vater Wintersemester 2006/ Vorlesung
Informatik III Arne Vater Wintersemester 2006/07 11. Vorlesung 30.11.2006 1 Beziehungen zwischen den Sprachen Jede reguläre Sprache ist eine kontextfreie Sprache. Jede kontextfreie Sprache ist eine entscheidbare
2. Klausur Einführung in die Theoretische Informatik Seite 1 von Welche der folgenden Aussagen zur Aussagenlogik ist falsch?
2. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welche der folgenden Aussagen zur Aussagenlogik ist falsch? A. Für jede Formel A existiert eine DNF D und eine KNF K, sodass A D K
6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr
6.4 Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem Typ 3 ja ja ja ja DCFL ja ja ja nein (*) Typ 2 ja ja nein (*) nein Typ 1 ja nein (*) nein nein Typ 0 nein (*) nein nein nein (*) Diese
(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie
(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie 1) Schreiben Sie ein LOOP-Programm, das die Funktion f: N \ {0} N, f (n) = n n berechnet. Sie dürfen in Ihrem Programm die Multiplikation
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
Informatik II. Registermaschinen. Registermaschinen. Registermaschinen. Rainer Schrader. 7. Dezember 2005
Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 7. Dezember 25 / 82 2 / 82 Gliederung Aufbau und Eigenschaften universelle RAM s RAM-Berechenbarkeit Nichtentscheidbarkeit Reduzierbarkeit
Einführung in die Informatik I
Einführung in die Informatik I LOOP Programme, rekursive Funktionen und der Turm von Hanoi Prof. Dr. Nikolaus Wulff Berechenbarkeit Mitte des 20. Jahrhunderts beantworteten Pioniere, wie Alan M. Turing
Definition der Kolmogorov-Komplexität I
Definition der Kolmogorov-Komplexität I Definition: Die Komplexität K A (x) eines Wortes x V + bezüglich des Algorithmus A ist die Länge der kürzesten Eingabe p {0, 1} + mit A(p) = x, d.h. in formalisierter
Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
Einführung in die Programmierung
Prof. Dr. Rudolf Berrendorf Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg URM - Programmierung Dipl.-Inf. Sigrid Weil Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg Einordnung Programmier-Paradigma:
Theoretische Informatik
Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik
Berechenbarkeits- und Komplexitätstheorie
Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:
3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?
3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welches der folgenden klassischen Probleme der Informatik ist entscheidbar? A. Gegeben eine kontextfreie Grammatik G. Gibt es ein
Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel
Berechenbarkeit und Komplexität Turing-Maschinen Wolfgang Schreiner [email protected] Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
Die Church-Turing-These
Die Church-Turing-These Elmar Eder () Die Church-Turing-These 1 / 12 Formale Systeme Formale Systeme µ-partiellrekursive Funktionen Logikkalküle SLD-Resolution (Prolog) Chomsky-Grammatiken Turing-Maschinen
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
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
