3. Mathematische Maschinen

Größe: px
Ab Seite anzeigen:

Download "3. Mathematische Maschinen"

Transkript

1 3. Mathematische Maschinen Bei den Anforderungen an Algorithmen im letzten Paragraphen haben wir bemerkt, dass ein Algorithmus im Prinzip von einer Maschine ausgeführt werden kann. Umgekehrt kann solch eine Maschine als Darstellung des zugehörigen Algorithmus aufgefasst werden, weshalb eine formale Beschreibung von Maschinen zur Ausführung von Rechenvorschriften zugleich eine Formalisierung des Algorithmus-Begriffs liefert. Um hierbei zu einer mathematischen Beschreibung zu gelangen, betrachtet man keine realen physikalischen Maschinen, sondern nur deren logische Struktur, was zum Begriff der mathematischen Maschine führt. Wenn die einen Algorithmus ausführende Maschine auch spezifisch von diesem abhängt, so erlaubt doch die gemeinsame Grundstruktur aller Algorithmen auch eine gemeinsame Struktur für die auszuführenden Maschinen anzugeben. Einzelne Maschinen werden sich dann nur in der Wahl der einzelnen Moduln unterscheiden. Ziel dieses Abschnittes ist es, solch ein abstraktes Konzept einer mathematischen Maschine zu entwickeln. Später werden wir dann konkrete Beispiele mathematischer Maschinen betrachten und damit Formalisierungen des Algorithmenbegriffs vorschlagen können. Bei der Konzeption der mathematischen Maschinen genügt es wie im letzten Abschnitt gesehen Berechnungsverfahren zu betrachten. Die Entwicklung des Konzepts wird in mehreren Schritten erfolgen: Zunächst beschreiben wir das Ablaufschema der Rechnung mit Hilfe von Umformungssystemen, die dann durch Hinzunahme von Ein-/Ausgabefunktionen zu Rechensystemen erweitert werden. Im deterministischen Fall beschreibt solch ein System eine partielle Funktion. Im nächsten Schritt führen wir hiervon unabhängig Basismaschinen B ein, die über die notwendigen Bestandteile zur Ausführung der einzelnen Schritte der Rechenvorschrift verfügen. Schließlich wird durch ein B-Programm die Basismaschine so gesteuert, dass die einzelnen Schritte in der gewünschten Reihenfolge ausgeführt werden. Die mathematische Maschine wird dann gerade aus Basismaschine und Programm bestehen. Zur Beschreibung der Arbeitsweise dieser Maschinen werden wir dann auf den am Beginn eingeführten Begriff des Rechensystems zurückgreifen. Wie wir uns im letzten Paragraphen überlegt haben läuft ein (sequentieller, deterministischer) Algorithmus schrittweise ab, wobei in jedem Schritt die aktuelle Ausführungssituation durch eine elementare Operation verändert wird. Bei einem Berechnungsverfahren wird zusätzlich durch die Eingabe eine gewisse Ausgangssituation geschaffen und im Fall der Terminierung eine Ausgabe aus der Endsituation extrahiert. Gehen wir davon aus, dass jede Situation durch eine mögliche Konfiguration der ausführenden Maschine gekennzeichnet ist, so ergibt sich folgender schematische

2 3 MATHEMATISCHE MASCHINEN 19 Ablauf: Eingabe Konfiguration 0 Konfiguration 1 Konfiguration n Ausgabe Ignorieren wir zunächst die Ein-/Ausgabefunktion, so können wir die Konfigurationsübergänge durch ein Umformungssystem beschreiben. 3.1 DEFINITION. Ein Umformungssystem U KON besteht aus einer Menge KON und einer 2-stelligen Relation KON KON auf KON. Die Elemente von KON heißen die Konfigurationen, die Einschritt- oder Übergangsrelation von U. Ist der Graph einer partiellen Funktion ϕ : KON KON, so ist U ein deterministisches Umformungssystem. Wir benutzen die Infixschreibweise für, d.h. schreiben c c statt c c und sagen c ist eine Nachfolgekonfiguration von c. Eine Konfiguration c heißt Stoppkonfiguration, falls es kein c KON mit c c gibt, d.h. c keine Nachfolgekonfiguration besitzt. U-Rechnungen sind Konfigurationenfolgen, die mit Hilfe der Einschrittrelation gebildet werden: Die unendliche Folge c n n 0 ist eine unendliche U-Rechnung, falls c n c n 1 für alle n 0 gilt. Entsprechend ist c 0 c n eine U-Rechnung der c m 1 für m n gilt, und wir nennen diese Rechnung terminal, Länge n, falls c m falls c n Stoppkonfiguration ist. (Insbesondere legen wir fest, dass jedes c KON eine U-Rechnung der Länge 0 ist.) Eine U-Rechnung ist maximal, falls sie terminal oder unendlich ist. Wir schreiben c n c : Es gibt eine mit c beginnende und mit c endende U-Rechnung der Länge n c c : Es gibt eine mit c beginnende und mit c endende U-Rechnung ( ist also gerade der reflexive und transitive Abschluss von.) In einem deterministischen Umformungssystem ist die Rechnung durch die Anfangskonfiguration eindeutig bestimmt: 3.2 LEMMA. Sei U KON ein deterministisches Umformungssystem und sei c KON. (i) Für jedes n 0 gibt es höchstens eine mit c beginnende U-Rechnung der Länge n. (ii) Es gibt genau eine maximale U-Rechnung, die mit c beginnt.

3 3 MATHEMATISCHE MASCHINEN 20 BEWEIS. (i) zeigt man durch Induktion nach n, wobei man verwendet, dass in einem deterministischen Umformungssystem jede Nichtstoppkonfiguration genau eine Nachfolgekonfiguration besitzt. (ii) lässt sich leicht aus (i) ableiten. Durch Hinzunahme eines Ein- und Ausgabemechanismus erweitern wir ein Umformungssystem zu einem Rechensystem: 3.3 DEFINITION. Ein Rechensystem R I O KON In Out besteht aus einem Umformungssystem U R KON zusammen mit Mengen I (Eingabemenge) und O (Ausgabemenge) und totalen Funktionen In : I KON (Eingabefunktion) und Out : KON O (Ausgabefunktion). R ist deterministisch, falls das zugehörige Umformungssystem U R deterministisch ist. Für x I nennen wir In x die Startkonfiguration von R bei Eingabe x. Ein Rechensystem R beschreibt eine Relation RES R I O, die, wenn R deterministisch ist, der Graph einer partiellen Funktion res R : I O ist: Nämlich x y RES R gilt dann, wenn es eine mit der Startkonfiguration In x von R bei Eingabe x beginnende terminale U R -Rechnung gibt, deren Stoppkonfiguration von Out auf y abgebildet wird. 3.4 DEFINITION. Für ein Rechensystem R wie oben ist die Resultatsrelation RES R I O definiert durch x y Res R c KON In x c & c Stoppkonfiguration & Out c y 3.5 LEMMA. Für ein deterministisches Rechensystem R ist RES R der Graph einer partiellen Funktion res R : I O, die die Resultatsfunktion von R genannt wird. BEWEIS. Da In und Out Funktionen sind, folgt aus Lemma 3.2, dass es zu jedem x I höchstens ein y O mit x y! RES R gibt. Für die Definition abstrakter Maschinen fassen wir zunächst die Funktionseinheiten zusammen, über die eine Rechenmaschine verfügen muss: Die Maschine benötigt einen Speicher zum Ablegen von (Zwischen-) Ergebnissen. Der Zugriff auf den Speicher muss ermöglichen, die Daten dort zu verändern und zu lesen. Modellieren wir den Speicher abstrakt als Menge S aller möglichen Speicherbelegungen, so ist eine Speicheroperation (oder -transformation) eine totale Funktion f : S S. Eine Maschine wird dann über einen endlichen Satz OPER von solchen Transformationen verfügen. Das Lesen aus dem Speicher kann mit Hilfe von Tests erfolgen, formal von Abbildungen t : S Σ 2. (Hierbei bezeichnet t s 1 den positiven, t s 0 den negativen Ausgang des Tests.) Auch hier steht der Maschine wiederum eine endliche Menge TEST solcher Tests zur Verfügung. Im Speicher spielt sich die Rechnung der Maschine ab. Als Schnittstelle zur Außenwelt muss man also noch eine Ein- und Ausgabeeinheit hinzufügen, die die Eingabe in den Speicher einliest bzw. aus der terminalen Speicherbelegung die Ausgabe extrahiert. 3.6 DEFINITION. Eine Basismaschine B I O S in out OPER TEST besteht aus Mengen I (Eingabemenge), O (Ausgabemenge), S (Speicher, d.h. Menge der Speicherbelegungen), totalen Funktionen in : I S (Eingabefunktion) und out : S O (Ausgabefunktion), sowie endlichen Mengen OPER f 1 "# f m (Menge der (elementaren)

4 3 MATHEMATISCHE MASCHINEN 21 Operationen) und TEST $ t 1 % t n (Menge der (elementaren) Tests), wobei jede Operation eine totale Funktion f i : S S und jeder Test eine totale Funktion t j : S Σ 2 ist. Durch eine Basismaschine B werden die möglichen Einzelschritte der Rechnung festgelegt. Dass diese in der richtigen Reihenfolge ausgeführt werden, erfordert die Steuerung von B durch eine geeignete Kontrolleinheit. Hier realisieren wir diese mit Hilfe von Programmen. Ein Programm wird dabei eine Folge von Anweisungen (Instruktionen) sein. Jede Anweisung legt fest, welcher Speicherbefehl (d.h. Operation oder Test) als Nächstes auszuführen und welche Anweisung danach auszuführen ist. Letztere wird bei Tests vom Ausgang derselben abhängen. Zur Kennzeichnung von Anweisungen versieht man diese mit Adressen: 3.7 DEFINITION. Eine B-Instruktion I ist entweder ein Tripel I i f j (Operationsinstruktion) oder Quadrupel I & i t j k (Testinstruktion), wobei i j k (', f OPER und t TEST. Die 1. Komponente i heißt Adresse von I, j bzw. j k sind die Nachfolgeadresse bzw. möglichen Nachfolgeadressen von I. Statt Adressen sprechen wir auch von (Programm-)Zuständen. Im Zustand i kann die Instruktion I mit Adresse i ausgeführt werden. Handelt es sich dabei um die Operationsinstruktion i f j, wird f im Speicher ausgeführt und der neue Zustand j angenommen. Bei einer Testinstruktion i t j k wird der Test t durchgeführt und bei Ausgang 0 der Zustand j, bei Ausgang 1 der Zustand k angenommen. Damit die nächst auszuführende Anweisung eindeutig bestimmt ist, müssen verschiedene Anweisungen verschiedene Adressen haben. 3.8 DEFINITION. Ein (deterministisches) B-Programm P I i : i ) n ist eine endliche Folge von B-Instruktionen I i, wobei verschiedene Instruktionen verschiedene Adressen haben. (Wenn nicht anders festgelegt, ist stets i die Adresse von I i.) Eine beliebige endliche Folge von B-Instruktionen heißt nichtdeterministisches B-Programm. Damit die Abwicklung eines Programms eindeutig festgelegt ist, muss man bestimmen, welche Instruktion als erste auszuführen ist. Diese Startinstruktion soll hier immer die erste Instruktion I 0 sein. Die Ausführung des Programms stoppt, wenn ein Zustand erreicht wird, der nicht als Adresse einer Instruktion in P vorkommt. 3.9 DEFINITION. Ein Zustand eines B-Programmes P ist die Adresse, die Nachfolgeadresse oder eine mögliche Nachfolgeadresse einer Instruktion in P. Z P ist die Menge aller Zustände von P. Die Adresse von I 0 ist der Startzustand von P. Ein Zustand von P, der nicht als Adresse einer Instruktion von P vorkommt, heißt Stoppzustand von P. Den Ablauf eines Programms P I i : i ) n kann man durch ein Flussdiagramm (oder Syntaxdiagramm) veranschaulichen: Dieses ist ein markierter gerichteter Graph, dessen Knoten mit den Hauptteilen der Instruktionen markiert sind. Dabei werden Operationen üblicherweise in Rechtecken, Tests in Rauten geschrieben. Die ausgehenden Kanten führen zu den Knoten, die den durch die (möglichen) Nachfolgeadressen bezeichneten Instruktionen entsprechen, wobei die Ausgangskanten eines Tests entsprechend mit 0 und 1 markiert sind. Ist die Nachfolgeadresse ein Stoppzustand, so führt die Kante zu einem zusätzlichen Stoppknoten (Kreis). Entsprechend führt eine Kante von einem Startknoten zum Knoten der Instruktion I 0. (Siehe Beispiel 3.15 unten.) Wir können nun mathematische Maschinen definieren:

5 3 MATHEMATISCHE MASCHINEN DEFINITION. Eine mathematische Maschine M * B P ist eine Basismaschine B zusammen mit einem B-Programm P. Die Maschine M ist (nicht-)deterministisch, wenn P (nicht-)deterministisch ist. Wenn nicht anders festgelegt, sind im folgenden Programme und Maschinen stets deterministisch. Zur Beschreibung der Arbeitsweise einer mathematischen Maschine ordnen wir dieser ein Rechensystem zu. Den einzelnen Schritten der Maschine entsprechen dabei die Übergänge des zugehörigen Umformungssystems DEFINITION. Sei M + B P eine (möglicherweise nichtdeterministische) mathematische Maschine, wobei B, I O S in out OPER TEST und P * I i : i ) n (und 0 die Adresse von I 0 sei). Das zu M gehörende Rechensystem R M ist wobei - KON M Z P S R M I O KON M In Out - In : I KON M mit In x & 0 in x - - Out : KON M O mit Out i s out s - M KON M KON M mit / i s. 0 1 j f s - falls i f j 2 P M j s falls i t j k 2 P &t s 0 k s falls i t j k 2 P &t s 1 Mit dieser Definition lassen sich die für Umformungs- und Rechensysteme entwickelten Begriffe auf mathematische Maschinen übertragen. Insbesondere können wir von M -Rechnungen und deren Länge sprechen. Unter einer M-Rechnung bei Eingabe x verstehen wir eine maximale (d.h. unendliche oder terminale) U M KON M M - Rechnung, die mit In x beginnt. Im deterministischen Fall ist diese eindeutig bestimmt (s.u.). Ist die M-Rechnung bei Eingabe x endlich, so sagen wir, dass M bei Eingabe x terminiert oder konvergiert (andernfalls divergiert M). Die Rechenzeit time M x von M bei Eingabe x ist die Länge der M-Rechnung bei Eingabe x. M ist total, wenn M bei jeder Eingabe terminiert LEMMA. Das zu einer deterministischen mathematischen Maschine M * B P gehörende Rechensystem R M ist deterministisch. BEWEIS. Da es zu jedem Zustand i höchstens eine Instruktion in P mit Adresse i gibt, ist M deterministisch. Nach Lemma 3.5 berechnet also jede mathematische Maschine eine partielle Funktion: 3.13 DEFINITION. Sei M eine mathematische Maschine wie oben. Die von M berechnete partielle Funktion ϕ M : I O ist die Resultatsfunktion res R3 M4 des zugehörigen Rechensystems R M. Entsprechend heißt für nichtdeterministisches M R M RES R3 M4 I O die von M berechnete Relation. M

6 3 MATHEMATISCHE MASCHINEN 23 Wir können diese Definition erweitern und Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit relativ zu einer Basismaschine wie folgt definieren DEFINITION. Eine partielle bzw. totale Funktion ϕ : I O heißt partiell bzw. (total) B-berechenbar, falls es ein B-Programm P gibt, sodass ϕ ϕ3 B5 P4 die von B P berechnete Funktion ist. Eine Teilmenge A I heißt B-entscheidbar, falls die charakteristische Funktion c A von A B-berechenbar ist und A heißt B-aufzählbar, falls die partielle charakteristische Funktion χ A von A partiell B-berechenbar ist. Hier erfolgt die Rückführung von B-Entscheidbarkeit und B-Aufzählbarkeit auf die (partielle) B-Berechenbarkeit in Entsprechung zu Satz 2.10 und Satz Mit F B und F Tot B bezeichnen wir die Klasse der partiell B-berechenbaren bzw. total B-berechenbaren Funktionen. Wir erweitern Definition 3.14 sinngemäß zu Familien 67 7 B i von Basis-Maschinen. In der Regel werden hierbei gleichartige Basismaschinen zusammengefasst. Z.B. sind die Eingaben einer Basismaschine festgelegt, sodass alle B-berechenbaren Funktionen dieselbe Stelligkeit haben. Variable Stelligkeit erfordert also eine Familie von Basismaschinen. Wir sagen, dass zwei Maschinen M und M äquivalent sind, wenn sie dieselbe partielle Funktion berechnen. Entsprechend sind zwei Basismaschinen B und B äquivalent, wenn F B F B gilt. Wir erläutern nun die obigen Definitionen anhand von einigen Beispielen: 3.15 BEISPIEL. Wir geben eine mathematische Maschine M & B P zur Ausführung der Addition bzgl. der Unärdarstellung, d.h. zur Konkatenation zweier Unärwörter an. Hierzu speichern wir Paare von Unärwörtern und erlauben bei nichtleerer 1. Komponente diese um eine 1 zu kürzen und diese an die 2. Komponente anzuhängen. Iteration dieser Operation erlaubt das Paar v w in λ vw zu überführen. Weiter können wir testen, ob die erste Komponente leer ist (und wir das Verfahren abbrechen können). Die gerade aufgeführten Anforderungen führen zu der Basismaschine B & I O S in out OPER TEST, wobei I S Σ1 Σ1 O Σ1 in v w v w, out v w w, OPER f mit f v1 w + v w1 und f λ w $ λ w sowie TEST, t mit t v1 w 0 und t λ w 1. Das B-Programm P zur Berechnung der Konkatenation besteht dann aus folgenden beiden Instruktionen: P 78 0 t f 0. Bei Eingabe werden folgende Konfigurationen durchlaufen: : M M M M M M 0 λ M 2 λ Das Syntaxdiagramm für P hat die Gestalt

7 A A >? A A A A? 3 MATHEMATISCHE MASCHINEN 24 Start 0? x λ? A A 1 x ;<; y =<= Stop wobei x y die beiden Komponenten der aktuellen Speicherbelegung sind und x ;B; und y =C= das De- bzw. Inkrementieren der entsprechenden Komponenten bezeichnen BEISPIEL. Alternativ kann eine Maschine zur Berechnung von D : Σ1 Σ1 Σ1 angegeben werden, die die Konkatenation in einem Schritt berechnet. In der formalen Definition der Basismaschine ändern sich dann OPER und TEST wie folgt: OPER g, wobei g v w $ λ vw und TEST Programm. /0. P *8 0 g 1 ist hier das gewünschte 3.17 BEISPIEL. Sei f : I O eine beliebige totale Funktion. Eine Maschine M B P, die f berechnet, erhält man durch B * I O S in out OPER TEST wobei S I in x x, out x f x, OPER id mit id x x und TEST /0 und P E 0 id 1. Die Maschine M B P mit B & I OFGIH S in out OPER TEST, wobei S I J O FKIH, in x * x -H, out x y y, OPER & g mit g x y x f x 9 und TEST /0 und mit P E 0 g 1 berechnet ebenfalls die Funktion f. Beispiel 3.17 zeigt, dass es mathematische Maschinen gibt, die (im intuitiven Sinne) nichtberechenbare Funktionen berechnen. Nicht jede mathematische Maschine beschreibt also einen Algorithmus. Damit mathematische Maschinen tatsächlich Algorithmen beschreiben, müssen ihre Komponenten effektiv sein. (Für nichtberechenbares f wird dies im obigen Beispiel von der Ausgabefunktion out von M bzw. der Operation g von M verletzt.) In der Tat sollten die Einzelschritte in Algorithmen nicht nur effektiv, sondern sehr einfach, nämlich lokal sein. Das Additionsverfahren in Beispiel 3.15 wird dem gerecht: Fasst man hier eine Speicherbelegung v w als Wort über dem Alphabet 1 L 2 L auf, so erfordert die Ausführung der Operation nur das lokale Verschieben des Kommas um eine Stelle nach links ( v1 w geht über in v 1w ).

8 3 MATHEMATISCHE MASCHINEN 25 Die Operation in 3.16 ist ebenfalls effektiv, für die gerade betrachtete Speicherdarstellung aber nicht lokal, wenn man g v w λ vw wiederum durch Verschieben des Kommas nach links realisiert. Hier muss das Komma um M v M Buchstaben verschoben werden, der Aufwand zur Ausführung von g hängt also von der aktuellen Länge der ersten Komponente ab. Hier wird man daher entweder eine andere lokale Realisierung von g verlangen oder die Maschine verfeinern, indem man die Operation g durch eine Schrittfolge aus lokalen elementaren Verschiebeoperationen ersetzt, was im Wesentlichen zur Maschine aus Beispiel 3.15 führt. Die Beobachtung, dass sich jede effektive Operation derart zu einer Folge elementarer Zeichenmanipulationen reduzieren lässt, liegt unserer ersten Formalisierung des Algorithmenbegriffs zugrunde, die wir im nächsten Abschnitt betrachten werden. 1 1 Der Speicherinhalt einer Maschine, die einen Algorithmus beschreibt, ist zu jedem Zeitpunkt endlich, kann also durch ein Wort beschrieben werden. Eine lokale Operation entspricht dann der Ersetzung eines bestimmten Teilwortes an einer bestimmten Stelle. Umformungssysteme, die auf solchen Termersetzungen basieren, werden im Kapitel über Formale Sprachen (s. Definition 21.1) eingeführt und näher untersucht werden.

Mathematische Maschinen

Mathematische Maschinen Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische

Mehr

Alan Mathison Turing ( )

Alan Mathison Turing ( ) 3. Turingmaschinen Alan Mathison Turing (1912-1954) Britischer Logiker, Mathematiker und Computerpionier http://www.time.com/time/time100/scientist/profile/turing.html 1 FORMALISIERUNG VON ALGORITHMEN

Mehr

10. Der Äquivalenzsatz

10. Der Äquivalenzsatz 10. Der Äquivalenzsatz In diesem Abschnitt zeigen wir, dass die von uns betrachteten verschiedenen Formalisierungen des Berechenbarkeitsbegriffs äquivalent sind, d.h. alle zu derselben Klasse (partiell)

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 3. TURINGMASCHINEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2012

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 3. TURINGMASCHINEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2012 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 3. TURINGMASCHINEN Theoretische Informatik (SoSe 2012) 3. Turingmaschinen 1 / 45 Alan Mathison Turing (1912-1954)

Mehr

2 Turingmaschinen 6. Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

2 Turingmaschinen 6. Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel 2. Turingmaschinen Als Formulierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes (s. Vorlesung Einführung in die Theoretische Informatik ) greifen wir das

Mehr

Universelle Maschinen und universelle Funktionen

Universelle Maschinen und universelle Funktionen Universelle Maschinen und universelle Funktionen UNIVERSELLE FUNKTIONEN DEFINITION. Sei F eine Klasse von partiellen Funktionen über N. Eine partielle Funktion ϕ (n+1) ist n-universell für F, wenn (i)

Mehr

Die Prädikatenlogik erster Stufe: Syntax und Semantik

Die Prädikatenlogik erster Stufe: Syntax und Semantik Die Prädikatenlogik erster Stufe: Syntax und Semantik 1 Mathematische Strukturen und deren Typen Definition 1.1 Eine Struktur A ist ein 4-Tupel A = (A; (R A i i I); (f A j j J); (c A k k K)) wobei I, J,

Mehr

19. Nichtdeterministische Turingmaschinen und ihre Komplexität

19. Nichtdeterministische Turingmaschinen und ihre Komplexität 19. Nichtdeterministische Turingmaschinen und ihre Komplexität Bei einem Turingmaschinenprogramm P aus bedingten Anweisungen wird durch die Forderung i a b B j i a b B j i a sichergestellt, dass zu jeder

Mehr

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE: FORMALISIERUNG VON ALGORITHMEN Wegen der beobachteten Zusammenhänge zwischen Berechnungs-, Entscheidungs- und Aufzählungsverfahren genügt es Berechnungsverfahren zu formalisieren. Weiter genügt es Verfahren

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

2. Algorithmen: Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit

2. Algorithmen: Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit 2. Algorithmen: Berechenbarkeit, Entscheidbarkeit und Aufzählbarkeit Ein Algorithmus (Rechenvorschrift) ist eine Vorschrift zur Lösung eines Problems. Solch ein Problem wird i. Allg. unendlich viele Instanzen

Mehr

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10 Kapitel 1.4 Exkurs: Entscheidbarkeit und Komplexität Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10 Algorithmen Ein Algorithmus oder eine Rechenvorschrift ist ein effektives

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 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

Mehr

Endliche Automaten. Endliche Automaten J. Blömer 1/24

Endliche Automaten. Endliche Automaten J. Blömer 1/24 Endliche Automaten Endliche Automaten J. Blömer /24 Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben)

Mehr

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

6. Varianten des Turingmaschinen-Konzeptes II: Varianten der Speicherstruktur

6. Varianten des Turingmaschinen-Konzeptes II: Varianten der Speicherstruktur 6. Varianten des Turingmaschinen-Konzeptes II: Varianten der Speicherstruktur Der Speicherzugriff bei Turingmaschinen ist recht umständlich. Man erhält effizientere Speicherstrukturen, wenn man mehrere

Mehr

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Endliche Automaten. Endliche Automaten J. Blömer 1/23 Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls

Mehr

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}

c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}} 2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?

Mehr

GTI. Hannes Diener. 18. Juni. ENC B-0123,

GTI. 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.

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

Reduktion. 2.1 Abstrakte Reduktion

Reduktion. 2.1 Abstrakte Reduktion 2 Reduktion In diesem Kapitel studieren wir abstrakte Eigenschaften von Regeln. In den ersten beiden Abschnitten betrachten wir nicht einmal die Regeln selbst, sondern nur abstrakte Reduktionssysteme,

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine Kontextsensitive und Typ 0 Sprachen Slide 2 Die Turingmaschine DTM = Deterministische Turingmaschine NTM = Nichtdeterministische Turingmaschine TM = DTM oder NTM Intuitiv gilt: DTM = (DFA + dynamischer

Mehr

1 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 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

Mehr

Die mathematische Seite

Die 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

Mehr

Algorithmus. 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. 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

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

Einführung in die Informatik Turing Machines

Einfü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

Mehr

8. Der Äquivalenzsatz

8. Der Äquivalenzsatz 8. Der Äquivalenzsatz ÄQUIVALENZSATZ. Für eine (partielle) Funktion f : N n N sind folgende Aussagen äquivalent: f ist (partiell) Turing-berechenbar. f wird von einer k-band-turingmaschine berechnet (k

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik

Kapitel 1.5 und 1.6. Ein adäquater Kalkül der Aussagenlogik Kapitel 1.5 und 1.6 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2010/11) Kapitel 1.5 und 1.6: Kalküle 1 /

Mehr

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -

Mehr

1.5 Turing-Berechenbarkeit

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

Mehr

1.5 Turing-Berechenbarkeit

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

1 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 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

Mehr

Einführung in die Informatik

Einfü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

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier Komplexitätstheorie WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Komplexitätstheorie Gesamtübersicht Organisatorisches / Einführung Motivation / Erinnerung / Fragestellungen

Mehr

Einführung in die Informatik Turing Machines

Einfü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

Mehr

Turing-Maschinen: Ein abstrakes Maschinenmodell

Turing-Maschinen: Ein abstrakes Maschinenmodell Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen

Mehr

Klausur zur Vorlesung Einführung in die Theoretische Informatik

Klausur zur Vorlesung Einführung in die Theoretische Informatik Universität Heidelberg 19. Juli 2012 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Einführung in die Theoretische Informatik LÖSUNGEN Es können

Mehr

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter WS 2009/10 Alles ist Zahl? Wenn in der modernen Mathematik alles auf Mengen aufgebaut ist, woher kommen dann die Zahlen? Sind Zahlen

Mehr

Kapitel 9: Lineare Gleichungssysteme

Kapitel 9: Lineare Gleichungssysteme Kapitel 9: Lineare Gleichungssysteme Stefan Ruzika Mathematisches Institut Universität Koblenz-Landau Campus Koblenz Stefan Ruzika (KO) Kapitel 9: Lineare Gleichungssysteme 1 / 15 Gliederung 1 Grundbegriffe

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

3 Endliche Muster und Konfigurationen

3 Endliche Muster und Konfigurationen 3 Endliche Muster und Konfigurationen Wir gehen von nun an immer davon aus, dass 0 N ist. 3.1 Definition Eine Teilmenge P Q heißt genau dann Ruhemenge oder passiv, wenn für alle l : N Q mit ran(l) P gilt:

Mehr

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen Einf. Progr. (WS 08/09) 102 Überblick 3.

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018 23. November 2017 1/40 Satz 4.27 (Multinomialsatz) Seien r, n N 0. Dann gilt für

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,

Mehr

Abschnitt 3: Mathematische Grundlagen

Abschnitt 3: Mathematische Grundlagen Abschnitt 3: Mathematische Grundlagen 3. Mathematische Grundlagen 3.1 3.2 Induktion und Rekursion 3.3 Boolsche Algebra Peer Kröger (LMU München) Einführung in die Programmierung WS 14/15 48 / 155 Überblick

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

1 Eliminieren von ɛ-übergängen

1 Eliminieren von ɛ-übergängen 1 Eliminieren von ɛ-übergängen 1.1 Beispiel 1 (a) Ausgangspunkt: Zwei ɛ-übergänge (b) Entfernung eines ɛ-übergangs, Reduktion (c) Entfernen eines ɛ-übergangs, Reduktion Abbildung 1: Elimination von ɛ-übergängen,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (II) 2.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Skript und Übungen Teil II

Skript und Übungen Teil II Vorkurs Mathematik Herbst 2009 M. Carl E. Bönecke Skript und Übungen Teil II Das erste Semester wiederholt die Schulmathematik in einer neuen axiomatischen Sprache; es ähnelt damit dem nachträglichen Erlernen

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

Ordinalzahlen. Sei (X, ) eine total geordnete Menge und a X. Dann

Ordinalzahlen. Sei (X, ) eine total geordnete Menge und a X. Dann Ordinalzahlen Im Rahmen der Ordnungsrelationen wurden bisher die Begriffe Partialordnung und Totalordnung (lineare Ordnung) erwähnt. Ein weiterer wichtiger Ordnungsbegriff ist die Wohlordnung. Wohlgeordnete

Mehr

8. Rekursive und primitiv rekursive Funktionen

8. 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

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 8. DER ÄQUIVALENZSATZ. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2017

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 8. DER ÄQUIVALENZSATZ. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2017 EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2017 8. DER ÄQUIVALENZSATZ Theoretische Informatik (SoSe 2017) 8. Der Äquivalenzsatz 1 / 36 Übersicht In diesem Kapitel

Mehr

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und

Mehr

13 Auswahlaxiom und Zornsches Lemma

13 Auswahlaxiom und Zornsches Lemma 13 Auswahlaxiom und Zornsches Lemma Handout zur Funktionalanalysis I von H. Glöckner, 25.11.2008 Wichtige Teile der modernen Mathematik beruhen auf dem sogenannten Auswahlaxiom der Mengenlehre. Dieses

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Kapitel 1. Mengen und Abbildungen. 1.1 Mengen

Kapitel 1. Mengen und Abbildungen. 1.1 Mengen Kapitel 1 Mengen und Abbildungen 1.1 Mengen Die Objekte der modernen Mathematik sind die Mengen. Obwohl die Logik einen axiomatischen Zugang zur Mengenlehre bietet, wollen wir uns in dieser Vorlesung auf

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Deterministische Turing-Maschinen

Deterministische Turing-Maschinen Deterministische Turing-Maschinen Um 900 präsentierte David Hilbert auf einem internationalen Mathematikerkongress eine Sammlung offener Fragen, deren Beantwortung er von zentraler Bedeutung für die weitere

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Relationen und Funktionen

Relationen und Funktionen Relationen und Funktionen Relationen und Funktionen Vorkurs Informatik Theoretischer Teil WS 2013/14 2. Oktober 2013 Vorkurs Informatik WS 2013/14 1/27 Relationen und Funktionen > Relationen Relationen

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (III) 8.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.

Mehr

Einführung in die Theoretische Informatik

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

Mehr

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie. Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit

Mehr

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls

Kapitel 1.5. Ein adäquater Kalkül der Aussagenlogik. Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Kapitel 1.5 Ein adäquater Kalkül der Aussagenlogik Teil 1: Kalküle und Beweisbarkeit und die Korrektheit des Shoenfield-Kalküls Mathematische Logik (WS 2012/13) Kapitel 1.5: Kalküle 1/30 Syntaktischer

Mehr

2.5 Halteproblem und Unentscheidbarkeit

2.5 Halteproblem und Unentscheidbarkeit 38 25 Halteproblem und Unentscheidbarkeit Der Berechenbarkeitsbegriff ist auf Funktionen zugeschnitten Wir wollen nun einen entsprechenden Begriff für Mengen einführen Definition 255 Eine Menge A Σ heißt

Mehr

Seminarvortrag über den Satz von Nielsen-Schreier

Seminarvortrag über den Satz von Nielsen-Schreier Seminarvortrag über den Satz von Nielsen-Schreier Andreas Peter am Karlsruher Institut für Technologie (KIT) 16. April 2010 Zusammenfassung Eine freie Gruppe besteht, grob gesprochen, aus den Wörtern über

Mehr

Übersicht. 3.1 Datendarstellung durch Zeichenreihen. 3.2 Syntaxdefinitionen. 3.3 Algorithmen

Übersicht. 3.1 Datendarstellung durch Zeichenreihen. 3.2 Syntaxdefinitionen. 3.3 Algorithmen Übersicht 3.1 Datendarstellung durch Zeichenreihen 3.2 Syntaxdefinitionen Einführung in die Programmierung 3. Daten und Algorithmen 31 Nachdem wir bisher in Kapitel 3 die Eigenschaft eindeutige Datendarstellung

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge U Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung

Mehr

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) =

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

Mehr

Kürzeste-Wege-Algorithmen und Datenstrukturen

Kürzeste-Wege-Algorithmen und Datenstrukturen Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2

Mehr

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM Vom DFA zur TM Formale der Informatik 1 Kapitel 9 Frank Heitmann heitmann@informatik.uni-hamburg.de a b b a z 0 a z 1 a z 2 b 2. Mai 2016 Wir wollen auf dem Band nach rechts und links gehen können und

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel 2. Turingmaschinen Zur Formalisierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes, die sich in der Literatur finden, greifen wir das Konzept der on-line

Mehr