Grundlagen der Theoretischen Informatik: Übung 10
|
|
- Samuel Linden
- vor 6 Jahren
- Abrufe
Transkript
1 Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005
2 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f : N k 0 N 0, also eine Funktion mit k natürlichen Zahlen als Eingabe und einer natürlichen Zahl als Ausgabe
3 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f : N k 0 N 0, also eine Funktion mit k natürlichen Zahlen als Eingabe und einer natürlichen Zahl als Ausgabe derartige Funktionen sind mit speziellen (deterministischen) Turing-Maschinen berechenbar
4 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f : N k 0 N 0, also eine Funktion mit k natürlichen Zahlen als Eingabe und einer natürlichen Zahl als Ausgabe derartige Funktionen sind mit speziellen (deterministischen) Turing-Maschinen berechenbar zu Beginn der Rechnung stehen die Eingabezahlen binär kodiert (bei mehreren Eingabezahlen durch ein spezielles Trennzeichen getrennt) auf dem Arbeitsband, nach der Rechnung steht dort die Ausgabe
5 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f : N k 0 N 0, also eine Funktion mit k natürlichen Zahlen als Eingabe und einer natürlichen Zahl als Ausgabe derartige Funktionen sind mit speziellen (deterministischen) Turing-Maschinen berechenbar zu Beginn der Rechnung stehen die Eingabezahlen binär kodiert (bei mehreren Eingabezahlen durch ein spezielles Trennzeichen getrennt) auf dem Arbeitsband, nach der Rechnung steht dort die Ausgabe f muß nicht für alle möglichen Eingaben definiert sein bei allen undefinierten Eingabewerten gerät die Turing-Maschine in eine Endlosschleife
6 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f : N k 0 N 0, also eine Funktion mit k natürlichen Zahlen als Eingabe und einer natürlichen Zahl als Ausgabe derartige Funktionen sind mit speziellen (deterministischen) Turing-Maschinen berechenbar zu Beginn der Rechnung stehen die Eingabezahlen binär kodiert (bei mehreren Eingabezahlen durch ein spezielles Trennzeichen getrennt) auf dem Arbeitsband, nach der Rechnung steht dort die Ausgabe f muß nicht für alle möglichen Eingaben definiert sein bei allen undefinierten Eingabewerten gerät die Turing-Maschine in eine Endlosschleife Anmerkung: Mit Turing-Maschinen lassen sich natürlich auch Funktionen g : Σ Γ berechnen, wobei Σ und Γ Alphabete sind
7 Beispiel: Division f (a, b) := a b Berechnung von f (12, 3): Arbeitsband: 1100#11 Berechnung Arbeitsband: 100
8 Beispiel: Division f (a, b) := a b Berechnung von f (12, 0): Arbeitsband: 1100#0 Berechnung Endlosschleife
9 Programmiersprachen: LOOP, WHILE, GOTO möchte man das Berechnungsverfahren für eine bestimmte Funktion f exakt beschreiben, so kann man natürlich eine konkrete Turing-Maschinen angeben, die f berechnet
10 Programmiersprachen: LOOP, WHILE, GOTO möchte man das Berechnungsverfahren für eine bestimmte Funktion f exakt beschreiben, so kann man natürlich eine konkrete Turing-Maschinen angeben, die f berechnet dies ist aber in der Regel sehr umständlich und nur schwer lesbar (viele Zustände und Zustandsübergänge)
11 Programmiersprachen: LOOP, WHILE, GOTO möchte man das Berechnungsverfahren für eine bestimmte Funktion f exakt beschreiben, so kann man natürlich eine konkrete Turing-Maschinen angeben, die f berechnet dies ist aber in der Regel sehr umständlich und nur schwer lesbar (viele Zustände und Zustandsübergänge) eine alternative Möglichkeit sind Programmiersprachen
12 Programmiersprachen: LOOP, WHILE, GOTO möchte man das Berechnungsverfahren für eine bestimmte Funktion f exakt beschreiben, so kann man natürlich eine konkrete Turing-Maschinen angeben, die f berechnet dies ist aber in der Regel sehr umständlich und nur schwer lesbar (viele Zustände und Zustandsübergänge) eine alternative Möglichkeit sind Programmiersprachen diese sind darauf ausgelegt, daß Menschen damit leicht Programme schreiben können die Verständlichkeit der Anweisungen steht im Vordergrund
13 Programmiersprachen: LOOP, WHILE, GOTO möchte man das Berechnungsverfahren für eine bestimmte Funktion f exakt beschreiben, so kann man natürlich eine konkrete Turing-Maschinen angeben, die f berechnet dies ist aber in der Regel sehr umständlich und nur schwer lesbar (viele Zustände und Zustandsübergänge) eine alternative Möglichkeit sind Programmiersprachen diese sind darauf ausgelegt, daß Menschen damit leicht Programme schreiben können die Verständlichkeit der Anweisungen steht im Vordergrund wir betrachten im folgenden drei sehr einfache Programmiersprachen zur Berechung von Funktionen ähnlich wie Turing-Maschinen: LOOP, WHILE und GOTO
14 Die Programmiersprache LOOP wie bei Turing-Maschinen soll eine Funktion f : N k 0 N 0 berechnet werden
15 Die Programmiersprache LOOP wie bei Turing-Maschinen soll eine Funktion f : N k 0 N 0 berechnet werden es gibt in LOOP-Programmen unendlich viele Variablen: x 0, x 1, x 2,...
16 Die Programmiersprache LOOP wie bei Turing-Maschinen soll eine Funktion f : N k 0 N 0 berechnet werden es gibt in LOOP-Programmen unendlich viele Variablen: x 0, x 1, x 2,... jede dieser Variablen kann einen Wert aus N 0 speichern
17 Die Programmiersprache LOOP wie bei Turing-Maschinen soll eine Funktion f : N k 0 N 0 berechnet werden es gibt in LOOP-Programmen unendlich viele Variablen: x 0, x 1, x 2,... jede dieser Variablen kann einen Wert aus N 0 speichern die k Eingabewerte sind zu Beginn jedes LOOP-Programms in den Variablen x 1, x 2,..., x k gespeichert
18 Die Programmiersprache LOOP wie bei Turing-Maschinen soll eine Funktion f : N k 0 N 0 berechnet werden es gibt in LOOP-Programmen unendlich viele Variablen: x 0, x 1, x 2,... jede dieser Variablen kann einen Wert aus N 0 speichern die k Eingabewerte sind zu Beginn jedes LOOP-Programms in den Variablen x 1, x 2,..., x k gespeichert alle anderen Variablen haben zu Beginn den Wert 0
19 Die Programmiersprache LOOP wie bei Turing-Maschinen soll eine Funktion f : N k 0 N 0 berechnet werden es gibt in LOOP-Programmen unendlich viele Variablen: x 0, x 1, x 2,... jede dieser Variablen kann einen Wert aus N 0 speichern die k Eingabewerte sind zu Beginn jedes LOOP-Programms in den Variablen x 1, x 2,..., x k gespeichert alle anderen Variablen haben zu Beginn den Wert 0 am Ende des Programms muß der Ausgabewert in der Variablen x 0 gespeichert sein dafür ist das LOOP-Programm zuständig
20 Die Programmiersprache LOOP Beginn: x 0 x 1 x 2 x k 1 x k x k+1 x k+2 0 Eingabe 0 0 Berechnung durch das LOOP-Programm Ende: x 0 x 1 x 2 x k 1 x k x k+1 x k+2 Ausgabe???????
21 Die Programmiersprache LOOP während der Berechnung kann der Inhalt der Variablen verändert werden
22 Die Programmiersprache LOOP während der Berechnung kann der Inhalt der Variablen verändert werden mit dem Befehl x 2 := x wird beispielsweise in der Variablen x 2 der um 75 erhöhte Wert der Variablen x 6 gespeichert enthält x 6 etwa den Wert 25, so bekommt x 2 den Wert 100 zugewiesen
23 Die Programmiersprache LOOP während der Berechnung kann der Inhalt der Variablen verändert werden mit dem Befehl x 2 := x wird beispielsweise in der Variablen x 2 der um 75 erhöhte Wert der Variablen x 6 gespeichert enthält x 6 etwa den Wert 25, so bekommt x 2 den Wert 100 zugewiesen genauso ist auch x 167 := x 1 12 möglich, hier wird dann subtrahiert negative Werte werden dabei zu 0
24 Die Programmiersprache LOOP während der Berechnung kann der Inhalt der Variablen verändert werden mit dem Befehl x 2 := x wird beispielsweise in der Variablen x 2 der um 75 erhöhte Wert der Variablen x 6 gespeichert enthält x 6 etwa den Wert 25, so bekommt x 2 den Wert 100 zugewiesen genauso ist auch x 167 := x 1 12 möglich, hier wird dann subtrahiert negative Werte werden dabei zu 0 derartige Befehle lassen sich natürlich für beliebige Variablen und Zahlen (aus N 0 ) formulieren
25 Die Programmiersprache LOOP während der Berechnung kann der Inhalt der Variablen verändert werden mit dem Befehl x 2 := x wird beispielsweise in der Variablen x 2 der um 75 erhöhte Wert der Variablen x 6 gespeichert enthält x 6 etwa den Wert 25, so bekommt x 2 den Wert 100 zugewiesen genauso ist auch x 167 := x 1 12 möglich, hier wird dann subtrahiert negative Werte werden dabei zu 0 derartige Befehle lassen sich natürlich für beliebige Variablen und Zahlen (aus N 0 ) formulieren LOOP-Programme entstehen durch die Ausführung mehrerer Befehle hintereinander
26 Die Programmiersprache LOOP während der Berechnung kann der Inhalt der Variablen verändert werden mit dem Befehl x 2 := x wird beispielsweise in der Variablen x 2 der um 75 erhöhte Wert der Variablen x 6 gespeichert enthält x 6 etwa den Wert 25, so bekommt x 2 den Wert 100 zugewiesen genauso ist auch x 167 := x 1 12 möglich, hier wird dann subtrahiert negative Werte werden dabei zu 0 derartige Befehle lassen sich natürlich für beliebige Variablen und Zahlen (aus N 0 ) formulieren LOOP-Programme entstehen durch die Ausführung mehrerer Befehle hintereinander dies ist mit dem Zeichen ; möglich Beispiel: x 2 := x ; x 167 := x 1 12
27 Die Programmiersprache LOOP seinen Namen verdankt LOOP einem Schleifen-Befehl
28 Die Programmiersprache LOOP seinen Namen verdankt LOOP einem Schleifen-Befehl Beispiel: LOOP x 7 DO... END (... ist dabei eine beliebige Folge von LOOP-Befehlen)
29 Die Programmiersprache LOOP seinen Namen verdankt LOOP einem Schleifen-Befehl Beispiel: LOOP x 7 DO... END (... ist dabei eine beliebige Folge von LOOP-Befehlen) hat x 7 vor der Ausführung dieses Befehls beispielsweise den Wert 11, so werden die durch... angedeuteten Befehle genau 11-mal wiederholt ausgeführt egal, ob x 7 dadurch seinen Wert ändert!
30 Die Programmiersprache LOOP seinen Namen verdankt LOOP einem Schleifen-Befehl Beispiel: LOOP x 7 DO... END (... ist dabei eine beliebige Folge von LOOP-Befehlen) hat x 7 vor der Ausführung dieses Befehls beispielsweise den Wert 11, so werden die durch... angedeuteten Befehle genau 11-mal wiederholt ausgeführt egal, ob x 7 dadurch seinen Wert ändert! durch die Ausführung des LOOP-Befehls ändert x 7 seinen Wert nicht dies ist nur durch die wiederholten Befehle möglich
31 Was berechnet folgendes LOOP-Programm? Eingabe: x 1, x 2 LOOP x 1 DO x 1 := x END; LOOP x 2 DO x 1 := x END; x 0 := x 1 + 0
32 Was berechnet folgendes LOOP-Programm? Eingabe: x 1, x 2 LOOP x 1 DO x 1 := x END; LOOP x 2 DO x 1 := x END; x 0 := x Antwort: 5 x 1 + x 2
33 Aufgabe Eingabe: x 1, x 2, x 3, x 4 Ausgabe: 100 x 1 + x 2 + x 3 + x 4 Schreiben Sie ein passendes LOOP-Programm!
34 Spezielle LOOP-Programme Zur Vereinfachung definieren wir uns Kurzschreibweisen für bestimmte LOOP-Programme: x i := x j x i := x j + 0 x i := c x i := x p + c (c ist eine beliebige Zahl) (x p ist eine beliebige unbenutzte Variable) IF x i = 0 THEN P END x p := 1; (P ist ein beliebiges LOOP-Programm) LOOP x i DO (x p ist eine beliebige unbenutzte Variable) x p := 0 END; LOOP x p DO P END
35 Übungsblatt 10, Aufgabe 2 Wie formuliert man in LOOP? IF x i = 0 THEN P ELSE Q END
36 Weitere spezielle LOOP-Programme x i := x j + x k x i := x j ; LOOP x k DO x i := x i + 1 END x i := x j x k x i := 0; LOOP x k DO x i := x i + x j END (siehe Vorlesung)
37 Die Programmiersprache WHILE wir erweitern LOOP um einen weiteren Befehl
38 Die Programmiersprache WHILE wir erweitern LOOP um einen weiteren Befehl WHILE x i 0 DO P END führt das Programm P solange wiederholt aus, bis x i den Wert 0 hat
39 Die Programmiersprache WHILE wir erweitern LOOP um einen weiteren Befehl WHILE x i 0 DO P END führt das Programm P solange wiederholt aus, bis x i den Wert 0 hat die Überprüfung, ob x i = 0 gilt, findet vor jeder Wiederholung statt
40 Die Programmiersprache WHILE wir erweitern LOOP um einen weiteren Befehl WHILE x i 0 DO P END führt das Programm P solange wiederholt aus, bis x i den Wert 0 hat die Überprüfung, ob x i = 0 gilt, findet vor jeder Wiederholung statt nun lassen sich Endlosschleifen erzeugen das ist in der Programmiersprache LOOP nicht möglich!
41 Was berechnet folgendes WHILE-Programm? Eingabe: x 1, x 2, x 3 x 0 := 1; WHILE x 1 0 DO x 0 := x 0 x 2 ; x 1 := x 1 1 END; LOOP x 3 DO x 0 := x END
42 Was berechnet folgendes WHILE-Programm? Eingabe: x 1, x 2, x 3 Antwort: x x x 3 x 0 := 1; WHILE x 1 0 DO x 0 := x 0 x 2 ; x 1 := x 1 1 END; LOOP x 3 DO x 0 := x END
43 Die Programmiersprache GOTO Variablen und Schreibweisen sind in GOTO wie in LOOP und WHILE, nur die Befehle unterscheiden sich
44 Die Programmiersprache GOTO Variablen und Schreibweisen sind in GOTO wie in LOOP und WHILE, nur die Befehle unterscheiden sich die Befehle der Programmiersprache GOTO sehen wir gleich, ein wichtiger Unterschied zu LOOP und WHILE ist jedoch, daß jeder Befehl in einem GOTO-Programm mit einer Markierung versehen ist der erste Befehl im Programmtext hat die Marke M 1, der zweite M 2 und so weiter...
45 Die Programmiersprache GOTO Variablen und Schreibweisen sind in GOTO wie in LOOP und WHILE, nur die Befehle unterscheiden sich die Befehle der Programmiersprache GOTO sehen wir gleich, ein wichtiger Unterschied zu LOOP und WHILE ist jedoch, daß jeder Befehl in einem GOTO-Programm mit einer Markierung versehen ist der erste Befehl im Programmtext hat die Marke M 1, der zweite M 2 und so weiter... die Befehle x i := x j + c und x i := x j c sind wie in LOOP und WHILE definiert
46 Die Programmiersprache GOTO Variablen und Schreibweisen sind in GOTO wie in LOOP und WHILE, nur die Befehle unterscheiden sich die Befehle der Programmiersprache GOTO sehen wir gleich, ein wichtiger Unterschied zu LOOP und WHILE ist jedoch, daß jeder Befehl in einem GOTO-Programm mit einer Markierung versehen ist der erste Befehl im Programmtext hat die Marke M 1, der zweite M 2 und so weiter... die Befehle x i := x j + c und x i := x j c sind wie in LOOP und WHILE definiert der Befehl GOTO M j sorgt dafür, daß das Programm bei dem Befehl mit der Markierung M j fortgesetzt wird
47 Die Programmiersprache GOTO Variablen und Schreibweisen sind in GOTO wie in LOOP und WHILE, nur die Befehle unterscheiden sich die Befehle der Programmiersprache GOTO sehen wir gleich, ein wichtiger Unterschied zu LOOP und WHILE ist jedoch, daß jeder Befehl in einem GOTO-Programm mit einer Markierung versehen ist der erste Befehl im Programmtext hat die Marke M 1, der zweite M 2 und so weiter... die Befehle x i := x j + c und x i := x j c sind wie in LOOP und WHILE definiert der Befehl GOTO M j sorgt dafür, daß das Programm bei dem Befehl mit der Markierung M j fortgesetzt wird der Befehl IF x i = c THEN GOTO M j überprüft, ob die Variable x i den Wert c hat ist dies der Fall, so wird das Programm bei dem Befehl mit der Markierung M j fortgesetzt; ansonsten passiert nichts
48 Die Programmiersprache GOTO Variablen und Schreibweisen sind in GOTO wie in LOOP und WHILE, nur die Befehle unterscheiden sich die Befehle der Programmiersprache GOTO sehen wir gleich, ein wichtiger Unterschied zu LOOP und WHILE ist jedoch, daß jeder Befehl in einem GOTO-Programm mit einer Markierung versehen ist der erste Befehl im Programmtext hat die Marke M 1, der zweite M 2 und so weiter... die Befehle x i := x j + c und x i := x j c sind wie in LOOP und WHILE definiert der Befehl GOTO M j sorgt dafür, daß das Programm bei dem Befehl mit der Markierung M j fortgesetzt wird der Befehl IF x i = c THEN GOTO M j überprüft, ob die Variable x i den Wert c hat ist dies der Fall, so wird das Programm bei dem Befehl mit der Markierung M j fortgesetzt; ansonsten passiert nichts der Befehl HALT beendet das Programm
49 Was berechnet folgendes GOTO-Programm? Eingabe: x 1, x 2 M 1 : IF x 1 = 0 THEN GOTO M 5 ; M 2 : x 2 := x 2 + 1; M 3 : x 1 := x 1 x 2 ; M 4 : GOTO M 1 ; M 5 : x 0 := x 2 ; M 6 : HALT
50 Was berechnet folgendes GOTO-Programm? Eingabe: x 1, x 2 M 1 : IF x 1 = 0 THEN GOTO M 5 ; M 2 : x 2 := x 2 + 1; M 3 : x 1 := x 1 x 2 ; M 4 : GOTO M 1 ; M 5 : x 0 := x 2 ; M 6 : HALT Antwort: Sind a und b die Eingabewerte und k N 0 die kleinste Zahl, die die Bedingung a k b k i=1 i 0 erfüllt, so ist die Ausgabe b + k.
51 Äquivalenzbetrachtungen in der Vorlesung wurde gezeigt, daß WHILE-Programme, GOTO-Programme und Turing-Maschinen äquivalent sind
52 Äquivalenzbetrachtungen in der Vorlesung wurde gezeigt, daß WHILE-Programme, GOTO-Programme und Turing-Maschinen äquivalent sind kann man also in einem dieser drei Modelle ein Berechnungsverfahren für eine bestimmte Funktion angeben, so ist dies auch in den anderen beiden möglich
53 Äquivalenzbetrachtungen in der Vorlesung wurde gezeigt, daß WHILE-Programme, GOTO-Programme und Turing-Maschinen äquivalent sind kann man also in einem dieser drei Modelle ein Berechnungsverfahren für eine bestimmte Funktion angeben, so ist dies auch in den anderen beiden möglich LOOP-Programme hingegen können weniger als diese drei Berechnungsmodelle
54 Äquivalenzbetrachtungen in der Vorlesung wurde gezeigt, daß WHILE-Programme, GOTO-Programme und Turing-Maschinen äquivalent sind kann man also in einem dieser drei Modelle ein Berechnungsverfahren für eine bestimmte Funktion angeben, so ist dies auch in den anderen beiden möglich LOOP-Programme hingegen können weniger als diese drei Berechnungsmodelle zum einen müssen LOOP-Programme immer anhalten, zum anderen gibt es totale Funktionen, die mit LOOP-Programmen nicht berechenbar ist
55 Äquivalenzbetrachtungen in der Vorlesung wurde gezeigt, daß WHILE-Programme, GOTO-Programme und Turing-Maschinen äquivalent sind kann man also in einem dieser drei Modelle ein Berechnungsverfahren für eine bestimmte Funktion angeben, so ist dies auch in den anderen beiden möglich LOOP-Programme hingegen können weniger als diese drei Berechnungsmodelle zum einen müssen LOOP-Programme immer anhalten, zum anderen gibt es totale Funktionen, die mit LOOP-Programmen nicht berechenbar ist ein Beispiel dafür ist die sogenannte Ackermann-Funktion: y + 1 falls x = 0, f (x, y) := f (x 1, 1) falls x > 0 und y = 0, f ( x 1, f (x, y 1) ) sonst.
56 Die Churchsche These lange Zeit hat man versucht, sich Berechnungsmodelle auszudenken, die mehr können als Turing-Maschinen oder WHILE-Programme
57 Die Churchsche These lange Zeit hat man versucht, sich Berechnungsmodelle auszudenken, die mehr können als Turing-Maschinen oder WHILE-Programme erstaunlicherweise hat man bisher jedoch kein mächtigeres Modell als die obigen gefunden
58 Die Churchsche These lange Zeit hat man versucht, sich Berechnungsmodelle auszudenken, die mehr können als Turing-Maschinen oder WHILE-Programme erstaunlicherweise hat man bisher jedoch kein mächtigeres Modell als die obigen gefunden Alonzo Church ( ), ein amerikanischer Mathematiker hat daher bereits 1936 die These formuliert, daß die Menge der im intuitiven Sinne berechenbaren Funktionen der Menge der von Turing-Maschinen berechenbaren Funktionen entspricht
59 Die Churchsche These lange Zeit hat man versucht, sich Berechnungsmodelle auszudenken, die mehr können als Turing-Maschinen oder WHILE-Programme erstaunlicherweise hat man bisher jedoch kein mächtigeres Modell als die obigen gefunden Alonzo Church ( ), ein amerikanischer Mathematiker hat daher bereits 1936 die These formuliert, daß die Menge der im intuitiven Sinne berechenbaren Funktionen der Menge der von Turing-Maschinen berechenbaren Funktionen entspricht diese These läßt sich nicht beweisen, man ist von ihrer Gültigkeit jedoch überzeugt
60 Die Churchsche These lange Zeit hat man versucht, sich Berechnungsmodelle auszudenken, die mehr können als Turing-Maschinen oder WHILE-Programme erstaunlicherweise hat man bisher jedoch kein mächtigeres Modell als die obigen gefunden Alonzo Church ( ), ein amerikanischer Mathematiker hat daher bereits 1936 die These formuliert, daß die Menge der im intuitiven Sinne berechenbaren Funktionen der Menge der von Turing-Maschinen berechenbaren Funktionen entspricht diese These läßt sich nicht beweisen, man ist von ihrer Gültigkeit jedoch überzeugt Ausblick: es gibt Funktionen, die man auch mit Turing-Maschinen nicht berechnen kann!
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: ; :=
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
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:
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:
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,
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
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal
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
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
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.
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:...
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c
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
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.
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff
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
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
MehrDank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung
Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität
MehrWir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?
Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff
MehrBerechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme
Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 29. November 2007 Turing-mächtige
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: ; :=
MehrEinführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen
MehrEinführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene
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:
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
MehrAlgorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.
Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
MehrTHEORETISCHE INFORMATIK UND LOGIK
THEORETISCHE INFORMATIK UND LOGIK 4. Vorlesung: Das Halteproblem und Reduktionen Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 19. April 2017 Ankündigung Wegen großer Nachfrage wird eine
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
MehrALP I Turing-Maschine
ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare
MehrEinführung in die 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
MehrSchleifen: Immer wieder dasselbe tun
Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung
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
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
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
MehrDie mathematische Seite
Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion
MehrTypen von Programmiersprachen
Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:
MehrEinfü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:
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
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
MehrTheoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Universelle Turingmaschinen und Church sche These Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander
MehrGrundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
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
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
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrFragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!
4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Mehr1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus
//5 Abstrakte Maschinenmodelle: Turingmaschine (TM) 96 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus einem festen Teil ( "Hardware ) einem variablen Teil ( "Software
MehrGierhardt. Einführung:
Informatik 13: Gierhardt Theoretische Informatik I Einführung: Neben den Problemen und Fragen der praktischen Informatik, wo es in erster Linie um die Wahl der geeigneten Algorithmen und Datenstrukturen
MehrProgrammierkurs Java
Programmierkurs Java Kontrollstrukturen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Kontrollstrukturen Wichtig: bedingte Ausführung
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2018 Kapitel 1: Informationsverarbeitung
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
MehrLösungsvorschläge zu Blatt Nr. 6
Institut für Algorithmen und Kognitive Systeme Dr. Jörn Müller-Quade Carmen Kempka Christian Henrich Nico Döttling Vorlesung Informatik III Lösungsvorschläge zu Blatt Nr. 6 Aufgabe 1 (K) (4 Punkte) i.)
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrKapitel 3: Berechnungstheorie Algorithmisch unlösbare Probleme. Einordnung
Einordnung es gibt algorithmische Probleme, die algorithmisch unlösbar sind (/ * d.h. unter der Annahme, das die Churchsche These richtig ist, kann es nachweislich kein Computerprogramm geben, welches
MehrVon der Chomsky-Hierarchie
Von der Chomsky-Hierarchie zur Backus-Naur-Form Ein Beitrag der Theoretischen Informatik zum Siegeszug des Computers Referat von Helmut Schnitzspan Im Rahmen des Seminars Von der EDV zu Facebook Alexander
MehrKlassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt
Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften
Mehr(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
MehrBerechenbarkeit und Komplexität
Berechenbarkeit und Komplexität Vorlesung SS 2013 1. Einführung I. Berechenbarkeitsbegriff, typische Fragen: wann ist eine Funktion berechenbar? wie lässt sich der intuitive Berechenbarkeitsbegriff formal
MehrTheoretische Informatik. Berechenbarkeit
Theoretische Informatik Berechenbarkeit 1 Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
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
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
MehrEinführung in die Informatik
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Prof. Dr. F. Otto 26.09.2011 Fachbereich Elektrotechnik/Informatik Universität Kassel Klausur zur Vorlesung Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2011 Name:................................
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
MehrBerechenbarkeit und Komplexität
Teil II: Berechenbarkeit und Komplexität Algorithmen und Komplexität 22. November 2016 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M 2 > 0. M 2 : M
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger
MehrTag 3 Repetitorium Informatik (Java)
Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung
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
MehrSemantik von Programmiersprachen SS 2017
Lehrstuhl für Programmierparadigmen Denis Lohner Sebastian Ullrich denis.lohner@kit.edu sebastian.ullrich@kit.edu Semantik von Programmiersprachen SS 2017 http://pp.ipd.kit.edu/lehre/ss2017/semantik Lösungen
Mehr5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 5 Besprechung: 20. 24.11.2017 (KW 47) Vorbereitende
MehrGrundlagen der Informatik Kapitel 19. Harald Krottmaier Sven Havemann
Grundlagen der Informatik Kapitel 19 Harald Krottmaier Sven Havemann Agenda Begriffe Turingmaschine Beispiele Berechenbarkeit Hilfsmittel Beispiele WS2007 2 Motivation Sind Computer allmächtig? Präziser:
MehrBerechenbarkeit und Komplexität
Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 23. November 2017 INSTITUT FÜR THEORETISCHE 0 23.11.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
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:
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
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 Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 17.November 2011 INSTITUT FÜR THEORETISCHE 0 KIT 17.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
MehrRegistermaschine (RAM), Church-Turing-These
Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 21. Oktober 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrPräsenzübung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 2013/14 Prof. Dr. Berthold Vöcking 28.01.2014 Kamal Al-Bawani Benjamin Ries Präsenzübung Berechenbarkeit und Komplexität Musterlösung Name:...................................
MehrAlgorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität
Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Ralph Keusch 21. November 2017 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
Mehr= 7 (In Binärdarstellung: = 0111; Unterlauf) = -8 (In Binärdarstellung: = 1000; Überlauf)
Musterlösung Übung 2 Aufgabe 1: Große Zahlen Das Ergebnis ist nicht immer richtig. Die Maschine erzeugt bei Zahlen, die zu groß sind um sie darstellen zu können einen Über- bzw. einen Unterlauf. Beispiele
MehrFachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave
Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife
MehrTuringmaschinen. Sabine Kuske: Turingmaschinen; 23.Juni 2008
1 Turingmaschinen Von Alan Turing in den 30er Jahren dieses Jahrhunderts eingeführt Eines der ältesten Berechenbarkeitsmodelle Idee: den mechanischen Anteil des Rechnens mit Bleistift und Radiergummi auf
MehrGrundlagen der Theoretischen Informatik
FH Wedel Prof. Dr. Sebastian Iwanowski GTI33 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 3: Verifikationstechniken Teil 3: FH Wedel Prof. Dr. Sebastian Iwanowski GTI33
MehrSteuerung von Programmabläufen. Lehrstuhl für Angewandte Mathematik Sommersemester Mai und 15. Mai 2008
Steuerung von Programmabläufen Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Sommersemester 2008 8. Mai und 15. Mai 2008 For-Schleifen Bisher: Matlab -Kommandos
MehrUniverselle Rechner und Church sche These
Universelle Rechner und Church sche These Slide 1 Universelle Rechner und Church sche These Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Universelle Rechner und
MehrDie Ackermannfunktion
Die Ackermannfunktion Slide 1 Die Ackermannfunktion Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Die Ackermannfunktion Slide 2 Eine Frage zu Anfang Ist jede intuitiv
MehrLösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004
Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,
MehrFunktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik
MehrLösungen zur 3. Projektaufgabe TheGI1
Marco Kunze (makunze@cs.tu-berlin.de) WS 2001/2002 Sebastian Nowozin (nowozin@cs.tu-berlin.de) 21. 1. 2002 Lösungen zur 3. Projektaufgabe TheGI1 Definition: Turing-Aufzähler Ein Turing-Aufzähler einer
MehrDank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Beispiel einer nicht berechenbaren Funktion: Busy Beaver
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
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
MehrÜbungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im
Mehr