Komputer mało inteligentny

Łukasz Świerczewski

W filmach SF spotkamy się z wizją komputerów dorównujących lub nawet przewyższających inteligencją ludzi. W filmach wszystko jest możliwe, a reżyserzy kuszą widzów efektami specjalnymi i niesamowitą wizją przyszłości. Cofając się jednak w przeszłość, możemy odnaleźć kilka ciekawych rozwiązań, które najpierw pojawiły się w filmach SF, a z czasem, gdy technika na to pozwoliła, korzystać z nich mógł każdy człowiek. Jednym z takich rozwiązań są hologramy, które powoli trafiają do użytku i umożliwią nam obserwowanie odległych wydarzeń tak, jakbyśmy znajdowali się w ich centrum. Problem maszyn samodzielnie uczących się, wyciągających ze swoich błędów wnioski i nieustępujących praktycznie w niczym ludziom, jest jednak znacznie starszy od idei hologramów lub innych filmowych ciekawostek.

Sztuczna inteligencja

Bardzo trudno sprecyzować termin „sztuczna inteligencja”, ponieważ nie ma dobrej definicji samego słowa „inteligencja”. Przez inteligencję można rozumieć ogólną zdolność adaptacji do nowych warunków i wykonywania nowych zadań przez wykorzystanie środków myślenia lub zdolność przystosowania się do okoliczności dzięki dostrzeganiu abstrakcyjnych relacji, korzystaniu z uprzednich doświadczeń i skutecznej kontroli nad własnymi procesami poznawczymi. Istnieje wiele objaśnień tego terminu – do niektórych w mniejszym lub większym stopniu można zakwalifikować komputery i zwierzęta, lecz większość uznaje tylko człowieka za stworzenie inteligentne. Chyba najprostszą definicję sformułował szwajcarski psycholog Jean Piaget – jest to zdolność rozwiązywania problemów.

Sztuczna inteligencja (często w literaturze występująca jako AI – Artificial Intelligence) powinna być rozumiana jako dział informatyki, próbujący rozwiązywać problemy, które trudno w jakikolwiek sposób jasno opisać (tj. nie ma określonych schematów działania). Termin ten został po raz pierwszy zaproponowany w 1955 roku przez amerykańskiego informatyka Johna McCarthy’ego, który określił ją jako: „konstruowanie maszyn, o których działaniu dałoby się powiedzieć, że są podobne do ludzkich przejawów inteligencji”.

Twierdzenie Gödla

Z całą pewnością jesteśmy dopiero na początku bardzo długiej drogi badań tej dziedziny nauki. Taką samą pewność można mieć co do tego, że na osobę, która szczególnie przyczyni się do zrozumienia istoty działania umysłu człowieka, czeka Nagroda Nobla. Istnieją dwa różne nurty sztucznej inteligencji. Pierwszy bazuje na programowaniu logicznym, a drugi czerpie inspiracje z biologii i stara się stworzyć struktury podobne do naturalnej budowy mózgu. Próbuje się nawet połączyć te dwa różne podejścia, tworząc różne rozwiązania hybrydowe.

W 1900 roku matematyk David Hilbert zadał pytanie, czy możliwe byłoby zbudowanie automatu potrafiącego rozwiązywać dowolne problemy matematyczne – np. dowodzić twierdzeń. Matematyka jest zbiorem ściśle powiązanych reguł, więc teoretycznie można byłoby ją w ten sposób zalgorytmizować. Hilbert wierzył, że takie podejście będzie bardzo trudne, aczkolwiek możliwe. Po 30 latach – w 1930 roku – poglądy te zweryfikował austriacki logik Kurt Gödel. W uproszczeniu można powiedzieć, że udowodnił on, iż w każdej teorii istnieją twierdzenia, których nie da się udowodnić wykorzystując narzędzia dostępne w tej teorii. Nie istnieje więc żaden ogólny automat potrafiący udowodnić wszystkie twierdzenia, ponieważ wszystkich twierdzeń nie da się udowodnić. Sformułujmy pewne twierdzenie G głoszące: „Nie ma dowodu na twierdzenie G”. Odznacza to, że według G nie można udowodnić tego, co samo ono głosi. Spróbujmy zweryfikować, czy to zadziwiające twierdzenie jest prawdziwe, czy też fałszywe. Załóżmy więc, że G jest fałszywe. W takim przypadku istnieje dowód na G i dochodzimy do konkluzji, że istnieje dowód na to, że takiego dowodu nie ma, co jest oczywiście sprzecznością. Zdanie G nie może być więc fałszywe, a więc musimy przyjąć, że jest prawdziwe. W ten sposób wiemy o czymś, czego nie potrafimy udowodnić. Pozostaje jednak do dnia dzisiejszego pytanie: Dlaczego jesteśmy tego świadomi?

Twierdzenie Gödla jest doskonałym dowodem tego, że nigdy nie uda się zbudować komputera potrafiącego rozwiązać każdy problem matematyczny. Ograniczenie to jednak wcale nie musi położyć kłód pod nogi informatyce – często sprowadzane jest ono jedynie do logicznej ciekawostki i nie powinno się go nadinterpretować.

Test Turinga

Do podobnego wniosku doszedł angielski matematyki i kryptolog Alan Turing. Zastanawiał się on, czy można zaprojektować uniwersalny algorytm, który będzie stwierdzał, czy inny algorytm wygenerował jakieś wyniki i zakończył pracę. Turnig założył, że taki algorytm można opracować – istnieje algorytm A, który kończy pracę, gdy stwierdzi, że inny algorytm A’ nigdy nie skończy obliczeń. Algorytm A musi być uniwersalny, więc powinien mieć możliwość przetestowania samego siebie. W takim przypadku A zakończy działanie, gdy A nigdy obliczeń nie skończy. Jest to oczywiście niemożliwe, co świadczy o tym, że A nie potrafi zrozumieć zasady działania samego siebie. Czy więc mózg mógłby zrozumieć swoją istotę? Czy potrafimy zrozumieć wszystkie tajniki naszych umysłów?

W 1950 roku Turing zaproponował sposób, w jaki można byłoby łatwo określić zdolność maszyny do posługiwania się językami naturalnymi i częściowo także myślenia w sposób podobny do ludzkiego. Test polega na tym, że sędzia (człowiek) prowadzi rozmowę z kilkoma stronami i jeżeli okaże się, że nie może stwierdzić (lub też nie ma pewności), iż faktycznie rozmawia z komputerem, to maszyna zaliczyła pozytywnie próbę. Turing szacował, że w 2000 roku komputery, które będą miały ok. 109 bajtów pamięci (119 MB). Według niego ludzie mieli do tego roku całkowicie zmienić swoje podejście do określenia „myśląca maszyna”. Tak jednak się nie stało, a dzisiaj nie jesteśmy dużo dalej niż 60 lat wcześniej. W przypadku, gdy komputer zna fakty: „Olka jest programistką” i „Programiści są leniwi”, to bezproblemowo będzie mógł odpowiedzieć na pytanie „Jacy są programiści?” lub „Czy Olka jest programistką?”. Problemy mogą się zacząć, gdy zadamy pytanie: „Czy Olka jest leniwa?”. Komputer musi wtedy dokonać rozumowania, połączyć dwa fakty i wyciągnąć ostateczny wniosek. Taka operacja może wydawać się nam banalna – my dokonujemy tego typu analizy podświadomie – jednak maszyna, musząc wziąć pod uwagę czasem nawet miliony faktów, może szybko popełnić błąd.

Paradoks Moraveca

Chyba jednym z największych i najistotniejszych odkryć w dziedzinie sztucznej inteligencji jest paradoks Moraveca. Mówi on, że wbrew naszej intuicji percepcja i zdolności motoryczne wymagają niewyobrażalnych mocy obliczeniowych, a wysokopoziomowe myślenie wręcz przeciwnie – niewielkich ilości obliczeń. W paradoksie zwrócono uwagę na biologiczne podstawy ludzkich umiejętności, które częściowo tłumaczy teoria ewolucji – to według niej powstaliśmy w bardzo długim procesie selekcji naturalnej. Podczas tego okresu ulepszano i optymalizowano organizmy u kolejnych generacji osobników. Prosta logika podpowiada, iż im jakaś umiejętność była starsza, tym dłużej ją ulepszano. U ludzi jako pierwsze pojawiły się doświadczenia dotyczące świata i możliwości przetrwania w nim. W tym okresie wykształciły się u nas takie umiejętności, jak poruszanie się, rozpoznawanie twarzy i głosów, zdolność do życia w społeczeństwie. Dopiero dość niedawno pojawiła się matematyka, wszelkiego rodzaju gry lub inżynieria. Są one trudne, ponieważ nasze organizmy wbrew pozorom nie zdążyły dobrze dostosować się do realizacji nowych zadań.

Ostateczny wniosek, jaki powinniśmy wyciągnąć, mówi nam, że przykładowa percepcja – interpretacja wyrażeń zmysłowych oraz wykonywanie różnych czynności ruchowych tylko wydają nam się prostymi czynnościami; są dla nas proste i wykonujemy je nieświadomie, ponieważ natura przez miliony lat od początku naszego istnienia je rozwijała. Właśnie dlatego w jednym z przełomowych artykułów z lat 80. XX wieku Moravec napisał: „stosunkowo łatwo sprawić, żeby komputery przejawiały umiejętności dorosłego człowieka w testach na inteligencję albo w grze w warcaby, ale jest trudne albo wręcz niemożliwe zaprogramowanie im umiejętności rocznego dziecka w percepcji i mobilności”.

Kasparow vs. Deep Blue

Bardzo często jako triumf sztucznej inteligencji ukazuje się grę w szachy. W 1996 roku arcymistrz Garri Kasparow pokonał komputer IBM Deep Blue. Mistrz twierdził, że żadna maszyna nie będzie mogła mu w najbliższej przyszłości dorównać, a gra w szachy jest doskonałym przykładem wyższości umysłu nad komputerem, co zresztą, według niego, miało się nie zmienić. Zespół IBM, pracujący nad systemem grającym w szachy, jednak nie zasypiał gruszek w popiele i rozpoczął prace nad ulepszaniem swojego komputera, który po roku był gotowy do nowych rozgrywek. Kilkanaście miesięcy w technice to bardzo długo – Deep Blue dzięki poprawkom inżynierów mógł być nawet 1000 razy szybszy. Kasparow najprawdopodobniej z upływem czasu zbyt wiele nie zyskał, jednak nadal był pewny wyższości człowieka nad maszyną.

Sprawa ta uległa zmianie dopiero w maju 1997 roku, gdy arcymistrz potrafił jedynie w jednej partii wygrać, a w dwóch przegrał z komputerem. Tę datę uważa się za pierwsze szachowe zwycięstwo komputera nad człowiekiem. Po przegranym meczu nic się nie zmieniło. Kasparowowi nikt nie odebrał tytułu mistrzowskiego, a ludzie nadal równie chętnie grają w szachy. Zresztą maszyny przecież budujemy po to, aby robiły różne rzeczy lepiej od nas. Nawet gdyby Deep Blue przegrał w 1997 roku, to jak długo jeszcze człowiek mógłby wieźć prym? Przegrana byłaby tylko kwestią czasu.

Jednak tak naprawdę Deep Blue nie wygrał dzięki temu, że był przełomowym rozwiązaniem w dziedzinie sztucznej inteligencji (praktycznie nie miał z nią nic wspólnego). Specjaliści IBM zapisali do pamięci komputera wszystkie znane rozpoczęcia partii oraz tzw. końcówki (opis, w jaki sposób komputer ma grać, aby po najmniejszej liczbie ruchów wygrać, gdy na planszy pozostaje już tylko kilka bierek). Spora część wiedzy szachowej opiera się na osiągnięciach i wnioskach wyciągniętych przez całe pokolenia świetnych szachistów. Komputer w tym przypadku był bezwzględnym i schematycznym graczem – zwykłą maszyną, wykonującą miliardy elementarnych operacji arytmetycznych, aby osiągnąć swój cel. Nie było w nim żadnej pomysłowości, ryzyka czy blefu, ale jednak i tak pokonał człowieka, ponieważ ten nie jest istotą doskonałą i siłą rzeczy musi popełniać błędy.

Szachy są uważane za „królewską” grę. Jest aż 10324 sposobów (dla porównania: szacuje się, że w znanym nam wszechświecie jest ok. 1080 atomów) przebiegu danej rozgrywki. Najprawdopodobniej istnieje strategia dająca, bez względu na posunięcia gracza, gwarantowany remis lub też zwycięstwo, jednak jest ona nieznana ze względu na zbyt wiele możliwości wszystkich rozgrywek.

Kilka lat temu rozszyfrowano znacznie prostszą grę – warcaby. Jonathan Schaeffer, profesor Uniwersytetu Alberty w Kanadzie, poświęcił prawie całe swoje życie naukowe w celu opracowania doskonałego silnika warcabowego. Ostatnio udowodnił w miesięczniku „Science”, że jego program Chinook w przypadku wybierania przez człowieka najlepszych możliwych posunięć musi zakończyć partię remisem. Gdy człowiek wykona jakikolwiek błąd, jest zdany na przegraną. Jednak i to rozwiązanie nie ma niczego wspólnego ze sztuczną inteligencją.

Sztuczna inteligencja jest dość niewdzięczną dziedziną. Bardzo trudno znaleźć proste i dobrze prezentujące się rozwiązania problemów, z jakimi stykamy się w matematyce, fizyce lub chemii. Dyscyplina ta jest domeną prawie wyłącznie uniwersytetów, choć te często mają bardzo ograniczone fundusze. Nie jest jednak tak, że brak konkretnych osiągnięć. Istnieje kilka ośrodków prowadzących ciekawe i świetnie zapowiadające się projekty.

Łukasz Świerczewski, student Instytutu Informatyki i Automatyki Państwowej Wyższej Szkoły Informatyki i Przedsiębiorczości w Łomży, administrator międzynarodowej platformy Goldbach’s Conjecture Project, działającej w ramach struktury przetwarzania rozproszonego danych BOINC, rozwijanej przez Uniwersytet Kalifornijski w Berkeley.