Melkpuzzel

Uit Wikipedia, de vrije encyclopedie

Een melkpuzzel is een wiskundige puzzel waarbij men een precieze hoeveelheid vloeistof, niet noodzakelijk melk, moet afmeten gebruik makend van gegeven vaten met een exacte inhoud.

Een voorbeeld van een dergelijke puzzel is dit:

Een melkboer heeft een volle melkbus met een inhoud van 12 liter. Hij moet 6 liter melk leveren aan een klant die zelf twee melkbussen heeft van 8 liter en 5 liter. Hoe kan hij exact 6 liter uit zijn melkbus in de 8-liter melkbus van de klant overhevelen, gebruik makend van de drie verschillende bussen?

Zulke puzzels staan ook bekend als waterpuzzel, drieglazenpuzzel of drievatenpuzzel. Volgens de overlevering kwam de jonge Siméon Poisson dergelijke puzzels tegen en raakte hij er zodanig door geboeid dat hij besloot om zijn leven te wijden aan de wiskunde.[1][2]

De puzzel kan voorgesteld worden door een tabel te maken met de inhoud van elke bus na een bewerking. Toegelaten bewerkingen zijn:

  • bus a gedeeltelijk uitgieten in bus b tot bus b vol is, op voorwaarde dat bus a voldoende inhoud heeft;
  • bus a volledig uitgieten in bus b, op voorwaarde dat bus b nog voldoende vrije ruimte heeft.

Het is de bedoeling tot de oplossing te komen met zo weinig mogelijk bewerkingen. Voor het voorbeeld is het kleinste aantal bewerkingen 7. De volgende tabel toont de inhoud van de bussen na elke bewerking. "5 > 12" betekent dat er overgegoten wordt uit de bus van 5 liter in de bus van 12 liter:

Bus 12 liter 8 liter 5 liter
Start 12 0 0
12 > 8 4 8 0
8 > 5 4 3 5
5 > 12 9 3 0
8 > 5 9 0 3
12 > 8 1 8 3
8 > 5 1 6 5
5 > 12 6 6 0

Een dergelijke puzzel kan men ook voorstellen als een graaf. Elke mogelijke toestand van het systeem is een knoop in de graaf. Een mogelijke toestand kan men voorstellen als een geordend trio van gehele getallen (a,b,c) met als som 12 en a ≤ 12, b ≤ 8, c ≤ 5. De uitgangspositie is (12,0,0); de gewenste positie is (6,6,0). Twee knopen van de graaf worden door een gerichte boog verbonden als het mogelijk is om van de ene toestand naar de andere te gaan door een geldige bewerking. De oplossing is dan het kortste pad van (12,0,0) naar (6,6,0).

Een drievatenpuzzel kan niet met elke willekeurige combinatie van getallen opgelost worden. Een stelling daaromtrent is:

Als c = a + b, en a en b zijn onderling ondeelbaar, dan kan men elke hoeveelheid 0 ≤ qc afmeten met de vaten a, b en c.[2]