Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt.
|
|
- Hermann Kruse
- vor 6 Jahren
- Abrufe
Transkript
1 Die Turingmaschine besteht aus der Steuereinheit, die verschiedene Zustände annimmt dem Band, welches unendlich ausgedehnt ist, aber nur auf einem endlichem Bereich mit Zeichen aus einem Alphabet beschrieben ist dem Lese-Schreib-Kopf der Übergangstabelle Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit 1 belegt. vorher nachher Zustand Zeichen Zustand Zeichen Bewegung z 0 z 1 R z 1 1 z 1 1 R z 1 z 2 1 H Überlegen Sie, weshalb man sagt, diese Übergangstabelle realisiere Addition von 1 bei Unärdarstellung. Interaktive Simulation der Turingmaschine: In jedem Verarbeitungsschritt: wird das Zeichen unter dem Lese-Schreib-Kopf gelesen wird in der Übergangstabelle nach dem Eintrag gesucht, der dieses Zeichen und den aktuellen Zustand der Steuereinheit enthält, werden Zeichen und Zustand entsprechend der Angaben in der Übergangstabelle geändert und wird der Lese-Schreib-Kopf um eine Position nach links (L) oder rechts (R) weiterbewegt. Auch dies wird in der Übergangstabelle festgelegt. Der Lese-Schreib-Kopf kann auch angehalten werden (H). Die Verarbeitung ist dann beendet Modul Turingmaschine 258
2 7.1.2 Grenzen der Berechenbarkeit Es gibt Funktionen, die nicht berechenbar sind. Wegen der Church schen These heißt dies: die nicht mit einer Turingmaschine berechnet werden können. 1 Beispiel: Halteproblem Menge der Eingaben: alle möglichen Übergangstabellen U von Turingmaschinen Funktion f: 8 1 falls die Turingmaschine mit >< Übergangstabelle U für jede f(u) = Bandbelegung anhält, >: 0 sonst Es gibt keine Übergangstabelle für eine Turingmaschine, die f berechnet. Den Nachweis zu dieser Aussage können wir hier nicht führen. Die Berechnung von Funktionen, die nur die Werte 0 und 1 annehmen, nennt man auch (ja/nein)-entscheidungen. Man sagt deshalb: Das Halteproblem ist nicht entscheidbar. 2 Beispiel: Unentscheidbarkeit der Prädikatenlogik Die Prädikatenlogik baut auf der Aussagenlogik auf. Prädikate enthalten Variablen; für jede Belegung der Variablen nehmen sie den Wert wahr oder falsch an. Prädikate können wie Aussagen verknüpft werden, zusätzlich auch mit den Quantoren und. Genaueres wird hier nicht erläutert. Die Frage, ob eine prädikatenlogische Formel für jede Belegung der Variablen den Wert wahr annimmt, ist nicht entscheidbar. 3 Beispiel: Unentscheidbarkeit der Korrektheit Die Frage, ob ein Programm semantisch korrekt ist (d.h. es berechnet tatsächlich die spezifizierte Funktion), ist unentscheidbar. Auch für diese Beispiele ist ein Beweis weit jenseits von dem, was wir hier machen können
3 7.2 Komplexitätstheorie Komplexität von Algorithmen Wie genau kann man die Laufzeit T eines Algorithmus vorhersagen? T hängt ab von der jeweiligen Implementierung vom verwendeten Rechner von der jeweiligen Eingabe... 4 Beispiele: a) Euklidischer Algorithmus berechnet ggt(a, b) für a, b N. r := a mod b solange r 0 a := b b := r r := a mod b ggt := b Folgerung: T hängt insbesondere von der Größe n der Eingabe ab: T = T(n) Für festes n kann T(n) immer noch unterschiedlich sein. Wir verwenden für T(n) hier stets den worst case, also die längste Laufzeit bei festem n. Es ist nicht sinnvoll, T(n) zu genau bestimmen zu wollen. Es genügt, die Zahl der elementaren Schritte eines Algorithmus zu bestimmen. Eingabegröße: n = max{a, b}. Elementare Schritte: Zuweisung, Division mit Rest, Vergleich Laufzeit: solange-schleife wird höchstens log Θ n + 1 mal durchlaufen (Θ = ( 5 + 1)/2). Pro Durchlauf 3 Zuweisungen, 1 Vergleich und 1 Division mit Rest. Also T(n) C (2 + 5 (log Θ n + 1))
4 b) Sieb des Eratosthenes bestimmt alle Primzahlen n. Die t(n)-ausdrücke will man noch vereinfachen: p := 2 solange p 2 n s := 2 p {Aussieben mit Zahl p} solange s n streiche s {markieren} s := s + p setze p auf nächste, nicht gestrichene Zahl 5 Definition: Wir schreiben T(n) = O(g(n)) mit einer Funktion g : N R +, falls eine Konstante C > 0 und ein n 0 existieren, so dass gilt T(n) C g(n) für alle n n 0. Eingabegröße: n Elementare Schritte: Streichen (= Zugriff auf ein Feld und Markieren), Zuweisung, Addition, Multiplikation, Nächstes finden Laufzeit: die innere solange-schleife wird n/p-mal durchlaufen, die äußere für Primzahlen n. 0 T(n) + n X p=1, p Primzahl 1 n A. p 6 Beispiele: a) Euklidischer Algorithmus: ergibt T(n) C (2 + 5 (log Θ n + 1)). T(n) = O(log n). (Wegen log a n = log b n log a b braucht man die Basis des log in O-Termen nicht anzugeben!)
5 b) Sieb des Eratosthenes: 0 T(n) + n X p=1, p Primzahl 1 n A. p Es gibt höchstens n Primzahlen n, und n p n für alle solchen Primzahlen p. Also T(n) = O(n n) Probleme und Instanzen 7 Definition: Ein Problem ist eine zu berechnende Funktion P : D W mit zugehörigem Definitionsbereich D und Werten in W. Eine Instanz eines Problems P : D W ist ein Paar (P, S) mit S D. (O-Terme können sehr grob nach oben abschätzen.) 8 Beispiele: a) Problem größter gemeinsamer Teiler : P : N N N Instanz: (a, b) = (144, 54). b) Problem Primzahlen n : P : N Potenzmenge von N Instanz: n =
6 c) Problem des Handlungsreisenden : P : {L : L ist Liste von Städten mit Entfernungen} R + P(L) ist die Länge der kürzesten Rundtour, die alle Städte einmal besucht. Instanz: L = W RS SG K E DO W RS SG K E DO Komplexität von Problemen Wir werden jetzt Probleme in einfache und schwierige einteilen. Ein tragfähiges Konzept hierzu ist überraschend komplex. Ab jetzt schränken wir uns auf Entscheidungsprobleme ein, also P : D {0, 1}. Als Größe n einer Eingabe S D verwenden wir die Anzahl der bits bei geeigneter Binärcodierung. 9 Beispiel: Die Größe einer natürlichen Zahl k ist damit (Codierung als Binärzahl) n = O(log k). d) Teilsummenproblem : P : {M : M ist eine Menge reeller Zahlen} R {0, 1}. P(M, s) gibt an, ob es eine Teilmenge T von M gibt, bei der die Summe der Elemente gerade s ergibt. Instanz: M = { 0.2, 1, 2.3, 4.5}, s = 3.1. Folge: Die Größe der Eingabe beim Euklidischen Algorithmus ist n = O(log a + log b). Die Komplexität des Euklidischen Algorithmus wird O(n) statt O(log(max{a, b})). 10 Definition: Für ein (Entscheidungs-) Problem P : D W, ist die Komplexität t(n) des Problems P definiert als die Laufzeit des besten Algorithmus, welcher P berechnet. Hier genügt uns noch weniger als die Größenordnung O: 11 Definition: Die Klasse P ist die Menge aller Entscheidungsprobleme, für welche es eine Zahl k N gibt, so dass die Komplexität des Problems O(n k ) ist
7 P steht für polynomiale Komplexität. Probleme aus P nennt man auch effizient berechenbar. Warum ist P eine vernünftige Problemklasse? P ist weitestgehend unabhängig vom Maschinenmodell, also davon, was man als elemtare Schritte auffasst. Wir hatten auf den letzten Seiten ohne es explizit zu sagen das Random Access Memory (RAM) Modell verwendet. Verwendet man stattdessen z.b. das Modell der Turingmaschine, so ändert sich P nicht. P ist weitestgehend unabhängig von der gewählten Binärcodierung für die Eingabe. Für Probleme, die nicht in P liegen, wächst die Komplexität superpolynomial mit n. Für die Praxis sind solche Laufzeiten definitiv viel zu lang. 12 Beispiel: Das Problem Entscheide, ob k der ggt von a und b ist, liegt in P. Begründung: Es ist n = Länge einer Binärcodierung von k, a und b. Berechne ggt(a, b) mit dem Euklidischen Algorithmus (Laufzeit O(n)) und vergleiche das Ergebnis mit k (Laufzeit O(log(n)). Gesamtlaufzeit t(n) = O(n) + O(log(n)) = O(n). 269 Eine fundamentale Schwierigkeit: Zugehörigkeit eines Problems zu P kann man durch Angabe eines geeigneten Algorithmus nachweisen. Will man zeigen, dass ein Problem nicht zu P gehört, muss man zeigen, dass keine Algorithmen mit polynomialer Komplexität existieren. Dies ist sehr schwierig. Es ist noch für kein praktisch relevantes Problem gelungen zu zeigen, dass es nicht effizient berechenbar ist. Nicht effizient berechenbar ist deshalb keine günstige Art, schwierige Probleme zu charakterisieren. Alternative: Aus der eigenen Erfahrung wissen wir: Es ist in der Regel wesentlich schwieriger, eine Lösung zu bestimmen als nachzuprüfen, ob ein Lösungsvorschlag tatsächlich eine Lösung ist. Dies geht in die beiden nächsten Definitionen ein. 13 Definition: Gegeben ist ein Entscheidungsproblem P : D {0, 1} und eine Menge von Zertifikaten Z. Eine Funktion V : D Z {0, 1} verifiziert P, wenn es für jede Instanz (S, P) von P mit P(S) = 1 ein Zertifikat z = z(s) gibt mit V (S, z) = 1, und umgekehrt aus V (S, z) = 1 stets P(S) = 1 folgt. Die Größen n bzw. m von S bzw. z(s) müssen dabei m = O(n k ) erfüllen. (z darf höchstens polynomial in S wachsen.) 270
8 14 Beispiel: Das Problem Entscheide, ob p N keine Primzahl ist, wird verifiziert durch die Funktion V, welche jedem Paar (p, a) mit a {2,..., p} den Wert 1 zuordnet, wenn p durch a teilbar ist und 0 sonst. Es ist also Z = {2,..., p}. Ein Algorithmus für V ist die Division mit Rest mit anschließendem Test, ob der Rest 0 ist. Für p = 5529 ist z(p) = 57 ein Zertifikat mit V (5529, 57) = 1. Es ist leichter auszurechnen, dass 57 die Zahl 5529 teilt, als zu zeigen, dass 5529 keine Primzahl ist. 15 Definition: Die Klasse NP besteht aus all den (Entscheidungs-) Problemen, welche von einer Funktion verifiziert werden, für die es einen Algorithmus mit polynomialer Laufzeit gibt. Die Bezeichnung NP kommt daher, weil man die Klasse äquivalent charakterisieren kann als die Probleme, welche mit einem nichtdeterministischen Algorithmus in polynomialer Zeit berechnet werden können. 16 Satz: P NP Beweis Sei P : D {0, 1} aus P. Nehme eine beliebige Menge als Zertifikatmenge Z und setze V : D Z {0, 1} als V (S, v) = P(S). Der polynomiale Algorithmus, welcher P berechnet, berechnet auch V. Die Eingabe z wird dabei einfach ignoriert. Und die größte offene Frage der Theoretischen Informatik ist nun: Gilt P = NP? Die Frage ist ungeklärt, aber fast alle glauben dass die richtige Antwort Nein heißt, u.a. wegen des folgenden Resultates
9 17 Satz: Die Klasse der NP-vollständigen Probleme ist nicht leer. Diese Klasse besteht aus all den Problemen aus NP, für die gilt: Liegt P in P, so ist P = NP NP-vollständige Probleme Die folgenden Probleme sind alle als NP-vollständig nachgewiesen. Die Beweise können wir im Rahmen dieser Vorlesung nicht bringen. 18 Beispiel: a) Das Problem des Handlungsreisenden Hat man für ein NP-vollständiges Problem P gezeigt P P, so ist P = NP. Das hat bis jetzt noch niemand geschafft. Glaubt man P NP, so liegen NP-vollständige Probleme also nicht in P, sind also nicht effizient berechenbar. Merke: NP-vollständig bedeutet höchstwahrscheinlich in der Praxis nicht mit einem Algorithmus berechenbar b) Das Teilsummenproblem 19 Beispiel: Das Erfüllbarkeitsproblem: Gegeben ist eine aussagenlogische Formel mit n Aussageveriabeln. Gibt es eine Belegung der Variabeln, so dass die Formel den Wert true annimmt? Viele andere NP-vollständige Probleme beziehen sich auf Graphen. 20 Definition: Ein Graph ist eine Menge von Knoten, von denen einige durch Kanten verbunden sind
10 Beispiel: Haus vom Nikolaus 21 Beispiel: Das Hamilton-Kreis-Problem: Existiert in einem Graph ein Hamilton-Kreis, d.h. ein Rundweg über die Kanten, der jeden Knoten genau einmal besucht? 22 Beispiel: Das Cliquen-Problem: Gibt es eine Clique der Größe k in einem Graphen? Eine Clique ist eine Teilmenge von Knoten, von denen zwei verschiedene stets auf einer gemeinsamen Kante liegen. Die Größe der Clique ist die Anzahl ihrer Knoten. Mehr zu Komplexität und Rechnermodellen: Automaten, Sprachen, Berechenbarkeit (Master) 275
NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)
NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP
MehrDas P versus N P - Problem
Das P versus N P - Problem Dr. Michael Huber Habilitationsvortrag eines der sieben Milleniumsprobleme des Clay Mathematics Institute A gift to Mathematics from Computer Science (Steve Smale) Überblick
MehrLenstras Algorithmus für Faktorisierung
Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.
bei TMs bei Computern Formale Grundlagen der Informatik 1 Kapitel 10 Frank Heitmann heitmann@informatik.uni-hamburg.de Bisher haben wir mit TMs Probleme gelöst/entschieden/berechnet. Dabei war entscheidbar
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrMathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens
Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................
MehrApproximationsalgorithmen
Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert
MehrNumerische Verfahren und Grundlagen der Analysis
Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrTheoretische Informatik
Theoretische Informatik - das Quiz zur Vorlesung Teil I - Grundzüge der Logik In der Logik geht es um... (A) die Formen korrekten Folgerns (B) die Unterscheidung von wahr und falsch (C) das Finden von
MehrUniversität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.
Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
MehrLaufzeit und Komplexität
Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrRekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf))
Formale Methoden der Informatik WS / Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof.Dr.Dr.F.J.Radermacher H. Ünver T. Rehfeld J. Dollinger 8. Aufgabenblatt Besprechung in den Tutorien vom..
MehrSortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
MehrApproximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling
Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani
MehrKomplexitätstheorie Einführung und Überblick (Wiederholung)
Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität
MehrKapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe
Kapitel 4 Euklidische Ringe und die Jordansche Normalform 4.1 Euklidische Ringe Die Ringe der ganzen Zahlen, Z, sowie Polynomringe über Körpern, K[X], wobei K ein Körper ist, haben die folgenden Gemeinsamheiten:
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrProgrammiertechnik II
Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen
MehrAlgorithmen und Programmierung
Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen
Mehr2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik
Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,
Mehr3. Ziel der Vorlesung
3. Ziel der Vorlesung Der Zweck der Vorlesung ist das Studium fundamentaler Konzepte in der Algorithmentheorie. Es werden relevante Maschinenmodelle, grundlegende und höhere Datenstrukturen sowie der Entwurf
Mehr1 Vom Problem zum Programm
1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist
MehrGrundlagen der Informatik II. Teil I: Formale Modelle der Informatik
Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrTheoretische Informatik
Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:
MehrKomplexität und Komplexitätsklassen
Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 21 vom 21.01.2013 Komplexität und Komplexitätsklassen Die meisten Probleme mit denen wir zu tun haben sind entscheidbar.
MehrGrundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:
MehrDas RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009
Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrEinführung in die Informatik I
Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen
MehrMinimalismen in der. Informatik
Minimalismen in der Informatik Andreas Schwill Institut für Informatik Universität Potsdam Überblick Einstieg Maschinenbegriff Bausteinsätze Modellierung Phantasien zu Komplexität und Kompliziertheit 2
MehrZur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:
Informatik 13: Gierhardt Theoretische Informatik III Berechenbarkeit Nicht-berechenbare Funktionen Nach der Church-Turing-These kann alles, was berechenbar ist, mit einer Turing-Maschine oder einer While-Maschine
MehrDer Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
MehrRSA Verfahren. Kapitel 7 p. 103
RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen
Mehr4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04
4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten
MehrTHEORETISCHE INFORMATIK
THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Januar 2014 Inhaltsverzeichnis 1 Endliche Automaten 1 1.1 Mathematische Grundbegriffe.......................
MehrPraktikum Diskrete Optimierung (Teil 11) 17.07.2006 1
Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 1 Primzahltest 1.1 Motivation Primzahlen spielen bei zahlreichen Algorithmen, die Methoden aus der Zahlen-Theorie verwenden, eine zentrale Rolle. Hierzu
MehrEntscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen
Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,
MehrWissensbasierte Systeme
WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrVorlesung Theoretische Informatik
Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester
MehrLösungen zur Vorrundenprüfung 2006
Lösungen zur Vorrundenprüfung 2006 Zuerst einige Bemerkungen zum Punkteschema. Eine vollständige und korrekte Lösung einer Aufgabe ist jeweils 7 Punkte wert. Für komplette Lösungen mit kleineren Fehlern
Mehr2. Lernen von Entscheidungsbäumen
2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse
MehrCodierung, Codes (variabler Länge)
Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls
MehrBitte unbedingt beachten: a) Gewertet werden alle acht gestellten Aufgaben.
Mathematik I für Wirtschaftswissenschaftler Klausur für alle gemeldeten Fachrichtungen außer Immobilientechnik und Immobilienwirtschaft am 9..9, 9... Bitte unbedingt beachten: a) Gewertet werden alle acht
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie
Mehr3. 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
MehrZusammenfassung Grundzüge der Informatik 4
Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1
Mehr4. Relationen. Beschreibung einer binären Relation
4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B
Mehreffektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)
effektive Verfahren Ein Verfahren ist effektiv, wenn es für jeden Fall, der in einem zuvor abgegrenzten Bereich von eindeutigen Unterscheidungen auftreten kann, eine eindeutige und ausführbare Handlungsanweisung
MehrErgänzungen zur Analysis I
537. Ergänzungsstunde Logik, Mengen Ergänzungen zur Analysis I Die Behauptungen in Satz 0.2 über die Verknüpfung von Mengen werden auf die entsprechenden Regelnfür die Verknüpfung von Aussagen zurückgeführt.
MehrOft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.
Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. 3 1384788374932954500363985493554603584759389 mod 28374618732464817362847326847331872341234 Wieso kann ein
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrEinleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009
19. Mai 2009 Einleitung Problemstellung Beispiel: RSA Teiler von Zahlen und Periode von Funktionen Klassischer Teil Quantenmechanischer Teil Quantenfouriertransformation Algorithmus zur Suche nach Perioden
MehrÜber das Hüten von Geheimnissen
Über das Hüten von Geheimnissen Gabor Wiese Tag der Mathematik, 14. Juni 2008 Institut für Experimentelle Mathematik Universität Duisburg-Essen Über das Hüten von Geheimnissen p.1/14 Rechnen mit Rest Seien
MehrTeilbarkeit von natürlichen Zahlen
Teilbarkeit von natürlichen Zahlen Teilbarkeitsregeln: Die Teilbarkeitsregeln beruhen alle darauf, dass man von einer Zahl einen grossen Teil wegschneiden kann, von dem man weiss, dass er sicher durch
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrSatz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich
Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes
MehrRekursive Auswertungsprozesse in Haskell
Rekursive Auswertungsprozesse in Haskell Auswertungsprozess, der durch eine rekursive Funktion bewirkt wird Beispiel: Auswertung der rekursiven Fakultätsfunktion 0! := 1 n! := n (n 1)! fakultaet x = if
MehrPrimzahlzertifikat von Pratt
Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren
MehrWas bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)
Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:
MehrInformatik IC2. Balazs Simon 2005.03.26.
Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................
MehrSOI 2013. Die Schweizer Informatikolympiade
SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrIdeen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann
Ideen der Informatik Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann Was ist ein Computer? 2 Übersicht Was ist ein Computer, ein Programm? Turings Antwort
MehrDas Knapsack-Kryptosystem
Das Knapsack-Kryptosystem Frank Hellweg 21. Februar 2006 1 Einleitung Das Knapsack-Kryptosystem wurde 1978 von den amerikanischen Kryptologen Martin Hellman und Ralph Merkle entwickelt [MH78] und war eines
MehrWissensbasierte Systeme 5. Constraint Satisfaction Probleme
Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Michael Beetz Vorlesung Wissensbasierte Systeme 1 Inhalt 5.1 Begriffe 5.2 Constraint Satisfaction in Linienbildern 5.3 Beispielanwendungen 5.4
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrAufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der
Aufgabe 1: Sind die folgenden Abbildungen jeweils injektiv, surjektiv und/oder bijektiv? (a) f 1 (x) = x, mit f 1 : R + R + (b) f (x) = x, mit f : R R (c) f 3 (x) = x, mit f 3 : R R (d) f 4 (x) = 3x, mit
MehrApproximationsalgorithmen
Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.
MehrPrädikatenlogik - Micromodels of Software
Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................
MehrProbabilistische Primzahltests
Probabilistische Primzahltests Daniel Tanke 11. Dezember 2007 In dieser Arbeit wird ein Verfahren vorgestellt, mit welchem man relativ schnell testen kann, ob eine ganze Zahl eine Primzahl ist. Für einen
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
MehrGrundlagen der Informatik 2 (GdI2) - Algorithmen und Datenstrukturen -
Grundlagen der Informatik 2 (GdI2) - Algorithmen und Datenstrukturen - 2) Algorithmenanalyse Prof. Dr. Anja Schanzenberger FH Augsburg, Fakultät für Informatik Kontakt: anja.schanzenberger@hs-augsburg.de
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
MehrVorlesung. 1 Zahlentheorie in Z. Leitfaden. 1.1 Teilbarkeit. Angela Holtmann. Algebra und Zahlentheorie. (natürliche Zahlen ohne die Null)
Algebra und Zahlentheorie Vorlesung Algebra und Zahlentheorie Leitfaden 1 Zahlentheorie in Z Bezeichnungen: Z := {..., 3, 2, 1, 0, 1, 2, 3,...} (ganze Zahlen) und N := {1, 2, 3,...} (natürliche Zahlen
Mehr1. Modulare Arithmetik
1. Modulare Arithmetik Dreizehn Jahre lang hatten die Briten und Franzosen geglaubt, die Enigma- Verschlüsselung sei nicht zu knacken, doch nun schöpften sie Hoffnung. Die polnischen Erfolge hatten bewiesen,
MehrTeil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik
Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für
MehrSchulmathematik und Algorithmen der Computeralgebra
Schulmathematik und Algorithmen der Computeralgebra Prof. Dr. Wolfram Koepf Universität Kassel http://www.mathematik.uni-kassel.de/~koepf Tag der Mathematik 13. Dezember 2008 Universität Passau Überblick
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrPratts Primzahlzertifikate
Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrRSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008
RSA-Verschlüsselung von Johannes Becker Gießen 2006/2008 Zusammenfassung Es wird gezeigt, wieso das nach Ronald L. Rivest, Adi Shamir und Leonard Adleman genannte RSA-Krptosstem funktioniert, das mittlerweile
MehrFaktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975)
Dass das Problem, die Primzahlen von den zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren zu zerlegen zu den wichtigsten und nützlichsten der ganzen Arithmetik gehört und den Fleiss
MehrWas ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.
Vorlesung 1 Einführung 1.1 Praktisches Zeiten: 10:00-12:00 Uhr Vorlesung 12:00-13:00 Uhr Mittagspause 13:00-14:30 Uhr Präsenzübung 14:30-16:00 Uhr Übungsgruppen Material: Papier und Stift wacher Verstand
MehrZeichnen von Graphen. graph drawing
Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =
MehrUndirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time
Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer
Mehr9 Das Problem mit der Komplexität: P = NP?
¾ ½ Á ŹÐÙØÞÛ ØÔ ÐºØ Ü Ú ½º ¾¼¼»¼»½ ½ ½¾ ÝÖ ÜÔ ½» ½ ½ 9 Das Problem mit der Komplexität: P = NP? Martin Grötschel Was Komplexität ist, weiß niemand so richtig. In vielen Wissenschaftsgebieten wird der
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
Mehr5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56
5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten
Mehr