Exponentiation: das Problem
|
|
|
- Carin Haupt
- vor 7 Jahren
- Abrufe
Transkript
1 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: der wesentliche Trick funktioniert immer, wenn eine assoziative (aber nicht notwendig kommutative) Operation ist also nicht nur für Zahlen, sondern z.b. auch für Polynome, Matrizen, Funktionen,...
2 Banale Exponentiationsmethode Banale Idee: iterierte Multiplikation Algorithmus: Require: a H, n N Ensure: x = a n if n = 0 then Return(e) end if x a for i = 1 to n 1 do x x a end for Return(x) Dies erfordert n 1 Multiplikationen in H.
3 Schnelle Exponentiation: die Idee Bessere Idee: In jeder Halbgruppe (H, ) kann man zur Berechnung der Exponentiation H N H : (a, n) a n die Binärdarstellung des Exponenten n verwenden Rekursive Struktur: ( ) a n 2 a n 2 falls n gerade = ( ) a a n falls n ungerade = an mod 2 (a n 2) 2 schnelle oder binäre Exponentiation, Exponentiation mittels square-and-multiply Man kann die Binärdarstellung von n von links nach rechts (LR) oder von rechts nach links (RL) abarbeiten
4 Notation Notation: (n) 2 : Binärdarstellung von n (ohne führende Nullen) l(n) : Länge der Binärdarstellung von n = log(n) + 1 ν(n) = 1 (n) 2 : Anzahl der Einsen in (n) 2 Rekursionen: l(2n) = l(n) + 1 l(2n + 1) = l(n) + 1 l(1) = 1 ν(2n) = ν(n) ν(2n + 1) = ν(n) + 1 ν(1) = 1
5 Schnelle Exponentiation: LR-Beispiel Beispiel n = 155 mit (155) 2 = , l(155) = 8, ν(155) = 5 LR-Methode (1) 2 = 1 a 1 = a (2) 2 = 10 a 2 = (a 1 ) 2 (4) 2 = 100 a 4 = (a 2 ) 2 (9) 2 = 1001 a 9 = (a 4 ) 2 a (19) 2 = a 19 = (a 9 ) 2 a (38) 2 = a 38 = (a 19 ) 2 (77) 2 = a 77 = (a 38 ) 2 a (155) 2 = a 155 = (a 77 ) 2 a erfordert 7 = l(155) 1 Quadrierungen und 4 = ν(155) 1 zusätzliche Multiplikationen, also insgesamt l(155) + ν(n) 2 Multiplikationen
6 Schnelle Exponentiation: RL-Beispiel RL-Methode (1) 2 = 1 a 1 = a a 2 = (a 1 ) 2 (3) 2 = 11 a 3 = a 2 a a 4 = (a 2 ) 2 a 8 = (a 4 ) 2 (11) 2 = 1011 a 11 = a 8 a 3 a 16 = (a 8 ) 2 (27) 2 = a 27 = a 16 a 11 a 32 = (a 16 ) 2 a 64 = (a 32 ) 2 a 128 = (a 64 ) 2 (155) 2 = a 155 = a 128 a 27 erfordert 7 = l(155) 1 Quadrierungen und 4 = ν(155) 1 zusätzliche Multiplikationen, also insgesamt l(155) + ν(n) 2 Multiplikationen
7 Schnelle Exponentiation: Aufwand Aufwand: M(n) : Anzahl der Multiplikationen (incl. Quadrierungen) in H zur Berechung von a n mittels LR- bzw. RL-Methode Rekursion: M(2n) = M(n) + 1 M(2n + 1) = M(n) + 2 Folgerung: M(n) = l(n) + ν(n) 2 Beweis (Induktion) M(1) = 0 M(1) =0 = = l(1) + ν(1) 2 M(2n) =M(n)+1 = l(n)+ν(n) 1 = l(2n)+ν(2n) 2 M(2n+1) =M(n)+2 = Also gilt insbesondere: l(n)+ν(n) = l(2n+1)+ν(2n+1) 2 log n M(n) 2 log n d.h. M(n) Θ(log n)
8 Schnelle Exponentiation: Zitate aus TAOCP Abbildung: Knuth, TAOCP vol.2, ch (LR-Methode)
9 Schnelle Exponentiation: Zitate aus TAOCP Abbildung: Knuth, TAOCP vol.2, ch (LR vs. RL)
10 Schnelle Exponentiation: Zitate aus TAOCP Abbildung: Knuth, TAOCP vol.2, ch (RL)
11 Schnelle Exponentiation: Zitate aus TAOCP Abbildung: Knuth, TAOCP vol.2, ch (RL)
12 Schnelle Exponentiation: Zitate aus TAOCP Abbildung: Knuth, TAOCP vol.2, ch (RL)
13 Schnelle Exponentiation: iteratives Programm Require: a H, n N Ensure: x = a n x e A a N n while N 0 do if N is even then A A A N N/2 else {N is odd} x x A N N 1 end if end while Return(x)
14 Schnelle Exponentiation: rekursives Programm Maple-Programm (rekursiv) power := proc (a,n::nonnegint) if n=0 then RETURN(1) else t := power(a,iquo(n/2))^2; if odd(e) then t := t*a fi; RETURN(t) fi; end; (Q) (M)
15 Schnelle Exponentiation: Anwendung Zur Anwendung: Knuth (TAOCP, vol2., ch ) diskutiert, wann man binäre ( schnelle ) Exponentiation verwenden sollte und wann nicht! Zitat: The point of these remarks is that binary methods are nice, but not a panacea. They are most applicable when the time to multiply x j x k is essentially independent of j and k (for example, when we are doing floting point multiplication, or multiplication modulo m); in such cases the running time is reduced from order n to order log n. Vorsicht! wenn der Aufwand für die Multiplikation x j x k proportional zu j k, als ist (Integer- und Polynommultiplikation!), also quadratisch mit der Anzahl der Ziffern- bzw. Koeffizientenoperationen wächst, kann der Aufwand für die banale Methode von der gleichen Grössenordnung wir für die schnelle Methode sein oder sogar schlechter!
16 Schnelle Exponentiation: Anwendung Anwendungszenario: Exponentiation in Z m (a, n, m) a n mod m Maple-Programm (rekursiv) modpower := proc (a,n,m) if n=0 then RETURN(1) else t := modpower(a,iquo(n/2),m)^2; (Q) if odd(n) then t := t*a mod m fi; (M) RETURN(t mod n) fi; end; benötigt (etwa) log n-maliges Quadrieren und höchstens log n weitere Multiplikationen von log m-bit Zahlen und log n Reduktionen modulo m von 2 log m-bit-zahlen, also insgesamt einen Aufwand O ( log n (log m) 2) gemessen in bit-operationen.
17 Schnelle Exponentiation: Anwendung Umkehrabbildung: diskreter Logarithmus (a, a n mod m, m) n Hierfür ist bis heute kein effizienter Algorithmus bekannt! Die besten bekannten Algorithmen haben gleiche Komplexität wie die besten Algorithmen für die Faktorisierung von m Zahlenbeispiel: a, n, m in der Grössenordnung schnelle Exponentiation erfordert etwa 3000 Multiplikationen von 200-digit-Zahlen und 3000 Reduktionen modulo m von 400-digit-Zahlen die Berechnung des diskreten Logarithmus brute-force würde etwa Multiplikationen und Reduktionen modulo m erfordern
18 Schnelle Exponentiation: Anwendung Anwendungsszenario: schnelle Berechung C-rekursiver Folgen Kanonisches Beispiel: Fibonacci-Zahlen ( ) 1 1 Idee: mit F = gilt 1 0 also ( fn ) = f n 1 ( ) fn 1 + f n 2 = f n 1 ( fn f n 1 ) ( ) ( ) ( ) 1 1 fn 1 fn 1 = F 1 0 f n 2 f n 2 ( ) ( ) = F n 2 f2 = F n 2 1 f 1 1 Die Berechnung von f n mittels iteriertem Quadrieren der Matrix F benötigt 13 log(n 2) + 12 ν(n 2) 10 arithmetische Operationen (Additionen, Subtraktionen, Multiplikationen, Divisionen durch 2, siehe Heun, GA) Dies kann noch etwas verbessert werden, wenn man ausnützt, dass die Potenzen von F symmetrische Matrizen sind
19 Schnelle Exponentiation: Anwendung Gofer-Programm zur Berechnung der Fibonacci-Zahlen mittels schneller Exponentiation von Matrizen (Heun, GA) Siehe Materialien zur Vorlesung für Laufzeitanalysen und gemessene Laufzeiten verschiedener Algorithmen zur Berechnung von Fibonacci-Zahlen Die Methode lässt sich generell für C-rekursive Folgen anwenden und liefert Verfahren logarithmischer (in n) Komplexität
20 Additionsketten Hinweis: Das Problem, a n in einer Halbgruppe möglichst effizient zu berechnen, hat etwas mit dem Problem der sog. Additionsketten zu tun. Eine Additionskette für n N ist eine Folge 1 = a 0, a 1, a 2,..., a r = n von ganzen Zahlen mit der Eigenschaft a i = a j + a k wobei j k < i (1 i r) (straight-line-programm mit Addition als einziger Operation)
21 Additionsketten LR-Additionskette für n = RL-Additionskette für n =
22 Additionsketten Das Problem, die Länge L(n) kürzester Additionsketten für gegebenes n zu bestimmen, ist sehr schwierig! LR- und RL-Additionsketten sind nicht immer optimal! Berühmte Vermutung (Scholz, Brauer, 1937,1939): L(2 n 1) n 1 + L(n) Mehr darüber in ch von TAOCP!
Exponentiation: 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:
Bemerkung: der goldene Schnitt ϕ ist die positive Lösung der Gleichung: x 2 = 1 + x
Rekursive Definition der Fibonacci-Zahlen Erste Werte f 0 = 0, f 1 = 1, f n = f n 1 + f n 2 (n 2) n 0 1 2 3 4 5 6 7 8 9 10... 25... f n 0 1 1 2 3 5 8 13 21 34 55... 75025... Exakte Formel (de Moivre, 1718)
Isomorphismus. 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
Schleifeninvarianten. Dezimal zu Binär
Schleifeninvarianten Mit vollstandiger Induktion lasst sich auch die Korrektheit von Algorithmen nachweisen. Will man die Werte verfolgen, die die Variablen beim Ablauf eines Algorithmus annehmen, dann
Algebraische und arithmetische Algorithmen
Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche
2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
3.3 Laufzeit von Programmen
3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,
Der euklidische Algorithmus für ganze Zahlen
Der euklidische Algorithmus für ganze Zahlen Ein unverzichtbares Verfahren in der Kryptographie ist der euklidische Algorithmus. In diesem Kapitel stellen wir die erste Version für ganze Zahlen vor. Sei
Numerische 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 / 26 1. Folgen R. Steuding (HS-RM)
Divide & Conquer. Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen
Teile & Herrsche: Divide & Conquer Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen Probleme: Wie setzt man zusammen? [erfordert algorithmisches Geschick
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft
ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe.
ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe. Das heißt, um den ggt von zwei 1000-Bit-Zahlen zu ermitteln,
Formale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz
Formale Grundlagen Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Definition Sei A eine Menge und ɛ A A A eine zweistellige
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften
Ü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
Komplexität von Algorithmen:
Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine
( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen
2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik
Diskreter Logarithmus und Primkörper
Diskreter Logarithmus und Primkörper Neben dem RSA-Verfahren ist die ElGamal-Verschlüsselung 8 ein weiteres klassische Public-Key-Verfahren, welches von Taher ElGamal auf der Konferenz CRYPTO 84 vorgestellt
2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
Komplexität von Algorithmen
Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen
4 Kryptologie. Übersicht
4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von
2: 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,
Diskrete 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
Abschnitt: 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
IT-Security. Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen
IT-Security Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen 06.06.17 1 Überblick Potenzieren Quadrieren Euklid'scher Algorithmus In den meisten Fällen wird nur mit positiven Werten gerechnet. Bei
Der 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
Prof. Dr. Margarita Esponda
Analyse von Algorithmen Die O-Notation WS 2012/2013 Prof. Dr. Margarita Esponda Freie Universität Berlin 1 Korrekte und effiziente Lösung von Problemen Problem Wesentlicher Teil der Lösung eines Problems.
Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
3.5 Schnelle Fouriertransformation (FFT, DFT)
3.5 Schnelle Fouriertransformation (FFT, DFT) 3.5.1 Grundlagen Ein Polynom P = i a ix i C[x] vom Grad n ist eindeutig durch seine Koeffizienten a i bestimmt, d.h. man hat eine Bijektion {Polynome C[x]
Oft 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
... direkte Umsetzung in Scheme. Prozeduren und von ihnen erzeugte Prozesse Gültigkeitsbereiche und Rekursion
Prozeduren und von ihnen erzeugte Prozesse Gültigkeitsbereiche und Rekursion Stand: Wir kennen Elementare ( primitive ) Operationen Kombination dieser Operationen Abstraktion zusammengesetzter Operationen
Primzahltest 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
Vorlesung Diskrete Strukturen Rechnen modulo n
Vorlesung Diskrete Strukturen Rechnen modulo n Bernhard Ganter WS 2009/10 1 Rechnen modulo n 1.1 modulo (Wiederholung) Für eine natürliche Zahl n > 0 und eine ganze Zahl z bezeichnet z mod n diejenige
Vorlesung Diskrete Strukturen Rechnen modulo n
Vorlesung Diskrete Strukturen Rechnen modulo n Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in
Komplexität von Algorithmen
Komplexität von Algorithmen Ziel Angabe der Effizienz eines Algorithmus unabhängig von Rechner, Programmiersprache, Compiler. Page 1 Eingabegröße n n Integer, charakterisiert die Größe einer Eingabe, die
Erweiterter Euklidischer Algorithmus
Erweiterter Euklidischer Algorithmus Algorithmus ERWEITERTER EUKLIDISCHER ALG. (EEA) EINGABE: a, b N 1 If (b = 0) then return (a, 1, 0); 2 (d, x, y) EEA(b, a mod b); 3 (d, x, y) (d, y, x a b y); AUSGABE:
Pseudo-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
Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:
Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung
Euklidische Algorithmus, Restklassenringe (Z m,, )
Euklidische Algorithmus, Restklassenringe (Z m,, ) Manfred Gruber http://www.cs.hm.edu/~gruber SS 2008, KW 14 Gröÿter gemeinsamer Teiler Denition 1. [Teiler] Eine Zahl m N ist Teiler von n Z, wenn der
19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
Kapitel 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
Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1
Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in
Informatik I Komplexität von Algorithmen
Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany [email protected] Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
Kapitel 6: Das quadratische Reziprozitätsgesetz
Kapitel 6: Das quadratische Reziprozitätsgesetz Ziel dieses Kapitels: die Untersuchung der Lösbarkeit der Kongruenzgleichung X also die Frage, ob die ganze Zahl Z eine Quadratwurzel modulo P besitzt. Im
Das RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens
Das RSA Verfahren Das RSA-Verfahren beruht auf Modulo-Arithmetik mit riesigen ganzen Zahlen und der Berechnung modularer Potenzen bei der Verschlüsselung. Die genaue Mathematik wird in den folgenden Kapiteln
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger
7 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
1.7 Die schnelle Fourier-Transformation (FFT)
1.7 Die schnelle Fourier-Transformation (FFT) Polynom in Koeffizientendarstellung: A(x) = a 0 + a 1 x + a 2 x 2 +... + a n 1 x n 1 = 0 i n 1 a i x i, mit a 0,..., a n 1 Zahlenbereich Z oder R oder C. Für
Effiziente Algorithmen mit Python. D. Komm, T. Kohn
Effiziente Algorithmen mit Python D. Komm, T. Kohn Copyright c 2017, ABZ, ETH Zürich http://www.abz.inf.ethz.ch/ Version vom 7. September 2017. Effiziente Algorithmen mit Python 3 1 Effizienz Effizient
16. 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
Beispiel: Fibonacci-Zahlen
Beispiel: Fibonacci-Zahlen Fibonacci Zahlen in der Natur Unendliche Reihe: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... Fibonacci-Kaninchen: Pinienzapfen Blumenkohl L. P. Fibonacci (1170-1250) G. Zachmann Informatik
Großer Beleg. Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen. Peter Heinzig. 17.
Großer Beleg Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen Peter Heinzig 17. Januar 2011 1/23 Peter Heinzig Großer Beleg Überblick Einleitung 1 Einleitung
Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren
Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die
13. Der diskrete Logarithmus
13. Der diskrete Logarithmus 13.1. Definition. Sei p eine Primzahl. Wie wir in 9 bewiesen haben, ist die multiplikative Gruppe F p des Körpers F p = Z/p zyklisch. Sei g ein erzeugendes Element von F p
Übungen zum Vorkurs Mathematik für Studienanfänger Ein leeres Produkt ist gleich 1, eine leere Summe 0. ***
Universität Bonn Mathematisches Institut Dr. Michael Welter Übungen zum Vorkurs Mathematik für Studienanfänger 2013 Einige Zeichen und Konventionen: IN := {1, 2, 3, 4,...} Die Menge der natürlichen Zahlen
Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren
Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die
Praktisch modulo n rechnen
Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 1 Praktisch modulo n rechnen Addition und Multiplikation modulo n sind auch dann algorithmisch kein großes Problem, wenn mit großen Zahlen gerechnet
Übungen zum Vorkurs Mathematik für Studienanfänger Ein leeres Produkt ist gleich 1, eine leere Summe 0. ***
Universität Bonn Mathematisches Institut Dr. Michael Welter Übungen zum Vorkurs Mathematik für Studienanfänger 2010 Einige Zeichen und Konventionen: IN := {1, 2, 3, 4,...} Die Menge der natürlichen Zahlen
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
Einführung in die Informatik I
Einführung in die Informatik I Fortgeschrittene Rekursion Prof. Dr. Nikolaus Wulff Problematische Rekursion Mittels Rekursion lassen sich Spezifikationen recht elegant und einfach implementieren. Leider
Numerik I. Universität zu Köln SS 2009 Mathematisches Institut Prof. Dr. C. Tischendorf Dr. M. Selva,
Universität zu Köln SS 009 Mathematisches Institut Prof. Dr. C. Tischendorf Dr. M. Selva, [email protected] Numerik I Musterlösung 1. praktische Aufgabe, Bandmatrizen Bei der Diskretisierung von
WS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Informatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany [email protected] Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
LR Zerlegung. Michael Sagraloff
LR Zerlegung Michael Sagraloff Beispiel eines linearen Gleichungssystems in der Ökonomie (Input-Output Analyse Wir nehmen an, dass es 3 Güter G, G, und G 3 gibt Dann entspricht der Eintrag a i,j der sogenannten
Teilbarkeitslehre und Restklassenarithmetik
Vorlesung Teilbarkeitslehre und Restklassenarithmetik.1 Gruppentheorie WiewirinVorlesung2gesehenhaben,hatdieMengeZmitderAdditiongewisse Eigenschaften. Wir fassen nun bestimmte Eigenschaften zusammen und
WS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Übungen zum Vorkurs Mathematik für Studienanfänger 2009 ***
Universität Bonn Mathematisches Institut Dr. Michael Welter Übungen zum Vorkurs Mathematik für Studienanfänger 2009 Einige Zeichen und Konventionen: IN := {1, 2, 3, 4,...} Die Menge der natürlichen Zahlen
Lösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
Praktikum 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
10. Woche: Elliptische Kurven Skalarmultiplikation und Anwendungen. 10. Woche: Elliptische Kurven - Skalarmultiplikation und Anwendungen 212/ 238
10 Woche: Elliptische Kurven Skalarmultiplikation und Anwendungen 10 Woche: Elliptische Kurven - Skalarmultiplikation und Anwendungen 212/ 238 Skalarmultiplikation Eine wichtige Fundamentaloperation in
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik [email protected] Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
Fibonacci-Suche. Informatik I. Fibonacci-Suche. Fibonacci-Suche. Einführung. Rainer Schrader. 24. Mai 2005
Fibonacci-Suche Informatik I Einführung Rainer Schrader Zentrum für Angewandte Informatik Köln 4. Mai 005 Grundidee wie bei der Binärsuche, aber andere Aufteilung Fibonacci-Zahlen: F 0 = 0 F 1 = 1 F m
Programmiertechnik 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
Division mit Schulmethode
Division mit Schulmethode Satz Division mit Rest von Polynomen Seien a(x), b(x) Q[x] mit b(x) 0. Dann gibt es eindeutige q(x), r(x) Q[x] mit a(x) = q(x) b(x) + r(x) und grad(r) < grad(b). Beweis: Sei grad(a)
Public-Key-Algorithmen WS2015/2016
Public-Key-Algorithmen WS2015/2016 Lernkontrollfragen Michael Braun Was bedeuten die kryptographischen Schutzziele Vertraulichkeit, Integrität, Nachrichtenauthentizität, Teilnehmerauthentizität, Verbindlichkeit?
Kanonische Primfaktorzerlegung
Kanonische Primfaktorzerlegung Jede natürliche Zahl Form kann auf eindeutige Weise in der geschrieben werden, wobei, für und Primzahlen sind. Dies ist die kanonische Primfaktorzerlegung von. Mathematik
Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
Algorithm Theory 3 Fast Fourier Transformation Christian Schindelhauer
Algorithm Theory 3 Fast Fourier Transformation Institut für Informatik Wintersemester 2007/08 Chapter 3 Fast Fourier Transformation 2 Polynomials Polynomials p over real numbers with a variable x p(x)
Kryptographische Protokolle
Kryptographische Protokolle Lerneinheit 4: Schlüsselvereinbarung Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 8.5.2017 Einleitung Einleitung In dieser Lerneinheit
V. Claus, Juli 2005 Einführung in die Informatik II 45
Um die Größenordnung einer reellwertigen oder ganzzahligen Funktion zu beschreiben, verwenden wir die so genannten Landau-Symbole (nach dem deutschen Mathematiker Edmund Landau, 1877-1938). Hierbei werden
11. Rekursion, Komplexität von Algorithmen
11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv
Hallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra II Benjamin Fischer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Lineare Rekursion BigInteger Chinesischer
