26
11. Úvod do multi-agentních systémů a agentních technologií Gerstnerova Laboratoř A g e n t T e c h n o l o g y G r o u p h t t p : / / a g e n t s . f e l k . c v u t . c z /

11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

11. Úvod do multi-agentních systémů a agentních technologií

Gerstnerova Laboratoř

A g e n t T e c h n o l o g y G r o u p

Gerstnerova Laboratořh t t p : / / a g e n t s . f e l k . c v u t . c z /

Page 2: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Agent

∴Agent je „zapouzdřený výpočetní systém“ v nějakém prostředí, který je:

− Autonomní− Flexibilní

∴Má možnost částečně ovlivňovat prostředí – je nedeterministický

A g e n t T e c h n o l o g y G r o u p

environment

sensor input

action output

Page 3: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Prostředí

∴Přístupnost vs. Nepřístupnost

∴Dynamické vs. Statické

∴Deterministické vs. Nedeterministické

∴Diskrétní vs. Spojité

∴Obecné prostředí je nepřístupné, dynamické, nedeterministické a spojité

A g e n t T e c h n o l o g y G r o u p

∴Obecné prostředí je nepřístupné, dynamické, nedeterministické a spojité

Page 4: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Důvody pro použití agentních technologií

∴ Agentní technologie jsou vhodné v zvláště v případech, kdy:

1. Je potřeba řešit velmi složité problémy nebo řídit složité systémy2. Informace potřebné k řešení problému nejsou centrálně k dispozici protože

− Jsou přirozeně geograficky distribuovány− Agenti nejsou ochotni je sdílet

3. V doménách s dynamicky se měnícím prostředí a specifikací problému4. Je potřeba integrovat různé části software za běhu nebo v průběhu designu5. Simulace distribuovaných nebo vysoce autonomních systémů

A g e n t T e c h n o l o g y G r o u p

5. Simulace distribuovaných nebo vysoce autonomních systémů 6. Geograficky distribuované, heterogenní systémy operují v dynamickém

komplexním prostředí

Page 5: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Možné aplikační oblasti

∴Výrobní procesy: plánování složitých výrobních procesů; řízení dynamických, těžko predikovatelných a nestabilních procesů; diagnostika, zotavení, rekonfigurace a přeplánování.

∴Virtuální podniky: formování obchodních aliancí; budování krátkodobých i dlouhodobých dohod; řízení dodavatelských řetězců.

∴Agenti pro Internet: zejména pro inteligentní nakupování a obchodování; získávání informací; vzdálený přístup k informacím a systémům.

A g e n t T e c h n o l o g y G r o u p

∴Logistika: doprava a tok materiálu; plánování a rozvrhování (zejména dopravních systémů), veřejná doprava; ale také mírové operace, vojenské manévry, atd.

∴Bitevní operace: koordinace akcí různých vojenských jednotek a vojáků na bojišti; plánování koalic a jejich operací; inteligentní integrace různého vybavení, atd.

∴Veřejné sítě: energetické rozvodné sítě, mobilní komunikační sítě, kabelové sítě – simulace a predikce nouzových situací, prevence přetížení a výpadků, detekce napadení a poruch.

Page 6: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Vlastnosti Agenta

∴Autonomní (autonomous) – agenti jsou proaktivní, sledují své cíle, jednají nezávisle bez zásahu uživatele, mohou podvádět, ocházet nebo přicházet do komunity

∴Reaktivní (reactive) – jednají na základě nějaké události nebo vnějšího podnětu, jsou schopni vnímat a jednat

∴Proaktivní (proactive) – jednají na základě vlastní úvahy

A g e n t T e c h n o l o g y G r o u p

∴Intencionální (intentional) – jednají v dlouhodobém zájmu, mění chování za účelem dosažení cílů, používají komunikaci, sestavují plány a uvažují o sobě

∴Sociální (social) – spolupracují s ostatními agenty v komunitě na dosažení společného cíle, uvažují o ostatních agentech, mohou se sdružovat do koalic a formovat týmy

Page 7: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Vlastnosti Agenta

∴Adaptivní (adaptive) – dynamicky se adaptuje na změnu podmínek v prostředí, mohou měnit a zlepšivat svoji sociální pozici

∴Kooperativní (cooperative) – agenti koordinují a vyjednávají o dosažení společného cíle, mohou organizovat a delegovat.

∴Mobilní (mobile) – pohybují se v prostředí, sledují nějakou trasu

A g e n t T e c h n o l o g y G r o u p

∴Interaktivní (interactive) – agenti spolupracují s lidmi, dalšími agenty, systémy a zdroji informací

∴„Osobnostní“ (personal) – mají vlastnosti jako např. emoce

∴„Rozumný“ (rational) agent je – autonomní, reaktivní, proaktivní a sociální

Page 8: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Obdobné koncepty

∴Objekty – výpočetní entita se zapouzdřeným stavem, možnost vykonávat metody na svém stavu a komunikovat s ostatními objekty pomocí předávání zpráv

− Menší stupeň autonomie – možnost volání public metod− Společný cíl je tvořen ve fázi návrhu− Multi-agentní systém je z podstaty vícevláknový

A g e n t T e c h n o l o g y G r o u p

∴Expertní systémy – jedna z nejdůležitějších technologií 80-tých let

− Expertní systémy jsou „odosobněny“ od prostředí− Nemají reaktivní ani proaktivní chování− Nejsou vybaveny žadnýmy možnostmi sociálního chování

Page 9: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Abstraktní architektura

see

state

next

action

A g e n t T e c h n o l o g y G r o u p

environment

sensor input

action output

Page 10: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Belief-Desire-Intention Model

“… Framework for reasoning about formal abstract models of mental states (based on Theory of Practical Reasoning …”

∴Obsahuje popisy (jako objekty, datové struktury, atd...):

− beliefs, reprezentují znalost o vnitřním stavu a prostředí, − desires, určují motivaci - o co se snaží atd. − intentions, rozhodnutí o tom, jak jednat, aby došlo k naplnění cílů

A g e n t T e c h n o l o g y G r o u p

− intentions, rozhodnutí o tom, jak jednat, aby došlo k naplnění cílů

if φ ∈ Lagent then φ, (Bel A φ), (Goal A φ), (Int A φ) ∈ Lbdi

Page 11: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

BDI příklady

(Bel john (sunny melbourne))

∃ A (Bel A (sunny melbourne))

∀ A: (english-person A) ⇒ (Bel A (sunny melbourne))

∀ x: (australian-city x) ⇒ (Bel john (sunny x))

∀ x: (Bel john x) ⇒ (Bel jim x)

A g e n t T e c h n o l o g y G r o u p

(Int author (write book))

(Des author (∀ A: (Int A (buy book)))

(Des A (AF (win A))) ∧ (Int A (EF (buy-ticket A))) ∧ ¬(Bel A (AF (win

A)))

∀ A,B: (motherof A B) ⇒ (Bel B (wonderfull A))

(Des janine ∀ A: (Bel A (dangerous ozonehole)))

(Bel Tony ∀ B: (Bel B (Int Tony ¬(prime-minister Tony))))

Page 12: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Vlastnosti uvažujícího (rational) agenta

∴satisfiability – (Int A φ) ⇒ EFφ

∴intention-belief-inconsistency – (Int A φ) ∧ (Bel A ¬EFφ) – irrational

∴intention-belief-incompleteness – (Int A φ) ∧ (¬Bel A EFφ) – rational

∴time consistency – (Int A φ) ∧ (Int A ψ) ⇒ (Int A (Fφ ∧ F ψ))

∴inevitables:

− (Int A AGφ) ⇒ (Des A AGφ)

A g e n t T e c h n o l o g y G r o u p

− (Int A AGφ) ⇒ (Des A AGφ)

− (Des A AGφ) ⇒ (Int A AGφ)

− (Bel A AGφ) ⇒ (Des A AGφ)

∴options:

− (Int A EFφ) ⇒ (Des A EFφ)

− (Des A EFφ) ⇒ (Bel A EFφ)

− (Int A EFφ) ⇒ (Bel A EFφ)

Page 13: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

BDI inferenční mechanismus

∴Belief revision: ℘(belief) × percept →℘(belief)

∴Deliberating: ℘(belief) × ℘(desires) →℘(intention)

− options generation: ℘(belief) × ℘(desires) →℘(intentions)

− options filtering: ℘(belief) × ℘(desires) × ℘(intentions)

→℘(intentions)

A g e n t T e c h n o l o g y G r o u p

∴Planning: ℘(belief) × ℘(intention) → ℘(action)

Bel ← Bel0

percept ← get-percept()

Bel ← belief-revision(Bel)

Int ← deliberate(Bel,Des)

π ← plan(Bel,Int)

execute(π)

Page 14: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

BDI uvažování a závazky

∴Závazky

− blind (slepé - fanatické) commitment – agent věří že ho musí dosáhnout

− single minded commitment – agent věří v dosažení nebo alespoň v možnost dosažení

− open minded commitment – trvá dokud je možné ho dosáhnout

A g e n t T e c h n o l o g y G r o u p

− open minded commitment – trvá dokud je možné ho dosáhnout

Page 15: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Interoperability - introduction to FIPA

∴Foundation for Intelligent (Interoperable) Physical Agents (www.fipa.org), = souhrn standardů umožňujících interoperabilitu agentních systémů – poskytuje abstraktní architekturu

A g e n t T e c h n o l o g y G r o u p

Page 16: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

FIPA Agent Management

∴Agentní platforma

− Poskytuje infrastrukturu pro běh agentů

∴Povinné komponenty

− Agent Management System (AMS) – řídí činnost jednotlivých agentů− Agent Communication Channel (ACC) – umožňuje agentům komunikovat

∴Volitelné komponenty

− Directory Facilitator (DF) – pro vyhledávání agentů (žluté stránky)

A g e n t T e c h n o l o g y G r o u p

Agent Agent AMS DF ACC…………

Message Transport System

Agent Platform (AP)

Page 17: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Agent Communication

∴Agenti komunikují pomocí posílání zpráv

∴FIPA Agent Communication Language− Definuje strukturu zpráv (parametry)

(requestrequestrequestrequest

:sendersendersendersender operator@mas0:1099/JADE

:receiverreceiverreceiverreceiver (set workshop@mas0:1099/JADE)

:languagelanguagelanguagelanguage XML

:ontologyontologyontologyontology plan-task-ontology

:protocolprotocolprotocolprotocol fipa-request

A g e n t T e c h n o l o g y G r o u p

:protocolprotocolprotocolprotocol fipa-request

:contentcontentcontentcontent

(<?xml version="1.0" encoding="UTF-8"?>

<plan-task>

<task-id>Z_211-0242</task-id>

<time>10</time>

<day-load>8</day-load>

<priority>1</priority>

<start-day>20011026T000000000</start-day>

<dead-line>20011120T000000000</dead-line>

<strategy>F</strategy>

</plan-task >)

:conversationconversationconversationconversation----id id id id 123465

)

Page 18: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Parametry zpráv

Parametr Význam

− performative typ komunikačního aktu

− sender odesílatel zprávy− receiver příjemce zprávy− reply-to příjemce odpovědi

− content obsah zprávy

− language jazyk obsahu zprávy

A g e n t T e c h n o l o g y G r o u p

− language jazyk obsahu zprávy− encoding kódování obsahu zprávy− ontology ontologie obsahu zprávy

− protocol komunikační protokol

− conversation-id identifikace konverzace− reply-with identifikace odpovědi− in-reply-to identifikace předešlé komunikace− reply-by životnost konverzace

Page 19: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Speech-acts

∴Definuje význam zprávy

∴Kompletní seznam viz. http://www.fipa.org

∴Nejčastěji používané akty:

− inform: odesílatel informuje příjemce o kladném vyřízení požadavku− request: odesílatel žádá příjemce o provedení nějaké akce− agree: souhlas s provedením nějaké akce− refuse: nesouhlas s provedením dané akce s vysvětlením důvodu odmítnutí− call for proposal: výzva k zaslání nabídek k provedení dané akce

A g e n t T e c h n o l o g y G r o u p

− call for proposal: výzva k zaslání nabídek k provedení dané akce− propose: zaslání nabídky k provedení nějaké akce− accept proposal: odsouhlasení dříve zaslané nabídky k provedení akce− cancel: agent informuje ostatní, že již více nebude pokračovat v provádění nějaké akce− failure: informuje, že akce byla provedena avšak neúspěšně− subscribe: žádost o pravidelné informování o změně stavu agenta nebo jeho okolí

Page 20: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Interaction Protocols

∴Protokoly určené k interakci dvou, či více agentů; specifikují tok zpráv během konverzace

∴Podporované protokoly:

− FIPA Request Interaction Protocol− FIPA Subscribe Interaction Protocol− FIPA Query Interaction Protocol− FIPA Request When Interaction Protocol− FIPA Contract Net Interaction Protocol

A g e n t T e c h n o l o g y G r o u p

− FIPA Contract Net Interaction Protocol− FIPA Iterated Contract Net Interaction Protocol− FIPA English Auction Interaction Protocol− FIPA Dutch Auction Interaction Protocol− FIPA Brokering Interaction Protocol− FIPA Recruiting Interaction Protocol− FIPA Propose Interaction Protocol

Page 21: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

FIPA Request

A g e n t T e c h n o l o g y G r o u p

Page 22: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

FIPA Query

A g e n t T e c h n o l o g y G r o u p

Page 23: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

FIPA Subscribe

A g e n t T e c h n o l o g y G r o u p

Page 24: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

FIPA Contract-Net-Protocol

A g e n t T e c h n o l o g y G r o u p

Page 25: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Content Languages

∴Jako jazyk pro popis obsahu zprávy může být jakýkoli, s jakým je odesílatel i příjemce schopen pracovat.

∴FIPA podporuje:

− SL0 – minimální podmnožina sémantického jazyka (reprezentace akcí, jejich efektu/ukončení, jednoduché binární propozice)

− SL1 – SL0 + logicke spojky− SL2 – zahrnuje predikátovou logiku prvního řádu, modální logiku (BDI)− Ale také např. XML, RDF, CCL, KIF

A g e n t T e c h n o l o g y G r o u p

Page 26: 11. Úvod do multi-agentních systémů a agentních ... · Důvody pro použití agentních technologií ∴ Agentní technologie jsou vhodné v zvláště v případech, kdy: 1

Příklady agentních platforem

∴JADE – plně FIPA compliant platforma,

− Hojně používána pro vývoj vědeckých prototypů− Lze stáhnout přes http://jade.tilab.com/− 100% Java − open source− LEAP - JADE pro J2ME

∴A-Globe – lehká, rychlá, ACL-FIPA compliant platforma

A g e n t T e c h n o l o g y G r o u p

∴A-Globe – lehká, rychlá, ACL-FIPA compliant platforma

− podporuje mobilitu a komunikační nedostupnost− 100% Java, open source− Lze stáhnout přes http://agents.felk.cvut.cz/aglobe− Vyvinuta na FEL ČVUT− Velmi efektivní pro agentní simulace – lze použít silnou simulační nadstavbu