Münzproblem

Ein Haufen von Münzen
Mit nur 2- und 5-Cent-Münzen lässt sich ohne Wechselgeld ein Preis von 3 Cent nicht bezahlen, jeder höhere Preis dagegen schon.

Das Münzproblem (auch als Frobenius-Problem bekannt) aus dem Gebiet der Zahlentheorie stellt die Frage, welche natürliche Zahlen sich in der Form m = x 1 a 1 + x 2 a 2 + + x n a n {\displaystyle m=x_{1}a_{1}+x_{2}a_{2}+\dots +x_{n}a_{n}} schreiben lassen, wobei a 1 {\displaystyle a_{1}} bis a n {\displaystyle a_{n}} vorgegebene teilerfremde Zahlen sind und die Koeffizienten x 1 {\displaystyle x_{1}} bis x n {\displaystyle x_{n}} als natürliche Zahlen (einschließlich 0) gewählt werden sollen. Genauer wird nach der größten Zahl gefragt, die sich nicht in dieser Form schreiben lässt, sie wird als Frobenius-Zahl bezeichnet.

Das Problem geht auf Ferdinand Georg Frobenius zurück, der Name kommt von der anschaulichen Formulierung der Fragestellung, welche Preise sich mit einem vorgegebenen Satz an Münzen mit den Werten a 1 {\displaystyle a_{1}} bis a n {\displaystyle a_{n}} bezahlen lassen. Den Fall n = 2 {\displaystyle n=2} konnte James Joseph Sylvester 1884 vollständig lösen, für mehr Zahlen scheint es dagegen keine einfache Formel zu geben.

Verwandt damit ist das Briefmarkenproblem.

Hintergrund

Sind die Zahlen a 1 {\displaystyle a_{1}} bis a n {\displaystyle a_{n}} nicht teilerfremd, sondern besitzen einen gemeinsamen Teiler d {\displaystyle d} , so sind alle Zahlen, die als m = x 1 a 1 + + x n a n {\displaystyle m=x_{1}a_{1}+\dots +x_{n}a_{n}} geschrieben werden können, ebenfalls durch d {\displaystyle d} teilbar. In diesem Fall kann es also keine größte Zahl geben, die sich nicht in der gewünschten Form schreiben lässt.

Sind die Zahlen a 1 {\displaystyle a_{1}} bis a n {\displaystyle a_{n}} dagegen wie gefordert teilerfremd, so gibt es nach dem Lemma von Bézout eine Darstellung 1 = x 1 a 1 + + x n a n {\displaystyle 1=x_{1}a_{1}+\dots +x_{n}a_{n}} mit ganzen Zahlen x 1 {\displaystyle x_{1}} bis x n {\displaystyle x_{n}} . Multipliziert man diese Gleichung mit m {\displaystyle m} , so erhält man eine Darstellung für jede natürliche Zahl, allerdings mit ganzen Koeffizienten statt natürlichen. Ist jedoch m {\displaystyle m} hinreichend groß, so können alle Koeffizienten als natürliche Zahlen gewählt werden. Die Frage, wie groß m {\displaystyle m} sein muss, ist gerade das Münzproblem. Die größte Zahl, die sich für gegebene a 1 {\displaystyle a_{1}} bis a n {\displaystyle a_{n}} nicht mit nicht-negativen Koeffizienten schreiben lässt, wird häufig mit g ( a 1 , , a n ) {\displaystyle g(a_{1},\dots ,a_{n})} bezeichnet und Frobenius-Zahl genannt.

Satz von Sylvester

Für den Fall n = 2 {\displaystyle n=2} liefert der folgende Sylvester zugeschriebene Satz die Antwort: Sind a {\displaystyle a} und b {\displaystyle b} zwei teilerfremde natürliche Zahlen, so ist die größte Zahl, die sich nicht in der Form m = x a + y b {\displaystyle m=xa+yb} mit nicht-negativen ganzen Zahlen x {\displaystyle x} und y {\displaystyle y} schreiben lässt, m = g ( a , b ) = a b a b {\displaystyle m=g(a,b)=ab-a-b} .

Der Beweis besteht aus zwei Teilen: Zum einen muss gezeigt werden, dass sich alle Zahlen größer als a b a b {\displaystyle ab-a-b} in der gewünschten Form schreiben lassen, zum anderen ist nachzuweisen, dass a b a b {\displaystyle ab-a-b} keine solche Darstellung besitzt.

Sei also zunächst m > a b a b {\displaystyle m>ab-a-b} . Nach der Vorbemerkung gibt es zumindest ganze Zahlen x {\displaystyle x} und y {\displaystyle y} mit m = x a + y b {\displaystyle m=xa+yb} . Setzt man x := x + t b {\displaystyle x':=x+tb} und y := y t a {\displaystyle y':=y-ta} , so ist auch m = x a + y b {\displaystyle m=x'a+y'b} eine Darstellung. Bei geeigneter Wahl von t {\displaystyle t} kann also o. B. d. A. 0 x < b {\displaystyle 0\leq x<b} angenommen werden. Für das zugehörige y {\displaystyle y} gilt:

y b = m x a a b a b + 1 ( b 1 ) a = b + 1 > b {\displaystyle yb=m-xa\geq ab-a-b+1-(b-1)a=-b+1>-b}

Da y b {\displaystyle yb} durch b {\displaystyle b} teilbar ist, gilt somit y b 0 {\displaystyle yb\geq 0} , folglich ist y {\displaystyle y} wie gewünscht nicht negativ.

Der zweite Teil ist ein Widerspruchsbeweis: Wäre a b a b = x a + y b {\displaystyle ab-a-b=xa+yb} eine solche Darstellung, so wäre a b = a ( x + 1 ) + b ( y + 1 ) {\displaystyle ab=a(x+1)+b(y+1)} . Die linke Seite und der erste Summand der rechten Seite sind durch a {\displaystyle a} teilbar, daher muss auch der zweite Summand ein Vielfaches von a {\displaystyle a} sein. Da a {\displaystyle a} und b {\displaystyle b} teilerfremd sind, müsste y + 1 {\displaystyle y+1} ein Vielfaches von a {\displaystyle a} und als positive Zahl damit mindestens a {\displaystyle a} sein. Analog wäre x + 1 b {\displaystyle x+1\geq b} , die rechte Seite hätte damit mindestens die Größe 2 a b {\displaystyle 2ab} , was einen Widerspruch darstellt. Folglich kann m = a b a b {\displaystyle m=ab-a-b} nicht mit nicht-negativen Koeffizienten dargestellt werden.

Darstellungen mit mehr als zwei Zahlen

Für n > 2 {\displaystyle n>2} ist keine Formel bekannt, die die größte nicht darstellbare Zahl liefert, und es ist wahrscheinlich, dass es auch keine geschlossene Formel gibt. Stattdessen gibt es eine Reihe von Abschätzungen, Formeln für Spezialfälle und Algorithmen unterschiedlichen Laufzeitverhaltens.

Abschätzungen

Für den Fall n = 3 {\displaystyle n=3} ist die Abschätzung g ( a 1 , a 2 , a 3 ) 3 a 1 a 2 a 3 a 1 a 2 a 3 {\displaystyle g(a_{1},a_{2},a_{3})\geq {\sqrt {3a_{1}a_{2}a_{3}}}-a_{1}-a_{2}-a_{3}} als untere Schranke bekannt.[1]

Von Issai Schur stammt die Abschätzung g ( a 1 , , a n ) min ( a i ) max ( a i ) min ( a i ) max ( a i ) {\displaystyle g(a_{1},\dots ,a_{n})\leq \min(a_{i})\max(a_{i})-\min(a_{i})-\max(a_{i})} , die eine obere Schranke liefert.[2]

Spezialfälle

Für den Fall n = 3 {\displaystyle n=3} und a 1 = a b {\displaystyle a_{1}=ab} , a 2 = b c {\displaystyle a_{2}=bc} und a 3 = a c {\displaystyle a_{3}=ac} mit paarweise teilerfremden Zahlen a {\displaystyle a} , b {\displaystyle b} und c {\displaystyle c} gilt g ( a 1 , a 2 , a 3 ) = 2 a b c a b b c a c {\displaystyle g(a_{1},a_{2},a_{3})=2abc-ab-bc-ac} . Dies war eine Aufgabe bei der Internationalen Mathematik-Olympiade 1983.[3]

Ebenfalls bekannt ist die Frobenius-Zahl für arithmetische und geometrische Folgen beliebiger Länge. Sind a {\displaystyle a} und d {\displaystyle d} teilerfremd, so gilt:[4]

g ( a , a + d , a + 2 d , , a + ( n 1 ) d ) = ( a 2 n 1 + 1 ) a + ( d 1 ) ( a 1 ) 1 {\displaystyle g(a,a+d,a+2d,\dots ,a+(n-1)d)=\left(\left\lfloor {\frac {a-2}{n-1}}\right\rfloor +1\right)a+(d-1)(a-1)-1}

Für teilerfremde Zahlen p {\displaystyle p} und q {\displaystyle q} gilt für die geometrische Folge mit Quotient p q {\displaystyle {\tfrac {p}{q}}} :[5]

g ( q n 1 , q n 2 p , q n 3 p 2 , , p n 1 ) = p n 2 ( p q p q ) + ( p 1 ) q 2 ( q n 2 p n 2 ) q p {\displaystyle g(q^{n-1},q^{n-2}p,q^{n-3}p^{2},\dots ,p^{n-1})=p^{n-2}(pq-p-q)+{\frac {(p-1)q^{2}(q^{n-2}-p^{n-2})}{q-p}}}

Algorithmen

Viele Algorithmen für das Münzproblem basieren auf Graphen. Dazu wird die Gleichung modulo a 1 {\displaystyle a_{1}} betrachtet, also m x 2 a 2 + + x n a n mod a 1 {\displaystyle m\equiv x_{2}a_{2}+\dots +x_{n}a_{n}\mod a_{1}} . Auf den Knoten 0 , 1 , , a 1 1 {\displaystyle 0,1,\dots ,a_{1}-1} wird ein gewichteter Digraph konstruiert, wobei es einen Bogen vom Knoten u {\displaystyle u} zum Knoten v {\displaystyle v} genau dann gibt, wenn es ein a i {\displaystyle a_{i}} gibt ( 1 < i n {\displaystyle 1<i\leq n} ) mit u + a i v mod a 1 {\displaystyle u+a_{i}\equiv v\mod a_{1}} , das Gewicht des Bogens ist a i {\displaystyle a_{i}} . Man kann zeigen, dass man die Frobenius-Zahl dadurch erhalten kann, dass man für alle Knoten v {\displaystyle v} nach dem kürzesten Pfad von 0 nach v {\displaystyle v} sucht und die Länge D {\displaystyle D} des längsten dieser Pfade bestimmt. Dann ist die Frobenius-Zahl D a 1 {\displaystyle D-a_{1}} . Mit Hilfe des Dijkstra-Algorithmus lässt sich somit die Frobenius-Zahl leicht berechnen. Nutzt man zusätzlich die besonderen Symmetrie-Eigenschaften des Graphen aus, so kann man schnellere Algorithmen entwickeln.[2]

Ravi Kannan entwickelte einen Algorithmus, der für jedes feste n {\displaystyle n} in polynomialer Zeit (bezogen auf log a 1 {\displaystyle \log a_{1}} bis log a n {\displaystyle \log a_{n}} ) die Frobenius-Zahl berechnet. Das allgemeine Problem, also wenn auch n {\displaystyle n} variabel ist, ist dagegen NP-schwer.[6]

Beispiel

Der Graph zeigt die Zahlen von 0 bis 5, die durch Pfeile miteinander verbunden sind: Von 0 führt ein roter Pfeil zur 2, von dort einer zur 4, von dort zurück zur 0. Ebenso gibt es von 1 nach 3, von 3 nach 5 und von 5 nach 1 rote Pfeile. Zwischen 0 und 3 befindet sich ein blauer Doppelpfeil, ebenso zwischen 1 und 4, sowie zwischen 2 und 5.
Der Graph zum McNugget-Problem. Die blauen Bögen haben ein Gewicht von je 9, die roten von je 20.

Ein häufig verwendetes Beispiel sind die McNugget-Zahlen. Gefragt ist, welche Anzahlen Chicken McNuggets man kaufen kann, wenn man sie aus den klassischen Verpackungsgrößen zu 6, 9 und 20 Stück zusammenstellt. Die Abschätzungen liefern, dass 3 6 9 20 6 9 20 19 g ( 6 , 9 , 20 ) 94 = 6 20 6 20 {\displaystyle {\sqrt {3\cdot 6\cdot 9\cdot 20}}-6-9-20\approx 19\leq g(6,9,20)\leq 94=6\cdot 20-6-20} gilt. Die exakte Zahl lässt sich leicht bestimmen, hier soll exemplarisch die Methode mit Hilfe des Graphen verwendet werden. Dieser hat sechs Knoten. Die Bögen, die zur Zahl 9 gehören, sind in der Darstellung blau gezeichnet und teilen die Knoten in drei Paare ein, die roten Bögen gehören zur Zahl 20 und bilden zwei Dreiergruppen. Insgesamt ist der Graph stark zusammenhängend, da die Zahlen teilerfremd sind. Als kürzeste Wege vom Knoten 0 aus ergeben sich (von mehreren Möglichkeiten ist immer nur eine angegeben):

  • 0 → 2 → 4 → 1 (Länge 20 + 20 + 9 = 49 {\displaystyle 20+20+9=49} )
  • 0 → 2 (Länge 20)
  • 0 → 3 (Länge 9)
  • 0 → 2 → 4 (Länge 20 + 20 = 40 {\displaystyle 20+20=40} )
  • 0 → 2 → 5 (Länge 20 + 9 = 29 {\displaystyle 20+9=29} )

Der längste dieser Wege hat damit die Länge D = 49 {\displaystyle D=49} , folglich gilt g ( 6 , 9 , 20 ) = 49 6 = 43 {\displaystyle g(6,9,20)=49-6=43} . Der Graph liefert auch zu jeder darstellbaren Zahl eine mögliche Darstellung. Will man etwa 47 Chicken McNuggets, so sucht man wegen 47 5 mod 6 {\displaystyle 47\equiv 5\mod 6} nach dem kürzesten Weg von 0 nach 5. Dieser besteht aus einem blauen und einem roten Bogen, sodass man zunächst eine Packung zu 9 und eine zu 20 Chicken McNuggets kaufen sollte. Für die restlichen 18 nimmt man drei 6-Packungen.

Einzelnachweise

  1. Matthias Beck, Shelemyahu Zacks: Refined upper bounds for the linear Diophantine problem of Frobenius. In: Advances in Applied Mathematics. Vol. 32, 2004. S. 454–467. doi:10.1016/S0196-8858(03)00055-1
  2. a b Dale Beihoffer, Jemimah Hendry, Albert Nijenhuis, Stan Wagon: Faster algorithms for Frobenius numbers. In: Electronic Journal of Combinatorics. Vol 12, 2005. (online)
  3. 3. Aufgabe der IMO 1983 (online)
  4. Jorge Ramírez Alfonsín: The Diophantine Frobenius problem. Oxford University Press, 2005. S. 59f.
  5. Darren C. Ong, Vadim Ponomarenko: The Frobenius Number of Geometric Sequences. In: INTEGERS: the Electronic Journal of Combinatorial Number Theory Vol. 8, 1, 2008. (online)
  6. Ravi Kannan: Lattice translates of a polytope and the Frobenius problem. In: Combinatorica. Vol. 12, 2. S. 161–177. doi:10.1007/BF01204720