Na kłopoty agenty

Do zaawansowanej analizy danych wykorzystuje się osiągnięcia teorii złożoności.

Do zaawansowanej analizy danych wykorzystuje się osiągnięcia teorii złożoności.

Być może wkrótce w świecie specjalistów od analizy danych równie popularnym określeniem, jak data mining czy OLAP, stanie się akronim ABM.

To skrót nazwy technologii bazującej na tzw. modelowaniu na agentach (Agent Based Modelling).

Choć dysponujemy wyrafinowanymi rozwiązaniami analizy wielowymiarowych danych strukturalnych, to wciąż umyka nam duża klasa zagadnień, których nie daje się eksplorować za pomocą narzędzi standardowych. Kłopot sprawiają systemy złożone, których funkcjonowania nie można opisać za pomocą prostych wzorów i zależności, bo nie poddają się one technikom podziału i selekcji, analizie top-down. Ich działanie jest nieprzewidywalne, gdyż drobne modyfikacje danych wejściowych mogą powodować jakościową zmianę wyniku.

Dogłębne drążenie danych (data mining), pozwalające na odkrywanie nieoczywistych zależności zachodzących pomiędzy zbiorami danych, pozwala na częściowe poznanie natury zjawisk zachodzących w takich systemach, lecz jest mało przydatne w badaniu zjawisk dynamicznych (np. przy rozwiązywaniu problemów optymalizacyjnych, do czego potrzebne byłoby rozpatrywanie możliwych scenariuszy "co się stanie, jeśli").

Teoria złożoności i chaosu do tej pory była dość abstrakcyjną i ezoteryczną nauką, jednak teraz powoli przychodzi czas na jej praktyczne zastosowania - właśnie w analizie danych.

Odmienna perspektywa

Odmienna perspektywa

Stało się to także możliwe za sprawą rozwoju technologii komputerowych. Dopiero teraz są dostępne komputery pozwalające na tworzenie symulacji o odpowiednio dużej skali. Możemy stworzyć krzemowe surogaty złożonych zjawisk świata rzeczywistego, po to by poznać zachodzące w nim zjawiska, aby zdobyć wiedzę o tym, jakie reguły sterują działaniem systemów złożonych, w jaki sposób adaptują się one do zachodzących zmian otoczenia, jak można optymalizować ich działanie. Z taką złożonością systemów mamy także do czynienia w praktyce: zarządzaniu łańcuchem dostaw i dystrybucji, logistyce, planowaniu czy zarządzaniu ryzykiem. Przy praktycznym wykorzystaniu teorii złożoności chodzi również o badanie dyfuzji rozchodzenia się informacji czy wspomaganie podejmowania decyzji, także poprzez strategiczne lub taktyczne symulacje zjawisk ze świata rzeczywistego.

Nauka o złożoności korzysta z dorobku wielu dziedzin: fizyki, teorii systemów i biologii. Zwłaszcza ta ostatnia przynosi obserwacje i doświadczenia będące inspiracją w nowatorskim podejściu do rozwiązywania bardzo trudnych problemów, chociażby w obszarze praktyki gospodarczej.

Agent w modelu

W prowadzonych symulacjach wykorzystuje się autonomiczne agenty, czyli wirtualne byty, o pewnych określonych cechach, implementowanych w oprogramowaniu. Do opisania schematów zachowania agentów potrzebna jest oczywiście dogłębna znajomość konkretnej dziedziny. Często jednak taka "zwyczajowa wiedza" nie jest wystarczająca, a czasem zwyczajnie nikt jej jeszcze nie spisał. Można posłużyć się wnioskami płynącymi z eksploracji danych archiwalnych, np. w procesie tzw. drążenia danych (data mining), gdzie zaawansowane algorytmy obliczeniowe pozwalają na wychwycenie zależności zachodzących pomiędzy danymi. Autonomiczne agenty oprogramowuje się zarówno prostymi instrukcjami warunkowymi (w rodzaju klauzul "jeśli-to"), jak i złożonymi algorytmami maszynowego uczenia się (by agenty mogły zmieniać swoje zachowanie w trakcie symulacji w miarę modyfikowania otaczającego ich środowiska). Model taki buduje się długo i jest to kosztowny proces. Model trzeba kalibrować (testując go na danych archiwalnych), tak żeby odpowiadał faktycznej sytuacji ze świata rzeczywistego.

Symulacja pozwala przede wszystkim na uzyskiwanie informacji o dynamice procesów zachodzących w rzeczywistym świecie, który emulują agenty. Ich zbiorowe działania wpływają na ostateczną pracę całego systemu. Celem symulacji jest szukanie takich modyfikacji zachowań agentów, by osiągnąć optymalną wydajność w założonych kryteriach. Są to więc tak naprawdę usprawnienia racjonalizatorskie w pojedynczych obszarach, dzięki którym można osiągnąć znaczące rezultaty podnoszące efektywność działania całego systemu.

W ABM wykorzystuje się przede wszystkim "algorytm mrówek".

Te pracowite owady potrafią bardzo efektywnie wyszukiwać najkrótsze drogi do źródeł pożywienia. A radzą sobie z tym zadaniem w sposób, który może ludziom imponować. Mrówki nie potrzebują do tego bezpośredniej komunikacji, odnalezione przez siebie lokalne skróty znakują feromonami, czyli substancjami zapachowymi.

Podstawowe cechy systemów złożonych

Niestabilność

Systemy złożone mogą przyjmować wiele różnych stanów, w których ich funkcjonowanie może być różne. Co więcej, stosunkowo mało znaczące czynniki (np. minimalne zmiany parametrów środowiska zewnętrznego) prowadzą do przechodzenia z jednego stanu w drugi.

Niemożność redukcji (uproszczenia)

Systemy złożone funkcjonują jako pewna całość. Nie można ich badać poprzez wydzielenie z nich fragmentów, z których każdy zostaje poddany eksploracji - zachowanie całości jest bowiem zdeterminowane przez interakcję pomiędzy poszczególnymi częściami.

Adaptowalność

Systemy złożone można wyobrazić sobie jako zbiorowisko niezależnych agentów, z których każdy podejmuje decyzje i działania na podstawie częściowych (np. tylko lokalnych) informacji o funkcjonowaniu całości. Mechanizm podejmowania tych decyzji może również się zmieniać w zależności od napływających informacji (występuje więc tutaj silny mechanizm sprzężenia zwrotnego).

Emergencja

Złożone systemy często wykazują nieprzewidywalne cechy. Jest to najbardziej charakterystyczna cecha systemów złożonych. Chodzi tu o zjawiska, których nie da się wskazać poprzez gromadzenie wiedzy o funkcjonowaniu poszczególnych elementów systemu złożonego.

Rozproszone sterowanie

W systemach złożonych nie da się wyróżnić centrum decyzyjnego. Ich działanie zależy bowiem od wzajemnej interakcji wielu elementów składowych, np. poruszanie się zwierząt czy ptaków lecących w stadzie bądź ryb w ławicy jest tak płynne i skoordynowane, że wydaje się dokładnie wyreżyserowane, podczas gdy w większości takich stad nie ma lidera. Każdy z ptaków porusza się zgodnie z paroma podstawowymi regułami postępowania, obserwując jedynie zachowanie swoich najbliższych sąsiadów i instynktownie zmierzając

do środka stada czy ławicy.

Różnorodność

Określenie systemy złożone niekoniecznie oznacza, że mamy do czynienia ze skomplikowaną konstrukcją. Zegar mechaniczny może mieć bardzo złożony mechanizm, ale sam w sobie nie jest systemem złożonym - w istocie jego zachowanie da się opisać za pomocą bardzo prostych reguł. W przypadku systemów złożonych chodzi raczej o spełnianie wymienionych wyżej cech. W szczególności systemy o prostej strukturze mogą zachowywać się nieprzewidywalnie. Oczywiście w większości przypadków mamy do czynienia ze skomplikowaniem zarówno na poziomie struktury, jak i działania (czego najlepszym przykładem jest mózg ludzki).