Zeszyty Naukowe nr 724 Akademii Ekonomicznej w Krakowie 2006 Jacek Wo oszyn Katedra Informatyki Oprogramowanie wspomagajàce badanie zjawiska perkolacji w systemach chaotycznych Streszczenie: Analiza numeryczna wraz z wykorzystaniem grafiki komputerowej stanowią wygodne narzędzia badania zachowań systemów dynamicznych, w których obserwowane są zjawiska chaosu. Badając zjawisko perkolacji rozważa się sieć złożoną z węzłów, która w najprostszym przypadku może być siatką kwadratową o równomiernie rozłożonych węzłach. Każdy węzeł jest albo nieaktywny, albo aktywny. Węzły aktywne mogą tworzyć klastry mające tę własność, że każdy węzeł klastra sąsiaduje bezpośrednio z innym aktywnym węzłem. Na użytek niniejszej pracy rozszerzony został i uogólnimy klasyczny problem perkolacji poprzez dopuszczenie możliwości stosowania różnych metod i mechanizmów aktywowania węzłów sieci w sposób bezpośredni, a także poprzez propagację frontu pobudzenia węzłów. Klasyczny proces losowego wyboru aktywności każdego węzła sieci zastąpiony został deterministycznym generowaniem chaotycznego szeregu czasowego. Powstaje w ten sposób zjawisko perkolacji w systemie chaotycznym. W sieci takiej można obserwować i analizować powstawanie klastrów lub innych form utworzonych z aktywnych węzłów. Natura zagadnienia perkolacji doskonale koresponduje z metodami symulacji komputerowej stosowanymi w badaniu tego zjawiska. Jednym z warunków efektywnego stosowania metod symulacyjnych jest wykorzystywanie odpowiedniego oprogramowania komputerowego dostosowanego do specyfiki prowadzonych badań. W niniejszej pracy zaprezentowane zostało oprogramowanie służące do przeprowadzania komputerowych eksperymentów symulacyjnych związanych ze zjawiskiem perkolacji w systemach chaotycznych. Słowa kluczowe: chaos deterministyczny, perkolacja, symulacja komputerowa.
112 Jacek Wołoszyn 1. Wst p Teoria chaosu wykorzystuje różnorodną metodologię w badaniu własności złożonych systemów dynamicznych. Obok podejścia teoretycznego szeroko stosowane są metody eksperymentalne. Ogromnych możliwości w tym zakresie dostarcza szybko rozwijająca się technika informatyczna oraz inne związane z nią dziedziny. Symulacja komputerowa pozwala w stosunkowo prosty sposób generować dowolnie długie ciągi obserwacji matematycznego modelu systemu chaotycznego. Odpowiedni program komputerowy może dokonywać równocześnie złożonej analizy rezultatów otrzymanych podczas eksperymentu symulacyjnego. Analiza numeryczna wraz z wykorzystaniem grafiki komputerowej stanowią wygodne narzędzia badania zachowania się systemów dynamicznych, w których obserwowane są zjawiska chaosu. Określenia chaos i determinizm przedstawiają dwa pojęcia intuicyjnie rozumiane jako przeciwstawne. Chaos kojarzy się zwykle z brakiem regularności i porządku, natomiast determinizm utożsamiany jest ze ścisłym podporządkowaniem pewnym precyzyjnie określonym regułom. Chaos deterministyczny jest terminem łączącym wspomniane dwa pozornie przeciwstawne pojęcia. Pozorną przeciwstawność łagodzi, a nawet zupełnie niweluje, stwierdzenie, że chaos i determinizm wyrażają dwa niezależne od siebie atrybuty zachowania się badanego systemu dynamicznego. Ścisłe podporządkowanie zachowania się systemu deterministycznego ustalonym regułom oznacza możliwość jednoznacznego wyznaczenia przyszłego stanu systemu na podstawie znajomości jego stanu bieżącego i stanów poprzednich. Determinizm można rozpatrywać również na płaszczyźnie jednoznacznych związków probabilistycznych. Tak rozumiane zależności deterministyczne oznaczają możliwość prognozowania przyszłych stanów systemu, czyli wyznaczenia wartości prawdopodobieństwa wystąpienia określonych stanów rozważanego systemu. Przedstawione podejście jest bardzo często wykorzystywane w analizie dynamiki systemów ekonomicznych [Wołoszyn 2000]. Brak regularności i porządku dostrzegany w zachowaniu się systemów określanych jako chaotyczne (a ściślej jako deterministycznie chaotyczne) oraz towarzysząca tym zjawiskom nieprzewidywalność zachowania się systemu nie wynikają ze skomplikowanej budowy wewnętrznej systemu i występujących tam złożonych zależności. Źródłem chaosu jest specyfika nieliniowych związków rzutujących na relacje pomiędzy zmiennymi systemu obserwowanymi w przestrzeni jego stanów. Zachowania chaotyczne są obserwowane nie tylko w złożonych systemach dynamicznych. Systemy opisywane nawet bardzo prostymi zależnościami, mające trywialne modele matematyczne, mogą wykazywać bardzo złożone zachowania opisywane skomplikowanymi trajektoriami w przestrzeni fazowej systemu.
Oprogramowanie wspomagające badanie 113 2. Chaos generowany odwzorowaniem logistycznym Jeden z najprostszych przypadków występowania zjawiska chaosu deterministycznego można zaobserwować dokonując iteracji formuły odwzorowania logistycznego mającego następującą postać: x t + 1 = cx t (1 x t ). (1) Równanie (1) można uważać za model matematyczny systemu, którego stan opisuje jedna zmienna x. Ten system jest nieliniowy ze względu na występujący w opisującym go równaniu iloczyn. Po dokonaniu wyboru pewnego punktu startowego x 0 odpowiadającego chwili czasu t = 0, z zależności (1) w sposób deterministyczny jednoznacznie wynika stan systemu w następnej chwili czasu t = 1. Powtarzając obliczenia dla kolejnych momentów czasu otrzymujemy szereg czasowy reprezentujący zachowanie się rozpatrywanego systemu dynamicznego. Na rys. 1 przedstawiony został wykres wartości zmiennej x, które w formie szeregu czasowego otrzymano w wyniku wykonania 200 iteracji równania (1). Jako wartość początkową obserwowanej zmiennej wybrano w sposób arbitralny x 0 = 0,73621 oraz ustalono wartość mnożnika w postaci parametru c = 3,993519. 1,0 0,8 0,6 0,4 0,2 0,0 Rys. 1. Szereg czasowy generowany przez odwzorowanie logistyczne (1) 200 iteracji dla x 0 = 0,73621 oraz c = 3,993519 Systemy dynamiczne zachowujące się w sposób chaotyczny wykazują dużą wrażliwość na warunki początkowe. Zmieniając nieznacznie wartość początkową
114 Jacek Wołoszyn x 0 = 0,73622 otrzymujemy zupełnie różny obraz (rys. 2) zachowania się systemu opisanego równaniem (1). Zmieniając równie nieznacznie wartość parametru c = 3,993518 obserwujemy podobnie zdecydowanie różny przebieg wartości zmiennej x. 1,0 0,8 0,6 0,4 0,2 0,0 Rys. 2. Szereg czasowy generowany przez odwzorowanie logistyczne (1) 200 iteracji dla x 0 = 0,73622 oraz c = 3,993519 0,2 0,1 0,0 Rys. 3. Szereg czasowy generowany przez odwzorowanie logistyczne (1) 40 iteracji dla x 0 = 0,001 oraz c = 1,25 Odwzorowanie (1) przy odpowiednim wyborze wartości parametru c oraz wartości początkowej x 0 generuje przebieg o kształcie funkcji logistycznej (nazwa
Oprogramowanie wspomagające badanie 115 odwzorowania). Rys. 3 prezentuje wykres początkowych 40 iteracji odwzorowania (1) dla wartości x 0 = 0,001 oraz c = 1,25. 3. Zjawisko perkolacji Omawiając zjawisko perkolacji rozważamy sieć złożoną z węzłów, która w najprostszym przypadku może być siatką kwadratową o równomiernie rozłożonych węzłach w kwadratowych komórkach utworzonych przez boki siatki. Węzły mogą znajdować się w dwóch stanach: każdy węzeł jest albo nieaktywny (pusty), albo aktywny (zapełniony). Węzły aktywne mogą tworzyć klastry, czyli zbiory wierzchołków mających tę własność, że każdy węzeł klastra sąsiaduje bezpośrednio z innym aktywnym węzłem. W klasycznym problemie perkolacji [Heermann 1997] interesują nas własności klastrów powstających w wyniku losowego aktywowania węzłów. Każdy węzeł jest zapełniony z ustalonym jednakowym prawdopodobieństwem p [0;1] oraz pozostaje pusty z prawdopodobieństwem 1 p. Okazuje się, że istnieje pewna wartość graniczna p c nazywana progiem perkolacji, mająca tę własność, że aktywowanie węzłów sieci z prawdopodobieństwem p p c prowadzi do powstania klastra łączącego przeciwległe brzegi sieci węzłów (w sieci nieskończonej powstaje nieskończony klaster). Na użytek niniejszej pracy rozszerzymy i uogólnimy przedstawiony wyżej problem perkolacji dopuszczając możliwość stosowania różnych metod i mechanizmów aktywowania węzłów sieci w sposób bezpośredni, a także poprzez propagację frontu pobudzenia węzłów. Klasyczny proces losowego wyboru aktywności każdego węzła sieci zastąpimy deterministycznym generowaniem chaotycznego szeregu czasowego. Powstaje w ten sposób zjawisko perkolacji w systemie chaotycznym. W sieci takiej można obserwować i analizować powstawanie klastrów lub innych form utworzonych z aktywnych węzłów. Natura zagadnienia perkolacji doskonale koresponduje z metodami symulacji komputerowej stosowanymi w badaniu tego zjawiska. Jednym z warunków efektywnego stosowania metod symulacyjnych jest wykorzystywanie odpowiedniego oprogramowania komputerowego dostosowanego do specyfiki prowadzonych badań. W dalszej części pracy prezentowane jest oprogramowanie służące do przeprowadzania komputerowych eksperymentów symulacyjnych związanych ze zjawiskiem perkolacji w systemach chaotycznych.
116 Jacek Wołoszyn 4. Oprogramowanie narz dziowe wspomagajàce komputerowà symulacj zjawisk perkolacji Do celów prowadzenia komputerowych eksperymentów symulacyjnych z zakresu zagadnień związanych ze zjawiskiem perkolacji zostało zaprojektowane oraz implementowane 1 specjalne oprogramowanie nazwane Percolate, stanowiące samodzielną aplikację przeznaczoną do uruchamiania na platformie systemowej Microsoft Windows. Oprogramowanie zostało napisane w języku C++ przy wykorzystaniu systemu MFC w środowisku programistycznym Microsoft Visual Studio. Rys. 4. Główne okno programu Percolate Na rys. 4 przedstawiono wygląd głównego okna programu Percolate, które składa się z interfejsu sterującego (menu, pasek narzędzi) oraz zasadniczego widoku dokumentu. Menu główne zawiera polecenia, dostępne także za pomocą 1 Autorami projektu omawianego oprogramowania oraz jego implementacji są Jacek Wołoszyn (Katedra Informatyki AE w Krakowie) oraz Paweł Wołoszyn (Katedra Automatyki AGH w Krakowie).
Oprogramowanie wspomagające badanie 117 paska narzędzi, służące ustalaniu parametrów symulacji, przeprowadzaniu eksperymentów symulacyjnych oraz konfigurowaniu poszczególnych opcji programu. Widok dokumentu stanowi wizualizację stanu węzłów rozlokowanych w prostokątnej sieci i umożliwia obserwację struktury połączeń między węzłami oraz drogi propagacji aktywności węzłów. Pozwala także na interakcyjny wybór źródła propagacji. Podstawową strukturą danych programu Percolate jest węzeł reprezentowany, z programistycznego punktu widzenia, przez klasę obiektów. Właściwości tej klasy pozwalają przechowywać w każdym węźle informacje o jego bieżącym stanie oraz jednokierunkowych połączeniach z węzłami, do których ten stan będzie propagowany. Metody zdefiniowane w klasie węzła opisują podstawowe zachowanie węzła polegające na propagowaniu jego stanu do węzłów związanych połączeniami. Umożliwiają także uzyskanie informacji o bieżącym stanie, ustalenie połączeń oraz przywrócenie stanu początkowego danego węzła. Poszczególne węzły zorganizowane są w dwuwymiarową strukturę tablicową o zadanej przez użytkownika liczbie wierszy i kolumn. Graficzną reprezentacją sieci węzłów w widoku programu jest matryca złożona z kwadratowych elementów, których kolor odzwierciedla bieżący stan węzłów. Topologia widoku ekranowego odpowiada topologii struktury danych, tak więc brzegi tablicy nie są sklejone przeciwległymi parami, zaś węzły brzegowe sąsiadują z mniejszą liczbą węzłów niż te, które położone są we wnętrzu tablicy. Praca z programem rozpoczyna się od wybrania przez użytkownika rozmiaru tablicy węzłów. Rozmiar ten może być później zmieniany. Po utworzeniu węzłów możliwe jest tworzenie sieci połączeń między nimi. Następnym etapem jest wybór węzłów, od których rozpoczynać się będzie propagacja sygnału aktywacji. Po przejściu tych etapów użytkownik może rozpocząć symulację. Gdy propagacja sygnału się zakończy, można przeanalizować (również statystycznie) wyniki symulacji, a także wybrać inne źródła propagacji aktywności węzłów, zmienić układ połączeń między węzłami lub nawet zmienić rozmiary tablicy przechowującej strukturę sieci węzłów. Możliwe jest także uruchomienie eksperymentów symulacyjnych w trybie automatycznym, pozwalającym powtarzać doświadczenia wielokrotnie przy równoczesnym automatycznym rejestrowaniu uzyskiwanych rezultatów w poszczególnych przebiegach. W programie Percolate dostępne są w postaci odpowiednich narzędzi następujące polecenia: Array size zmienia liczbę wierszy i kolumn tablicy węzłów, Links setup ustala zasięg i liczbę połączeń między węzłami, Reset nodes przywraca wyjściowy stan węzłów,
118 Jacek Wołoszyn Propagate wykonuje jeden krok propagacji sygnału, Auto propagate iteruje kroki propagacji aż do osiągnięcia stanu ustalonego, Auto increment (przełącznik) włącza / wyłącza inkrementację stanu węzłów źródłowych, Statistics wyświetla statystyki węzłów, State gradation (przełącznik) włącza / wyłącza kolorową skalę stanu węzłów, Mark source (przełącznik) włącza / wyłącza oznaczanie węzłów źródłowych, Mark front (przełącznik) włącza / wyłącza oznaczanie frontu propagacji, View options konfiguracja dodatkowych parametrów wyświetlania, Show all links wyświetla wszystkie połączenia między węzłami, Repaint view odświeża ekran widoku węzłów, Copy kopiuje do schowka systemowego zawartość widoku, Batch uruchamia wsadowe przetwarzanie serii eksperymentów. Rys. 5. Połączenia wybranego węzła, zasięg połączeń równy 1 Rozmiar tablicy węzłów tworzonej w programie Percolate jest uzależniony zasadniczo od pojemności dostępnej pamięci operacyjnej komputera. W ekspe-
Oprogramowanie wspomagające badanie 119 rymentach przeprowadzanych na użytek niniejszej pracy wykorzystywane były tablice o rozmiarach rzędu 10 000 węzłów. Wraz ze wzrostem liczby węzłów następuje wydłużanie czasu symulacji, który przy dużych rozmiarach tablicy w większym stopniu limituje możliwość prowadzenia doświadczeń niż wielkość pamięci operacyjnej komputera. Rys. 6. Połączenia wybranego węzła, zasięg połączeń równy 4 Podczas tworzenia połączeń między węzłami program Percolate umożliwia ustalenie dwóch parametrów: zasięgu połączeń (wyrażonego promieniem otoczenia mierzonego w metryce maksimum) oraz maksymalnej liczby połączeń wychodzących z jednego węzła. Pierwszy parametr wpływa na współczynnik skalowania wartości uzyskiwanych podczas iteracji odwzorowania logistycznego generującego przebiegi chaotyczne, które z przedziału [0, 1] transformowane są do przedziału względnych współrzędnych węzłów sąsiadujących z węzłem bazowym i zamieniane na wartości całkowite. Drugi parametr określa największą możliwą liczbę podwójnych iteracji odwzorowania logistycznego prowadzonych dla węzła bazowego celem wyznaczenia współrzędnych połączonych węzłów otoczenia. Faktyczna liczba podwójnych iteracji jest wynikiem losowania (za pomocą generatora liczb pseudolosowych o rozkładzie równomiernym) wartości mniejszej lub równej maksymalnej liczbie połączeń. W ten sposób każdy węzeł w tablicy może mieć inną, losową liczbę ustalanych połączeń, przy czym niektóre z nich mogą być dodatkowo pomijane, jeżeli wartości uzyskane w iteracjach odwzorowania logistycznego wskażą węzeł bazowy lub węzeł związany już wcześniej połączeniem.
120 Jacek Wołoszyn Rys. 7. Sieć połączeń węzłów, zasięg połączeń 1, maksymalna liczba połączeń 4 Rys. 8. Gęsta sieć połączeń węzłów, zasięg połączeń 3, maksymalna liczba połączeń 7 Połączenia węzłów ilustrują rys. 5 i 6 obrazujące działanie dostępnej w programie Percolate funkcji wizualizowania połączeń wszystkich lub jedynie wskazanych węzłów. Program pozwala wizualizować również wszystkie połączenia węzłów tablicy. By zachować przejrzystość graficzną, nie pokazano kierunków połączeń wychodzących z węzłów. Przykładowe sieci połączeń przedstawione są na rys. 7 i 8.
Oprogramowanie wspomagające badanie 121 Rys. 9. Różne konfiguracje węzłów źródłowych Użytkownik programu Percolate po utworzeniu tablicy węzłów i ustaleniu połączeń pomiędzy poszczególnymi węzłami może przystąpić do eksperymentów symulacyjnych. W tym celu konieczne jest wskazanie węzłów, od których rozpocznie się propagacja sygnału aktywacji. Interfejs programu pozwala za pomocą myszy komputerowej zaznaczać lub cofnąć zaznaczenie dowolnych węzłów przedstawionych w oknie widoku. Przykładowe konfiguracje węzłów źródłowych obrazuje rys. 9. Podczas prowadzenia eksperymentów symulacyjnych program Percolate umożliwia śledzenie drogi rozchodzenia się sygnału aktywacji węzłów. Jest to możliwe poprzez zastąpienie wartości logicznej określającej stan węzła (aktywny / nieaktywny) wartością całkowitą równą liczbie kroków propagacji, podczas których dany węzeł był aktywny. Zliczanie kroków propagacji jest uzyskiwane poprzez automatyczną inkrementację liczników węzłów źródłowych, które następnie inkrementowany stan przekazują dalej w kolejnych cyklach. W efekcie po pewnej liczbie kroków propagacji węzły źródłowe posiadają stan wyrażony największymi wartościami, węzły nowoaktywowane mają stan równy 1, pozostałe węzły nieaktywne mają natomiast stan zerowy. Zastosowanie barwnej skali w widoku ekranowym (rys. 10), niosącej więcej informacji, pozwala na prostą w percepcji wizualizację drogi rozchodzenia się sygnału aktywacji od węzłów źródłowych do frontu propagacji (skala barw wyrażająca następstwo przekazywania sygnału obejmuje sekwencję odcieni kolorów od koloru ciemnofioletowego do koloru żółtego). Niezależnie od skali barwnej, program Percolate pozwala odrębnym kolorem zaznaczyć w oknie widoku węzły źródłowe (kolor niebieski) oraz węzły znajdujące się na froncie propagacji (kolor zielony). Poszczególne kroki propagacji można realizować pojedynczo na polecenie użytkownika. Taki tryb pracy programu pozwala na precyzyjną obserwację drogi rozchodzenia się sygnału aktywacji węzłów. Na każdym etapie eksperymentu pro-
122 Jacek Wołoszyn Rys. 10. Obrazowanie drogi propagacji sygnału, węzły białe pozostały nieaktywne Rys. 11. Wybrane etapy tego samego eksperymentu gram Percolate umożliwia bezpośrednie skopiowanie bieżącego widoku węzłów do schowka systemowego, dzięki czemu można wykorzystywać ten obraz bez użycia dodatkowego oprogramowania graficznego. Kilka etapów tego samego eksperymentu przedstawiono na rys. 11. Program Percolate umożliwia również przeprowadzenie eksperymentu symulacyjnego automatycznie powtarzając kroki propagacji. Zatrzymanie eksperymentu zachodzi wówczas, gdy w kolejnych krokach nie następuje aktywacja nowych węzłów. Po zakończeniu lub w trakcie eksperymentu użytkownik może przywołać okno statystyk, w którym prezentowane są wartości opisujące: sieć połączeń, liczbę węzłów aktywnych i wymiary aktywnego klastra. Liczba połączeń przypadających na jeden węzeł jest średnią liczby połączeń wszystkich węzłów. Liczba i odsetek aktywnych węzłów opisuje efektywność propagacji (liczbę węzłów, do których doszedł sygnał aktywacji z węzłów źródłowych). Z kolei średnica pionowa i pozioma aktywnego klastra określa zasięg propagacji, a więc największą odległość pionową i poziomą, na jaką oddalił się sygnał z węzłów źródłowych.
Oprogramowanie wspomagające badanie 123 Ponieważ liczba połączeń indywidualnych węzłów wybierana jest w sposób losowy, symulacja propagacji sygnału ma charakter stochastyczny i w celu uzyskania wyników umożliwiających wyciąganie dalszych wniosków niezbędne jest wielokrotne powtarzanie eksperymentów. Program Percolate jest przystosowany do tego zadania i posiada moduł automatycznego powtarzania eksperymentów. Przed rozpoczęciem serii doświadczeń użytkownik ustala rozmiar tablicy węzłów, parametry tworzenia połączeń oraz wskazuje węzły źródłowe. Następnie zadaje liczbę eksperymentów do wykonania. Moduł automatycznie powtarza cykl eksperymentalny złożony z generowania połączeń, propagacji sygnału aż do uzyskania stanu ustalonego i obliczenia statystyk węzłów. Po każdym cyklu moduł zapisuje uzyskane statystyki do pliku tekstowego umożliwiając w ten sposób zgromadzenie wyników wszystkich doświadczeń i następnie dalszą ich komputerową analizę. 5. Eksperymenty symulacyjne Interesującym zagadnieniem jest zbadanie zależności między średnią liczbą połączeń wychodzących z węzłów a rozmiarem klastrów powstających w wyniku propagacji sygnału. Można przypuszczać, że im więcej połączeń wychodzi z aktywnego węzła, tym dalej zostanie przekazany sygnał. Jednak po pewnej liczbie kroków propagacja może ulec zatrzymaniu, jeśli sygnał dotrze do węzłów nie posiadających dalszych połączeń lub połączonych z węzłami już aktywnymi. Frakcja węzłów aktywnych 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 1 1,5 2 2,5 3 3,5 4 Średnia liczba połączeń Rys. 12. Wykres zależności frakcji węzłów aktywnych i średniej liczby połączeń, dane z 1100 eksperymentów, tablica węzłów 100 x 100, zasięg połączeń 1
124 Jacek Wołoszyn Prawdopodobieństwo zatrzymania propagacji jest tym większe, im mniej połączeń przypada średnio na jeden węzeł. W celu zbadania eksperymentalnie tej zależności zaprojektowano układ 10 000 węzłów w postaci kwadratowej tablicy o wymiarach 100 x 100 węzłów. Wybrano następnie jeden węzeł źródłowy leżący w punkcie o współrzędnych (50, 50) i wykonano 1100 eksperymentów losując za każdym razem połączenia o zasięgu 1 węzła. Z uzyskanych wyników wykorzystano średnią liczbę połączeń i frakcję aktywowanych węzłów w całej tablicy. Wykres zależności tych parametrów przedstawia rys. 12. Wyniki doświadczeń potwierdzają, że wzrost liczby połączeń między węzłami powoduje wzrost frakcji węzłów objętych propagacją. Zależność ta ma z początku charakter zbliżony do wykładniczego, lecz skończony rozmiar tablicy węzłów sprawia, że po pewnej liczbie kroków propagacji proces aktywacji nowych węzłów ustaje. Zjawisko to odpowiada drugiej części wykresu zbliżającej się asymptotycznie do jedności. Zmiana skali osi pionowej na logarytmiczną uwydatnia początkowy wykładniczy charakter rozrastania się klastrów aktywnych w miarę wzrostu średniej liczby połączeń (rys. 13). 1 Frakcja węzłów aktywnych 0,1 0,01 0,001 0,0001 1 1,5 2 2,5 3 3,5 4 Średnia liczba połączeń Rys. 13. Wykres zależności frakcji węzłów aktywnych i średniej liczby połączeń, dane z rys. 12, oś pionowa w skali logarytmicznej W celu zmniejszenia zaburzenia spowodowanego ograniczonym rozmiarem tablicy węzłów wykonano kolejną serię eksperymentów na tablicy 1 000 000 węzłów o wymiarach 1000 x 1000. Wzrost liniowego rozmiaru tablicy powoduje wzrost liczby węzłów z kwadratem wzrostu rozmiaru tablicy, zaś maksymalna
Oprogramowanie wspomagające badanie 125 ilość obliczeń wykonywanych podczas eksperymentów zwiększa się z czwartą potęgą wzrostu rozmiaru tablicy. Zwiększenie długości boku kwadratowej tablicy ze 100 do 1000 węzłów powoduje 10 000-krotne wydłużenie czasu obliczeń. Z tego powodu dla tablicy 1000 x 1000 węzłów udało się przeprowadzić jedynie 400 eksperymentów. Rys. 14. Wykres zależności liczby węzłów aktywnych i średniej liczby połączeń, eksperymenty na tablicach 100 x 100 (kolor niebieski) i 1000 x 1000 (kolor żółty), zasięg połączeń 1 Uzyskane wyniki zestawiono z wynikami eksperymentów przeprowadzonych na mniejszej tablicy. By zachować jednolitą skalę, frakcję węzłów aktywnych zastąpiono w analizie liczbą węzłów aktywnych. Dzięki temu zabiegowi rezultaty eksperymentów na większej tablicy zostały zobrazowane jako kontynuacja doświadczeń z mniejszą tablicą węzłów. Duża rozpiętość wartości (od 1 do 1 000 000 węzłów aktywnych) skłoniła do zastosowania skali logarytmicznej. Wykres wyników eksperymentów przedstawiono na rys. 14. Wąskie poziome skupiska punktów na rys. 14 należy uznać za artefakt, gdyż odpowiadają one liczebności wszystkich węzłów (10 000 w przypadku mniejszej tablicy i 1 000 000 w przypadku większej). Wyniki eksperymentów leżące w tych skupiskach są zatem zdeterminowane nie samą naturą symulowanego zjawiska, lecz ograniczeniami modelu symulacyjnego. Zwiększenie rozmiaru tablicy przemieszcza takie skupiska do odpowiednio wyższych rzędnych. By uniknąć tego typu artefaktów w sytuacji granicznej, należałoby prowadzić eksperymenty na nieskończonej tablicy węzłów.
126 Jacek Wołoszyn Złożoność obliczeniowa nie pozwala na uzyskanie w porównywalnym czasie podobnej liczby punktów na rys. 14 dla mniejszej i większej tablicy. Mimo to daje się zauważyć pewną prawidłowość: wyniki eksperymentów dla większej liczby węzłów (kolor żółty) pokrywają się z częścią wyników doświadczeń z mniejszą liczbą węzłów (kolor niebieski). Zgodność występuje w obszarze poniżej artefaktu odpowiadającego liczbie 10 000. Dalsza część wykresu, reprezentowana wyłącznie przez dane z eksperymentów na większej tablicy, stanowi przedłużenie części początkowej do bariery 1 000 000 węzłów. Ze względu jednak na niewielką liczebność punktów w tym obszarze wykresu, trudno jest ocenić charakter zależności liczby węzłów aktywnych od średniej liczby połączeń. Rys. 15. Zasięg propagacji w eksperymencie symulacyjnym dla tablicy 100 x 100 węzłów. Kolor szary oznacza węzły aktywne, kolor biały oznacza węzły nieaktywne Oczywiste jest, że początkowy przebieg analizowanego związku liczby węzłów aktywnych i średniej liczby połączeń, nasuwający skojarzenia z zależnością wykładniczą, musi ustąpić innemu zachowaniu w miarę wzrostu liczby połączeń. Badanie liczby węzłów aktywnych po zakończeniu propagacji jest równoważne badaniu, po ilu krokach przy danej liczbie połączeń propagacja się zakończy. W przypadku dokładnie 8 połączeń każdego węzła z węzłami sąsiednimi propagacja nie zatrzyma się nigdy, tym samym liczba węzłów aktywnych wzrośnie do nieskończoności. Faktyczny próg, powyżej którego propagacja nie wygasa, może być mniejszy od 8. Z wykresu na rys. 14 wynika, że już powyżej średniej liczby 2,5 połączeń wychodzących przypadających na jeden węzeł propagacja obejmuje niemal całą dostępną przestrzeń tablicy węzłów.
Oprogramowanie wspomagające badanie 127 a b c d Objaśnienia: pojedynczy węzeł źródłowy położony centralnie. Skala barwna jak na rys. 10. Średnia liczba połączeń wynosi odpowiednio: a 1,8, b 2,1, c 2,2, d 3,1 Rys. 16. Drogi rozprzestrzeniania się sygnału do zakończenia propagacji w eksperymentach na tablicy 400 x 400 węzłów Występujące powyżej 2,5 połączeń na jeden węzeł przypadki zatrzymania propagacji przed objęciem wszystkich węzłów prawdopodobnie wynikają ze specyficznego położenia węzła źródłowego, który w tych przypadkach może znajdować się wewnątrz odosobnionego obszaru, do którego nie docierają połączenia z węzłów otaczających. Obszary takie widoczne są w postaci białych wysp na rys. 15 przedstawiającym zasięg propagacji w jednym z eksperymentów wykonanych na tablicy rozmiaru 100 x 100 węzłów. Aby zbadać mechanizm powstawania wysp, można prześledzić drogę rozprzestrzeniania się sygnału w aktywnych klastrach. Wyniki eksperymentów wykonanych na tablicy węzłów o wymiarach 400 x 400 dla różnych liczb połączeń
128 Jacek Wołoszyn zobrazowano na rys. 16. We wszystkich przypadkach wybierany był tylko jeden centralnie położony węzeł źródłowy. Jak wynika z przeprowadzonych eksperymentów symulacyjnych, nie tylko zasięg propagacji, ale także droga rozprzestrzeniania się sygnału zależy od liczby połączeń węzłów. Przy dużej liczbie połączeń sygnał rozchodzi się nieograniczenie w przybliżeniu radialnie wokół źródła. Z kolei przy mniejszej liczbie połączeń, dla której zatrzymanie się propagacji jest bardziej prawdopodobne, można obserwować chaotyczne błądzenie ścieżki propagacji przypominające ruchy Browna. Na przykład na rys. 16c front propagacji położony jest stosunkowo blisko węzła źródłowego, a szlak rozprzestrzeniania się sygnału zakreśla chaotyczne pętle oddalające się i powracające w stronę punktu wyjścia. Nasuwa się pytanie, w jaki sposób charakter ścieżki propagacji zależy od średniej liczby połączeń między węzłami. Jest to bardzo złożone zagadnienie, można jednak podjąć próbę zbadania uproszczonej wersji problemu, a mianowicie szukać odpowiedzi na pytanie, w jaki sposób średnia liczba połączeń wpływa na linearność propagacji. 6. Zakoƒczenie Jako cel dalszych badań wskazać można budowę modelu doświadczalnego umożliwiającego rozprzestrzenianie się sygnału jedynie po szlakach w przybliżeniu linearnych. Modelem takim byłaby tablica węzłów o stosunkowo niewielkiej szerokości i wielokrotnie większej długości. Węzły źródłowe powinny znajdować się na jednym z krótszych boków tablicy. W tak skonstruowanym środowisku propagacja postępująca wzdłuż chaotycznie błądzących ścieżek zostanie wyhamowana na skutek niewielkiej szerokości kanału rozprzestrzeniania się sygnału. Natomiast propagacja linearna może zachodzić tak długo, aż zostanie powstrzymana przez samą konfigurację połączeń. Innym interesującym problemem badawczym jest ustalenie związku liczby węzłów aktywnych i średniej liczby połączeń. Określenie liczby aktywnych węzłów po zakończeniu procesu propagacji odpowiada ustaleniu, po ilu krokach przy danej liczbie połączeń pomiędzy węzłami proces propagacji się zakończy. Wskazane zagadnienia mogą towarzyszyć modelowaniu procesu dyfuzji innowacji. Innym aspektem tego samego podejścia badawczego jest przestrzenne rozmieszczenie aktywnych węzłów (rys. 15). Znacznie bardziej rozbudowanym problemem jest badanie dynamiki dróg propagacji aktywności węzłów sieci (rys. 16). Na obydwu wspomnianych rysunkach wyraźnie widać fraktalny [Mandelbrot 1982] charakter uzyskiwanych map przestrzennej aktywności węzłów. Jest to całkowicie zrozumiałe ze względu na chaotyczny mechanizm propagacji aktywności.
Oprogramowanie wspomagające badanie 129 Literatura Heermann D.W. [1997], Podstawy symulacji komputerowych w fizyce, WNT, Warszawa. Mandelbrot B. [1982], The Fractal Geometry of Nature, W.H. Freeman, New York. Wołoszyn J. [2000], Elementy teorii chaosu deterministycznego w badaniach systemów ekonomicznych, Zeszyty Naukowe AE w Krakowie, nr 551, Kraków. Software for Percolation Phenomena Research in Chaotic Systems Numerical analysis and computer graphics are convenient tools for research into behaviour of dynamic systems that demonstrate chaos phenomena. During exploration of percolation occurrence, a net consisted of nodes is being considered. In the simplest case, it can be a square net with uniformly placed nodes. Each node can be active or non-active. The active nodes can form clusters having such a feature that each cluster node neighbours directly with other active node. For the purpose of this paper, the classical percolation problem has been extended and generalised by enabling of utilisation of various node activation methods operating in direct way, or by the propagation of node stimulation front. The classical process of random activity selection for each node has been replaced by deterministic generation of a chaotic time series. This process creates a percolation phenomenon in a chaotic system. In such a net the creation of clusters and other forms that are composed of active nodes can be observed and analysed. The behaviour of percolation issue is perfectly connected with computer simulation methods that are used for exploration of this phenomenon. A condition of effective utilisation of simulation methods is application of proper computer software that should be adopted to research characteristics. The article presents the software for computer simulation experiments that are connected with percolation phenomena in chaotic systems. Key words: deterministic chaos, percolation, computer simulation.