Theoretische Informatik II
|
|
- Jörg Biermann
- vor 7 Jahren
- Abrufe
Transkript
1 Theoretische Informatik II Einheit 4.2 Rekursive Funktionen 1. Primitiv- und µ-rekursive Funktionen 2. Analyse und Programmierung 3. Äquivalenz zu Turingmaschinen
2 Berechenbarkeit auf N ohne Maschinenmodelle Welche Arten von Funktionen sind berechenbar? Primitive Funktionen müssen berechenbar sein Nachfolger: von einer Zahl zur nächsten weiterzählen Projektion: aus einer Gruppe von Werten einen herauswählen Konstante: unabhängig von der Eingabe eine feste Zahl ausgeben Berechenbare Funktionen sind zusammensetzbar Einfache Operationen erzeugen neue berechenbare Funktionen Komposition: Hintereinanderausführen mehrerer Berechnungen Rekursion: Bei der Ausführung ruft eine Funktion sich selbst wieder auf Suche: Bestimmung der ersten Nullstelle einer Funktion Beschreibung benötigt keine Funktionsargumente Es reicht, primitive Grundfunktionen und Operationen zu benennen Abstrakte Programmiersprache : wende Operationen auf Funktionen an Mathematischer Kalkül für das informatiktypische Baukastensystem Theoretische Informatik II 4.2: 1 Rekursive Funktionen
3 Bausteine µ-rekursiver Funktionen Grundfunktionen Nachfolgerfunktion s :N N mit s(x) = x+1 für x N Projektionsfunktionen prk n :Nn N mit prk n(x 1,.., x n ) = x k (1 k n) Konstantenfunktion c n k :Nn N mit c n k (x 1,.., x n ) = k (0 n) Operationen auf Funktionen Komposition f (g 1,.., g n ) :N k N (g 1,.., g n :N k N, f:n n N) Für h = f (g 1,.., g n ) gilt h( x) = f( g 1 ( x),.., g n ( x) ) Primitive Rekursion P r[f, g] :N k N (f:n k 1 N, g:n k+1 N) Für h = P r[f, g] gilt h( x, 0) = f( x), und h( x, y+1) = g( x, y, h( x, y)) µ-operator (Minimierung) µf :N k N (f:n k+1 N) miny f( x, y)=0} falls dies existiert und Für h = µf gilt h( x) = alle f( x, i), i<y definiert sonst Theoretische Informatik II 4.2: 2 Rekursive Funktionen
4 Operationen entsprechen Programmstrukturen Komposition ˆ= Folge von Anweisungen y 1 := g 1 (x 1,..,x m );. y n := g n (x 1,..,x m ); h := f(y 1,..,y n ) (h ˆ= h(x 1,.., x m ) für h = f (g 1,.., g n )) Primitive Rekursion ˆ= umgekehrte Zählschleife h := f(x 1,..,x n ); for i:=1 to y do od h := g(x 1,..,x n,i-1,h) (h ˆ= h(x 1,.., x n, y) für h = P r[f, g]) Minimierung ˆ= Suche mit While-schleife y := 0; while f(x 1,..,x n,y) 0 do (unbegrenzte Suche) y:=y+1 od; h := y (h ˆ= h(x 1,.., x n ) für h = µf Theoretische Informatik II 4.2: 3 Rekursive Funktionen
5 Primitiv- und µ-rekursive Funktionen f:n k N primitiv-rekursiv f ist Nachfolger-, Projektions- oder Konstantenfunktion f entsteht aus primitiv-rekursiven Funktionen durch Komposition oder primitive Rekursion Primitiv-rekursive Funktionen sind total (terminieren immer) f:n k N µ-rekursiv (kurz rekursiv) f ist Nachfolger-, Projektions- oder Konstantenfunktion f entsteht aus µ-rekursiven Funktionen durch Komposition, primitive Rekursion oder Minimierung µ-rekursive Funktionen können partiell sein Kurzbezeichnungen PR: Menge der primitiv-rekursiven Funktionen T R: Menge der totalen µ-rekursiven Funktionen R: Menge der µ-rekursiven Funktionen Theoretische Informatik II 4.2: 4 Rekursive Funktionen
6 Beispiel einer primitiv-rekursiven Funktion f 1 = P r[pr 1 1, s pr3 3 ] Was macht f 1? Stelligkeitsanalyse: pr 1 1:N N, pr 3 3:N 3 N, s pr 3 3:N 3 N f 1 : N 2 N Auswertung durch schrittweises Einsetzen Beispiel: f 1 (2, 2) = 4 Einsetzen des Definitionsschemas bei Operationen Direkte Auswertung von Argumenten bei Grundfunktionen Analyse des rekursiven Verhaltens: f 1 (x, 0) = pr 1 1(x) = x f 1 (x, y+1) = (s pr 3 3)(x, y, f 1 (x, y)) = s(f 1 (x, y)) = f 1 (x, y)+1 Das ist die Rekursionsgleichung } der Addition x+0 = x f 1 = add mit add(n, m) = n+m x+(y+1) = (x+y)+1 Theoretische Informatik II 4.2: 5 Rekursive Funktionen
7 Analyse µ-rekursiver Funktionen f 2 = µc 2 1 f 2 (x) = = miny c 2 1(x, y)=0} falls y existiert und alle c 2 1(x, i), i<y definiert sonst miny 1 = 0} falls dies existiert sonst f 3 = µf 1 f 3 (x) = f 4 = µh mit h(x, y) = = 0 falls x = 0 sonst 0 falls x = y sonst 0 falls x = 0 f 4 (x) = sonst h(x, y) = 0 für x = y aber ist h für x>0 und y<x nicht definiert Theoretische Informatik II 4.2: 6 Rekursive Funktionen
8 Programmierung µ-rekursiver Funktionen Vorgängerfunktion p : N N p(n) = n 1 Finde Programm im Kalkül der µ-rekursiven Funktionen Analysiere rekursives Verhalten: p(0) = 0 1 = 0 p(y+1) = (y+1) 1 = y Beschreibe Verhalten als Primitive Rekursion: Benötigt: f:n 0 N mit p(0) = f() = 0 f = c 0 0 und g:n 2 N mit p(y+1) = g(y, p(y)) = y g = pr1 2 p = P r[c 0 0, pr2 1 ] Theoretische Informatik II 4.2: 7 Rekursive Funktionen
9 Beispiele primitiv-rekursiver Funktionen Subtraktion sub : N 2 N sub(n, m) = n m sub(x, 0) = x = pr1(x) 1 sub(x, y+1) = x (y+1) = (x y) 1 = p(x y) = (p pr3)(x, 3 y, sub(x, y)) sub = P r[pr1, 1 p pr3] 3 Multiplikation mul : N 2 N mul(n, m) = n m mul(x, 0) = 0 = c 1 0(x) mul(x, y+1) = mul(x, y)+x = (add (pr1, 3 pr3))(x, 3 y, mul(x, y)) mul = P r[c 1 0, (add (pr1, 3 pr3))] 3 Exponentiierung exp : N 2 N exp = P r[c 1 1, (mul (pr1, 3 pr3))] 3 exp(n, m) = n m Fakultät fak : N N fak = P r[c 0 1, (mul (s pr1, 2 pr2))] 2 Signum-Funktion sign : N N sign(n) = sign = P r[c 0 0, c 2 1] fak(n) = n! = 1*2*...*n 0 falls n = 0 1 sonst Theoretische Informatik II 4.2: 8 Rekursive Funktionen
10 Primitiv-rekursive Programmiertechniken Definition durch Fallunterscheidung h( x) = f( x) falls test( x) = 0 g( x) sonst (f, g, test:n k N primitiv-rekursiv) Wende Signum-Funktion auf Testergebnis an und multipliziere auf h( x) = (1 sign(test( x))) f( x) + sign(test( x)) g( x) h = add (mul (sub (c 1 1, sign test), f), mul (sign test, g)) Generelle Summe Σ r i=0f( x, i) Generelles Produkt Π r i=0 f( x, i) (f:nk+1 N p.r.) 0 i=0 f( x, i) = f( x, 0) y+1 i=0 f( x, i) = ( y i=0 f( x, i)) + f( x, y + 1) Σf = P r[f (pr 1 1, c 1 0), add (pr 3 3, f (pr 3 1, s pr 3 2))] Πf = P r[f (pr 1 1, c 1 0), mul (pr 3 3, f (pr 3 1, s pr 3 2))] Theoretische Informatik II 4.2: 9 Rekursive Funktionen (für k=1) Lösungen für k>1 analog
11 Primitiv-rekursive Programmiertechniken Beschränkte Minimierung h( x, t) = miny t f( x, y) = 0} falls dies existiert t+1 sonst Schreibweise: h( x, t) = Mn t [f]( x) Rekursives Verhalten: 0 fallsf( x, 0) = 0 h( x, 0) = = sign(f( x, 0)) 1 sonst h( x, t) falls h( x, t) t h( x, t+1) = t+1 falls h( x, t) = t+1 und f( x, t+1) = 0 t+2 sonst Programmierbar mit Fallunterscheidung und primitiver Rekursion (aufwendiger Ausdruck) h ist primitiv rekursiv, wenn f primitiv rekursiv ist Theoretische Informatik II 4.2: 10 Rekursive Funktionen
12 Weitere primitiv-rekursive Funktionen Absolute Differenz absdiff : N 2 N absdiff (n, m) = n m Maximum max : N 2 n falls n m N max(n, m) = m sonst Minimum min : N 2 m falls n m N min(n, m) = n sonst Division div : N 2 N div(n, m) = n m Divisionsrest mod : N 2 N Quadratwurzel sqrt : N N Logarithmus ld : N N mod(n, m) = n mod m sqrt(n) = n ld(n) = log 2 n Größter gemeinsamer Teiler ggt : N 2 N Kleinstes gemeinsames Vielfaches kgv : N 2 N Beweise in Übungen Theoretische Informatik II 4.2: 11 Rekursive Funktionen
13 Berechenbare Numerierung von Zahlenpaaren x, y := (x+y)(x+y+1) 2 + y Standard-Tupelfunktion :N 2 N ist primitiv-rekursiv und bijektiv Die Umkehrfunktionen π 2 i := pr2 i 1 sind primitiv-rekursiv kann iterativ auf N k N und auf N N fortgesetzt werden x, y, z 3 = x, y, z,..., x 1...x k = k, x 1,.., x k k Alle Funktionen sind bijektiv und primitiv-rekursiv Alle Umkehrfunktionen π k i und π i sind primitiv-rekursiv Jede rekursive Funktion kann einstellig simuliert werden Für f:n 2 N und g:=f (π 2 1, π 2 2) gilt g : N N und g x, y = f(x, y) Theoretische Informatik II 4.2: 12 Rekursive Funktionen
14 Die Ackermann-Funktion (1928) Definiere Funktionen A n iterativ: A 0 (x) := 1 falls x = 0 2 falls x = 1 x+2 sonst A n+1 (0) := 1 Jede der Funktionen A n ist primitiv-rekursiv Wachstumsverhalten A 1 (x) = 2x (x 1) A 2 (x) = 2 x A 3 (x) = 2 (2(2...2) ) }} x mal A 4 (0) = 1 A 4 (1) = 2 Definiere A(x) := A x (x) A 4 (2) = 2 2 = 4 A n+1 (x+1) := A n (A n+1 (x)) A 4 (3) = = A 4 (4) = 2 (2(2...2) ) }} mal A 4 (5) = 2 (2(2...2) ) }} A 4 (4) mal (Große Ackermann-Funktion) A nicht primitiv-rekursiv: A wächst schneller als jede p.r. Funktion A µ-rekursiv: Abarbeitung des Berechnungsstacks programmierbar Theoretische Informatik II 4.2: 13 Rekursive Funktionen
15 Min-rekursive Funktionen Funktionsdefinition ohne primitive Rekursion f:n k N min-rekursiv f ist Addition, Nachfolger-, Projektions- oder Konstantenfunktion f entsteht aus min-rekursiven Funktionen durch Komposition oder Minimierung Wichtiger Sonderfall für Vergleiche mit anderen Modellen R min : Menge der min-rekursiven Funktionen R min R: min-rekursive Funktionen sind µ-rekursiv Offensichtlich, da Additition µ-rekursiv ist R R min : µ-rekursive Funktionen sind min-rekursiv Beschreibe Abarbeitung des Stacks einer primitiven Rekursion Suche nach erstem erzeugten Stack der Länge 1 (Details aufwendig) Theoretische Informatik II 4.2: 14 Rekursive Funktionen
16 Ausdruckskraft rekursiver Funktionen Es gilt PR T R R Teilmengenbeziehung gilt offensichtlich T R R: nicht alle rekursiven Funktionen sind total (z.b. f 3 = µ add) PR T R: die Ackermannfunktion ist total, aber nicht primitiv rekursiv R T : rekursive Funktionen sind Turing-berechenbar Alle Grundfunktionen sind konventionell berechenbar Komposition, Primitive Rekursion und µ-operator sind berechenbar Konventionell berechenbare Funktionen sind Turing-berechenbar T R: Turing-berechenbare Funktionen sind rekursiv Codiere Konfigurationen (Worttupel) als Zahlentupel Simuliere Konfigurationsübergänge als primitiv-rekursive Funktionen Beschreibe Terminierung von als Suche nach Endkonfiguration Semantik der Turingmaschine ist Iteration von bis Terminierung Theoretische Informatik II 4.2: 15 Rekursive Funktionen
17 Konsequenzen der Äquivalenzbeweise Für formale Argumente zur Berechenbarkeit können wahlweise Turingmaschinen oder µ-rekursive Funktionen eingesetzt werden Kleene Normalform Theorem: Für jede berechenbare Funktion h kann man primitivrekursive Funktionen f und g konstruieren, so daß h(x) = g(x, µf(x)) Simuliere Turingmaschine für h als µ-rekursive Funktion f ist die Funktion, die Terminierung charakterisiert µf berechnet die Anzahl der Schritte bis zur Terminierung g berechnet die Iteration der Konfigurationsübergänge Berechenbare Funktionen kommen mit einer einzigen Minimierung (While-Schleife) aus Theoretische Informatik II 4.2: 16 Rekursive Funktionen
Theoretische Informatik II
Theoretische Informatik II Einheit 4.3 Rekursive Funktionen 1. Primitiv- und µ-rekursive Funktionen 2. Analyse und Programmierung 3. Äquivalenz zu Turingmaschinen Berechenbarkeit ohne Maschinenmodell Welche
MehrTheoretische Informatik II
Theoretische Informatik II Einheit 5.2 Rekursive Funktionen 1. Primitiv- und µ-rekursive Funktionen 2. Analyse und Programmierung 3. Äquivalenz zu Turingmaschinen Berechenbarkeit ohne Maschinen Welche
MehrTypen von Programmiersprachen
Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:
MehrAusgewählte Kapitel Diskreter Mathematik mit Anwendungen
Wahlpflichtfach Bachelor Informatik 4. Semester Ausgewählte Kapitel Diskreter Mathematik mit Anwendungen Kurt-Ulrich Witt Sommersemester 2011 Kurt-Ulrich Witt Diskrete Mathematik Lektion 4 1/33 Inhaltsverzeichnis
Mehr1.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
MehrRekursive Funktionen
Rekursive Funktionen Christoph Kreitz & Nuria Brede Institut für Informatik, Universität Potsdam, 14482 Potsdam Zusammenfassung Dieser Artikel gibt einen Überblick über die primitiv- und µ-rekursiven Funktionen.
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
MehrPrimitiv rekursive und µ-rekursive Funktionen
Primitiv rekursive und µ-rekursive Funktionen Slide 1 Primitiv rekursive und µ-rekursive Funktionen Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Primitiv rekursive
MehrTheorie der Informatik
Theorie der Informatik 15. primitive Rekursion und µ-rekursion Malte Helmert Gabriele Röger Universität Basel 22. April 2015 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale
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
MehrPrimitiv 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
MehrALP 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
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.
MehrTheorie 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
MehrALP I Primitiv-Rekursive Funktionen
ALP I Primitiv-Rekursive Funktionen WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Effektiv Berechenbare Funktionen Mathematische Modelle Maschinelle Modelle λ-kalkül Kombinatorische Logik Allgemein
MehrDef.: 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
MehrMitschrift 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
MehrRekursive 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
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: ; :=
MehrFunktionale 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
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
MehrTheoretische 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
MehrGrundlagen 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 fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:
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 8 18. Juli 2011 Einführung in die Theoretische Informatik
MehrProseminar 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
MehrTheoretische Informatik II
Theoretische Informatik II Einheit 5.3 Funktionale & Logische Programme 1. Der λ-kalkül 2. Arithmetische Repräsentierbarkeit 3. Die Churchsche These Der λ-kalkül Grundlage funktionaler Programmiersprachen
MehrTheoretische Informatik II
Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Wintersemester 2007/2008 B. Beckert Theoretischen Informatik II: WS 2007/08 1 / 175 Dank Diese Vorlesungsmaterialien basieren
MehrTheoretische Informatik II
Theoretische Informatik II Einheit 5.3 Funktionale & Logische Programme 1. Der λ-kalkül 2. Arithmetische Repräsentierbarkeit 3. Die Churchsche These Der λ-kalkül Grundlage funktionaler Programmiersprachen
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:
MehrUnentscheidbarkeitssätze der Logik
Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie
MehrPrimitive 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
MehrPrimitiv rekursive Codier- und Decodierfunktionen
Primitiv rekursive Codier- und Decodierfunktionen Paarungsfunktionen, Codierung von Zahlenfolgen 6.26 Definition Die Cauchysche Paarungsfunktion, : N 2 N wird definiert durch x, y = ((x + y)(x + y + 1)
MehrTheoretische 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
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
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: ; :=
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
MehrGrundlagen der Programmierung
Grundlagen der Programmierung SS 05 Prof. Dr. K. Madlener Lösungshinweise zu Übungsblatt 6 Aufgabe 6.1. Sei f(x, b) = µy b.(y y x (y + 1) (y + 1) > x) f.a. x, b N. Sei weiter f(x) = f(x, x) f.a. x N. Aufgabe
MehrGrundlagen der Theoretischen Informatik II
1 Grundlagen der Theoretischen Informatik II Till Mossakowski Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Sommersemester 2015 2 Prädikate Eine Funktion, die nur die Werte 0 und 1 annimmt,
MehrPrimitive Rekursion. Alexander Hölzle
Primitive Rekursion Alexander Hölzle 14.01.2007 Inhaltsverzeichnis Motivation i 1 Rekursive Funktionen 1 1.1 Nicht berechenbare Funktionen........................ 1 1.2 Primitiv rekursive Funktionen.........................
Mehr8. Rekursive und primitiv rekursive Funktionen
8. Rekursive und primitiv rekursive Funktionen In diesem Abschnitt führen wir eine weitere (letzte) Formalisierung des Berechenbarkeitskonzeptes für Funktionen über den natürlichen Zahlen ein. Hatten wir
MehrTheoretische Informatik II
Theoretische Informatik II Einheit 7 Theoretische Informatik im Rückblick 1. Berechenbarkeitsmodelle 2. Berechenbarkeitstheorie 3. Komplexitätstheorie 4. Methodik des Aufgabenlösens Berechenbarkeitsmodelle
MehrGTI. µ-rekursive Funktionen. Hannes Diener. 20. Juni 2. Juli. ENC B-0123,
GTI µ-rekursive Funktionen Hannes Diener ENC B-0123, diener@math.uni-siegen.de 20. Juni 2. Juli 1 / 31 µ-rekursive Funktionen Kommen wir als nächstes zu unserem dritten Ansatz zur Berechenbarkeit. Diesmal
MehrTheorie der Informatik
Theorie der Informatik 15. Ackermannfunktion Malte Helmert Gabriele Röger Universität Basel 28. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale Sprachen III. Berechenbarkeitstheorie
MehrNachklausur zur Vorlesung
Lehrstuhl für Theoretische Informatik Prof. Dr. Markus Lohrey Grundlagen der Theoretischen Informatik Nachklausur Nachklausur zur Vorlesung Grundlagen der Theoretischen Informatik WS 2016/17 / 27. Februar
MehrDie primitiv rekursiven Funktionen
Priv.-Doz. Dr.rer.nat.habil. Karl-Heinz Niggl Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Theoretische Informatik Fachgebiet Komplexitätstheorie und Effiziente
MehrGOTO 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
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
MehrBerechenbarkeit. Serie 4. Die Seminaraufgaben werden in den Übungen vom bis besprochen.
Universität Leipzig Institut für Informatik Sommersemester 2018 Prof. Dr. Andreas Maletti Gustav Grabolle Mirko Schulze Aufgaben zur Lehrveranstaltung Berechenbarkeit Serie 4 Hinweise: Abgabeschluss für
MehrEinfü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
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 9 2. Juli 2010 Einführung in die Theoretische
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
MehrBerechenbarkeits- und Komplexitätstheorie
Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:
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
MehrEinführung in die Informatik I
Einführung in die Informatik I Berechenbarkeit und Komplexität Prof. Dr. Nikolaus Wulff Berechenbarkeit Im Rahmen der Turingmaschine fiel zum ersten Mal der Begriff Berechenbarkeit. Ein Funktion f heißt
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
MehrTHEORETISCHE INFORMATIK UND LOGIK
THEORETISCHE INFORMATIK UND LOGIK 3. Vorlesung: WHILE und LOOP Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 12. April 2017 Was bisher geschah... Grundbegriffe, die wir verstehen und erklären
MehrInjektiv, Surjektiv, Bijektiv
Injektiv, Surjektiv, Bijektiv Aufgabe 1. Geben Sie einen ausführlichen Beweis für folgende Aussage: Wenn f A B surjektiv ist und R A A A eine reflexive Relation auf A ist, dann ist R B = {( f(x), f(y)
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
Mehr1.4 Die Ackermannfunktion
a : N 2 N : Beispiele: a(0, y) = y + 1, a(x, 0) = a(x 1, 1), x > 0, a(x, y) = a(x 1, a(x, y 1)), x, y > 0. Beh.: a(1, y) = y + 2 Bew. durch Induktion über y: a(1, 0) = a(0, 1) = 2 = 0+2. a(1, y + 1) =
Mehr4. Funktionen und Relationen
4. Funktionen und Relationen Nikolaus von Oresmes Richard Dedekind (1831-1916) René Descartes 1596-1650 Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 4: Funktionen und Relationen 4.1 Funktionen:
MehrUnterlagen zur Veranstaltung Algorithmen, Komplexität, Formale Sprachen WS 2005//06. Prof. Dr. R. Reischuk Institut für Theoretische Informatik
Unterlagen zur Veranstaltung Algorithmen, Komplexität, Formale Sprachen Universität zu Lübeck WS 2005//06 Prof. Dr. R. Reischuk Institut für Theoretische Informatik Oktober 2005 1 2 AKF, UzL WS2004/05
MehrTheoretische Informatik I
Theoretische Informatik I Einheit 4.3 Eigenschaften von L 0 /L 1 -Sprachen 1. Abschlußeigenschaften 2. Prüfen von Eigenschaften 3. Grenzen der Sprachklassen Sprachklassen Semi-entscheidbare Sprache Sprache,
MehrTheorie der Informatik
Theorie der Informatik 13. LOOP-, WHILE- und GOTO-Berechenbarkeit Malte Helmert Gabriele Röger Universität Basel 9. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale
Mehr6.2 µ-rekursive Funktionen R p (N) (partiell rekursive Funktionen)
6.2 µ-rekursive Funktionen R p (N) (partiell rekursive Funktionen) Primitiv rekursive Funktionen P(N) Die bisher betrachteten Operationen auf Funktionen bilden totale Funktionen wieder in totalen Funktionen
MehrTheoretische 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:...
MehrEinfü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
MehrLOOP-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
MehrDie Church-Turing-These
Die Church-Turing-These Elmar Eder () Die Church-Turing-These 1 / 12 Formale Systeme Formale Systeme µ-partiellrekursive Funktionen Logikkalküle SLD-Resolution (Prolog) Chomsky-Grammatiken Turing-Maschinen
Mehr2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
MehrBeispiel: Fibonacci-Zahlen
Beispiel: Fibonacci-Zahlen Unendliche Reihe: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... Fibonacci-Kaninchen: L. P. Fibonacci (1170-1250) G. Zachmann Informatik 1 - WS 05/06 Rekursion 23 Fibonacci Zahlen in der
Mehr6. 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
MehrTheoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Höhere Programmiermodelle Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg
MehrKapitel III Ringe und Körper
Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem
MehrKapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit
Kapitel 5 Entscheidbareit und Berechenbareit Wir wenden uns nun grundsätzlichen Fragen zu, nämlich den Fragen nach der prinzipiellen Lösbareit von Problemen. Dazu stellen wir auch einen Zusammenhang zwischen
MehrAlternative Berechnungsmodelle
Proseminar Theoretische Informatik 01.12.2015 Alternative Berechnungsmodelle Andreas Berg, Pascal Müller, Marius Schidlack Wolfgang Mulzer 1 Der Berechenbarkeitsbegriff 1.1 intuitive Berechenbarkeit Als
MehrInjektiv, Surjektiv, Bijektiv
Injektiv, Surjektiv, Bijektiv Aufgabe 1. Geben Sie einen ausführlichen Beweis für folgende Aussage: Wenn f A B surjektiv ist und R A A A eine reflexive Relation auf A ist, dann ist R B = {( f(x), f(y)
MehrTHEORETISCHE INFORMATIK UND LOGIK
Was bisher geschah... Grundbegriffe, die wir verstehen und erklären können: DTM, NTM, Entscheider, Aufzähler, berechenbar/entscheidbar, semi-entscheidbar, unentscheidbar, Church-Turing-These THEORETISCHE
MehrWiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php
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
MehrVL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische
MehrEinführung in die Theoretische Informatik A Lösungshinweise zur Klausur am
Einführung in die Theoretische Informatik A Lösungshinweise zur Klausur am 15.03.003 Aufgabe 1 a) Sei die stellige Turingmaschine M durch das folgende Flussdiagramm gegeben: 17 1 1:R 0:R 6 :R 19 0:1 6
MehrEinführung in die Berechenbarkeitstheorie
Einführung in die Berechenbarkeitstheorie Timo Kötzing 4. November 2013 1 Einleitung Dieses Dokument bietet eine kurze Einführung in die Grundlagen der Berechenbarkeitstheorie (für eine Ausführliche Behandlung
MehrTuring-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
Mehr1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit
Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:
MehrInformatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 7. Albert-Ludwigs-Universität Freiburg Bernhard Nebel 31. Oktober 2014 1 31. Oktober 2014 B. Nebel Info I 3 / 20 Um zu, muss man zuerst einmal. Abb. in Public
MehrInformatik I. 9. Nachweis von Programmeigenschaften. Jan-Georg Smaus. Albert-Ludwigs-Universität Freiburg. 2. Dezember 2010
Informatik I 9. Nachweis von Programmeigenschaften Jan-Georg Smaus Albert-Ludwigs-Universität Freiburg 2. Dezember 2010 Jan-Georg Smaus (Universität Freiburg) Informatik I 2. Dezember 2010 1 / 30 Informatik
MehrGrundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:
MehrLS Informatik 4 & Funktionen. Buchholz / Rudolph: MafI 2 88
4. Funktionen Buchholz / Rudolph: MafI 2 88 Kapitelgliederung 4.1 Grundlegende Denitionen 4.2 Polynome und rationale Funktionen 4.3 Beschränkte und monotone Funktionen 4.4 Grenzwerte von Funktionen 4.5
Mehr4. Funktionen und Relationen
Bestimmung der Umkehrfunktionen c) bei reellen Funktionen geometrisch durch Spiegelung des Funktionsgraphen an der Winkelhalbierenden y = x. y = x 3 y = x y = x y = (x+1)/2 y = x 1/3 y = 2x 1 Seite 27
MehrProblem: Gegeben Spezifikation (P,Q) und Implementierung S Gesucht formaler (automatisierbarer?) Beweis, dass S (P,Q) erfüllt.
Formale Verifikation von Algorithmen 1.3 Verifikation Problem: Gegeben Spezifikation (P,Q) und Implementierung S Gesucht formaler (automatisierbarer?) Beweis, dass S (P,Q) erfüllt. Bisher nicht möglich
Mehr6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr
6.4 Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem Typ 3 ja ja ja ja DCFL ja ja ja nein (*) Typ 2 ja ja nein (*) nein Typ 1 ja nein (*) nein nein Typ 0 nein (*) nein nein nein (*) Diese
MehrMathematische Rekursion
Rekursion Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die Funktion erscheint in ihrer eigenen Definition. Mathematische Rekursion o Viele mathematische
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.
MehrProgrammieren lernen mit Groovy Rekursion Rekursion und Iteration
Programmieren lernen mit Groovy Rekursion Seite 1 Rekursion Rekursion Ursprung lat. recurrere ~ zurücklaufen rekursive Definition Definition mit Bezug auf sich selbst Beispiel Fakultätsfunktion n! 0! =
Mehr