Duch w maszynie


Klatka z patyczakami

Jeden z najciekawszych obecnie projektów związanych z zagadnieniem sztucznego życia to dzieło młodych polskich naukowców. Symulacja życia, a przede wszystkim ewolucji prostych organizmów (nazwanych właśnie "framsticks"), uwzględniająca najnowsze badania (między innymi wykorzystująca logikę rozmytą), a jednocześnie niesłychanie atrakcyjna nawet dla laików. Obserwowanie ewolucji kolejnych pokoleń stworzonek zamieszkujących wirtualny świat, podglądanie ich życia "codziennego": szukania źródeł energii, walki, prób biegu i pływania - to prawdziwa przyjemność! Niewątpliwą zaletą Framsticks, oprócz rzetelnych podstaw naukowych, jest wizualna atrakcyjność. Organizmy oglądamy w ich naturalnym środowisku, w realistycznej grafice 3D, a dodatkowe narzędzia umożliwiają stworzenie grafik i filmów na bardzo wysokim poziomie.

Duch w maszynie

John Conway, matematyk brytyjski, twórca, "Gry w życie"

Patyczaki w projekcie Framsticks mają własny genotyp, odpowiednik kodu DNA występującego we wszystkich prawdziwych organizmach. Patyczaki są stworzeniami o uproszczonej budowie: składają się z kości oraz mięśni, mają też elementy umożliwiające wchłanianie energii oraz receptory zapachu, dotyku i równowagi. Sterowanie ruchem patyczaka odbywa się za pomocą sieci neuronowej. Stworzenia poruszają się w wirtualnym trójwymiarowym środowisku, pozyskując energię z jej źródeł lub poprzez zabicie innego stworzenia. Gdy wyczerpią swój zapas energii na ruch i walkę - giną. Kolejne pokolenia stworków podlegają mutacjom. Jeśli w wyniku mutacji powstanie patyczak lepiej przystosowany do panujących warunków - przetrwa i wygeneruje kolejne stworki, jeśli mutacja podąży w złym kierunku - zginie, nie przekazując dalej swojego genotypu. Zupełnie jak w życiu... Ruch stworzeń został zaprojektowany bardzo starannie i realistycznie, przy użyciu specjalnego silnika fizycznego, opartego na metodzie elementu skończonego i dynamice bryły sztywnej.

Duch w maszynie

Interfejs programu Framsticks jest dość skomplikowany, ale warto poświęcić mu dłuższą chwilę.

Patyczaki możesz hodować także w swoim komputerze. Odpowiedni program można pobrać ze stronyhttp://www.frams.alife.pl , znajdziesz go również na naszych krążkach CD/DVD. Program jest klasy shareware, dlatego aby w pełni korzystać z jego możliwości (a przede wszystkim - wizualizacji 3D), powinieneś go zarejestrować (kosztuje to 35 USD, w wersji edukacyjnej - 25 USD). Obsługa aplikacji nie jest intuicyjna, na początkowym etapie zabawy możesz mieć trochę problemów z założeniem hodowli. Najlepiej skorzystać z gotowych stworzeń, których genotyp możesz dowolnie modyfikować lub też poddawać losowym mutacjom. Każdy z patyczaków, chociaż to bardzo proste stworzenie, ma własne imię i nazwisko. Ulubionym patyczakiem w mojej hodowli był Aruzir Etehohutu, meduzopodobny stwór zamieszkujący środowisko wodne. Niestety, kolejne mutacje, czyli potomkowie Aruzira, okazały się zupełnie nieprzystosowane i szybko ginęły, tracąc energię na mało wydajne próby poruszania się.

Jeśli chciałbyś wygenerować tak efektowne, realistyczne grafiki, jak te, które oglądasz w piśmie, użyj specjalnego dodatku do Framsticks, pliku definicji do programu POV-Ray (znana aplikacja renderująca realistyczne obrazy 3D). POV-Ray w wersji również znajdziesz na naszych krążkach.

Duch w maszynie

Realistyczna wizualizacja patyczaka wyhodowanego w programie Framstick.

Jeśli uznasz program Framsticks za zbyt skomplikowany, wypróbuj starsze i nieco prostsze programy do hodowli wirtualnych organizmów (wszystkie znajdziesz na naszych krążkach). GenePool 3 to bardzo prosty symulator wirtualnej sadzawki z pływającymi stworzonkami. Użytkownik nie ma wielu możliwości wpływania na losy żyjątek, może jedynie wybrać sposób doboru partnera "reprodukcyjnegoÓ: czy będzie to ten o najbardziej podobnym kolorze, czy ten największy, czy może najbardziej ruchliwy. Żyjątka poruszają się, spotykają i rozmnażają. Najlepszą metodą korzystania z GenePool 3 jest uruchomienie programu, obejrzenie różnorodnych stworzonek zamieszkujących wirtualny staw i pozostawienie ich swojemu losowi na dłuższy czas. Gdy po kilku godzinach ponownie odwiedzisz poletko doświadczalne, ujrzysz zupełnie inne stworzenia! W podobny sposób działa program DarwinPond, aplikacja przeznaczona raczej do starszych systemów operacyjnych. Tutaj możesz ręcznie umieszczać żyjątka, dodawać i usuwać zasoby pożywienia, wczytywać różne rodzaje stworzeń z plików.

Porozmawiaj z nią

Duch w maszynie

Rozmowy z maszyną to nie tylko zabawa - komercyjne projekty tworzone są także w Polsce.

Odrębną i intrygującą kategorią projektów związanych ze sztuczną inteligencją są programy symulujące rozmowę z żywym człowiekiem w języku naturalnym (przekazywanym za pomocą klawiatury i ekranu). Takie aplikacje, których zadaniem jest, między innymi, pomyślne przejście testu Turinga, korzystają na równi z metod sztucznej inteligencji i lingwistyki matematycznej, a ich twórcy często stosują różne sztuczki psychologiczne, aby podtrzymać wrażenie konwersacji z żywym człowiekiem.

Jednym z pierwszych programów symulujących rozmowę z człowiekiem była ELIZA z 1968 roku. Aplikacja miała tylko 240 wierszy kodu! Eliza nie była zaawansowanym programem, po chwili rozmowy każdy mógł się zorientować, że ma do czynienia z maszyną. Najnowszą wersję Elizy - dosową, działającą bez problemu w Windows, znajdziesz na naszych krążkach.

Pierwszy poważny sprawdzian algorytmów symulujących rozmowę z człowiekiem odbył się w 1991 roku. Wyniki były co najmniej interesujące. Za najbardziej ludzki uznano program (!) gawędzący na luźne tematy, a za komputer uznano człowieka - znawcę dzieł Szekspira. Cytowanie z pamięci fragmentów sztuk wielkiego Williama zasugerowało osobom poddającym się testowi, że mają do czynienia z maszyną... Twórca polskiego programu AnA, symulującego konwersację z żywą istotą, testował możliwości swojej aplikacji na... internautach rozmawiających na kanałach IRC. Wielu z nich nie zauważyło, że mają do czynienia z wirtualną dziewczyną...

Wydawać by się mogło, że programy symulujące rozmowę z żywym człowiekiem, to - na obecnym etapie - wyłącznie zabawa. Otóż nie! Działa już w Polsce firma (http://www.fido.pl ), wykonująca komercyjne aplikacje internetowe, tzw. linguaboty, działające w charakterze wirtualnych przewodników po serwisach WWW, "pracowników" biura obsługi klienta itd. Pierwszy poważny projekt został już zrealizowany i wdrożony. Wirtualnego pracownika możesz spotkać na stroniehttp://www.sterprojekt.pl .

procedura ObliczSasiadow;

var

i,j: Integer;

begin

for i:=1 to 100 do

for j:=1 to 100 do

begin

// oblicz liczbę sąsiadów,

// nie zwracamy uwagi na brzegi obszaru

Sasiedzi[i][j]:= Organizm[i-1][j-1]+Organizm[i]

[j-1]+Organizm[i-1][j]

+Organizm[i+1][j]+Organizm[i][j+1]+Organizm[i+1] [j+1]

+Organizm[i+1][j-1]+Organizm[i-1][j+1];

end;

end;

procedure NastepnePokolenie;

var

i,j: Integer;

begin

for i:=1 to 100 do

for j:=1 to 100 do

begin

//czy organizm przeżył?

if (Sasiedzi[i][j]=3) then

Organizm[i][j]:= 1

else if (Sasiedzi[i][j]=2) and (Organizm[i] [j]=1) then

Organizm[i][j]:= 1

else

Organizm[i][j]:= 0;

end;

end;