Der Euklidische Algorithmus Dieter Wolke

Ähnliche Dokumente
2 Teilbarkeit in Z. (a) Aus a b folgt a b und a b und a b und a b. (b) Aus a b und b c folgt a c.

Chr.Nelius: Zahlentheorie (WS 2006/07) ggt und kgv

Lineare Algebra I (WS 13/14)

Zahlentheorie. Stefan Takacs Linz, am 2. Juni 2004

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

Lösungen der Aufgaben

Einleitung. Wir schauen uns einige Probleme an, die wir im Laufe der Vorlesung genauer untersuchen werden.

Kapitel 6: Das quadratische Reziprozitätsgesetz

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

Grundlagen der Arithmetik und Zahlentheorie

Euklidische Algorithmus, Restklassenringe (Z m,, )

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust!

2. Teilbarkeit. Euklidischer Algorithmus

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st

Kanonische Primfaktorzerlegung

Zahlen. Vorlesung Mathematische Strukturen. Sommersemester Zahlen. Zahlen

Euklidischer Algorithmus

4.21 Die zahlentheoretischen Bücher VII, VIII und IX der Elemente

Kapitel 2. Kapitel 2 Natürliche und ganze Zahlen

Vorkurs Mathematik. Prof. Udo Hebisch WS 2017/18

1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

Folien der 15. Vorlesungswoche

Der größte gemeinsame Teiler und das kleinste gemeinsame Vielfache Proseminar Modul 4c, Gruppe 3: Primzahlen, Dr. Regula Krapf

Grundlagen und Diskrete Strukturen Aufgaben zur Vorbereitung der Klausur

Probabilistische Primzahltests

3. Der größte gemeinsame Teiler

Grundlegendes der Mathematik

5. Der größte gemeinsame Teiler

Übungen zum Vorkurs Mathematik für Studienanfänger 2009 ***

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Algorithmische Kryptographie

Der kleine Satz von Fermat

Beispiel: Primelemente in den Gaußschen Zahlen

Leitfaden. a ist Vielfaches von d und schreiben verkürzt: d a. Ist d kein Teiler von a, so schreiben wir auch: d a. d teilt a oder

Übungen zum Vorkurs Mathematik für Studienanfänger Ein leeres Produkt ist gleich 1, eine leere Summe 0. ***

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Kanonische Primfaktorzerlegung

KAPITEL 13. Polynome. 1. Primfaktorzerlegung in den ganzen Zahlen. ,, p r

Übung zur Vorlesung Diskrete Strukturen I

Unterlagen zu Polynomringen. Erhard Aichinger

Elementare Zahlentheorie

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 11. Primzahltests: Fermat, Miller-Rabin

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

1 Zahlentheorie. 1.1 Kongruenzen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

Danach arithmetische Fragestellungen wie vollkommene Zahlen und Dreieckszahlen der Griechen.

3: Zahlentheorie / Primzahlen

5 Stellenwertsysteme. Berechne q :=, und setze r := a q b. = 2.25, also q = 2.25 = 2 und = 3. Im Beispiel ergibt sich a b

U. Rausch, 2010 Ganze Zahlen 1

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz

Beispiel: Primelemente in den Gaußschen Zahlen

1.2 Eigenschaften der ganzen Zahlen

5 Grundlagen der Zahlentheorie

1.2 Mengenlehre-Einführung in die reellen Zahlen

Kapitel 4. Kapitel 4 Restklassen (die modulo-rechnung)

3 Primzahlen. j,... stets Primzahlen. 3.1 Satz. Jedes a > 1 ist als Produkt von Primzahlen darstellbar (Primfaktorzerlegung. n=1

31 Polynomringe Motivation Definition: Polynomringe

1 Modulare Arithmetik

Einführung in die Algebra

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Prof. S. Krauter Dezimalbruchdarstellung rationaler Zahlen DezDarst.doc. Über die Darstellung von rationalen Zahlen als Dezimalbrüche.

Kapitel III Ringe und Körper

WS 2016/17 Torsten Schreiber

Primzahlen und Pseudoprimzahlen

Das RSA-Verfahren - Einsatz von Standardalgorithmen in der Kryptologie

2: Restklassen 2.1: Modulare Arithmetik

schreiben, wobei p und q ganze Zahlen sind.

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

Einführung in die Algebra

10. Teilbarkeit in Ringen

2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz

1 Theorie der Kettenbrüche II

Hauptsatz der Zahlentheorie.

Mathematisches Institut II Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg

8. Musterlösung zu Mathematik für Informatiker II, SS 2004

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Rationale Zahlen und rationale Funktionen: Was ist ihnen gemeinsam? Wie werden sie dargestellt?

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

Polynomdivision. Definition führender Term. Algorithmus Polynomdivision

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0.

WURZEL Werkstatt Mathematik Polynome Grundlagen

Diskrete Strukturen. Vorlesung 15: Arithmetik. 5. Februar 2019

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt.

Übungen zum Vorkurs Mathematik für Studienanfänger Ein leeres Produkt ist gleich 1, eine leere Summe 0. ***

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 3. Der euklidische Algorithmus

Lösung zur 13. Hausübung Algebraische Strukturen (keine Abgabe)

Existenz unendlich vieler Primzahlen Es werden mehrere Beweise für die Existenz unendlich vieler Primzahlen vorgetragen.

Kapitel 2: Zahlentheoretische Algorithmen Gliederung

Kapitel 1 Die natürlichen und die ganze Zahlen

Elementare Zahlentheorie

p Z >1 ist Primzahl, wenn gilt Euklid:

Inhalt 2007W. Vorlesung im 2007W

Vortrag zum Proseminar: Kryptographie

Diskrete Strukturen 5.9 Permutationsgruppen 168/558 c Ernst W. Mayr

7 Die Sätze von Fermat, Euler und Wilson

Thema: Die Einheitengruppe des Restklassenrings /n

Transkript:

Der Euklidische Algorithmus Dieter Wolke Einleitung. Für den Begriff Algorithmus gibt es keine einheitliche Definition. Eine sehr knappe findet sich in der Encyclopaedia Britannica (1985) A systematic mathematical procedure that produces in a finite number of steps the answer to a question or the solution of a problem. Bei dem Wort Algorithmus handelt es sich um eine Verballhornung des Namens Muhammad al Khowarizmi. Sein Träger lebte im zehnten Jahrhundert in Persien und machte sich insbesondere um die Übertragung indischer Rechenbücher (Rechnen im Zehnersystem, Gebrauch der Null) ins Persische verdient. Vom Persischen gelangten diese Werke über das Arabische ins Abendland. Wann kann man einen Algorithmus als gut bezeichnen? 1. Er soll zuverlässig sein, deterministisch. Es gibt auch probabilistische, die zwar mit erdrückender Wahrscheinlichkeit, aber nicht mit letzter Sicherheit die richtige Antwort liefern. 2. Er soll leicht programmierbar sein und aus möglichst einfachen Einzelschritten bestehen. 3. Die Laufzeit soll kurz und der Speicherbedarf gering sein. 4. Eine Forderung, die weniger aus praktischen Gründen als aus mathematisch ästhetischen Gründen gestellt werden kann: Im Algorithmus soll eine pfiffige Idee stecken. Zu den meisten algorithmisch angreifbaren Problemen gibt es eine Fülle verschiedener Verfahren, zum Beispiel bei 1) der Berechnung der n ten Dezimalstelle der Zahl pi, 2) der Multiplikation zweier ganzer Zahlen und zahlloser anderer für Theorie und Praxis interessanter Fragestellungen. Vor allem im Zusammenhang mit kryptografischen Verfahren (Ver und Entschlüsselung von Nachrichten) ergibt sich die Notwendigkeit, Paare riesiger (500 Dezimalstellen und mehr) natürlicher Zahlen mit größtem gemeinsamen Teiler Eins zu finden. Hierzu eignet sich hervorragend der vor etwa 2300 Jahren von Euklid in den Elementen beschriebene Euklidische Algorithmus. Bis auf geringe Abänderungen wird dieses uralte Verfahren noch heute benutzt, und erfüllt, wie hier gezeigt werden soll, alle oben genannten Anforderungen. 1

2. Im Folgenden soll kurz an die zugrundeliegenden und sicher überwiegend bekannten Begriffe erinnert werden. 2.1. Für a Z und d N heißt d Teiler von a, wenn es ein c Z gibt mit a = cd. Gleichbedeutend: Die Division a durch d geht auf. Kurz: d a, andernfalls d a. Hinweis: Als Teiler sollen hier nur natürliche Zahlen d zugelassen sein, während die Vielfachen beliebig aus Z stammen können. Beispiele: 3 9, 3 ( 5), 7 0. Folgerung: Aus a 0 und d a folgt d a. Denn wegen a = cd ist c 0, also c 1. Und somit d c d = cd = a. 2.2. Für a Z wird die Menge der Teiler d von a mit T (a) bezeichnet. Beispiele: T (1) = {1}, T (p) = {1, p} für jede Primzahl p, T (0) = N, T (a) = T ( a) = T ( a ), T (28) = {1, 2, 4, 7, 14, 28}, T (100) = {1, 2, 4, 5, 10, 20, 25, 50, 100}. 2.3. d heißt gemeinsamer Teiler von a und b, wenn d sowohl a als auch b teilt. Die Menge aller gemeinsamen Teiler von a und b ist der Schnitt der Mengen T (a) und T (b). 2.4. Falls mindestens eine der Zahlen a und b ungleich Null ist, besteht T (a) T (b) aus endlich vielen Elementen und hat somit ein größtes. Dies wird als größter gemeinsamer Teiler von a und b bezeichnet. Kurz: ggt (a, b) oder (a, b). Einige einfache Folgerungen. 1) Für a 0 ist (a, 0) = a, 2) (a, b) = ( a, b) = (b, a). Sind T (a) und T (b) bekannt, dann ist (a, b) leicht zu bestimmen, z.b. (100,28) = 4. Dieses Verfahren ist für die Praxis jedoch völlig ungeeignet. Bei 150 stelligen Dezimalzahlen etwa ist das Aufstellen der Mengen T (a) unzumutbar aufwändig. 2.5. Zwei Zahlen a und b die nicht beide = 0 sind heißen teilerfremd, wenn (a, b) = 1 ist. 2.6. Die Division mit Rest. Zu zwei Zahlen a Z und n N gibt es eindeutig q Z und r N 0 mit a = qn + r und 0 rn. r heißt der Rest bei der Division von a durch n. 2

Hinweis: Als q nimmt man die größte ganze Zahl a/n, die sogenannte Gauss Klammer [a/n]. Der Eindeutigkeitsbeweis wird indirekt geführt. 3. Der Euklidische Algorithmus. Nach 2.4. reicht es aus, den ggt für zwei natürliche Zahlen n 1, n 2 mit n 1 berechnen. Dazu führe man folgende Divisionen mit Rest durch n 2 zu (1) n 1 = q 1 n 2 + n 3, 0 < n 3 < n 2 (2) n 2 = q 2 n 3 + n 4, 0 < n 4 < n 3. (k 2) n k 2 = q k 2 n k 1 + n k, 0 < n k < n k 1 (k 1) n k 1 = q k 1 n k. Falls schon die erste Division aufgeht, ist offenbar (n 1, n 2 ) = n 2. Da die Reste n 3, n 4,... eine streng abnehmende Folge natürlicher Zahlen bilden, muss das Verfahren nach spätestens n 2 1 Divisionen abbrechen. n k ist der letzte nichtverschwindende Rest. Die Euklidische Aussage ist: ggt(n 1, n 2 ) = n k. Zum Beweis wird das Schema einmal von oben nach unten und dann von unten nach oben studiert. 1. Sei g = ggt (n 1, n 2 ). Dann ist insbesondere n 1 = c 1 g, n 2 = c 2 g und nach Division (1) n 3 = n 1 q 1 n 2 = (c 1 q 1 c 2 )g, also g n 2 und g n 3. Es folgt mit (2) in gleicher Weise g n 4, usw.... g n k 1, g n k, also ( ) g n k. 2. (k 1) besagt n k n k 1. n k 1 = q k 1 n k. Dies in (k 2) eingesetzt, ergibt n k 2 = (q k 2 q k 1 +1)n k, also n k n k 2. Dies erneut angewandt, gibt n k n k 3, usw... n k n 2, n k n 1. n k ist somit gemeinsamer Teiler von n 1 und n 2, also ( ) n k g. ( ) und ( ) zusammen führen zur Behauptung n k = (n 1, n 2 ). Beim Beispiel n 1 = 100, n 2 = 28 lautet das Schema (1) (2) (3) (4) 100 = 3 28 + 16 28 = 1 16 + 12 16 = 1 12 + 4 12 = 3 4. Vier Divisionen reichen also aus, um (100,28) = 4 zu zeigen. Schon bei so kleinen Zahlen ist dies wesentlich einfacher als die Bestimmung aller Teiler. 3

4. Diskussion des Algorithmus. Das Verfahren ist nach obigem Beweis offenbar zuverlässig. Die Einzelschritte sind denkbar einfach. Speicherplatz ist praktisch nicht erforderlich, da bei jeder Division nur die zwei vorigen Reste nötig sind. Zur Laufzeit. Falls die Restefolge nur sehr langsam abnimmt, zum Beipiel in jedem Schritt nur um einen begrenzten Betrag, ist das Verfahren für große Zahlen sicher wertlos. Dies kann zum Glück nicht eintreten, denn es gelten die Ungleichungen ( ) n 3 < n 1 2, n 4 < n 2 2,... das heißt mehr als Halbierung der Reste nach zwei Schritten. Grob werden zum Abbau einer Zehnerpotenz höchstens sieben Schritte benötigt. Bei zwei 1000-stelligen Zahlen etwa höchstens 7000 Divisionen. Das ist großartig wenig. Die folgenden Beispiele demonstrieren dies. n 1 = 3 20 1 = 3 486 784 400 n 2 = 2 20 1 = 1 048 575 n 3 = 272 525 n 4 = 231 000 n 5 = 41 525 n 6 = 23 375 n 7 = 18 150 n 8 = 5 225 n 9 = 2 475 n 10 = 275 = (n 1, n 2 ) 4

n 1 = 3 50 1 = 717 897 987 691 852 588 770 248 n 2 = 2 50 1 = 1 125 899 906 842 623 n 3 240 999 047 575 748 n 4 161 903 716 539 631 n 5 79 095 331 036 117 n 6 3 713 054 467 397 n 7 1 121 187 220 780 n 8 349 492 805 609 n 9 72 708 805 609 n 10 58 657 582 621 n 11 14 051 222 988 n 12 2 452 690 669 n 13 1 787 769 643 n 14 664 921 026 n 15 457 927 591 n 16 206 993 435 n 17 43 940 721 n 18 31 230 551 n 19 12 710 170 n 20 5 810 211 n 21 1 089 748 n 22 367 471 n 23 5 335 n 24 4 026 n 25 1 309 n 26 99 n 27 22 n 28 = 11 = (n 1, n 2 ) Zum Beweis der ersten Ungleichung in ( )(die anderen ergeben sich in gleicher Weise). Im ersten Fall sei n 2 n 1 /2. Dann gilt n 3 < n 2 n 1 /2, wie behauptet. Ist im zweiten Fall n 1 /2 < n 2 < n 1, dann kann (1) nur die Gestalt n 1 = 1 n 2 + n 3 mit n 3 < n 1 /2 haben. Dass dem Euklidischen Algorithmus etwas Besonderes, keineswegs Selbstverständliches innewohnt, wird wohl jeder bestätigen. 5. Zur Häufigkeit der Paare teilerfremder Zahlen. Um Paare großer, teilerfremder Zahlen zu erhalten, wird man zufällig zwei Zahlen n 1 und n 2 wählen, und hoffen, dass sie mit einiger Wahrscheinlichkeit den ggt Eins liefern. Es werde für großes N w(n) definiert als der Quotient der Anzahl der Paare n 1, n 2 N mit (n 1, n 2 ) = 1 und der Anzahl aller Paare n 1, n 2 N, d.h. N 2. w(n) also die Wahrscheinlichkeit, bei zufälliger Wahl zweier Zahlen n 1, n 2 N ein Paar mit 5

ggt Eins zu erwischen. Man könnte erwarten, dass w(n) mit wachsendem N sehr klein wird, denn es stehen sehr viele Werte für den ggt zur Verfügung. Das überraschende, nicht ganz leicht zu beweisende Ergebnis ist w(n) 6 π 2 für N. Etwa zwei Drittel aller Paare sind teilerfremd. Es bestehen somit gute Aussichten, bei gegebenem, z.b. 1000 stelligem n 1 rasch viele ähnlich große n 2 mit (n 1, n 2 ) = 1 zu finden. 6