Diskrete Mathematik II

Ähnliche Dokumente
Kryptographie I Symmetrische Kryptographie

Theoretische Grundlagen der Informatik

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

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Zusammenfassung Grundzüge der Informatik 4

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

3. Ziel der Vorlesung

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

Die Komplexitätsklassen P und NP

Komplexität und Komplexitätsklassen

Mächtigkeit von WHILE-Programmen

Grammatiken und die Chomsky-Hierarchie

Algorithmen und Programmierung

GTI. Hannes Diener. 6. Juni Juni. ENC B-0123, diener@math.uni-siegen.de

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Theoretische Informatik 1

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

Theoretische Informatik 2

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Mathematische Maschinen

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Reguläre Sprachen Endliche Automaten

Vorlesung Theoretische Informatik

Einführung in die Theoretische Informatik

Wortproblem für kontextfreie Grammatiken

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Approximationsalgorithmen

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

THEORETISCHE INFORMATIK

Theoretische Informatik 2

Das P versus N P - Problem

Grundlagen der Theoretischen Informatik

Theoretische Informatik

Grundlagen der Informatik 2 (GdI2) - Algorithmen und Datenstrukturen -

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Sprachen/Grammatiken eine Wiederholung

1 Vom Problem zum Programm

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

Zusammenstellung von Fragen der Vordiplomsprüfung Theoretische Informatik (Kurse 1653/54)

Minimalismen in der. Informatik

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Komplexitätstheorie Slide 1. Komplexitätstheorie

Theoretische Informatik SS 04 Übung 1

Pratts Primzahlzertifikate

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Grundlagen der Informatik

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

IT-Sicherheit Kapitel 3 Public Key Kryptographie

Informatik I. Lutz Donnerhacke PGP:db c1c 6311 ef09 d819 e029 65be bfb6 c9cb

Grundbegriffe der Informatik

Komplexitätstheorie. Arfst Nickelsen Universität zu Lübeck Institut für Theoretische Informatik Wintersemester 2006/07. Stand 8.

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)

Kryptologie und Kodierungstheorie

Aufgabentypen die in der Klausur vorkommen

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Grafische Interaktionssysteme/ dynamische Visualisierung des endlichen Automaten

Laufzeit und Komplexität

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Einführung in die Informatik

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Algorithmen und Berechnungskomplexität I

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)

KRYPTOLOGIE KRYPTOLOGIE

5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur

Theoretische Informatik

TEIL III: FORMALE SPRACHEN

Algorithmen und Datenstrukturen

Theoretische Informatik II

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester

1 Einführung Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT) Notationen und Definitionen Übungsaufgaben...

Grundbegriffe der Informatik

Theoretische Informatik I

Kapitel 1: Einführung. Was ist Informatik? Begriff und Grundprobleme der Informatik. Abschnitt 1.1 in Küchlin/Weber: Einführung in die Informatik

Ein Scan basierter Seitenangriff auf DES

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Theoretische Informatik - Zusammenfassung

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen

Ver- und Entschlüsselung

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie

Theoretische Informatik

Primzahlzertifikat von Pratt

Organisatorisches. Zeit und Ort: Mo MZH 1450 Mi MZH Prof. Carsten Lutz Raum Cartesium 2.59 Tel. (218)

Informatik II Zusammenfassung

Der Kurs bestand aus zwei Teilen. Mit welchem Teil wollen Sie anfangen? Ich habe mich für Teil A entschieden.

Grundlagen der Theoretischen Informatik, SoSe 2008

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

Grundlagen der theoretischen Informatik

Transkript:

Diskrete Mathematik II Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Sommersemester 2011 DiMa II - Vorlesung 01-04.04.2011 1 / 252

Organisatorisches Vorlesung: Mo 12-14 in HZO 70, Di 09-10 in NA 6/99 (3+1 SWS, 6.75 CP) Übung: Di 10-12 in NA 5/99 Assistent: Gottfried Herold, Korrektor: Ilya Ozerov Präsenzübung ist zweiwöchentlich: 05.04., 19.04., 03.05.,... Vorrechenübung ist zweiwöchentlich: 12.04., 26.04., 10.05.,... Abgabe der Übungen am selben Tag vor der Vorlesung. Gruppenabgaben bis 3 Personen Bonussystem: 1/3-Notenstufe für 50%, 2/3-Notenstufe für 75% Gilt nur, wenn man die Klausur besteht! Klausur: September(?) DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 2 / 252

Themengebiete 1 Komplexitätstheorie Klassen P und NP Reduktionen Anwendung: Sicherheitsbeweise in der Kryptographie 2 Algorithmische Zahlentheorie Quadratische Reste Beispiel Anwendungen: Zufallszahlengenerator, Identity-Based Encryption 3 Kodierungstheorie Komprimierende Codes Beispiel Anwendungen: Kommunikation (Mobilfunk, Internet), Speicher (MP3) Fehlererkennende Codes Ausfalltolerante Codes Beispiel Anwendungen: Mobilfunk, Internet, CD, Secret Sharing, Kryptosystem DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 3 / 252

Weiterführende Referenzen Ziel: Einfaches aber mächtiges Rechnermodell. Michael R. Garey, David S. Johnson, Computers and Intractability, Freeman, 2000 J. Blömer, Einführung in Algorithmen und Komplexität, Vorlesungsskript Universität Paderborn, 2002 N. Koblitz, A Course in Number Theory and Cryptography, Springer Verlag, 1994 Steven Roman, Introduction to Coding and Information Theory, Springer Verlag, 1996 DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 4 / 252

Einführung in die NP-Vollständigkeitstheorie Notationen Alphabet A = {a 1,...,a m } aus Buchstaben a i Worte der Länge n sind Elemente aus A n = {a i1... a in a ij A 0 = {ǫ}, wobei ǫ das leere Wort ist. A = n=0 An, A + = A \{ǫ}, A m = m n=0 An Länge a 1...a n = n. bin(a 1 ) ist Binärkodierung von a 1. A}. Definition Sprache L Sei A ein Alphabet. Eine Menge L A heißt Sprache über dem Alphabet A. Das Komplement von L über A ist definiert als L = A \ L. DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 5 / 252

Turingmaschine (informal) Turingmaschine besteht aus: Einseitig unendlichem Band mit Zellen (Speicher), Kontrolle und einem Lesekopf, der auf einer Zelle steht. Arbeitsweise einer Turingmaschine Bandsymbol steht in der Zelle am linken Bandende. Kontrolle besitzt Zustände einer endlichen Zustandsmenge. Abhängig vom Zelleninhalt und Zustand schreibt die Kontrolle ein Zeichen und bewegt den Lesekopf nach links oder rechts. Zu Beginn der Berechnung gilt: Lesekopf befindet sich auf dem linken Bandende. Band enthält a1...a n..., wobei a 1...a n die Eingabe ist. Turingmaschine M hält gdw Kontrolle im Zustand q a oder q r. Falls M in qa hält, so akzeptiert M die Eingabe a 1...a n. Falls M in qr hält, so verwirft M die Eingabe a 1...a n. Falls M nie in die Zustände qa, q r kommt: M läuft unendlich. DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 6 / 252

Turingmaschine (formal) Definition Deterministische Turingmaschine (Turing 1936) Eine deterministische Turingmaschine DTM ist ein 4-Tupel (Q, Σ, Γ, δ) bestehend aus 1 Zustandmenge Q: Enthält Zustände q a, q r, s. 2 BandalphabetΓ mit, Γ 3 EingabealphabetΣ Γ\{, }. 4 Übergangsfunktionδ : Q \{q a, q r } Γ Q Γ {L, R} Es gilt stets δ(q, ) = (q,, R) (am linken Bandende). Es gilt nie δ(q, a) = (q,, L/R) (nicht am linken Bandende). DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 7 / 252

Beispiel DTM M 1 Bsp: a n, n 1 Q = {q 0, q 1, q a, q r } mit s = q 0 Σ = {a} und Γ = {,, a} Übergangsfunktion δ a q 0 (q 1, a, R) (q r,, R) (q 0,, R) q 1 (q 1, a, R) (q a,, R) (q 1,, R) Notation der Konfigurationen bei Eingabe a 2 : q 0 aa q 0 aa aq 1 a aaq 1 aa q a DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 8 / 252

Nachfolgekonfigurationen Notation Nachfolgekonfiguration Direkte Nachfolgekonfiguration: aqb a q b i-te Nachfolgekonfiguration: aqb i a q b Indirekte Nachfolgekonfiguration aqb a b q, d.h. i N : aqb i a q b. Akzeptanz und Ablehnen von Eingaben DTM M erhalte Eingabe w Σ. M akzeptiert w a, b Γ mit s w aq a b M lehnt w ab a, b Γ mit s w aq r b DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 9 / 252

Akzeptierte Sprache, L rekursiv aufzählbar Definition Akzeptierte Sprache, Rekursive Aufzählbarkeit Sei M eine DTM. Dann ist die von M akzeptierte Sprache L(M) = {w Σ M akzeptiert Eingabe w}. Eine Sprache L heißt rekursiv aufzählbar gdw eine DTM M existiert mit L = L(M). Unsere Beispiel-DTM M 1 akzeptiert die Sprache L(M 1 ) = {a} +. D.h. L = {a} + ist rekursiv aufzählbar, da für M 1 gilt L = L(M 1 ). Aus der obigen Definition folgt: L ist nicht rekursiv aufzählbar DTM M mit L = L(M). Es gibt Sprachen, die nicht rekursiv aufzählbar sind, z.b. H = { M, x DTM M hält bei Eingabe x nicht.}. (ohne Beweis) DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 10 / 252

Entscheidbarkeit und rekursive Sprachen Definition Entscheidbarkeit Sei M eine DTM, die die Sprache L(M) akzeptiert. M entscheidet die Sprache L(M) gdw M alle Eingaben w / L(M) ablehnt. D.h. insbesondere M hält auf allen Eingaben. Eine Sprache L heißt entscheidbar gdw eine DTM M existiert, die L entscheidet. Unsere Beispiel-DTM M 1 entscheidet die Sprache L(M 1 ) = {a} +. L = {a} + ist entscheidbar, da M 1 die Sprache L entscheidet. Korollar Entscheidbarkeit impliziert rekursive Aufzählbarkeit Sei L eine entscheidbare Sprache. Dann ist L rekursiv aufzählbar. Die Rückrichtung stimmt nicht: Es gibt rekursiv aufzählbare L, die nicht entscheidbar sind, z.b. H = { M, x DTM M hält auf Eingabe x.}. (ohne Beweis) DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 11 / 252

Entscheiden versus Berechnen Definition Berechnung von Funktionen Eine DTM M berechnet die Funktion f : N n N, falls M für jedes (a 1,..., a n ) bei Eingabe bin(a 1 )#...#bin(a n ) den Bandinhalt bin(f(a 1,..., a n )) berechnet und in q a hält. Werden der Einfachheit halber Sprachen entscheiden, nicht Funktionen berechnen. DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 12 / 252

Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes von M bei Eingabe w. Dann bezeichnen wir die Funktion T M (n) : N N mit T M (n) = max{t M (w) w Σ n } als Zeitkomplexität bzw. Laufzeit der DTM M. Die Laufzeit wächst monoton in n. Unsere Beispiel-DTM M 1 mit L(M 1 ) = {a} besitzt Laufzeit O(n). Definition DTIME Sei t : N N eine monoton wachsende Funktion. Die Klasse DTIME ist definiert als DTIME(t(n)) := {L L wird von DTM mit Laufzeit O(t(n)) entschieden.}. Es gilt L(M 1 ) DTIME(n). DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 13 / 252

Registermaschine RAM Registermaschine RAM besteht aus den folgenden Komponenten: Eingabe-/ und Ausgabe-Register Speicherregister Programm Befehlszähler Akkumulator Funktionsweise einer RAM: Liest Eingabe aus Eingaberegister und lässt Programm auf Eingabe laufen. Führt Arithmetik im Akkumulator aus. Ergebnisse können im Speicherregister gespeichert werden. Befehlszähler realisiert Sprünge, Schleifen und bedingte Anweisungen im Programm. Ausgabe erfolgt im Ausgaberegister. DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 14 / 252

DTMs versus RAMs, Churchsche These Fakt Polynomielle Äquivalenz von DTMs und RAMs Sei t : N N eine monoton wachsende Funktion mit t(n) n. Jede RAM mit Laufzeit t(n) kann durch eine DTM M mit Laufzeit O(t(n) 3 ) simuliert werden. Churchsche These (1936) "Die im intuitiven Sinne berechenbaren Funktionen sind genau die durch Turingmaschinen berechenbaren Funkionen." These ist nicht beweisbar oder widerlegbar. Alle bekannten Berechenbarkeitsbegriffe führen zu DTM-berechenbaren Funktionen. DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 15 / 252

Die Klasse P Definition Klasse P Die Klasse P ist definiert als P = DTIME(n k ). k N L P gdw eine DTM existiert, die L in Laufzeit O(n k ) entscheidet. P ist die Klasse aller in Polynomialzeit entscheidbaren Sprachen. (auf DTMs, RAMs, etc.) Hintereinanderausführung/Verzahnung von DTMs mit polynomieller Laufzeit liefert polynomielle Gesamtlaufzeit. P beinhaltet praktische und theoretisch interessante Probleme. Probleme ausserhalb von P sind in der Praxis oft nur für kleine Instanzen oder approximativ lösbar. DiMa II - Vorlesung 01-04.04.2011 Turingmaschine, Rekursive Aufzählbarkeit, Entscheidbarkeit, Laufzeit, DTIME, P 16 / 252