Model inteligentnego agenta wspomagającego decyzje zakupu komputerów. Inteligentny agent programowy – teoria
Pojęcie agenta W świecie rzeczywistym spotykamy się z pojęciem agenta, który działając w czyimś imieniu wykonuje określone zadania. Występują agenci-handlowcy, agenci nieruchomości, maklerzy giełdowi, sekretarze swych szefów itd.. W świecie wirtualnym występują agenci programowi, których zadaniem jest również działanie w imieniu swoich mocodawców, w ramach uzyskanych kompetencji. Z zasady będzie to zastępowanie człowieka w świecie informacji, czyli w automatyzacji procesów informacyjnych.
Definicje agentów programowych i ich rola Ze względu na różnorodność zastosowań, a także różne typy architektury agenta, nie ma jednej powszechnie uznanej definicji agenta programowego. Jest wiele definicji, z zasady nie sprzecznych lecz wzajemnie się uzupełniających. Agent jest systemem komputerowym, który znajduje się w pewnym środowisku i który jest zdolny do autonomicznego działania w tym środowisku, żeby spełnić zaprojektowane dla niego cele.
Abstrakcyjny schemat agenta
Agent w procesach produkcyjnych w organizacjach wirtualnych Agent komputerowy (a computational agent) jest programem komputerowym, który działa autonomicznie lub półautonomicznie w porozumiewaniu się z innymi agentami komputerowymi, programami albo agentami ludzkimi. Agenci mogą reagować na komunikaty typowo przedstawione w standardowym formacie wymiany, takim jak KIF (knowledge interchange format), typowo w przedstawieniu standardowego protokołu, takiego jak KQML (knowledge query and manipulation language).
Agent w dziedzinie handlu elektronicznego Inteligentny agent jest oprogramowaniem, które pomaga ludziom i działa w ich imieniu. Inteligentni agenci są zaprzęgnięci do pracy aby pozwolić ludziom na przekazanie pracy, którą musieli by wykonać, oprogramowaniu agenta. Agenci mogą, właśnie jak robią to pomocnicy, automatyzować powtarzalne zadania, pamiętając o sprawach, o których człowiek by zapomniał, a nawet sporządzają zalecenia dla swego użytkownika.
Zestawienie cech agentów: Autonomiczność: agent jest zdolny podjąć inicjatywę i ćwiczenia w nie trywialnym stopniu w sterowaniu swoimi własnymi działaniami: zorientowanymi na cele: agent akceptuje wysoki poziom życzeń wskazujących, czego człowiek wymaga i jest odpowiedzialny za decydowanie jak i gdzie spełnić te życzenia; kolaboracyjnymi: agent nie wykonuje ślepo rozkazów, ale posiada umiejętność do modyfikowania życzeń, zadawania pytań wyjaśniających, albo nawet odmawia spełnienia pewnych życzeń;
Zestawienie cech agentów cd. elastycznymi: działania agenta nie są „wcześniej przygotowane”, jest on zdolny dynamicznie wybrać, które działania wywołać i w jakiej kolejności, w odpowiedzi na stan jego środowiska zewnętrznego; samostartującymi: odmiennie, niż standardowe programy, które są bezpośrednio wywoływane przez użytkownika, agent może wyczuwać zmiany względem swego środowiska i decydować kiedy działać;
Zestawienie cech agentów cd. Ciągłość czasowa: agent jest ciągle przebiegającym procesem, nie obliczeniem „sporadycznym”, które odwzorowuje pojedyncze wejście lub wyjście kiedy zostało przerwane; Charakter: agent ma dobrze zdefiniowaną, wiarygodną „osobowość”; Zdolność komunikowania się: agent jest zdolny do zajmowania się złożoną komunikacją z innymi agentami, w tym z ludźmi, w celu otrzymania informacji albo pozyskania ich pomocy w osiąganiu swoich celów;
Zestawienie cech agentów cd. Adaptacyjność: agent, automatycznie adaptuje się do preferencji swego użytkownika, opierając się na poprzednim doświadczeniu; Mobilność: agent jest zdolny do przemieszczania się z jednej maszyny do drugiej, poprzez różne architektury systemu i platformy.
Ogólna definicja Agent jest to autonomiczny, reagujący, proaktywny system komputerowy, typowo z centralnym punktem sterowania, który jest zdolny przynajmniej do porozumiewania się z innymi agentami, przez pewnego rodzaju język komunikowania się. Innym wspólnym spojrzeniem na agenta jest, że stanowi on aktywny obiekt albo ograniczony proces ze zdolnością do postrzegania, rozumienia i działania. Rozpatruje się różne atrybuty systemów opartych na agentach, np. autonomia, życzliwość, obserwowanie samego siebie (introspekcja), mobilność, proaktywność, racjonalność, reagowanie, sytuacyjność, zdolności społeczne, prawdomówność.
Budowa agenta Każdy agent składa się z trzech podstawowych systemów: komunikacji i wzajemnego oddziaływania, logiki (podejmowana decyzji), czujnika/organu wykonawczego z kontekstem zewnętrznym (podsystemu wejściowo-wyjściowego).
Schemat architektury wewnętrznej agenta
Podsystem komunikacji i wzajemnego oddziaływania. Ten podsystem radzi sobie z wzajemnym oddziaływaniem pomiędzy agentami tego samego typu lub różnych typów. Pozwala agentowi otrzymywać komunikaty od innych agentów, wyrażone w języku KQML. Również jest używany do przygotowywania i wysyłania komunikatów do pojedynczego agenta lub wielu agentów. Komunikacja między agentami może być wykonywana poprzez różne mechanizmy transportowe, a mianowicie protokóły (http, https, smtp), infrastrukturę CORBA (Common Object Request Broker Architecture) itd..
Podsystem logiki Ten system realizuje działanie i zachowanie się agenta. Jest tworzony przez bazę wiedzy i przez mechanizm wnioskowania oparty na prostych regułach i heurystyce, aby wspomagać podejmowanie decyzji, np. podczas procesu negocjacji. Funkcjonalność tego systemu silnie zależy od rozważanego agenta. Może na przykład realizować mechanizm: negocjacji i przekazywania ograniczeń, zapytywania innych agentów, tworzenia wizualizacji danych, pozyskiwania i gromadzenia zmiennych stanu sieci, porównywania wyników z wartościami docelowymi, przekazywania zagrożeń w sieci itd..
Sprzęg ze światem Ten podsystem radzi sobie z dwukierunkowym współdziałaniem wzajemnym pomiędzy agentem i jego środowiskiem (otoczeniem). Na przykład, może to dotyczyć interakcji z podejmującymi decyzje lub interakcji z automatycznymi systemami informatycznymi (typu ERP lub systemami zarządzania).
Podsumowanie Agent programowy jest to autonomiczny program, który zastępuje człowieka w określonym zaprojektowanym a priori zakresie. Agent powinien być w stanie symulować (udawać) zachowanie człowieka z dokładnością odpowiednią do powierzonych mu zadań. Mamy więc do czynienia z olbrzymim bogactwem realizacji agenta, od form bardzo prostych do bardzo skomplikowanych, aż do granic możliwości nauki i techniki.