XOR is een binair ‘schrift’ waarbij het bij een letter behorend (blokjes- /lijnen-)patroon bepaald wordt door veranderingen ten opzichte van het patroon van de direct voorgaande letter. Vrees niet, ik leg het uit.
Het geheel speelt zich af in een (denkbeeldig) rooster van vijf rijen hoog, bijvoorbeeld:
Elke kolom, oftewel stapel van 5 cellen, krijgt zodra men gaat ‘schrijven’ een patroon toegekend dat een letter vertegenwoordigt. Zo’n patroon bestaat uit een combinatie van lege (witte) en/of gevulde (zwarte) vakjes. Bijvoorbeeld, een kolom met het patroon wit-zwart-zwart-wit-zwart (van boven beginnen):
Zo wordt, van links naar rechts, al naar gelang de lengte van het woord, het rooster met deze vijfhoge kolommen gevuld. Hier staan er zeven naast elkaar, wat overeenkomt met een woord van zeven letters:
Tot zover makkelijk. Het is echter lastiger. Het verraderlijke van het zwart-wit-blokjespatroon is dat het niet op directe wijze iets zegt over welke letters ze vertegenwoordigen. Het kan gebeuren dat het patroon behorend bij de A de ene keer ‘wit-wit-zwart-wit-zwart’ is en de volgende keer ‘zwart-wit-wit-wit-zwart’, en daarna weer iets anders. Hoe zit dit?
Welnu. Wat de identiteit van de letters bepaalt is niet het patroon van een bepaalde Kolom, maar de verschillen en overeenkomsten tussen het patroon van die Kolom en dat van de direct voorgaande. Dit houdt in dat er voor de identificatie van een letter telkens twee aangrenzende Kolommen in het spel zijn. Van boven naar beneden worden die twee kolommen met elkaar vergeleken aan de hand van overeenkomst of verschil in kleur van hun beider cellen. Voor elk horizontaal tweetal cellen kunnen we zo een relatie noteren, namelijk of hun kleur a) gelijk is of b) verschillend. Gelijk zijn wit-wit en zwart-zwart; verschillend zijn wit-zwart en zwart-wit:
Met het oog op ruimtebesparing en overzicht duiden wij vanaf nu ‘gelijk’ aan met 0 en ‘verschillend’ met 1.
In een geschreven woord kan men nu voor elk tweetal aangrenzende Kolommen een reeks van vijf 0’en en/of 1’en deduceren. Kijk bijvoorbeeld eens naar de eerste twee Kolommen van het bovengegeven voorbeeld:
Als we nu van boven naar beneden de cellen twee aan twee met elkaar vergelijken kunnen we de reeks ‘00011’ vaststellen:
Deze reeks van 0’en en 1’en nu is het die de letter bepaalt. Elk van de letters van het alfabet heeft een unieke reeks, en de reeks ‘00011’ correspondeert met de letter W (voor de rest van het alfabet, zie onder).
Het is nu duidelijk dat eenzelfde letter van het alfabet totaal verschillende patronen van witte en zwarte blokjes kan opleveren: als we de reeks van de W (‘00011’) loslaten op het Kolompatroon ‘wit-zwart-zwart-wit-wit’ krijgen we iets totaal anders dan het voorbeeld hierboven, en toch betekent het geheel van twee kolommen in beide gevallen “W”:
Nu komen we een heel eind in de richting van het begrijpen van dit schrift, lijkt me zo. Er is echter nog één zaak die uitgelegd moet worden voor er begonnen kan worden met lezen en schrijven.
Het zal de oplettende lezer misschien opgevallen zijn dat het bovengenoemde zevenletterige voorbeeld op deze manier niet aan zeven letters komt. Er zijn weliswaar zeven Kolommen, maar aangezien ik net heb uitgelegd dat de letters bepaald worden door de relatie tussen telkens twee Kolommen, kunnen er slechts zes van dit soort relaties zijn. Hoe zit dit?
Wellicht heeft dezelfde oplettende lezer tevens de vraag gesteld: hoe komt de meest linkse Kolom aan zijn blokjespatroon? Het patroon van een Kolom wordt immers bepaald door de relatie met de direct voorgaande Kolom, en die heeft de meest linkse Kolom niet? Welnu, beide vragen hebben hetzelfde antwoord.
De oplossing is namelijk dat de meest linkse Kolom wèl een voorgaande Kolom heeft, alleen schrijven we die niet omdat hij er altijd hetzelfde uitziet: hij heeft het patroon zwart-zwart-zwart-zwart-zwart. Als we deze Kolom (hieronder voor de duidelijkheid uitgevoerd in grijs) in gedachten voor ons voorbeeldwoord zetten, kunnen we eindelijk het volledige woord lezen, door voor elk tweetal kolommen de 0-/1-reeks vast te stellen:
We hebben dan dus de reeksen 01101, 00011, 01110, 01010, 10010, 00100 en 10101.
Het enige wat ons dan nog te doen staat is in de alfabetlijst hieonder op te zoeken welke letters met die reeksen overeenkomen, hetgeen in dit voorbeeld de letters ZWANGER blijken te zijn.
Het alfabet
Het alfabet is als volgt (0 = gelijk; 1 = verschillend)
Woordscheidingen
Als men nu aan het schrijven slaat zijn er verschillende manieren om woordscheidingen aan te geven. De drie mogelijkheden zijn:
1. helemaal geen woordscheidingen aangeven;
2. gebruik maken van een speciale 0/1-reeks.
3. woorden scheiden met wituimte, oftewel de gewone ‘spatie’;
Optie 1 is het simpelst: alle letters van de woorden in een zin worden gewoon achter elkaar aan geschreven. Datleestalleennetwatmoeilijker.
Optie 2 is dan fraaier: als men bijvoorbeeld de reeks 11111 voor woordscheidingen gebruikt, levert dat het volgende beeld op:
[…]
Optie 3 lijkt simpel, maar is het niet. Als je namelijk witruimte voor woordscheiding gebruikt krijg je potentiële verwarring met de kolom ‘5x wit’. Om dat op te lossen is er de ‘5x wit-verboden’-methode nodig. Die werkt als volgt:
[…]
leuk gedaan
LikeLike
Dacht ’t ook! ;)
LikeLike
Wat heb je toffe dingen op je site staan. Heb je deze XOR vorm zelf bedacht?
LikeGeliked door 1 persoon
Helemaal! :)
LikeLike
interesting
https://www.ydady.eu/articles/ydadycode.html
LikeGeliked door 1 persoon
Thanks; your system looks pretty cool as well! In fact, it seems there is some similarity between XOR and YDADY, as both are based on a 2^5 binary code. The same goes for my Stippelcode, Driehoekjes and Schering en Inslag, by the way. (Sorry for everything being in Dutch. If you’re interested I could provide a translation.)
LikeLike