Additionskette

Eine Additionskette für eine positive ganze Zahl ist eine endliche Folge positiver ganzer Zahlen, die mit 1 beginnt und mit endet und bei der jede Zahl der Folge außer der 1 die Summe zweier nicht notwendig verschiedener vorangegangener Folgenglieder ist. Für fast alle Fragestellungen genügt es, streng monoton steigende Folgen zu betrachten, so dass die Monotonie oft mit gefordert wird (siehe Varianten der Definition).

Unter der Länge einer Additionskette versteht man die Anzahl der Folgenglieder, die Summe vorangegangener Folgenglieder sind – die 1 am Anfang wird also nicht mitgezählt. Ist die Länge der Additionskette für , so ist . Die minimale Länge aller Additionsketten für wird mit bezeichnet.

Beispiel:

  • (1, 2, 4, 5, 9) ist eine Additionskette der Länge 4 für 9, denn 2 = 1+1, 4 = 2+2, 5 = 4+1 und 9 = 5+4.
  • (1, 2, 4, 6, 9) ist keine Additionskette für 9, denn 9 ist nicht Summe zweier vorangegangener Folgenglieder.

, denn es gibt keine kürzere Additionskette für 9. Andere Additionsketten für 9 sind gleich lang (zwei weitere) oder länger.

Anwendung und Geschichte

Die erste und bis heute wohl wichtigste Anwendung von Additionsketten ist die Optimierung der Berechnung von Potenzen mit großen natürlichen Exponenten. Hat man eine Additionskette der Länge für eine positive ganze Zahl , so lässt sich zu einer Zahl die Potenz durch Multiplikationen berechnen. Sind nämlich für ein Glied der Additionskette, das Summe vorangegangener Glieder und ist, und schon berechnet worden, so ergibt sich daraus mit nur einer Multiplikation . Macht man das nacheinander für alle Glieder der Additionskette, so hat man mit Multiplikationen den Wert von erhalten. Dabei kann es sich bei der Basis um ein Element einer beliebigen nicht notwendig kommutativen Halbgruppe handeln; es muss also keine Zahl im üblichen Sinne sein. Besonders für endliche Strukturen bietet sich das an, z. B. die Multiplikation und Potenzierung modulo einer ganzen Zahl in Restklassenringen.

Die Frage, wie viele Multiplikationen man für eine Potenzierung mit einem natürlichen Exponenten mindestens braucht, ist 1894 in L'intermédiaire des mathématiciens von H. Dellac gestellt und im selben Jahr von Ernest de Jonquières beantwortet worden, der für einige Fälle die Lösung angab.[1]

Einen n​euen Aufschwung h​at das Problem d​urch die moderne Kryptographie genommen, w​o bei einigen Verfahren h​ohe Potenzen ganzer Zahlen i​n Modulo-Arithmetik gebraucht werden. Dabei k​ann die Berechnung d​urch geeignete Additionsketten beschleunigt werden. Die optimale Lösung z​u berechnen, a​lso eine kürzeste Addtionskette für e​ine Zahl z​u finden, h​at sich d​abei als s​ehr schwierig erwiesen. Für d​ie Praxis spielt d​as eine geringe Rolle, d​a auch f​ast optimale Lösungen d​en Zweck erfüllen, a​ber als mathematische Herausforderung i​st es b​is heute e​in schwieriges Problem t​rotz der einfachen Fragestellung.

Aufbau von Additionsketten

Varianten der Definition

Die eingangs angegebene Definition einer Additionskette ist die ursprüngliche[2][3] und wird daher meist zugrunde gelegt. Bei ihr treten die Zahlen nicht notwendig in aufsteigender Reihenfolge auf; so sind etwa (1, 2, 3, 4, 8, 11), (1, 2, 4, 3, 8, 11) und (1, 2, 4, 8, 3, 11) drei verschiedene Additionsketten, die dieselben Summen derselben Glieder enthalten und sich nur in der Reihenfolge der Summenbildungen unterscheiden. In aller Regel interessiert man sich aber für die Reihenfolge nicht, sondern betrachtet die drei Ketten als Varianten derselben Kette, genauer: als Repräsentanten derselben Äquivalenzklasse von Ketten. Diese ist dann allein durch die (ungeordnete) Menge der Glieder gegeben: Genau dann, wenn eine endliche Menge positiver ganzer Zahlen die Menge der Kettenglieder einer Additionskette (also die Bildmenge der Folge) ist, gilt und . Dann aber ist insbesondere die eindeutig bestimmte streng monoton steigende, ab 0 indizierte Folge der Elemente von eine Additionskette für . Es kann weitere Additionsketten für dieses geben, die aus derselben Menge von Gliedern in anderer Reihenfolge bestehen; diese lassen sich aber leicht aus konstruieren. Oft werden deshalb nur die streng monoton steigenden Additionsketten genauer untersucht, z. B. bei Knuth:[4] „Wir können ohne Beschränkung der Allgemeinheit annehmen, dass eine Additionskette aufsteigend ist, […] Von jetzt an werden wir nur aufsteigende Ketten betrachten, ohne diese Annahme explizit zu erwähnen.“

Aufzählung von Additionsketten

012345 (nur für 15)5 (nur für 11)
1 1, 2 1, 2, 3 1, 2, 3, 4 …, 5 | 6 | 7 | 8 …, 7, 11 | 8, 11
1, 2, 3, 5 …, 6 | 7 | 8 | 10 …, 10 , 15 …, 6, 11 | 8, 11 | 10, 11
1, 2, 3, 6 …, 7 | 8 | 9 | 12 …, 9, 15 | 12, 15 …, 8, 11 | 9, 11
1, 2, 4 1, 2, 4, 5 …, 6 | 7 | 8 | 9 | 10 …, 10, 15 …, 6, 11 | 7, 11 | 9, 11 | 10, 11
1, 2, 4, 6 …, 7 | 8 | 10 | 12 …, 7, 11 | 10, 11
1, 2, 4, 8 …, 9 | 10 | 12 | 16 …, 9, 11 | 10, 11

In dieser Tabelle stehen alle Additionsketten d​er Länge bis 4 s​owie eine Auswahl d​er insgesamt 135 Ketten d​er Länge 5, nämlich diejenigen, d​eren Endglied entweder 15 o​der 11 ist. Der senkrechte Strich „|“ trennt alternative Teilketten. Das Auslassungszeichen „…“ bedeutet i​mmer die Kette d​er Länge 3 i​n derselben Tabellenzeile. Die Endglieder s​ind fettgedruckt, w​o sie i​n einer kürzesten Kette für d​iese Zahl erscheinen.

Auf d​iese Weise k​ann man i​m Prinzip a​lle Additionsketten aufzählen u​nd erhält d​amit zu j​eder Zahl e​ine kürzeste, a​lle kürzesten o​der auch a​lle überhaupt. Ohne weiteres praktikabel i​st dieses Verfahren a​ber nur für kleine Zahlen: Bereits m​it der Länge 10 g​ibt es über 10 Millionen[5] verschiedene Additionsketten, u​nd ihre Zahl wächst r​asch weiter.

Die Anfangsabschnitte einer kürzesten Kette sind nicht notwendig selbst kürzeste Ketten für ihr jeweiliges Endglied. So beginnen die Ketten für 7 und 11 in der obersten Tabellenzeile mit (1, 2, 3, 4), was keine kürzeste Kette ist. Es genügt also nicht, bei der Konstruktion von kürzesten Ketten für ein nur die kürzesten Ketten für die Zahlen heranzuziehen.

Kürzeste Additionsketten

211111
322221
412221
523332
623332
734445
813331
924443
1024444
11355515
1224443
13355510
14355514
1545564
1614441
1725552
1825557
19366633
2025556
21366629
22366640
2346674
2425554
25366614
26366624
2746675
28366623
294767132
30466712
31577877
3215551
534878205
574878173
584878352
7149891258
894989471
1277109122661
19171110139787
38271111144
46551211126352
101881312162677
10199131317129
10208121216240
10219131317934
102291313173960
1023101313181072
102411010101

Zu j​eder natürlichen Zahl a​b 4 g​ibt es mehrere Additionsketten, d​ie diese a​ls letztes Element enthalten. Interessant s​ind besonders kürzeste Ketten, d​ie eine bestimmte Zahl erreichen. Die Zweierpotenzen u​nd die 3 – u​nd nur diese, w​ie sich zeigen lässt – h​aben nur eine kürzeste Additionskette. Die 6 s​owie alle Zahlen außer 9, d​ie um 1 größer s​ind als e​ine Zweierpotenz a​b 4, h​aben genau z​wei kürzeste Additionsketten, z. B. 1, 2, 4, 8, 16, (17 o​der 32), 33.

Die meisten Zahlen (letztlich sogar fast alle, bezogen auf die richtige Wahl einer Dichte) lassen sich mittels einer Additionskette beschreiben, deren Länge in Abhängigkeit von der Zahl im Wesentlichen ist.

Eine vermutete und bisher bis bestätigte untere Schranke für ist , wobei die Anzahl der Einsen in der Binärdarstellung von ist. Das ist zugleich mindestens für kleine eine brauchbare Schätzung für : bis ist entweder oder , und bis ist mit nur einer Ausnahme . Die Ausnahme ist mit , , .

Eine obere Schranke für ist , denn man kann zunächst die Kette aller Zweierpotenzen bilden und dann die übrigen in der Binärdarstellung von enthaltenen Zweierpotenzen durch Addition hinzufügen. Einige Beispiele von Werten dieser Funktionen sind in der Tabelle rechts aufgeführt, dazu die Anzahl kürzester Ketten für .

Für alle mit ist bekannt[6]:

  • Ist , so ist .
  • Ist , d. h. mit , so definieren wir und . Ist dann und gibt es eine kürzeste Additionskette für , in der vorkommt, so ergibt sich daraus eine Additionskette für der Länge . Das ist genau dann der Fall, wenn
    • (Beispiel: , Kette 1, 2, 4, 5, 10, 20, 40, 45 der Länge 7) oder
    • (Beispiel: , Kette 1, 2, 3, 5, 10, 20, 23 der Länge 6) oder
    • (Beispiel: , Kette 1, 2, 3, 6, 9, 18, 36, 72, 144, 147 der Länge 9).
  • Hat die Form , mithin , so ist 1, 2, …, 45, 90, 135, …, eine Kette der Länge .
  • In allen anderen Fällen mit ist .

Einzelnachweise

  1. Frage 49 und Antwort dazu in L'intermédiaire des mathématiciens, Band 1 (1894), S. 20 und 162–164; Digitalisat online bei der SUB Göttingen
  2. Arnold Scholz: (Aufgabe 253). In: Jahresbericht der Deutschen Mathematiker-Vereinigung. Band 47, 1937, ISSN 0012-0456, S. 41–42 (digizeitschriften.de [PDF]).
  3. Alfred Brauer: On Addition Chains. In: Bulletin of the American Mathematical Society. Band 45, 1939, ISSN 0273-0979, S. 736–739 (englisch, ams.org [PDF]).
  4. Donald E. Knuth: Arithmetik. Springer, Berlin, Heidelberg u. a. 2001, ISBN 3-540-66745-8, S. 298 (englisch: The Art of Computer Programming. Übersetzt von R. Loos).
    Komplettes Zitat: „Wir können ohne Beschränkung der Allgemeinheit annehmen, dass eine Additionskette aufsteigend ist, . Denn wenn irgend zwei gleich sind, kann eines von ihnen weggelassen werden; und wir können auch die Folge (1) in aufsteigender Ordnung neu arrangieren und Terme wegnehmen, ohne die Additionsketteneigenschaft (2) zu zerstören. Von jetzt an werden wir nur aufsteigende Ketten betrachten, ohne diese Annahme explizit zu erwähnen.“
  5. Folge A008933 in OEIS
  6. Donald E. Knuth: The Art of Computer Programming, Vol. 2, Seminumerical Algorithms, 2nd Ed. 1981, Addison-Wesley, ISBN 0-201-03822-6, Theorem C, S. 449
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.