Seminář z umělé inteligence. Otakar Trunda

Podobné dokumenty
PŘEDNÁŠKA 03 OPTIMALIZAČNÍ METODY Optimization methods

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Základy umělé inteligence

Algoritmizace prostorových úloh

Heuristiky, best-first search, A* search

Ant Colony Optimization 1 / 26

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

10. Složitost a výkon

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

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

11. Tabu prohledávání

ALGORITMY A DATOVÉ STRUKTURY

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

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

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

Úvod do optimalizace, metody hladké optimalizace

Ing. Tomáš MAUDER prof. Ing. František KAVIČKA, CSc. doc. Ing. Josef ŠTĚTINA, Ph.D.

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

OSA. maximalizace minimalizace 1/22

u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming

Algoritmy pro práci s neúplnou informací

Monte Carlo Tree Search. Marika Ivanová

Jak se matematika poučila v biologii

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Modelování a simulace Lukáš Otte

Static Load Balancing Applied to Time Dependent Mechanical Problems

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

7. Heuristické metody

Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Složitost her. Herní algoritmy. Otakar Trunda

State Space Search Step Run Editace úloh Task1 Task2 Init Clear Node Goal Add Shift Remove Add Node Goal Node Shift Remove, Add Node

Teorie rozhodování (decision theory)

Úvod do stochastických optimalizačních metod (metaheuristik) Moderní metody optimalizace 1

Varianty Monte Carlo Tree Search

Optimalizace & soft omezení: algoritmy

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Metaheuristiky s populacemi

Optimalizace obecný úvod. [proč optimalizovat?] Formalizace problému. [existují podobné problémy?]

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Hry a UI historie. von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon, přibližné vyhodnocování

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Plánování: reprezentace problému

Dynamické programování UIN009 Efektivní algoritmy 1

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

Markov Chain Monte Carlo. Jan Kracík.

Základy umělé inteligence

MOŽNOSTI OPTIMALIZACE VE STAVEBNICTVÍ

TGH06 - Hledání nejkratší cesty

Václav Jirchář, ZTGB

Osadníci z Katanu. a Monte Carlo Tree Search. David Pěgřímek. MFF UK (2013) 1 / 24

Kombinatorická minimalizace

Použití dalších heuristik

Obsah: CLP Constraint Logic Programming. u odpovědí typu A, B, C, D, E: jako 0)

Úvod do mobilní robotiky AIL028

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.

Časová a prostorová složitost algoritmů

VUT Brno Fakulta informačních technologií Simulační nástroje a techniky (SNT) 2014/2015 Vehicle routing problem Ant colony

07 Základní pojmy teorie grafů

TGH06 - Hledání nejkratší cesty

Optimizing Limousine Service with AI. David Marek

Využití metod strojového učení v bioinformatice David Hoksza

Otázky ke státní závěrečné zkoušce

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

Institut teoretické informatiky (ITI) na FI MU

Use of ant colony optimization for vehicle routing problem. Použití metody mravenčích kolonií pro úlohy okružních jízd

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

Plánování se stavovým prostorem

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

UNIVERZITA PARDUBICE

Dynamické rozvrhování

Vzdálenost uzlů v neorientovaném grafu

Multirobotická kooperativní inspekce

Úvod do teorie grafů

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

1. Prohledávání stavového prostoru

Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování.

Binární vyhledávací stromy pokročilé partie

Evoluční výpočetní techniky (EVT)

Cvičení MI-PRC I. Šimeček

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

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

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Heuristiky, best-first search, A* search.

Heuristiky, best-first search, A* search.

Heuristiky, best-first search, A* search.

Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41


Základní datové struktury

Časová složitost / Time complexity

Umělá inteligence a rozpoznávání

Rozvrhování výroby. František Koblasa Technická univerzita v Liberci. TU v Liberci

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Transkript:

Seminář z umělé inteligence Otakar Trunda

Plánování Vstup: Satisficing task: počáteční stav, cílové stavy, přípustné akce Optimization task: počáteční stav, cílové stavy, přípustné akce, ceny akcí Výstup: Satisficing task: posloupnost akcí, která vede ke splnění cíle Optimization task: posloupnost akcí, která vede ke splnění cíle a minimalizuje cenu plánu (součet cen akcí) Klasické plánování: Deterministický, plně pozorovatelný, statický svět Akce jsou okamžité Techniky jsou doménově nezávislé

Plánování Vstup: Satisficing task: počáteční stav, cílové stavy, přípustné akce Optimization task: počáteční stav, cílové stavy, přípustné akce, ceny akcí Výstup: Satisficing task: posloupnost akcí, která vede ke splnění cíle Optimization task: posloupnost akcí, která vede ke splnění cíle a minimalizuje cenu plánu (součet cen akcí) Klasické plánování: Deterministický, plně pozorovatelný, statický svět Akce jsou okamžité Techniky jsou doménově nezávislé

Plánovací problém formálně Stavy zadané jako hodnoty stavových proměnných: Množina stavových proměnných V = *v 1, v 2,, v n + Každá v i V má obor hodnot R i Množina stavů S = s s: V i R i s(v i ) R i + Přechody mezi stavy zadané jako povolené změny hodnot stavových proměnných: Množina operátorů O, pro každý operátor op O: prec op V R i i prec(op) v i R i eff op V R i i eff(op) v i R i

SAS+ formát Počáteční stav:

SAS+ formát Akce: (A3 = 7, B1 = 4) => (A3 = 1) (D3 = 2, D1 = 6) => (C5 = 1, B2 = 1) () => (C1 = 1) Cíl: D6 = 1

SAS+ formát Současný stav: Akce: (B4 = 1, C2 = 7) => C5 = 4

SAS+ formát Současný stav: Akce: (B4 = 1, C2 = 7) => C5 = 4

SAS+ formát Nový stav: Akce: (B4 = 1, C2 = 7) => C5 = 4

Příklady plánovacích problémů

Příklady plánovacích problémů Rubikova kostka Počáteční stav: Cílový stav: Přípustné akce:

Příklady plánovacích problémů Sokoban

Příklady plánovacích problémů FreeCell

Příklady plánovacích problémů Logistika

Příklady plánovacích problémů Plánování výroby

Populární plánovací algoritmy Informované dopředné prohledávání A* s heuristikou Hill-climbing s heuristikou Heuristická funkce odhad vzdálenosti do cíle

Použité značení s počáteční stav n vrchol stavového prostoru g(n) délka nejkratší cesty z s do n Je známá během prohledávání h * (n) délka nejkratší cesty z n do cíle Není známá během prohledávání h(n) heuristický odhad vzdálenosti do cíle f(n) ohodnocení stavu n

Algoritmus A* Udržuje prioritní frontu stavů Expanduje stav s nejnižším ohodnocením Ohodnocení stavu f(n) = g(n) + h(n) Pokud je použitá heuristika přípustná, vždy najde optimální řešení

Algoritmus A*

Vlastnosti heuristik Heuristika je přípustná pokud h(n) h * (n) Pokud h(n) = h * (n), pak vyřešíme problém v lineárním čase Polynomiální čas lze garantovat pokud h n h(n) O log h n h 1 dominuje h 2 pokud n h n h 1 n h 2 n Pokud h 1 dominuje h 2, pak A* při použití h 1 expanduje méně uzlů než při použití h 2 Čím větší je hodnota h(n) tím lépe (za předpokladu že je přípustná)

Heuristiky v prohledávání Doménově závislé heuristiky Např. pro Lloydovu patnáctku: h 1 = počet špatně umístěných kostiček h 2 = součet vzdáleností kostiček od jejich cílů Doménově nezávislé heuristiky Relaxace problému Odhad hodnoty řešení původního problému pomocí hodnoty řešení zjednodušeného problému Ignorování některých podmínek Abstrakce, Databáze vzorů

Heuristiky v plánování Používané techniky: Delete relaxace Kauzální graf Kritické cesty Landmarky Merge-and-shrink abstrakce Databáze vzorů Počítání kolikrát minimálně musím použít danou akci Mnoho dalších..

Plánovací domény Umělé ( toy problems ) Mohou obsahovat neodhalené slepé uličky a pasti Často je těžké najít jakýkoliv plán Sokoban Praktické Zahrnují optimalizaci Většinou je snadné najít suboptimální plán Optimalizace je hlavní problém Ohodnocení plánu může zahrnovat rozvrhování TSP s přidanými podmínkami

Optimalizační algoritmy Standardní metaheuristiky: Monte-Carlo Tree Search Genetické and evoluční algoritmy Particle Swarm Optimization, Ant Colony Optimization, Estimation of distribution algorithm,... Nové algoritmy: Cuckoo search, Firefly algorithm,... Nestandardní techniky: Hyper-heuristiky, Algorithm selection, Parameter tuning Machine learning

Optimalizační algoritmy v plánování Algoritmus pracuje na množině všech plánů P a minimalizuje účelovou funkci f Výhody: Robustnost nejsou potřeba informace o struktuře problému Časová a paměťová efektivita (ve srovnání s A*) Použitelné i pro vícekriteriární optimalizaci Nevýhody: Je třeba najít přípustná kandidátní řešení (plány) Efektivita silně závisí na tvaru účelové funkce Negarantují optimalitu

Optimalizační algoritmy v plánování Top-down přístup Algoritmus pracuje na množině všech plánů P a minimalizuje účelovou funkci f Předpoklady: Prvky P je možné jednoduše generovat Množina P je kompaktní f má vysokou lokalitu (je blízká spojité funkci)

Optimalizační algoritmy v plánování

Překonání překážek Použití technik pouze na vhodné domény! Předzpracování problému (např. nalezení meta-akcí) Penalizace nepřípustných řešení pomocí heuristiky Umožňuje využít mocné nástroje klasického plánování Využití reprezentací zachovávajících lokalitu, náhradních modelů nebo hyper-heuristik Například posloupnosti hladových kroků podle různých heuristik

Hyper-heuristiky

Algoritmus MCTS Anytime stochastický optimalizační algoritmus Stromové prohledávání Náhodné vzorkování namísto ohodnocovací funkce Postupně staví asymetrický strom Skvělé výsledky v oblasti hraní her (Go, Hex, SameGame)

MCTS tvar stromu

MCTS v plánování Možné problémy ve fázi simulace Žádné omezení na délku simulace Zacyklení v průběhu simulace Slepé uličky a komponenty

Doménová (ne)závislost? Všechny problémy je možné řešit stejným algoritmem Doménově závislé techniky jsou vždy efektivnější Jak formálně popsat doménově závislou informaci? Algorithm selection, hyper heuristics, parameter tuning, portfolios Autonomous search

Pomocná informace t plánovací problém S množina všech sekvencí akcí P S množina všech plánů f: P R účelová funkce time(t,h) kolik času vyžaduje řešení t s pomocnou informací h H množina přípustných hodnot pro h find(h) čas pro nalezení správného h v H Příklad: automatická tvorba databází vzorů

Autonomní prohledávání Efektivní předzpracování: find(h) + time(t,h) < time(t, NoHelp) Autonomní prohledávání kombinuje hledání h s hledáním řešení (s využitím h) Parameter tuning, parameter control

Databáze vzorů Vzor S = množna proměnných S Var Plánovací problém P S indukovaný vzorem S Proměnné: S Počáteční a cílový stav: stejné jako původní, omezené na množinu S Akce: stejné jako původní, z předpokladů a efektů odstraníme všechny proměnné mimo S P S vyřešíme hrubou silou pro všechny stavy Najdeme skutečnou vzdálenost do cíle v P S Pro všechny stavy pomocí zpětného prohledávání Hodnoty uložíme do databáze

PDB na příkladu: Rubikova kostka Jak získat odhad vzdálenosti? Jak daleko??

PDB na příkladu: Rubikova kostka Udělejme abstrakci Jak daleko??

PDB na příkladu: Rubikova kostka abychom dostali menší problém Jak daleko??

PDB na příkladu: Rubikova kostka Vyřešme menší problém Jak daleko?? Je to 8!

PDB na příkladu: Rubikova kostka Použijeme toto řešení jako odhad: Je to aspoň 8! Je to 8!

Příklad stavový prostor

Prostor indukovaný vzorem - ekvivalence stavů

Prostor indukovaný vzorem - zjednodušení akcí

Prostor indukovaný vzorem - skutečná podoba

Vzory jako heuristika h S - heuristika indukovaná vzorem S t stav původního prostoru t S - stav t omezený na množinu S h S t = délka nejkratší cesty z t S do cíle v P S Vlastnosti heuristiky: h S je přípustná h = 0, h Var = h S 1 S 2 h S1 h S2 h S je spočitatelná v konstantním čase Ale vytvoření databáze nějaký čas trvá Paměťová náročnost: Dom v i v i S

Hledání vzorů Jak vybrat množinu vzorů S i tak, aby Databáze z S i se vešla do paměti Heuristika h Si byla co nejinformovanější Těžký optimalizační problém Správné vzory můžou výrazně zrychlit prohledávání Velký prohledávaný prostor Obtížně vyčíslitelná ohodnocovací funkce Používané techniky: Náhodná volba, případaně jednoduchá heuristika Asistence experta na danou doménu Lokální prohledávání, evoluční algoritmy

Experiment: Vliv vzorů na rychlost prohledávání

Jaké vzory zvolit? Záleží na tom? Ano! Nejlepší vzor: Čas pro vytvoření: 1,77 sec, čas hledání: 4.34 sec Nejhorší vzor: Čas pro vytvoření : 79.44 sec, čas hledání : 13.47 sec Slepé prohledávání Čas pro vytvoření : 0 sec, čas hledání: 58.88 sec

Další cíle výzkumu Kombinace standardních plánovacích algoritmů s optimalizačními technikami 1. Rozdělení výpočetního času 2. Objektivní funkce ve fázi předzpracování 3. Simulace v MCTS 4. Kombinační operátory, které vytvářejí přípustná řešení 5. Celkový návrh plánovače založeného na hyper-heuristice

MCTS jako hyper-heuristika

Děkuji za pozornost