Profesor Boryczka dzieli swoje zainteresowania między kulturę Dalekiego Wschodu a szukanie efektywnych algorytmów rozwiązujących zadania optymalizacyjne. Ślady przestrzeni prywatnej i zawodowej można dostrzec w uczelnianym gabinecie. Na półkach z prawej strony znajdują się, między innymi, liczne książki poświęcone tematyce sztucznej inteligencji, po lewej zaś, na ścianie, wiszą malowane na jedwabiu obrazki przedstawiające postaci gejsz.
AI – Artificial Intelligence
Jedenaście lat temu Steven Spielberg wyreżyserował w hołdzie Stanleyowi Kubrickowi film science fiction A. I. Sztuczna inteligencja. Niezwykle precyzyjny pod kątem technicznym obraz opowiadał powracającą w kulturze historię chłopca-maszyny, który, niczym Pinokio, pragnie stać się prawdziwym człowiekiem. Z jednej strony, jest to obraz budzący współczucie, z drugiej zaś – niepokój. Co jakiś czas powraca bowiem także wątek maszyn, które dzięki swojej inteligencji zagrażają światu widzianemu oczami człowieka, tak zwanej ludzkiej przestrzeni. Póki co, możemy chyba czuć się bezpiecznie, poszukiwania „boskiej cząstki” wciąż trwają. Tymczasem pojęciu sztucznej inteligencji bliżej do Disneyowskiego Króla Lwa niż do Davida-Pinokia.
Warto zatem rozpocząć od informatycznego rozumienia AI. Zagadnieniami związanymi z inteligencją obliczeniową i algorytmiką zajmuje się od kilkunastu lat prof. UŚ dr hab. Urszula Boryczka, która przez przypadek, jak sama zaznacza, znalazła się na pograniczu wielu nauk: informatyki, neurologii, kognitywistyki, nauk społecznych czy biologicznych, łamiąc tym samym wiele stereotypów. Przypadek ten, naznaczony dużym stopniem prawdopodobieństwa, okazał się jednak szczęśliwy: na początku była żmudna praca, potem narodziła się pasja.
Inteligencja maszyny nie jest utożsamiana z inteligencją człowieka. Nie można, na przykład, obliczyć poziomu inteligencji urządzenia. Podstawą staje się bowiem inny aspekt naszej sprawności umysłowej, mianowicie zdolność uczenia się. Jak wyjaśnia profesor Boryczka, w latach pięćdziesiątych Alan Turing opracował test na inteligencję maszynową. Nie chodzi o odpowiedź na pytanie, czy maszyna potrafi lub będzie potrafiła myśleć, lecz czy w oparciu o przetwarzane dane poprawi jakość swojego działania, innymi słowy – czy będzie mogła się uczyć? W tym miejscu otwiera się możliwość budowania takich algorytmów, które są w stanie wygrać z człowiekiem, na przykład w rozgrywce szachowej.
Turek/ Ajeeb/ Mephisto
Na początku była mistyfikacja. W 1769 roku austriacki filozof i inżynier skonstruował mechanicznego „Turka” – automat grający w szachy. Wielu postanowiło się zmierzyć z zadziwiającą maszyną, w tym sam Napoleon Bonaparte, który rozgrywkę przegrał. Przez niemal sześćdziesiąt lat próbowano odkryć tajemnicę urządzenia. Udało się to dopiero Edgarowi Allanowi Poemu, który w 1836 opublikował esej zatytułowany „Maelzel’s Chess Player”. Maszyna okazała się pseudo-automatem, we wnętrzu którego ukryty był człowiek, mistrz szachowy. Kontynuacją pomysłu von Kempelena był „Ajeeb”, zaprojektowany przez Charlesa Arthura Hoppera w 1868 roku. Oba urządzenia spłonęły. Słynny był również „Mephisto” (projekt Charlesa Gümpela), wystawiany w drugiej połowie XIX wieku. Sensacyjne było jego zwycięstwo w turnieju Krajowego Związku Szachowego. Został ulepszony w stosunku do swoich poprzedników, figura Mefistofelesa znajdowała się przy stoliku, pod którym nie było żadnej skrzyni. Pozycje na szachownicy były przenoszone dzięki systemowi elektrycznemu na deskę kontrolną umieszczoną w sąsiednim pokoju, w którym siedział mistrz szachowy.
Historia pseudo-automatów nie zakończyła się jednak na mistyfikacjach. Rozwój elektroniki i cybernetyki, w tym powstanie maszyn liczących, komputerów, umożliwił zbudowanie programów pozwalających na samodzielną grę człowieka z maszyną. Warto wspomnieć, że pierwszym systemem, który wygrał partię szachów ze światowym mistrzem Garii Kasparowem, był komputer Deep Blue, stworzony przez IBM. Upłynęło ponad dwieście lat od skonstruowania „Turka” von Kempelena.
W jaki sposób można wobec tego skonstruować program zdolny, na przykład, do gry w szachy? Otóż, jak wyjaśnia profesor Boryczka, podstawą systemu inteligentnego jest tak zwana baza wiedzy, budowana przez informatyków przy współpracy z ekspertami. W różnych systemach nazywane jest to inżynierią wiedzy. Dany problem maszynowy reprezentowany jest przez ciąg symboli, które są przez ten system rozpoznawane i w następnej fazie analizowane. – Jeżeli zatem człowiek boryka się z jakimś problemem, którego nie jest w stanie sam rozwiązać, na przykład ze względu na dużą ilość informacji, wykorzystuje wówczas komputer, który przetwarza owe informacje o wiele szybciej. Mając takie narzędzie w rękach, nie dążymy do tego, by maszyna zastąpiła człowieka, lecz by mu pomagała – wyjaśnia badaczka. W latach osiemdziesiątych rozumiano sztuczną inteligencję właśnie w kategoriach systemów wspomagania decyzji, które mają pomagać człowiekowi przy rozwiązywaniu wielu problemów, zarządzaniu pracą czy podejmowaniu szybszych decyzji tam, gdzie czas ma duże znaczenie, a więc na przykład w medycynie.
W tym punkcie okazuje się, że wiele wspólnego ma medycyna z grami logicznymi. Otóż podstawą takiego systemu jest zgromadzona wiedza ekspercka, na podstawie której informatycy budują bazę. Pojawiają się jednak dwa problemy. Po pierwsze, trzeba zdefiniować eksperta dziedzinowego (jest nim oczywiście człowiek), po drugie – należy zawsze pamiętać o charakterze ludzkiej wiedzy, która, nieustannie się rozwijając, jest niepewna i niepełna. W przypadku medycyny wiedzy dostarcza lekarz, w przypadku szachów – naturalnie gracz. – Jedną z najpopularniejszych starochińskich gier planszowych jest „go”. Mam wśród swoich znajomych miłośnika tej gry. Najpierw zaczął brać udział w turniejach, a potem napisał program, który zajął wysokie miejsce w jednym z europejskich konkursów. Jeśli ten człowiek dobrze gra w „go”, to potrafi również „przedstawić” reguły maszynie, zaimplementować je w postaci algorytmu, który będzie w stanie pracować jak człowiek – wyjaśnia profesor Boryczka.
Druga wspomniana kwestia to niepewność wiedzy z zakresu danej dziedziny. Tutaj, z kolei, wprowadza się logiczne wnioskowanie. Najprostszym narzędziem okazuje się rachunek prawdopodobieństwa. Obok tradycyjnej logiki dwuwartościowej (opartej na opozycji prawda-fałsz), rozwijają się logiki wielowartościowe (rozmyte i przybliżone) i to one stają się głównym narzędziem w inżynierii wiedzy. Warto dodać, że twórcą zbiorów przybliżonych był Polak, Zdzisław Pawlak. Algorytmy przybliżone, stochastyczne, czyli losowe, którymi zajmuje się właśnie profesor Boryczka, bazują na przekonaniu, iż natura wie lepiej, jak poradzić sobie z trudnym problemem. W informatyce są to tak zwane problemy z klasy najtrudniejszej NP-zupełnej, w obrębie której czas znalezienia rozwiązania wzrasta tak gwałtownie, iż zmuszeni jesteśmy ograniczyć się do rozwiązania przybliżonego, suboptymalnego.
SI – Swarm Intelligence
Błędem jest utożsamianie języka systemów komputerowych z językiem naturalnym. Ze względu na wielokanałowość ludzkiej komunikacji, niemożliwe jest przekształcenie go na język maszyny. Dlatego też absurdalne wydaje się pytanie o to, czy maszyny mogą, posługując się językiem naturalnym, myśleć jak ludzie i formułować właściwe zdania. Otwiera się natomiast przestrzeń dla inteligencji stadnej (SI), którą także zajmuje się profesor Boryczka. Jest to jedna z technik sztucznej inteligencji, której podstawą jest wiedza o społecznych zachowaniach w określonym systemie, nie będącym strukturą, lecz zbiorem o charakterze zdecentralizowanym. Inspiracji do tworzenia takich algorytmów dostarcza informatykom natura.
Zanim jednak profesor Boryczka zainteresowała się inteligencją stadną, w swojej rozprawie doktorskiej analizowała przetwarzanie języka naturalnego. Próbowała zaadaptować wnioski rosyjskiego badacza Biełonogowa do języka polskiego, ale, jak sama przyznaje, była to praca trudna i żmudna. Wówczas prof. dr hab. Mirosław Dąbrowski wspomniał o ciekawych algorytmach mrówkowych. – Nauce zwykle towarzyszy przypadek. Chociaż… opatrzony dużym stopniem prawdopodobieństwa. Kiedy profesor wspomniał o tych algorytmach, ja usłyszałam: algorytmy Mrówkowa i, pamiętając o doświadczeniach z Biełonogowem, powiedziałam, że nie zamierzam się nimi zajmować. Kiedy odkryłam, że nie mają nic wspólnego z językiem rosyjskim, a w swej prostocie kryją jednocześnie wiele niejasności, okazały się pociągające – wspomina badaczka. Dochodzi do tego jeszcze upór i konsekwencja. – Kiedy mówiłam publicznie o algorytmach mrowiskowych w latach dziewięćdziesiątych, wielu mężczyzn udawało, że śpi. Postanowiłam udowodnić tym panom, że algorytmy inspirowane biologią są przyszłością informatyki. Dziś o interakcjach mówią już wszyscy – dodaje. W przypadku systemów mrowiskowych, inspirujący okazał się sposób komunikowania owadów. Wydzielają na zewnątrz feromony, które wywołują określone reakcje fizjologiczne. Dzięki rozróżnianiu zapachu, są w stanie się komunikować, aby, na przykład, móc odnaleźć najkrótszą drogę do pożywienia (tzw. furażowanie). Dzięki takiemu modelowi możliwe stało się zbudowanie algorytmu składającego się z wielu agentów (takich właśnie pojedynczych mrówek), które charakteryzują się inteligencją zbiorową. Opisana interakcja pozwala na szybsze znalezienie bliskiego optymalnemu rozwiązania problemu. W praktyce algorytmy te mogą być stosowne, na przykład, przy rozwiązywaniu problemów harmonogramowania prac w systemie produkcyjnym.
Inaczej wykorzystuje się natomiast wiedzę o zachowaniach stadnych. Punktem wyjścia stała się ponownie natura. Naukowcy byli zafascynowani bezkolizyjnym ruchem zwierząt w stadzie, kluczem żurawi czy ławicą ryb, które mogą zmieniać kierunek niemalże równocześnie, w niezwykłej synchronizacji. Analiza zachowania pozwoliła skonstruować model odpowiadający tym zachowaniom, a następnie opracować algorytm.
Takie rozwiązania wykorzystywane są, między innymi, w efektach specjalnych w filmach. Pierwszy raz można było je zobaczyć w Królu Lwie, gdy stado gazeli zbiegało ze zbocza, jak wyjaśnia profesor Boryczka. Inne przykłady to chociażby stado orków we Władcy Pierścieni czy poruszające się synchronicznie skarabeusze w Mumii. Wszystkie te efekty bazują właśnie na inteligencji stadnej.
Warto zaznaczyć raz jeszcze, że systemy tworzone w obrębie działu informatyki, jakim jest sztuczna inteligencja, mają przede wszystkim służyć człowiekowi poprzez wskazywanie najbardziej efektywnego rozwiązania (systemy eksperckie), jak również znajdują swoje zastosowanie w rozrywce. U podstawy każdego tworzonego systemu znajduje się jednak człowiek wraz ze swoją wiedzą, wyobraźnią i determinacją.