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?