Theoretische Informatik 1

Ähnliche Dokumente
Theoretische Informatik 1

Theoretische Grundlagen der Informatik

Algorithmen und Programmierung

Die Komplexitätsklassen P und NP

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

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

Einführung in die Informatik

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

Mächtigkeit von WHILE-Programmen

Theoretische Informatik

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

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

Approximationsalgorithmen

Wortproblem für kontextfreie Grammatiken

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

Laufzeit und Komplexität

Modelle der Parallelverarbeitung 4. Parallele Registermaschinen

Mathematik 1. Lösungsvorschläge zum 2. Übungsblatt

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

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou

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

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

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

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

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Kapitel 4. Grundlagen der Analyse von Algorithmen. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

Theoretische Informatik

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

Komplexität und Komplexitätsklassen

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

Programmiertechnik II

H mm. H mm

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

Kostenmaße. F3 03/04 p.188/395

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Randomisierte Algorithmen

Programmieren I. Kapitel 7. Sortieren und Suchen

SOI Die Schweizer Informatikolympiade

Algorithmen II Vorlesung am

Lineare Programmierung

Theoretische Grundlagen der Informatik WS 09/10

Mathematische Maschinen

Binary Decision Diagrams

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Rekursive Auswertungsprozesse in Haskell

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

OPERATIONS-RESEARCH (OR)

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. SS 06

3. Ziel der Vorlesung

Kap. 4.2: Binäre Suchbäume

Programmiertechnik II

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

1 Vom Problem zum Programm

Kapitel 5: Dynamisches Programmieren Gliederung

Theoretische Grundlagen der Informatik

Theoretische Informatik I

= = = 3 10 = = 33

Numerische Verfahren und Grundlagen der Analysis

1. Grundlagen Sortieren Vertauschen Selektion Einfügen Quicksort Suchen...

IT-Sicherheit Kapitel 3 Public Key Kryptographie

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

Grundbegriffe der Informatik

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Theoretische Informatik SS 04 Übung 1

Primzahlzertifikat von Pratt

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

Welches Problem denn? Das Heiratsproblem. Formale Beschreibung. Paarungen

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Mikroprozessortechnik. 03. April 2012

Theoretische Informatik 2

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Programmierung und Modellierung

Formelsammlung zur Informatik

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der

Mikroprozessor als universeller digitaler Baustein

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

Logik für Informatiker

Heuristiken im Kontext von Scheduling

Zusammenfassung Grundzüge der Informatik 4

Erfüllbarkeit und Allgemeingültigkeit

2.11 Kontextfreie Grammatiken und Parsebäume

Vorlesung. Funktionen/Abbildungen 1

Noethersche und artinsche Ringe

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

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

Höhere Algorithmik. Eine Vorlesung von Prof. Dr. Helmut Alt Mitschrift von Pascal-Nicolas Becker

Kapitel 6: Graphalgorithmen Gliederung

Theoretische Informatik

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.

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

Theoretische Grundlagen des Software Engineering

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

Johann Wolfgang Goethe-Universität

Theoretische Informatik - Zusammenfassung

Sortierverfahren für Felder (Listen)

Urbild Angriff auf Inkrementelle Hashfunktionen

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

Transkript:

Theoretische Informatik 1 Teil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007

Übersicht 1 Codierung, Gödelisierung Paare, Tupel, Listen Überabzählbarkeit 2 Ist universell?

Paare, Tupel, Listen Überabzählbarkeit Codierung, Gödelisierung Definition (Gödelisierung) Eine Funktion τ : C N ist eine Gödelisierung von C gdw. τ ist injektiv; τ ist berechenbar; Es ist n N entscheidbar, ob z C : τ(z) = n Die Umkehrfunktion τ 1 : N C ist berechenbar. C ist abzählbar τ bijektiv = n N : z C : τ(z) = n Es gibt zu jeder Menge C unendlich viele verschiedene Gödelisierungen, jede erzeugt eine bestimmte Nummerieung.

Paare, Tupel, Listen Überabzählbarkeit Zahlenpaare τ : N N N : τ(x, y) = (x+y)(x+y+1) 2 + y Zugriffsfunktionen: π 1 (τ(x, y)) = x π 2 (τ(x, y)) = y

Paare, Tupel, Listen Überabzählbarkeit Zahlentupel vergödeln τ 3 : N 3 N : τ 3 (x 1, x 2, x 3 ) = τ(x 1, τ(x 2, x 3 )) τ 1 : N N : τ 1 (x) = x τ n+1 : N n+1 N : τ n+1 (x 1,..., x n+1 ) = τ(x 1, τ n (x 2,..., x n+1 )) Zugriffsfunktion: π n i (τ n (x 1,..., x n )) = x i, i n

Paare, Tupel, Listen Überabzählbarkeit beliebig lange Listen C = N = N i = {λ, 3, (5, 1, 9), (10,..., 100),...} i=0 τ : N N τ (λ) = 0 τ (x 1,..., x n ) = τ(n 1, τ n (x 1,..., x n )) + 1 Zugriffsfunktionen: ϕ = τ (x 1,..., x n ) π (ϕ, i) = x i len(ϕ) = n { x1 n 1 head(ϕ) = 0 n = 0 { τ tail(ϕ) = (x 2,..., x n ) n 2 0 n 1 concat(ϕ x, ϕ y ) = τ (x 1,..., x n, y 1,..., y m )

Paare, Tupel, Listen Überabzählbarkeit Überabzählbare Mengen N N = R = R 2 = R n = (0, 1) ϕ : [0, 1] [0, 1] 2

RM-Berechenbarkeit (WH) Ist universell? Definition Eine partielle Funktion f : N k N wird RM-berechenbar genannt, wenn es eine Registermaschine R gibt, sodass f = f R.

Berechnungspfad Codierung, Gödelisierung Ist universell? Definition (Berechnungspfad, Länge) Sei κ 0 = (b 0 = 1, c 0 = c[n 1,..., n k ]) eine Startkonfiguration der RM R. Die Folge < κ 0, κ 1,..., κ N >, mit κ i = (b i, c i ), heißt Berechnungspfad der RM R bei Eingabe von n 1,..., n k und hat die Länge N wenn κ N = (, c) 0 i < N : κ i R κ i+1 Falls R nicht terminiert, ist N = und der Berechnungspfad ist eine unendliche Folge von Konfigurationen.

Codierung, Gödelisierung Ist universell? Definition (uniforme Zeitkosten) Die uniformen Zeitkosten der RM R bei Eingabe von n 1,..., n k sind definiert als t u R (n 1,..., n k ) = Definition (uniforme Platzkosten) N 1 Die uniformen Platzkosten der RM R bei Eingabe von n 1,..., n k sind definiert als { sr u 1 0 i N : (n ci (j) 0 1,..., n k ) = 0 0 i N : c i (j) = 0 j=0 i=0 1

Ist universell? Logarithmische Länge Definition (Logarithmische Länge) Sei n N, dann ist die Logarithmische Länge von n die Anzahl der für die binäre Darstellung von n benötigten Bits. { 1 : n = 0 L(n) = log n + 1 : n 1

logarithmische Zeitkosten Ist universell? Definition (logarithmische Zeitkosten) Die logarithmischen Zeitkosten der RM R bei Eingabe von n 1,..., n k sind definiert als t R (n 1,..., n k ) = N 1 i=0 1 P(b i )=GOTO END L(c i (0)) L(c i (0)) L(c i (0))+L(op) L(c i (0))+L(op)+L(c i (op)) L(c i (0))+L(op)+L(c i (op)) L(c i (0))+L(op)+L(c i (op))+ +L(c i (c i (op))) P(b i )=JZERO op P(b i )=ADD SUB MULT DIV #op P(b i )=STORE i P(b i )=ADD SUB MULT DIV op P(b i )=STORE i L(op) P(b i )=LOAD #i L(op)+L(c i (op)) L(op)+L(c i (op))+l(c i (c i (op))) P(b i )=ADD SUB MULT DIV op P(b i )=LOAD i P(b i )=LOAD i

logarithmische Platzkosten Ist universell? Definition (logarithmische Platzkosten) Die logarithmischen Platzkosten der RM R bei Eingabe von n 1,..., n k sind definiert als s R (n 1,..., n k ) = max L(c i(j)) 0 i N j=0

Codierung, Gödelisierung Ist universell? Definition (Zeitkomplexität, Laufzeit) Die Zeitkomplexität (oder Laufzeit) T R (n) einer RM R in Abhängigkeit der logarithmischen Größe n der Eingabe ist definiert als T R (n) = max t R (n 1,..., n k ) (n 1,...,n k ) N k : L(n 1 )+ +L(n k ) n Definition (Platzkomplexität, Speicherbedarf) Die Platzkomplexität (oder der Speicherbedarf) S R (n) einer RM R in Abhängigkeit der logarithmischen Größe n der Eingabe ist definiert als S R (n) = max s R (n 1,..., n k ) (n 1,...,n k ) N k : L(n 1 )+...+L(n k ) n

Ist universell? Landau symbole Definition (Landau O) Alle Funktionen f, deren asymptotisches Wachstum in der Größenordnung durch g(n) beschränkt ist: O(g) = {f : N R : c, n 0 : n > n 0 : f (n) c g(n)} Definition (Landau Θ) Alle Funktionen f, deren asymptotisches Wachstum genau in der Größenordnung von g(n) liegt: Θ(g) = {f : N R : c 1, c 2, n 0 : n > n 0 : c 1 g(n) f (n) c 2 g(n)} Verkürzte Schreibweise: f (n) = O(g(n)) bzw. f (n) = Θ(g(n))

Ist universell? schranken mit O O(poly(n)) = O(n k ) k=0 f (n) = 2 O(log(n)) f (n) = n O(1) R ist quadratisch zeitbeschränkt: T R (n) = O(n 2 ). R ist polynomiell zeitbeschränkt: T R (n) = O(poly(n)). R hat superpolynomielle Laufzeit: T R (n) / O(poly(n)) (Wir betrachten immer den worst-case!)

Beispiel n m, Kosten pro Befehl Ist universell? uniform logarithmisch 1 LOAD #1 a = 1 1 1 2 STORE 3 z = a 1 2 3 LOAD 2 a = m 1 2 + L(m) 4 JZERO 11 a?0 1 L(m) 5 SUB #1 a = a 1 1 L(m) 6 STORE 2 m = a 1 2 + L(m) 7 LOAD 3 a = z 1 2 + L(z) 8 MULT 1 a = a n 1 L(z) + 1 + L(n) 9 STORE 3 z = a 1 L(z) + 2 10 GOTO 3 1 1 11 LOAD 3 a = z 1 2 + L(z) 12 END 1 1

Ist universell? Beispiel n m, uniforme Kosten tr u (n, m) = 4 Zeile 1-4 + 8m Zeile 5-10,3,4; m Durchläufe + 2 Zeile 11,12 = 8m + 6 = Θ(m) = Θ(2 L(m) ) Unter dem uniformen Kostenmodel ist der verwendete Algorithmus für n m linear im Wert der Eingabevariable m, daher ist T u R (L(n) + L(m)) = O(2L(n)+L(m) ), also exponentiell in der Größe der EingabeL(n) + L(m). (worst case)

Ist universell? Beispiel n m, logarithmische Kosten Wir sind nur an der asymptotischen Größe interessiert. Es genügt also, den komplexesten Schleifenbefehl zu untersuchen. t R (n, m) = m [Z8] L(z i ) + 1 + L(n) i=1 = m i=1 L(ni 1 ) + 1 + L(n) = m (i 1)L(n) + 1 + L(n) i=1 = m 1 + il(n) i=1 m(m 1) = m + L(n) = Θ(m 2 L(n)) = Θ(2 2L(m) L(n)) 2

Ist universell? uniforme vs. log. Kosten Solange man nur die Frage der polynomiellen Laufzeit beantworten möchte, kann man unter folgenden Voraussetzungen das uniforme Kostenmaß verwenden. t u R (n1,..., n k) = O(poly(L(n 1 ) + + L(n k ))) max i,j L(c i (j)) = O(poly(L(n 1 ) + + L(n k ))) Sind beide Voraussetzungen erfüllt, dann ist R polynomiell zeitbeschränkt.

Ist universell? Modellunabhängigkeit? Berechenbarkeit ist universell, modellunabhängig 1. Zeitkostenmaß, also ist offensichtlich abhängig von: Kostenmodel Maschinenmodel Befehlsvorrat Laufzeit, also ist stark modellabhängig. Ziel Allgemeingültige Aussagen über Kann man Eigenschaften finden, die für alle Modelle gelten? 1 =Church-Turing-These (bereits bekannt)