“Hooggeëerd publiek, de grote Magico zal u versteld doen staan met de volgende kaarttruc! Met slechts een minieme hoeveelheid informatie kan hij u precies vertellen welke kaarten u heeft. Ziehier een doodgewoon pak kaarten. Neemt u op een willekeurige plek uit het pak zes opeenvolgende kaarten. Vertel mij de kleuren van de 6 kaarten in de juiste volgorde, bijvoorbeeld rood – rood – zwart – rood – zwart – zwart. Ik zal u vertellen welke kaarten u hebt: harten vrouw, ruiten 6, schoppen 2, harten 3, klaver 8 en schoppen boer.”

Travis Gagie, wiskundige aan de universiteit van Chili in Santiago (Chili), las over bovenstaande kaarttruc en bedacht een manier om het in te zetten als nieuwe vorm van data-compressie. Programma’s als WinZip comprimeren data op de computer. Ze reduceren een bestand tot een minimum aan informatie, bijvoorbeeld om het sneller over internet te kunnen versturen. En dat gebeurt eigenlijk ook in de kaarttruc: je ‘verstuurt’ alleen de informatie rood – rood – zwart – rood – zwart – zwart, en de goochelaar weet welke kaarten je precies hebt.

De manier waarop WinZip bestanden verkleint, is door te zoeken naar herhalingen. Stel dat WinZip bijvoorbeeld de gehele tekst van Anna Karenina handig wil verkleinen. In deze tekst zullen de namen ‘Anna’ en ‘Konstantin’ vaak herhaald worden. Door die te coderen met de letters ‘A’ en ‘K’, wordt veel ruimte bespaard.

Stel dat men nu de kaartenvolgorde uit de eerste alinea wil doorgeven: harten vrouw, ruiten 6, schoppen 2, harten 3, klaver 8 en schoppen boer. WinZip zou deze informatie nauwelijks kunnen comprimeren. Dit in tegenstelling tot wat de kaarttruc ermee doet: alleen de kleuren van de kaarten hoeven te worden doorgegeven: rood – rood – zwart – rood – zwart – zwart.

Een fantastische compressie dus. Maar hoe werkt die truc precies? Wat we als toeschouwers niet gezien hebben, is dat de goochelaar achter de schermen de kaarten alvast op een speciale volgorde heeft gelegd, en die volgorde helemaal uit zijn hoofd heeft geleerd. Hij heeft de kaarten zo gelegd, dat elke volgorde van zes kleuren maximaal één keer in het hele pak voorkomt. Het rijtje rood – rood – zwart – rood – zwart – zwart komt daardoor ook maar één keer voor, en de goochelaar weet dus precies welke zes kaarten dat moeten zijn.

WinZip zou met deze methode veel efficiënter kunnen comprimeren. Maar wat WinZip niet kan doen, in tegenstelling tot de goochelaar, is zelf de informatie handig op volgorde leggen. Neem bijvoorbeeld nog eens Anna Karenina als voorbeeld: de volgorde van de letters moet absoluut intact blijven, anders is de tekst onleesbaar.

Daarom sleutelde Gagie wat aan de kaarttruc om hem te kunnen toepassen. In de aangepaste truc hoeft het pak niet op een speciale volgorde te liggen. In plaats van zes trek je er nu zeven kaarten uit, en noem je de kleuren op. Vervolgens stop je ze terug in het pak, en doorzoekt de goochelaar dat om de juist kaarten te vinden.

De compressie is in deze nieuwe truc niet veranderd: nog steeds is de volgorde van kleuren voldoende informatie voor de goochelaar. En kaarten op volgorde leggen hoeft nu niet meer. Gagie liet echter zien dat er in één op de 128 gevallen iets mis kan gaan, waardoor de goochelaar niet de juiste kaarten terug kan vinden. Ondanks deze kleine lacune denkt Gagie dat het met dit principe mogelijk wordt om in de toekomst bestanden nog beter te comprimeren.