wer ist, was ist, wo ist, wann war, was war - Lexikon / Chronik / Biografie / Wissen - Euklidischer Algorithmus


Werbung

Produkte / Services :|: Chronik CD :|: als Startseite | zu den | empfehlen :|: Impressum
Lexika @ InfoBitte.de :|: Universal-Lexikon | WeltKunst | Geteiltes Deutschland | Zweiter Weltkrieg
WeltChronik.de :|: Welt | Deutschland | Kultur/Kunst/Technik :|: BildDatenBank :|: Biografien

Navigation

WeltChronik
Deutsche Chronik
KulturChronik
Biografien
Bilddatenbank
Kalenderblatt
Epochen
Lexika @ InfoBitte.de
Produkte

Suchfunktionen
Chronik-Jahr direkt

Nur Zahl eingeben
Bereich: '0'-'2001'
PARTNER
Ahnenforschung

Quellen für die Schule

FREE 4 WebMasters

Wir haben eine ganze Palette kostenloser Angebote von uns
für WebMaster und HomePage Besitzer aufbereitet

Holen Sie sich hier ab

was Sie gerne einsetzen würden
Suchfunktionen, Kalenderblatt, uam
für Ihre WebSite



Euklidischer Algorithmus

ein InfoBitte / WeltChronik
Sach-Artikel (Enzyklopädie / Lexikon)

Entwickelt von ICA-D aus der XML-Version der deutschen WikiPedia
© 2004/2005 ff by de.wikipedia.org, teilw. by ICA-D
blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Der euklidische Algorithmus ist ein Verfahren zur Bestimmung des größten gemeinsamen Teilers (ggT) zweier natürlicher Zahlen a und b. Es ist einer der ältesten bekannten Algorithmen der Welt, benannt nach dem griechischen Mathematiker Euklid, der ihn um 300 v. Chr. in seinem Werk Die Elemente angegeben hat. Das Verfahren war jedoch schon früher bekannt. Euklid nannte es antenaresis. Der Algorithmus kommt ohne die Kenntnis der Primfaktorzerlegung der Zahlen a und b aus.


Inhaltsverzeichnis



1 Der klassische Algorithmus

2 Beispiel

3 Der binäre euklidische Algorithmus

4 Laufzeitanalyse

5 Euklidischer Algorithmus und Kettenbruchzerlegung

6 Erweiterung

7 Siehe auch


Der klassische Algorithmus

Wenn CD aber AB nicht misst, und man nimmt bei AB, CD abwechselnd immer das kleinere vom größeren weg, dann muß (schließlich) eine Zahl übrig bleiben, die die vorangehende misst.
(Aus Euklid, Die Elemente, Herausgegeben von Clemens Thaer, Wissenschaftliche Buchgesellschaft Darmstadt, VII Buch, §2)

Das Prinzip des euklidischen Algorithmus wird auch gegenseitige Wechselwegnahme genannt. Eingangsgrößen sind zwei natürliche Zahlen a und b. Bei der Berechnung verfährt man nach Euklid wie folgt:


  • 1. setze m = a; n = b
  • 2. ist m < n, so vertausche m und n
  • 3. berechne r = m - n
  • 4. setze m = n, n = r
  • 5. ist r ≠ 0 fahre fort mit Schritt 2


Nach Ablauf des Verfahrens hat man mit m den ggT von a und b gefunden.


Wie im Zitat oben angegeben formulierte Euklid das Problem seinerzeit geometrisch, er suchte nach einem gemeinsamen "Maß" für die Längen zweier Linien. Euklid löste das Problem, indem er wiederholt die kleinere der beiden Längen von der größeren abzog.


[Bild extern:] bild:Euklidischer_Algorithmus.png


Ist die Differenz von a und b sehr groß, sind unter Umständen sehr viele Subtraktionsschritte notwendig. Heutzutage werden die Schritte 2 und 3 deshalb in der Regel dadurch ersetzt, dass man, an Stelle der Differenz von m und n, für r den Rest bei der Division von m durch n nimmt.


Ein weiterer Vorteil dieser Variante ist, dass man sie auf beliebige euklidische Ringe (zum Beispiel Polynomringe, siehe Ringtheorie) übertragen kann, in denen der klassische Algorithmus nicht funktioniert.


Beispiel

Möchte man die den ggT von 1071 und 1029 berechnen, so erhält man der Reihe nach für m, n und r:


mnr
1071102942
10294221
42210
210

Der ggT ist damit 21.


Der binäre euklidische Algorithmus

Ein Problem bei der Umsetzung des euklidischen Algorithmus auf Computer ist Division, die unter Umständen einen hohen Rechenaufwand bedeutet. Hier ist deshalb der binäre euklidische Algorithmus besonders geeignet. Er verwendet nur Subtraktion und die im Dualsystem besonders einfach durchzuführende Division durch 2.


  • 1. setze m = a; n = b
  • 2. dividiere m und n durch 2 solange, bis eine der beiden Zahlen ungerade ist. Die Zahl der notwendigen Divisionsschritte sei k. Falls n gerade ist, vertausche m und n.
  • 3. dividiere m durch 2, bis m ungerade ist
  • 4. ist m<n, so vertausche diese Zahlen
  • 5. setze m = m - n
  • 6. ist m ≠ 0, dann fahre fort mit Schritt 3.


Nach Ablauf erhält man ggT(a,b) = n·2k.


Hinter dem binären euklidischen Algorithmus steckt die Tatsache, dass 2 kein Faktor des ggT zweier Zahlen sein kann, wenn mindestens eine der beiden ungerade ist. Aus einer geraden Zahl kann man also so lange 2 ausdividieren, bis diese ungerade wird.


Dies geschieht in Schritt 3. Wenn im Schritt 5 von einer ungeraden Zahl eine ungerade Zahl abgezogen wird - was immer der Fall ist —, ist das Ergebnis eine gerade Zahl, aus der man nun wieder 2 ausdividieren kann. Die Bitlänge der Restzahlen verringert sich so kontinuierlich.


Das einzige Problem ergibt sich bei der Eingabe zweier gerader Zahlen. Hier muss man im Voraus entsprechend oft 2 ausdivieren (Schritt 2). Die Zahl der Divisionen muss man sich merken, da diese nach Beendigung des Algorithmus wieder rückgängig gemacht werden müssen.


Laufzeitanalyse

Mit dem euklidischen Algorithmus kann man den ggT mit verhältnismäßig geringem Aufwand (im Vergleich zur Berechnung der Primfaktorzerlegung der Zahlen a und b) berechnen. Bei der Laufzeitanalyse stellt sich interessanterweise heraus, dass der schlimmste Eingabefall zwei aufeinander folgende Fibonacci-Zahlen sind. Die Laufzeit beträgt im schlimmsten Fall Θ(n), wobei n die Anzahl der Ziffern in der Eingabe ist (siehe Landau-Symbole).


Allerdings ist die Division beliebig großer Zahlen nicht O(1), also ist die tatsächliche Laufzeit O(n²).


Euklidischer Algorithmus und Kettenbruchzerlegung

Die Quotienten, die im euklidischen Algorithmus vorkommen, sind gerade die Zahlen, die in der Kettenbruchzerlegung von a/b vorkommen. Hier für das obige Beispiel mit hervorgehobenen Ziffern:


1071= 1× 1029+ 42
1029= 24× 42+ 21
42= 2× 21+ 0

Hieraus läßt sich der Kettenbruch entwickeln:



Dieses Verfahren lässt sich auch für jede beliebige reelle Zahl r anwenden. Ist r nicht rational, so endet der Algorithmus einfach nie. Die so gewonnene Folge an Quotienten stellt dann die unendliche Kettenbruchzerlegung von r dar.


Erweiterung

Merkt man sich die Quotienten bei der Berechnung, so lässt sich damit eine Darstellung sa+tb=ggT(a,b) mit ganzen Zahlen s und t finden. Dies nennt man den erweiterten euklidischen Algorithmus. Damit lassen sich die Inversen in Restklassenringen berechnen.


Eine andere Erweiterung ist der Algorithmus, der hinter dem Quadratischen Reziprozitätsgesetz steckt. Damit lässt sich das Jacobi-Symbol effizient berechnen.


Siehe auch

kgV und ggT, Computerprogramm


blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter




Wörterbuch


Produkte
2000 Jahre
Chronik CD-ROM


Kalenderblatt in
Schmuckblatt
Ausführung


Geburtstags-Bios

Suchen/Google-Ads
Kalenderblatt
druckfertig
( DirectDownloads )
Kalenderblätter
druckfertig aufbereitet für Schmuckblätter
zum Selbstdrucken

im Word DOC6/RTF Format, je Euro 5
über Click&Buy
JAN | FEB | MÄRZ
APRIL | MAI | JUNI
JULI | AUG | SEPT
OKT | NOV | DEZ

Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen
Andere Einzeltage
oder Zahlungsarten

bitte HIER bestellen


© 2000 ff by ICA-D, D-76751 Jockgrim, Germany
Verantwortlich im Sinne des Presse- und Multimedia-Rechts: Dipl.-Ing. Rainer Detering, Waidweg 18, 76189 Karlsruhe


| Immer | Unsere | InfoBitte weiterempfehlen
KALENDERBLATT von HEUTE | SUCH-Funktionen ALLE und nach BEREICHEN | Startseite
Welt-Chronik | Kunst-, Kultur-, Technik-Geschichte | Deutsche Chronik | 2000 Biografien | Bild-Datenbank
Gesetzestexte | SkateGuide | Online Jigsaw Puzzles | GeschenkTip | Produkte, Services, Impressum



*NEU* bei InfoBitte *NEU*



die deutsche WikiPedia
bei InfoBitte.de mit
650,000 Querverweisen zu
2000 Jahre Chronik



InfoBitte
Portal zu Portalen
Hauptseite


Suchfunktionen

Wissen, Biografien, Geschichte
besser gezielt suchen mit
domain-Filterung

die Links führen im neuen Fenster
zu den jeweiligen Hauptseiten,
das Anklicken eines Buttons zur
Filterung für die Google-Suche



Google
Lexika @ InfoBitte.de

ib InfoBitte.de (alle Lexika)
ib Universal-/Hand-Lexikon
die WikiPedia @ InfoBitte
ib L. WeltKunstGeschichte
ib L. Geteiltes Deutschland
ib L. Zweiter Weltkrieg

2000 Jahre Chronik

WeltChronik.de (Texte)
  
WeltChronik auf CDROM
deutsche Geschichte
Kultur-/TechnikGeschichte
WeltChronik Bilder
Chronik Biografien

Google
2000 Jahre Chronik
offline auf CDROM

Hier Kaufen


WeltChronik Jahr...
(eigene Suchfunktion)

Nur Zahl eingeben
Bereich: '0'-'2001'





Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin