Softwarový model Belief-Desire-Intention

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Softwarový model Belief-Desire-Intention (často pouze BDI) je přístup ke tvorbě softwarově implementovaných agentních a multiagentních systémů inspirovaný teoriemi filosofa M. E. Bratmana. BDI agent je zvláštní druh deliberativního či racionálního softwarového agenta, který se vyznačuje tím, že jeho jednání vychází z jeho představ (Beliefs), přání (Desires) a záměrů (Intentions).

Teorie BDI[editovat | editovat zdroj]

Belief-Desire-Intention model lidského praktického usuzování byl vytvořen filosofem Michaelem E. Bratmanem. Praktické usuzování zahrnuje zvolení cíle, kterého chceme dosáhnout, a plánování, jak ho dosáhnout. Nejprve se vytvoří hrubý plán, který se průběžně doplňuje. Teorie souvisí s tzv. lidovou psychologií, konkrétně s tzv. „teorií teorie“, což je pojetí, že naše mentální modely okolního světa jsou teorie – máme představy o světě, které se mohou lišit od skutečnosti. Bratman také uvádí, že záměry hrají v našem praktickém usuzování významnou roli a nejsou převoditelné na představy a přání. Záměr se liší od přání tím, že obsahuje navíc určitý závazek. [1]

BDI Agent[editovat | editovat zdroj]

Základní jednotkou softwarového modelu BDI je BDI agent.

Vlastnosti[editovat | editovat zdroj]

Ačkoli používání těchto termínů se v různé literatuře liší, BDI Agent je:

  • Deliberativní – Na rozdíl od reaktivních agentů uchovává symbolickou reprezentaci svého prostředí, případně další znalosti. Je řízen určitou vnitřní inteligencí.
  • Řízený logikou – Jeho akce jsou voleny podle logického kalkulu, oproti agentům zaměřeným na maximalizaci užitkové funkce.
  • Racionální – Vykoná akce, které jsou v jeho nejlepším zájmu s ohledem na představy, které má o světě.
  • Omezeně racionální – Nemá k dispozici neomezené informace a kognitivní schopnosti a na rozhodování nemá neomezený čas.
  • Zaměřený na cíl (Goal oriented) – Snaží se dosáhnout splnění svých přání či cílů.

Struktura[editovat | editovat zdroj]

BDI Agent se vyznačuje tím, že má tři základní datové struktury:

Jednoduchá architektura BDI agenta
  • Beliefs (Představy, přesvědčení) – Jaké informace agent má. Představy o stavu světa, ve kterém se agent vyskytuje. Nepoužívá se termín „znalosti“, protože představy o světě nemusí být pravdivé a mohou být proměnlivé. Obvykle jsou reprezentovány symbolicky. Například v implementaci PRS jsou podobné jako fakta v PROLOGu.
  • Desires (Přání, touhy) – Co by agent chtěl dosáhnout. Stavy světa, o kterých by agent chtěl, aby nastaly. Mohou být jak krátkodobé tak dlouhodobé. Dlouhodobým přáním se často říká cíle (Goals). Lze si je také představit jako úlohy, které má agent přiděleny. Agent nemusí být schopen jich všech dosáhnout a některé se dokonce mohou vzájemně vylučovat.
  • Intentions (Záměry, intence) – Co se agent může rozhodnout dělat. Záměry konání, které mohou vést ke splnění přání a cílů. Záměry jsou přání, ke kterým má agent nějaký druh závazku. Intence mohou být i společné pro více agentů usilujících o společný cíl. [2]

Důležitou součástí BDI agenta je plánovač (Means-End Reasoner / Analyser). Ten na základě přání, záměrů a představ sestavuje plán, jak cílů dosáhnout. Plány ale mohou být i dopředu implementovány pro konkrétní záměry a v průběhu jsou pouze vybírány z této zásoby plánů. (Například u PRS, viz níže)

BDI Logika[editovat | editovat zdroj]

Rozhodování agentů je řízeno BDI logikou. Ta se může lišit podle konkrétní implementace. Významnou rodinu BDI logik formalizovali Rao a Georgeff. Jedná se o rozšíření temporální logiky větvícího se času (CTL – Computer Tree Logic) pro zachycení stromové hierarchie možných akcí. A také modální logiky využívající koncept možných světu pro reprezentaci představ, přání a záměrů. „Například, představy agenta v určitém stavu jsou charakterizovány množinou odlišných stavů, z nichž každý reprezentuje jednu možnost, jaký může svět ve skutečnosti být (...)“ [3]

Například pravidlo:

Pokud Agent 'i' Věří, že je ventil 32 otevřený, tak by 'i' měl mít Intenci, aby 'j' také Věřil, že je ventil 32 otevřený.

Se dá vyjádřit v BDI logice takto: [4]

(Bel i Otevřený(ventil32)) => (Int i (Bel j Otevřený(ventil32)))

Implementace BDI[editovat | editovat zdroj]

BDI je obecná teorie, která může být realizována pomocí různých architektur, jazyků a nástrojů.

Teorie agentů se zabývá otázkami toho, co je agent, a použitím matematického formalismu pro reprezentaci a uvažování o vlastnostech agentů.

Architektura agentů může být chápána jako model softwarového inženýrství agentů; výzkumníci v této oblasti se primárně zabývají problémem konstrukce softwarových nebo hardwarových systémů, které budou vyhovovat vlastnostem specifikovaným v teorii agentů.

Nakonec, jazyky agentů jsou softwarové systémy pro programování a experimentování s agenty; tyto jazyky obvykle zahrnují principy navržené v teorii.“ [5]

Architektura Rao’s Abstract Interpreter[editovat | editovat zdroj]

V základu chování agenta je řídící smyčka:

Nastav počáteční Představy
Nastav počáteční Záměry
Nastav prázdný Plán

Dokud existují nějaké Záměry, opakuj:
  Přehodnoť Představy: na základě původních Představ a aktuálních Vstupů z prostředí vytvoř nové Představy
  Pokud je potřeba na základě nových Představ přehodnotit i Záměry, tak:
    Vyber nová Přání podle aktuálních Představ a Záměrů
    Vyber nové Záměry podle aktuálních Představ, Záměrů a Přání
    Pokud současný Plán nevyhovuje novým Představám a Záměrům, tak:
      Vytvoř nový Plán pro zvolené Záměry podle aktuálních Představ
  Pokud není plán prázdný, tak:
    Vyber první Akci z plánu
    Vykonej Akci
    Odeber akci z plánu

Jedná se spíše o teoretický model, implementovat podle něj agenta není jednoduché. [6]

Architektura IRMA[editovat | editovat zdroj]

Intelligent Resource-Bounded Machine Architecture.

První architektura, ve které byl zmíněn přístup založený na BDI. Je určena pro plánování a praktické rozhodování v reálném prostředí, tedy s omezeným časem na rozhodnutí a znalostmi o prostředí.

„Tato architektura má čtyři klíčové symbolické struktury: knihovnu plánů, explicitní reprezentaci představ, přání a záměrů. Navíc, architektura obsahuje "usuzovač" (reasoner) pro usuzování o světě; analyzér prostředků a cílů (means-end analyser), který monitoruje prostředí pro určení plánů užitečných k dosažení záměrů agenta; analyzér příležitostí (opportunity analyser), který sleduje prostředí a určuje další možnosti pro agenta; filtrovací proces (filtering process); a zvažovací proces (deliberation process). Filtrovací proces je zodpovědný za určení podmnožiny možných chování agenta, které jsou konzistentní se současnými záměry. Konečné rozhodnutí mezi možnostmi je vykonáno deliberačním procesem.“ [5]

Architektura PRS[editovat | editovat zdroj]

SRI International’s Procedural Reasoning System.

Jedná se o formu realizace BDI systémů. Jednání agenta tak závisí na jeho přáních či cílech, jeho představách o světě i na dříve utvořených záměrech.

„Tato architektura umožňuje PRS usuzovat o prostředcích a cílech v podstatě stejným způsobem, jako to dělají tradiční plánovače, ale poskytuje reaktivitu, která je esenciální pro přežití ve vysoce dynamických a nejistých světech.“ [7]

Procedural Reasoning System

Základem chování jsou procedurální znalosti, které udávají, jak reagovat na dané situace a jak dosáhnout daných cílů. Říká se jim znalostní oblasti (Knowledge Areas - KAs). „Každá znalostní oblast se skládá z těla, které popisuje kroky procedury, a ze spouštěcí podmínky (invocation condition), která určuje, za jaké situace je znalostní oblast užitečná.“ [7] Tělo je reprezentováno jako síťový graf, lze ho brát jako plán či schéma plánu, namísto z primitivních akcí se skládá z cílů a podcílů. Tuto znalostní bázi lze též nazvat knihovnou plánů či aktů. Akty jsou do knihovny většinou vkládány v době návrhu agenta, ale mohou být i později přidávány uživatelem.

Také hlavní přání (cíle) jsou definovány při návrhu agenta, ale další přání mohou vznikat až v průběhu jednání agenta, při vykonávání aktů. Akty mohou být typu: dosáhni podmínky C, alokuj zdroj R, přidej nebo odeber P z databáze.

Centrálním prvkem je interpret, který řídí celý systém. „V každém časovém okamžiku jsou určité cíle v systému aktivní a určité představy jsou uloženy v systémové databázi. S ohledem na tyto cíle a představy bude relevantní (aplikovatelná) určitá podmnožina znalostních oblastí (KA) systému. Jedna z těchto relevantních KA bude poté vybrána k vykonání a vložena do procesního zásobníku.“ [7] Interpret takto sestavuje graf záměrů složený z aktů a podmínek jejich aplikace.

Cyklus interpretace PRS agenta:[6]

  1. V každém okamžiku je možné přehodnotit představy a cíle agenta
  2. Tato změna může spustit, nebo iniciovat jako aplikovatelné některý akt z knihovny aktů
  3. Některé z těchto aplikovatelných aktů může být vybrán do grafu záměrů
  4. Z grafu záměrů je vybrán akt ke spuštění
  5. Je vykonáván jeden krok z aktu vybraného pro spuštění
  6. Každý krok představuje vykonání elementární akce v prostředí
  7. Akce může způsobit vznik nového podcíle, nebo nové znalosti o prostředí
  8. Nebo způsobí změnu samotného grafu záměrů

Praktické aplikace[editovat | editovat zdroj]

OASIS: Air Traffic Management System

Systém řízení letového provozu OASIS byl testován na letišti v Sydney.

„Architektura systému OASIS se skládá z jednoho agenta pro každé letadlo a množství globálních agentů, včetně řadiče, agenta pro modelování povětrnostních podmínek, koordinátora a hlídače trajektorie. V každém okamžiku systém pojme běh až sedmdesáti nebo osmdesáti agentů současně, provádí řazení a dává pokyny letové kontrole v reálném čase. Agenti letadel jsou zodpovědní za létání s letadly a globální agenti jsou zodpovědní za všeobecné řazení a koordinaci letadel.“ [8]

Mezi hlavní vlastnosti řešení patří:

  • Schopnost tvořit plány, které reagují na specifické situace, vykonávají se dle svého účelu a jsou citlivé na kontext
  • Rovnováha mezi reaktivním a na cíl zaměřeným chováním
  • Vysoká flexibilita díky vysokoúrovňovému reprezentačnímu a programovacímu jazyku

Odkazy[editovat | editovat zdroj]

Literatura[editovat | editovat zdroj]

  • ZBOŘIL, František. Plánování a komunikace v multiagentních systémech (Disertační práce) [online]. Brno: Vysoké učení technické v Brně, 2004, [cit. 2010-01-20]. Dostupné online.  
  • RAO, A. S., GEORGEFF, M. P. Modeling Rational Agents within a BDI-Architecture. In Proceedings of the 2nd International Conference on Principles of Knowledge Representation and Reasoning, str. 473-484, 1991. Dostupné online.
  • RAO, A. S., GEORGEFF, M. P. BDI-agents: From Theory to Practice. In Proceedings of the First International Conference on Multiagent Systems (ICMAS'95), San Francisco, 1995. Dostupné online.
  • BRATMAN, M. E.. Intention, Plans, and Practical Reason. [s.l.] : CSLI Publications, 1987 (1999 tisk). Dostupné online. ISBN 1-57586-192-5.  
  • WOOLDRIDGE, M.. Reasoning About Rational Agents. [s.l.] : The MIT Press, 2000. Dostupné online. ISBN 0-262-23213-8.  
  • VIKHOREV, K. S., ALECHINA, N., LOGAN, B. The ARTS Real-Time Agent Architecture. In Proceedings of Second Workshop on Languages, Methodologies and Development Tools for Multi-agent Systems (LADS2009). CEUR Workshop Proceedings, Vol-494, Turin, Italy, 2009. Dostupné online.

Reference[editovat | editovat zdroj]

  1. BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987.
  2. JENNINGS, Nick R. Specification And Implementation Of A Belief-Desire Joint-Intention Architecture For Collaborative Problem Solving. In Journal of Intelligent and Cooperative Information Systems 2 (3) 289-318. 1993. Dostupné online.
  3. WOOLDRIDGE, Michael. Agent-Based Software Engineering. In IEEE Proc. Software Eng., 144(1):26-37, February 1997. Dostupné online.
  4. WOOLDRIDGE, Michael, CIANCARINI, Paolo. Agent-Oriented Software Engineering: The State of the Art. In Agent-Oriented Software Engineering. Ciancarini, P. and Wooldridge, M. (eds), Springer- Verlag Lecture Notes in AI Volume 1957, 2001. Dostupné online.
  5. a b JENNINGS, Nick R., WOOLDRIDGE, Michael J. Agent Theories, Architectures, and Languages: A Survey. In Intelligent Agents: ECAI-94 Workshop on Agent Theories, Architectures, and Languages, eds. M. J. Wooldridge and N. R. Jennings, 1–39. Berlin: Springer-Verlag. 1995. Dostupné online.
  6. a b ZBOŘIL, František ml. BDI systémy. 2006 [cit. 2011-01-21]. Dostupné online.
  7. a b c GEORGEFF, Michael P., LANSKY, Amy L. Reactive Reasoning and Planning. In AAAI-87 Proceedings. 1987. Dostupné online.
  8. RAO, A. S., GEORGEFF, M. P. BDI-agents: From Theory to Practice. In Proceedings of the First International Conference on Multiagent Systems (ICMAS'95), San Francisco, 1995. Dostupné online.

Související články[editovat | editovat zdroj]