Levels of Abstraction, A Key Concept in Systems Design
Werken met complexe systemen betekent verschillende interpretaties van de werkelijkheid creëren.
Als je The Matrix hebt gezien, herinner je je misschien de scène waarin Morpheus Neo vertelt dat de wereld die hij “echt” vond, eigenlijk een abstractie is: de Matrix.
NEO: Dit, dit is niet echt? Wat is echt? Hoe definieer je echt? Als je het hebt over wat je kunt voelen, wat je kunt ruiken, wat je kunt proeven en zien, dan is werkelijkheid simpelweg elektrische signalen die door je hersenen worden geïnterpreteerd. Dit is de wereld die je kent. De wereld zoals die was aan het eind van de twintigste eeuw. Hij bestaat nu alleen nog als onderdeel van een neuraal-interactieve simulatie die we de Matrix noemen. Je hebt in een droomwereld geleefd, Neo.
De werkelijkheid volgens Morpheus
Morpheus zegt in feite dat de werkelijkheid een complex systeem is en dat het niet op een bepaalde manier kan worden begrepen of gedefinieerd. De werkelijkheid kan beter worden begrepen als niveaus van abstractie:
Level 2: Menselijke waarneming
Op dit hogere niveau van abstractie ervaren we de werkelijkheid via onze vijf menselijke zintuigen: zien, horen, aanraken, proeven en ruiken. Op dit niveau zijn de Matrix en de Werkelijkheid niet van elkaar te onderscheiden.
Level 1: Hersenwetenschap
Op dit lagere abstractieniveau worden verschillende combinaties van elektrische signalen door de hersenen geïnterpreteerd als onze vijf zintuigen. Alleen op dit lagere abstractieniveau kunnen we zien dat wat we dachten dat de werkelijkheid was, wordt gemanipuleerd via hightech tandartsstoelen die rechtstreeks op de hersenen zijn aangesloten.
Niveaus van abstractie in het echte leven
Okee, laten we eens uit de wereld van de science fiction stappen en op zoek gaan naar niveaus van abstractie in de echte wereld om ons heen. Het blijkt dat abstractieniveaus overal zijn, maar het is moeilijk ze te zien omdat we ze als vanzelfsprekend beschouwen. Ze verbergen zich in het volle zicht.
Een voorbeeld uit het echte leven: Waar woon je?
Stel je voor dat je een nieuw iemand ontmoet en die vraagt: “Waar woon je?” Hoe zou u antwoorden?
- Als de belastingdienst of een overheidsformulier u dat zou vragen, zou u uw exacte adres geven – of anders!
- Als u iemand op een plaatselijke bijeenkomst of school ontmoet, zou u kunnen antwoorden: Ik woon in het blauwe huis in Bond street.
- Maar wat als u op bezoek was in een ander land? Dan zou u waarschijnlijk zeggen: Ik woon in de Verenigde Staten.
- Als u een buitenaardse ontmoeting had, zou u zeggen: Ik kom van de planeet Aarde.
Dat zijn allemaal heel verschillende antwoorden! Welke is het echte antwoord? Allemaal natuurlijk.
Je gebruikte onbewust abstractieniveaus. Je antwoordde op het detailniveau dat meer behulpzaam en beschrijvend zou zijn voor de persoon met wie je sprak. Met andere woorden, u koos het abstractieniveau dat het doel van het gesprek het beste ondersteunde.
Creëren van abstractieniveaus
We kunnen namen geven aan deze verschillende abstractieniveaus – lagere abstractieniveaus zijn specifieker en hogere abstractieniveaus zijn algemener.
7. Planetair- Ik ben van de planeet Aarde. Breng me naar je leider.
6. Land – Ik kom uit de Verenigde Staten.
5. Staat – ik kom oorspronkelijk uit Wisconsin.
4. Woonplaats – ik woon in Chicago, IL.
3. Buurt – ik woon in Jackson Heights, Queens
2. Gebouw – ik woon in het blauwe appartementencomplex aan Michigan Ave.
1. Fysiek adres – 476 N Bond St., Fresno, CA 94420.
Het definiëren van abstractie
U vindt veel verschillende definities en verklaringen van het woord “abstractie”, maar ik vond Wikipedia’s definitie het meest nuttig bij het werken met complexe systemen,
Abstracties worden gemaakt door alleen die aspecten van een complex systeem te selecteren die relevant zijn voor een bepaald subjectief gewaardeerd doel.
Consequenties van de definitie voor systeemontwerp
- Abstracties worden gemaakt voor een bepaald doel – het zijn probleemoplossende hulpmiddelen die we creëren voor een bepaald probleem, uitdaging of doel.
- Alle abstracties zijn vereenvoudigingen – we selecteren sommige aspecten van het complexe systeem en laten andere doelbewust weg.
- Abstracties zijn nuttig (of niet) – in plaats van goed/slecht of goed/fout te zijn, zijn abstracties meer/minder nuttig om ons te helpen problemen op te lossen.
Het verraad van beelden door René Magritte
De beroemde pijp. Wat hebben de mensen me dat verweten! En toch, zou je mijn pijp kunnen vullen? Nee, het is maar een afbeelding, nietwaar? Dus als ik op mijn foto had geschreven ‘Dit is een pijp’, had ik gelogen!
– René Magritte
Hebben een zwak voor de surrealisten en hun hardhandige boodschap dat kunst en werkelijkheid verschillend zijn – kunst is een abstractie van de werkelijkheid.
Computer Programming 101 by Abstruse Goose
Abstractie is een veelgebruikt concept in computerprogrammering. De niveaus van abstractie in deze cartoon zijn: