Deep Blue – narodziny SI?

Pojedynek pomiędzy człowiekiem i maszyną jest bardzo popularnym motywem, powszechnie eksploatowanym przez kulturę popularną. Wystarczy wspomnieć walki toczone z robotami kontrolowanymi przez samoświadomy militarny system Skynet, dążący do unicestwienia ludzkości i przejęcia kontroli nad światem – apokaliptyczną opowieść stanowiącą fabułę filmu Terminator, pojedynek z wytworem mechanicznej ewolucji na kartach powieści Niezwyciężony Stanisława Lema, czy grę o przetrwanie stoczoną pomiędzy załogą statku Discovery One, a pokładowym komputerem Hall 9000, jednym z bohaterów Odysei Kosmicznej Arthura C. Clarke’a.

Do prawdziwej rywalizacji z maszyną doszło w 1996 roku. Rozegrana została w wówczas inauguracyjna partia meczu szachowego, w którym naprzeciwko siebie usiedli arcymistrz Garri Kasparow i pretendent do tytułu – Deep Blue. Maszyny starające się grać w szachy pojawiały się już wcześniej i już wtedy dochodziło do rywalizacji z człowiekiem. Pierwsze programy szachowe pojawiały się w latach 50: obecny jedynie na papierze algorytm Alana Turinga (nigdy nie był testowany z braku odpowiedniej maszyny liczącej), pierwszy uruchomiony program szachowy D.G. Prinza oraz pierwszy grywalny program z 1958 roku. Trzeba było jednak poczekać do roku 1983 aby program Belle jako pierwszy osiągnął poziom mistrza szachowego. Ale dopiero rywalizacja z Deep Blue zakończyła się porażką człowieka.

Deep Blue, komputer mogący w ciągu sekundy poddać analizie 200 milionów zagrań szachowych, był efektem projektu ChipTest rozpoczętego w Carnegie Mellon University przez Feng-hsiung Hsu. W związku z projektem powstał wówczas system komputerowy Deep Thought (Głęboka Myśl). System swa nazwą nawiązywał do jednego z „bohaterów” Autostopem przez Galaktykę, trylogii w pięciu częściach, autorstwa Douglasa Adamsa – powieściowy Głęboka Myśl był komputerem zaprojektowanym przez ultra–inteligentne istoty w celu uzyskania wyjaśnień dotyczących sensu Życia, Wszechświata i Całej Reszty (przy okazji wypływa tu odwieczne pytanie o wzajemne relacje literatury i życia – jak widać w tym przypadku to życie naśladuje sztukę). Analizy Feng-hsiung Hsu zostały docenione, czego wyrazem była posada w IBM. Dalsze prace badawcze nad problemami obliczeń rozproszonych (współdzielonych zasobów obliczeniowych) zaowocowały powstaniem Deep Blue. System używał 32. węzłowego klastra IBM RS/6000 SP, po 8 procesorów w każdym węźle (256 procesorów wielkiej skali integracji). Program obsługujący grę w szachy napisany został w języku C i pracował w systemie operacyjnym AIX (odmiana systemów Unixowych). Parametry wprowadzone były do systemu w uogólnionej formie – ich optymalne wartości zostały wyliczone przez sam system na podstawie analizy tysięcy mistrzowskich partii szachowych.

Programy szachowe opierają się na algorytmie min-max gdyż nie ma takich jednostek obliczeniowych mogących przeprowadzić analizę wszystkich możliwych kombinacji posunięć na szachownicy w regulaminowym czasie szachowej rozgrywki (czyli tak szybko aby zastosować algorytm typu brute force). W praktyce program tworzy drzewo wszystkich możliwych posunięć do pewnej głębokości, analizuje te ruchy określając sytuacje po ich wykonaniu i dokonuje optymalnego posunięcia. Liczba możliwych kombinacji jest ogromna. Dlatego algorytmy dokonują różnych metod ograniczania obszaru analizy głębokości drzewa – najpopularniejszą metodą jest przeszukiwanie alfa-beta, w którym pod uwagę nie są brane kombinacje będące opcją gorszego ruchu od poprzedniej przeanalizowanej kombinacji. Innym sposobem jest tzw. iteracyjne pogłębianie – przeszukanie drzewa gry do pewnej głębokości, wybranie kilku najbardziej obiecujących ruchów i pogłębienie ich analizy aż do momentu znalezienia jednego najkorzystniejszego posunięcia. Tego typu optymalizacje bardzo szybko prowadzą do odrzucenia wielu ewidentnie złych kombinacji. Kolejną optymalizacją jest baza końcówek – zawiera ona rozwiązanie wszystkich partii, w których na planszy pozostała niewielka, określona liczba figur. W tym wypadku łatwo jest obliczyć wszystkie warianty aż do zakończenia partii. Jeśli program napotka jedną z takich sytuacji ma absolutna pewność jej oceny i nie musi przeprowadzać obliczeń pozycji z zastosowaniem rozwiązań heurystycznych.

W pierwszym meczu rozegranym w 1996 roku Deep Blue wygrał jedną z partii, przegrywając w efekcie cały mecz. Odnotowana została jednak pierwsza oficjalna porażka aktualnego mistrza świata z maszyną. Rok później doszło do rewanżu. Mecz zakończył się tym razem zwycięstwem Deep Blue – czołówki gazet obwieszczały początek ery Sztucznej Inteligencji.

Zasługę za to zwycięstwo zebrał pojedynczy ruch komputera. W 44. ruchu pierwszej partii Deep Blue wykonał posunięcie wskazującą na zamysł pewnej strategii. Ruch był wyrafinowany w swym charakterze i zaskakujący – Kasparow był zdumiony. Stwierdził (nie bez ironii), że taki styl gry musi być przejawem jakiejś wyższej inteligencji. Po przegranym meczu on, jak i inni obserwatorzy byli zgodni, iż ruch był zbyt skomplikowany dla maszyny, sugerując ludzką interwencję. Nadmienić należ także, iż odmówiono arcymistrzowi wglądu w wydruki obrazujące „sposób myślenia” komputera, o które Kasparow prosił od samego początku pojedynku. Czy zatem Kasparow przegrał z maszyną czy jednak z korporacją? W istocie zespół IBM modyfikował algorytm na bieżąco pomiędzy rozgrywanymi partiami aby maszyna mogła lepiej „czuć” styl gry Kasparowa. Jednak większość czynności dotyczyła podobno naprawy pewnego błędu powstałego w implementacji oprogramowania... 15 lat później jeden z architektów Deep Blue, Murray Campbell, twierdził, że ów niezwykle subtelny ruch był wynikiem właśnie owego błędu. Błąd polegał na tym, iż komputer nie mogąc zdecydować się na optymalne posunięcie, przy kończącym się czasie, wybrał po prostu zagranie losowo z puli możliwych rozwiązań. Druga partia tego pojedynku okazała się decydująca. Kasparow rozkojarzony nietuzinkowym zagraniem komputera w pierwszym pojedynku i jego zwycięstwem, oraz kolejnymi dobrymi posunięciami maszyny pozwolił zepchnąć się do defensywy i w efekcie poddał partię. Pomeczowa analiza wykazała jednak, że arcymistrz popełnił błąd – rozgrywka była bowiem remisowa w momencie kiedy Kasparow zdecydował się poddać pojedynek. Do końca meczu nie zdołał się już pozbierać. Specjaliści analizujący tę rozgrywkę byli zdania, iż Kasparow nie przegrał z komputerem. Przegrał z emocjami. Maszyna nie ulega presji, nie panikuje, nie rezygnuje. „Myślenie” Deep Blue nie było intuicyjne ani fantazyjne. Polegało na liczeniu. Maszyna przeliczała ogromną liczbę różnych możliwych wariantów i taki styl „myślenia” sprawdza się doskonale właśnie podczas gry w szachy, gdzie występuje niewiele parametrów (32 figury) i skończona (choć ogromna) liczba kombinacji. Zadecydował więc jeden błąd w oprogramowaniu. Ludzki błąd doprowadził do zwycięstwa maszyny – co daje do myślenia w kontekście rozważań nad pracami dotyczącymi Sztucznej Inteligencji.

Czy należy zatem obawiać się futurystycznych wizji dominacji Sztucznej Inteligencji? Na dzień dzisiejszy moment taki wydaje się dosyć iluzoryczny i odległy, jednak wpływowe postacie nauki i biznesu nakazują ostrożność. Zarówno Elon Musk, jak i Stephen Hawking są zdania, iż już dziś należy stworzyć odpowiednie prawne regulacje obowiązujące podczas prac nad sztuczną inteligencją. Kontrola nad SI sprawowana przez jakąkolwiek pojedynczą korporację bądź organizację zdaniem Muska jest niedopuszczalna. Aby przeciwdziałać ewentualnym niebezpieczeństwom, powołana została organizacja Open AI, której zadanie polega na wypracowaniu metod zwiększających szansę człowieka w wypadku ewentualnego starcia ze Sztuczną Inteligencją oraz Future of Life Institute dbająca by technologie przyszłości nie stanowiły zagrożenia dla ludzkości. Opracowany został kodeks zasad, według których powinni postępować ludzie pracujący nad SI. 23 „przykazania” zwane zasadami z Asimolar (nazwa konferencji) poświęcone zostały właściwej realizacji samych badań oraz kwestiom etyki i wartości. Wszystko po to aby wizja Judgment Day okazała się tylko filmową fantazją.

Pavel Kroupka

Galeria