Agent (programowanie)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Agent to program komputerowy wykorzystywany w programowaniu agentowym.

Definicja agenta[edytuj | edytuj kod]

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 wykorzystywaną 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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

1. 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ę.

2. 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

3. Agenty w modelowaniu systemów złożonych

Bibliografia[edytuj | edytuj kod]

  • Stanisław Stanek, Marcin Mazur, Bogdan Sadecki, Zastosowanie kreatywnego agenta oprogramowania w module giełdowym IKGSWI wspomagającym inwestycje kapitałowe, Systemy Wspomagania Organizacji SWO'2004, Katowice
  • Marcin Paprzycki, Agenci programowi jako metodologia tworzenia oprogramowania, Computer Science Department, Oklahoma State University, Tulsa, OK 74106 USA


Zobacz też[edytuj | edytuj kod]