woensdag 22 april 2009

Wat is informatie? (2) - we gaan binair

Vorige keer heb ik het erover gehad dat we "maar" misschien als "mar" en soms zelfs als "mr" kunnen spellen, en dan kan je de tekst nog steeds begrijpen. Hoeveel letters aan informatie zit er dan in "Maar"? Vier letters? Drie letters? Twee letters?

De Chinezen hebben het eenvoudiger. Die hebben karakters, die elk één woord voorstellen. Dus in het Chinees heeft "maar" slechts 1 letter! Dus hoeveel informatie "maar" heeft is in elke taal verschillend... of zo lijkt het! Aan het eind van dit verhaal zul je zien dat dat helemaal niet klopt...

Het probleem bij Chinees is namelijk dat Chinees geen 26 letters heeft zoals ons alfabet, maar 40,000 karakters/letters, waarvan een fatsoenlijk opgeleide Chinees er ongeveer 6000 kent (http://en.wikipedia.org/wiki/Chinese_language#Chinese_characters). Dus eigenlijk heb je 6000 letters, en iedere letter (elk karakter) ziet er ook veel ingewikkelder uit dan een letter van ons. Maar hoe kun je die informatie-inhoud van zo'n karakter (of van één van onze letters) nou berekenen?

Slimme wiskundigen hebben dat probleem vereenvoudigd. Moet een taal wel 6000 letters hebben? Of zelfs 26 letters? Of 10 letters? Wat is het minimum aantal letters voor een taal?

Het antwoord is "2"

Nu zou je misschien "1" zeggen want je zou kunnen zeggen "hoe gaat het" met "a aa aaa" als je ergens een woordenboek Nederlands-Aas hebt dat "hoe" vertaalt met "a", gaat met "aa" en het met "aaa". Maar bedenk dan... een spatie is OOK een letter. Dus het minimale aantal letters in een taal is 2.

Als alle woorden in een taal even lang zouden zijn, hoeveel letters zouden ze dan moeten hebben?
Wel, in China hoeven ze dus maar 1 letter te hebben. Maar laten we dat omzetten naar een twee-lettersysteem (ik gebruik nu even "a" en "b" in plaats van "a" en spatie). Wiskundigen noemen zo'n systeem "binair" (bi-nair, bi=twee).

Met een lengte van 1 letter kun je 2 woorden coderen, "a" en "b". Met een lengte van 2 letters kun je vier woorden coderen: "aa", "ab" "ba" en "bb". (geen 6 woorden samen met 'a' en 'b', we hebben immers geen spatie, een tekst kan er alleen uitzien als iets van aababbbabbabababba, en dan moeten we natuurlijk weten hoe lang de woorden zijn, zodat we het kunnen lezen als "a"- "a" - "b" of "aa" -'ba"-"bb" of "aab"-"abb"-"bab". Als we verschillende woordlengtes zouden hebben is het moeilijk te weten waar het ene woord ophoudt en het volgende begint!). Kortom, met een woordlengte van n letters kan je 2^n woorden weergeven. Met een woordlengte van 1 letter dus 2^1=2, bij 2: 2^2=4, bij 3 2^3=8. Voor 6000 verschillende begrippen heb je woorden met een lengte van 13 "binaire" letters, 2^13 nodig, waarmee je 8192 woorden kunt coderen. 2^12= 4096 is te weinig voor 6000 woorden.

De woordlengte van een woord zou dus precies 13 binaire letters zijn (wiskundigen houden meer van getallen, en noemen dat "binaire cijfers -> 'binary digits-> 'bits'. Eén 'byte' is overigens 8 bits). Een Chinees karakter heeft dus 13 bits aan informatie.

Nou zul je zeggen: waarom zijn in het Nederlands de woorden dan meestal veel korter dan 13 letters? Wel, dat komt omdat een alfabet-letter meer informatie heeft dan een binaire letter. Je kunt de binaire code namelijk "verdubbelen" Let op!

abaabbbaabaa.
Stel dat je "aa" "A" noemt, "ab" B, "ba" C en "bb" D, dan wordt dat
BADCBA. In plaats van een stuk van 12 letters van een 2-lettersysteem heb ik nog maar 6 letters van een 4-lettersysteem nodig. Maar het kan nog beter!
Stel dat je "aaa" "A" noemt, "aab" B, "aba" C en "abb" D, "baa" E, "bab" F "bba" G en "bbb" H. Dan krijg je
CDEE
En je hebt er nog maar 4 over!
In ons systeem van 26 letters (en een paar leestekens) kan je met elke letter zo'n 5 bits weergeven. Zeg 4 (dan kun je gelijk je 10 minst favoriete letters schrappen). Om 13 binaire letters in onze letters weer te geven heb je dan woorden nodig van 3 tot 4 letters. Dus je ziet dat als je werkt vanuit de "binaire" theorie, het Nederlandse gemiddelde woord inderdaad langer is dan het gemiddelde Chinese woord; en dat komt omdat we minder soorten letters hebben, dus moeten we meer letters gebruiken om dezelfde informatie weer te geven. Het is als iemand die een grote taart eet tegenover iemand die alleen gebakjes eet: om dezelfde hoeveelheid honger te stillen moet je òf één enorme taart eten of een aantal gebakjes. Hoe kleiner de gebakjes, des te meer je moet eten. Net als met gebakjes geldt dat hoe minder verschillende letters je hebt, des te minder informatie er in een letter kan zitten, en des te meer letters je nodig hebt voor dezelfde hoeveelheid informatie.

Als je een tekst dus omzet in binaire letters zul je zien dat een Chinese tekst inplaats van veel korter ineens even lang is als de Nederlandse vertaling ervan. Hé! Het lijkt dus alsof we een objectieve, universele maat voor informatie hebben! Is dat niet fantastisch?

Het enige probleem is dat de meeste Nederlandse woorden méér dan 4 letters hebben. Als we maar 4 letters nodig hebben, hoe komt dat dan?

Misschien vind je het leuk daar zelf een antwoord op te verzinnen. En anders zal ik dat de volgende keer proberen.

Geen opmerkingen:

Een reactie posten