• Nie Znaleziono Wyników

Archipelag sztucznej inteligencji. Część III Ryszard Tadeusiewicz

N/A
N/A
Protected

Academic year: 2021

Share "Archipelag sztucznej inteligencji. Część III Ryszard Tadeusiewicz"

Copied!
9
0
0

Pełen tekst

(1)

Wprowadzenie

W dwóch poprzednich numerach miesięcznika „Napędy i Sterowanie” opisywałem, czym jest sztuczna inteligencja (AI).

Dla ożywienia narracji porównałem sztuczną inteligencję do archipelagu wysp, a poszczególne metody AI opisałem jako wyspy (rozumiane oczywiście metaforycznie, ale na zasadzie umowy pisane bez cudzysłowu). W grudniowym numerze NiS (z ubiegłego roku) opisałem w ten sposób metody symboliczne, sieci neuronowe i systemy ekspertowe. W numerze stycznio- wym prezentowałem metody zbiorów rozmytych i logiki roz- mytej, zbiory przybliżone i rozpoznawanie obrazów (pattern recognition). Dzisiaj kilka kolejnych metod – opisywanych jako wyspy, ale zaprezentowanych solidnie poprzez podanie najważ- niejszych cech rozważanych metod. Jako pierwsze omówimy metody analizy skupień.

Analiza skupień (cluster analysis)

Metaforyczny obraz wyspy, symbolizującej metody analizy skupień, przedstawia rysunek 1.

Metody analizy skupień są w pewnym sensie odwrotne w sto- sunku do omawianych w poprzednim artykule (ze stycznia br.) metod rozpoznawania obrazów. Przy rozpoznawaniu obrazów mamy z góry ustalone pewne kategorie, a algorytm pattern recognition ma dla nowego obiektu ustalić, do jakiej katego- rii można go zaliczyć. Natomiast przy analizie skupień mamy do dyspozycji dane wielu obiektów, a algorytm cluster analysis ma ustalić, do ilu skupień (odpowiedników kategorii) można te obiekty przyporządkować i jak podzielić rozważane obiekty pomiędzy wykryte skupienia (rys. 2).

Żartobliwa ilustracja tego, czym jest skupienie pokazana jest na rysunku 3.

Dość często metody analizy skupień są stosowane do tego, by prawidłowo zdefiniować zadanie rozpoznawania [1].

W metodach analizy skupień chodzi zwykle o wykrycie (i wykorzystanie!) faktu, że pewne obiekty są do siebie podobne.

Zwykle poznaje się to po tym, że w tak zwanej przestrzeni cech (omawianej w poprzednim artykule) ich reprezentacje są blisko siebie – tak jak te pingwiny na rysunku 3 albo palmy występujące w dwóch skupieniach na rysunku 1. Takie blisko siebie położone obiekty można zgrupować, a potem trakto- wać jednakowo we wszystkich procesach wykonywanych na tych danych – na przykład przy podejmowaniu decyzji. Na kilku kolejnych rysunkach pokazano etapy takiego grupo- wania. Na rysunku 4 pokazano stan początkowy, kiedy każdy obiekt jest traktowany indywidualnie i żadnych skupień się nie wykrywa.

Zastosowanie metody analizy skupień polega na tym, żeby umieścić obiekty położone blisko siebie w jednym skupieniu (klastrze). Owo skupienie w dalszej analizie będzie zastępowało

Archipelag sztucznej inteligencji. Część III

Ryszard Tadeusiewicz

Rys. 1. Wyspa symbolizująca metody analizy skupień

Rys. 2. Porównanie działania rozpoznawania obrazów (u góry) i analizy skupień (u dołu). Ważna uwaga przy analizie tego rysunku: liczba N (obiektów wyznaczających skupienia) jest znacznie większa od liczby n wyznaczonych skupień

Rys. 3. Przykładowe skupienie

reklama

(2)

reklama

Żeby zaznaczyć, przy jakiej odległości nastąpiło połącze- nie określonych obiektów, efekty pracy analizy skupień często przedstawia się w postaci tak zwanego dendrytu (rys. 7).

Jak widać na rysunku – im większą odległość dopuścimy jako umożliwiającą łączenie obiektów w jedno skupienie, tym bardziej liczna jest zawartość tego skupienia. Na końcu, przy przyjęciu bardzo dalekiego zasięgu procesu grupowania, wszystkie obiekty zlewają się w jedno skupienie, co oczywiście

Rys. 4. Punkt wyjścia do analizy skupień. Obiekty nie są pogrupowane

Rys. 5. Pierwszy etap grupowania – wykryto 4 skupienia

Rys. 6. Zmiana liczby skupień na skutek zmiany odległości, przy której następuje łączenie obiektów

Rys. 7. Prezentacja wyniku działania analizy skupień w postaci dendrytu. W lewym górnym rogu pokazano rozmieszczenie obiektów w przestrzeni cech

zawarte w nim pojedyncze obiekty (rys. 5). Korzyść jest taka, że skupień jest znacznie mniej niż obiektów.

Kluczowym zagadnieniem jest określenie odległości, która pozwala zaliczyć obiekty do jednego skupienia. Im mniejsza jest ta odległość, tym lepiej skupienie może zastępować w dal- szych analizach zawarte w nim obiekty. Z drugiej jednak strony liczba skupień jest tym mniejsza, im ta odległość będzie więk- sza (rys. 6).

reklama

(3)

jest całkiem nieprzydatne. Żeby uzyskać poprawne grupowanie, trzeba przyjąć (zwykle arbitralnie, bo tu nie ma dobrych proce- dur automatycznych) jakiś poziom „cięcia” dendrytu. Na rysun- kach 8 i 9 pokazane są skutki wyboru niskiej i wysokiej wartości cięcia. W badaniach, których te rysunki dotyczą, przestrzenią cech był zbiór danych społeczno-ekonomicznych poszczegól- nych polskich województw. Ich nazwy są wypisane na prosto- kątach symbolizujących te obiekty w dolnej części rysunku, zaś dendryt powstały podczas ich grupowania z coraz większym dozwolonym dystansem narysowano powyżej.

Gdy przyjmie się małą wartość wysokości cięcia (czerwona strzałka)– powstanie 7 skupień, pokazanych na rysunku 8.

W poszczególnych skupieniach zebrane zostały obiekty rze- czywiście bardzo do siebie podobne, ale do pewnych zastoso- wań tak duża liczba skupień jest niewygodna. Możemy więc wysokość cięcia dendrytu podnieść (rys. 9).

Otrzymujemy wtedy zaledwie trzy skupienia województw – ale zdecydowanie sensownie pogrupowanych.

Skupienia mogą grupować większe lub mniejsze ilości danych, co zilustrowano na rysunku 10, prezentując zamiast grup drzew wyższe albo niższe pojedyncze drzewa – właśnie reprezentu- jące owe skupienia i swoją wysokością sygnalizujące liczebność odpowiednich skupień.

Korzyść, jaką można odnieść dzięki przejściu od rozpatry- wania danych oryginalnych (rozproszonych) do rozpatrywania danych pogrupowanych w skupienia – zilustrowano na rysunku 11. Oczywiście warunkiem takiego korzystnego grupowania danych jest znalezienie takiej przestrzeni cech, w której dane należące do różnych kategorii będą tworzyły ładne skupienia.

Ale warto do tego dążyć!

Algorytmy genetyczne

Kolejna wyspa archipelagu sztucznej inteligencji omawiana w tym przeglądowym artykule związana jest z kolejną grupą metod wzorowanych na naturze. Poprzednio (grudzień 2020) omawiałem sieci neuronowe, czyli modele procesów biolo- gicznych toczących się w skali mikro, natomiast teraz sięgamy do procesu przebiegającego w skali makro – czyli do ewolucji.

Dziedzinę tę reprezentuje wyspa pokazana na rysunku 12.

Jak wiadomo, istotą procesu ewolucji jest stopniowe dosko- nalenie kolejnych pokoleń aż do wytworzenia gatunków opty- malnych ze względu na wymagania środowiska. Ilustruje to żartobliwie rysunek 13, którego oczywiście nie trzeba brać dosłownie, bo człowiek zdecydowanie nie wywodzi się od dino- zaurów – ale tak postanowiłem zasygnalizować proces ewolu- cyjnego doskonalenia.

Przeniesione do sztucznej inteligencji zasady ewolucji pozwa- lają na wygodne znajdowanie rozwiązań problemów różnorakiej optymalizacji. Jak wiadomo, optymalizacja polega na wyzna- czeniu spośród dopuszczalnych rozwiązań jakiegoś problemu

Rys. 8. Wynik analizy skupień przy małej wartości wysokości cięcia dendrytu

Rys. 9. Wynik analizy skupień przy dużej wartości wysokości cięcia dendrytu

Rys. 10. Metafora skupień gromadzących różne liczby obiektów

Rys. 11. Korzyść odniesiona dzięki zastosowaniu analizy skupień

(4)

rozwiązania najlepszego ze względu na przyjęte kryterium jakości (np. koszt, zysk, niezawodność). Użycie algorytmów genetycznych prowadzi do tego, że zamiast pracowicie poszuki- wać najlepszego rozwiązania problemu informatycznego, lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował [2]! W dodatku okazało się, że rozwiązania wytwarzane przez algorytm genetyczny bywają lepsze od tych wymyślonych przez ludzi (rys. 14).

Poznajmy więc podstawowe zasady, na jakich opierają się algorytmy genetyczne, żeby zrozumieć ich działanie.

Pierwszą rzeczą, jaką trzeba zrobić, gdy się planuje użyć algo- rytmu genetycznego do rozwiązania jakiegoś zadania, jest opi- sanie istoty tego zadania w postaci tak zwanego chromosomu.

W biologii chromosomy są nośnikami informacji genetycznej, sterującej rozwojem organizmu. W sztucznej inteligencji jest to wektor, w którym zapisane są wszystkie cechy poszukiwa- nego rozwiązania. Najprostszą formę chromosomu informa- tycznego przedstawia rysunek 15. Jest to chromosom binarny, w którym zapisane są wyłącznie informacje o tym, że niektóre cechy występują w rozważanym rozwiązaniu (oznaczenie 1), a inne nie występują (oznaczenie 0). Chromosom będziemy utożsamiali z osobnikiem, a zbiorowość osobników z populacją.

Oczywiście chromosomy w algorytmach genetycznych mogą zawierać nie tylko zera i jedynki, ale także symbole oznacza- jące wybór jednej z kilku możliwości. Takie rozwiązanie poka- zane jest na rysunku 16, na którym pokazano chromosom oraz osobnika (rybę) „zaprogramowanego” przez ten chromosom.

Oczywiście w prawdziwych zastosowaniach algorytmów gene- tycznych osobnikiem nie jest ryba czy jakieś inne rzeczywiste stworzenie – tylko na przykład strategia inwestycyjna banku albo metoda sterowania zespołem zbiorników retencyjnych przy zapobieganiu powodzi – ale to trudniej narysować. Dla- tego skorzystam z tych obrazków z rybkami (nie wiem, kto jest ich autorem, ale są bardzo fajne!), bo to ładnie pokazuje, o co chodzi, bez wchodzenia w skomplikowane abstrakcje.

Na rysunku 16 u góry opisany jest sposób kodowania cech ryby za pomocą poszczególnych elementów chromosomu (genów), a na dole podany jest konkretny chromosom i obraz odpowiadającej mu ryby.

Ogólny schemat działania algorytmu genetycznego przed- stawiono na rysunku 17. Przejdziemy przez kolejne bloki tego

Rys. 16. Kodowanie właściwości osobnika (ryby) za pomocą chromosomu Rys. 12. Symbol genu (odcinek DNA) sterujący komputerem – to metafora

algorytmów genetycznych

Rys. 13. Istotą procesu ewolucji jest stopniowe doskonalenie

Rys. 14. Rozwiązania znajdowane przez algorytmy genetyczne bywają lepsze od wymyślanych przez ludzi

Rys. 15. Przykładowa budowa chromosomu binarnego używanego w algorytmach genetycznych

(5)

schematu, cały czas ilustrując ogólne zasady – przykładem związanym z tymi pomysłowymi rybami. Jeszcze raz podkreś- lam, że nie ja ten przykład wymyśliłem, ale w żaden sposób nie mogę się dowiedzieć, kto jest autorem tego pomysłowego rysunku, więc w dobrej wierze korzystam tu z cudzej własności intelektualnej – mając nadzieję, że może dzięki tej publikacji dowiem się, kogo powinienem prosić o zgodę na skorzystanie z tego rysunku.

Pierwszym krokiem algorytmu przedstawionego na rysunku 17 jest utworzenie populacji początkowej. Zwykle taką popula- cję tworzy się, generując chromosomy zawierające geny, które mają losowo wybrane wartości. Przykład populacji początkowej dla rozważanej ewolucji ryb przedstawia rysunek 18.

Następny krok algorytmu nakazuje ocenić każdego osob- nika populacji. Ta ocena w rzeczywistych zastosowaniach algorytmów genetycznych polega na tym, że każdy osobnik proponuje jakiś sposób rozwiązania postawionego zadania, a te rozwiązania dają większą albo mniejszą wartość przyję- tego kryterium jakości. Takim kryterium może być na przykład uzyskiwany zysk, osiągana niezawodność, sprawność działania itp. Jeśli w skład kryterium wchodzą składniki, które uważamy

za niekorzystne (na przykład ponoszony koszt albo wielkość zanieczyszczenia środowiska) – to odpowiednie składniki można brać ze znakiem minus w formule wyznaczającej war- tość kryterium albo korzystać z ich odwrotności.

Optymalizacja, będąca zawsze celem działania algorytmu genetycznego, zmierza do znalezienia takiego rozwiązania, które zapewni największą wartość kryterium jakości. Z tego punktu widzenia każdy osobnik może być oceniony jako lepszy (gdy zapewnia większą wartość kryterium) lub gorszy (w prze- ciwnym przypadku). Dla rozważanej przykładowo populacji ryb ta funkcja kryterialna może być ustalona dowolnie – na przykład w rzeczywistych warunkach mogłaby to być ilość pożywienia, jaką ryba zdołała zdobyć. W prezentowanej tu umownej zabawie w ewolucje ryb można by było przyjąć kry- terium urody – ryba zdobywa tym większą liczbę punktów, im bardziej się obserwatorowi podoba.

Kolejną czynnością w rozważanym algorytmie (patrz rys. 17) jest sprawdzenie warunku stopu. Każdy algorytm musi mieć zagwarantowane, że po skończonym czasie się zatrzyma, a ewo- lucja może trwać w nieskończoność, więc ten warunek jest bardzo ważny. Decyzja o zatrzymaniu algorytmu może zostać podjęta po zaistnieniu jednej z dwóch okoliczności: albo osob- nik z aktualnie rozważanej populacji, który osiągnął najlep- szy wynik, jest już tak dobry, że więcej nie trzeba szukać, albo została wykonana założona z góry maksymalna liczba iteracji (wymian pokoleń – patrz dalej).

Zaistnienie pierwszej okoliczności stopującej algorytm ozna- cza sukces. Chromosom „zwycięskiego” osobnika zawiera prze- pis, jakie mają być cechy optymalnego rozwiązania. Niczego więcej nie potrzeba! Jednak ta sytuacja prawie nigdy nie zacho- dzi w rozważanej w tym momencie populacji początkowej.

Zatrzymanie algorytmu na skutek wyczerpania założonej liczby operacji oznacza niepowodzenie. Symulowana ewolucja nie dostarczyła akceptowalnego rozwiązania. Trzeba poszuki- wać innych metod!

Jeśli warunek stopu nie nakazuje przerwania pracy – prze- chodzimy w prawo i przystępujemy do wyboru rodziców, któ- rzy spłodzą osobniki, będące ich potomkami w następnym pokoleniu. Trzeba bowiem wiedzieć, że reprodukcja osobni- ków w algorytmach genetycznych ma charakter płciowy, co symbolicznie przypomina rysunek 19.

Jaki jest powód takiego wyboru?

Otóż w trakcie formowa- nia chromosomów osobników potomnych chromosomy osob- ników rodzicielskich podlegają krzyżowaniu. Wybierany jest losowo punkt, w którym chromo- somy osobników rodzicielskich zostają przecięte i zestawione w taki sposób, że każdy osob- nik potomny otrzymał połowę chromosomu jednego rodzica i połowę chromosomu drugiego (rys. 20).

W żartobliwym przykładzie ewolucji ryb wygląda to tak, jak przedstawiono na rysunku 21.

Rys. 17. Struktura algorytmu genetycznego. Omówienie w tekście

Rys. 18. Przykładowa, losowo utworzona populacja początkowa ryb

Rys. 19. Symbol przypomi- nający płciowy charakter generacji nowych pokoleń w algorytmach genetycznych

(6)

reklama

Po co to się robi?

Chodzi o to, by potomek – dziedzicząc cechy po obojgu rodzicach – mógł mieć większe szanse na to, by w następnym pokoleniu okazać się „zwycięskim”. Ilustruje to rysunek 22, na

którym proces poszukiwania najlepszego osobnika zilustro- wano jako strzelanie do tarczy. Obydwa osobniki rodzicielskie uzyskują nie najlepsze wyniki (daleko od centrum tarczy), nato- miast potomek, mający chromosom powstały z krzyżowania chromosomów rodziców, może uzyskać lepszy wynik.

No dobrze, ale jak dobierać rodziców?

Logiczne jest, by promować chromosomy tych osobników, którzy osiągnęli w populacji lepsze wyniki. Dlatego w algoryt- mach genetycznych stosuje się zwykle zasadę ruletki. Każdemu osobnikowi z aktualnie rozważanej populacji przydziela się sek- tor na obwodzie symulowanego komputerowo „koła ruletki”

o wielkości proporcjonalnej do uzyskanej przez niego wartości

Rys. 20. Zasada krzyżowania

Rys. 21. Proces krzyżowania chromosomów

Rys. 22. Korzystny efekt krzyżowania genów dwojga rodziców

reklama

(7)

funkcji kryterialnej (rys. 23). Koło zostaje wprawione w ruch (a właściwie inicjowana jest akcja realizowanego algorytmicznie generatora liczb losowych), a gdy się zatrzymuje – przy wskaź- niku typowania osobnika do rozrodu jest punkt sektora należą- cego do określonego osobnika, więc to on zostaje wytypowany.

Potem w taki sam sposób typowany jest drugi osobnik rodzi- cielski – i tworzona jest para, która w sposób wyżej opisany wygeneruje potomstwo. Najczęściej do następnej populacji brane są dwa osobniki potomne o chromosomach wytworzo- nych metodą krzyżowania. Potem „koło ruletki” rusza jeszcze raz i jeszcze raz – aż wytworzona zostanie populacja potomków o takiej samej liczebności, jak populacja rodzicielska. Osob- niki odnoszące sukcesy mogą mieć potomstwo wielokrotnie, a osobniki mające kiepskie wyniki mogą wcale nie doczekać się swojej okazji – ale o wszystkim decyduje mechanizm losowy.

Nawet jeśli w wyniku losowania ta sama para osobników zosta- nie ponownie wylosowana do reprodukcji – potomstwo może być całkiem inne, bo miejsce rozcięcia chromosomów jest także wybierane losowo, więc w wyniku krzyżowania powstaną (zapewne – bo tu także działają czynniki losowe) osobniki potomne o odmiennych właściwościach.

Jak wynika z rysunku 17 – przy tworzeniu nowego pokolenia z pokolenia rodziców działają operatory genetyczne. Ważniej- szy z tych operatorów już poznaliśmy – jest to operator krzy- żowania. Dodatkowo, ale z mniejszym prawdopodobieństwem, działa operator mutacji.

Mutacja polega na tym, że w chromosomie któregoś z osob- ników potomnych zmienia się losowo jeden z genów. Przykład mutacji przedstawiono na rysunku 24. W pokoleniu rodziców

Rys. 23. Podział „koła ruletki” na sektory odpowiadające poszczególnym osobnikom

Rys. 24. Ilustracja działania operatora mutacji

Rys. 25. Efekt działania mutacji

Rys. 26. Pokolenie rodzicielskie i potomne w procesie przykładowej ewolucji

żadna ryba nie posiada wąsów. Natomiast jeden z potomków uzyskuje ten element swojej budowy na zasadzie losowej zmiany odpowiedniego genu. Oglądając rysunek 24, warto zajrzeć też na rysunek 16, żeby sobie przypomnieć znaczenie poszczegól- nych genów.

Istota działania operatora mutacji polega na tym, że w wyniku jego działania pojawiają się w populacji potomnej osobniki mające cechy, których w populacji rodzicielskiej nie ma, na skutek czego żadne krzyżowanie w tej populacji nie pozwala na osiągnięcie znaczącego polepszenia osiąganych wartości kryte- rium. Natomiast mutant może mieć te możliwości. Skutek tego w dążeniu do osiągnięcia zamierzonego celu przedstawiony jest na rysunku 25.

Po wykonaniu wszystkich operacji wyboru rodziców, krzyżo- wania genów i ewentualnie mutacji powstaje – zgodnie z rysun- kiem 17 – nowe pokolenie. Przedstawiono to na rysunku 26.

Po podmianie pokolenia rodzicielskiego na pokolenie potomne cały cykl się zamyka. Teraz to osobniki pokolenia potomnego będą oceniane, na podstawie ich ocen będzie się rekrutować rodziców, którzy będą generować nowych osobni- ków z zastosowaniem operatorów genetycznych – aż powstanie kolejne pokolenie i ponownie cykl się zamknie.

Na rysunku 27 pokazano, jak wartość kryterium zmienia się w kolejnych pokoleniach. W każdym pokoleniu są osobniki

(8)

reprezentacją bardzo wielu praktycznych problemów. Kilka przykładów zastosowania algorytmów mrówkowych do roz- wiązywania bardzo różnych zagadnień znaleźć można w publi- kacjach [3, 4, 5, 6, 7]. Algorytmy te bywają bardzo skuteczne, co symbolizuje potężne drzewo rosnące na wyspie, a rozpo- częcie pracy z nimi jest łatwe, co jest zasygnalizowane przez brzegi nadające się do łatwego wkroczenia. Przypominam, że we wcześ niejszych artykułach przedstawiałem niektóre wyspy z bardzo nieprzyjaznymi brzegami (na przykład metody sym- boliczne), znamionującymi trudności dla początkujących użyt- kowników. W przypadku algorytmów mrówkowych takich trudności się nie napotyka.

Idea algorytmów mrówkowych opiera się na spostrzeżeniu, że pojedyncza mrówka nie cechuje się wysoką inteligencją, ale zbiorowość mrówek jest w stanie wytworzyć inteligencję kolektywną. Przejawem tej kolektywnej inteligencji jest fakt, że mrówki, dążąc do jakiegoś celu, nie poruszają się chaotycznie, ale tworzą ścieżki (rys. 29).

Opiera się to na bardzo prostej zasadzie: każda mrówka, idąc, pozostawia za sobą ślad w postaci substancji chemicznej (fero- monu), która jest wyczuwana przez inne mrówki, które mają skłonność do podążania właśnie drogą zaznaczoną feromo- nem. Jednak feromon szybko paruje i ślad znika. Jeśli więc do jakiegoś celu są dwie drogi: krótsza i dłuższa – to pierwszy ślad feromonowy zostawi mrówka idąca krótszą drogą (rys. 30).

W efekcie tą krótszą drogę wybierze więcej mrówek (rys. 31).

Rys. 27. Przebieg optymalizacji przy użyciu algorytmu genetycznego

Rys. 28. Prezentacja alegorii algorytmów mrówkowych

Rys. 29. Przykłady kolektywnej inteligencji mrówek

lepsze i gorsze, ale w reprodukcji następnego pokolenia biorą udział głównie te lepsze, więc cała populacja regularnie pod- nosi swoje wyniki – aż wreszcie nadchodzi moment, kiedy naj- lepszy osobnik któregoś pokolenia osiąga taką wartość funkcji kryterium, która może być uznana za zadowalającą. W tym momencie działanie algorytmu można przerwać i wykorzy- stać uzyskane rozwiązanie. Warto zauważyć, że uzyskanie tego rozwiązania przy użyciu algorytmu genetycznego wiąże się z ogromnym nakładem obliczeń, czyli wymaga zaangażowa- nia silnego komputera albo dłuższego oczekiwania na wyniki.

Ale za to rozwiązanie uzyskuje się bez własnego wysiłku – po zdefiniowaniu chromosomu i funkcji obliczającej wartości kry- terium wszystko dzieje się automatycznie. Nic dziwnego, że algorytmy genetyczne stale zyskują na popularności!

Algorytmy mrówkowe – podejście wąskie, ale owocne Kolejną grupą metod sztucznej inteligencji – wzorujących swoje działanie na naśladowaniu w komputerach procesów zaobserwowanych w naturze – są algorytmy mrówkowe, nale- żące do szerszej klasy metod określanych jako „inteligencja roju”.

Metaforyczna wyspa (rys. 28) prezentująca tę grupę metod sztucznej inteligencji ma charakterystyczny kształt: jest raczej wąska, ale wysoka. Sygnalizuje to fakt, że obszar zastosowań tej grupy jest wąski, ale rozwiązywane problemy bywają naprawdę trudne. Wiążą się one głównie z wyszukiwaniem najkorzyst- niejszej ścieżki w grafie, co jest matematyczną i informatyczną

Rys. 30. Wcześniejszy ślad feromonowy na krótszej drodze

Rys. 31. Więcej mrówek podąża krótszą drogą

(9)

Każda kolejna mrówka, stając przed wyborem drogi – wybie- rze tę częściej uczęszczaną ze względu na silny ślad feromonowy (rys. 32).

Stosując tę prostą zasadę, można wygodnie (całkowicie automatycznie!) znajdować drogę w dowolnie rozbudowanym grafie (rys. 33). Odpowiednio pomysłowo stosując to podej- ście, można rozwiązywać mnóstwo praktycznych problemów, o czym świadczą przykłady opisane w publikacjach [3, 4, 5, 6, 7].

Uwagi końcowe

Chociaż prezentowany tu artykuł jest już trzecim w tej serii i jest dość obszerny – to jednak temat różnych metod sztucznej inteligencji (przedstawianych jako wyspy archipelagu) wciąż nie został całkiem wyczerpany. Zapowiadam zatem kontynuację cyklu w następnych numerach miesięcznika „Napędy i Stero- wanie” – i mam nadzieję, że znajdą się Czytelnicy chętni do tego, żeby także i ten następny artykuł przeczytać.

Literatura

[1] Tadeusiewicz R., Izworski A.: Segmentation of Speech on Pur- pose of Recognition Using Cluster Analysis. „Elektrotechnika”

tom 7, zeszyt 3–4, 1988, https://www.academia.edu/27384037/

Segmentation_of_Speech_on_Purpose_of_Recognition_Using_

Cluster_Analysis.

Rys. 32. Zasada wyboru drogi przez pojedynczą mrówkę

[2] Wyhoduj sobie rozwiązanie! (Algorytmy genetyczne, czyli jak stworzyć w komputerze sztuczną ewolucję) [Breed your unique solution!] Polska Gazeta Krakowska, 17.08.2011, https://www.aca- demia.edu/39966084/Wyhoduj_sobie_rozwiązanie_; http://www.

gazetakrakowska.pl/artykul/439777,algorytmy-genetyczne-czyli- jak-stworzyc-w-komputerze-sztuczna-ewolucje,id,t.html [3] Pancerz K., Lewicki A., Tadeusiewicz R., Szkol J.: Classifica-

tion of Speech Signals through Ant Based Clustering of Time Series, [in] Nguyen N.-T. et al. (Eds.): Computational Collective Intel- ligence. Technologies and Applications, Part I, LNAI 7653, Sprin- ger-Verlag, Berlin, Heidelberg, 2012, https://www.researchgate.

net/publication/262388568_Classification_of_Speech_Signals_

through_Ant_Based_Clustering_of_Time_Series.

[4] Lewicki A., Pancerz K., Tadeusiewicz R.: Ant Colony Inspired Clustering Based on the Distribution Function of the Similarity of Attributes. Chapter in the book: Nguyen N.T., Trawinski B., Katarzyniak R., Geun-Sik Jo (Eds.): Advanced Methods for Computational Collective Intelligence, Studies in Computa- tional Intelligence, vol. 457, Springer-Verlag Berlin Heidelberg 2013, https://www.researchgate.net/publication/278195962_

Ant_Colony_Inspired_Clustering_Based_on_the_Distribu- tion_Function_of_the_Similarity_of_Attributes.

[5] Pancerz K., Lewicki A., Tadeusiewicz R., Warchol J.: Rough Set Flow Graphs and Ant Based Clustering in Classification of Disturbed Periodic Biosignals, Chapter in the book: Popova- -Zeugmann L. (Ed.): Concurrency, Specification and Program- ming. Informatik Berichte, Humboldt-Universität zu Berlin, 2012, https://www.researchgate.net/publication/289731888_Rough_

set_flow_graphs_and_ant_based_clustering_in_classification_

of_disturbed_periodic_biosignals.

[6] Pancerz K., Lewicki A., Tadeusiewicz R., Gomula J.: Ant Based Clustering of MMPI Data – An Experimental Study.

Chapter in the book: Yao J.T, Ramanna S., Wang G., Suraj Z.

(Eds.): Rough Set and Knowledge Technology, LNAI 6954, Sprin- ger Verlag, Berlin, Heidelberg, New York, 2011, https://www.

researchgate.net/publication/226283168_Ant_Based_Cluste- ring_of_MMPI_Data_-_An_Experimental_Study; https://www.

researchgate.net/publication/221104687_Ant_Based_Clustering_

of_MMPI_Data_-_An_Experimental_Study.

[7] Lewicki A. and Tadeusiewicz R.: The Recruitment and Selec- tion of Staff Problem with an Ant Colony System [In:] Pardela T.

and Wilamowski B. M. (Eds.): 3rd International Conference on Human System Interaction, Rzeszow, IEEE-Press, 2010, https://

www.researchgate.net/publication/251938024_The_recruitment_

and_selection_of_staff_problem_with_an_Ant_Colony_system.

Rys. 33. Efekt działania algorytmu mrówkowego w bardziej rozbudowa- nym grafie

prof. dr hab. inż. Ryszard Tadeusiewicz

AGH – Akademia Górniczo-Hutnicza w Krakowie e-mail: rtad@agh.edu.pl, www.Tadeusiewicz.pl

Cytaty

Powiązane dokumenty

Na potrzeby tego zadania, liczbę naturalną k nazwiemy ładną, jeżeli istnieje liczb naturalna, której kwadrat ma sumę cyfr równą k.. Wiadomo, że wśród 11 kolejnych

W dowolnym postępie arytmetycznym n-wyrazowym o wyrazach całkowitych, jeżeli suma wyrazów tego postępu jest podzielna przez 7, to co najmniej jeden jego wyraz jest podzielny

Dla podanych a, b, c podać takie d, aby istniał czworokąt wy- pukły o bokach długości (z zachowaniem kolejności) a, b, c, d, w który można wpisać okrąg.. Dla podanych a, b,

[r]

Przez funkcję arytmeytczną przyjęło się nazywać dowolną funkcję f : N → C, która wyraża pewne własności arytmetyczne liczb

23. Dana jest liczba rzeczywista a. Niech P będzie dowolnym punktem wewnątrz czworokąta wypukłego ABCD. Udowod- nij, że środki ciężkości trójkątów 4P AB, 4P BC, 4P CD, 4P

, n} tak, by dla każdych trzech wierzchołków A, B, C, dla których |AB| = |AC|, liczba przy wierzchołku A była albo mniejsza, albo wi e , ksza od jednocześnie obu liczb

Rozwiązanie każdego zadania należy podpisać w lewym górnym rogu pierwszej jego strony: imieniem i nazwiskiem, swoim adresem, swoim adresem elektro- nicznym oraz klasą, nazwą i