populacji rozwiązań coraz lepiej odpowiadających oczekiwaniom konstruktora/programisty.
Metody ewolucyjne są wykorzystywane nie tylko do badania samej ewolucji i procesów genetycznych, lecz także w innych dziedzinach. Pomagają od-
Najważniejszą cechą świata ożywionego jest jego zdolność do ewolucji. Nic dziwnego, że już pół wieku temu podjęto próby odwzorowania tego mechanizmu. Proces zaczyna się od przygotowania pewnej losowej populacji programów/urządzeń. Zostaje ona poddana ocenie przystosowania, przeprowadzanej przez człowieka lub - częściej - automatycznie. Obiekty najlepiej spełniające kryteria zostają dopuszczone do reprodukcji, polegającej na tworzeniu nowych osobników przez krzyżowanie i (rzadkie) wprowadzanie losowych mutacji. Cykl rozwoju programu/urządzenia wraca następnie do etapu selekcji. Wielokrotne iteracje prowadzą do powstawania
wzorować zjawiska socjologiczne i socjoekonomiczne, astronomiczne (analiza różnych populacji gwiazd w galaktykach), znajdują zastosowanie w robotyce. Są też przykłady bliższe codzienności: inżynieria materiałowa (projektowanie nowych kompozytów), minimalizowanie opóźnień w sieciach połączeń kolejowych, projektowanie systemów dystrybucji (np. wody).
Pozbawione ludzkich nawyków i intuicji, narzędzia korzystające z metod ewolucyjnych mogą znaleźć za-
&
skakująco oryginalne i efektywne rozwiązania. Najciekawszych przykładów dostarcza tu elektronika ewolucyjna - jej metodami odtworzono kilkadziesiąt opatentowanych wcześniej układów elektronicznych i wynaleziono wiele nowych, efektywniejszych od wymyślonych wcześniej przez człowieka. Podobne mechanizmy stosuje się w przypadku programowalnych układów logicznych FPGA (Field Programmable Gate Array), które mogą dynamicznie zmieniać swoją strukturę. Układy takie ewoluują i w zasadzie działają później według reguł nieznanych ich twórcom. (JCH)
n |
0’ ! |
ś |
I |
K; |
/ |
Y K i
Odtworzenie procesów leżących u podstaw ludzkiej świadomości, inteligencji i kreatywności należy do największych wyzwań, jakie stoją przed nauką. Pewne sukcesy osiągnięto przez odwzorowanie biologicznej struktury tkanki nerwowej człowieka. Podobnie jak prawdziwy, sztuczny neuron ma wiele wejść. Docierające do nich sygnały są mnożone przez odpowiednio dobrane wagi statystyczne i sumowane. Jeśli wynik przekroczy próg pobudzenia neuronu, na wyjściu pojawia się
impuls, zazwyczaj przekazywany do innych neuronów w sieci. Układ połączonych neuronów - sieć neuronowa - wykazuje wiele ciekawych cech, np. ma zdolność uczenia się. Bardziej złożone modele potrafią ponadto przekonfigurować połączenia i modyfikować liczbę neuronów zaangażowanych w rozwiązanie problemu.
Sieci tego typu znajdują zastosowanie nie tylko w badaniach nad sztuczną inteligencją, ale wszędzie tam, gdzie nie jest znana złożoność problemu: w symulatorach, sterowaniu robotami, w identyfikacji samolotów, w układach wspomagania kierowcy, w sortowaniu listów. Spotykamy je zarówno w systemach wyszukiwania bomb na lotniskach, jak i w wyszukiwarkach internetowych.
Właśnie: internet. Istnieje tu wiele botów, których działanie opiera się na sieciach neuronowych i które potrafią (jeszcze dość nieporadnie) prowadzić konwersację. Niekiedy symulują zachowanie rzeczywistych osób, jak np. bot stworzony w ramach John Lennon Artificial Intelligence Project. Sieci neuronowe kryją się także za efektownymi, interaktywnymi awatarami, które można oglądać w wyszukiwarkach Ms. Dewey i Left vs Right lub - w postaci wirtualnej asystentki Anny - na stronie internetowego sklepu firmy Ikea.
Warto również wspomnieć o systemach ekspertowych. Okazuje się, że wielokrotnie pracę eksperta można zredukować do stosunkowo łatwego do zalgorytmizowania zestawu pytań i odpowiedzi. Wyposażone w odpowiedni zasób danych (wiedzę) i system automatycznego wnioskowania (umiejętności), systemy ekspertowe pomagają nam w szybkim otrzymaniu porady. Systemy takie często są zbudowane z odpowiednio przygotowanych drzew decyzyjnych; bardziej zaawansowane wersje potrafią się nawet uczyć. (JCH)