Plánování se stavovým prostorem
|
|
- Miloš Vávra
- před 7 lety
- Počet zobrazení:
Transkript
1 Plánování se stavovým prostorem 22. března Opakování: plánovací problém a reprezentace 2 Dopředné plánování 3 Zpětné plánování 4 Doménově závislé plánování Zdroj: Roman Barták, přednáška Plánování a rozvrhování, Matematicko-fyzikální fakulta, Karlova univerzita v Praze, http: // kti. ms. mff. cuni. cz/ ~bartak/ planovani
2 Opakování Plánovací problém P je trojice (Σ, s 0, g): Σ je plánovací doména popisující stavy a akce (přechody mezi stavy) s 0 je počáteční stav g charakterizuje cílové stavy Množinová reprezentace problému stav je množina výroků akce trojice množin výroků (precond, effects, effects + ) pokud precond s, přejdeme do stavu (s effects ) effects + Klasická reprezentace problému stav je množina instanciovaných atomů akce trojice (name, precond, effects), kde precond a effects jsou množiny literálů pokud precond + s precond s =, přejdeme do stavu (s effects ) effects + Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
3 Domácí úkol Navrhněte množinovou a klasickou reprezentaci pro svět kostek. Svět kostek (the blocks world) nekonečně velký stůl, konečný počet kostek poloha kostky na stole nás nezajímá kostka může ležet buď na stole nebo na jiné kostce při plánování chceme přesouvat kostky tak, že v dané chvíli můžeme držet maximálně jednu kostku Příklad: Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
4 Svět kostek: klasická reprezentace Konstanty Predikáty bloky: a,b,c,d,e ontable(x) kostka x je na stole on(x,y) kostka x je na kostce y clear(x) kostka x na sobě nic nemá holding(x) robotova ruka drží kostku x handempty robotova ruka nic nedrží Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
5 Svět kostek: množinová reprezentace Výroky pro 5 kostek máme 36 výroků ontable-a (5x) kostka a je na stole on-c-a (20x) kostka c je na kostce a clear-c (5x) kostka c na sobě nic nemá holding-d (5x) robotova ruka drží kostku d handempty (1x) robotova ruka nic nedrží Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
6 Plánování se stavy Prohledávaný prostor odpovídá stavovému prostoru plánovacího problému uzly odpovídají stavům hrany odpovídají stavovým přechodům pomocí akcí cílem je najít cestu mezi počátečním stavem a některým koncovým stavem Typy prohledávání dopředné (forward search) zpětné (backward search) liftovaná verze STRIPS problémově závislé (svět kostek) Poznámka: algoritmy budeme uvádět pro klasickou reprezentaci Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
7 Dopředné plánování Začínáme v počátečním stavu a jdeme k některému cílovému stavu Je potřeba umět: rozhodnout, zda je daný stav cílový nebo ne najít množinu akcí aplikovatelných na daný stav vypočítat stav, do kterého se dostaneme aplikací akce Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
8 Algoritmus dopředného plánování vstup: (O, s 0, g) Pozn. používáme spojení plánů, např. π 1.π 2, a.π, π.a s = s 0 ; π = prázdný plán; loop if s splňuje g then return π; E = {a a je instance operátoru v O bez proměnných a precond(a) je pravdivé v s}; if E = then return failure; nedeterministicky vyber akci a E; s = γ(s, a); π = π.a; (π rozšíříme o a) Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
9 Dopředné plánování: příklad {belong(crane1, loc1), adjacent(loc2,loc1), holding(crane1,c3), unloaded(r1), at(r1,loc2), occupied(loc2),...} a occupied(loc1) nepatří do tohoto stavu move(r1, loc2, loc1) {belong(crane1, loc1), adjacent(loc2,loc1), holding(crane1,c3), unloaded(r1), at(r1,loc1), occupied(loc1),...} load(crane1, loc1, c3, r1) {belong(crane1, loc1), adjacent(loc2,loc1), empty(crane1), loaded(r1,c3), at(r1,loc1), occupied(loc1),...} Cíl = {at(r1, loc1) loaded(r1, c3)} splněn Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
10 Dopředné plánování: vlastnosti Procedura dopředného plánování je korektní pokud vrátí nějaký plán, potom je řešením stačí si uvědomit, že s = γ(s 0, π) Procedura dopředného plánování je úplná pokud existuje plán, potom ho alespoň jedna z nedeterministických větví najde indukcí podle délky plánu v každém kroku má algoritmus šanci zvolit správnou akci (pokud v přechozích krocích volil akce z plánu) Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
11 Deterministické implementace Algoritmus dopředného prohledávání můžeme implementovat deterministicky: prohledávání do šířky korektní, úplné, ale paměťově náročné prohledávání do hloubky korektní, úplnost lze zajistit kontrolou cyklů (stav se na cestě neopakuje) A* algoritmus nejčastěji používaný přístup je třeba vhodná heuristika, která směruje k nalezení kvalitního řešení v daném uzlu stromu odhadujeme celkovou cenu jako f (n) = g(n) + h(n) a jdeme větví s minimálním odhadem g(n) aktuální cena uzlu (např. dosavadní délka cesty) h(n) odhad ceny pro výpočet úplného řešení (heuristika) přípustná heuristika: cena nikdy nenadhodnocena př. vzdálenost přímé cesty z aktuálního bodu do cíle podrobně viz např. PB016 Umělá inteligence I Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
12 Větvení V čem je problém dopředného prohledávání? Vysoký větvící faktor: počet možností k výběru Řešení to vadí u determinismu, který může ztrácet čas zkoušením irelevantních akcí heuristika doporučující výběr akce ořezání prohledávacího prostoru Např. pokud plány π 1 a π 2 dosáhly stejného stavu, potom víme, že také plány π 1 π 3 a π 2 π 3 dosáhnou stejného stavu. Delší z plánů π 1 a π 2 tedy nemusíme rozvíjet. Je potřeba pamatovat si všechny navštívené stavy. Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
13 Zpětné plánování Začínáme s cílem (pozor to není stav, ale reprezentace množiny stavů!) a jdeme přes podcíle k počátečnímu stavu Je potřeba umět: zjistit, zda daný stav odpovídá cíli pro daný cíl najít relevantní akce vypočítat podcíl umožňující aplikovat danou akci Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
14 Zpětné plánování: relevantní akce Příklad: cíl: {on(a,b), on(b,c)} akce stack(a,b) je relevantní její zpětnou aplikací dostaneme nový cíl: {holding(a), clear(b), on(b,c)} Akce a je relevantní pro cíl g právě když: akce přispívá do g: g effects(a) efekty akce nejsou v konfliktu s g: g effects + = g + effects = Regresní (zpětná) množina cíle g pro (relevantní) akci a: γ 1 (g, a) = (g effects(a)) precond(a) Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
15 Algoritmus zpětného plánování vstup: (O, s 0, g) π = prázdný plán; loop if s 0 splňuje g then return π; A = {a a je instance operátoru v O bez proměnných a γ 1 (g, a) je definováno}; if A = then return failure; nedeterministicky vyber akci a A; π = a.π; g = γ 1 (g, a); Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
16 Zpětné prohledávání: příklad Cíl = {at(r1, loc1), loaded(r1,c3)} load(crane1, loc1, c3, r1) {at(r1, loc1), belong(crane1, loc1), holding(crane1, c3), unloaded(r1)} move(r1, loc2, loc1) {belong(crane1, loc1), holding(crane1,c3), unloaded(r1), adjacent(loc2, loc1), at(r1, loc2), occupied(loc1)} Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
17 Zpětné prohledávání: vlastnosti Procedura zpětného prohledávání je korektní a úplná Můžeme ji implementovat deterministicky pro úplnost potřebujeme detekci cyklů mějme (g 1,..., g k ) posloupnost cílů: pokud i < k g i g k, pak můžeme prohledávání této cesty ukončit Větvení může být menší než u prohledávání dopředu (zacílení) pořád ale zbytečně velké Chceme-li, aby byl robot v pozici loc51, do které existují cesty z loc1,..., loc50, dostaneme 50 možných podcílů. Nám je ale pro splnění cíle jedno, odkud robot příjel! Částečné instanciování akcí (místo úplného) dále zmenší velikost větvení, tzv liftování (lifting). Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
18 Zpětné plánování: liftovaná verze vstup: (O, s 0, g) π = prázdný plán; loop if s 0 splňuje g then return π; A = {(o, θ) o vznikne přejmenováním proměnných operátoru v O, substituce θ je MGU atomu v g a atomu v effects(o), a γ 1 (θ(g), θ(o)) je definováno}; if A = then return failure; nedeterministicky vyber pár (o, θ) A; π = spojení θ(o) a θ(π); g = γ 1 (θ(g), θ(o)); Poznámky: o je kopie operátoru s přejmenovanými (=novými) proměnnými MGU = největší společný unifikátor, tj. nejobecnější substituce atomů použití volných proměnných zmenšuje větvení, ale komplikuje detekci cyklů Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
19 Zpětné plánování v liftované verzi: příklad Cíl: at(robot,loc1) Operátor: move(r, l, m) precond: adjacent(l, m), at(r, l), occupied(m) effects: at(r, m), occupied(m), occupied(l), at(r, l) Akce: move(robot, l, loc1) l =? (příliš mnoho voleb zvětšuje faktor větvení) Vstup (O, s 0, g) = ({move(r, l, m)}, s 0, {at(robot,loc1)}) s 0 nesplňuje cíl Prvek A: (o, θ) = (move(r 1, l 1, m 1 ),{r 1 robot, m 1 loc1}) θ je MGU atomu v cíli at(robot,loc1) a atomu at(r 1, l 1 ) v effects(o) Plán π = move(robot,l 1,loc1) g = γ 1 (θ(g), θ(o)) = {adjacent(l 1,loc1), at(robot,l 1 ), occupied(loc1)} Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
20 STRIPS Dosud probrané plánovací algoritmy sdílejí stejný problém jak zlepšit efektivitu redukcí prohledávacího prostoru STRIPS algoritmus redukuje prohledávaný prostor zpětného plánování, a to takto: z podcílů řeší vždy jen část odpovídající předpokladům poslední přidané akce tj. místo γ 1 (s, a) se jako nový cíl pužije precond(a) vede k neúplnosti algoritmu pokud aktuální stav splňuje všechny předpoklady operátoru, daný operátor se použije a tento závazek nebude rušen při backtrackingu Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
21 STRIPS algoritmus Originální algoritmus STRIPS je liftovanou verzí níže popsaného algoritmu function Ground-STRIPS(O, s, g) π = prázdný plán; loop if s splňuje g then return π; A = {a a je instance operátoru v O bez proměnných a a je relevantní pro g}; if A = then return failure; nedeterministicky vyber akci a A; π = Ground-STRIPS(O, s, precond(a)); if π = failure then return failure; (pokud jsme zde, pak π dosáhlo precond(a) z s) s = γ(s, π ); (s nyní splňuje precond(a)) s = γ(s, a); π = π.π.a; g 2 = (g (effects)(a 2 )) precond(a 2 ) π = a 6, a 4 je plán pro cíl precond(a 2 ) s = γ(γ(s 0, a 6 ), a 4 ) je stav splňující precond(a 2 ) Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
22 Sussmanova anomálie Pravděpodobně nejznámější problém, který STRIPS neumí efektivně řešit (najde pouze redundantní plány) Svět kostek Plán vytvořený STRIPSem může vypadat takto: unstack(c,a), putdown(c), pickup(a), stack(a,b) unstack(a,b), putdown(a), pickup(b), stack(b,c) pickup(a), stack(a,b) nyní jsme splnili cíl on(a,b) nyní jsme splnili cíl on(b,c), ale musíme se vrátit k on(a,b) podtržené akce se mohou vyřadit Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
23 Jak na svět kostek? Řešení Sussmanovy anomálie prolínání plánů plánování v prostoru plánů použití doménově závislé informace Kdy má problém ve světě kostek řešení? v cíli nesmí být kostky, které nejsou v počátečním stavu kostka nesmí najednou stát na dvou jiných kostkách... Jak to řešení najdeme? Celkem snadno a rychle! dámě všechny kostky (samostatně) na stůl postavíme požadované věže S dalšími znalostmi to můžeme udělat ještě lépe! Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
24 Doménové znalosti (pro svět kostek) Kdy musíme pohnout kostkou x? Pokud platí některé z následujícího: s obsahuje ontable(x) a g obsahuje on(x,y) s obsahuje on(x,y) a g obsahuje ontable(x) s obsahuje on(x,y) a g obsahuje on(x,z) pro nějaké y z s obsahuje on(x,y) a y se musí pohnout Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
25 Doménově specifický algoritmus procedure Block-stacking loop if existuje volný blok x tak, že x se musí přesunout and x lze přesunout na místo, ze kterého ho už nemusíme přesouvat then přesuň x na toto místo else if existuje volný blok x tak, že x se musí přesunout then přesuň x na stůl else if cíl splněn then return plán else return failure Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
26 Vlastnosti algoritmu Korektní, úplný, garance ukončení Časová složitost O(n 3 ) lze modifikovat s výslednou složitostí O(n) Často nalezne optimální (nejkratší) řešení delka plánu pro svět kostek je NP-úplná Hana Rudová, FI MU IV126: Plánování se stavovým prostorem března 2018
Plánování: reprezentace problému
Plánování: reprezentace problému 15. března 2018 1 Úvod 2 Konceptuální model 3 Množinová reprezentace 4 Klasická reprezentace Zdroj: Roman Barták, přednáška Plánování a rozvrhování, Matematicko-fyzikální
Plánováníá a rozvrhování
Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Co nás čeká? Plánování, konečně! Klasické plánování Konceptuální model Reprezentace problému Plánovací
Plánování v prostoru plánů
Plánování v prostoru plánů 5. dubna 2018 Zdroj: Roman Barták, přednáška Umělá inteligence II, Matematicko-fyzikální fakulta, Karlova univerzita v Praze, 2014. http: // kti. ms. mff. cuni. cz/ ~bartak/
Obsah. 16. dubna Koncepční model STRIPS PDDL. Stavový prostor. Plánovací grafy CVUT FEL, K Reprezentace
Klasické plánování Radek Mařík CVUT FEL, K13133 16. dubna 24 Radek Mařík (marikr@felk.cvut.cz) Klasické plánování 16. dubna 24 1 / 77 Obsah 1 Pojem plánování Definice Koncepční model Typologie plánovačů
Základy umělé inteligence
Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v
Ú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ů
Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému
Optimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
Plánováníá a rozvrhování
Plánováníá rozvrhování Romn Brták, KTIML romn.rtk@mff.uni.z z http://ktiml.mff.uni.z/~rtk N úvod Plánoví prolém P je trojie (Σ,s 0,g) Σ je plánoví domén popisujíí stvy ke (přehody ř mezi stvy) s 0 je počáteční
Plánováníá a rozvrhování
Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Na úvod Dosud prezentované plánovací systémy používaly adhoc algoritmy, tj. speciální plánovací
"Agent Hledač" (3. přednáška)
"Agent Hledač" (3. přednáška) Přehled 3. přednášky v této přednášce se budeme zabývat "goal-based" agenty Přehled 3. přednášky v této přednášce se budeme zabývat "goal-based" agenty připomeňme, že "goal-based"
Seminář z umělé inteligence. Otakar Trunda
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:
Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague
Neinformované metody prohledávání stavového prostoru Michal Pěchouček Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague http://labe.felk.cvut.cz/~ tkrajnik/kui2/data/k333/1.pdf
Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]
Hanojská věž zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah je lepší? (co je lepší tah?) P. Berka, 2012 1/21 Stavový prostor 1. množina stavů S = {s} 2. množina přechodů
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.
Umělá inteligence II Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Dnešní program Agent pracující v částečně pozorovatelném prostředí udržuje na základě senzorického modelu
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
Úvod do Prologu 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 Warren (Warren Abstract Machine) implementace
Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
Dynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
Hledáme efektivní řešení úloh na grafu
Hledáme efektivní řešení úloh na grafu Mějme dán graf následující úlohy: G = ( V, E), chceme algoritmicky vyřešit Je daný vrchol t dosažitelný z vrcholu s? Pokud ano, jaká nejkratší cesta tyto vrcholy
Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C
Hanojské věže - 3 kolíky A, B, C - na A je N disků různé velikosti, seřazené od největšího (dole) k nejmenšímu (nahoře) - kolíky B a C jsou prázdné - úkol: přenést všechny disky z A na B, mohou se odkládat
Třídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
Základy umělé inteligence
Základy umělé inteligence Hraní her (pro 2 hráče) Základy umělé inteligence - hraní her. Vlasta Radová, ZČU, katedra kybernetiky 1 Hraní her (pro dva hráče) Hraní her je přirozeně spjato s metodami prohledávání
Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p
Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah
a4b33zui Základy umělé inteligence
LS 2011 Jméno: a4b33zui Základy umělé inteligence 10.6.2011 O1 O2 O3 O4 O5 Total (50) Instrukce: Na vypracování máte 90 min, můžete použít vlastní materiály nebo poznámky. Použití počítače nebo mobilního
Obsah: Problém osmi dam
Prohledávání stavového prostoru leš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: Problém osmi dam Prohledávání stavového prostoru Neinformované prohledávání Úvod do umělé inteligence
Neinformované metody prohledávání stavového prostoru Michal Pěchouček, Milan Rollo. Department of Cybernetics Czech Technical University in Prague
Neinformované metody prohledávání stavového prostoru Michal Pěchouček, Milan Rollo Department of Cybernetics Czech Technical University in Prague http://cw.felk.cvut.cz/doku.php/courses/a3b33kui/start
Logika a logické programování
Logika a logické programování témata ke zkoušce Poslední aktualizace: 16. prosince 2009 Zkouška je písemná, skládá se obvykle ze sedmi otázek (může být více nebo méně, podle náročnosti otázek), z toho
ALGORITMY A DATOVÉ STRUKTURY
Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu
10. Složitost a výkon
Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 10 1 Základy algoritmizace 10. Složitost a výkon doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Jiří
Modely Herbrandovské interpretace
Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší
Umělá inteligence I. Roman Barták, KTIML. roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak
Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na úvod Agent s reflexy pouze převádí současný vjem na jednu akci. Agent s cílem umí plánovat několik akcí
Výroková a predikátová logika - V
Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský
TGH09 - Barvení grafů
TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít
NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
NEJKRATŠÍ CESTY I Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 7 Evropský sociální fond Praha & EU: Investujeme do vaší
Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu
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
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,
[161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p
Metody návrhu algoritmů, příklady. IB111 Programování a algoritmizace
Metody návrhu algoritmů, příklady IB111 Programování a algoritmizace 2011 Návrhu algoritmů vybrané metody: hladové algoritmy dynamické programování rekurze hrubá síla tato přednáška: především ilustrativní
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Prohledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012
Obecná informatika Přednášející Putovních přednášek Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Podzim 2012 Přednášející Putovních přednášek (MFF UK) Obecná informatika Podzim 2012 1 / 18
NP-úplnost problému SAT
Problém SAT je definován následovně: SAT(splnitelnost booleovských formulí) Vstup: Booleovská formule ϕ. Otázka: Je ϕ splnitelná? Příklad: Formule ϕ 1 =x 1 ( x 2 x 3 )jesplnitelná: např.přiohodnocení ν,kde[x
Logické programy Deklarativní interpretace
Logické programy Deklarativní interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 7 1 Algebry. (Interpretace termů) Algebra J pro jazyk termů L obsahuje Neprázdnou
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
Výroková a predikátová logika - III
Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 204 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
u odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming
Průběžná písemná práce Průběžná písemná práce Obsah: Průběžná písemná práce Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ délka pro vypracování: 25 minut nejsou povoleny žádné materiály
Aproximativní algoritmy UIN009 Efektivní algoritmy 1
Aproximativní algoritmy. 14.4.2005 UIN009 Efektivní algoritmy 1 Jak nakládat s NP-těžkými úlohami? Speciální případy Aproximativní algoritmy Pravděpodobnostní algoritmy Exponenciální algoritmy pro data
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
Binární vyhledávací stromy II
Binární vyhledávací stromy II doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 19. března 2019 Jiří Dvorský (VŠB TUO) Binární vyhledávací
DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU
ČVUT V PRAZE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ JAN SCHMIDT A PETR FIŠER MI-PAA DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU EVROPSKÝ SOCIÁLNÍ FOND PRAHA A EU: INVESTUJEME DO VAŠÍ BUDOUCNOSTI Dynamické programování
Pravidlové znalostní systémy
Pravidlové znalostní systémy 31. října 2017 2-1 Tvary pravidel Pravidla (rules) mohou mít například takovéto tvary: IF předpoklad THEN závěr IF situace THEN akce IF podmínka THEN závěr AND akce IF podmínka
Usuzování za neurčitosti
Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
Matice sousednosti NG
Matice sousednosti NG V = [ v ij ] celočíselná čtvercová matice řádu U v ij = ρ -1 ( [u i, u j ] )... tedy počet hran mezi u i a u j?jaké vlastnosti má matice sousednosti?? Smyčky, rovnoběžné hrany? V
Plánováníá a rozvrhování. časem
Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Plánování á s časem Přístupy Plánování s časovými ý operátory Při popisu akce říkáme, kdy mají
Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1
Projektový seminář 1 Základní pojmy Tah = přemístění figury hráče na tahu odpovídající pravidlům dané hry. Při tahu může být manipulováno i s figurami soupeře, pokud to odpovídá pravidlům hry (např. odstranění
Základní datové struktury III: Stromy, haldy
Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní
Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest
Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem
TGH06 - Hledání nejkratší cesty
TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 26. března 2013 Motivační problémy Silniční sít reprezentovaná grafem. Najdi nejkratší/nejrychlejší cestu z místa A do místa
Umělá inteligence I. Roman Barták, KTIML.
Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na úvod Neinformované (slepé) prohledávání umí najít (optimální) řešení problému, ale ve většině případů
Stromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
Hry a UI historie. von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon, přibližné vyhodnocování
Hry a UI historie Hry vs. Prohledávání stavového prostoru Hry a UI historie Babbage, 1846 počítač porovnává přínos různých herních tahů von Neumann, 1944 algoritmy perfektní hry Zuse, Wiener, Shannon,
Plánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly
Plánování proektu 3. dubna 2018 1 Úvod 2 Reprezentace proektu 3 Neomezené zdroe 4 Variabilní doba trvání 5 Přidání pracovní síly Problémy plánování proektu Zprostředkování, instalace a testování rozsáhlého
Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost
1 Složitost 1.1 Operační a paměťová složitost Nezávislé určení na konkrétní implementaci Několik typů operací = sčítání T+, logické T L, přiřazení T A(assign), porovnání T C(compare), výpočet adresy pole
NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
NP-ÚPLNÉ PROBLÉMY Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2010/2011, Lekce 13 Evropský sociální fond Praha & EU: Investujeme do
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
TGH06 - Hledání nejkratší cesty
TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 31. března 2015 Motivační problémy Silniční sít reprezentovaná grafem. Ohodnocené hrany - délky silnic. Najdi nejkratší/nejrychlejší
Výroková a predikátová logika - X
Výroková a predikátová logika - X Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - X ZS 2015/2016 1 / 22 Herbrandova věta Úvod Redukce nesplnitelnosti na
Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Úvod stránky předmětu: https://cw.felk.cvut.cz/doku.php/courses/a4b33alg/start cíle předmětu Cílem je schopnost samostatné implementace různých variant základních
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.
1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste
TGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
Hraní her. (Teorie a algoritmy hraní her) Řešení úloh hraní her. Václav Matoušek /
Hraní her (Teorie a algoritmy hraní her) 8. 3. 2019 2-1 Hraní her pro dva a více hráčů Počítač je při hraní jakékoli hry: silný v komplikovaných situacích s množstvím kombinací, má obrovskou znalost zahájení
Programování. s omezujícími podmínkami. Roman Barták. rová hranová konzistence
Programování s omezujícími podmínkami Roman Barták Katedra teoretické informatiky a matematické logiky roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Směrov rová hranová konzistence Definice:
Algoritmizace. 1. Úvod. Algoritmus
1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá
Umělá inteligence I. Roman Barták, KTIML.
Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na úvod Zatím pro nás byl model světa černou skříňkou, ke které přistupujeme pouze přes: funkci následníka
Optimizing Limousine Service with AI. David Marek
Optimizing Limousine Service with AI David Marek Airport Limousine Services Ltd. (ALS) Jedna z největších firem zajišťujících dopravu v Hong Kongu Luxusní limuzíny a kyvadlová doprava 24 hodin denně 2
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 19. září 2017 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
SLD-derivace. Petr Štěpánek. S využitím materiálu Krysztofa R. Apta
SLD-derivace Petr Štěpánek S využitím materiálu Krysztofa R. Apta 2006 Logické programování 5 1 Při systematickém studiu SLD-derivací je užitečné využít rezultanty a přiřadit je k SLD-derivačním krokům
B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11
333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8]
Použití dalších heuristik
Použití dalších heuristik zkracování cesty při FIND-SET UNION podle hodností Datové struktury... p[x] - předchůdce uzlu x MAKE-SET(x) p[x] := x hod[x] := 0 hod[x] - hodnost (aprox. výšky) UNION(x,y) LINK(FIND-SET(x),
Implementace LL(1) překladů
Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku
B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11
Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8] count=0 for i in range(1,len(data)):
holding(gold, now) Situace jsou propojeny predikátem result(a, s), který definuje výsledek akce a v situaci s.
Plánování Máme stavy, operátory, počátek, cíl. Otázka zní, jak použít operátory, abychom dosáhli stavu, který je cílový. Už známe: Prohledávání stavového prostoru. Situační kalkul - popíši svět v logice
Složitost. Teoretická informatika Tomáš Foltýnek
Složitost Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika 2 Opakování z minulé přednášky Co říká Churchova teze? Jak lze kódovat Turingův stroj? Co je to Univerzální
Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. ledna 2017
Vytěžování dat Filip Železný Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. ledna 2017 Rozhodovací pravidla Strom lze převést na seznam pravidel ve tvaru if podmínky then třída if teplota=horečka
Výroková a predikátová logika - XII
Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2018/2019 1 / 15 Rezoluční metoda v PL Rezoluční důkaz Obecné
PROBLÉM OSMI DAM II. Problém osmi dam. Obsah:
Úvod do umělé inteligence RÉ S úkol: Rozestavte po šachovnici 8 dam tak, aby se žádné dvě vzájemně neohrožovaly. -mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ bsah: rohledávání do hloubky rohledávání
Úvod do teorie grafů
Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle
A4B33ZUI Základy umělé inteligence
LS 2014 Jméno: A4B33ZUI Základy umělé inteligence 11. 6. 2014 O1 O2 O3 O4 O5 Total (50) Instrukce: Na vypracování máte 150 min, můžete použít vlastní poznámky v podobě ručně popsaného listu A4. Použití
Unbounded Model Checking
Unbounded Model Checking Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 25. října 2011 Evropský sociální fond Praha & EU: Investujeme do
Systém přirozené dedukce výrokové logiky
Systém přirozené dedukce výrokové logiky Korektnost, úplnost a bezespornost Šárka Vavrečková Ústav informatiky, FPF SU Opava Poslední aktualizace: 6. října 2008 Věta o korektnosti Věta (O korektnosti Systému
OPPA European Social Fund Prague & EU: We invest in your future.
OPPA European Social Fund Prague & EU: We invest in your future. Plánování s nejistotou Antonín Komenda 33PAH - 19.3.2012 Doménově nezávislé plánování plánovací problém plánovací doména instance plánovacího
Expertní systémy. 1. Úvod k expertním systémům. Cíl kapitoly:
Expertní systémy Cíl kapitoly: Úkolem této kapitoly je pochopení významu expertních systémů, umět rozpoznat expertní systémy od klasicky naprogramovaných systémů a naučit se jejich tvorbu a základní vlastnosti.
Binární vyhledávací stromy pokročilé partie
Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald
Na začátku rozdělíme práci a určíme, které podproblémy je potřeba vyřešit. Tyto
Kapitola 1 Rozděl a panuj Rozděl a panuj je programovací metoda. Často se označuje latinsky Divide et Empera nebo anglicky Divide and Conquer. Vychází z toho, že umíme zadaný problém rozložit na menší
Logické programování
30. října 2012 Osnova Principy logického programování 1 Principy logického programování 2 3 1 Principy logického programování 2 3 Paradigmata programování Strukturované programování Procedurální programování
Principy indukce a rekursivní algoritmy
Principy indukce a rekursivní algoritmy Jiří Velebil: A7B01MCS 19. září 2011: Indukce 1/20 Příklad Místností rozměru n budeme rozumět šachovnici rozměru 2 n 2 n, ze které je jedno (libovolné) pole vyjmuto.
Je n O(n 2 )? Je n 2 O(n)? Je 3n 5 +2n Θ(n 5 )? Je n 1000 O(2 n )? Je 2 n O(n 2000 )? Cvičení s kartami aneb jak rychle roste exponenciála.
Příklady: Je n O(n 2 )? Je n 2 O(n)? Je 3n 5 +2n 3 +1000 Θ(n 5 )? Je n 1000 O(2 n )? Je 2 n O(n 2000 )? Cvičení s kartami aneb jak rychle roste exponenciála. Další pojmy složitosti Složitost v nejlepším