Pogamut2 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 11/2008 Platforma pro výzkum, vývoj a vzdělávání v oboru umělé inteligence (AI) a inteligentních virtuálních agentů (IVA)
Obsah ● Inteligentní Virtuální Agenti – Kdo jsou a proč se jimi zabývat? ● Základy programování s virtuálními agenty (s boty) ● Platforma Pogamut – Přehled – Architektura a IDE – Práce s platformou a ukázky
Inteligentní Virtuální Agenti I ● Co jsou virtuální agenti? – Autonomní počítačové programy – Cílem – imitovat lidské chování a adekvátně reagovat na podněty člověka – Jejich součástí – virtuální reprezentace těla v prostředí simulovaném počítačovou aplikací (avatar) ● Příklady – V počítačových hrách, virtuálních dramatech – Nyní už i ve „serious“ aplikacích ● FearNot - ● Tactical Iraqi -
Inteligentní Virtuální Agenti II Projekt Facade – interactive drama Unreal Tournament 2004 – computer game
Proč virtuální agenti? ● Výuka – Virtuální agenti jako „tutorové“ – Simulace krizových scénářů (Tactical Iraqi) ● Výzkum – Sociální interakce, kooperace... ● Zábava – S lepšími IVA je větší zábava
Boti – základní 2 věci ● Navigační body, graf ● Pokrytí podlahy – Obdelníky, kruhy – NavMesh ● Matice viditelnosti ● Dveře, výtahy, vypínače, speciální body.... ● If-then pravidla ● FSM ● Fuzzy logika ● Plánování – Tradiční – Reaktivní – „Anytime“ plánování ProstředíLogika
Prostředí v UT
Prostředí v UT – reprezentace
Hrany a popisky ● Dosažitelnost – Běhání / skákání – Létání ● Popisky vrcholů – Předmět – Nebezpečí – Další informace –...
Pokrytí podlahy
Navigační mesh (NavMesh)
Matice viditelnosti – kde se schovat ● Bitová matice – viditelný / neviditelný (skrytý) ● Každý řádek, sloupec je bitový vektor – můžeme použít logické operátory (AND, OR)
Od navigace k logice ● Konečné automaty – Počítačové hry je často podporují (UT 2004) ● Reaktivní plánovače – (S)POSH ● If-then pravidla, fuzzy ● Genetický přísup ● „Chytrá“ prostředí – Část rozhodování skytá přímo v prostředí (afordance) – Hledání cesty (path finding), dodatečné informace ● Ještě těžší při týmové kooperaci - „mozek“ bota
Pogamut2 GameBots 2004 Unreal Tournament 2004 NetBeans IDE Unreal Tournament 2004 GameBots NetBeans
Pogamut 2 – přehled ● Pogamut – platforma pro – Výzkum (GRID) – Vývoj – Vzdělávání (MFF) ● Agenti žijí v prostředí hry UT 2004 ● Pogamut je v Javě, je rozšiřitelný a modulární ● Nabízí bohaté IDE (NetBeans plugin) – pro ladění a vizualizaci vnitřního stavu agenta ● Pogamut je free* a open source ● Součástí je web – nabízí dokumentaci, instalátor, video tutoriály, fórum a nápovědy – ut v oboru umělé inteligence a inteligentních virtuálních agentů
UT 2004 ● Rozšiřitelné 3D prostředí
Pogamut 2 – architektura Simulátor světaPosílá informace agentovi Překládá textové zprávy do Javy Agent (bot) posílá akce
Pogamut 2 – IDE
IDE – dálkové ovládání
IDE – Introspekce
Start Agenta prePrepareAgent() postPrepareAgent() doLogic() shutdownAgent()
Agent – doLogic() ● Volaná dokola (frekvence ~ 6 Hz)
Pogamut 2 – příklad agenta ● FollowBot ● Video
Pogamut 2 – příklad agenta ● Střílející FollowBot
Konec... Otázky?