• Nie Znaleziono Wyników

Konstrukcja modelu molekularnego

W dokumencie Index of /rozprawy2/10282 (Stron 45-50)

Struktura społeczna pszczół

Definicja 2.3: Kolektywna Inteligencja jako chwilowa własność struktury społecznej. Podstawowe oznaczenia:

2.4. Konstrukcja modelu molekularnego

Przedstawiony molekularny model obliczeniowy ma wiele zalet z punktu widzenia implementacji. Po pierwsze charakteryzuje się on naturalną równoległością dzięki czemu problemy mogą być efektywnie liczone na klastrach komputerów. Po drugie istnieje wiele narzędzi oprócz języka Prolog, które umożliwiają jego implementację zapewniając przy okazji łatwą integrację z oprogramowaniem tworzonym w innych językach programowania57. Po trzecie próby zbudowania komputera, który realizuje niedeterministyczny model obliczeń, który jest przydatny do opisu wielu zjawisk zakończyły się sukcesem [Adleman94].

Zasadniczym problemem jest jednak opis zjawiska fizycznego z otaczającego świata przy pomocy takiego modelu. W ramach przykładu zostanie przedstawiona próba kompilacji algorytmu ACO do molekularnego modelu obliczeń. Okazuje się, że po takiej transformacji oraz powtórnej interpretacji algorytm uzyskuje znacznie bardziej uniwersalny charakter, wręcz charakter uniwersalnego algorytmu optymalizacji dla struktur społecznych58.

Kompilacja algorytmu mrówkowego do molekularnego modelu obliczeniowego ma następującą postać:

1) Depozyty żywności traktujemy jako molekułę informacyjną klasy

C

0 ulokowaną w przestrzeni informacyjnej CS, nie mającą zdolności poruszania się, niosącą tylko jeden fakt np. o rodzaju i ilości np.: żywność(<typ>, <ilość>). Dla ułatwienia dalszej dyskusji oznaczmy molekułę informacyjną tego typu symbolem Cz0. Położenie tych molekuł jest zadawane wstępnie, jako warunki początkowe obliczeń bądź symulacji.

2) Ślady feromonu jakie zostawia mrówka po odkryciu depozytu żywności, kiedy wraca do mrowiska aby je o tym poinformować; traktujemy jako molekuły informacyjne klasy C0 ulokowane w przestrzeni informacyjnej CS. Nie mają one zdolności poruszania się, molekuły takie niosą tylko jedno wyrażenie logiczne typu fakt, z wyrażeniem funkcyjnym wewnątrz, kodującym stopniowe zanikanie zapachu feromonu np. feromon(intensywność(upływ_czasu)). Dla ułatwienia dalszej dyskusji oznaczmy molekułę informacyjną tego typu symbolem Cf0.

3) Pojedynczą mrówkę traktujemy jako molekułę informacyjną klasy C1 , (czyli zawierającą inne molekuły informacyjne wewnątrz), posiadającą własny charakterystykę ruchową videntyfikator w CS. Dla ułatwienia dalszej dyskusji oznaczmy

57 Przykładem takich narzędzi mogą być silniki regułowe Jess lub Drools, które zostaną omówione szerzej w dalszej części pracy jako, że zostały wykorzystane do konstrukcji prototypu systemu symulacyjnego wspólnie z językiem Java.

58 Podana transformacja jest oryginalną propozycją autora oraz promotora a jej interpretacja jest tematem dalszych badań.

molekułę informacyjną tego typu symbolem Cm1. Pojedyncza mrówka w literaturze jest powszechnie traktowana jako „automat”. Uzasadnionym jest więc przyjęcie, że molekuła informacyjna reprezentująca mrówkę zawiera w sobie (wewnątrz membrany) mały system wnioskujący złożony z wyrażeń logicznych (przenoszą je molekuły C0) faktów, reguł wnioskowania i wyrażeń celu pozwalający na zaimplementowania „zachowania mrówki” prowadzącą do określenia videntyfikator. W szczególności znajdujące się tam reguły wnioskowania mają pozwolić na:

a. Właściwe zachowanie mrówki w przypadku rendez-vous z molekułą typu Cz0 (znalezienie depozytu żywność).

b. Właściwe zachowanie w przypadku rendez-vous z molekułą typu Cf0 (feromon). c. Membrana molekuły mrówki jest transparentna dla molekuł żywności Cz0 i

feromonu Cf0 tak aby możliwe było zajście wnioskowania z faktami, regułami i wyrażeniami celu zawartymi wewnątrz tego (czyli tworzących psychikę mrówki).

d. Molekuła Cm1 wykonuje w CS kolejne ruchy (opisane ogólnie charakterystyką

videntyfikator) w oparciu o aktualny stan logiczny zawartego w niej zbioru faktów, reguł i wyrażeń celu:

i. W przypadku poszukiwania pożywienia, są to ruchy Brown’a zmodyfikowane lokalnymi przeszkodami (membrany). Innymi słowy jest to proces losowego poszukiwania.

ii. W przypadku znalezienia depozytu pożywienia, jest to rozpoczęcie ruchu w kierunku mrowiska z aktem okresowego produkowania i umieszczania w CS kolejnych molekuł Cf0 służących do oznaczenia drogi do znalezionej żywności.

iii. W przypadku gdy mrówka jest w stanie „poszukuję żywności” i następuje rendez-vous z molekułą Cf0 feromonu, wtedy następuje proces wnioskowania wewnątrz Cm1 i podjęcie decyzji ruchowej: zignorowanie gdy feromon jest już „stary” (w oparciu o wyrażenie intensywność(upływ_czasu)) lub zmiana dotychczasowej charakterystyki ruchowej i zdeterminowany ruch w kierunku wyznaczonym przez tą i kolejne molekuły informacyjne Cf0.

4) Przestrzeń informacyjną CS kształtujemy (konfiguracja początkowa) przy pomocy membran tak aby odzwierciedlała złożoność otoczenia mrowiska, w którym to funkcjonuje „świat mrówek”.

Podana kompilacja algorytmu mrówkowego do molekularnego modelu obliczeń nie zmienia charakteru samego algorytmu − przenosi go jedynie do innego modelu obliczeniowego,

który ma ten algorytm zrealizować. Można zatem uznać, że także w tym modelu obliczeniowym algorytm mrówkowy wygeneruje po pewnym czasie najkrótszą (optymalną) drogę pomiędzy mrowiskiem a depozytem żywności.

Należy pamiętać, że poza sporadycznymi sytuacjami kryzysowymi, mrowisko nie może bazować na jednym jedynym, znajdowanym co jakiś czas źródle żywności, takim które angażuje siły transportowe wszystkich robotnic. Zwykle w danym okresie czasu dostępne jest parę źródeł żywności, musi być więc wprowadzony mechanizm efektywnego rozpraszania transportowych sił mrowiska pomiędzy różne źródła o różnym w danym momencie stopniu ich wyeksploatowania.

2.4.1. Propozycja uogólnienia algorytmu mrówkowego w

molekularnym modelu obliczeń

Zmiana nazewnicza i interpretacyjna pozwala na przeniesienie algorytmu mrówkowego w świat agentów prowadzących działalność biznesową w ramach wolnego rynku. Warto zauważyć, że równolegle następuje przeniesienie odpowiadającego mu molekularnego modelu obliczeniowego. Znane jest zresztą popularne powiedzenie, które podpowiada taką zmianę nazewniczą i interpretacyjną, w odniesieniu do feromonu znaczącego drogę do depozytu żywności – w świecie biznesu mówimy np. „zapach sukcesu”59 (czyjegoś).

Ważnym jest to, że większość proponowanych zmian nazewniczych i interpretacyjnych ma charakter uogólnień.

Proponowane zmiany nazewnicze i interpretacyjne:

przestrzeń obliczeniowa CS → Wolny Rynek

mrówka → agent (osoba, gospodarstwo domowe lub firma) żywność → dobro do konsumpcji

feromon → informacja o sukcesie60 innego agenta intensywność feromonu → aktualność informacji

Rendezvous molekuł informacyjnych ma w tym przypadku taki sam charakter. Molekuły informacyjne reprezentujące poszczególne obiekty zasadniczo nie zmieniają typu, czyli np. agent będzie dalej reprezentowany przez molekułę informacyjną 1-stopnia. Przyjmując także, że w przeciwieństwie do algorytmu mrówkowego występuje wiele „źródeł żywności” czyli dóbr (przy czym przyjmujemy, że dobre jest cokolwiek co ma dla agenta jakąś użyteczność).

59 Sformułowanie powyższe odnosi się do mowy potocznej i nie posiada formalnej definicji na gruncie Ekonomii

60 Pozostaje kwestia “zmierzenia” tego sukcesu. Omawiana w rozdziale czwartym teoria użyteczności może się okazać pomocna gdyż miarą sukcesu może być zmiana użyteczności w czasie.

2.4.2. Random Prolog Processor – realizacja molekularnego modelu

obliczeń

W pracy T. Szuby [Szuba01c] oprócz koncepcji modelu obliczeniowego Kolektywnej Inteligencji przedstawiono jego implementację w postaci losowego procesora Prologa RPP (ang. Random Prolog Processor).

Molekularny model obliczeń wprowadza pojęcie molekuły informacyjnej jako nośnika informacji w systemie. Molekuły znajdują się w przestrzeni (model nie narzuca ograniczeń co do struktury przestrzeni – może to być przestrzeń ciągła lub dyskretna), w której dodatkowo są membrany które wpływają na ruch molekuł. Interpretacją molekuły informacyjnej jest dowolny typ obiektu – może to być pojedynczy fakt, reguła, agent o dowolnym stopniu skomplikowania lub nawet cała grupa takich agentów.

Naturalnym formalizmem do opisu molekuł jest język predykatów, który pozwala opisać molekułę poprzez zestaw faktów i reguł. Ze względu na to, że molekuły informacyjne mogą być zagnieżdżane (możliwe jest osadzenie molekuły informacyjnej we wnętrzu innych molekuł) mogą być one traktowane jako przestrzeń obliczeniowa CS (Computational Space). Molekuła 1-poziomu zawierająca Prologowe klauzule takie jak: fakty, reguły i cele oznaczana jest przez:

CS1 = {c1, c2, ..., cn}

W związku z tym molekułę 0-poziomu tworzą pojedyncze fakty, cele i reguły. Warto zauważyć, że pojedynczy program w Prologu jest zgodny z tym modelem – jego przestrzeń tworzą pamięć komputera. Membrany oznaczane są przez znak |...|, który ogranicza fakty, cele i reguły. Zatem:

CS1 = {c1, c2, ..., cn}

{|c1, c2, ..., cn|}

Składnia RPP jest taka sama jak składnia Prologu. Definicja wnioskowania w RPP podana jest w definicji 2.2. Przykład prostej realizacji wnioskowania RPP w języku Prolog podany jest poniżej:

a(1). (fakt) ®

answer(Y) :- a(X), (reguła)

greater(X, 0), sum(X, 5, Y), retract( a(X).),

assert(message(“molecule a(X). is killed”)). ⊢

answer(6) (rezultat logiczny)

W związku z tym po rendezvous następujący proces obliczeniowy ma miejsce: 1. Unifikacja klauzul a(1) i a(X) ⇒ {X/1}

2. Ewaluacja wyrażenia logicznego greater(1, 0) ⇒ True ewaluacja

numeryczne obliczenie sum(1, 5, Y) ⇒ {Y/6} pred. wbudowanych

3. retract i assert wciągnij jednego rodzica

odpal molekułę z wiadomością w RPP

4. Wyrażenie logiczne (reguła macierzysta) zostaje zunifikowana do faktu answer(6) ze względu na brak ewaluacji do False oraz pomyślne wykonanie predykatów wbudowanych. Molekuła informacyjna answer(6) może być uznana za głównego potomka (a molekuła z wiadomością za pobocznego).

Molekuła macierzysta reguły dalej się przemieszcza, podobnie jak potomna molekuła answer(6) natomiast molekuła wiadomości message(...) jest dodawana do zbioru rozwiązań.

W dokumencie Index of /rozprawy2/10282 (Stron 45-50)