Systemy autonomiczne - poczatek nowej rewolucji systemow informatycznych

aelbereth

Wstep
Wyobrazmy sobie system komputerowy, ktory jest w stanie autonomicznie reagowac na czynniki zewnetrzne, takie jak zmiany jego
struktury (np. awaria jego komponentow) lub warunkow funkcjonowania. Dla przykladu, jesli zniszczymy czesc takiego systemu, bedzie on w stanie dalej funkcjonowac. Natomiast, jesli zmienia sie warunki w ktorych on funkcjonuje, np. liczba dostepnych informacji badz zasobow z ktorych syste korzysta ulegnie dramatycznej zmianie, system ulegnie reorganizacji i ponownie zaadaptuje sie do istniejacych warunkow.

<image src="http://dl.dropbox.com/u/1854294/mywebpage/1.jpg" width="400" height="300" /> Ilustracja prezentujaca model autonomicznego systemu

Wprawne oko czytelnika zauwazy, ze taki system musi sie skladac ze pewnej liczby komponentow, ktore sa interkatywne i tworza poprzez relacje oraz interakcje strutkure organizacyjna calego systemu. Ponadto, zaden z takich komponentow nie pelni roli kontrolera (czyli nie zarzadza funkcjonowaniem innych komponentow). Dlatego tez usuniecie jakiegokolwiek komponentu nie powoduje zniszczenia systemu lub jego funkcjonalnosci. Wniosek z tego jest taki, ze kazdy komponent jest autonomiczna jednostka, zdolna do samodzielnego funkcjonowania i podejmowania decyzji, ktora nalezy do wiekszej struktury (oczywiscie
naszego systemu) zbudowanej z innych komponentow o podobnej charakterystyce.

<image src="http://dl.dropbox.com/u/1854294/mywebpage/simulation.png" width="400" height="300" /> Ilustracja prezentujaca interakcje pomiedzy 4 autonomicznymi systemami oraz wydajnosc funkcjonowania jednego z nich

Wazne pytanie ktore sie moze nasuwac w tym momencie, jest oczywiscie: skoro zaden z komponentow nie kontroluje funkcjonowania oraz struktury systemu, w jaki sposob system moze dzialac, a co najwazniejsze adaptowac sie do zmian oraz optymalizowac swoje funkcjonowanie? Odpowiedz jest prosta: system jest w stanie samodzielnie organizowac sie (tzw. self-organisation). W jaki sposob? Coz, wystarczy spojrzec na wszystko wokol nas, poniewaz wlasnie znajdujemy sie w takim samodzielnie organizujacym sie systemie. O ile mozna to zauwazyc, to trudniej jest zrozumiec w jaki sposob to dziala. Tak, biologia to klucz do zrozumienia, ale wracajac do informatyki i
dzisiejszego sposobu pojmowania oraz tworznia systemow jestesmy daleko, bardzo daleko od naszego celu jesli nie zmienimy sposobu myslenia i pojmowania rzeczy wokol nas.

Co dalej?
Tyle gwoli wstepu. Jesli ten tekst spotka sie z zainteresowaniem, postaram sie go rozbudowac i przedstawic wiecej szczegolow.
Zamierzeniem tego artykulu bedzie oczywiscie przedstawienie sposobu w jaki mozna zbudowac taki system. Aczkolwiek moze sie wydawac, ze to czysta teoria, zainteresowanych zapraszam na moja strone, na ktorej wiecej informacji na temat opisanego 'tworu' rowniez z symulacjami (video, ppt) stworzonego prototypu takiego systemu.
http://www.ecs.soton.ac.uk/~mj04r/

PS.
Poza tym, nie zapominajmy ze takie systemy juz istnieja: cybernetyka (poczatek lat 50) zainspirowala rozwoj takich dzidzin jak: sieci neuronowe oraz CA (Cellular Automata). Niestety, badania nad tego typu systemami zostaly zastopowane przez bardziej komercyjne i mniej ambitne projekty, ktorych rezultatem jest nimoznosc budowy duzych systemow (large scale systems) oraz efektywnej kontroli nad nimi. Ale przeciez my juz mamy taki system - internet - dlatego tez wiele oczu po raz kolejny patrzy na rozwiazania pochodzace z biologii jako kolejny krok w kierunku rewolucji.

10 komentarzy

Sieci neuronowe są głównie stosowane do równoległego przetwarzania informacji. Z systemami autonomicznymi mają tyle wspólnego, że można je sobie wyobrazić zupełnie tak samo. Wyobraźmy sobie obiekty, które są ze sobą wzajemnie połączone - w zależności od sposobu i danego modelu matematycznego (jak np w SSN - sztucznych sieciach neuronowych). W jednym jak i w drugim przypadku zostały zaobserwowane - chyba jedne z najważniejszych - zdolności do uogólniania. Jak kolega wyżej napisał na temat systemów autonomicznych, o tyle SSN mają zdolności do uogólniania swojej wiedzy, dzięki temu zawsze otrzymamy jakiś wynik który dana sieć będzie w stanie przyporządkować do najbardziej pasującego wzorca (nawet gdy rozpatrywane dane są zupełnie nowe). I jeżeli po długim procesie uczenia dana sieć, będzie posiadała wadliwe/uszkodzone/głupie neurony, to dla ogółu nie będzie to miało większego znaczenia. Sieci neuronowe kryją o wiele więcej tajemnic, o których raczej rzadko się mówi, wszyscy skupiają się jedynie na ich zastosowaniach w rozwiązywaniu złożonych i czasochłonnych problemów, które są trudne bądź wręcz nieosiągalne na drodze algorytmicznej. Bardzo niewielu badaczy i naukowców poświęca czas na głębszej analizie tej dziedziny, tego, w jaki sposób neurony zachowują się podczas nauki i co dzieje się z poszczególnymi obiektami. Twierdzą wręcz, że sieci neuronowe mają zdolność by "marzyć/śnić" - tak to przynajmniej interpretują. Jednak jak powszechnie wiadomo, wszystko to skupia się wokół matematyki, wzorach i równaniach, od których tak naprawdę zależy zachowanie się pewnych struktur. Temat ten, albo raczej dział nauki jest zbyt obszerny, aby opisać go w jednym artykule, czy nawet kilkutomowej księdze, zwłaszcza że jest to stosunkowo młoda dziedzina nauki, która - powiedzmy - odradzała się na nowo w latach osiemdziesiątych po przestoju, który spowodowany był erą obecnie znanych komputerów. To chyba tyle, można by pisać i pisać....

Jak se pomyślę, że autor jest młodszy ode mnie..
co ja tutaj robię? ;)

id02009: 'Czym się różnią systemy autonomiczne od sieci neuronowych? Z artykułu wynika, że sieci to specyficzny rodzaj tych systemów... dobrze myślę?' Odp: Tak, jak widac z powyzszego art'a, systemy autonomiczne to dosyc ogolne pojecie. Przykladem ich sa np. sieci neuronowe badz systemy oparte na GA (aglorytmach genetycznych) lub CA( Cellular Automata). Sieci neuronowe sa najlepszym przykladem takichze systemow, jednak ich zastosowanie jest dalece ograniczone. W ponizszym arcie opisywalem (i bede opisywal) systemy autonomiczne ktore moga zostac wykorzystance w bardziej ogolnym aspekcie poniewaz sa oparte na architekturze wykorzystujacej uslugi (SOA - Service Oriented Architecture) i wspierajacej najnowsze standardy z inzynierii oprogramowania.

Marooned: 'Czyli Panie aelbereth Czekamy na treściwy artykuł zaspokajający żądzę wiedzy' Odp: Milo slyszec, ze art spotkal sie z zainteresowaniem. Oczywiscie bede staral sie zamieszczac kolejne czesci, obrazujac i przedstawiajac sposob w jaki mozna konstruowac takie aplikacje.

Czyli Panie aelbereth :] Czekamy na treściwy artykuł zaspokajający żądzę wiedzy :)

@Deti: w ktoryms CHIPie w wakacje to bylo :) fajna sprawa, ale az strach sie bac ... :P
Mam nadzieje ze autor rozwinie troche art'a ... ;)

Czym się różnią systemy autonomiczne od sieci neuronowych? Z artykułu wynika, że sieci to specyficzny rodzaj tych systemów... dobrze myślę?

Niezły wstep . przydałoby sie wiecej. W Japonii czy gdzieś na dalekim wschodzie już wyprodukowali podobny twór: robot, który składał sie jakby z oddzielnych kostek.. każda z nich była taka sama, ale po połączeniu tworzyły większą strukturę, zatem miały wiecej możliwosci itd.. - same sie organizowały itd.

Ja też czekam na rozbudowanie, dlatego powstrzymam się od oceny.

Niby fajnie, ale to tylko wstęp jak mam rozumieć? Bo prócz opisu nie ma tu żadnych szczegółów..

Poza tym: staramy się przestrzegać wymogu pisania materiałów z polskimi znakami diakrytycznymi. Liczę, że zostanie to poprawione.

Szkoda, że art taki krótki. Ale i tak ładnie przedstawia interesującą wizję czekającej nas przyszłości. :)