Õppetund
Teooria — Mündivahetus: ahne ja optimaalne lahendus
Mündivahetusülesandes tuleb etteantud nimiväärtustega müntidest, mida igaüht on piiramatult, leida summa moodustamiseks vähim müntide arv. Ahne algoritm võtab suurima sobiva mündi ja kordab sama sammu. Dünaamiline programmeerimine lahendab ülesande täpselt, leides kõigepealt kõigi väiksemate summade lahendid: M(0) = 0 ja M(a) = 1 + min M(a − c) üle kõigi müntide c ≤ a. Mündisüsteemi, milles ahne meetod on iga summa korral optimaalne, nimetatakse kanooniliseks.
Mida iga sümbol tähendab
M(a)- vähim müntide arv, millega saab moodustada summa a; arv tabeli lahtris a
G(a)- müntide arv, mida ahne meetod summa a jaoks kasutab
cₘ, cₘ₋₁- suurim ja suuruselt teine münt; kui ahne meetod üldse kaotab, on esimene kaotusega summa nende summast väiksem
- Eeldab
- Iga münti on piiramatult, nimiväärtused on täisarvud ning ainus kulu on müntide arv. Kui kassas on floriinid otsas, on tegu teise ülesandega. Piiri kasutamiseks peab müntide seas olema 1. Ilma selleta ei saa mõnda summat üldse maksta ning ahne meetod võib takerduda enne summat, mille tabel suudab tasuda.
Ülesanne täielikult lahendatud
-
Milline kolmas münt sobib 1 ja 5 kõrvale? 3 sammu
Riigis on käibel mündid väärtusega 1 ja 5 ning kolmanda mündi d väärtus soovitakse valida vahemikust 6 kuni 30. Milliste d väärtuste puhul annab ahne meetod alati optimaalse vahetusraha? Leht kontrollib korraga üht süsteemi, kuid Kozeni ja Zaksi kolme mündi reegel lahendab kõik 25 juhtu korraga. Vajuta 1, 3, 4, et proovida reeglit esmalt süsteemil, mida leht on juba kontrollinud.
-
Müntide 1 < c < d korral kirjuta d = qc + r, kus 0 ≤ r < c. Süsteem ebaõnnestub mõne summa puhul parajasti siis, kui 0 < r < c − q. Süsteemis 1, 3, 4 kehtib d = 4 = 1 × 3 + 1, seega q = 1 ja r = 1 ning võrratus 0 < 1 < 2 kehtib. Süsteem ebaõnnestub ja leht leiab esimese kaotuse summal 6:
-
Nüüd on c = 5, seega d = 5q + r ning kontrollitav tingimus on 0 < r < 5 − q. Mida suurem on q, seda vähem võimalusi jääb r-ile:
-
Kui q = 1 (d vahemikus 6 kuni 9), võib r olla 1, 2 või 3, seega ebaõnnestuvad d = 6, 7 ja 8. Kui q = 2 (10 kuni 14), sobivad r = 1 või 2: 11 ja 12. Kui q = 3 (15 kuni 19), sobib ainult r = 1: 16. Alates q = 4 on 5 − q väärtus 1 või väiksem ning ükski r enam ei sobi:
Vastus
Ebaõnnestuvad kuus väärtust: 6, 7, 8, 11, 12 ja 16. Ülejäänud üheksateist töötavad, nende seas kõik d väärtused 17-st kuni 30-ni. Sisesta
1, 5, 12, et jälgida üht kuuest ebaõnnestuvast juhust. Ahne meetod tasub 15 kujul 12 + 1 + 1 + 1 ehk nelja mündiga, kuigi piisaks kolmest viiesest. -
Õpitee
Miks on algoritm õige
Allikad (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.