Zufall oder Absicht?
|
|
- Wolfgang Waldfogel
- vor 5 Jahren
- Abrufe
Transkript
1 Zufall oder Absicht? Randomisierung und Derandomisierung Prof. Markus Bläser Universität des Saarlandes 4. Januar / 21
2 Zufall oder Absicht? 1 Randomisierte Algorithmen 2 Polynom-Identitätstests 3 Straightline-Programm-Identitätstest 2 / 21
3 Randomisierte Algorithmen Algorithmus Eingabe x int Ulam(int x) { if x % 2 == 0 return x/2; return 3 x + 1; } Ausgabe y 3 / 21
4 Randomisierte Algorithmen Algorithmus Eingabe x function Ulam(x: Integer): Integer Begin if x MOD 2 = 0 then Ulam := x/2 else Ulam := 3 x + 1; End; Ausgabe y 3 / 21
5 Randomisierte Algorithmen Algorithmus Eingabe x int Ulam(int x) { if x % 2 == 0 return x/2; return 3 x + 1; } Ausgabe y 3 / 21
6 Randomisierte Algorithmen Algorithmus Eingabe x int Ulam(int x) { if x % 2 == 0 return x/2; return 3 x + 1; } Ausgabe y Jetzt: Algorithmus kann Münzen werfen, d.h. es gibt eine Funktion RandBit(), die mit Wahrscheinlichkeit 1/2 den Wert 1 und mit Wahrscheinlichkeit 1/2 den Wert 0 liefert. 3 / 21
7 Komplexitätstheorie Komplexitätstheoretische Untersuchungen: 1 Abstraktion mathematische Modelle 2 Beweis exakter Aussagen über 1 Laufzeit 2 Speicherplatz 3 Anzahl verwendeter Zufallsbits 4... Beweis und exakt heißt z.b. auf jede Eingabe x werden f( x ) viele Rechenschritte gemacht und nicht: auf 100 Testeingaben wurde im Mittel 10ms gerechnet. 4 / 21
8 Komplexitätstheorie Komplexitätstheoretische Untersuchungen: 1 Abstraktion mathematische Modelle 2 Beweis exakter Aussagen über 1 Laufzeit 2 Speicherplatz 3 Anzahl verwendeter Zufallsbits 4... Beweis und exakt heißt z.b. auf jede Eingabe x werden f( x ) viele Rechenschritte gemacht und nicht: auf 100 Testeingaben wurde im Mittel 10ms gerechnet. Konkret bedeutet dies für heute: weniger bunte Bilder, mehr Mathematik 4 / 21
9 Komplexitätstheorie Komplexitätstheoretische Untersuchungen: 1 Abstraktion mathematische Modelle 2 Beweis exakter Aussagen über 1 Laufzeit 2 Speicherplatz 3 Anzahl verwendeter Zufallsbits 4... Beweis und exakt heißt z.b. auf jede Eingabe x werden f( x ) viele Rechenschritte gemacht und nicht: auf 100 Testeingaben wurde im Mittel 10ms gerechnet. Konkret bedeutet dies für heute: weniger bunte Bilder, mehr Mathematik weniger Verpackung, mehr Inhalt 4 / 21
10 Randomisierte Algorithmen (2) Was ist die Ausgabe eines randomisierten Algorithmus? int Test(int x) { if (RandBit() == 1) return x; if (RandBit() == 1) return x + 1; return 3; } Was ist die Ausgabe von Test(0)? 5 / 21
11 Randomisierte Algorithmen (2) Was ist die Ausgabe eines randomisierten Algorithmus? int Test(int x) { if (RandBit() == 1) return x; if (RandBit() == 1) return x + 1; return 3; } Was ist die Ausgabe von Test(0)? Wahrscheinlichkeitsverteilung auf den möglichen Outputs, also Ausgabe Wahrscheinlichkeit / 21
12 Entscheidungsprobleme Entscheidungsproblem Ausgabe 1: Eingabe hat Eigenschaft Ausgabe 0: Eingabe hat Eigenschaft nicht 6 / 21
13 Entscheidungsprobleme Entscheidungsproblem Ausgabe 1: Eingabe hat Eigenschaft Ausgabe 0: Eingabe hat Eigenschaft nicht Beispiel: Primzahltest Eingabe: { n N 1 n prim Ausgabe: 0 sonst 6 / 21
14 Randomisierte Algorithmen (3) Beispiel: Primzahltest Eingabe n prim: Ausgabe 1 mit Wahrscheinlichkeit > 1/2 (damit Augabe 0 mit Wahrscheinlichkeit < 1/2) n nicht prim: Ausgabe 0 mit Wahrscheinlichkeit > 1/2 (und Ausgabe 1 mit Wahrscheinlichkeit < 1/2). 7 / 21
15 Randomisierte Algorithmen (3) Beispiel: Primzahltest Eingabe n prim: Ausgabe 1 mit Wahrscheinlichkeit > 1/2 (damit Augabe 0 mit Wahrscheinlichkeit < 1/2) n nicht prim: Ausgabe 0 mit Wahrscheinlichkeit > 1/2 (und Ausgabe 1 mit Wahrscheinlichkeit < 1/2). Problem: > 1/2, aber die Ausgabe des Primzahltest wird sich kaum von einem Münzwurf unterscheiden! Ich schummle gerade etwas... 7 / 21
16 Randomisierte Algorithmen (3) Beispiel: Primzahltest Eingabe n prim: Ausgabe 1 mit Wahrscheinlichkeit > 1/2 (damit Augabe 0 mit Wahrscheinlichkeit < 1/2) n nicht prim: Ausgabe 0 mit Wahrscheinlichkeit > 1/2 (und Ausgabe 1 mit Wahrscheinlichkeit < 1/2). Problem: > 1/2, aber die Ausgabe des Primzahltest wird sich kaum von einem Münzwurf unterscheiden! Ich schummle gerade etwas... Lösung: Beschränkte Fehlerwahrscheinlichkeit! Eingabe n prim: Ausgabe 1 mit Wahrscheinlichkeit 2/3 (damit Ausgabe 0 mit Wahrscheinlichkeit 1/3) n nicht prim: Ausgabe 0 mit Wahrscheinlichekit 2/3 (und Ausgabe 1 mit Wahrscheinlichkeit 1/3). 7 / 21
17 Probability Amplification Frage: Warum ist 2/3 besser als > 1/2. 8 / 21
18 Probability Amplification Frage: Warum ist 2/3 besser als > 1/2. Antwort: Probability Amplification! Idee: Lasse Algorithmus mehrmals statt einmal laufen und treffe Mehrheitsentscheid. 8 / 21
19 Probability Amplification Frage: Warum ist 2/3 besser als > 1/2. Antwort: Probability Amplification! Idee: Lasse Algorithmus mehrmals statt einmal laufen und treffe Mehrheitsentscheid. Wahrscheinlichkeiten: einmal 2 3 dreimal fünfmal. n-mal 8 / 21
20 Probability Amplification Frage: Warum ist 2/3 besser als > 1/2. Antwort: Probability Amplification! Idee: Lasse Algorithmus mehrmals statt einmal laufen und treffe Mehrheitsentscheid. Wahrscheinlichkeiten: 2 einmal 3 ( dreimal 2 ) 3 ( ) = fünfmal. n-mal 8 / 21
21 Probability Amplification Frage: Warum ist 2/3 besser als > 1/2. Antwort: Probability Amplification! Idee: Lasse Algorithmus mehrmals statt einmal laufen und treffe Mehrheitsentscheid. Wahrscheinlichkeiten: 2 einmal 3 ( dreimal 2 ) 3 ( ) = fünfmal n-mal 8 / 21
22 Probability Amplification Frage: Warum ist 2/3 besser als > 1/2. Antwort: Probability Amplification! Idee: Lasse Algorithmus mehrmals statt einmal laufen und treffe Mehrheitsentscheid. Wahrscheinlichkeiten: 2 einmal 3 ( dreimal 2 ) 3 ( ) = fünfmal n-mal c n 8 / 21
23 Probability Amplification Frage: Warum ist 2/3 besser als > 1/2. Antwort: Probability Amplification! Idee: Lasse Algorithmus mehrmals statt einmal laufen und treffe Mehrheitsentscheid. Wahrscheinlichkeiten: 2 einmal 3 ( dreimal 2 ) 3 ( ) = fünfmal n-mal c n Selbst für mäßig große n ist die Fehlerwahrscheinlichkeit z.b. kleiner als die Wahrscheinlichkeit eines Hardware-Fehlers. 8 / 21
24 Bedeutung der Randomisierung Zentrale Frage: Hilft Randomisierung? 9 / 21
25 Bedeutung der Randomisierung Zentrale Frage: Hilft Randomisierung? Zwei Antworten: 1 Kommt darauf an. 2 Vielleicht, aber eher nicht. 9 / 21
26 Derandomisierung (1) Prinzipiell hilft Randomisierung nicht: Theorem Kann f : N {0, 1} durch einen randomisierten Algorithmus A berechnet werden, dann kann f auch durch einen deterministischen Algorithmus ^A berechnet werden. 10 / 21
27 Derandomisierung (2) Beweis: A verwende r(l) =: r Zufallsbits auf Eingaben der Länge l. 1 ^A auf Eingabe x wird durch folgendes Programm beschrieben: Boolean RandString[r]; c accept := 0; c reject := 0; for jede Belegung von RandString do Simuliere A auf Eingabe x Immer wenn A RandBit() aufruft, verwende RandString Gibt A 1 aus, erhöhe c accept. Sonst c reject. end for Falls c accept > c reject, return 1. Sonst return 0. 1 Länge von n N: Anzahl Bits log 2 (n) 11 / 21
28 Derandomisierung (2) Beweis: A verwende r(l) =: r Zufallsbits auf Eingaben der Länge l. 1 ^A auf Eingabe x wird durch folgendes Programm beschrieben: Boolean RandString[r]; c accept := 0; c reject := 0; for jede Belegung von RandString do Simuliere A auf Eingabe x Immer wenn A RandBit() aufruft, verwende RandString Gibt A 1 aus, erhöhe c accept. Sonst c reject. end for Falls c accept > c reject, return 1. Sonst return 0. Problem: A wird 2 r -mal ausgeführt! 1 Länge von n N: Anzahl Bits log 2 (n) 11 / 21
29 Zufall oder Absicht? 1 Randomisierte Algorithmen 2 Polynom-Identitätstests 3 Straightline-Programm-Identitätstest 12 / 21
30 Polynom-Identitätstests Eingabe: Polynom p(x) = a n X n + a n 1 X n a 1 X + a 0 vom Grad n mit a ν Z, 0 ν n. { 1 falls p 0 Ausgabe: 0 sonst 13 / 21
31 Polynom-Identitätstests Eingabe: Polynom p(x) = a n X n + a n 1 X n a 1 X + a 0 vom Grad n mit a ν Z, 0 ν n. { 1 falls p 0 Ausgabe: 0 sonst Hahahaha... weil p 0 a n = a n 1 = = a 1 = a 0 = 0 13 / 21
32 Polynom-Identitätstests (2) Modell: Blackbox-Modell Eingabe x Z p(x) = a n X n + a n 1 X n a 1 X + a 0 Ausgabe: p(x) Z 14 / 21
33 Polynom-Identitätstests (2) Modell: Blackbox-Modell Eingabe x Z p(x) = a n X n + a n 1 X n a 1 X + a 0 Ausgabe: p(x) Z Algorithmus kann p an beliebiger Stelle auswerten, hat aber keinen Zugriff auf die Koeffizienten. Algorithmus { kennt n (obere Schranke für Grad). 1 falls p in Blackbox identisch 0 Ausgabe: 0 sonst 14 / 21
34 Polynom-Identitätstests (3) Theorem 1 Es gibt einen randomisierten Algorithmus für das Polynom-Identitätsproblem mit Fehlerwahrscheinlichkeit 1/3, der die Blackbox nur einmal fragt. 2 Jeder deterministische Algorithmus, der das Polynom-Identitätsproblem löst, muß die Blackbox mindestens (n + 1)-mal fragen. 15 / 21
35 Zufall oder Absicht? 1 Randomisierte Algorithmen 2 Polynom-Identitätstests 3 Straightline-Programm-Identitätstest 16 / 21
36 Straightline-Programme Definition Ein Straightline-Programm ist eine Folge von Zuweisungen der Form w i := c, w i := w j ± w k, w i := w j w k, c Z j, k < i j, k < i für i = 1, 2,..., l. Semantik: wie erwartet... w i := c in Register w i wird c geschrieben w i := w j + w k nach w i wird die Summe von w j und w k geschrieben / 21
37 Straightline-Programm-Identitätstest Eingabe: { Straightline-Programm P der Länge l. 1 falls 0 in w l steht Ausgabe: 0 sonst 18 / 21
38 Straightline-Programm-Identitätstest Eingabe: { Straightline-Programm P der Länge l. 1 falls 0 in w l steht Ausgabe: 0 sonst Warum ist das schwierig? Betrachte w 1 = 2, w i = w i 1 w i 1, i = 2,..., l. Es gilt: w i = 2 2i 1. Viel zu groß! 18 / 21
39 Straightline-Programm-Identitätstest (2) Sei Q die Menge der ersten 3 2 l Primzahlen. 1 Wähle ein q Q zufällig. 2 Werte P modulo q aus, d.h. berechne jeweils w i := w j + w k mod q. 3 Gebe gleich 0 aus, wenn w l = 0 (modulo q!) Sonst gebe ungleich 0 aus. 19 / 21
40 Straightline-Programm-Identitätstest (2) Sei Q die Menge der ersten 3 2 l Primzahlen. 1 Wähle ein q Q zufällig. 2 Werte P modulo q aus, d.h. berechne jeweils w i := w j + w k mod q. 3 Gebe gleich 0 aus, wenn w l = 0 (modulo q!) Sonst gebe ungleich 0 aus. Theorem 1 Ist w l = 0, so irrt der Algorithmus nie. 2 Ist w l 0, so irrt der Algorithmus mit Wahrscheinlichkeit 1/3. 19 / 21
41 Details Wie viele Primzahlen gibt es? Theorem (Primzahlsatz) ( n ) ln n 2 ln n < #[Primzahlen n] < n ln n ( ) 3 ln n 20 / 21
42 Details Wie viele Primzahlen gibt es? Theorem (Primzahlsatz) ( n ) ln n 2 ln n < #[Primzahlen n] < n ln n Wie wählt man eine Primzahl t zufällig? 1 Wähle eine zufällige Zahl t. 2 Wenn diese nicht prim ist, gehe zu 1. ( ) 3 ln n 20 / 21
43 Details Wie viele Primzahlen gibt es? Theorem (Primzahlsatz) ( n ) ln n 2 ln n < #[Primzahlen n] < n ln n Wie wählt man eine Primzahl t zufällig? 1 Wähle eine zufällige Zahl t. 2 Wenn diese nicht prim ist, gehe zu 1. Wie testet man, ob eine Zahl prim ist? Ein anderes Mal... ( ) 3 ln n 20 / 21
44 Fazit Fazit: Randomisierung hilft nicht prinzipiell. Randomisierung hilft in eingeschränkten Modellen. Randomisierung hilft, Zeugen zu finden, so fern es viele gibt. Offenens Problem: Macht Randomisierung Algorithmen schneller? 21 / 21
45 Fazit Fazit: Randomisierung hilft nicht prinzipiell. Randomisierung hilft in eingeschränkten Modellen. Randomisierung hilft, Zeugen zu finden, so fern es viele gibt. Offenens Problem: Macht Randomisierung Algorithmen schneller? Pseudozufallsgeneratoren kurzer {0, 1}-String (Seed) langer {0, 1}-String Verwende den langen String in ^A! 21 / 21
Kryptographische Protokolle
Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit
MehrRSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)
RSA Parameter { öffentlich: N = pq mit p, q prim und e Z RSA Parameter φ(n) geheim: d Z φ(n) mit ed = 1 mod φ(n). Satz RSA Parameter Generierung RSA-Parameter (N, e, d) können in Zeit O(log 4 N) generiert
MehrEinwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008
Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und
Mehr1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben?
Die Themen 1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben? Er sollte von wirklichen Zufallsgeneratoren nicht unterscheidbar sein?! Eine viel zu starke Forderung: Stattdessen sollte ein
MehrDer komplexitätstheoretische Zugang zur Kryptographie
Der komplexitätstheoretische Zugang zur Kryptographie Claus Diem Im Wintersemester 2017 / 18 Literatur Oded Goldreich: Foundations of Cryptography Jonathan Katz & Yeduda Lindell: Intoduction to Modern
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrDiskrete Mathematik 1
Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 008/09 Blatt
MehrAlgorithmentheorie Randomisierung
Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrProbabilistische Primzahltests
23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl
MehrPRIMES is in P. Ein Vortrag von Holger Szillat.
PRIMES is in P Ein Vortrag von Holger Szillat szillat@informatik.uni-tuebingen.de Übersicht Geschichte Notationen und Definitionen Der Agrawal-Kayal-Saxena-Algorithmus Korrektheit und Aufwand Fazit Geschichte
MehrDer Primzahltest von Agrawal, Kayal und Saxena. Dr. Gerold Jäger
Der Primzahltest von Agrawal, Kayal und Saxena Dr. Gerold Jäger Habilitationsvortrag Christian-Albrechts-Universität zu Kiel Institut für Informatik 19. Januar 2011 Dr. Gerold Jäger Habilitationsvortrag
Mehr1 Algorithmische Grundlagen
1 Algorithmische Grundlagen Klocke/17.03.2003 1.1 1.1 Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/17.03.2003
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrAlgorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen
Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:
Mehr3 Probabilistische Komplexitätsklassen
3 Probabilistische Komplexitätsklassen 3.1 Probabilistische Turingmaschinen 3.1 Wir gehen davon aus, dass die Konzepte deterministischer und nichtdeterministischer Turingmaschinen im wesentlichen bekannt
MehrZusammenfassung. Warum polynomielle Reduktionen? Definition NP-vollständig [K5.1.1] NP-Vollständigkeitstheorie [K5]
Warum polynomielle Reduktionen? erlauben feinere Unterteilungen von Komplexitätsklassen als Turing- Reduktionen, genügen für die betrachteten Probleme, für alle von uns betrachteten Komplexitätsklassen
MehrFerien-Übungsblatt 8 Lösungsvorschläge
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Ferien-Übungsblatt 8 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Probabilistische Komplexitätsklassen [vgl.
MehrProgrammieren und Problemlösen
Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe
MehrPrimzahltests und Faktorisierung. Primzahltests. Nuria Brede Universität Potsdam - Kryptographie SoSe 2005 Seite 1
Primzahltests und Faktorisierung Primzahltests Primzahltests Nuria Brede 16.06.2005 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 1 Primzahltests und Faktorisierung Primzahltests Inhalt
MehrAlgorithmische Kryptographie
Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel
MehrMiller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen
Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund
Mehr3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen
3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt
Mehr3: Zahlentheorie / Primzahlen
Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,
MehrProbabilistische Algorithmen
Probabilistische Algorithmen Michal Švancar Gerardo Balderas Hochschule Zittau/Görlitz 21. Dezember 2014 Michal Švancar, Gerardo Balderas (HSZG) Probabilistische Algorithmen 21. Dezember 2014 1 / 40 Inhaltsverzeichnis
MehrMiller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen
Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund
MehrWahrscheinlichkeitsrechnung und Statistik
Babeş-Bolyai Universität Fakultät für Mathematik und Informatik Oktober 2018 Im Alltag... Laut den meteorologischen Vorhersagen wird es morgen regnen. Ob ich riskiere und die Wette verlieren werde? Ich
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
MehrPrimzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena
Primzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena 1. Worum geht es? Das Problem, um das es geht, heißt PRIMES. Es entscheidet für eine vorgegebene Zahl n > 2 die Frage, ob n
MehrEuklidischer Algorithmus
Euklidischer Algorithmus Ermitteln des größten gemeinsamen Teilers mit Euklid: function ggt (m, n) Hierbei ist m begin 0undn 0vorausgesetzt. if m = 0 then return n else return ggt (n mod m, m) fi end Man
MehrAlgorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität
Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Ralph Keusch 21. November 2017 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M
Mehr2 Erste Beispiele. 2.1 Ein randomisierter Identitätstest
Erste Beispiele.1 Ein randomisierter Identitätstest Im folgenden geht es um die Aufgabe, die Gleichheit zweier großer Objekte zu überprüfen. Dabei werden die Objekte nicht in ihrer gesamten Struktur verglichen,
MehrAlgorithmen auf Zeichenketten
Algorithmen auf Zeichenketten Rabin-Karp Algorithmus Christoph Hermes hermes@hausmilbe.de Zeichenketten: Rabin-Karp Algorithmus p. 1/19 Ausblick auf den Vortrag theoretische Grundlagen... Zeichenketten:
MehrÜbersicht. 1 Einführung. 2 Suchen und Sortieren. 3 Graphalgorithmen. 4 Algorithmische Geometrie. 5 Textalgorithmen. 6 Paradigmen
Übersicht 1 Einführung 2 Suchen und Sortieren 3 Graphalgorithmen 4 Algorithmische Geometrie 5 6 Paradigmen Übersicht 5 Editdistanz (Folie 446, Seite 83 im Skript) Eingabe: Zwei Strings v und w Frage: Kommt
MehrStromchiffre. Algorithmus Stromchiffre
Stromchiffre Algorithmus Stromchiffre Sei G ein Pseudozufallsgenerator mit Expansionsfaktor l(n). Wir definieren Π s = (Gen, Enc, Dec) mit Sicherheitsparameter n für Nachrichten der Länge l(n). 1 Gen:
MehrRandomisierte Algorithmen Algorithmen, die Zufallsbits benutzen können. Fehlerfreie Algorithmen (Las-Vegas-Alg)
Wiederholung Randomisierte Algorithmen Algorithmen, die Zufallsbits benutzen können. Fehlerfreie Algorithmen (Las-Vegas-Alg) Komplexitätsklassen: EP=ZPP Algorithmen mit Fehlern (Monte-Carlo-Alg) Zweiseitiger
MehrBeispiel für simultane Kongruenz
Beispiel für simultane Kongruenz Jetzt wollen wir das Lemma der letzten Einheit anwenden. Wenn man eine Zahl sucht, die kongruent zu y modulo m und kongruent zu z modulo n ist, so nehme man zam + ybn wobei
MehrBsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).
Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod
MehrDer Satz von Savitch
Der Satz von Savitch Satz (Savitch, 1970): Sei s 2 (log(n)). Danngilt NSPACE(s) DSPACE(s 2 ). Wir führen den Beweis für den Fall, dass s eine platzkonstruierbare Funktion ist: Sei M eine NTM, deren Platzbedarf
MehrLiteratur. [9-3] [9-4]
Literatur [9-1] Willems, Wolfgang: Codierungstheorie und Kryptographie. Mathematik Kompakt, Birkhäuser, 2008 [9-2] Socher, Rolf: Algebra für Informatiker. Hanser, 2012 [9-3] https://de.wikipedia.org/wiki/fermatscher_primzahltest
Mehr7 Die Sätze von Fermat, Euler und Wilson
53 7 Die Sätze von Fermat, Euler und Wilson Es gibt einige Sätze aus der elementaren Zahlentheorie, die Spezialfälle von Aussagen über endliche Gruppen sind. Z.B. gilt für ein beliebiges Element x einer
MehrProbabilistische Turingmaschinen
Probabilistische Turingmaschinen Eike Müller 1. Juni 2010 Inhaltsverzeichnis 1 Motivation 2 2 Probabilistische Turingmaschinen 2 3 Einseitige Fehler und Nullseitige Fehler 3 3.1 Einseitige Fehler....................................
MehrRandomisierte Algorithmen am Beispiel Quicksort
Randomisierte Algorithmen am Beispiel Quicksort Mathias Katzer Universität 28. Juli 2003 Mathias Katzer 0 Überblick Motivation: Begriff Randomisierung Quicksort Stochastik-Ausflug Effizienzanalyse Allgemeineres
MehrFormaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` '
Sortieren & Co 164 165 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' 166 Anwendungsbeispiele Allgemein: Vorverarbeitung
MehrDer Miller-Rabin Primzahltest Florian Rienhardt Alle Rechte vorbehalten.
1 Der Miller-Rabin Primzahltest Der Miller-Rabin Primzahltest 2002-2009 Florian Rienhardt Alle Rechte vorbehalten. Zusammenfassung Für viele moderne Computeranwendungen, etwa für die Kryptographie, benötigt
MehrMonte-Carlo-Algorithmen für innermathematische Fragestellungen
Monte-Carlo-Algorithmen für innermathematische Fragestellungen Katharina Klembalski Humboldt-Universität Berlin 30. August 2012 Warum Monte-Carlo-Algorithmen im Mathematikunterricht? schriftl. Addieren
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr
MehrAufgabe der Kryptografie
Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr
MehrZunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:
Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am..03 Randomisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 11 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrDas Quadratische Reste Problem
Das Quadratische Reste Problem Definition Pseudoquadrate Sei N = q mit, q rim. Eine Zahl a heißt Pseudoquadrat bezüglich N, falls ( a ) = 1 und a / QR N. N Wir definieren die Srache QUADRAT:= {a Z N (
MehrIT-Security. Teil 14: Primzahltest
IT-Security Teil 14: Primzahltest 08.05.17 1 Literatur [14-1] Willems, Wolfgang: Codierungstheorie und Kryptographie. Mathematik Kompakt, Birkhäuser, 2008 [14-2] Socher, Rolf: Algebra für Informatiker.
MehrKapitel III Ringe und Körper
Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem
MehrLineare Kongruenzgeneratoren und Quicksort
Seminar Perlen der theoretischen Informatik Dozenten: Prof. Johannes Köbler und Olaf Beyersdorff Lineare Kongruenzgeneratoren und Quicksort Ausarbeitung zum Vortrag Mia Viktoria Meyer 12. November 2002
MehrPseudo-Zufallsgeneratoren basierend auf dem DLP
Seminar Codes und Kryptografie SS 2004 Struktur des Vortrags Struktur des Vortrags Ziel Motivation 1 Einleitung Ziel Motivation 2 Grundlegende Definitionen Zufallsgeneratoren 3 Generator Sicherheit 4 Generator
MehrExponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element
Problemstellung Banale smethode : das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Mehr8 Komplexitätstheorie und Kryptologie
8 Komplexitätstheorie und Kryptologie Verschlüsselung, Authentisierung,... müssen schnell berechenbar sein. Formal: polynomiell zeitbeschränkte Funktionen/Algorithmen Angreifer hat beschränkte Ressourcen.
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrExponentiation: das Problem
Problemstellung Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:
MehrDaten suchen und durchsuchen. Programmieren und Problemlösen Daten suchen und durchsuchen, weiterführende Komplexitätstheorie
Daten suchen und durchsuchen Lineare Suche Dennis Komm Programmieren und Problemlösen Daten suchen und durchsuchen, weiterführende Komplexitätstheorie Frühling 2019 1. April 2019 Lineare Suche Einfachste
Mehr9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
MehrVolker Kaatz. Faktorisierung. Faktorisierung. Problem und Algorithmen. Relevanz in der Kryptographie
Faktorisierung Problem und Algorithmen Relevanz in der Kryptographie Inhalt Begriff Faktorisierung Algorithmen (Übersicht) Strategie und Komplexität Pollard p-1 Algorithmus Pseudocode, mathematische Basis,
Mehr13 Berechenbarkeit und Aufwandsabschätzung
13 Berechenbarkeit und Aufwandsabschätzung 13.1 Berechenbarkeit Frage: Gibt es für jede Funktion, die mathematisch spezifiziert werden kann, ein Programm, das diese Funktion berechnet? Antwort: Nein! [Turing
MehrVI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren
VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Kapitel 1 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006
MehrKapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler
Kapitel 3: Die Sätze von Euler, Fermat und Wilson In diesem Kapitel wollen wir nun die eulersche -Funktion verwenden, um einen berühmten Satz von Euler zu formulieren, aus dem wir dann mehrere interessante
MehrIT-Security. Teil 15: Zufall
IT-Security Teil 15: Zufall 09.05.17 1 Literatur [15-1] http://de.wikipedia.org/wiki/kryptographisch_sicherer_zufallszahlen generator [15-2] https://gnupg.org/documentation/manuals/gcrypt/fips-prng- Description.html
MehrEinfü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
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.4 Semantische Sicherheit 1. Sicherheit partieller Informationen 2. Das Verfahren von Rabin 3. Sicherheit durch Randomisierung Semantische Sicherheit Mehr als nur
Mehr5 Zwei spieltheoretische Aspekte
5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,
MehrAlgorithmen und Datenstrukturen 1 Kapitel 5
Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht
MehrWillkommen zur Vorlesung Komplexitätstheorie
Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V5, 21.11.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar
MehrStromchiffre. Algorithmus Stromchiffre
Stromchiffre Algorithmus Stromchiffre Sei G ein Pseudozufallsgenerator mit Expansionsfaktor l(n). Wir definieren Π s = (Gen, Enc, Dec) mit Sicherheitsparameter n für Nachrichten der Länge l(n). 1 Gen:
MehrKryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 11. Primzahltests: Fermat, Miller-Rabin
Kryptologie Bernd Borchert Univ. Tübingen SS 2017 Vorlesung Teil 11 Primzahltests: Fermat, Miller-Rabin Primzahltests Problem: Gegeben n. Ist n Primzahl? Naive Methoden: Ausprobieren: gehe der Reihe nach
MehrVI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren
VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1
MehrPräfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen
Präfix-Summe Das Schweizer Offiziersmesser der Parallelen Algorithmen Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen Parallele Rechenmodelle Beispiel: Summieren von Zahlen Verlauf des Rechenprozesses:
Mehr8. Woche Quadratische Reste und Anwendungen. 8. Woche: Quadratische Reste und Anwendungen 163/ 238
8 Woche Quadratische Reste und Anwendungen 8 Woche: Quadratische Reste und Anwendungen 163/ 238 Quadratische Reste Ḋefinition Quadratischer Rest Sei n N Ein Element a Z n heißt quadratischer Rest in Z
MehrPrimzahlen und Programmieren
Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und
MehrÜbersicht. Nebenläufige Programmierung: Praxis und Semantik. Synchronisation (4) Eine untere Schranke für den Platzbedarf
Übersicht Komplexitätsresultate Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Synchronisation (4) Drei Komplexitätsresultate Eine genaue Schranke für den Platzbedarf
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrProbabilistische Algorithmen
Proseminar Theoretische Informatik 02.02.2016 Diane Hanke, Alexander Korzec Probabilistische Algorithmen Wolfgang Mulzer 1 Einführung 1.1 Probabilistischer Algorithmus Definition 1. [Probabilistischer
MehrPrimes ist in P Der AKS-Primzahltest
Primes ist in P Der AKS-Primzahltest Hans-Gert Gräbe Institut für Informatik, Universität Leipzig 10. Oktober 2003 1 Anfang August 2002 verbreitete sich die Nachricht, dass einige bis dahin unbekannte
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung
MehrKomplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrIsomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt
Isomorphismus Definition Gruppen-Isomorphismus Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt 1 f ist bijektiv f (u + v) = f (u) f (v) für alle u, v G, die
MehrPrimzahltest für Mersenne-Primzahlen
Primzahltest für Mersenne-Primzahlen Satz Lucas-Lehmer Test Sei n = 2 p 1 N für p P\{2}. Wir definieren die Folge S k durch S 1 = 4 und S k = S 2 k 1 2. Falls n S p 1, dann ist n prim. Beweis: Seien ω
MehrStichpunktezettel fürs Tutorium
Stichpunktezettel fürs Tutorium Moritz und Dorian 11. November 009 1 Kleiner Fermat Behauptung. Seien a, b N relativ prim und b eine Primzahl. Dann ist a b 1 = 1. Beweis. Wir definieren die Funktion f
MehrBerechenbarkeits- und Komplexitätstheorie
Berechenbarkeits- und Komplexitätstheorie Lerneinheit 5: Die Klasse NP Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2015/2016 26.9.2015 Einleitung Thema dieser Lerneinheit
MehrRelationen und DAGs, starker Zusammenhang
Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind
Mehr