Urszula Boryczka

Instytut Informatyki

UNIWERSYTET ŚLĄSKI

ul. Żeromskiego 3

41-200 Sosnowiec

e-mail: uboryczk@us.edu.pl

 

Badanie efektu synergicznego w systemach mrowiskowych

 

Streszczenie.

Chcąc przedstawić efekt synergiczny w systemach mrowiskowych przeprowadzono szereg badań mających na celu wskazanie roli tego zjawiska w systemach rozwiązujących problemy optymalizacyjne. W ramach tych prac przeanalizowano różne metody rozmieszczenia mrówek, przebadano wielkości nasycenia śladem feromonowym dla różnych typów krawędzi w grafie reprezentującym problem komiwojażera oraz wpływ kooperacji między mrówkami na osiągnięte przez nie wyniki. Badania przeprowadzono na problemie komiwojażera (100 miast – Kroa100.tsp).

 

1. Wstęp.

 

Tematem pracy jest przedstawienie i zbadanie efektu synergicznrgo występującego w systemach mrowiskowych. Są one przykładem systemów symulujących rzeczywiste zachowania mrówek i wykorzystujących inteligencję zbiorową do rozwiązania problemów optymalizacyjnych. Badania przeprowadzone w tej pracy dotyczą określenia optymalnej liczby mrówek, które będą rozwiązywały dany problem, zbadania ważności śladu feromonowego i funkcji heurystycznej oraz badanie kooperacji wśród agentów-mrówek. W tym przypadku analizowano różne typy krawędzi i ich nasycenie śladem feromonowym jak również analizowano problem komunikacji między agentami poprzez ślad feromonowy.

Efekt synergiczny jest [9,11] rozumiany jako rezultat naturalnej kooperacji społecznej, współpracy i kolektywnego współdziałania wszystkich tych organizmów, które łączy wspólna potrzeba na przykład wykonania pracy. Przejawem omawianego efektu może być w tym przypadku szybkie zakończenie jej wykonywania. Istotną rolę w procesie kooperacji odgrywa sposób oddziaływania poszczególnych osobników na pozostałych członków danej grupy społecznej. Podstawę tego oddziaływania stanowi porozumiewanie się, które jest zmianą prawdopodobieństwa zachowań jednych osobników pod wpływem zachowań innych osobników. Z pojęciem porozumiewania się związane jest pojęcie „zachęty do pracy”. Natomiast zachęta do pracy wiąże się ze stygmercją czyli komunikacją organizmów poprzez zmianę środowiska. W naturalnych systemach mrowiskowych środowisko reprezentowane jest poprzez trasy mrówek z naniesionymi na nie śladami feromonowymi. Na zakończenie warto nadmienić, że efekt synergeiczny jest przejawem zachowań altruistycznych w gromadzie organizmów społecznych [8].

 

2. Podstawowe pojęcia dotyczące systemów mrowiskowych

 

W celu wyjaśnienia podstawowych mechanizmów występujących w systemach mrowiskowych podane zostaną podstawowe reguły aktualizacji śladu feromonowego i funkcja przejścia między stanami [1, 2].

Globalna reguła wzmocnienia śladu feromonowego ( reguła globalnego uaktualnienia dla ACS ) polega na tym, że po upływie dokładnie jednej iteracji algorytmu, na którą składa się kilka (n – we wzorze) założonych cykli oraz efektem której jest znalezienie optymalnego rozwiązania (tu: najkrótszej trasy), na krawędziach należących do tejże trasy, poziom feromonu jest modyfikowany (wzmocniony) – zgodnie ze wzorem:

gdzie:  

·         a – współczynnik zwany poświatą feromonu, taki, że (1 - a) reprezentuje wyparowanie feromonu, jest to liczba z przedziału (0, 1).

·         trs( t ) – wielkość śladu feromonowego,

·         (r, s) – krawędź najlepszej znalezionej trasy w ramach jednostkowej iteracji,

·         m – liczba mrówek, które przeszły przez (r, s) pomiędzy chwilami (t) a (t + n),

·         przyrost śladu feromonowego wyliczamy na podstawie :

 

gdzie: 

·         (r, s) Î L* – krawędź, która poddana jest wzmocnieniu (w ACS – krawędź najkrótszej globalnie trasy w jednej iteracji),

·         L* - długość trasy pokonanej przez mrówkę k (trasa najkrótsza dla k w iteracji),

·         Q = const = 1 – ustalone na stałą wartość z uwagi na to, że poprzednie prace wykazały niewielki wpływ tego parametru na globalne wyniki algorytmu.

W systemach mrówkowych powyższy sposób uaktualnienia śladu dotyczył wszystkich krawędzi (r, s) grafu tras oraz wyznaczana była odwrotność tras najkrótszych w iteracji dla każdej z mrówek. Natomiast w ACS powyższa reguła jest stosowana tylko dla krawędzi (r, s) należących do najlepszej globalnie trasy (najkrótszej od początku iteracji).

W ACS tylko globalnie najlepsza mrówka (ta, która stworzyła najkrótszą drogę od czasu początku iteracji) dopuszczona jest do położenia feromonu na krawędziach grafu. Globalne uaktualnienie następuje po zamknięciu drogi przez wszystkie mrówki. Celem nadrzędnym reguły jest zapewnienie większej ilości feromonu na najkrótszej drodze [3].

Lokalna reguła wzmocnienia śladu feromonowego ( reguła lokalnego uaktualnienia dla ACS ) stosowana jest podczas trwania budowania trasy przez poszczególne mrówki, czyli po każdym jednym cyklu iteracji algorytmu. Mrówka, która przeszła przez daną krawędź pozostawia na niej feromon zgodnie ze wzorem:

·         gdzie:   trs(t, t + 1) – „stary” ślad feromonowy, który częściowo wyparował,

·         (r, s) – krawędź trasy mrówki k,

·         współczynnik taki, że (1 - r) reprezentuje  wyparowanie  feromonu, jest to liczba z przedziału (0, 1).

Wybór pomiędzy eksploracją a eksploatacją przebiega w następujący sposób :

gdzie:

·         q – liczba wybrana losowo z przedziału <0, 1>,

·         q0 – liczba decydująca o sposobie przeszukiwania przestrzeni rozwiązań przez algorytm mrowiskowy, taka, że 0 £ q0 £ 1,

·         S – miasto wybrane zgodnie z zasadami ACS, ,

·         t(r, k) – ślad feromonowy na krawędzi (r, k),

·         h(r, k) – widoczność miasta k z miasta r.

 

Zdefiniowana powyżej reguła przejść pomiędzy stanami w ACS jest połączeniem dwóch wzorów (dla eksploracji i eksploatacji) i znana jest pod nazwą pseudolosowej reguły proporcjonalności (ang. pseudo - random - proportional rule) [1, 4, 5]. Preferuje ona przejścia pomiędzy węzłami (miastami) o najkrótszych krawędziach (odległościach) z największą ilością feromonu i dlatego jest jednym z najważniejszych mechanizmów wykorzystywanych przez ACS do kierowania poszukiwaniami [5].

Fundamentem tego mechanizmu jest jeden ze składników reguły definiowany jako: [t(r, k) x h(r, k)b]. Składnik ten nazywany jest w pozycji [1] produktem feromonowo – widocznościowym, albo licznikiem reguły. Częściej jednak spotykaną nazwą jest waga krawędzi. Jeden z eksperymentów prezentowanej pracy poświęcono badaniom zmian wartości tej wagi w kolejnych krokach algorytmu.

 

3. Opis eksperymentu.

 

                Celem tego eksperymentu jest przetestowanie systemu mrowiskowego pod kątem omawianego efektu synergicznego na problemie komiwojażera (TSP). Jest rzeczą naturalną, że właśnie ten problem prezentuje najbardziej przejrzystą adaptację systemu mrowiskowego. Jest to jeden z najtrudniejszych problemów  (NP-hard ) i dzięki temu jeden z najszerzej przetestowanych problemów. Istnieje biblioteka problemów TSP –TSPLIB dostępna pod adresem: http:// www.iwr.uni-heidelberg.de/iwr/comopt/soft/TSPLIB95/TSPLIB.html/

Rys 1. Podgląd grafu połączeń miast dla najlepszej trasy komiwojażera. Problem KroA100.Tsp.

 

                Po dokładnej analizie wyników wstępnych eksperymentów, wyznaczono wartości parametrów, przy których algorytm pracuje najlepiej :

·         b Î (-10, 10) – ważność widoczności = 7

·         r Î (0, 1) – współczynnik wyparowania feromonu = 0.9

·         q0 Î (0, 1) – współczynnik decydujący o sposobie przeszukiwania przestrzeni rozwiązań (determinizmie lub losowości pracy algorytmu) = 0.9

Wartości te zostały wykorzystane w trakcie dalszych eksperymentów.

 

4. Badanie optymalnej liczby mrówek.

 

Parametr m ( optymalna liczba mrówek w systemie ACS ) badany jest w zakresie następujących wartości: jednokrotności, dwukrotności, trzykrotności, czterokrotności i pięciokrotności liczby miast. Liczba miast n równa jest 100 (problem Kroa100.Tsp). Inne wartości parametrów: b = 7, q0 = 0.9, Q = const = 1, t0 = 0.1, r = 0.9, liczba prób = 10, liczba iteracji w każdej próbie = 50.

                Rys.2. Badanie optymalnej liczby mrówek w systemie (m). Problem: KroA100.Tsp. Średnia długość drogi po dziesięciu próbach, 50 iteracji w próbie.

 

Zaprezentowane wyniki wskazują na to, że najlepsze efekty można osiągnąć ustalając wartość parametru m (liczba mrówek) na podobną wartości n (liczba miast) oraz rozmieszczając mrówki równomiernie w poszczególnych miastach. Wyniki te stanowią wprawdzie zaprzeczenie rezultatów eksperymentów włoskich naukowców (wyniki zamieszczone są w [1]), gdzie osiągnięta przez nich optymalna liczba mrówek wynosiła 10 i była to niewielka liczba. Dlatego też, ostatecznie zdecydowano się na przyjęcie w dalszych eksperymentach takiego rozwiązania, jakie uzyskano w prezentowanej pracy. Podczas podjęcia takiej decyzji kierowano się również postawioną uprzednio w pracy hipotezą, mówiącą o tym, że efekty kooperacji są najbardziej widoczne w przypadku, gdy liczba agentów jest dość duża.

 

5. Badanie ważności śladu feromonowego i funkcji heurystycznej.

 

Celem doświadczenia przeprowadzonego w tym rozdziale jest określenie rangi funkcji heurystycznej h (i) oraz znaczenia śladu feromonowego t (ii), w znaczeniu najistotniejszych informacji wykorzystywanych przez ACS do kierowania poszukiwaniami „dobrych” (najbardziej zbliżonych do optymalnych) rozwiązań złożonych problemów obliczeniowych.

 

Rys.3. Porównanie pomiędzy standardowym ACS, ACS bez heurystyki i ACS bez feromonu (mrówki nie mogą wyczuwać, ani nakładać feromonu). Problem KroA100.Tsp. Średnia po dziesięciu próbach, 50 iteracji w każdej próbie.

 

                Zestawienie pokazuje, że najlepsze wyniki uzyskano dla standardowego systemu mrowiskowego, w którym mrówki kooperują, czyli współdziałają. A współdziałanie to opiera się na wykorzystaniu niezbędnych informacji w tym procesie: zarówno informacji heurystycznych (h), jak i informacji feromonowych (t). Znaczenie tych informacji w procesie wyszukiwania zostało już dokładnie omówione w prezentowanej pracy: dzięki tym danym mrówki preferowały krawędzie (odcinki tras) krótsze z większą ilością feromonu.

                Na podstawie Rys.3. można się również przekonać, że zdecydowanie gorsze wyniki uzyskują mrówki kooperujące w systemie, w którym „wyłączono” informację heurystyczną. Na początku procesu wyszukiwania tras, pozbawione tego „przewodnika”, mrówki tracą orientację. Sprawia to, że czas wyszukiwania jest dłuższy, a wyniki gorsze.

                Jednak zdecydowanie najgorsze wyniki osiągają te mrówki, które pracowały w systemie mrowiskowym zupełnie pozbawionym informacji feromonowej. Feromon jest podstawą porozumiewania się sztucznych agentów w czasie, gdy poszukują rozwiązania. A porozumiewanie się stanowi podstawę kooperacji. Mrówki pozbawione śladu feromonowego, nie wymieniają informacji i dlatego nie kooperują (mówi się wtedy o systemie mrówek niekooperujących). Nie wyczuwając śladu feromonowego, kierują swoimi poszukiwaniami, opierając się wyłącznie na heurystyce, co sprawia, że uzyskują najgorsze wyniki.

 

6. Badanie kooperacji wśród agentów.

 

W dwóch kolejnych eksperymentach dokonano porównania czasów znalezienia najlepszego rozwiązania dla dwóch przypadków: mrówek kooperujących i niekooperujących, czyli nie wyczuwających feromonu. Wartości parametrów eksperymentu były następujące: b = 7, q0 = 0.9, Q = const = 1, t0 = 0.1 oraz t0 = 1 (w przypadku braku kooperacji), r = 0.9, liczba mrówek = const = 100 ( przyjęto rozmieszczenie równomierne mrówek ).

Rys.4. Badanie efektu synergicznego. Problem: KroA100.Tsp. Średnia po 15 próbach. Liczba mrówek została ustawiona na  m = const = 100.

 

Po analizie przedstawionego powyżej wykresu, można dojść do następujących wniosków: kooperujące mrówki znajdują lepsze rozwiązanie (najbardziej zbliżone do optymalnego – podawanego w pozycji [1] – 21282.00 km) w krótszym czasie (342 sekundy). Natomiast niekooperujące mrówki ( nie wyczuwające śladu feromonowego ), nie są w stanie znaleźć rozwiązania chociażby zbliżonego do optymalnego, po 633 sekundach. Oznacza to, że kooperacja przynosi znacznie lepsze efekty, biorąc pod uwagę czas uzyskania rozwiązania.

Przeprowadzone powyżej doświadczenie jest faktycznym potwierdzeniem tego, że proces kooperacji czyli współdziałania agentów rzeczywiście zachodzi oraz wpływa w wyraźny sposób na efektywność pracy systemu mrowiskowego. Dodatkowo można powiedzieć, że zastosowanie kooperacji w ACS pozwala w wyraźny sposób zwiększyć tą efektywność.

Na podstawie analizy wyników zaprezentowanych powyżej można również przypuszczać, że kooperacja będzie stanowić, obok informacji feromonowych, wykorzystywanych przez agentów do budowy rozwiązania, jeden z najważniejszych mechanizmów sterownia poszukiwaniami przez ACS rozwiązań najbardziej zbliżonych do optymalnych.

 

7. Badanie wag krawędzi.

 

Głównym celem przeprowadzenia tego eksperymentu była próba poznania i zaprezentowania tych mechanizmów oraz algorytmów, jakie system mrowiskowy (ACS) wykorzystuje do kierowania poszukiwaniami. Starano się również wykazać ich wpływ na kooperacje.

Istotnym mechanizmem, którym kierują się mrówki w trakcie budowy rozwiązania jest reguła przejść pomiędzy stanami, określająca sposoby przeszukiwania przestrzeni rozwiązań (relację pomiędzy determinizmem a losowością pracy systemu mrowiskowego). Fundamentem tego mechanizmu jest jeden ze składników reguły definiowany jako: t(r, s)*h(r, s)b. Składnik ten nazywany jest produktem feromonowo-widocznościowym. Można też używać nazwy waga krawędzi. W kolejnych etapach eksperymentu sprawdzono, w jaki sposób waga krawędzi zmienia się wraz ze zmianą liczby kroków, podczas budowy przez mrówkę rozwiązania. Krok odpowiada jednemu cyklowi iteracji, po którym następuje lokalne wzmocnienie śladu feromonowego.

W tym celu rozpatrzono dwie rodziny krawędzi: (i) należące do ostatniej najlepszej drogi (BE, BEST EDGES – najlepsze krawędzie) oraz (ii) te, które nie należą do ostatniej najlepszej drogi, ale należały do najlepszych z dwóch przedostatnich iteracji (TE, TESTABLE EDGES – krawędzie testowe).

Średni produkt feromonowo-widocznościowy wyznaczany jest jako średnia wartości na wszystkich krawędziach rodziny. Dodatkowo jest to wartość uśredniona po kilku próbach. W prezentowanym eksperymencie dokonano porównania dwóch rodzin krawędzi pod względem wag tych krawędzi. Wartości parametrów eksperymentu były następujące: b=7, r0=0.9, Q=const=1, t0=0.25, r=0.9, liczba mrówek=const=100 (mrówki rozmieszczono równomiernie).

Na podstawie wyników eksperymentu, średnia produktu feromonowego poszczególnych krawędzi naniesiona została na poniższy wykres. Znaczenie poszczególnych parametrów naniesionych na wykresie jest następujące:

-          t0 - określa ślad początkowy nakładany na poszczególne krawędzie grafu tras,

-          j1 i j2 to optymalne wartości wag poszczególnych krawędzi, uzyskane po n krokach algorytmu; wartości te wyznaczane są na podstawie zaprezentowanych poniżej wzorów:

-          j1=(odczytywana z wykresu wartość punktu przecięcia asymptoty B z osią rzędnych)/ t0

j1=0.38 / 0.25 = 1.52

-          j2=(odczytywana z wykresu wartość punktu przecięcia asymptoty A z osią rzędnych)/ t0

j2=0.60 / 0.25 = 2.4

 

Rys.5. Badanie wag krawędzi.

 

                Analiza przedstawionych wyników pozwoliła dojść do następujących wniosków: w momencie, gdy mrówka przechodzi przez dany odcinek trasy, zastosowanie reguły lokalnego uaktualniania powoduje zmniejszenie ilości feromonu na danym odcinku. Przez to krawędź ta staje się mnie atrakcyjna dla kolejnych mrówek i w następnych iteracjach algorytmu jest wybierana z mniejszym prawdopodobieństwem.

                Innym ważnym spostrzeżeniem opartym na analizie wykresu jest to, że preferowane jest wykorzystanie krawędzi BE. Wyraźnie zaznacza się niemal hiperboliczne zmniejszanie średniego produktu feromonowo-widocznościowego w kolejnych krokach algorytmu dla przypadku tras BE, co świadczy o tym, że są one częściej odwiedzane przez mrówki niż krawędzie TE należące do kilku poprzednich iteracji.

 

8. Podsumowanie.

 

Szybkie znalezienie jak najlepszego rozwiązania (najkrótszej trasy) zależne jest od ustalenia odpowiednich wartości poszczególnych parametrów (b,  r,  r0, Q, t0). Ponieważ, w przypadku złego doboru wartości parametrów istnieje możliwość nie znalezienia drogi optymalnej, przy wyborze tych wartości należy kierować się wynikami analizy ich wyboru. Dlatego właśnie we wstępnej fazie optymalizacyjnej dokonano analizy a następnie wyboru tych parametrów ACS z którymi wiązano przypuszczenie największego wpływu na kooperację. Rezultatem optymalizacji było ustalenie tych wartości parametrów, przy których obserwuje się największą efektywność pracy systemu :

 

·         b Î (1, 10) – ważność widoczności = 7

·         r Î (0, 1) – współczynnik wyparowania feromonu = 0.9

·         q0 Î (0, 1) – współczynnik decydujący o sposobie przeszukiwania przestrzeni rozwiązań = 0.9

Ustalenia te zostały następnie wykorzystane w kolejnych eksperymentach.

 

W celu zbadania roli oraz określenia cech kooperacji mrówek w trakcie poszukiwania optymalnych rozwiązań TSP, przeprowadzono kolejne eksperymenty :

·         Oszacowano optymalną liczbę mrówek w stosunku do liczby miast z wykazaniem wpływu tej liczby na kooperację; uwzględniono także (zgodnie ze wskazówkami [1]) sposób rozmieszczenia agentów w chwili początkowej eksperymentu. Ponieważ wyniki eksperymentu wskazywały na to, że najważniejsze efekty można osiągnąć poprzez ustalenie wartości parametru m. (liczba mrówek) na podobną (lub taką samą) wartości n (liczba miast), przyjęto optymalną liczbę mrówek m. równą liczbie miast n (m = n). Dodatkowo, aby uzyskane wyniki były jeszcze dokładniejsze, należy mrówki rozmieścić losowo w miastach w chwili początkowej. Na zakończenie warto zaznaczyć, że wprowadzone ustalenia uwzględnione zostały w kolejnych eksperymentach.

·         Wykazano ważność podstawowych informacji wykorzystywanych w trakcie kooperacji mrówek tj. śladu feromonowego (t) i funkcji heurystycznej (h). W tym celu przeprowadzono dwa eksperymenty, których wyniki pozwoliły dojść do następujących wniosków :

-          najlepsze wyniki uzyskuje się dla standardowego systemu mrowiskowego, w którym mrówki kooperują czyli współdziałają, a kooperacja ta opiera się na wykorzystaniu istotnych w tym procesie informacji : zarówno informacji heurystycznej, jak i feromonowej. Dzięki powyższym informacjom, mrówki wybierają krótsze krawędzie tras z większą ilością feromonu.

-          znacznie gorsze wyniki uzyskuje się dla systemu mrowiskowego, w którym nie uwzględnia się informacji heurystycznej.

-          najgorsze wyniki uzyskuje się w systemie pozbawionym zupełnie informacji feromonowej. Feromon jako podstawowy czynnik porozumiewania się mrówek, ma niebagatelny wpływ na proces kooperacji. Dzięki jego obecności, mrówki uczą się wzajemnie podejmowania jak najlepszych decyzji. Mrówki nie wyczuwając śladu feromonowego, kierują swoimi poszukiwaniami, opierając się wyłącznie na heurystyce, co sprawia, że uzyskują najgorsze wyniki.

·         Zbadano różnicę pomiędzy wynikami uzyskiwanymi przez mrówki kooperujące a wynikami mrówek niekooperujących, czyli nie wyczuwających śladu feromonowego; kooperacja ma rzeczywiście miejsce wśród mrówek, a jej przejawem jest znacznie krótszy czas generowania optymalnych wyników. W omawianym przypadku, efekt synergiczny zbadany został na przykładzie porównania wyników osiąganych dla dwóch różnych przypadków : mrówek kooperujących i niekooperujących. W drugim przypadku, mrówki były pozbawione przywileju kooperacji za pośrednictwem śladu feromonowego. Dla porównania obu rozwiązań użyto czasu CPU procesora. Wyniki eksperymentu pozwoliły dojść do następujących wniosków : mrówki kooperujące znajdowały dobre rozwiązanie w krótszym czasie niż niekooperujące. Oznacza to nie tylko, że kooperacja ma miejsce, ale również potwierdza fakt, że użycie tego współdziałania w sztucznych środowiskach systemów mrowiskowych przynosi znacznie lepsze rezultaty, zwłaszcza jeśli chodzi o czas generowania optymalnych wyników. Wpływa to również na podniesienie efektywności pracy systemu mrowiskowego.

 

BIBLIOGRAFIA

 

[1]           M. Dorigo, V.Maniezzo, A. Coloroni: „The Ant System: Optimization by Colony of cooperating agents”. Appeared in: IDDE Transactions on Systems, Man and Cybernetics – Part B, Vol. 26, No. 1, 1996, pp.1 - 13.

[2]           M. Dorigo, L.M. Gambardella: „Ant Colony System: A Cooperative Learning Approach to the Travelling Salesman Problem”. Appeared in:  Accepted for publication in the IDEE Transactions on Evolutionary Computation, Vol. 1, No. 1, 1997, In press.

[3]           M. Dorigo, L.M. Gambardella: „Ant – Q: Reinforcement Learning approach to the Travelling Salesman problem”. Appeared in: Proceedings of ML-95, Twelfth International Conference On Machine Learning, Morgan Kaufmann, 1995, 252 – 260.

[4]           Z. Michalewicz: „Algorytmy genetyczne + struktury danych = programy ewolucyjne”, WNT Warszawa 1996.

 [5]          M. Dorigo, L.M. Gambardella: „A STUDY OF SAME PROPERTIES OF ANT-Q”. Published in the Proceedings of PPSN  IV – Fourth International Conference on Parallel Problem Solving From Nature, H.M. Voight, W. Ebeling, I. Rechenberg and H.S. Schwefel (Eds.), Springer – Verlag, Berlin, 656 – 665.

[6]           D. Goldberg: „Algorytmy genetyczne i ich zastosowania”, WNT Warszawa 1995.

[7]           J. Chalifman: „I owady są architektami”, Wiedza Powszechna Warszawa 1976.

[8]           J. Buczek: „Owady i ludzie”, PWN Warszawa, 1990.

[9]           E. O. Wilson: „Społeczeństwa owadów”, PWN Warszawa, 1979.

[10]         P. Sumiński, J. Goszczyński, J. Romanowski: „Ssaki drapieżne Europy”, Państwowe Wydawnictwo Rolnicze i Leśne Warszawa, 1993.

[11]         V. B. Wigglesworth: „Życie owadów”, Państwowe Wydawnictwo Rolnicze i Leśne Warszawa, 1997.