Agent to program komputerowy wykorzystywany w programowaniu agentowym.
Spis treści
- 1. Definicja agenta.
- 2. Rodzaje agentów.
- 3. Podział ze względu na przeznaczenie i reakcje użytkowników.
- 4. Zastosowanie.
Definicja agenta
Ze względu na brak standardów nie ma zgodności co do definicji agenta. Możemy jednak zdefiniować agenta jako jednostkę, działającą w pewnym środowisku, zdolną do komunikowania się, monitorowania swego otoczenia i podejmowania autonomicznych decyzji, aby osiągnąć cele określone podczas jej projektowania lub działania.
Agent powinien charakteryzować się następującymi cechami:
- autonomicznością (zdolność podejmowania samodzielnych decyzji),
- komunikatywnością (umiejętność komunikacji z innymi agentami i użytkownikiem),
- percepcją (jest to zdolność do postrzegania i reagowania na zmiany środowiska).
Dodatkową często wykorzystywana cechą jest mobilność.
Inne popularne cechy agenta:
- zdolność do wykorzystywania wiedzy,
- tolerancyjność na błędy, złe wejścia (input),
- zdolność do używania symboli i abstrakcji,
- zdolność do adaptacji w celu osiągnięcia celu,
- zdolność do uczenia się,
- zdolność do przeprowadzania operacji w czasie rzeczywistym,
- zdolność do komunikacji w języku naturalnym.
Rodzaje agentów
Można wyróżnić kilka rodzajów agentów ze względu na sposób: spostrzegania otoczenia, ingerencji w środowisko, podejmowania decyzji:
- agenty reaktywne,
- agenty intencjonalne,
- agenty socjalne.
Istnieją dwa podejścia do tworzenia systemów opartych na agentach programowych: wykorzystanie pojedynczego agenta lub stworzenie systemu wieloagentowego.
Podział ze względu na przeznaczenie i reakcje użytkowników
- Agenty zarządzające informacją – mają na celu wspomaganie użytkownika. Jednym z przykładów jest „asystent-doradca” w programach Microsoft Office.
- Agenty zarządzające pocztą elektroniczną – agenty filtrują i sortują pocztę użytkownika, odpowiadają na standardowe zapytania itp.
- Agenty zarządzające organizacją dnia – świadczą pomoc użytkownikowi w organizowaniu planu dnia. Ten typ agentów to asystenty, np. 'spinacz’ w MS Word. Taki agent potrafi wykonywać bardziej skomplikowane cele niż awatar i ma znacznie większą swobodę. Niekiedy tego radzaju agenty nazywane są 'agentami interfejsu’.
- Agenty dostarczające zindywidualizowane informacje – są odpowiedzialne za filtrowanie i selekcję informacji
- Agenty monitorujące lub zarządzające – klasa agentów odpowiedzialna za monitorowanie zachodzących zjawisk i ew. podejmowanie działań w imieniu użytkownika. W tej klasie zawierają się agenty aktorzy – w niewielkim stopniu zależni i kontrolowani przez człowieka, np. bot w kanale IRC-owym, jak i agenty awatary – będący bezpośrednią reprezentacją użytkownika w cyberprzestrzeni, np. w chatroomach czy na IRC-u. Takie agenty wykonują wszystko, co każe mu użytkownik i mają bardzo ograniczoną swobodę.
- Agenty w systemach rozproszonych
- Agenty poszukujące informacji – agenty poszukujące dla użytkownika ściśle określonej informacji
- Agenty przeszukujące Internet – przeszukują Internet, aby odnaleźć różnorodną informację potrzebną użytkownikowi
- Agenty e-biznesu i m-biznesu – agenty funkcjonujące w handlu internetowym
- Agenty zarządzające siecią – agenty służące np. do zarządzania aktualizacją oprogramowania lub wykrywania ataków
- Agenty w modelowaniu systemów złożonych
- Agenty modelujące negocjacje cenowe – agenty wykorzystywane w handlu elektronicznym
- Agenty modelujące proces zarządzania produkcją – agenty wspomagające zarządzanie przedsiębiorstwem – agentowy system ekspertowy
System wieloagentowy
(ang. multi-agent system) to system złożony z komunikujących i współpracujących między sobą agentów, realizujących wspólne cele.
Zastosowanie
Systemy wieloagentowe często stosowane są w sytuacjach, gdy trzeba rozwiązać problemy o charakterze rozproszonym lub złożonych obliczeniowo, np. wyszukiwanie informacji w sieci, zarządzanie sieciami telekomunikacyjnymi, symulacja rynku, wspomaganie zarządzania w przedsiębiorstwie i kontrola ruchu lotniczego.