Theoretische Informatik

Ähnliche Dokumente
2.6 Verdeutlichung verwendeter Begriffe

1 Endliche Automaten mit Ausgabe

Grundbegriffe der Informatik Tutorium 10

6 Schaltwerke und endliche Automaten

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Grundbegriffe der Informatik Tutorium 11

Sprachen und Automaten. Tino Hempel

Modulare Arithmetik. Manfred Gruber SS 2010, KW 23

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

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

Theoretische Informatik I

Theoretische Informatik I

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

5.4 Endliche Automaten

Grundlagen der theoretischen Informatik

Theoretische Informatik I

Theoretische Grundlagen der Informatik

Grundlagen der theoretischen Informatik

1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus

11.3 Eindimensionale Turingmaschinen

Theoretische Informatik I

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset

Die mathematische Seite

Kurz-Skript zur Theoretischen Informatik I

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

Klausur zur Vorlesung Grundbegriffe der Informatik 31. August 2009

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

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

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016

Modelle der Parallelverarbeitung

Theoretische Informatik 1

Berechenbarkeit. Script, Kapitel 2

Asymptotische Komplexität

Klausur zur Vorlesung Grundbegriffe der Informatik 10. März 2010

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Über Potenzsummenpolynome

Tutorium 23 Grundbegriffe der Informatik (9. Sitzung)

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

Klausur zur Vorlesung Grundbegriffe der Informatik 31. August 2009 mit Lösunsgsvorschlägen

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

Algorithmische Methoden zur Netzwerkanalyse

Endliche Automaten, Kellerautomaten und Turingmaschinen

Endliche Automaten. Endliche Automaten 1 / 102

Endliche Automaten. Endliche Automaten 1 / 115

Praktische Informatik I WS 1999/2000

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Grundbegriffe der Informatik Tutorium 13

Grundlagen der Programmierung (Vorlesung 24)

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

1 Endliche deterministische Automaten. Informatik I: Einführung in die Programmierung 7. Automaten: Akzeptoren & Transduktoren. Vorweg...

Klausur Theoretische Informatik I WS 2004/2005

Grundbegriffe der Informatik

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

Grundbegriffe der Informatik

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Algorithmentheorie 1. Vorlesung

Informatik I: Einführung in die Programmierung

Beispiel für die Minimierung von DEAs

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Lösungsvorschläge für das 7. Übungsblatt Letzte Änderung am 27. Juni 2001

Algorithmische Methoden zur Netzwerkanalyse

Theoretische Informatik

WS 20013/14. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen

Automaten und Formale Sprachen

Theoretische Informatik

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Einige Beispiele zur Turingmaschine

5.2 Endliche Automaten

Grundbegriffe der Informatik Tutorium 33

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

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

WS 2013/14. Diskrete Strukturen

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset

WS 2009/10. Diskrete Strukturen

Algorithmentheorie 1. Vorlesung

Hilfestellungen zu Relationen, Automatenübergänge und Hüllen

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

Diskrete Strukturen Kapitel 1: Einleitung

Algorithmen und Datenstrukturen 2

Grundbegriffe der Informatik

Turing Maschinen II Wiederholung

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Automaten und Formale Sprachen SoSe 2013 in Trier

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

2 Inhalte, Prämaße, Maße

Zur Vorbereitung auf die Vorlesung Grundlagen der theoretischen Informatik Mo 4., Mi 6. und Fr. 8. Oktober in H/C 3310 um Uhr.

Theoretische Informatik

Theoretische Grundlagen der Informatik

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

Transkript:

Theoretische Inforatik Skript zur Vorlesung Lehrerweiterbildung WS 2006/07 Literatur: - Schöning, Uwe: Theoretische Inforatik kurzgefasst; BI Wissenschaftsverlag - Hopcroft, J.; Ullann, J.: Einführung in die Auroatentheorie, forale Sprachen und Koplexitätstheorie; Addison-Wesley 1990 - Wegener, I.: Theoretische Inforatik; Teubner 1993 - Wagner, K.: Theoretische Inforatik, Springer Gegenstand Gegenstand der theoretischen Inforatik ist es, über konkrete Einzelfragen hinaus, grundsätzliche Fragestellungen zu bearbeiten, wie z.b. Was ist das Geeinsae, das der großen Vielfalt von Coputern zu Grunde liegt? Von den konkreten Details uss dabei abstrahiert werden - es sind Modelle zu entwerfen, die dann untersucht werden können ( in ihrer Leistungskraft und in ihren Beziehungen zueinander ). Wie üssen ( oder können ) Modelle aussehen, die ohne Rücksicht auf technische Grenzen alles ausführen können, was überhaupt von eine Rechner ausführbar ist? Was ist überhaupt it eine Rechner ausführbar? Alles? D.h., sind alle Problee, die sich it Mitteln der Inforatik oder Matheatik forulieren lassen, lösbar? Wie kann an Algorithen hinsichtlich ihrer Qualität (z.b. Laufzeit, Speicherplatz) vergleichen, ohne sich dabei auf eine bestite Maschine zu beziehen? Gibt es öglicherweise Problee, die zwar i Prinzip lösbar sind, aber die - ganz gleich für welche Maschine - so viele Ressourcen erfordern, dass eine praktische Lösung unöglich ist? Kann an atheatische Beweise von eine Rechner führen lassen? Die Theoretische Inforatik verittelt hauptsächlich Einsichten. Trotzde sind viele Gebiete auch eng verbunden it praktischen Anwendungen ( etwa die Theorie der foralen Sprachen it de Copilerbau (lexikalische Analyse)). Die Theoretische Inforatik benutzt eine atheatisch exakte Darstellung und atheatische Beweisethoden. 1

I. Autoaten und forale Sprachen I.1. Endliche Autoaten it Ausgabe I.1.1. Grundlagen Autoat - Syste, das in der Lage ist, sein Verhalten ohne unittelbares Eingreifen des Menschen selbst zu steuern Verhalten des Autoaten - Menge der aufeinanderfolgenden ustände des Systes, deren Anzahl bestit ist durch die innere Struktur des Systes. Die Kounikation zwischen der Uwelt und de Autoaten erfolgt über die Einund Ausgabe von Sybolen. Die Beschreibung eines Autoaten erfordert die Beantwortung von: Welche Eingabe kann er aufnehen? Welche Ausgabe kann er ausgeben? Welche inneren ustände kann er annehen? Welchen ustand nit er an, wenn in eine bestiten ustand eine bestite Eingabe erfolgt? Welche Ausgabe acht er, wenn in eine bestiten ustand eine bestite Eingabe erfolgt? Beispiel: Mausefalle M ustandsenge = { z 1, z 2 } it z 1 : Falle gespannt z 2 : Falle nicht gespannt Menge der Eingabezeichen X = {, } Menge der Ausgabezeichen Y = { t, t } : Maus kot : Maus kot nicht t : Maus tot t : Maus nicht tot 2

Verhalten des Autoaten (Tabelle): X z 1 z 2, t z 1, t z 2 z 2, t z 2, t 1. eichen : Folgezustand 2. eichen : Ausgabezeichen ustandsgraph : z 1 t z 2 Erweiterung des Modells durch Berücksichtigung von Speck Erweiterung der ustandsenge (Autoat M ) = { z 1, z 2, z 3, z 4 } it z 1 : Speck nicht vorhanden, Falle gespannt z 2 : Speck nicht vorhanden, Falle nicht gespannt z 3 : Speck vorhanden, Falle gespannt z 4 : Speck vorhanden, Falle nicht gespannt Tabelle: X z 1 z 2, t z 1, t z 2 z 2, t z 2, t z 3 z 4, t z 3, t z 4 z 2, t z 4, t Graph: z 4 z 1 t z 2 t z 3 3

Definition: Ein Mealy - Autoat ist ein Fünftupel A = ( X, Y,, f, g ) it nichtleeren Mengen X, Y, und Abbildungen f: X g: X Y Bezeichnungen: X Eingabealphabet (Menge von Eingabezeichen) Y Ausgabealphabet (Menge von Ausgabezeichen) ustandsenge (Menge von ustandszeichen) f Überführungsfunktion, ustandsfunktion g Ergebnisfunktion, Ausgabefunktion Modell: x 4 Steuereinheit Lese- x 3 y 3 Schreibvorrichtung vorrichtung x 2 y 2 x 1 y 1 Eingabeband Ausgabeband Arbeitsweise: Anfangszustand z setzen Lesekopf auf 1. eichen der Eingabe setzen while Feld unter Lesekopf nicht leer do eichen x unter Lesekopf lesen auf Ausgabeband eichen y = g ( z, x ) schreiben Ausgabeband u 1 Feld weiterrücken ustand z := f ( z, x ) Eingabezustand u 1 Feld weiterrücken Darstellung in Tabellenfor: X = { x 1,..., x n } Y = { y 1,..., y } = { z 1,..., z k } 4

Überführungsfunktion Ausgabefunktion X x 1 x 2... x n X x 1 x 2... x n z 1 f(z 1,x 1 ) f(z 1,x 2 )... f(z 1,x n ) z 1 g(z 1,x 1 ) g(z 1,x 2 )... g(z 1,x n ) z 2 f(z 2,x 1 ) f(z 2,x 2 )... f(z 2,x n ) z 2 g(z 2,x 1 ) g(z 2,x 2 )... g(z 2,x n )........................ z k f(z k,x 1 ) f(z k,x 2 )... f(z k,x n ) z k g(z k,x 1 ) g(z k,x 2 )... g(z k,x n ) Beerkung: Oft werden die Tabellen für f und g zu einer einzigen zusaengefasst it den Eintragungen f ( z i, x j ) ; g ( z i, x j ) ( i = 1(1) k ; j = 1(1) n ) Darstellung ittels gerichteter Graphen: Definition: Das geordnete Paar G = (K, R) heißt gerichteter Graph, wenn K eine nichtleere Menge und R K K, d.h. R ist eine zweistellige Relation. K: Knotenenge, R: Kantenenge, für (k, k ) R heißt k Anfangsknoten und k Endknoten. De Mealy - Autoaten A = (X, Y,, f, g) wird der gerichtete Graph G A = (, R) it R = { (z, z ) : z, z es ex. x X : f(z, x) = z } zugeordnet. Dabei wird eine Kante (z, z ) bei f(z, x) = z it x und y = g(z, x) beschriftet. Dieser Graph heißt ustandsgraph von A. Beispiel: Es soll ein Mealy - Autoat entworfen werden, der ein Eingabewort u ein eichen versetzt reproduziert. Das Ausgabewort beginnt ier it #, das letzte eichen des Eingabewortes geht verloren. Dabei sei X = {0, 1}, also Y = {#, 0, 1} 5

z.b. Eingabe: 011011 Ausgabe: #01101 Konstruktionsprinzip: ustand z2: ustand z3: letztes eingeg. eichen 0 letztes eingeg. eichen 1 z 1 0 # Anfangszustand 1 # 0 0 0 1 1 0 1 1 z 2 z 3 Tabelle: 0 1 z 1 z 2, # z 3, # z 2 z 2, 0 z 3, 0 z 3 z 2, 1 z 3, 1 6

7