LECTORIUM CALCULEMUS
WITOLD MARCISZEWSKI
Wykłady: WSAP im. Stanisława Staszica: 2007/2008
Filozofia Umysłu i Sztucznej Inteligencji
5. Co różni inteligencję twórczą od algorytmicznej
w świetle gödlowskiego odkrycia niepełności arytmetyki?
$1. Inteligencja algorytmiczna, zwana też mechaniczną lub sztuczną rozwiązuje problemy pod dyktando algorytmów, a więc rutynowo. Inteligencja twórcza rozwiązuje problemy dzięki intuicji i pomysłowości. Przewaga inteligencji algorytmicznej polega na tym, że działa bezbłędnie, podczas gdy twórcza nieraz się myli. Potrafi ona natomiast rozwiązywać zadania niedostępne dla algorytmicznej, a należy też do nich między innymi wymyślanie algorytmów.
Gdy Al-Chwarizmi rozwinął i upowszechnił technikę rachowania za pomocą algorytmów, ukształtowało się przekonanie, że dla każdego zagadnienia matematycznego da się stworzyć odpowiedni algorytm. A jeśli przyjąć, że cała nauka da się uprawiać w sposób matematyczny - more geometrico, jak mawiali racjonaliści XVII wieku - to dla każdego problemu naukowego istniałoby rozwiązanie osiągalne na drodze algorytmicznej. Gorącym obrońcą tego poglądu był Leibniz; jego hasło calculemus oznaczało rachowanie za pomocą algorytmów.
Ponieważ algorytm jest z natury swej bezbłędny, algorytmizacja całej matematyki zapewniłaby jej najsolidniejsze z możliwych podstawy. Dążenie do takiego ugruntowania matematyki cechowało wielkiego matematyka niemieckiego Davida Hilberta i stworzoną przezeń szkołę, stąd nazwano je Programem Hilberta (zob. Penrose 1989). Nie byla to jednak osobliwość jednej tylko szkoły. W niej przejawiła się owa dążność najwyraziściej, ale był to ważny nurt w dziejach myśli europejskiej (choćby w wierze Arystotelesa, podzielanej przez scholastyków i Leibniza, że całą naukę da się ująć w formalizmie sylogistycznym).
Nadzieje na to, że każdy problem matematyczny okaże się algorytmicznie rozwiązywalny wzmogły się w wyniku procesu arytmetyzacji matematyki. Był on zainicjowany dziełem Kartezjusza, jakim była geometria analityczna. Sprowadza ona geometrię do arytmetyki, a gdy udało się z geometrią, szukano dalej, i to z powodzeniem. To upraszczało problem: wystarczyłoby algorytmicznie ugruntować arytmetykę, żeby cała matematyka i wspierające się na niej partie nauki zyskały niewzruszony fundament poznawczy.
Dla zilustrowania tego programu przypomnijmy słynny przypadek wielkiego twierdzenia Fermata (Pierre de Fermat, 1601-1665). Powiada ono, że dla równania
xn + yn = zn nie ma żadnego rozwiązania w liczbach całkowitych dodatnich dla n>2 and x, y, x różnych od zera. Fermat zanotował je w roku 1637 na marginesie Arytmetyki Diofantosa wraz z uwagą: "Znalazłem zaiste zadziwiający dowód tego twierdzenia. Niestety, margines jest zbyt mały by go pomieścić." Opublikowane w roku 1670 stało się wyzwaniem dla kolejnych pokoleń matematyków, którzy nie mieli wątpliwości, że rozwiązanie, potwierdzające lub obalające stwierdzenie Fermata musi istnieć, a znalezienie go jest kwestią czasu i talentu. To odwieczne przeświadczenie matematyków ujął wyraziście Program Hilberta.
Sytuacja zmieniła się radykalnie, gdy w roku 1931 Kurt Gödel wykazał, że nie każda prawda arytmetyczna da się w arytmetyce dowieść, a więc że istnieją w niej kwestie nierozstrzygalne i w tym sensie jest ona niezupełna. Od tego momentu można było twierdzenie Fermata podejrzewać o to, że dostarcza ono kwestii nierozstrzygalnej, czyli że nie da się udowodnić ani ono ani jego zaprzeczenie. Tym większa była determinacja matematyka z Princeton Andrew Wilesa, gdy po wiekach nieudanych usiłowań poprzedników podjął próbę dowodu, uwieńczoną sukcesem w roku 1995. O ile byłby to przypadek zdania, którego prawdziwość ani fałszywość nie da się rozstrzygnąć, to nawet gdyby Wiles dostał od Stwórcy przywilej nieśmiertelności, pracowałby przez całą wieczność bez rezultatu (Turing, 1936, określa taką sytuację powiedzeniem, że maszyna nigdy się nie zatrzyma).
Żeby posunąć dalej naszą opowieść, trzeba wyjaśnić, co znaczy, że dla jakiegoś twierdzenia matematycznego istnieje dowód. Intuicyjnie ludzie to jakoś rozumieli, odkąd uprawiali matematykę i logikę ale pełne zrozumienie, przyniosła dopiero logika matematyczna. Jej pierwsze ujęcie pojawia się w dziele Gottloba Fregego Begriffsschrift z roku 1879. Właściwe logice matematycznej sprecyzowanie pojęcia dowodu jest zasługą Davida Hilberta i jego szkoły, pracujących na przestzeni pierwszych czterech dekad XX wieku.
Sprecyzowanie polega na odróżnieniu dowodu sformalizowanego od dowodu w postaci intuicyjnej. Tak to nazwano w Szkole Hilberta. Żeby uzgodnić ujęcie logiczne z informatycznym zauważmy, że dowód sformalizowany (jak go znamy np. z systemu drzew semantycznych) jest to nic innego, jak algorytm sprawdzania poprawności rozumowania. Spełnia on w każdym punkcie definicję algorytmu (zob. rodział 4 obecnych wykładów), stąd właściwe jest dlań także określenie: dowód algorytmiczny. Odtąd, ilekroć będzie mowa o dowodzie lub dowodliwości bez wymieniania przydawki, w domyśle będzie słowo "algorytmiczny".
§2. Jak Kurt Gödel (1931) wykazał, że istnieją prawdy arytmetyczne niedowodliwe w systemie aksjomatycznym arytmetyki. Istota pomysłu, dzięki któremu stał się możliwy ten wynik, zaskakujący i dla nauki przełomowy, polega na wyjściu od zdania, które o sobie samym stwierdza, że jest niedowodliwe. W języku potocznym może ono przybrać formę "niniejsze zdanie nie jest dowodliwe"; a jeśli ta sama myśl ma wystąpić w języku arytmetyki, w którym nie ma wyrazów takich jak "niniejsze" czy "obecne", trzeba przeprowadzić odpowiednie odwzorowanie (zob. rozdz.4, odcinek o Gödlu).
Zaczyna się to od obliczenia dla zdania o niedowodliwości, jaki jest jego numer. Żeby zapisać to postępowanie, niech litera "g" będzie nazwą zdania orzekającego o sobie niedowodliwość, zaś N(g) będzie numerem przysługującym zdaniu z tej racji, że jest ono skrótem, w którym jest zaszyfrowana struktura logiczna zdania g.
Dla lepszego zrozumienia tej procedury, wyobraźmy sobie, że w jakiejś bardzo rozwiniętej naukowo cywilizacji dziecko otrzymuje imię będące jednoznaczną charakterystyką struktury jego ciała i umysłu; nic nie szkodzi, gdy jedno i drugie jest dopiero w zalążku, bo przy tak wysokiej technice diagnozowania da się z zadatków przewidzieć dokładnie dalszy niepowtarzalny rozwój danej indywidualności. Byłby to kolosalny zbiór danych liczbowych, wypełniający jakś grubą księgę, trudno by więc używać go w roli imienia dla celów paszportowych itp. Ale matematyka jest w owej cywilizacji tak zaawansowana, że zna algorytm będący funkcją od owych miliardów danych (argumentów); jej wartość jest jedną liczbą, a z tej liczby da się w razie potrzeby odczytać, od jakich argumentów jest to funkcja. Definiuje więc ta liczba jednoznacznie każde indywiduum, dostarczając o nim absolutnie pełnej informacji. Ponieważ oddaje ona strukturę indywiduum, wyrażający ją układ cyfr (coś jak nasz pesel, ale dający zawrotnie wielką informację) zasługuje na określenie: imię strukturalne. Da się o nim powiedzieć krótko, że szyfruje ono pełny opis jego posiadacza.
I tak znaleźliśmy się u źródła pomysłu Gödla, żeby każdej formule arytmetycznej nadać imię strukturalne szyfrujące jej strukturę, czyli jej wygląd językowy. Zależy ten wygląd od tego, jakiego kształtu elementy wchodzą do struktury i w jakiej występują kolejności. I tak, formuła "x+y=z" inaczej wygląda (ma inną strukturę) niż "u+z=y" (zmiana jednego elementu), inaczej też aniżeli "y+x=z" (zmiana kolejności).
Żeby imię strukturalne formuły wyrażało jakąś liczbę, trzeba (1) ponumerować proste symbole według jakiejś zasady dającej się uzgodnić z zadaniem (2): znaleźć funkcję arytmetyczną, która przybierać będzie różne wartości odpowiednio do kształtu i kolejności symboli. Trzeba ją tak dobrać, że gdy znana jest wartość funkcji, to da się stąd odtworzyć, od jakich została ona obliczona argumentów (nie ma tej zalety np.\ dodawanie: nie wiemy, czy liczba 5 powstała ze zsumowania 4 i 1 czy 2 i 3 itd). Takiej pożądanej funkcji, użytej przez Gödla, dostarcza twierdzenie, że każda niepierwsza liczba naturalna ma dokładnie jeden rozkład na czynniki pierwsze (jak ono w tym przypadku funkcjonuje - zob. Nagel/Newman 1966 s.57 i 83).
Po tym wyjaśnieniu, jaka jest natura imienia strukturalnego, powtórzmy, ale już w obecnym szerszym kontekście, rozumowanie z rozdziału 4 (odcinek o Gödlu).
Logiczną relację dowodzenia, gdzie Z symbolizuje zbiór zdań stanowiących dowód zdania w (symbolicznie: D(Z,w)) odwzorowuje się w specjalnie skonstruowanej relacji arytmetycznej, którą oznaczymy przez ArD.
Odwzorowanie w arytmetyce operacji dowodzenia zdania w na podstawie zbioru zdań Z zaczyna się od tego, że formy (struktury) logiczne zdań określa się liczbowo pewną metodą przyjętą w szyfrowaniu tekstów za pomocą liczb. Nazywamy te liczby numerami zdań i zbiorów zdań. Oznaczmy je, odpowiednio, symbolami N(w) i N(Z). Tak jak wniosek zależy od zbioru zdań stanowiących dowód (na mocy relacji zachodzącej między strukturami zdań), tak liczba N(w) na mocy odpowiedniej relacji arytmetycznej ArD zależy od N(Z). W myśl więc zasady odwzorowania, mamy:
D(Z, w) jest prawdą wtedy i tylko wtedy, gdy jest prawdą ArD(N(Z), N(w)). Lewa strona tej równoważności jest wyrażona w języku metodologicznym M (pojęcie dowodu należy do metodologii nauk), a prawa w języku arytmetycznym A. Korzystając z takich środków wyrazu, Gödel utworzył zdanie w M, które ochrzcimy nazwą "g". Mówi ono o sobie samym, że jest niedowodliwe, w sensie braku dowodu algorytmicznego w arytmetyce. Następnie odwzorował je w pewnym zdaniu języka A, tak zmyślnie konstruując to drugie, by jego strukturę określał numer N(g). Symbolicznie:
[g]: ~(EZ ) D(Z, g) . . . . w języku M;
N(g) ~(EN(Z) ) ArD(N(Z), N(g)) . . . . w języku A.Zdanie opatrzone numerem N(g) jako swym imieniem strukturalnym musi być prawdziwe. Gdyby było fałszywe, znaczyłoby to, że jest dowodliwe z aksjomatów arytmetyki. To jednak być nie może, bo aksjomaty te są prawdziwe, a z prawdy nigdy nie wynika fałsz; tylko gdyby aksjomaty były między sobą sprzeczne, a więc gdzieś byłby w nich fałsz, dałoby się na ich podstawie wykazać sąd o fałszywości zdania g (ze sprzeczności wynika wszystko).
Zdanie g zatem mówi prawdziwie o swej niedowodliwości. Skoro tak, a tę samą prawdę wyraża, tyle że w języku A, zdanie numerowane jako N(g), to także to zdanie musi być prawdą, dotyczącą liczby N(g). Jest zaś wyrażenie pod numerem N(g) zdaniem arytmetycznym. Istnieje przeto zdanie arytmetyczne mówiące prawdę o swej niedowodliwości, a więc niedowodliwe i zarazem prawdziwe.
Za wcześnie byłoby jednak zakończyć wywód optymistycznym "q.d.e." (quod erat demonstrandum czyli c.b.d.o.). Żeby się nie frustrować przewlekłym dochodzeniem do wniosku, opuściliśmy chwilowo pewne pytanie, na które trzeba jednak odpowiedzieć, nim uzna się z pełnym przekonaniem ostateczny wniosek.
Mniej dociekliwi czytelnicy mogą dalszy wywód opuścić, jeśli uwierzą na słowo, że nie wyjaśnione dotąd wątpliwości są odpowiednio potraktowane w następującym niżej tekście. Albo, co bardziej się zaleca, doszedłszy przy pierwszym czytaniu do tego miejsca, podejmą ciąg dalszy przy powtórnym czytaniu.
§3. Jest to pytanie o sposób kodowania liczbowego formuł arytmetycznych, a zatem takich, w których występują symbole arytmetyczne i logiczne. Jak to może być wykonalne, skoro symboli arytmetycznych potrzebujemy tyle, ile może pojawić się w formułach wyrażeń oznaczających liczby, a więc potencjalnie nieskończenie wiele?
Radzimy sobie w ten sposób, że jako jedyne proste wyrazy arytmetyczne przyjmujemy "0" i symbol funkcji zwanej następnikiem: "s" (łac. sequens - następnik). Za ich pomocą można zapisać każdą liczbę, nie będą więc już potrzebne wyrażenia cyfrowe "1", "2", ... "100" etc., z których każde trzeba by zakodować jakimś numerem. Albowiem 1=s(0), 2=ss(0) itd. Koszt tej metody, gdy szacować w ilości zapisanego papieru i czasu na pisanie jest kolosalny (liczba milion wymagałaby do zapisania miliona "esów"), ale w wywodzie Gödla nie chodzi o dokonywanie obliczeń, lecz o to, żeby mieć skończony i możliwie niewielki zasób wyrazeń pierwotnych w celu przyporządkowania im numerów. Z symboli logicznych wystarczą jako pierwotne (inne można zdefiniować za ich pomocą) dwa funktory prawdziwościowe (w tym negacja), jeden kwantyfikator oraz symbol równości. Gdy dołączyć nawiasy i przecinek, dostaniemy zupełnie znośną ilość dziesięciu symboli stałych.
Symboli zmiennych mamy trzy klasy: zmienne indywiduowe dla liczb, zmienne zdaniowe i zmienne predykatowe. Wszystkie numerujemy za pomocą liczb pierwszych większych od dziesięciu, różnicując rodzaje zmiennych wykładnikami potęgowymi: zmienne indywiduowe mają wykładnik jeden (11, 13, 17 etc.), zmienne zdaniowe wykładnik 2 (jedenaście do kwadratu etc.), a zmienne predykatowe wykładnik 3. Żeby otrzymać numer formuły, po prostu mnożymy przez siebie liczby przyporządkowane wyrazom tej formuły, pisząc czynniki iloczynu w kolejności występowania odpowiadajacych im wyrazów; numerem formuły jest uzyskany iloczyn (kolejność nie wpływa na wynik mnożenia, ale jej przestrzeganie jest konieczne do rekonstrukcji wyglądu pierwotnej formuły na podstawie jej numeru).
Drugia kwestia jest znacznie trudniejsza, toteż by nie komplikować tego tekstu nadmiernie, pozostaje ją tylko wspomnieć i odesłać po odpowiedź do innego źródła, bardziej technicznego. Jest to pytanie: jakim (by tak rzec) cudem może się udać utworzenie formuły o takiej strukturze jak zdanie numer N(g)? Trzeba tak misternie ją skonstrować, żeby występowała w niej liczba N(g) jako argument funkcji ArD, a zarazem żeby ta sama liczba była numerem całej formuły. Klarowne w tej materii wyjaśnienie można znaleźć w książce Nagel/Newman 1966, a pewien do niego komentarz znajduje się w rozdziale szóstym tegorocznych wykładów, odcinek 6.
§4. Tak oto arytmetyka okazuje się teorią skazaną na wieczne niedopełnienie: na to, że nigdy nie obejmie swymi twierdzeniami wszystkich prawd dotyczących liczb. Jeśli ją uzupełnimy aksjomatami, które pozwolą dowieść prawd odkrytych na innej drodze niż dedukcja z aksjomatów, to w tak wzmocnionym systemie pojawią się nowe zdania prawdziwe, a nie dające się dowieść z aksjomatów. Zbogacanie w tym celu systemu nowymi aksjomatami jest twórczym aktem umysłu, wyraziście kontrastującym z procedurą algorytmiczną. Dowiadując się o tym fakcie, niektórzy odbierają go jako defekt naszej wiedzy matematycznej. Należy jednak mieć na uwadze raczej jaśniejszą stronę, mianowicie otwartość matematyki na nie kończący się rozwój, oraz twórczą zdolność ludzkiej inteligencji do nadawania nauce takiego impetu.
Jeśli ktoś miałby się tym martwić to ci, którzy znajdują osobliwą satysfakcję w przeświadczeniu, że umysł ludzki to nic innego, jak algorytm dla maszyny mózgowej, który w zasadzie nie różni się od programów dla elektronicznej maszyny cyfrowej. Dla tak myślących, odkrycie Gödla, że umysł ludzki dociera do jakichś prawd w wyniku twórczej intuicji, nie dającej się zaliczyć do procedur algorytmicznych, wymaga interpretacji, która by go uzgodniła z owym przeświadczeniem o równoważności mózgów i komputerów, motywowanym zapewne wiarą, iż światopogląd materialistyczny jest już ostatnim słowem nauki i filozofii.
Pozostaje taka interpretacja, że twórczość matematyczna oraz inne jej rodzaje to też wynik działania algorytmów, mianowicie programów zakodowanych w języku neuronowym, a powstałych w jakiś sposób w wyniku ewolucji mózgu. Należałoby jednak wyjaśnić, jaki to miałby być mechanizm ewolucyjny. To znaczy, jakie potrzeby dostosowania się do środowiska w celu przeżycia doprowadziły do powstania takiej inteligencji, jaką miał np. Gödel. Trzeba by też wykazać, dlaczego samice wolały mieć za partnerów raczej twórczych matematyków (choć czasem tak chorowitych jak Gödel) niż nie zamęczających się myśleniem osiłków; tylko bowiem takie ich predylekcje wyjaśniałyby, dlaczego geny poznania matematycznego (powstałe może w wyniku jakiejś mutacji) nie zmarnowały się u ludzkiego gatunku, lecz się dość szeroko rozpowszechniły.
Obrońcy równoważności mózgu z komputerem powinni też dowieść, że niestabilność i nieliniowość procesów przetwarzania informacji cechująca mózg (lecz nie komputer), o której wiadomo, że bywa źródłem procesów twórczych (zob.np. Wolfram 2002), jakimś sposobem w przypadku mózgu nie staje się źródłem twórczości. Z tym wiąże się zagadnienie popełniania błędów. Myślenie twórcze zawiera w sobie rys poszukiwań. Różni je to radykalnie od myślenia algorytmicznego, w którym nie szuka się drogi, lecz postępuje drogą dokładnie od początku do końca wytyczoną. Poszukujemy metodą prób i błędów, stąd falsyfikowalność hipotez słusznie uznaje się za ich zaletę, a nie wadę. Z konieczności więc muszą się ludziom przytrafiać błędy. Komputerom też wprawdzie się przytrafiają, ale wyłącznie z winy człowieka, czy to programisty czy konstruktora sprzętu; komputer zaś jako taki do błędów nie ma prawa.
Nie można z góry wykluczać, że na takie zrównanie ludzi z maszynami znajdą się kiedyś świadectwa empiryczne. Na obecnym jednak etapie jest to przedmiot wiary filozoficznej, która powinna skłaniać raczej do poszukiwania na jej rzecz świadectw niż do ogłaszania jej za pewnik. Ci, którym wiara taka nie jest dana, a do nich się zalicza obecny autor, gotowi są śledzić takie poszukiwania z należną im ciekawością.
Literatura
Gödel, Kurt. "Über formal unentscheibare Sätze der Principia Mathematica und verwandter Systeme -- I", Monatshefte für Mathematik und Physik 38, 173-198, 1931.
Nagel, E. i J.R.Newman. Twierdzenie Gödla, tłumaczyła Barbara Stanosz, PWN, Warszawa 1966.
Penrose, Roger. The Emperor's New Mind: Concerning Computers, Minds, and the Laws of Physics, Oxford Univ.Press, Oxford etc. 1989.
Turing, Alan, "On computable numbers, with an application to the Entscheidungsproblem", Proc. of the London Math. Society, Series 2, 42, pp.230-265, 1936.
Turing, Alan. "Computing machinery and intelligence", Mind 59, 433-460, 1950.
von Neumann, John. The Computer and the Brain, Yale Univ.Press, New Haven 1958.
Wolfram, Stephen. A New Kind of Science, Wolfram Media, Inc., 2002.
Site maintained by Witold Marciszewski