Difference between revisions of "Agent reasoning/cs"
(formatovani) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:Uvažování agenta}} | {{DISPLAYTITLE:Uvažování agenta}} | ||
− | Uvažování agenta je proces, při kterém daný agent rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty. | + | '''Uvažování agenta''' je proces, při kterém daný [[Agents/cs|agent]] rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty. |
__TOC__ | __TOC__ | ||
Line 22: | Line 22: | ||
''' Přístup podle vnitřní logiky ''' | ''' Přístup podle vnitřní logiky ''' | ||
+ | |||
+ | ''' BDI (Beliefs-Desires-Intentions) Přístup ''' | ||
= Přístup podle cíle = | = Přístup podle cíle = | ||
Line 37: | Line 39: | ||
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon. | Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon. | ||
− | Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky <ref name="MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning">MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf</ref>: | + | Nejjednoduší případy jsou řešitelné jako '''Klasický plánovací problém'''. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky <ref name="MARIK Ing., CSc. Radek - Czech Technical University - Classical Planning">MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf</ref> <ref name="MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms">MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms [online]. Dostupné z: http://icaps18.icaps-conference.org/fileadmin/alg/conferences/icaps18/summerschool/lectures/Lecture7-01.pdf</ref>: |
• '''Konečný systém''': konečný počet stavů, akcí a událostí | • '''Konečný systém''': konečný počet stavů, akcí a událostí | ||
Line 55: | Line 57: | ||
• '''Off-line plánování''': plánování probíhá před samotným provedením | • '''Off-line plánování''': plánování probíhá před samotným provedením | ||
− | + | Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálně a často není k celkové analyze dispozici potřebná výpočetní síla. | |
− | Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje | ||
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]]. | Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít [[Markov decision process/cs|Markovův rozhodovací proces]]. | ||
Line 62: | Line 63: | ||
== Příklady složitosti plánování podle cíle/užitku == | == Příklady složitosti plánování podle cíle/užitku == | ||
− | [[File:seven_bridges_of_konigsberg_colour.jpeg|thumb| | + | [[File:seven_bridges_of_konigsberg_colour.jpeg|thumb|400px|right|Vizualice problému sedmi mostů města Královce <ref name="MacTutor History of Mathematics archive"> MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html</ref>]] |
=== Sedm mostů města Královce === | === Sedm mostů města Královce === | ||
Line 128: | Line 129: | ||
• ''risk of radar(low)'' | • ''risk of radar(low)'' | ||
− | Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat. | + | Agentův inferenční mechanismus rozhodne o vygenerování záznamu ''hurry''. Akční funkce projde všechna pravidla a zjistí, že ''Do(go fast)'' je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat. <ref name="ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů"> ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů</ref> |
− | <ref name="ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů"> ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů</ref> | + | |
+ | = BDI Přístup = | ||
+ | |||
+ | Agenti se rozhodují na základě svých představ (Beliefs), přání (Desires) a záměrů (Intentions). BDI přístup vychází z modelu lidského praktického usuzování, vytvořeného filosofem Michaelem E. Bratmanem. Tento model předpokládá stejné základní postupy při rozhodování jako přístupy založené na cílech/užitku a zahrnuje vytvoření cíle, kterého chceme dosáhnout a plánování, jak ho dosáhneme. <ref name=" BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5."> BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.</ref> | ||
+ | |||
+ | === Architektura === | ||
+ | |||
+ | Každý agent v simulace založené na BDI přístupu by měl mít tyto tři základní datové struktury. <ref name=" 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."> 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é z: https://eprints.soton.ac.uk/252091/1/IJICIS-2-3.pdf</ref> | ||
+ | |||
+ | • '''Představy (Beliefs)''': Představy vyjadřují povědomí agenta o světě, dalších agentech i o sobě samém. Představy mohou také obsahovat inferenční pravidla, které vedou ke transformaci představ na jiné. Představy se neoznačují jako znalosti, protože představy agentů nemusí být vždy pravdivé a mohou se v čase měnit (i bez změny dané oblasti modelu). | ||
+ | |||
+ | • '''Přání (Desires)''': Přání vyjadřují motivaci agenta. Popisují stavy nebo situace, kterých by agent rád dosáhnul. Přání, kterého se agent snaží aktivně dosáhnout, se označuje jako '''cíl'''. Cíle agenta by se neměly navzájem vylučovat, ačkoli přání mohou být v praxi protichůdná. | ||
+ | |||
+ | • '''Záměry (Intentions)''': Záměry vyjadřují co se agent rozhodl udělat. Záměry jsou přání, ke kterým se agent určitým způsobem zavázal. V simulačních modelech jsou to taková přání, ke kterým agent začal vykonávat '''plán'''. Plán je posloupnost akcí, které agent vykonává za účelem dosáhnutí nějakého svého záměru. Plány mohou obsahovat jiné plány a mohou se v závislosti na změnách představ agenta měnit v jejich průběhu. | ||
+ | |||
+ | BDI přístup může být také rozšířen o '''povinnosti''' a poté mluvíme o '''BOID přístupu'''. Povinnosti zahrnují závazky, normy a standardy uvnitř sociálních struktur v modelu a vůči ostatním agentům. <ref name=" J. Broersen, M. Dastani, J. Hulstijn, Z. Huang, L. van der Torre The BOID architecture: conflicts between beliefs, obligations, intentions and desires. Fifth international conference on Autonomous agents, ACM New York, NY, USA">J. Broersen, M. Dastani, J. Hulstijn, Z. Huang, L. van der Torre The BOID architecture: conflicts between beliefs, obligations, intentions and desires. Fifth international conference on Autonomous agents, ACM New York, NY, USA</ref> | ||
+ | |||
+ | Další nedílnou součástí těchto simulací jsou '''události'''. Události jsou spouštěče reaktivních akcí agenta. Události mohou měnit představy, cíle či uvádět plány do pohybu. Mohou pocházet z vnějších zdrojů a mít efekt na agenta skrz jeho senzory nebo z vnitřních a spuštět nepropojené aktualizace stavů nebo aktivit. | ||
+ | |||
+ | ===Procesy BDI agenta=== | ||
+ | |||
+ | [[File:BDI_Architecture_process.jpg|thumb|right|450px|Schéma BDI procesů <ref name="Instituto de informática UFRGS - BDI Architecture">Instituto de informática UFRGS - BDI Architecture [online]. Dostupné z: http://www.inf.ufrgs.br/prosoft/bdi4jade/?page_id=46</ref>]] | ||
+ | |||
+ | Základní model uvažování BDI agenta se skládá z <ref name="Instituto de informática UFRGS - BDI Architecture">Instituto de informática UFRGS - BDI Architecture [online]. Dostupné z: http://www.inf.ufrgs.br/prosoft/bdi4jade/?page_id=46</ref>: | ||
+ | |||
+ | • Funkce pro '''revizi představ''' ''(Belief revision function)'': Na základě vnějších a vnitřních událostí mění agentovy představy o světě | ||
+ | |||
+ | • '''Představy''' ''(Beliefs)'' | ||
+ | |||
+ | • Funkce pro '''vytváření přání''' ''(Option generation function)'': Na základě představ a záměrů agenta vytváří možná přání agenta | ||
+ | |||
+ | • '''Přání''' ''(Desires)'' | ||
+ | |||
+ | • '''Filtr přání''' ''(Filter)'': Představuje deliberační proces agenta, rozhodující o jeho aktuálních záměrech na základě jeho představ, přání a stávajícíh záměrů/plánů. | ||
+ | |||
+ | • '''Záměry''' ''(Intentions)'' | ||
+ | |||
+ | • Funkce pro '''rozhodování''' ''(Action selection function)'': Vybírá akce, které agen provede a rozhoduje o pořadí jejich provedení na základě současných záměrů agenta. | ||
+ | |||
+ | |||
= Reference = | = Reference = |
Latest revision as of 20:35, 5 June 2019
Uvažování agenta je proces, při kterém daný agent rozhoduje o svých budoucích akcích. Tato rozhodnutí provádí na základě informací o okolním agentním prostředí, které získal pomocí svých senzorů nebo při komunikaci s jinými agenty.
Contents
Přístupy k uvažování agentů
Principy a přístupy k uvažování agentů se liší v závislosti na typu a složitosti agenta. Na složitosti použitého rozhodovacího přístupu také závisí nutný vypočetní výkon pro jeho realizaci a z toho plynoucí omezení v případě simulací většího rozsahu.
Reaktivní agenti
Reaktivní agenti jsou nejjednodušším typem agentů a při rozhodování používají primitivní IF-THEN logiku. Z tohoto důvodu jsou nejméně nároční na výpočetní výkon a vhodní pro masivní, ale jednoduché simulace.
Deliberativní agenti
Deliberativní agenti používají pro rozhodování složitější přístupy než prostá IF-THEN pravidla. Neexistuje dominantní přístup používaný pro uvažování deliberativních agentů. Základním dělením přístupů k uvažování těchto agentů je na základě čeho se rozhodují o provedení akcí.
Přístup podle cíle
Přístup podle užitku
Přístup podle vnitřní logiky
BDI (Beliefs-Desires-Intentions) Přístup
Přístup podle cíle
Agenti rozhodují o svých akcích podle toho, které dosáhnou daného cíle. Cíl agenta je takový stav, který daný agent vyhodnotí za úspěšný. Pomocí simulace následků akcí, které jsou danému agentu k dispozici, agent vybere takovou, která dosáhne zadaného cíle. V případě potřeby musí vytvořit alternativní nebo dílčí, krátkodobé cíle. Deliberativní agenti musí kontrolovat své krátkodobé cíle, aby se ujistil, že zůstávají proveditelné a relevantní pro jeho dlouhodobé cíle nebo poslání. Cílové uvažování je monitorovací funkce na nejvyšší úrovni a agent musí průběžně vyhodnocovat neočekávané události, které mohou zasahovat do současných cílů. [1]
Přístup podle užitku
Agenti rozhodují o svých akcích podle toho, které jim přinesou největší užitek. Zatímco cílové založený přístup rozeznával pouze dva možné výsledky – úspěch a neúspěch (1 a 0), užitkově založený přístup může využít pro ohodnocení výsledku celou číselnou škálu.
Pro ohodnocení možných výsledků se používá užitková funkce:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle f: p(x) \rightarrow u ; u \in R}
Pokud nelze ohodnotit jednotlivé výsledky na nominální stupnici (přiřazuje každému výsledku reálné číslo), je možné využít jednodušší, ordinální stupnice (řadí jednotlivé výsledky za sebou bez znalosti přesného rozdílu užitku mezi výsledky). Ordinální stupnice je samozřejmě méně přesná než nominální, ale je také méně náročná na výpočetní výkon.
Nejjednoduší případy jsou řešitelné jako Klasický plánovací problém. Pro použití tohoto postupu je nutné, aby agentní model splňoval tyto podmínky [2] [3]:
• Konečný systém: konečný počet stavů, akcí a událostí
• Plně pozorovatelný: agent vždy vidí současný stav
• Deterministický: každá akce má vždy jen jeden výsledek
• Statický: model je ovlivňován pouze akcemi agenta
• Dosažitelné cíle: existuje sada cílových stavů, do kterých se agent chce dostat
• Posloupnost plánů: zkoumané plány jsou lineárně seřazené akce
• Implicitní doby: akce netrvají žádný čas, model je vyjádřen jako sekvence okamžitých stavů
• Off-line plánování: plánování probíhá před samotným provedením
Pří řešení problému hledáme takovou posloupnost akcí, která má jako konečný stav jeden z definovaných cílových stavů. Náročnost tohoto problému se s narůstajícím počtem možných akcí a stavů zvyšuje exponenciálně a často není k celkové analyze dispozici potřebná výpočetní síla.
Pokud není zkoumaný model deterministický a obsahuje náhodné proměnné, lze pro vyhodnocení akcí s největším užitkem použít Markovův rozhodovací proces.
Příklady složitosti plánování podle cíle/užitku
Sedm mostů města Královce
Slavný matematický problém, vyřešený Leonhardem Eulerem pomocí teorie grafů. Probémem je navrhnout takovou trasu prohlídky města, která by přešla každý ze sedmi mostů právě jednou. [5]
Celkový počet možných stavů: 64
Rubikova kostka
Slavný hlavolam se může nacházet v 8! (rozmístění rohů) x 37 (orientace rohů) x 12!/2 (rozmístění hran) x 211 (orientace hran) = 4.325 · 1019 možných stavech [6]
Přeprava nákladu
• 10 letišť
• 50 letadel
• 200 kusů nákladu
Celkový počet možných stavů: 1050 x (50+10)200 = 10405
Problémy plánování podle cíle/užitku
Procházet všechny možné stavy evidentně není vůbec fyzicky možné a pří řešení je nutné využívat sofistikovanějších algoritmů. Dalším problémem přístupu podle užitku je vrozená subjektivnost hodnot, podle kterých se hodnotí užitek daného stavu v případech, kdy nemá výsledek přímou číselnou hodnotu (Pokud nám jde například o maximalizaci peněžního zisku či minimalizaci spotřeby materiálu, lze naopak užitek vyjádřit snadno). S tímto problémem souvisí další, určení v jakém časovém horizontu chceme užitkovost stavů zkoumat. Co je výhodné krátkodobě, nemusí být správné řešení dlouhodobě.
Přístup podle vnitřní logiky
Agenti se rozhodují na základě vnitřních logických pravidel. Přístup má kořeny v symbolické umělé inteligenci a je založen na logických pravidlech nad sadou známých výroků. Nechť S je sada logických výroků uložených agenty, které obsahují záznamy o stavu agentního prostředí a výsledky procesních funkcí. Nechť σ∈S je jeden logický výrok jako součást agentního prostředí. Nechť ρ je sada logických pravidel, které agent používá pro rozhodování. Nechť Ac je soubor všech možných akcí agenta a α∈Ac je jedna konkrétní akce. V každém kole rozhodování agent projde každý predikát z S a pokusí se odvodit Do(α) pro každou akci α∈Ac. V případě, že takovou akci najde, tak ji provede. V případě, že se vhodnou akci najít nepovede, pokusí se najít takovou, která není výslovně zakázána pro daný stav σ. Pokud takovou akci nenajde, neprovede žádnou akci.
Příklad
Agentem je řidič, který se rozhoduje jestli pojede rychleji než je předepsaná rychlost, nebo ne. Pokud jede pozdě, může se rozhodnout, že pojede rychleji. V takovém případě přijede včas, ale je šance, že ho zpozoruje fotoradar a bude muset zaplatit pokutu.
Pravidla, kterými se agent řídí
• Pokud má agent méně času než potřebuje na dojezd do cíle včas, tak je ve spěchu.
time left (X) ⋀ time needed (Y) ⋀ (X < Y) ⇒ hurry
• Pokud není agent ve spěchu, pojede pomalu.
¬hurry ⇒ Do(go slowly)
• Pokud je agent ve spěchu a je velká šance, že po cestě narazí na radar, pojede pomalu.
hurry ⋀ risk of radar(high) ⇒ Do(go slowly)
• Pokud je agent ve spěchu a je malá šance, že po cestě narazí na radar, pojede rychle.
hurry ⋀ risk of radar(low) ⇒ Do(go fast)
Průběh simulace
Na počátku je agentova sada stavů S prázdná.
Během jízdy agentovy vstupní funkce aktualizují S s následujícími parametry:
• time left(20)
• time needed(30)
• risk of radar(low)
Agentův inferenční mechanismus rozhodne o vygenerování záznamu hurry. Akční funkce projde všechna pravidla a zjistí, že Do(go fast) je logický výsledek výše zmíněných pravidel a záznamů o agentově prostředí a tuto akci se pokusí vykonat. [7]
BDI Přístup
Agenti se rozhodují na základě svých představ (Beliefs), přání (Desires) a záměrů (Intentions). BDI přístup vychází z modelu lidského praktického usuzování, vytvořeného filosofem Michaelem E. Bratmanem. Tento model předpokládá stejné základní postupy při rozhodování jako přístupy založené na cílech/užitku a zahrnuje vytvoření cíle, kterého chceme dosáhnout a plánování, jak ho dosáhneme. [8]
Architektura
Každý agent v simulace založené na BDI přístupu by měl mít tyto tři základní datové struktury. [9]
• Představy (Beliefs): Představy vyjadřují povědomí agenta o světě, dalších agentech i o sobě samém. Představy mohou také obsahovat inferenční pravidla, které vedou ke transformaci představ na jiné. Představy se neoznačují jako znalosti, protože představy agentů nemusí být vždy pravdivé a mohou se v čase měnit (i bez změny dané oblasti modelu).
• Přání (Desires): Přání vyjadřují motivaci agenta. Popisují stavy nebo situace, kterých by agent rád dosáhnul. Přání, kterého se agent snaží aktivně dosáhnout, se označuje jako cíl. Cíle agenta by se neměly navzájem vylučovat, ačkoli přání mohou být v praxi protichůdná.
• Záměry (Intentions): Záměry vyjadřují co se agent rozhodl udělat. Záměry jsou přání, ke kterým se agent určitým způsobem zavázal. V simulačních modelech jsou to taková přání, ke kterým agent začal vykonávat plán. Plán je posloupnost akcí, které agent vykonává za účelem dosáhnutí nějakého svého záměru. Plány mohou obsahovat jiné plány a mohou se v závislosti na změnách představ agenta měnit v jejich průběhu.
BDI přístup může být také rozšířen o povinnosti a poté mluvíme o BOID přístupu. Povinnosti zahrnují závazky, normy a standardy uvnitř sociálních struktur v modelu a vůči ostatním agentům. [10]
Další nedílnou součástí těchto simulací jsou události. Události jsou spouštěče reaktivních akcí agenta. Události mohou měnit představy, cíle či uvádět plány do pohybu. Mohou pocházet z vnějších zdrojů a mít efekt na agenta skrz jeho senzory nebo z vnitřních a spuštět nepropojené aktualizace stavů nebo aktivit.
Procesy BDI agenta
Základní model uvažování BDI agenta se skládá z [11]:
• Funkce pro revizi představ (Belief revision function): Na základě vnějších a vnitřních událostí mění agentovy představy o světě
• Představy (Beliefs)
• Funkce pro vytváření přání (Option generation function): Na základě představ a záměrů agenta vytváří možná přání agenta
• Přání (Desires)
• Filtr přání (Filter): Představuje deliberační proces agenta, rozhodující o jeho aktuálních záměrech na základě jeho představ, přání a stávajícíh záměrů/plánů.
• Záměry (Intentions)
• Funkce pro rozhodování (Action selection function): Vybírá akce, které agen provede a rozhoduje o pořadí jejich provedení na základě současných záměrů agenta.
Reference
- ↑ GHALLAB, Malik, Dana S. NAU a Paolo TRAVERSO. Automated planning and acting. New York, NY: Cambridge University Press, 2016. ISBN 978-1107037274.. Dostupné z: http://projects.laas.fr/planning/book.pdf
- ↑ MARIK Ing. Radek CSc. - Czech Technical University - Classical Planning [online]. Dostupné z: https://cw.fel.cvut.cz/old/_media/courses/ae3b33kui/lectures/lecture_09.pdf
- ↑ MALTE Helmert - The 28th International Conference on Automated Planning and Scheduling - Classical Planning Algorithms [online]. Dostupné z: http://icaps18.icaps-conference.org/fileadmin/alg/conferences/icaps18/summerschool/lectures/Lecture7-01.pdf
- ↑ MacTutor History of Mathematics archive [online]. Dostupné z: http://www-history.mcs.st-andrews.ac.uk/Extras/Konigsberg.html
- ↑ Mathematical Association of America - Leonard Euler's Solution to the Konigsberg Bridge Problem [online]. Dostupné z: https://www.maa.org/press/periodicals/convergence/leonard-eulers-solution-to-the-konigsberg-bridge-problem
- ↑ Analyzing Rubik's Cube with GAP [online]. Dostupné z: http://www.gap-system.org/Doc/Examples/rubik.html
- ↑ ŠALAMON, Ing. et Ing. Tomáš, Ph.D., MBA - Podklady k předmětu 4IT495 - Simulace systémů
- ↑ BRATMAN, M. E. Intentions, Plans, and Practical Reason. Harvard University Press, Cambridge, MA, 1987. ISBN 1-57586-192-5.
- ↑ 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é z: https://eprints.soton.ac.uk/252091/1/IJICIS-2-3.pdf
- ↑ J. Broersen, M. Dastani, J. Hulstijn, Z. Huang, L. van der Torre The BOID architecture: conflicts between beliefs, obligations, intentions and desires. Fifth international conference on Autonomous agents, ACM New York, NY, USA
- ↑ 11.0 11.1 Instituto de informática UFRGS - BDI Architecture [online]. Dostupné z: http://www.inf.ufrgs.br/prosoft/bdi4jade/?page_id=46