Krzysztof Ożóg - Marek Piasecki

Transkrypt

Krzysztof Ożóg - Marek Piasecki
Wydział Elektroniki Politechniki Wrocławskiej
Kierunek: Informatyka
Specjalność: Inżynieria Systemów Informatycznych
Wrocław, 5 VI 2007
Sensory i efektory oraz ich obsługa
w systemach agentowych
Krzysztof Ożóg 133319
Prowadzący:
Dr inż. Marek Piasecki
1. Wstęp
Temat opracowania w pierwotnej wersji brzmiał: „Sensory i efektory systemów
informatycznych”. Punktem wyjścia zbierania informacji do prezentowanej pracy były zagadnienia,
hasła oryginalnego tytułu. Przedmiotem mojego zainteresowania był system automatycznego
rozpoznawania mowy (ARM) i sposób wykorzystania w nim przetwarzania danych za pomocą
drzew klasyfikacyjnych. Taki system służyłby m.in. do komunikacji człowiek - komputer
i naturalnym by było aby kierować do urządzenia polecenia na poziomie wypowiedzi wyższym niż
„Kali jeść, Kali pić”. Zrozumienie przekazu nie powinno sprawiać trudności oprogramowaniu
korzystającemu z sieci semantycznych czy badającego kontekst sformułowań – mógłby to być
odpowiedni agent. Jednak moje dalsze przemyślenia na temat integracji sensorów
z oprogramowaniem agenckim kierowały mnie do tego, że praktycznie to nie miałoby większego
sensu aby agent programowy rozpoznawał dźwięki i rozumiał kontekst (w większości przypadków).
Pragnę przedstawić podejście do zagadnienia programowania agentowego, które
w większym stopniu skupia się na tym jak środowisko przyjmie takie byty, a mniej na tym jak
agenci oddziaływają na nie. Zwrócić uwagę na pewne zjawiska, które mogą mieć wpływ na sposób
tworzenia, działania, wykorzystania programów inteligentnych. Odniosę się również do postulatów
działania agentów. Jak większość opinii wybiegających nieco w przyszłość, mogą się okazać
bardziej lub mniej trafne.
2. Definicje
2.1 System informatyczny
„... jest to zbiór powiązanych ze sobą elementów, którego funkcją jest przetwarzanie danych przy
użyciu techniki komputerowej.”
Elementy składowe to: sprzęt (przechowywanie danych, komunikacja, odbieranie danych,
wpływanie na świat zewnętrzny, przetwarzanie danych), oprogramowanie, ludzie, elementy
organizacyjne i informacyjne. Z jednej strony elementy systemu mają określone role do spełnienia,
z drugiej jednak podobne typy elementów w różnych systemach mogą być odpowiedzialne, za
realizację różnych celów. Co więcej, każdy element jest w zasadzie sam w sobie systemem.
Sprawność jest zależna od najsłabszego ogniwa. Efektywność natomiast od zdolności do
współpracy z innymi systemami i rezygnacji ze spełniania części funkcji na rzecz lepiej
przystosowanych, praktyczniejszych elementów. Przykładowo żołnierze w wojsku rzadko
przemieszczają się w tradycyjny sposób – teraz mamy piechotę zmechanizowaną. Z drugiej strony
przyjmuje się niekiedy pozornie nie efektywne, ale niezbędne bądź po prostu tanie.
Krytyka programowania agentowego m.in. opiera się na tym, że wiele aspektów, można
zrealizować w alternatywny sposób (tańszy, jakościowo lepszy). Dlatego myślę, że nie należy
próbować tworzyć agentów w czystej postaci, autonomicznych programów. Jeżeli nawet kiedyś
programy zyskają postulowaną samowystarczalność, to nie dlatego, że je planowano, ale
poskładano z modułów coś, co spełnia założenia, zachowuje się jak agent.
Sądzę, że główną przyczyną braku znaczących postępów omawianego problemu, jest sprzeczne
wewnętrznie podejście. Rozpoczyna się budowę systemu ze zdroworozsądkowym podejściem
świadomości ograniczeń, próbą rozwijania prostych systemów (np. dodanie funkcjonalności
automatycznego zapalania światła gdy ktoś wejdzie do pokoju), wykonywania wyspecjalizowanych
funkcji. W praktyce oczekuje się ich przydatności (takiej, że użytkownik zada sobie trud aby
skorzystać z programu), i tych wszystkich rzeczy, które go odróżnią, od zwykłych programów –
„inteligencji” - spełniania nawet pojedynczych funkcji w sposób przydatny użytkownikom, a to
zazwyczaj nie jest do zrealizowania przez proste reaktywne algorytmy, liczba problemów jakie
trzeba rozwiązać wzrasta wraz z głębszą analizą zadania. Definiowane cechy jakie powinien
spełniać agent są pozornie uproszczone. Praktycznie wymaga się nie tylko stworzenia
oprogramowania samego w sobie, ale również stworzenia infrastruktury środowiska dla jego
działania i interakcji z innymi systemami. Ktoś może zarzucić, że aż takich wymagań nie ma, ale
może zobrazuję problem na prostym przykładzie. Robot jeździ po lesie i zbiera opadłe liście. Nie
może zderzać się z drzewami ani przebiegającymi zwierzętami. Wszystko jest dobre do czasu, aż
zmienił się właściciel lasu i postawił tablicę z napisem „Teren prywatny”. Problem do rozwiązania
trywialny, ale trzeba zarówno wiedzieć, że urządzenie po tym konkretnie lesie sobie jeździ,
powiadomić o sytuacji zarówno właściciela lasu, osoby którą reprezentuje robot i samo urządzenie.
Autonomiczność agentów wysokiej klasy (praktycznych) w Internecie jest prawie nie możliwa do
zrealizowania – zmiany prawne są nie przewidywalne a ich konsekwencje są poważne. Idea aby
każdy agent co jakiś czas czytał akty prawne i analizował, jest niepraktyczna (szacując liczność
agentów na miliony). Od razu nasuwa się myśl aby jeden agent analizował, wnioskował i sterował
zachowaniem innych (poprzez informowanie ich).
Rozdzielenie funkcji pomiędzy agentów w celu realizacji zadań to jeden z aspektów. Innym
jest konieczność zmiany realizacji, dostosowywanie się do zmian wymagań. Agenci powinni być
programami dynamicznymi czy to poprzez automatyczne programowanie czy budowę modułową,
wtyczek.
Podsumowując, warto by było rozwijać idee programów agentowych jednak odrzucając
kontekst agentów, nie obejmować go całościowo. Np nie tworzyć „mobilnych agentów” ale
„mobilne oprogramowanie” - podczas zagrożenia usługi firm mogły by się uruchamiać na nowych
stacjach roboczych; obecnie jest to realizowane przez tworzenie kopii zapasowych, ale można sobie
wyobrazić usługi dla których krytycznym jest ciągłość działania – mobilność była by dodatkowym
sposobem na jej zapewnienie, a w ekstremalnych sytuacjach może i jedynym.
Należy szukać zastosowań oraz wdrażać nowe technologie już podczas rozwijania ich. Pozwala to
wskazać na aktualny stan rozwoju danej gałęzi nauki jak również uwydatnić praktyczne problemy
lub wskazać przyszłych odbiorców produktu. Przykładem może być rozwój robotów. Jak do tej
pory nie udało się stworzyć w pełni funkcjonalnego odpowiednika człowieka. Mimo to, zarówno
dzięki rozwojowi cybernetyki jak i medycyny, można wszczepić człowiekowi sztuczne kończyny.
Chociaż daleko im do pełnej funkcjonalności, są wręcz bezcenne dla właścicieli. Przypadki Jesse
Sullivana oraz Claudii Mitchel, osób mające mechaniczne ręce podłączone do nerwów, obrazują
płynność granic między człowiekiem, maszyną a programem oraz ich częściową zastępowalność.
2.2 Sensory i efektory
Głównym zadaniem informatyki jest przetwarzanie informacji. Tworzy się oprogramowanie,
maszyny, które jest odwzorowaniem reguł zaobserwowanych w świecie. Następnie próbuje się
rozwinąć odtwórcze działanie systemów pod kątem inteligentnej analizy. Obecnie ta analiza jest
w znacznym stopniu przewidywalna, a niekiedy rozważane algorytmy sztucznej inteligencji wręcz
zastępowane przez proste reaktywne odpowiedzi na bodźce.
Specyfika
systemów
autonomicznych
wymaga
projektowania
z
uwzględnieniem
wielowarstwowości ich budowy. W prostych aplikacjach agentowych nadmiar tworzonego kodu
będzie niewątpliwie zauważalny i naturalny, ale jest niezbędny do ewentualnego ponownego
wykorzystania kodu. Naturalnym jest ponowne wykorzystanie nawet nie dopracowanego kodu niż
pisanie ponowne podobnej jakości modułów (szczególnie gdy nie jest on istotą rozwiązywanego
zagadnienia oraz nie mamy wiedzy na temat realizowanej przez niego funkcjonalności).
W podsumowaniu punktu 2.1 pragnąłem uwydatnić słabe strony systematyki systemów
autonomicznych (biologiczny, mechaniczny, obliczeniowy) – jakoby była ona błędna, gdyż nie
występująca w rzeczywistości. Efektywne projektowanie systemów agentowych musi uwzględniać
fakt, że funkcjonalność może być zapewniona przez różne podzespoły i żaden z nich nie może być
zbyt ściśle powiązany z całym systemem. Jest to istotne, gdyż w odróżnieniu od tradycyjnych
systemów agentowość z definicji zakłada dostosowywanie się zmian środowiska. Praktyczny
podział systemu na moduły może pozwolić projektantom na szybkie zmiany budowy agentów
(kolejne wersje), a w dalszej perspektywie poprawne reakcje na zmiany w określonej dobrze znanej
dziedzinie. Każdy element systemu jest zarazem oddzielnym systemem. Komunikują się one
nawzajem, wpływają na siebie. Poniższy podział zaczerpnięty z prezentacji Włodzisława Ducha.
Klasyfikuje efektory i detektory w ramach wspomnianej wyżej taksonomii. Uwzględnienie jej jest
istotne przede wszystkim dlatego, że to co nas otacza w mniejszym lub większym stopniu jest
„czarną skrzynką” z dołączonym interfejsem.
Tabela 1: Przykładowe sensory i efektory różnych typów agentów
człowiek
sensory
oczy, uszy, skóra, język
nos
efektory ręce, nogi język usta
robot
program
kamery, czujniki
podczerwieni, sonary,
mikrofony
wirtualne: ciągi bitów
zawierające informacje
dochodzące ze środowiska
koła, motory, manipulatory
wirtualne: ciągi bitów
przesyłane do środowiska
Agenci mają reprezentować człowieka. Minimalna komunikacja wymagać będzie takich
urządzeń myszka czy ekran. Korzystanie z nich przez aplikacje powinno być oddzielone od samego
modułu przetwarzającego dane. Podczas projektowania należy uwzględnić alternatywne sposoby
komunikacji. Programy dedykowane konkretnym urządzeniom są ściśle powiązane z danymi
przesyłanymi do nich. Można wydzielić część programu pełniącą rolę interfejsu. Zauważmy, że
agent może korzystać z mikrofonu odbierając jakieś informacje. Jednak krytycznym czynnikiem
projektu jest jakich danych oczekujemy. Jeżeli wymagane jest wykrycie dowolnego dźwięku, to nie
będzie problemu z odczytaniem informacji, jednak w wypadku założenia, że system bazuje na
słowach w języku naturalnym to istotne jest czy do programu informacje będą dochodzić
z mikrofonu bezpośrednio, czy może możemy wykorzystać już stworzony system ARM. Zakładając
mobilność oprogramowania i chęć wykorzystania go przez dłuższy okres czasu należy zapewnić
jego uniwersalność. Agent jako system powinien sobie poradzić również w sytuacji gdy odczytuje
dane z pliku bazy danych czy ma możliwość dostępu do sprzętowej sieci neuronowej.
Rozwiązaniem było by nie tyle tworzenie standardu z którego korzystali by agenci, ale
warstwy rozpoznającej (urządzenia) i konwertującej ciągi bitów do formatu obsługiwanego przez
stworzone oprogramowanie. Oznaczało by to wyjście na przeciw trendom i stosowanym
technologiom. Istnienie kilku interfejsów agent-urządzenie (źródło/cel informacji) wymagałoby od
agenta poprawnego wyboru jednego z nich. Można by zastosować do tego drzewa decyzyjne.
Warunki wyboru nie musiały by być skomplikowane. Opierały by się na takich zagadnieniach jak:
dostępne urządzenia, interfejsy (czyli zdolność do komunikacji, znajomość języka), celowość
wykorzystania urządzenia itp. Stworzenie uniwersalnego sposobu dodawania warunków, odczytu,
przebudowy drzewa było by naturalne przy przedstawianym podejściu. Są one (drzewa) w miarę
dobrze opisywane matematycznie, intuicyjne do oprogramowania ich wykorzystania i co
najważniejsze mogły by być wykorzystywane przez „wszystkich”. Wybór odpowiedniego
urządzenia - narzędzia pracy agenta – stało by się jedynie jednym z możliwych sposobów
użytkowania drzew. Należy dodać, że program nie musi znać wszystkich procedur obsługi.
Wystarczy mu informacja, że są one stworzone i w jakimś miejscu udostępnione. Przy rzadkim
wykorzystywaniu, może być usunięte. Z drugiej strony wątpliwym jest tworzenie efektywnych
drzew decyzyjnych za każdym razem od podstaw, wraz z każdym wydaniem jakiegoś programu.
Natomiast jeżeli optymalizacje, rozwiązywanie problemów związanych z wykorzystaniem tego
sposobu reprezentacji wiedzy w ramach jednego modułu może dostarczyć narzędzia, które stanie
się zarazem pewnym standardem.
3. 66,6MHz
„Nikt już nie chce takiej waty, która potem zlepia usta
Wesołe miasteczko, wesołe miasteczko pip, pip”
K. Daukszewicz
Od dłuższego czasu toczą się dyskusje jak i plany poważnych projektów związanych
z technologią RFID, która wraz Wi-fi będzie tworzyć bezprzewodowe systemy śledzenia ludzi
i obiektów. Sieć punktów dostępowych może wykrywać tagi podając ich pozycje. W szpitalach
system taki służyłby do śledzenia drogiego a ruchomego sprzętu ratującego życie, gdy szybkie
zlokalizowanie może być sprawą życia i śmierci.
Sporo kontrowersji budzi zastosowanie tagów do śledzenia ludzi, tym bardziej gdy próbuje się
promować zastosowania niepraktyczne lub wręcz niepotrzebne. Zazwyczaj związane są one
z bezpieczeństwem. Tagi miałyby być wprowadzone do ochrony studentów na uczelni, szczególnie
w sytuacjach zagrożenia jak pożar.
Na uwagę zasługują właściwości oprogramowania korzystającego z systemu. W wielu przypadkach
nie istnieje potrzeba aby pozycja tagu była sprawdzana na bieżąco. Szczególnie jeśli obserwacji
podlegać będzie znaczna ilość tagów. Dla uczelnianego systemu, koordynacja ewakuacji studentów
była by realizowana tak rzadko, że nawet sprawdzanie potrzeby wywołania procedur było by
niepotrzebną stratą czasu pracy procesora. Ekonomicznej jest uruchamiać procesy gdy są one
potrzebne. Wyszukanie konkretnej osoby mogłoby być zlecone jakiemuś agentowi. Poszukiwanie
niekiedy może się odbywać poza siecią. Czasem większa ilość agentów może wykonywać proste
czynności jak oczekiwanie na pojawienie się kogoś lub jakieś zdarzenie. Wykorzystanie środowiska
JADE aż samo się narzuca na myśl! Ponieważ podobną funkcjonalność można zrealizować na wiele
sposobów istotna staje się sprawna reakcja na wprowadzane technologie. Zakładana adaptacyjność
agentów zapewniała by szybkie dostosowanie się do zmieniającego się prawa związanego
z przetwarzaniem informacji RFID.
To na co pragnę zwrócić uwagę w tym rozdziale to zależność wykorzystania, a zatem
i rozwoju agentów w dużym stopniu od czynników nie związanych z samym rozwojem
inteligentnych algorytmów przetwarzania informacji, ale od czynników czysto marketingowych
oraz możliwościami ograniczanymi przez prawo. Działanie agentów należy dostosowywać do
przepisów. Należy wypracować metody w jaki sposób mają się aplikacje dostosowywać do niego.
Posiadający znaczną autonomiczność agenci reprezentują właściciela programu. Użytkownik nie
będzie korzystał z programów, które w jakiś sposób mogą go narazić na konflikt z organami
ścigania tylko dlatego, że prawo w kraju się zmieniło. Taka prosta zależność nie istnieje, ale rozwój
podejścia agentowego do korzystania z sieci zależy również od rozwoju prawnych i etykiety
internetowej. Obecnie jawnie mówi się o podsłuchiwaniu rozmów telefonicznych, listów
elektronicznych czy prywatnych dysków. Jeżeli idee programowania agentowego będą
marginalizowane prawdopodobnym jest, że nie będą miały szansy rozwinięcia się przez
wprowadzenia albo zbyt ścisłej kontroli nad nimi (w poszukiwania informacji czy danych
sensytywnych, które nawet mogą nie podlegać ochronie prawnej) albo przez tworzenie przepisów
znacznie ograniczających możliwości działania.
Ostatnio na portalu „Onet” zamieszczono ankietę „Pojedynki” w której oddaje się głosy na
jedną z uczelni dobranych w pary. Przy rywalizacji między politechnikami Śląską i Wrocławską
zabawa zmeniła nieco swój charakter. Zaczęto wykorzystywać skrypty w celu automatycznego
oddawania głosów. Wiele się nie zmieniło, gdyż można się spodziewać, że przodować będzie
frakcja mająca dostęp do większej ilości komputerów lub zdoła zachęcić do zabawy większą liczbę
osób. Szybkie i ciągłe przyrosty punktów, jak również ciągłe zmiany lidera zwiększyły znacznie
atrakcyjność i zainteresowanie ankietą. Samo zdarzenie nie jest może istotne ale odbiło się echem
w mediach. „Dziennik Internautów” przedstawił to zdarzenie w świetle zmieniającego się prawa
(22.05.2007 ).
„Propozycje przepisów podanych w Rzeczpospolitej, które w najbliższych tygodniach
trafią do Sejmu, jak na razie także nie wydają się być zbyt precyzyjne, a jedynie
ostrzejsze.
Jak pisze gazeta, wkrótce można będzie zostać skazanym na 5 lat już tylko za celowe
utrudnianie dostępu do witryny. Co więcej, by zostać postawionym w stan oskarżenia
wcale nie będzie musiało dojść do zablokowania danej strony - wystarczy, że
potencjalny atak "spowoduje wyłącznie wydłużenie czasu wejścia użytkownika na
zaatakowaną stronę."
W takiej sytuacji w stan oskarżenia mogliby zostać postawieni np. uczestnicy jednej
z ostatnich ankiet w serwisie Pojedynki na portalu matura.Onet.pl.”
Nazwanie agentów „botami” może nie jest najwłaściwsze, ale jednak bazując na prostych
rozwiązaniach mogą one znacząco je przypominać. Mogą być tez podobnie postrzegane przez
serwisy z których będą próbować pobrać informacje. Po pierwsze mogą nadmiernie eksploatować
pojedynczy serwer, po drugie wiele agentów może żądać dostępu do pojedynczych informacji,
generując podobne obciążenie łącz lub procesorów. Dla dostawcy usługi opierającego dochody na
zamieszczanych reklamach, które agenci filtrują, jako niechciane dane, najprościej będzie
wykorzystać przepisy w celu utrzymania przychodów. Inną metodą, równie niepożadaną, stało by
się celowe „karmienie” automatów reklamami.
Odpytywanie wielu witryn i następnie prezentowanie wyników na własnej stronie wymaga często
opłat licencyjnych. Agent może być czasem podobnie traktowany – zbiera informacje
i odpowiednio je prezentuje. Szczególnie jeżeli program nie jest projektem akademickim ale staje
się komercyjnym produktem.
4. „Web 3.0 = 4C+P+VS”
„Ile jestem w stanie dać dla tego świata?
Ile jestem w stanie z tego świata wyłapać?”
O.S.T.R.
Metodologia programowania agentowego musi uwzględniać trendy rozwoju Internetu. Sieć
trzeciej generacji ma między innymi bazować na dostarczaniu danych, środowiska m.in. dla
systemów autonomicznych. W poprzednich rozdziałach starałem się ukazać potrzebę
uniezależnienia przetwarzania danych od ich pobierania bądź wysyłania. Ma to na celu
zapanowanie w pewnym stopniu nad niepewnością i różnorodnością występującą w świecie. W tym
rozdziale przytoczone będą kierunki rozwoju „wirtualnego środowiska”, które prawdopodobnie
wyznaczą sposób przetwarzania danych.
4.1 Content, Commerce, Community (zawartość, handel, społeczność). Wymienione
dziedziny przenikają się nawzajem. W sytuacji gdy poszukujemy produktu interesuje nas zarówno
co otrzymamy jak i opinie osób, które już zakupiły towar i zechciały się podzielić informacjami
o nim. Można się dopatrywać dwóch kierunków rozwoju agentów. Jeden to aktywne badanie
„rynku” a drugi to korzystanie z usług. Sądzę, że użytkownik będzie mógł jedynie korzystać z
danych przedstawionych przez różnorakie serwisy. Dla klienta będzie to korzystne z tego względu,
że uzyska informacje szybciej niż przez delegowanie agenta do przeszukania sieci. Już teraz istnieją
takie serwisy jak „Skąpiec.pl” spełniające funkcje wyszukania informacji (tu z zakresu dostępnych
towarów w sklepach internetowych) i odpowiedniej prezentacji. Podobna centralizacja nastąpi
również w wyszukiwaniu informacji na dowolny temat. Oprogramowanie klienckie nie będzie
analizować sieci semantycznych na wielką skale. Będą się tym zajmować korporacje takie jak
„Google”. Naturalnym jest, że jeżeli pojawi się sposób na celniejsze przekazanie poszukiwanych
informacji to zostanie to wykorzystane do poprawy jakości usług. Agenci mający znaleźć
odpowiednie informacje nawet o tej samej zawartości będą się znacząco różnić, ze względu na czas
w którym będą musiały wykonać zadanie. Użytkownicy również na tym skorzystają ponieważ nie
będą uzależnieni od oprogramowania; w większym stopniu od serwisu, ale one będą się starały
dostarczać usług na wysokim poziomie. To rozróżnienie będzie prowadzić przede wszystkim do
projektowania interfejsów. Będą one dostosować się do sposobu w jaki zechcą komunikować się
dostawcy.
Różnica między opisywanymi typami agentów jest analogiczna do sprawdzania czy treść
ulubionych serwisów zmieniła się poprzez wchodzenie na każdą z nich a korzystaniem z czytnika
RSS.
4.2 Context (kontekst). Nawiązując do poprzedniego podpunktu, reklama będzie bardzo
podobna jak obecnie. Na pewno nadal popularne będą linki sponsorowane, do których ułatwiony
będzie dostęp oraz reklama kontekstowa w postaci kierowania jej do określonej społeczności,
potencjalnych klientów. Przetwarzanie języka naturalnego z uwzględnieniem kontekstu oraz opinii
o autorze może ograniczyć wpływ firm na wybór ich produktu przez klienta.
4.3 Personalization (personalizacja). Gusta można kształtować jedynie w ograniczonym
zakresie. Może nie doceniam wpływu mediów i nieustannego „ataku” jakiego dokonują na nas
każdego dnia, ale... Jest w człowieku coś co sprawia, że zachowuje się niekiedy nie przewidywalne.
Częściowo jest to spowodowane różnymi priorytetami przy ocenianiu przydatności czy wartości
rzeczy. Od czasu do czasu przy wyborze decydująca jest cecha która jest podrzędną lub też pewne
specyficzne, niejednokrotnie nie do opisania upodobania – gdy po prostu czujemy się dobrze
wybierając taki a nie inny produkt. Usługi bazujące na przedstawianiu danych z różnych źródeł
zazwyczaj nie będą próbować przedstawiać informacji w sposób dedykowany konkretnej osobie. To
zadanie pozostanie domeną osobistych agentów, przede wszystkim dlatego iż mając ciągły kontakt
z użytkownikiem będą mogły zebrać o nim więcej informacji i poprawnie je zinterpretować.
4.4 Vertical Search (przeszukiwanie wektorowe). Jeżeli programy reprezentujące człowieka
będą korzystać z witryn w podobny sposób jak każdy użytkownik, to muszą być przygotowane na
to, że językiem komunikacji będzie najczęściej właśnie takie wyszukiwanie. Możliwe również, że
agenci w podobny sposób będą odbierać polecenia. Ten sposób dotarcia do informacji jest obecnie
powszechnie stosowany więc może powinien być wykorzystany zanim zostaną wprowadzone
oczekiwane sieci semantyczne.
5. Podsumowanie
„Barbarzyńcy w kożuchach zmienią się w naród ambitny
Pod Kolumną Trajana zajmując się drobnym handlem.”
J. Kaczmarski
W zaprezentowanej pracy starałem się przedstawić problemy jakie należy rozwiązać
podczas projektowania programów agentowych. Są one oderwane od funkcjonalności jakiej
oczekuje się od programów. Dla zwykłych programów są one rozwiązywane na etapie
projektowania aplikacji. W sytuacji zmiany przepisów lub procedur na nowo implementuje się
programy. Zakładając dążenie do autonomiczności systemu należy spróbować stworzyć
mechanizmy, które pozwolą na dynamiczne dostosowywanie się do prawa. Ujęte zostaje ono jako
kolejny element środowiska z którym oddziaływają agenci. Pozwoli to na zmniejszenie kontroli
jaką należy bezpośrednio sprawować nad programem. Przeciętny użytkownik nie będzie znał
przepisów na tyle dobrze aby samodzielnie wyznaczyć zakres dozwolonej pracy agenta.
W sytuacjach spornych będzie się starał przenieść odpowiedzialność na dostawcę oprogramowania.
6. Źródła
„lecz myśl ta czyja ? samo się nie myśli
tak jak grzmi samo i samo się błyska”
M. Grechuta
1. Cykl wykładów z przedmiotu Informatyka Systemów Autonomicznych dra M. Piaseckiego
2. „Agenci programowi jako metodologia tworzenia oprogramowania”, Marcin Paprzycki
http://www.e-informatyka.pl/article/show/422
3. System informatyczny http://pl.wikipedia.org/wiki/System_informatyczny
4. O zmianach prawnych
http://di.com.pl/news/16571,Wiezienie_za_utrudnianie_dostepu_do_stron_WWW.html
5. Web 3.0
http://www.readwriteweb.com/archives/web_30_4cpvs.php
6. Sieci semantyczne http://www.webdeveloper.pl/322,1,1,pl,lpt.html
7. Cyborgizacja
http://www.sigmorobot.com/technology/news/toast_bionic_man.htm
http://www.washingtonpost.com/wpdyn/content/article/2006/09/13/AR2006091302271.html?nav=E8
8.RFID
http://www.rfidconsultation.eu/
http://news.bbc.co.uk/2/hi/uk_news/magazine/3307471.stm
http://news.bbc.co.uk/2/hi/technology/6389581.stm
http://news.bbc.co.uk/2/hi/technology/6691139.stm
http://news.bbc.co.uk/2/hi/technology/6453931.stm

Podobne dokumenty