calculemus
Cafe Aleph: Dynamika
Cywilizacji, 2012 Polemiki i Rozmówki
13 luty 2012. Tekst jest szkicem w toku opracowywania, toteż Czytelnicy
są proszeni o poniechanie kopiowania i linkowania. Zestawienie przez "a" dynamiki cywilizacji i
światopoglądu informatycznego może być zaskakujące, zacznę więc od
wyjawienia intencji. Byłoby to łatwiejsze, gdybym pisał po angielsku, gdzie
występuje termin
computational worldview. Jego polski odpowiednik światopogląd
informatyczny pojawia się bodajże po raz pierwszy dopiero w wydanej w
roku 2011 książce Witolda Marciszewskiego i Pawła Stacewicza Umysł -
komputer - świat. Co się tyczy zwrotu dynamika cywilizacji, ten
już nieźle się zadomowił w polskim i w angielskim. W polskim Google'u mamy
odnotowane 2000 jego wystąpień, zaś dynamics of civilization ma ich
około 40000. Jest więc to pojęcie bardziej może swojskie dla istot
anglojęzycznych, ale zrozumiałe też w polskim. Co się zaś tyczy związku
dynamiki cywilizacyjnej ze światopoglądem informatycznym, niech w
wyjaśnieniu pomoże opowieść o dwóch przypadkach (zob. §1 i §2), które mnie
na trop ten naprowadziły.
Jednym z tych pomyślnych przypadków stała się okoliczność,
że organizatorzy VII Forum Teleinformatyki poprosili mnie o odczyt na temat
informatycznego spojrzenia na gospodarkę. W wywiązaniu się z tego nowego dla
mnie tematu pomogło mi przypomnienie, jak przed laty, wertując jakąś pracę
Oskara Langego, napotkałem zdanie o pożytku, jaki powinna odnieść z
komputerów planowa gospodarka socjalistyczna. Intencja była jasna: im
bardziej planowa gospodarka, im jest przy tym większa (w socjalizmie wielka
monstrualnie, obejmując całość państwa), tym więcej trzeba liczyć i liczyć.
W czasie gdy pracowałem nad tym odczytem, było już całemu światu wiadomo, że
komputery nie uratowały socjalizmu.
Dlaczego nie uratowały? Szukając odpowiedzi, sięgnąłem po
dzieła ekonomistów zdecydowanie liberalnych i świadomie
antysocjalistycznych, a byli nimi przede wszystkim Ludwig von Mises i
Friedrich Hayek. Pierwszy przewidział niezdolność socjalizmu do dłuższego
trwania już w latach 20-tych ubiegłego wieku. Drugi zaś w prowadzonej przez
trzy dekady polemice próbował przekonać do tego poglądu czołowego teoretyka
ekonomii socjalistycznej, samego Oskara Langego. Ten jednak wciąż wierzył,
że postępy informatyki uratują socjalizm. Lange umarł na ćwierć wieku przed
definitywnym załamaniem gospodarki socjalistycznej, toteż Hayek nie mógł
doświadczyć satysfakcji z powiedzenia "a nie mówiłem?". Być może Lange,
który był uczonym dużego formatu, dałby się przekonać, gdyby dożył stanu
informatyki, jaki się ukształtował od lat 70-tych ubiegłego wieku, kiedy
rozwinęły się badania nad stopniami złożoności algorytmów.
Złożoność
algorytmu jest to zależność liczby wykonywanych operacji od liczby danych
wejściowych zwanej rozmiarem problemu. Jeśli np. przy podwojeniu liczby tych
danych podwaja się też liczba operacji, jest to zależność liniowa; ogólniej:
liczba operacji jest proporcjonalna do rozmiarów problemu. Często się
spotykamy z zależnością, czyli funkcją, wykładniczą. Rządzi ona np. wzrostem
kolonii bakterii, gdy każda dzieli się na dwie potomne, powiedzmy, co
godzinę. Po godzinie mamy ich dwie, po dwóch godzinach cztery, po trzech
osiem itd. Tak otrzymujemy kolejne potęgi dwóch. A jeśliby każdy element
dzielił się na trzy potomne, mielibyśmy kolejne potęgi liczby 3. Te wyniki
mnożymy przez liczbę elementów wyjściowych. Jeśli będzie ich 10, to przy
podwajaniu nasza kolonia będzie liczyć po godzinie 20 bakterii, po dwóch
godzinach 40 itd. Niech komputer prowadzi rejestr przybywających kolejno
bakterii, np. nadając im kolejne numery; wtedy operacjami są takie akty
numeracji, a ich liczba rośnie wykładniczo. Jeszcze gwałtowniej przyrasta
liczba operacji w przypadku funkcji silniowej, co ilustruje np.
podręcznikowy przykład problemu komiwojażera. Tego typu funkcji mamy pokaźny zbiór, a każda reprezentuje
osobny typ zależności między rozmiarem problemu i liczbą operacji, z których
każda zabiera ileś czasu, a także ileś miejsca w pamięci operacyjnej.
Okazuje się, że już przy stosunkowo niewielkich rozmiarach problemu
pewne funkcje, jak wykładnicza czy silniowa, wymagają takich ilości czasu,
że na wynik obliczenia, czyli na rozwiązanie problemu, trzeba by czekać
miliardy lat (przykładem - wspomniany problem komiwojażera).
Wracamy do von Misesa, Hayeka, a także innych ekonomistów
znanych pod nazwą Szkoły Austriackiej (z racji kraju ich pochodzenia).
Jeszcze przed powstaniem teorii złożoności obliczeniowej antycypowali oni
intuicyjnie jej idee, szacując, że socjalistyczna gospodarka planowa ma do
czynienia z problemami o takim rozmiarze złożoności i tak skomplikowanych
zależnościach, że najpotężniejsze superkomputery nie będą w stanie uzyskać
rozwiązań w dostępnym dla trwania ludzkości czasie. Zupełnie inaczej ma się
sprawa z gospodarką wolnorynkową, gdzie rozmiar problemów nie jest na skalę
całego państwa, lecz jednej firmy. To zmienia zasadniczo poziom złożoności
obliczeniowej, przestaje on być monstrualny.
Jest jeszcze inny atut wolnego rynku. W firmach dokonuje się nie tylko
obliczeń cyfrowych, tj. przez wypisywanie ciągów symboli na papierze lub
innym nośniku, lecz także obliczeń analogowych, nie symbolicznych, które
zachodzą w mózgach decydentów. Nie muszą one być bezbłędne, dla sukcesu
firmy wystarczy, że błędy są stosunkow rzadkie. Otóż ten sposób obliczania
wymaga doświadczalnej znajomości rynku (np. gustów konsumentów) powstającej
w wyniku kumulujących się doświadczeń, uczenia się na błędach. Jest to stan
wiedzy i kompetencji nieosiągalny dla urzędników w Centralnym Urzędzie
Planowania; podejmują oni decyzje gospodarcze w imieniu całego państwa, nie
mając szans zdobycia takiej choćby wiedzy o rynku, jaką ma (dzięki dzień w
dzień zdobywanym doświadczeniom) sprzedawca w budce z warzywami. Kumulujące
się w mózgu obrazy sytuacji w tego rodzaju doświadczaniach stanowią ważny
rodzaj rozwiązywania problemów analogowego (tak je nazywamy, bo obraz jest w
pewien sposób analogiczny względem tego, co przedstawia).
Z obliczeniowego punktu widzenia, fatalnym błędem
gospodarki centralnie planowanej jest jej nierozerwalny związek z dyktaturą
polityczną, totalny brak wolności myślenia i działania, co niweluje
twórczość w rozwiązywaniu problemów (według relacji Hao Wanga, o potrzebie
wolności dla obliczalności wypowiadał się też Kurt Gödel). Jest to tak, jak
gdyby w różnorodnych, wielce złożonych i często nieprzewidywalnych
sytuacjach miał być obowiązkowo stosowany zawsze ten sam program (inaczej,
algorytm) wyprowadzony z arbitralnych założeń ideologicznych. Twórcze zaś
pomysły innych rozwiązań, do których program ten nie jest zdolny, byłyby
surowo represjonowane. Jest to obciążenie rozwoju na taką skalę, że Hayek
nazwał je błędem cywilizacyjnym, to jest, zabójczym dla dynamiki
cywilizacji.
Jak widać, kolosalna przewaga wolnego rynku nad centralnym
planowaniem bierze się z kilku źrodeł: (1) dopasowanie rozmiaru problemów do
skali czasowej i kompetencji obliczeniowych decydentów, (2) wiedza i
doświadczenie niezbędne do rozumowań analogowych, osiągalne tylko dla
aktywnych uczestników rynku, (3) połączenie dopełniających się wzajem
walorów obliczeń cyfrowych i obliczeń analogowych, przez co ich zalety
wzajem się wzmacniają; (4) wolna przestrzeń dla twórczych rozwiązań, w tym
znajdowania nowych algorytmów, gdy dawne nie rozwiązują nowych problemów. W
wielorakich więc aspektach gospodarki, ich rozumienie wymaga podejścia w
kategoriach obliczeniowych czyli informatycznych.
Informatyczny aspekt gospodarki objawił się z nową
wyrazistością w obecnym kryzysie ekonomicznym. Jego głównym źródłem, prócz
błędów moralnych (chciwość, lekkomyślność), są błędy obliczeniowe, jak
niedoszacowanie ryzyka kredytowego, jak też ryzyka pochodnych względem
kredytu instrumentów finansowych. Błędem było też poniechanie tego, co
nazywamy na codzień zdrowym rozsądkiem, a co w terminologii informatycznej
nazywa się myśleniem analogowym, stanowiącym jakby drugie płuco mocy
obliczeniowej. To drugie, gdy mamy na uwadze gospodarkę w makroskali,
dochodzi do głosu dzięki znajomości historii gospodarczej; podobnie jak u
prawników angielskich kompetencja sędziowska polega na rozumowaniach
analogowych, opartych na wiedzy o precedensach czyli znanych z historii
przypadkach -- analogicznych do tego, który się aktualnie rozpatruje. W
szczególności, doniosłą rolę odgrywa wiedza o historii kryzysów
gospodarczych, do której wielką uwagę przywiązuje w książce Crisis
Economics (2011) Nouriel Roubini (najsłynniejszy z tych niewielu, którzy
przewidzieli obecny kryzys), a co poszło w zapomnienie wśród typowej
populacji ekonomistów.
2.1. Uczyniona w
poprzednim akapicie wzmianka o myśleniu analogowym w angielskim "common law"
otwiera widok na inne jeszcze, prócz gospodarki, obszary cywilizacji. Jeden
z wielce inspirujących klasyków myśli społecznej Max Weber już na początku
minionego stulecia (pół wieku przed nastaniem komputerów) ujmował w
kategoriach obliczalności trzy wielkie działy cywilizacji -- prawo, politykę
i gospodarkę. Nawet jeśli się pomylił w sprawie drugorzędnej, jak
przypisywanie większej zdolności obliczeniowej społecznościom protestanckim
niż katolickim, nie umniejsza to rozpoznania przezeń kluczowej dla nauk
społecznych roli idei obliczalności. Nie odbiera mu też zasługi
prekursorstwa okoliczność, że nie był świadom odróżnienia obliczeń cyfrowych
i analogowych; do tej świadomości można było dojść dopiero w pewnej fazie
rozwoju informatyki.
Do lektury Webera doszedłem nie przypadkiem, bo jednym z
moich zajęć akademickich było wykładanie metodologii nauk społecznych.
Szczęśliwym natomiast przypadkiem (drugim z dwóch wspomnianych na wstępie)
było to, że poproszono mnie o recenzję polskiego przekładu książki Klausa
Mainzera, a podjęcie się tej roli zobowiązalo mnie do zapoznania się także z
oryginałem, którego nie znałem wcześniej. Jego tytuł i treść dostarczyły mi
ram pojęciowych i zachęty do powiązania światopoglądu informatycznego z
kwestią dynamiki cywilizacji. Tytuł brzmi: Thinking in complexity czyli myślenie w
kategoriach złożoności obliczeniowej problemów (tę przydawkę
implikuje podtytuł) to właśnie to, co nazywam światopoglądem
informatycznym. Przyjmuję to określenie jako zwięźlejsze, ale treść
jest taka sama, jak ta w dłuższym zwrocie, zaakcentowanym grubą kursywą;
przykłady złożoności obliczeniowej daje wyżej, w §1, fragment wyróżniony
wcięciem.
Stopień złożoności obliczeniowej problemu jest miarą mocy
obliczeniowej układu (człowiek, zwierzę, maszyna) zdolnego rozwiązywać dany
problem w drodze obliczeń. Im większa złożoność problemu, tym wiekszej
trzeba mocy do jego rozwiązania. Jeden rodzaj mocy obliczeniowej przysługuje
czynnikom fizycznym, jak szybkość procesora, pojemność pamięci, a drugi
programom, które sterują obliczeniami. Program (czyli maksymalnie dokładny
przepis na rozwiązanie) sterujący np. operacją dzielenia ma większą moc niż
ten, który steruje dodawaniem liczb, ponieważ dzielenie stanowi problem
bardziej złożony. Widać to po długości programu: ciąg instrukcji
stanowiących przepis na dzielenie jest dłuższy niż w przypadku dodawania.
Gdy się rozważa kwestie mocy obliczeniowej czy to umysłu
czy cywwilizacji, trzeba mieć na uwadze szersze pojęcie obliczamnia niż to
algorytmiczne które stosuje się do komputerów. Szersze to znaczy takie, że
ma w swoim zakresie wszystkie procesy obliczeń algorytmicznych, a ponadto
coś jeszcze. To coś wymaga do zdefiniowania wiedzy logicznej, choćby na
takim poziomie, jaki popularyzuje wspomniana na wstępie książka. Jest w niej
mowa, jak Gödel dowiódł że istnieją w arytmetyce zdania prawdziwe lecz
niedowodliwe. To znaczy, powstał dowód na to, że pewne zdania nie
mają dowodu (odróżniam je rodzajami czcionki dla podkreślenia różnicy
znaczeniowej).
W drugim chodzi o dowód mający charakter, który doczekal
się w literaturze trzech określeń:
Określają one wszystkie jedną i te samą klasę, ale każdy w
innym aspekcie. Wyrażenie "formalny" wskazuje, że aby otrzymać z danych
przesłanek zamierzoną konkluzję, wystarczy kierować się samą formą
czyli kształtem napisów, bez zwracania uwagi na treść. Mianowicie, do
każdego napisu stosować reguły przekształcania w napisy o innym kształcie.
Np. literę x zastąpić w danej formule literą a; albo: opuścić
p=>q, p, zostawiając tylko q (tzw. reguła odrywania).
Tak precyzyjne i gwarantujące skuteczność rozwiązania
przepisy, dotyczące przetwarzania jednych obiektów fizycznych w inne,
nazywamy algorytmami. W pracy komputera są to przepisy przetwarzania
kształtów napisów (jak ciągi zer i jedynek); w pracy zaś, powiedzmy,
kucharza algorytmy kulinarne dotyczą przekształcania pewnych surowców w
potrawy, np. surowych jajek w jajecznicę. Stąd drugie z podanych wyżej
określeń.
Postępowanie według algorytmu nie wymaga wiedzy o
poddawanych przetwarzaniu obiektach, tylko fizycznego wykonywania wskazanych
czynności, jest więc ono czysto mechaniczne (w dowodzie formalnym nie
trzeba rozumieć treści napisów, a kucharz nie musi rozumieć praw fizyki,
według których przebiegają procesy na patelni).
2.2.
c.d.n. W odcinku 2.2 wprowadza się szerokie pojęcie
dowodzenia, a także obliczania, obejmujące nie tylko dowodzenie i obliczanie
algorytmiczne, lecz także intuicyjne, przeprowadzane jednakże według rygorów
ścisłości obowiązujących w matematyce. Od algorytmicznego czyli formalnego
różni się ono nie tym, że jest mniej ścisłe. Tym natomiast, że rozumując
intuicyjnie ma się na uwadze nie tylko formę napisów, lecz także ich treść,
a więc obiekty, któych dotyczą przesłanki i kolejne kroki. Przekształcając
na papierze napisy, jednocześnie przekształcamy w myślach stany obiektów,
których napisy te dotyczą, aż dojdziemy do stanu będącego przedmiotem
konkluzji dowodu (czy do obiektu będącego wynikiem obliczania).
Przełomowym zdarzeniem w logice (jako teorii dowodzenia),
które wyraziście egzemplifikuje różnicę między dowodem algorytmicznym i
intuicyjnym, stał się wspomniany wyżej (§2.1) wynik Kurta Gödla (1931)
polegający na tym, że dał on dowód intuicyjny faktu, że są zdania
arytmetyczne, dla których nie istnieje w arytmetyce dowód
algorytmiczny. Tenże wynik daje podstawy do identyfikacji dowodzenia z
obliczaniem, dostarczając metody odwzorowania logiki w arytmetyce.
Suma zakresów tych dwóch pojęć -- dowodu (czy obliczenia)
intuicyjnego oraz dowodu (czy obliczenia) algorytmicznego -- tworzy klasę
nadrzędną obejmującą oba zakresy jako jej podzbiory. Tak rozszerzone pojęcie
dowodzenia i obliczania odgrywa kluczową rolę w rozważaniach o dynamice
cywilizacji. Stanowi przez to łącznik między światopoglądem informatycznym
oraz kwestiami dynamiki cywilizacji, gdy pojmuje się cywilizację jako układ
o wciąż rosnącej złożoności problemów, co wymaga od jej uczestników coraz to
większej mocy obliczeniowej. |