„Berlekamp-Algorithmus“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Korrektur
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Teilweise Übersetzung aus [[:en:Berlekamp's algorithm]]
#REDIRECT [[Faktorisierung von Polynomen]]

''Dieser Artikel behandelt den Algorithmus zur Faktorisierung von Polynomen über einen endliche Körper. Den Algorithmus zur Suche des kürzesten [[Linear rückgekoppeltes Schieberegister|linear rückgekoppelten Schieberegisters]] findet man unter [[Berlekamp-Massey-Algorithmus]].''

In der [[Computeralgebra]] einen Teilgebiet der [[Mathematik]] ist der '''Berlekamp-Algorithmus''' eine Methode zur Faktorisierung von [[Polynom]]en über einen [[Endlicher Körper|endlichen Körper]], die 1967 von [[Elwyn Berlekamp]] entwickelt wurde. Er ist in den meißten [[Computer-Algebra-System]]en implementiert und war der führende Faktorisierungsalgorithmus bis zur Entwicklung des [[Cantor-Zassenhaus Algorithmus]], einer [[Probabilistischer_Algorithmus|probabilistischen]] Variante des Berlekamp-Algorithmus aus dem Jahre 1981.

==Hintergrund==
Gesucht ist eine Faktorisierung von <math> P(x) \in \mathbb{F}_q</math> mit <math>\deg P(x)=n</math>in irreduzible Faktoren <math> p_1(x)\cdot \dots \cdot p_r(x)=P(x)</math> wobei die Größe r unbekannt ist und auch eins sein kann, wenn <math>P(x)</math> [[irreduzibel]] ist. Dabei kann man ohne Beschränkung der Allgemeinheit annehmen dass <math>P(x)</math> [[quadratfrei]] ist.

Um die <math>p_i</math> zu bestimmen bedient man sich eines leichter zu faktorisierendem Polynom <math>G(x):= \prod_{a \in \mathbb{F}_q} \bigl( b(x) - a \bigr)</math> ,dass von <math>P(x)</math> geteilt wird, denn dann gilt:
:<math> P(x) =p_1(x)\cdot \dots \cdot p_r(x)= \prod_{a \in \mathbb{F}_q} \gcd(P(x),b(x)-a).</math>

Da <math>\mathbb{F}_q</math> ein [[Endlicher Körper#Eigenschaften|endlichen Körper]] ist, kann man in der Identität <math>X^q-X=\prod_{a \in \mathbb{F}_q} (X-a)</math> X durch b(x) ersetzen und erhält <math>G(x)=\prod_{a \in \mathbb{F}_q} \bigl( b(x) - a \bigr)=b(x)^q-b(x) </math>.

Weil G(x) durch P(x) teilbar ist, sucht man also b(x), die die Kongurenz <math> b(x)^q \equiv b(x) \mod P(x) </math> erfüllen.

Man kann nun beweisen, dass alle diese b(x) [[Eigenvektoren]] einer Matrix <math>\mathcal{Q}=[q_{k,l}]</math> zum Eigenwert 1 sind, wobei die <math>q_{k,l}</math> gegeben sind durch die Kongurenz:
:<math>x^{iq} \equiv q_{n,i}x^n + q_{n-1,i}x^{n-1} + \ldots + q_{0,i} \pmod{P(x)} </math>.

Denn dann gilt: <math>b(x)=\sum_j b_j x^j \stackrel{Eigenvektor}{=} \sum_j \bigl( q_{j,l} b_l \bigr) x^j = \sum_l b_l \sum_j q_{j,l} x^j \equiv \sum_l b_l x^{lq} \stackrel{\mathbb{F}_q}{=} \sum_l b_l^q x^{lq} \stackrel{\mathbb{F}_q}{=} {\bigl( \sum_l b_l x^l \bigr)}^q = b^q \mod P(x)</math>.

Man bestimmt also alle Eigenvektoren <math>b^{(j)}</math> von <math>\mathcal{Q}</math> und erhält dann die <math>p_i(x)</math> in dem man für alle <math>a \in \mathbb{F}_q</math> und für alle Eigenvektoren <math>b^{(j)}</math> <math>\gcd(P(x),b^{(j)}(x)-a)</math> berechnet. Dabei kann man zum einen den trivialen Eigenvektor <math>(0,\dots,0)</math> auslassen und zum anderen die Berechnungen beenden wenn man <math>r=\operatorname{rang} ( \mathcal Q - \mathcal I )</math> verschiedene Faktoren gefunden hat.

==Algorithmus==
Der Algorithmus kann also wie folgt zusammengefasst werden:
*man berechnet <math>\mathcal{Q}</math>, in dem man für <math>i=0,\dots ,n</math> jeweils <math>x^{iq} \mod P(x)</math> reduziert
*man bestimmt die Eigenvektoren <math>b^{(j)}</math> von <math>\mathcal{Q}</math>
*solange noch nicht alle <math>r=\operatorname{rang} ( \mathcal Q - \mathcal I )</math> Faktoren von <math>P(x)</math> bestimmt sind berechne für alle <math>b^{(j)} \neq (0,\dots,0)</math> und für alle <math>a \in \mathbb{F}_q</math>
:<math>\gcd(P(x),b^{(j)}(x)-a)</math>

==Anwendung==
Eine wichtige Anwendung des Berlekamp-Algoritmus ist die Berechnung des [[Diskreter Logarithmus|diskreten Logarithmus]] über einen endlichen Körper <math>\mathbb{F}_{p^n}</math> mit Primzahl <math>p</math> und <math>n\geq 2</math>. Was eine große Bedeutung in der [[Asymmetrisches Kryptosystem|Public Key Cryptography]] hat. In einen endlichen Körper, ist die schnellste Methode zur Berechnung des diskreten Logarithmus der [[Index-Calculus-Algorithmus]], bei dem Körperelemente faktorisiert werden. Da <math>\mathbb{F}_{p^n}</math> isomorph ist zu einem Polynomring über <math>\mathbb{F}_{p}</math> faktorisiert nach einem irreduziblen Polynom vom Grad n, entspricht die Faktorisierung der Körperelemente in <math>\mathbb{F}_{p^n}</math> der Faktorisierung von Polynomen in einem Polynomring über <math>\mathbb{F}_{p}</math> faktorisiert nach einem irreduziblen Polynom vom Grad n. Diese kann dann mit dem Berlekamp-Algorithmus durchführ werden.

==Siehe auch==
*[[Faktorisierung von Polynomen]]
*[[Cantor-Zassenhaus Algorithmus]]

==Quellen==
* {{Literatur
|Autor=Atilla Pethö
|Herausgeber=Michael Pohst
|Titel=Algebraische Algorithtmen
|Sammelwerk=
|Band=
|Nummer=
|Auflage=
|Verlag=Vieweg
|Ort=
|Jahr=1999
|Monat=
|Tag=
|Seiten=183
|Spalten=
|ISBN=9783528065980
|ISSN=
|Kommentar=
|Online=
|Zugriff=
}}

* {{Literatur
|Autor=Michael Kaplan
|Herausgeber=
|Titel=Computeralgebra
|Sammelwerk=
|Band=
|Nummer=
|Auflage=
|Verlag=Springer
|Ort=
|Jahr=2005
|Monat=
|Tag=
|Seiten=239
|Spalten=
|ISBN=3540213791
|ISSN=
|Kommentar=
|Online=
|Zugriff=
}}
* Elwyn R. Berlekamp. "Factoring Polynomials Over Finite Fields". Bell Systems Technical Journal, 46:1853-1859, 1967. bzw. in: Elwyn R. Berlekamp. "Algebraic Coding Theory". Mc-Graw Hill, 1968.

Version vom 9. September 2008, 00:09 Uhr

Teilweise Übersetzung aus en:Berlekamp's algorithm

Dieser Artikel behandelt den Algorithmus zur Faktorisierung von Polynomen über einen endliche Körper. Den Algorithmus zur Suche des kürzesten linear rückgekoppelten Schieberegisters findet man unter Berlekamp-Massey-Algorithmus.

In der Computeralgebra einen Teilgebiet der Mathematik ist der Berlekamp-Algorithmus eine Methode zur Faktorisierung von Polynomen über einen endlichen Körper, die 1967 von Elwyn Berlekamp entwickelt wurde. Er ist in den meißten Computer-Algebra-Systemen implementiert und war der führende Faktorisierungsalgorithmus bis zur Entwicklung des Cantor-Zassenhaus Algorithmus, einer probabilistischen Variante des Berlekamp-Algorithmus aus dem Jahre 1981.

Hintergrund

Gesucht ist eine Faktorisierung von mit in irreduzible Faktoren wobei die Größe r unbekannt ist und auch eins sein kann, wenn irreduzibel ist. Dabei kann man ohne Beschränkung der Allgemeinheit annehmen dass quadratfrei ist.

Um die zu bestimmen bedient man sich eines leichter zu faktorisierendem Polynom ,dass von geteilt wird, denn dann gilt:

Da ein endlichen Körper ist, kann man in der Identität X durch b(x) ersetzen und erhält .

Weil G(x) durch P(x) teilbar ist, sucht man also b(x), die die Kongurenz erfüllen.

Man kann nun beweisen, dass alle diese b(x) Eigenvektoren einer Matrix zum Eigenwert 1 sind, wobei die gegeben sind durch die Kongurenz:

.

Denn dann gilt: .

Man bestimmt also alle Eigenvektoren von und erhält dann die in dem man für alle und für alle Eigenvektoren berechnet. Dabei kann man zum einen den trivialen Eigenvektor auslassen und zum anderen die Berechnungen beenden wenn man verschiedene Faktoren gefunden hat.

Algorithmus

Der Algorithmus kann also wie folgt zusammengefasst werden:

  • man berechnet , in dem man für jeweils reduziert
  • man bestimmt die Eigenvektoren von
  • solange noch nicht alle Faktoren von bestimmt sind berechne für alle und für alle

Anwendung

Eine wichtige Anwendung des Berlekamp-Algoritmus ist die Berechnung des diskreten Logarithmus über einen endlichen Körper mit Primzahl und . Was eine große Bedeutung in der Public Key Cryptography hat. In einen endlichen Körper, ist die schnellste Methode zur Berechnung des diskreten Logarithmus der Index-Calculus-Algorithmus, bei dem Körperelemente faktorisiert werden. Da isomorph ist zu einem Polynomring über faktorisiert nach einem irreduziblen Polynom vom Grad n, entspricht die Faktorisierung der Körperelemente in der Faktorisierung von Polynomen in einem Polynomring über faktorisiert nach einem irreduziblen Polynom vom Grad n. Diese kann dann mit dem Berlekamp-Algorithmus durchführ werden.

Siehe auch

Quellen

  • Atilla Pethö: Algebraische Algorithtmen. Hrsg.: Michael Pohst. Vieweg, 1999, ISBN 978-3-528-06598-0, S. 183.
  • Michael Kaplan: Computeralgebra. Springer, 2005, ISBN 3-540-21379-1, S. 239.
  • Elwyn R. Berlekamp. "Factoring Polynomials Over Finite Fields". Bell Systems Technical Journal, 46:1853-1859, 1967. bzw. in: Elwyn R. Berlekamp. "Algebraic Coding Theory". Mc-Graw Hill, 1968.