Софтуерен агент в информатиката е компютърна програма, която работи вместо потребителя или вместо друга програма. Думата „агент“ тук има значението „действам от името на“ и обозначава овластяването на програмата да решава кое действие кога да предприеме.[1][2] Разговорно агентите се наричат ботове, съкратено от робот. Ако агентът е софтуерен, той може да бъде интелигентен агент, който включва елементи на изкуствен интелект (например Siri) и може да бъде автономен или да работи във взаимодействие с хората (например чат бот). В случая на взаимодействие с хората (на английски: human-robot interaction) може да притежава човешки характеристики като говор, индивидуалност или хуманоидна форма (ASIMO).

Понятието се използва в изкуствения интелект, базите от данни, операционните системи и компютърните мрежи. Въпреки че не съществува единна дефиниция (вж., например, Genesereth и Ketchpel, 1994 г.; Wooldridge и Дженингс, 1995; Стюарт Ръсел и Norvig 2003), има съгласие, че по същество това е специална софтуерна компонента, която разполага с автономност, която осигурява оперативно съвместим интерфейс на произволна система и/или се държи като човек, работейки за някой клиент в осъществяването на своя задача. Дори ако една агентна система се основава на един агент, който работи в рамките на една среда и ако е необходимо взаимодействие с потребители, те обикновено се състоят от множество агенти. Тези мулти-агентни системи (MAS) са разпределени агенти, които могат да работят съвместно за постигане на определена цел, която всеки отделно не може да постигне сам. Те могат да моделират комплексни системи и да имат общи или противовоположни цели. Могат да взаимодействат един с друг косвено (чрез въздействие върху средата) или пряко (чрез комуникация и договаряне). Агентите могат да взимат решение да сътрудничат за взаимна изгода, или могат да се конкурират, за да изпълнят собствените си цели.

Един агент е автономен, когато работи без директна намеса на хора или други влияния и има контрол върху своите действия и вътрешни състояния. Един агент е социален, когато сътрудничи с хора или други агенти за да изпълни своите задачи. Агентът е реактивен, защото възприема средата и отговаря своевременно на промените, които настъпват в нея. И на края, един агент е проактивен, защото той не просто действа в отговор на средата, но е в състояние да проявява целенасочено поведение и да поема инициативата.

Източници

редактиране
  1. Nwana, H. S. Software Agents: An Overview // Knowledge Engineering Review 21. Cambridge University Press, 1996. DOI:10.1017/s026988890000789x. с. 205 – 244.
  2. Schermer,, B. W. Doctoral Thesis: Software agents, surveillance, and the right to privacy: A legislative framework for agent-enabled surveillance. Т. 21. Leiden University Press, 2007. ISBN 978-0-596-00712-6. с. 140, 205 – 244. Посетен на 2012-10-30.
  • Developing Multi-Agent Systems with JADE, Fabio Luigi Bellifemine, Giovanni Caire, Dominic Greenwood, ISBN:978-0-470-05747-6