Poziomy abstrakcji, kluczowe pojęcie w projektowaniu systemów
Praca ze złożonymi systemami oznacza tworzenie różnych interpretacji rzeczywistości.
Jeśli oglądaliście Matrix, możecie pamiętać tę scenę, w której Morfeusz oznajmia Neo, że świat, który uważał za „prawdziwy”, jest w rzeczywistości abstrakcją – Matrixem.
NEO: To, to nie jest prawdziwe?
MORPHEUS: Co jest prawdziwe? Jak definiujesz rzeczywistość? Jeśli mówisz o tym, co możesz poczuć, co możesz powąchać, co możesz posmakować i zobaczyć, to prawdziwe są po prostu sygnały elektryczne interpretowane przez twój mózg. To jest świat, który znasz. Świat taki, jakim był pod koniec dwudziestego wieku. Teraz istnieje on tylko jako część neuronowo-interaktywnej symulacji, którą nazywamy Matrixem. Żyłeś w świecie snów, Neo.
Rzeczywistość według Morfeusza
Morfeusz w zasadzie mówi, że rzeczywistość jest złożonym systemem i nie można jej zrozumieć ani zdefiniować w żaden konkretny sposób. Rzeczywistość jest lepiej rozumiana jako poziomy abstrakcji:
Poziom 2: Ludzka Percepcja
Na tym wyższym poziomie abstrakcji, doświadczamy rzeczywistości poprzez nasze pięć ludzkich zmysłów: wzrok, słuch, dotyk, smak i zapach. Na tym poziomie Matrix i Rzeczywistość są nie do odróżnienia.
Poziom 1: Nauka o mózgu
Na tym niższym poziomie abstrakcji, różne kombinacje sygnałów elektrycznych są interpretowane przez mózg jako nasze pięć zmysłów. Tylko na tym niższym poziomie abstrakcji możemy zobaczyć, że to, co uważaliśmy za rzeczywistość, jest manipulowane przez zaawansowane technologicznie fotele dentystyczne, które podłącza się bezpośrednio do mózgu.
Poziomy abstrakcji w prawdziwym życiu
Dobra, wyjdźmy ze świata science fiction i poszukajmy poziomów abstrakcji w prawdziwym świecie wokół nas. Okazuje się, że poziomy abstrakcji są wszędzie, ale trudno jest je dostrzec, ponieważ uznajemy je za oczywiste. Ukrywają się na widoku.
Przykład z prawdziwego życia: Where do you live?
Wyobraź sobie, że spotykasz kogoś nowego i ten ktoś pyta cię „gdzie mieszkasz?”. How would you answer?
- If you were asked by the IRS or on a government form you would give your exact street address – or else!
- If you met someone at a local event or school, you might answer: Mieszkam w niebieskim domu na ulicy Bond.
- Ale co, jeśli odwiedzasz inny kraj? Najprawdopodobniej powiedziałbyś: Mieszkam w Stanach Zjednoczonych.
- Jeżeli miałbyś spotkanie z istotami pozaziemskimi, mógłbyś powiedzieć: Jestem z planety Ziemia.
To wszystko są bardzo różne odpowiedzi! Która z nich jest prawdziwą odpowiedzią? Wszystkie oczywiście.
Używałeś poziomów abstrakcji nieświadomie. Odpowiadałeś na poziomie szczegółów, które byłyby bardziej pomocne i opisowe dla osoby, z którą rozmawiałeś. Innymi słowy, wybierałeś poziom abstrakcji, który najlepiej wspierał cel rozmowy.
Tworzenie poziomów abstrakcji
Możemy nadać nazwy tym różnym poziomom abstrakcji – niższe poziomy abstrakcji są bardziej szczegółowe, a wyższe poziomy abstrakcji są bardziej ogólne.
7. Planetarny – Jestem z planety Ziemia. Zabierz mnie do swojego przywódcy.
6. Kraj – jestem ze Stanów Zjednoczonych.
5. Stan – Pochodzę z Wisconsin.
4. Miasto – Mieszkam w Chicago, IL.
3. Okolica – Mieszkam w Jackson Heights, Queens
2. Budynek – Mieszkam w niebieskim kompleksie apartamentów na Michigan Ave.
1. Adres fizyczny – 476 N Bond St., Fresno, CA 94420.
Definiowanie abstrakcji
Znajdziesz wiele różnych definicji i wyjaśnień słowa „abstrakcja”, ale znalazłem definicję Wikipedii jako najbardziej pomocną przy pracy z systemami złożonymi,
Abstrakcje są tworzone przez wybór tylko tych aspektów złożonego systemu, które są istotne dla konkretnego subiektywnie cenionego celu.
Konsekwencje definicji dla projektowania systemów
- Abstrakcje są tworzone w określonym celu – są narzędziami rozwiązywania problemów, które tworzymy dla konkretnego problemu, wyzwania lub celu.
- Wszystkie abstrakcje są uproszczeniami – wybieramy niektóre aspekty złożonego systemu i celowo pomijamy inne.
- Abstrakcje są użyteczne (lub nie) – zamiast być dobre/złe lub słuszne/niesłuszne, abstrakcje są bardziej/mniej użyteczne w pomaganiu nam w rozwiązywaniu problemów.
Zdrada obrazów René Magritte’a
Słynna fajka. Jakże ludzie mi ją wytykali! A jednak, czy mógłbyś wypchać moją fajkę? Nie, to tylko przedstawienie, czyż nie? Więc gdybym napisał na moim obrazie „To jest fajka”, to bym skłamał!
– René Magritte
Musiałem pokochać surrealistów i ich ciężki przekaz, że sztuka i rzeczywistość są różne – sztuka jest abstrakcją rzeczywistości.
Programowanie komputerowe 101 według Abstruse Goose
Abstrakcja jest pojęciem często używanym w programowaniu komputerowym. Poziomy abstrakcji w tej kreskówce to:
.