18. Algorithmus der Woche Der Euklidische Algorithmus

Ähnliche Dokumente
Multiplikative Inverse

Umwandlung von endlichen Automaten in reguläre Ausdrücke

ARBEITSBLATT 5L-6 FLÄCHENBERECHNUNG MITTELS INTEGRALRECHNUNG

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 5. Semester ARBEITSBLATT 3 PARAMETERDARSTELLUNG EINER GERADEN

1. Kapitel: Arithmetik. Ergebnisse mit und ohne Lösungsweg

Berechnung von Flächen unter Kurven

wertyuiopasdfghjklzxcvbnmqwertyui

1.7 Inneres Produkt (Skalarprodukt)

v P Vektorrechnung k 1

Mathematik Bruchrechnung Grundwissen und Übungen

Hans Walser. Geometrische Spiele. 1 Vier gleiche rechtwinklige Dreiecke. 1.1 Allgemeiner Fall

Grundkurs Mathematik. Einführung in die Integralrechnung. Lösungen und Ergebnisse zu den Aufgaben

a) Potenzieren ausgesprochen als Beispiel a b = c a = Basis a hoch b = c 4 3 = 64 b = Exponent c = Potenzwert

TECHNISCHE UNIVERSITÄT MÜNCHEN

Lehrgang: Digitaltechnik 1 ( Grundlagen ) - Im Lehrgang verwendete Gatter ( Übersicht ) Seite 3

Lösung zur Klausur. Grundlagen der Theoretischen Informatik. 1. Zeigen Sie, dass die folgende Sprache regulär ist: w {a, b} w a w b 0 (mod 3) }.

Nullstellen quadratischer Gleichungen

ARBEITSBLATT 14 ARBEITSBLATT 14

TECHNISCHE UNIVERSITÄT MÜNCHEN

MC-Serie 12 - Integrationstechniken

Das Rechnen mit Logarithmen

4 Die rationalen Zahlen

Welches der Rechtecke findest Du am schönsten (harmonisch, wohltuend)?

1. Rechensteine und der Pythagoräische Lehrsatz.

Franz Binder. Vorlesung im 2006W

Wurzeln. bestimmen. Dann braucht man Wurzeln. Treffender müsste man von Quadratwurzeln sprechen. 1. Bei Quadraten, deren Fläche eine Quadratzahl ist,

RESULTATE UND LÖSUNGEN

1KOhm + - y = x LED leuchtet wenn Schalter x gedrückt ist

Bruchterme. Franz Embacher

- 1 - VB Inhaltsverzeichnis

dem Verfahren aus dem Beweis zu Satz 2.20 erhalten wir zunächst die folgenden beiden ε-ndeas für die Sprachen {a} {b} und {ε} {a} +

1 Folgen von Funktionen

Themenbereich: Kongruenzsätze Seite 1 von 6

Einführung in die Lineare Algebra

2. Klausur in K2 am

Die Regelungen zu den Einsendeaufgaben (Einsendeschluss, Klausurzulassung) finden Sie in den Studien- und Prüfungsinformationen Heft Nr. 1.

Skript für die Oberstufe und das Abitur 2015 Baden-Württemberg berufl. Gymnasium (AG, BTG, EG, SG, WG)

Für den Mathe GK, Henß. - Lineare Algebra und analytische Geometrie -

Übungen zur Vorlesung Grundlagen der Mathematik II Lösungsvorschlag

Einführung in die Integralrechnung

Die Keplersche Fassregel

Dr. Günter Rothmeier Kein Anspruch auf Vollständigkeit Elementarmathematik (LH) und Fehlerfreiheit

Klausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2013)

1.2 Der goldene Schnitt

13 Rekonfigurierende binäre Suchbäume

Monte-Carlo-Integration

Orientierungstest Mathematische Grundlagen

Vorkurs Mathematik DIFFERENTIATION

Grundwissen Mathematik 8.Klasse Gymnasium SOB. Darstellung im Koordinatensystem: Der Kreisumfang ist direkt proportional zu seinem Radius.

Ungleichungen. Jan Pöschko. 28. Mai Einführung

Grundbegriffe der Informatik Aufgabenblatt 5

Landeswettbewerb Mathematik Baden-Württemberg Musterlösungen 1. Runde 2005

Kurvenintegrale. 17. Juli 2006 (Korrigierte 2. Version) 1 Kurvenintegrale 1. Art (d.h. f ist Zahl, kein Vektor)

A.25 Stetigkeit und Differenzierbarkeit ( )

11. DER HAUPTSATZ DER DIFFERENTIAL- UND INTEGRALRECHNUNG

2 Trigonometrische Formeln

1.6 Bruchterme. 1 Einführung und Repetition 2. 2 Multiplikation und Division von Bruchtermen 3. 3 Die Addition von zwei Bruchtermen-Methode I 3

Übungsblatt Gleichungssysteme Klasse 8

10 Anwendungen der Integralrechnung

Präfixcodes und der Huffman Algorithmus

Kapitel IV Euklidische Vektorräume. γ b

Bestimmtes (Riemannsches) Integral / Integral als Grenzwert einer Summe : Bedeutung: Fläche unter einer Funktion innerhalb bestimmter Grenzen

Brückenkurs Lineare Gleichungssysteme und Vektoren

Vorkurs Mathematik Fachhochschule Frankfurt, Fachbereich 2. Fachhochschule Frankfurt am Main Fachbereich Informatik und Ingenieurwissenschaften

Def.: Sei Σ eine Menge von Zeichen. Die Menge Σ* aller Zeichenketten (Wörter) über Σ ist die kleinste Menge, für die gilt:

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Sprachen. Grammatiken (Einführung)

Mathematik PM Rechenarten

Zahlen und Grundrechenarten

1. Übungsblatt zur Analysis II

Kapitel 1. Anschauliche Vektorrechnung

Der Vektor lebt unabhängig vom Koordinatensystem: Bei einer Drehung des Koordinatensystems ändern zwar die Komponenten, der Vektor v aber bleibt.

Übungsblatt 1 zum Propädeutikum

Begriffe: Addition Subtraktion Multiplikation Division. Summe Differenz Produkt Quotient a + b a b a b a : b

2. Das Rechnen mit ganzen Zahlen (Rechnen in )

1.6 Bruchterme. 1 Theorie Lernziele Repetition Die Addition von zwei Bruchtermen-Methode I Doppelbrüche...

Mathematik fu r Ingenieure (Maschinenbau und Sicherheitstechnik) 2. Semester Apl. Prof. Dr. G. Herbort Dr. T. Pawlaschyk. SoSe16 Arbeitsheft Blatt 3

Public-Key-Verfahren: Diffie-Hellmann und ElGamal

Einführung in die Integralrechnung

5 Gleichungen (1. Grades)

Grundwissen 6. Klasse

7.4. Teilverhältnisse

Repetitionsaufgaben Logarithmusgleichungen

Quadratische Gleichungen und Funktionen

Lineare DGL zweiter Ordnung

Dein Trainingsplan. sportmannschaft. ... und was sonst noch wichtig ist. Deine Zähne sind wie deine. und du bist der Trainer!

Wirtschaftsmathematik 00053: Mathematik für Wirtschaftswissenschaftler I Kurseinheit 2: Lineare Algebra II. Autor: Univ.-Prof. Dr.

Eufic Guide Enfant ALL 14/12/04 15:44 Page 1 10 Tipps für Kids Spiel mit uns! Zur gesundenernährung

Mitschrift Repetitorium Theoretische Informatik und Logik

1 Ergänzungen zur Differentialrechnung

Endliche Automaten. Stoyan Mutafchiev. Programming Systems Lab, Universität des Saarlandes, Saarbrücken

Verlauf Material LEK Glossar Lösungen. In acht Leveln zum Meister! Exponentialgleichungen lösen. Kerstin Langer, Kiel VORANSICHT

Einführung in das Rechnen mit Zahlen. (elementare Algebra)

Funktionen und Mächtigkeiten

5.3 Dynamisches Sitzen und Stehen

Die Brückenlappentechnik zum sicheren Verschluss von Nasenseptumdefekten

Quadratische Funktionen

Theoretische Informatik und Logik Übungsblatt 2 (2013S) Lösung

Mathematik PM Rationale Zahlen. Ist a kein Vielfaches von b, so entsteht eine neue Zahl, Bruch oder rationale Zahl genannt. Sie bilden die Menge Q.

Grundwissen. Die Menge der reellen Zahlen 0 =0. Beispiele

$Id: integral.tex,v /05/15 13:14:04 hk Exp $ $Id: uneigentlich.tex,v /05/15 13:21:33 hk Exp $

Transkript:

18. Algorithmus der Woche Der Euklidische Algorithmus Autor Friedrich Eisenrnd, Universität Dortmund Heute ehndeln wir den ältesten ereits us Aufzeichnungen us der Antike eknnten Algorithmus. Er wurde c. 300 v. Chr. von Euklid in seinem Buch Die Elemente eschrieen. Stell Dir vor, du hst zwei Stäe der Länge und, woei und gnze Zhlen sind. Du möchtest die Stäe in gleichgroße Stücke zersägen und zwr so, dss die Länge d der Stücke so groß ist wie möglich. d Zerteilen zweier Stäe in möglichst große Stücke Unser Algorithmus der Woche erechnet diese gesuchte Länge d. Der Algorithmus ht zwei Versionen. Die erste Version ist lngsm, die zweite ist schnell. Die Zhlen /d und /d sind ntürliche Zhlen, nämlich jeweils die Anzhl der Stücke, in die die Stäe zerschnitten werden. In dem Bild oen lässt sich der längere St in 5 Stücke der Länge d zerteilen und der kürzere in 3. Wie finden wir nun die gesuchte Länge d? Wenn eide Stäe gleich lng sind, dnn ist die gesuchte Länge d sofort klr. Es ist die gemeinsme Länge eider Stäe, wir müssen lso die Stäe nicht zersägen. Nehmen wir lso n, dss die Stäe unterschiedliche Längen hen, woei größer ist ls. d Die gesuchte Länge für und ist die gesuchte Länge für und Beim Neeneinnderlegen eider Stäe fällt Dir etws uf! Wenn eide Stäe sich in Stücke der Länge d ufteilen lssen, dnn können wir von dem längeren St ein Stück schneiden, ds genuso lng ist wie der kürzere St. Der Euklidische Algorithmus Seite 1 von 5 Friedrich Eisenrnd, Universität Dortmund

Ein Schritt des Algorithmus Der neue St ht jetzt die Länge und lässt sich eenflls exkt in Stücke der Länge d zersägen. Umgekehrt gilt: Wenn sich der neue St und der St der Länge in Stücke der Länge d zerteilen lssen, dnn lässt sich uch der lte St der Länge in Stücke der Länge d zerteilen. Ds wichtige Prinzip (P) ist lso kurz ds folgende: Wenn =, dnn ist die gesuchte Länge. Wenn größer ist ls, dnn ist die gesuchte Länge für und diesele wie die gesuchte Länge für und. Wir können jetzt einen Algorithmus ufschreien, der uns die gesuchte Länge erechnet. 1 Solnge nicht eide Stäe gleich groß sind: Säge von dem längeren St ein Stück, ds so lng ist wie der kürzere der eiden Stäe. Lege dieses Stück eiseite. 2 Jetzt sind eide Stäe gleich groß. Die gesuchte Länge ist die gemeinsme Länge der Stäe. Wir müssen uns n dieser Stelle frgen, o unser Algorithmus fertig wird und nicht immer weiter die Stäe in kleinere Stücke zersägt und nie ufhört. Hierzu knn mn folgendes eochten. Wir eginnen mit zwei Stäen, deren Längen jeweils ntürliche Zhlen und sind. Während der Algorithmus läuft, leien die Längen ntürliche Zhlen. Insesondere ist die Länge der eiden Stäe immer mindestens 1. D einer der Stäe in jeder Runde um mindestens eins gekürzt wird, endet der Algorithmus schließlich nch höchstens + Runden. Der größte gemeinsme Teiler Die gesuchte Länge d ist, so wie und, uch eine ntürliche Zhl. Es ist eine ntürliche Zhl, die sowohl ls uch teilt. Mthemtisch usgedrückt edeutet dies, dss es ntürliche Zhlen x und y git mit d x = und d y =. In unserer Anschuung ist x die Anzhl der Stücke, die wir us dem St der Länge schneiden und y ist die Anzhl der Stücke, die wir us dem St der Länge schneiden. Die Zhl d ist der größte gemeinsme Teiler von und, denn nch dem Prinzip (P) ist der größte gemeinsme Teiler der Stlängen nch jeder Säge-Runde dersele wie vor dieser Runde. Wir können den Algorithmus uch strkter ufschreien. Dnn kommen keine Stäe mehr vor. Die Einge sind zwei ntürliche positive Zhlen und und die Ausge ist der größte gemeinsme Teiler, der Der Euklidische Algorithmus Seite 2 von 5 Friedrich Eisenrnd, Universität Dortmund

ggt von und. Wir nennen den Algorithmus us Gründen, die gleich eleuchtet werden, LANGSAMEU- KLID. LANGSAMEUKLID 1 while 2 if > then := ; 3 if > then := ; 4 end while 5 Gi den gemeinsmen Wert der eiden Zhlen us. Schuen wir uns ein konkretes Beispiel n: Die Einge sollen die Zhlen 15 und 9 sein. Im ersten Schritt sutrhieren wir 9 von 15 und erhlten die Zhlen 6 und 9. Im zweiten Schritt erhlten wir die Zhlen 6 und 3. Im dritten Schritt erhlten wir die Zhlen 3 und 3 und der Algorithmus git die Zhl 3 us. Ds nächste Beispiel zeigt, wrum wir den Algorithmus LANGSAMEUKLID gennnt hen. Betrchte die Eingen = 1001 und = 2. Die eiden Zhlen während den Itertionen des Algorithmus sind 1001 und 2 999 und 2, 997 und 2 995 und 2... (ziemlich viele Runden) 3 und 2 1 und 2 1 und 1. Dss es so lnge duert, liegt drn, dss die zweite Zhl sehr klein ist. Eine Beochtung, die den Algorithmus erhelich eschleunigt Wie oft zieht mn die Zhl 2 insgesmt? Es gilt 1001 = 2 500+1. Die Zhl 2 wird genu 500 ml von der Zhl 1001 sutrhiert, is der Wert unter den Wert 2 fällt. Wie kmen wir uf die Zhl 500? Einfch indem wir 1001 durch 2 geteilt und gerundet hen. Wir wussten dnn, dss 1001 = 500 2+1 gilt und konnten dnn sofort die Zhlen 1001 und 2 durch die Zhlen 1 und 2 ersetzen. Ein Computer knn sehr schnell eine Division mit Rest usführen. Diese Opertion erechnet us und zwei ntürliche Zhlen q und r mit = q +r, woei r kleiner ist ls. Die Zhl q ist ds Ergenis des Arundens der Zhl / und r ist der Rest der Division von durch. In unserem Beispiel ist = 1001, = 2, q = 500 und r = 1. Wenn und die Einge des Algorithmus LANGSAMEUKLID sind und größer ist ls, dnn wird von entweder q-ml sutrhiert (wenn ttsächlich ein Rest leit) oder q 1-ml (wenn durch teilr ist und schließlich zwei Stäe der Länge entstehen). Wir können den Algorithmus lso eschleunigen, indem wir durch mit Rest teilen und sofort durch den Rest r ersetzen. Dei knn es pssieren, dss der Rest r Null ist. Ds edeutet, dss der gesuchte größte gemeinsme Teiler ist, und der Algorithmus ist fertig. Dies ist die Idee hinter dem folgenden Algorithmus, den wir jetzt EUKLID nennen. Der Euklidische Algorithmus Seite 3 von 5 Friedrich Eisenrnd, Universität Dortmund

EUKLID 1 if < then vertusche und ; 2 while > 0 3 erechne q,r mit = q +r, woei 0 r < ; 4 := ; := r; 5 end while 6 return ; Wir können erwrten, dss dieser Algorithmus viel schneller ist ls der Algorithmus LANGSAMEUKLID. Wrum ds so ist, knn mn genu egründen. Nehmen wir n, dss die größere der eiden Zhlen ist. Wie groß ist der Rest r, der ei der Division von durch ürig leit? Ds schuen wir uns n einem Bild n. /2 Der Rest ist klein Rest Mn sieht, dss der Rest immer eine Länge von höchstens /2 ht. Ds liegt drn, dss +r höchstens ist und r kleiner ls ist. Nch einer Runde wird durch den Rest r ersetzt, welcher höchstens so groß ist wie /2. In der zweiten Runde wird durch den Rest der Division von durch r ersetzt. Diese Zhl ist uch höchstens so groß wie /2. Also sind nch zwei Runden eide Zhlen höchstens hl so groß wie, welche die größere Zhl der Einge wr. Wenn wir jetzt 2 k Runden hintereinnder etrchten, dnn hen eide Zhlen höchstens den Wert /2 k. Wenn k > log, dnn hätten eide Zhlen den Wert Null. Ds knn er nicht pssieren, d der Algorithmus fertig ist, sold eine Zhl Null ist. Dher ist die Anzhl der Schleifendurchläufe des Algorithmus höchstens 2 log, woei wir wieder den Logrithmus zur Bsis 2 meinen. Die Anzhl der Ziffern, die wir in unserem Dezimlsystem ruchen um die Zhl ufzuschreien ist proportionl zu log. Während der Algorithmus LANGSAMEUKLID eine Lufzeit ht, die proportionl zu den Werten von und ist, ht der Algorithmus EUKLID eine Lufzeit, die proportionl zur Anzhl der Ziffern von und ist. Ds ist ein wesentlicher Unterschied. Zum Schluss erechnen wir noch von Hnd den größten gemeinsmen Teiler von = 1324 und = 145. Die erste Division mit Rest ergit 1324 = 9 145 + 19. Jetzt wird uf den Wert 145 gesetzt und uf den Wert 19. Die zweite Division mit Rest ist 145 = 7 19+12. Die nächste Division mit Rest ergit 19 = 1 12+7, dnn folgen 12 = 7+5, 7 = 5+2, 5 = 2 2+1 und 2 = 2 1+0, worus wir schließen können, dss der größte gemeinsme Teiler von 1324 und 145 die Zhl 1 ist. Mn sgt dnn uch, die Zhlen sind teilerfremd. Der Euklidische Algorithmus Seite 4 von 5 Friedrich Eisenrnd, Universität Dortmund

Autor: Prof. Dr. Friedrich Eisenrnd http://ls2-www.cs.uni-dortmund.de/ eisen/ Weitere Links: Applets zum lngsmen und schnellen Euklidschen Algorithmus http://ls2-www.cs.uni-dortmund.de/lgo-der-woche Der Autor dnkt Mrtin Dietzfelinger für hilfreiche Kommentre. Der Euklidische Algorithmus Seite 5 von 5 Friedrich Eisenrnd, Universität Dortmund