De oplossing is makkelijk te zien
als je je maar realiseert dat alle vazen met een zelfde aantal
koekjes als één vaas kunt beschouwen (immers die kun je in
één keer allemaal leegmaken).
We letten daarom alleen op de vazen met een verschillend aantal
koekies.
Als er n verschillende opeenvolgende aantallen
zijn, dan kun je die op zijn best terugbrengen naar n/2
als n even is, en anders naar (n - 1)/2
Dat is zo omdat je op zijn best de bovenste helft gelijk
kunt maken aan de onderste helft. |
Dus 15 verschillenden worden
7 verschillenden, daarna 3 verschillenden, daarna allemaal
dezelfden en daarna leeg.
Sneller dan in vier ronden zal het dus niet kunnen.
Hier is een oplossing in vier keer (de rode rechthoek wordt
steeds opgegeten): |
|
|
|
|
|
Het zelfde principe komt voor in
het volgende probleem: |
|
|
2.
Koekjes
omdraaien. |
|
|
|
Je kent ze wel; die lekkere
koekjes met aan de ene kant zo'n lichtgekleurd glimmend laagje,
en aan de andere kant donker dof gekleurd.
Voor je op tafel liggen 16 zulke koekjes op de volgende manier: |
|
|
|
|
|
De koekjes liggen nu nog om en om
"licht" en "donker". Dat ga je veranderen door
steeds een willekeurig rijtje opeenvolgende koekjes te kiezen en
die allemaal om te draaien. Als alle koekjes met dezelfde kant naar boven liggen mag je ze opeten.
Hoe kan dat in
zo min mogelijk keer? |
|
3.
Nog
meer koekjes omdraaien... |
|
Nu liggen er voor je
zeven koekjes, allemaal met de bruine doffe kant naar boven. Je
moet nu per keer vijf koekjes omdraaien, maar je mag ze
willekeurig uitkiezen. Dat kan makkelijk in drie keer, kijk
maar: |
|
|
|
Maar hoe is het als je
per keer niet 5 maar slechts 4 koekjes mag omdraaien??? |
|
4.
De tweedimensionale variant. |
|
Deze keer liggen de
koekjes in een vierkant. De bedoeling is dat alle
koekjes met dezelfde kant naar boven komen te
liggen.
De omdraairegel is:
|
"Als je een koekje
omdraait moet je tegelijk alle andere
koekjes uit dezelfde rij en kolom ook
omdraaien". |
|
|
|
|
De
oplossing van de situatie hiernaast is door een beetje
te proberen nog wel te vinden. Hij staat hier.
Maar wij als wiskundigen zijn natuurlijk op zoek naar
een omdraai-algoritme.
Is er een standaardmanier om
dit probleem bij een willekeurige beginsituatie op te
lossen? En kunnen we de oplossing met het minimaal
benodigde aantal zetten vinden?
Het antwoord is JA en JA.
vraag 1: de
standaardmanier.
Natuurlijk realiseert iedereen zich dat het twee keer
draaien van een koekje geen effect heeft, en dat een
oneven aantal keer draaien hetzelfde is als één keer
draaien.
Kijk nu bij een bepaald koekje wat er gebeurt als we
alle koekjes uit de rij en kolom (inclusief het koekje
zelf) één keer omdraaien.
Hoe vaak wordt ons koekje dan gedraaid: 7 keer. Dus ons
koekje draait om.
Hoe vaak worden de anderen uit zijn rij/kolom
gedraaid: 4 keer. Die blijven dus gelijk.
Hoe vaak worden de koekjes uit andere rijen/kolommen
gedraaid: 2 keer. Die blijven dus ook gelijk.
Conclusie:
|
Als je bij een bepaald
koekje alle koekjes uit een rij en kolom
draait (inclusief het koekje zelf 1
keer), dan wordt het betreffende koekje
omgedraaid en blijft de rest
gelijk. |
|
|
Dat geeft een standaardoplossing:
Pas bovenstaande regel toe op alle koekjes die je wilt
omdraaien. Stuk voor stuk worden ze gedraaid terwijl de
rest gelijk blijft.
In het voorbeeld hierboven zie je 6 donkerbruine
koekjes. Elk van die koekjes omdraaien kost 7 zetten.
In totaal zullen na 6 • 7 = 42 zetten dan alle koekjes
licht zijn geworden.
vraag 2: Het
minimale aantal zetten.
|
|
Stel dat we
bovenstaande oplossing uitvoeren op het gegeven
probleem. Hoe vaak wordt elk koekje dan in
totaal omgedraaid? Dat staat in de figuur
hiernaast aangegeven. Het valt op dat het totaal
aantal keer dat een koekje gedraaid wordt
gelijk is aan het aantal bruine koekjes in de
rij/kolom van dat koekje. Dat is natuurlijk
logisch.
En nu komt de slimme
overweging:
|
Het maakt
niet uit in welke volgorde de
zetten worden uitgevoerd! |
|
|
|
|
Als
we eerst koekje a draaien (plus
alle anderen uit dezelfde rij/kolom) en daarna
koekje b krijgen we precies hetzelfde
resultaat als omgekeerd.
Maar een even keer een koekje draaien heeft geen
effect! En een oneven aantal, keer draaien is
hetzelfde als één keer draaien. |
Dus in plaats van
de aantallen in de figuur hierboven kunnen we
ook alle even koekjes niet draaien en alle
oneven één keer. De figuur hiernaast is net zo
goed! In 14 zetten zijn we klaar.
Dat geeft ons de volgende oplossing:
|
Kijk bij elk
koekje naar het aantal koekjes
in de bijbehorende rij/kolom
(inclusief het koekje zelf) dat
nog verkeerd ligt.
Is dat aantal even doe
dan straks niets,
Is dat aantal oneven ga
het koekje dan straks één keer
omdraaien. |
|
|
|
|
Als we in bovenstaand voorbeeld
alle koekjes licht zouden willen maken (in
plaats van donker) zou dat de oplossing
hieronder geven. |
|
|
|
|
|
|
En dat is
inderdaad de best mogelijke oplossing! Slechts
twee zetten nodig!! |
|
|
|
Waarom
geeft deze methode altijd de snelste oplossing? |
|
|
Noem de nul of de één
die we op deze manier krijgen (in de figuur rechtsboven)
de pariteit van een
koekje.
Wat gebeurt er als we een ander koekje uit de
rij/kolom van een bepaald koekje omdraaien?
De stand verkeerde - goede koekjes in die rij/kolom
verandert dan van 0-4 naar 4-0 en van 1-3 naar 3-1 en
van 2-2 naar 2-2. Wat blijkt: de pariteit van ons
koekje blijft gelijk!
Wat gebeurt er als we een koekje niet uit rij/kolom van
ons koekje omdraaien? Dan verandert er in de rij van ons
koekje eentje, en in de kolom ook. Kortom: weer blijft
de pariteit gelijk!
Conclusie: we kunnen de pariteit van een koekje
alleen veranderen door hem zélf om te draaien.
Omdat op het eind alle koekjes pariteit 0 hebben moeten
we elk koekje met een 1 gaan omdraaien. Dat is dus zeker
het minimaal aantal benodigde zetten.
|
|
|
|
5.
Nog een tweedimensionale variant. |
|
|
We hebben nu een vierkant van 4 bij 4 koekjes
met als omdraairegel:
|
Je mag óf
een hele rij óf een hele kolom in één zet
omdraaien. |
|
|
|
|
|
|
Het doel wordt:
|
Zorg
dat er zo weinig mogelijk koekjes met de donkere
kant naar boven liggen. |
|
|
Vraag: Is er een standaardmanier om het aantal
donkere koekjes te verkleinen? Is het aantal koekjes altijd nul
te maken? |
|
|
|
|
Terug naar ons koekiemonster.
Laten we weer gaan wegnemen in plaats van omdraaien.
Natuurlijk kunnen we het wegnemen
van het koekiemonster nog wel wat ingewikkelder maken:
6. Nieuwe
wegneemregels
Het monster heeft nu drie stapels met koekjes die hij op
mag eten volgens de volgende twee regels:
|
|
1. |
hij mag het zelfde aantal
uit elke stapel weghalen. |
2. |
Hij mag een stapel in twee
gelijke delen verdelen, en vervolgens één van die twee
delen aan de andere stapel toevoegen. |
De stapels hebben in het begin 12 en 123 en 1234
koekjes
Kan hij alle koekjes opeten????? |
|
7.
"Leg
terug die koekjes....." |
|
...schalt het door Sesamstraat. Bert is woedend
op het koekiemonster omdat die allemaal koekjes heeft weggepakt
en ze allemaal voor zichzelf wil hebben. Op de grote eettafel
staan 8 trommels met koekjes in een cirkel. Maar ze zijn lang
niet allemaal even vol meer, en dat waren ze eerst wel, dat weet
Bert zeker. Daarom weet hij ook dat iemand koekjes uit de
trommels heeft gepast, en dat kan natuurlijk alleen maar het
koekiemonster zijn! De situatie is nu als hiernaast. |
|
Het monster moet alle koekjes gaan
terugleggen tot de trommels weer precies even vol zijn. Maar als
extra straf mag hij alleen maar per keer in vijf opeenvolgende
trommels (rond de cirkel) één koekje leggen. Dat moet hij
steeds herhalen totdat de trommels weer even vol zijn, eerder
mag hij niet buiten spelen.
Hoe kan het monster de trommels weer vullen?
Is er een algoritme te vinden waarmee het vullen bij elke
willekeurige hoeveelheden in de trommels lukt?
Hoeveel koekjes zijn daar dan minstens voor nodig? |
|
8.
Nogmaals terugleggen |
|
De tafel in Sesamstraat
stond gedekt met 8 borden erop. Op elk bord lagen een
aantal koekjes. Echter nadat het koekiemonster is langs
geweest liggen er in totaal nog maar twee koekjes op de
tafel (zie de bovenste tafel hiernaast).
Meneer Aart gaat de koekjes weer aanvullen. Hij doet dat
door steeds op twee aangrenzende borden tegelijk
één koekje bij te leggen.
Kan hij zo op elk bord evenveel koekjes
krijgen?
En hoe is het als hij met de onderste tafel begint?
|
|
|
|
|
|
|
|
|
|