Wanneer is een hoop een hoop? Als je computer dat zegt?

In sommige delen van de wetenschap proberen we taal hard te maken, zodat we ermee kunnen rekenen en zo kunnen we er gebruik van maken. Zeker in de computerwetenschappen, waar we nog wel eens gevoelige categorieën hard willen maken, lijdt dat tot problemen. Denk bijvoorbeeld aan discriminatie door algoritmes, maar het gaat veel dieper dan dat. De vragen die je namelijk moet beantwoorden zijn zaken zoals: Wanneer zijn lange mensen lang? Of wanneer zijn kalende mensen kalend? Of zoals de titel al behelst: Wanneer is een hoop een hoop?

De Sorites Paradox

Die vraag: wanneer is een hoop een hoop? Is een paradox uit het oude Griekenland en wordt vaak toegeschreven aan Eubulides. Om de paradox te begrijpen moeten we wat heel simpele logica doen.

Aanname: Een hoop zand bestaat uit een miljoen (of een ander groot getal n) korrels zand.
Aanname: Een hoop bestaat ook uit een miljoen minus 1 korrels zand. (ook wel n – 1).
Vervolg: Een hoop* (miljoen - 1) bestaat dus ook uit een miljoen minus 2 korrels zand (hoop* -1).

Conclusie: Een hoop bestaat uit 1 korrel zand.

Wacht, wat? Een hoop zand bestaat absoluut niet uit 1 korrel zand, dat is onzinnig, maar die eerste aanname houdt. Het vervolg kunnen we door trekken, dus hoeveel korrels moeten we weghalen? Waar trek je de grens? Wanneer is een hoop geen hoop meer? Bij 300,564 korrels of 300,565 korrels? Op die vraag hebben we geen antwoord omdat het concept “hoop” vaag is.

Wat nu?

Naïef wil je misschien zeggen: 'er is een arbitraire grens waar een hoop geen hoop is', maar zo'n arbitraire grens geeft problemen als je hem als beleid gaat gebruiken. Stel nou dat we een erg vreemd algoritme maken dat bepaalt of jij een uitkering krijgt, afhankelijk van of jij een hoop zand bezit of niet. Als je de arbitraire grens stelt op 300,355 benodigde korrels, is het dan acceptabel dat iemand met 300,354 korrels geen uitkering krijgt? Dat is volgens je definitie dan niet meer een hoop en dan heb je dus vette pech, tenzij je even gauw zand gaat halen.

Als we wat minder naïef te werk gaan zeggen we dat hoop-zijn, lang-zijn, kalend-zijn, een soort schalend gebeuren is. Je kunt meer of minder hoop-hebben. Je kunt hebben dat een hoop ongeveer 90% hoop is. Het is dan nog geen volledige heuvel zand maar het zit in de buurt. Een algoritme dat hierop inspeelt moet dus ook schalend te werk gaan, anders zit je nog steeds met zo'n arbitraire grens. Schalen is al veel netter, maar we breken het probleem hier eigenlijk mee op zonder het werkelijk op te lossen. Stel we hebben datzelfde algoritme, maar je krijgt geld afhankelijk van de hoedanigheid van je hoop zand. Dan is het maximum wanneer iets 'een volledige 100% hoop is' nog steeds essentieel, want bij 40% krijg je dus 40% van een uitkering enzovoorts, maar als we dus de hoeveelheid korrels zand die nodig zijn voor een volledige hoop opschuiven naar links (een kleinere hoop is al een volwaardige hoop) dan krijg je plots meer uitkering.

Daarbij komt ook nog eens context kijken. We kunnen misschien wel meten hoeveel jaren je hebt gewerkt, maar dat zegt niets over de effectiviteit van je jaren gewerkt (misschien was je erg lui). Of een ander voorbeeld, je bent misschien met 1.77m niet enorm lang voor een Nederlander, maar elders in de wereld tel je wel weer als lang. Een hoop zand hier in Nederland is misschien niet hetzelfde als hoop zand in de Sahara.

Definitie kwestie

Het is goed mogelijk dat wij categorieën gebruiken waar wij totaal geen heldere toegang tot hebben noch een definitie van kunnen formuleren. Een hoop is een hoop omdat we dat zien en kunnen ervaren dat het hoop is. Daar zit waarschijnlijk wat verschil in tussen mensen en soms zullen we ook zeggen dat we het niet zeker weten. Voor computers moet er echter een grens getrokken worden, zelfs als we zeggen dat het vaag is: ergens moet een concreet onderscheid liggen tussen een hoop en een niet-hoop. Waar dat ligt is echter een hele rare vraag.

Dit item is geschreven door Sietze van Kaf.