Lektion
Die Theorie — Münzwechsel: Greedy gegen optimal
Das Münzwechselproblem fragt nach der kleinsten Anzahl von Münzen aus einem vorgegebenen Münzsatz, die zusammen einen Betrag ergeben. Jede Münze darf beliebig oft verwendet werden. Der Greedy-Algorithmus nimmt jeweils die größte passende Münze und wiederholt diesen Schritt. Dynamische Programmierung löst das Problem exakt, indem sie zunächst alle kleineren Beträge löst: M(0) = 0 und M(a) = 1 + min M(a − c) über alle Münzen c ≤ a. Ein Münzsystem, in dem Greedy für jeden Betrag optimal ist, heißt kanonisch.
Was die einzelnen Symbole bedeuten
M(a)- die kleinste Münzzahl für den Betrag a; die Zahl in Zelle a der Tabelle
G(a)- die Anzahl der Münzen, die Greedy für a verwendet
cₘ, cₘ₋₁- die größte und die zweitgrößte Münze; gibt es einen Betrag, bei dem Greedy erstmals verliert, ist er kleiner als ihre Summe
- Setzt voraus
- Von jeder ganzzahligen Münzsorte steht eine unbegrenzte Menge bereit, und allein die Anzahl der Münzen zählt. Eine Kasse, der die Florins ausgegangen sind, stellt ein anderes Problem. Für die Schranke muss der Münzsatz eine 1 enthalten. Ohne sie sind manche Beträge überhaupt nicht zahlbar, und Greedy kann vor einem Betrag stecken bleiben, den die Tabelle zahlen kann.
Aufgabe vollständig gelöst
-
Welche dritte Münze passt zu 1 und 5? 3 Schritte
Ein Land hat Münzen zu 1 und 5 und möchte eine dritte Münze d zwischen 6 und 30 einführen. Für welche Werte von d liefert Greedy immer optimales Wechselgeld? Die Seite prüft jeweils nur ein System. Die Regel von Kozen und Zaks für drei Münzen entscheidet jedoch alle 25 auf einmal. Drück zuerst auf Lehrbuch: 1, 3, 4, um die Regel an einem bereits geprüften System auszuprobieren.
-
Die Regel für Münzen 1 < c < d lautet: Schreibe d = qc + r mit 0 ≤ r < c. Das System scheitert genau dann irgendwo, wenn 0 < r < c − q gilt. Für 1, 3, 4 ist d = 4 = 1 × 3 + 1, also q = 1 und r = 1. Damit gilt 0 < 1 < 2. Das System scheitert, und die Seite findet das erste Gegenbeispiel bei 6:
-
Nun ist c = 5, also d = 5q + r. Zu prüfen ist 0 < r < 5 − q. Je größer q wird, desto weniger Spielraum bleibt für r:
-
Für q = 1 (d von 6 bis 9) kann r gleich 1, 2 oder 3 sein. Damit scheitern d = 6, 7 und 8. Für q = 2 (10 bis 14) kommen r = 1 oder 2 infrage: 11 und 12. Für q = 3 (15 bis 19) bleibt nur r = 1, also 16. Ab q = 4 ist 5 − q höchstens 1, sodass kein r mehr passt:
Antwort
Sechs Werte scheitern: 6, 7, 8, 11, 12 und 16. Die übrigen neunzehn funktionieren, darunter jedes d von 17 bis 30. Gib
1, 5, 12ein, um eines der sechs Beispiele zu verfolgen. Greedy zahlt 15 als 12 + 1 + 1 + 1 mit vier Münzen; drei Fünfer genügen. -
Lernpfad
Warum ein Algorithmus korrekt ist
Quellen (3)
- The bound the page draws as a dashed line and settles every system with: if greedy is ever beaten, the smallest amount where it is beaten lies strictly between c₃ + 1 and cₘ + cₘ₋₁; the three-coin rule the worked problem uses; the {1, 3, 4} example and the US system 1, 5, 10, 25, 50, 100 as canonical: D. Kozen and S. Zaks, "Optimal bounds for the change-making problem." Theoretical Computer Science 123(2), 1994, pp. 377-388. DOI 10.1016/0304-3975(94)90134-1
- The pre-decimal coins and their values in pence (threepence, sixpence, shilling of 12d, florin of two shillings, half-crown of two shillings and sixpence, crown of five shillings), and the halfpenny's end as legal tender on 31 July 1969: Wikipedia contributors, "£sd", Wikipedia, The Free Encyclopedia, accessed 3 October 2026.
- Which coins made up the circulating set at the end, as the Royal Mint itself issued them in 1970: half-crown, florin, shilling, sixpence, threepence, penny and halfpenny: The Royal Mint, "1970 Pre-Decimal UK Proof Set", product description, accessed 3 October 2026.