Boolese functies

Onder de wiskundigen die over automatisch rekenen hun licht hebben laten schijnen is de 19de eeuwse logicus George Boole de eerste 'digitale' denker. Hij gebruikte het feit dat elk getal door een rijtje van 0-en en 1-en gerepresenteerd kan worden, en liet deze corresponderen met de noties van onwaarheid (0) en waarheid (1) uit de logica. Hij kwam er achter dat alle binaire functies in principe terug te brengen zijn tot de belangrijkste propositionele functies die we kennen uit de logica. Deze connectie legde een keiharde link tussen het 'denken/redeneren' en rekenen, die George Boole vastlegde in zijn klassieke meesterwerk "The Laws of Thought".

Definitie Een Boolese functie is een n-plaatsige functie die rijtjes van 0-en en 1-en afbeeldt op de waarden 0 en 1.

Stelling Elke Boolese functie kan gedefinieerd worden m.b.v. de "logische" Boolese functies and, or en not.

Bewijs Laat f een willekeurige n-plaatsige Boolese functie zijn, en definieer nu X = {(x1,...,xn) | f(x1,...,xn) = 1}, de rijtjes die door f afgebeeld worden op 1.
Indien X leeg is, kunnen we f vervangen door and(x,not(x)).
Stel nu dat X niet leeg is. Voor elk element z van X = {z1,...zn} definiëren we fz = and(y1,...,yn) waarbij yi = xi indien xi= 1, en yi = not(xi) indien xi = 0.
Nu kan f vervangen worden door or(fz1(x1,...,xn),...,fzm(x1,...,xn)) waarbij z1,....,zm een opsomming van de elementen van X is. Na wat gecijfer kan je inzien dat deze functie inderdaad hetzelfde doet als f.

George Boole, 1815 - 1864

Meer informatie over George Boole vind je op de MacTutor History of Mathematics webpages door zijn naam onder het hierbovenstaande plaatje aan te klikken.

Het bewijs voor zijn stelling hierboven ziet er wellicht gekunsteld uit, maar je kan het gemakkelijk begrijpen als je een voorbeeld neemt. Stel je hebt een drie-plaatsige Boolese functie die de waarde 1 oplevert voor (1,0,1) en (0,1,1), en elders (de overige 6 mogelijkheden) 0 aanneemt. De verzameling X uit het bewijs is dus {(1,0,1),(0,1,1)}. De definitie die je van deze functie krijgt door het bewijs te volgen is dan:

or(and(x1,not(x2),x3),and(not(x1),x2,x3))

Boole's reductie van binaire functies gaf hem de mogelijkheid logica van proposities op een zeer elegante algebraïsche manier te beschrijven. Hier verder geen uitwijding over want dat is meer interessant voor mathematici. Voor informatici zijn de digitale implicaties van Boole's vinding zeer belangrijk, en met name de toepassing in de huidige computertechnologie. Boolese functies kan je beschrijven door zogenaamde Boolese circuits die bestaan uit schakeling van and, or en not-poorten. Hier vind je informatie over op volgende cursuspagina.

Terug