Agent je počítačový systém, který je schopen samostatné akce v zájmu svého vlastníka (uživatele).
Multiagentní systém (MAS) je systém obsahující agenty, kteří se navzájem ovlivňují (mohou spolupracovat, soupeřit, ...).
V MAS nás zajímá řešení spolupráce, koordinace, vyjednávání.
Klíčové problémy, čili téma přednášky: Jak stavět agenty, kteří jsou schopni samostatných akcí, které povedou k úspěšnému splnění cílů (úkolů), které jsme jim zadali? A jak téhož docílit v MAS, když ostatní agenti nemusejí sdílet stejné cíle, a dokonce si mohou vzájemně odporovat?
Agent je schopný samostatné (samosprávné, autonomní) akce v nějakém prostředí. Příkladem triviálního agenta je vypínač, který rozsvěcí a zhasíná světlo, a to na základě "vlastního uvážení" a zpráv, které získává z prostředí. Příklad je směšný, protože u vypínače nepředpokládáme vlastní uvážení (vůli), dokážeme vypínač popsat mnohem jednodušeji, rozumíme tomu, jak funguje. Systémy, které nás zajímají, jsou takové, které jednodušeji popsat nedokážeme, nerozumíme (přesně) tomu, jak fungují. Takovým říkáme inteligentní agenti.
Inteligentní agenty dělíme na reaktivní, proaktivní a sociální.
Reaktivní agenti reagují na změny prostředí. Běžně programy předpokládají, že je prostředí neměnné (je-li vůbec). Reaktivní systém reaguje (nejlépe včas), dokáže zhodnotit, jestli má cenu ještě něco dělat (na poslední chvíli se dozvím, že byla přednáška přesunuta jinam — má cenu tam teď jet?). Reaktivní systém je řízen pravidly IF stimul THEN reakce.
Proaktivní agenti mají chování řízené cíli. Neříkáme jim, jak reagovat na změny prostředí, ale čeho mají dosáhnout. Systém si sám generuje a plánuje podcíle a snaží se jich dosáhnout, přebírá iniciativu, pozná příležitosti (jak změnit prostředí, aby byl cíl dosažitelný).
Sociální agenti berou v potaz ostatní agenty, dokáží si je (a jejich chování) modelovat, dokáží s nimi "mluvit", "spolupracovat", "přemýšlet" o nich.
Agenti jsou, narozdíl od objektů, autonomní (sami si rozhodují, co budou dělat), chytří (reaktivní, proaktivní a sociální chování stojí mimo objektové paradigma) a aktivní (všichni najednou, každý agent má své řídící vlákno).
Objekty pracují zdarma, agenti za peníze (nebo protože chtějí). Pozor, mluvíme o přístupu k jiným agentům, jinak pochopitelně platí, že agent se snaží dosáhnout zadaného cíle. Žádosti jiných agentů ale mohou být s tímto cílem v rozporu.
Agenti jsou, narozdíl od expertních systémů, konající (expertní systém jen dává rady, nic nevykonává) a reagující na prostředí.
Typy prostředí: statické x dynamické, dosažitelné x nedosažitelné, deterministické x nedeterministické, epizodické x neepizodické, diskrétní x spojité.
Intencionální systémy jsou systémy se záměry. Jejich chování může být předvídáno na základě jejich domněnek, tužeb, prozíravosti apod. To všechno jsou záměry.
Příklady záměrů: Vzal si deštník, protože myslel, že bude pršet. Učí se, protože se chce dostat na vysokou školu. Slova jako "chtít", "myslet", "domnívat se", "věřit", jsou abstrakce, a to v počítačovém systému velice silné abstrakce.
Přesto jsou legitimní, a to v těch případech, kdy nám usnadňují porozumění systému, kdy jej dokáží vysvětlit. Mezeru mezi touto abstrakcí a implementací ale musíme překlenout sami (a čím silněji abstrakci používáme, tím těžší to je).
Intencionální systémy mohou být prvního řádu a vyšších řádů. Ve vyššíh řádech dovolujeme záměry (domněnky, touhy...) o záměrech (včetně uzávěru). To je v některých logikách či v lidském světě běžné (pokud věřím, že jsem, jistě také věřím, že věřím, že jsem), implementačně ale obtížné.
Podstatné je, aby intencionální systém dokázal vnořovat reprezentace jiných systémů (vím, že on věří...).
O agentech se často hovoří jako o postdeklarativních systémech: Předložíme pouze abstraktní specifikaci systému a necháme řídící mechanismus (v souladu s nějakou vestavěnou agentovou teorií) rozhodnout, co dělat.
Čtení