Umělá inteligence I. Roman Barták, KTIML. roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak



Podobné dokumenty
Umělá&inteligence! Co#o#nás#říká,#i#když#to#(někdy)#nechceme#slyšet?#

Inteligentní agenti. Agentem zde rozumíme cokoliv, co vnímá své prostředí pomocí sensorů a působí na to prostředí pomocí efektorů.

Rozhodovací procesy 2

UMĚLÁ INTELIGENCE 2. Umělá inteligence může být jako obor chápána různě, například:

Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu odhaduje, jak se svět může vyvíjet.

Úvod do zpracování signálů

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Teorie rozhodování (decision theory)

Časová a prostorová složitost algoritmů

RACIONÁLNÍ AGENTI. Racionální agenti a současné směřování umělé inteligence

Dynamicky vázané metody. Pozdní vazba, virtuální metody

"Agent Hledač" (3. přednáška)

Emergence chování robotických agentů: neuroevoluce

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Ústav automatizace a měřicí techniky.

Příloha č.3 Otázka pro hodnocení manažera

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

UITS / ISY. Ústav inteligentních systémů Fakulta informačních technologií VUT v Brně. ISY: Výzkumná skupina inteligentních systémů 1 / 14

Automatizační a měřicí technika (B-AMT)

Simulace pohybu chodců pomocí celulárních modelů

Návrh softwarových systémů - mobilita. Jiří Šebek (B6B36NSS)

zdroj světla). Z metod transformace obrázku uvedeme warping a morfing, které se

Číslicové filtry. Honza Černocký, ÚPGM

Aplikace. vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin

Umělá inteligence I. Roman Barták, KTIML.

Institut teoretické informatiky (ITI) na FI MU

Zpětnovazební učení Michaela Walterová Jednoocí slepým,

OSA. maximalizace minimalizace 1/22

S T R A T E G I C K Ý M A N A G E M E N T

Teorie systémů TES 3. Sběr dat, vzorkování

OUTSOURCING A JEHO SPECIFIKA V ŘÍZENÍ ORGANIZACÍ P A V E L B A R N E T

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Umělá inteligence I. Roman Barták, KTIML.

12. Globální metody MI-PAA

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

01 Teoretické disciplíny systémové vědy

Flow-X PRŮTOKOMĚR. On-line datový list

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Návrh IS - UML. Jaroslav Žáček

SIGNÁLY A LINEÁRNÍ SYSTÉMY

Testování prvočíselnosti

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

Vývoj informačních systémů. Obecně o IS

Esej do 5. ročníku soutěže. V Olomouckém kraji jsem doma. A vždycky budu! na téma

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Flow-X PRŮTOKOMĚR. On-line datový list

Moderní systémy pro získávání znalostí z informací a dat

Numerická stabilita algoritmů

Homer. prvky. délka. přední 0 zadní 4. Použití fronty BUS STOP. 3 Lisa. 2 Bart. 4 Maggie. 1 Marge. Grafické znázornění předchozí animace:

Plánování: reprezentace problému

Anotace. Dynamické programování, diskrétní simulace.

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Vnitřní kontrolní systém a jeho audit

Výrobní pracoviště budoucnosti

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Tisková informace. Autopříslušenství Senzitivní vozidlo - Dokonalý rozhled se snímači Bosch. Duben 2001

Struk ur přednášk. Vymezení pojmu management, Úkoly řízení podniku, Strategické řízení, Taktické řízení, Plánování.

Umělá inteligence II

U Úvod do modelování a simulace systémů

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

Návrh softwarových systémů - architektura softwarových systémů

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Objektově orientovaná implementace škálovatelných algoritmů pro řešení kontaktních úloh

DOTAZNÍK PRO URČENÍ UČEBNÍHO STYLU

1 Linearní prostory nad komplexními čísly

Diferenciální rovnice a jejich aplikace. (Brkos 2011) Diferenciální rovnice a jejich aplikace 1 / 36

Jejich účelem je uvolnění potenciálu, který v sobě ukrývá spojení racionálního a emocionálního myšlení.

SENZORY PRO ROBOTIKU

Pokročilé neparametrické metody. Klára Kubošová

Základní datové struktury

Stromy, haldy, prioritní fronty

Ing. Pavel Rosenlacher

Úvod do mobilní robotiky AIL028

Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

SLAM. Simultaneous localization and mapping. Ing. Aleš Jelínek 2015

CobiT. Control Objectives for Information and related Technology. Teplá u Mariánských Lázní, 6. října 2004

Návrhové vzory. Jakub Klemsa, Jan Legerský. 30. října Objektově orientované programování.

Rekurzivní sledování paprsku

Implementace OVZ. v investiční oblasti. Výjezdní workshop KrÚ JMK 20/8/2019

shine. light of change.

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Automatické měření veličin

Tým pro podporu akademické komunikace. Eva Dibuszová

Automatizace v silniční dopravě

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Téma 2: Pravděpodobnostní vyjádření náhodných veličin

Dynamické programování

Užitek a rozhodování

Dopravní inženýrství

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

Zabýváme se konstrukcí racionálních agentů.

Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X

Motivace. Vstup a výstup. Minimální komunikace. Motivace. ÚDPJ - Vstup a výstup. Ing. Lumír Návrat katedra informatiky, A

Neuronové časové řady (ANN-TS)

Optimalizace & soft omezení: algoritmy

Transkript:

Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Inteligentní agenti Připomeňme, že z různých pohledů na UI bude tato přednáška pokrývat racionální jednání, tj. zajímá nás výsledek řešení (ne postup řešení), který by měl být co nejlepší (ne nutně lidský) Budeme konstruovat racionální agenty Co je to agent? A co je racionální agent? V jakém prostředí se agent pohybuje? Jaké vlastnosti prostředí nás zajímají? Jaké vnitřní struktury agentů máme?

Agent Agent je cokoliv, co vnímá okolní prostředí prostřednictvím senzorů a ovlivňuje ho prostřednictvím akčních členů. Příklady: člověk oči, uši, nos, ruce, nohy, ústa, robot kamera, IR detektor, paže, kola, software klávesnice, pakety ze sítě obrazovka, pakety do sítě, Agent přesnp esněji Agent přijímá vjemy a jeho chování je plně určeno posloupností všech vjemů, které kdy přijal. Formálně tedy můžeme každého agenta popsat agentovou funkcí (tabulkou): V* A, kde V: množina vjemů, A: množina akcí Na základě chování agenta, můžeme sestavit jeho agentovou funkci (vnější charakteristika). tedy pokud můžeme agenta restartovat a máme nekonečný prostor pro zápis tabulky a také hodně času Tabulka je abstraktní matematický popis agenta. Interně ale bude chování agenta popsáno spíše agentovým programem. Program je konkrétní implementace agentovy funkce.

Agentova funkce: seznam vjemů akce (A,čisto) doprava (A,špína) vysaj (B,čisto) doleva (B,špína) vysaj (A,čisto), (A,čisto) doprava Příklad agenta Vysavač vjemy: místo (A,B) obsah (čisto,špína) akce: vysaj, doleva, doprava, nic Agentův program: if obsah=špína then vysaj else if místo=a then doprava else if místo=b then doleva Míra výkonu Jak správně vyplnit agentovu tabulku? aneb Co odlišujete dobrého agenta od špatného? Potřebujeme měřit míru výkonu agenta, tj. jak úspěšné je jeho chování a to pokud možno objektivně. Kdo určuje míru výkonu? tvůrce agenta Jak určit míru výkonu? Podle toho, jak chceme aby vypadalo prostředí agenta, spíše než podle toho, jak si myslíme, že se má agent chovat. Příklad (vysavač) míra výkonu: sesbírej co nejvíce špíny možný výsledek: vysaj, vysyp, vysaj, vysyp, míra výkonu (lépe): co největší čistá plocha

Racionáln lní agent Racionální agent je takový agent, který pro každou možnou posloupnost vjemů zvolí akci maximalizující očekávanou míru výkonu a to na základě údajů daných tou posloupností vjemů a vnitřních znalostí agenta. Pozor, neplést se vševědoucností! agent maximalizuje očekávanou míru výstupu vševědoucí maximalizuje skutečnou míru výstupu Racionální agent by měl být autonomní nespoléhá jen na znalosti dané tvůrcem, ale měl by se učit, aby kompenzoval předchozí částečné nebo špatné znalosti. Prostřed edí agenta Kromě senzorů, akčních členů a míry výkonu potřebujeme ještě prostředí, ve kterém se agent pohybuje. Příklad: automatický řidič taxi Agent Výkon Prostředí Akční členy Senzory řidič taxi bezpečnost rychlost legálnost pohodlí zisk silnice doprava chodci zákazník brzda volant plyn směrovka houkačka kamera sonar rychloměr GPS

Vlastnosti prostřed edí Plná (částečná) pozorovatelnost senzory poskytují úplný obraz prostředí Deterministické (stochastické) další stav prostředí je plně určen současným stavem a akcí agenta strategické = stav prostředí mění pouze další agenti Episodické (sekvenční) chování agenta lze rozdělit do epizod obsahujících po jedné akci, které jsou na sobě ale nezávislé (akce závisí pouze na dané epizodě) Statické (dynamické) statické prostředí se nemění zatímco agent přemýšlí semi-dynamické = prostředí se s časem nemění, ale míra výkonu ano Diskrétní (spojité) rozlišení dle stavu prostředí, měření času, schopností snímačů a akčních prvků Jeden agent (multi-agentní) Kdo musí být agent? Objekt maximalizující míru kvality, které závisí na daném agentovi. kompetitivní vs. kooperativní multi-agentní prostředí Příklady prostřed edí Prostředí Pozorovatel nost Determinismus Epizodické Statické Diskrétní Agenti Křížovka úplná deterministické sekvenční statické diskrétní jeden Šachy s hodinami úplná strategické sekvenční semi diskrétní multi Taxi částečná stochastické sekvenční dynamické spojité multi Analýza obrazů úplná deterministické epizodické semi spojité jeden Nejjednodušší prostředí plně pozorovatelné, deterministické, episodické, statické, diskrétní a jeden agent Nejsložitější prostředí (běžné reálné) částečně pozorovatelné, stochastické, sekvenční, dynamické, spojité a multi-agentní

Struktura agenta agent = architektura + program architektura = výpočtové zařízení s fyzickými senzory a akčními členy program = implementace agentovy funkce mapuje vjemy na akce přesněji řečeno, vstupem je jeden vjem (jediné, co je přímo dostupné z prostředí prostřednictvím čidel) pokud akce záleží na posloupnosti vjemů, musí si ji agent sám pamatovat samozřejmě program musí být vhodný pro danou architekturu! Table-driven Tabulkový agent Triviální agent, který udržuje seznam vjemů a používá ho jako index do tabulky s akcemi. function TABLE-DRIVEN_AGENT(percept) returns an action static: percepts, a sequence initially empty table, a table of actions, indexed by percept sequence append percept to the end of percepts action LOOKUP(percepts, table) return action Problémy: tabulka neúměrně velká (i pro agenta fungujícího omezený čas) tvůrce agenta nemá čas ji vyplnit agent se nemůže sám naučit celou správnou tabulku tvůrce agenta také neví jak tabulku vyplnit Takto to asi nepůjde!

Simple reflex Agent s reflexy Akce vybrána pouze na základě současného vjemu. Implementováno formou pravidel podmínka-akce (if obsah=špína then vysaj) Velká redukce možných situací vjem-akce (max. na počet vjemů) function SIMPLE-REFLEX-AGENT(percept) returns an action static: rules, a set of condition-action rules state INTERPRET-INPUT(percept) rule RULE-MATCH(state, rule) action RULE-ACTION[rule] return action Plně funguje pouze pro plně pozorovatelné prostředí, jinak může cyklit. Řešením může být randomizace výběru akcí. Model-based reflex Agent s modelem Problémy s částečně pozorovatelným světem lze řešit udržováním vnitřního stavu agenta. Udržujeme dva typy informací jak se svět vyvíjí (nezávisle na agentovi) jak agentovy akce ovlivňují svět Model světa function REFLEX-AGENT-WITH-STATE(percept) returns an action static: rules, a set of condition-action rules state, a description of the current world state action, the most recent action. state UPDATE-STATE(state, action, percept) rule RULE-MATCH(state, rule) action RULE-ACTION[rule] return action

Goal-based Agent s cílemc Zatím jsme se starali pouze o výběr další akce, ale ten také záleží na tom, co chce agent dosáhnout. Agent potřebuje cíl říkající, jaké situace jsou žádoucí. Základní změna je zahrnutí uvažování o budoucnosti. Hledáním (delší) posloupnosti akcí pro dosažení cíle se zabývá plánování. Řízení cílem je (zpravidla) méně efektivní než řízení reflexem, je ale více flexibilní. Utility-based Agent se žádostmi Cíle sami o sobě nestačí pro kvalitní chování (cíl splněn/nesplněn). Často je potřeba vyjádřit míru splnění či dosažení cíle nebo vybrat mezi různými i konfliktními cíli. Je možné mapovat stavy (nebo jejich posloupnosti) na reálná čísla určující míru žádoucnosti dosažení daného stavu. Agent se potom při výběru akce řídí i tím, jak je případně dosažitelný stav žádoucí.

Agent učícíu se Zatím jsme se zabývali výběrem akcí, ale odkud se berou programy pro výběr akcí? Jedna z možností je vytvořit stroje schopné se učit a potom je učit místo podávání instrukcí. Agent potom může pracovat i v původně neznámém prostředí. Všechny dosud zmíněné struktury agentů lze rozšířit na učící se agenty přidáním komponent pro učení: výkonný prvek původní agent, který vybírá akce učící se prvek vylepšuje program původního agenta kritika dává zpětnou vazbu, jak dobře se agent chová (senzory na to nestačí) generátor problémů navrhuje akce, které by mohly vést k nové zkušenosti (trochu experimentování)