3. Problémy s omezujícími podmínkami (CSP Constraint Satisfaction Problems)

Podobne dokumenty
Obsah: CLP Constraint Logic Programming. Úvod do umělé inteligence 6/12 1 / 17

1 Soustava lineárních rovnic

MATEMATIKA 3. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Linea rnı (ne)za vislost

Necht je funkce f spojitá v intervalu a, b a má derivaci v (a, b). Pak existuje bod ξ (a, b) tak, že f(b) f(a) b a. Geometricky

Numerické metody 8. května FJFI ČVUT v Praze

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35


Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou.

Kristýna Kuncová. Matematika B2 18/19

Co nám prozradí derivace? 21. listopadu 2018

Numerické metody minimalizace

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18

Edita Pelantová, katedra matematiky / 16

Úvodní informace. 18. února 2019

Kristýna Kuncová. Matematika B2

Shrnutí. Vladimír Brablec

Diferenciální rovnice základní pojmy. Rovnice se

Matematika (KMI/PMATE)

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze

Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Vysvětlování modelovacích chyb 133 / 156

Cauchyova úloha pro obyčejnou diferenciální rovnici

Funkce zadané implicitně. 4. března 2019

Ústav teorie informace a automatizace. Tato prezentace je k dispozici na:

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Powyższe reguły to tylko jedna z wersji gry. Istnieje wiele innych wariantów, można też ustalać własne zasady. Miłej zabawy!

Automatové modely. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Inverzní Z-transformace

Matematika 2, vzorová písemka 1

TGH01 - Algoritmizace

MATEMATIKA 3 NUMERICKÉ METODY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

TGH01 - Algoritmizace

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

Průvodce studiem V této kapitole se budeme zabývat diferenciálním počtem pro funkce více

(2) Funkce. Kristýna Kuncová. Matematika B2. Kristýna Kuncová (2) Funkce 1 / 25

5. a 12. prosince 2018

Západočeská univerzita v Plzni Fakulta aplikovaných věd. Katedra matematiky. Semestrální práce - matematika a byznys

podle přednášky doc. Eduarda Fuchse 16. prosince 2010

DFT. verze:

Martin Pergel. 26. února Martin Pergel

Geometrická nelinearita: úvod

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

Tabulky, součin tabulek

GEM a soustavy lineárních rovnic, část 2

Stochastické modelování v ekonomii a financích Konzistence odhadu LWS. konzistence OLS odhadu. Předpoklady pro konzistenci LWS

Algebra I Cvičení. Podstatná část příkladů je převzata od kolegů, jmenovitě Prof. Kučery, Doc. Poláka a Doc. Kunce, se

Definice Řekneme, že PDA M = (Q,Σ,Γ,δ,q 0,Z 0,F) je. 1. pro všechna q Q a Z Γ platí: kdykoliv δ(q,ε,z), pak δ(q,a,z) = pro všechna a Σ;

v 1 /2 semestru 4. listopadu v rámci přednášky 1 úvod do UI, jazyk Prolog (23.9.) 3 prohledávání stavového prostoru (7.10.)

Stavový popis Stabilita spojitých systémů (K611MSAP) Katedra aplikované matematiky Fakulta dopravní ČVUT. čtvrtek 20. dubna 2006

Matematika III Stechiometrie stručný

ČVUT FEL, K October 1, Radek Mařík Ověřování modelů II October 1, / 39

Lineární algebra - iterační metody

Paradoxy geometrické pravděpodobnosti

Operace s funkcemi [MA1-18:P2.1] funkční hodnota... y = f(x) (x argument)

Statistika (KMI/PSTAT)

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Úvod 1 / 32

1 Definice. A B A B vlastní podmnožina. 4. Relace R mezi množinami A a B libovolná R A B. Je-li A = B relace na A

prof. RNDr. Roman Kotecký DrSc., Dr. Rudolf Blažek, PhD Pravděpodobnost a statistika Katedra teoretické informatiky Fakulta informačních technologií

NDMI002 Diskrétní matematika

Obsah. Limita posloupnosti a funkce. Petr Hasil. Limita posloupnosti. Pro a R definujeme: Je-li a < 0, pak a =, a ( ) =. vlastní body.

Petr Beremlijski, Marie Sadowská

Ústav teorie informace a automatizace RESEARCH REPORT. Pavel Boček, Karel Vrbenský: Implementace algoritmu MIDIA v prostředí Google Spreadsheets

Internet a zdroje. (Zdroje na Internetu) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17.

Pojem množiny nedefinujeme, pouze připomínáme, že množina je. Nejprve shrneme pojmy a fakta, které znáte ze střední školy.

Kombinatorika a grafy I

NÁVOD K POUŽITÍ KEZELÉSI KÉZIKÖNYV INSTRUKCJA OBSŁUGI NÁVOD NA POUŽÍVANIE. Česky. Magyar. Polski. Slovensky

CA CZ, s.r.o. May 21, Radek Mařík Testování řídicích struktur May 21, / 45

Obsah. Petr Hasil. (konjunkce) (disjunkce) A B (implikace) A je dostačující podmínka pro B; B je nutná podmínka pro A A B: (A B) (B A) A (negace)

Okrajový problém podmínky nejsou zadány v jednom bodu nejčastěji jsou podmínky zadány ve 2 bodech na okrajích, ale mohou být

Nekomutativní Gröbnerovy báze

LBF/ZUB22 Programové vybavení ordinace zubního lékaře. Mgr. Markéta Trnečková, Ph.D. Palacký University, Olomouc

kontaktní modely (Winklerův, Pasternakův)

Vybrané kapitoly z matematiky

K SAMOSTATNÉ MODULOVÉ SCHODY MONTÁŽI. asta

Kombinatorika a komplexní aritmetika

Expresivní deskripční logiky

Hry. šachy, backgammon, poker

ČVUT FEL, K Radek Mařík Strukturované testování 20. října / 52

Reprezentace dat. BI-PA1 Programování a Algoritmizace I. Ladislav Vagner

TGH08 - Optimální kostry

Mendelova univerzita v Brně user.mendelu.cz/marik

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava

Petr Hasil. c Petr Hasil (MUNI) Nekonečné řady MA III (M3100) 1 / 187

ggplot2 Efektní vizualizace dat v prostředí jazyka R Martin Golasowski 8. prosince 2016

Rovnice proudění Slapový model

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ Katedra matematiky. Dudek Martin. obor Matematická studia

(a). Pak f. (a) pro i j a 2 f

Matematika pro ekonomiku

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Matematika 1 Jiˇr ı Fiˇser 24. z aˇr ı 2013 Jiˇr ı Fiˇser (KMA, PˇrF UP Olomouc) KMA MAT1 24. z aˇr ı / 52

HL24285SMART. Návod k použití Návod na použitie Instrukcja obsługi Használatı utasítás. Licensed by Hyundai Corporation, Korea

Fakulta elektrotechnická. Paralelní algoritmus pro

Funkce více proměnných: limita, spojitost, derivace

VŠB-Technická univerzita Ostrava

Zobecněné metriky Různé poznámky 12. METRIZACE. Miroslav Hušek, Pavel Pyrih KMA MFF UK. 12. Poznámky

Statistika (KMI/PSTAT)

Obsah. 1.2 Integrály typu ( ) R x, s αx+β

Funkce více proměnných: limita, spojitost, parciální a směrové derivace, diferenciál

Teorie plasticity. Varianty teorie plasticity. Pružnoplastická matice tuhosti materiálu

Transkrypt:

Základy umělé inteligence 3. Problémy s omezujícími podmínkami (CSP Constraint Satisfaction Problems) Jiří Kubaĺık Katedra kybernetiky, ČVUT-FEL http://cw.felk.cvut.cz/doku.php/courses/y33zui/start

pproblémy s omezujícími podmínkami (Constraint Satisfaction Problems CSP) :: Standardní prohledávací problém stav je černá skříňka s neznámou (a nevyužitou) strukturou, na který se aplikují funkce následník (expanze), heuristická funkce a cílový test. Problémy s omezujícími podmínkami

pproblémy s omezujícími podmínkami (Constraint Satisfaction Problems CSP) :: Standardní prohledávací problém stav je černá skříňka s neznámou (a nevyužitou) strukturou, na který se aplikují funkce následník (expanze), heuristická funkce a cílový test. :: CSP množina proměnných X 1, X 2,..., X n ; každá proměnná X i nabývá hodnot z oboru D i, množina omezení C 1, C 2,..., C m ; každé omezení C j se týká určité podmnožiny proměnných a určuje přípustné kombinace hodnot těchto proměnných, stav je definován jako přiřazení hodnot proměnným (všem anebo pouze některým), např. {X i = v i, X j = v j,... }, Přiřazení, které splňuje všechna omezení se nazývá konzistentní (přípustné). Přiřazení, ve kterém mají všechny proměnné přiřazenu nějakou hodnotu se nazývá úplné. Řešení CSP je úplné přiřazení, které vyhovuje všem omezením, některé CSP navíc hledají takové řešení, které maximalizuje jistou účelovou funkci. Problémy s omezujícími podmínkami

ppříklad: Barvení grafu :: Barvení grafu proměnné: W A, NT, SA, Q, NSW, V, T, c Russel, Norvig: Artificial Intelligence: A Modern Approach. domény: D i = {red, green, blue}, omezení: Sousední oblasti musí být jiné barvy. Definice výčtem: pro WA NT {(red, green), (red, blue), (green, red), (green, blue), (blue, red), (blue, green)} Definice podmínkou: {W A NT } Problémy s omezujícími podmínkami

ppříklad: Barvení grafu 2 c Russel, Norvig: Artificial Intelligence: A Modern Approach. Řešení: {W A = red, NT = green, Q = red, NSW = green, V = red, SA = blue, T = red} Problémy s omezujícími podmínkami

pgraf omezení :: Vizualizace CSP grafem omezení uzly proměnné, hrany omezení. :: Výhody CSP standardní reprezentace stavů umožňuje aby funkce následníka a cílový test byly navrženy obecně, návrh efektivních a obecných heuristik, nevyžadujícíhc žádnou problémověspecifickou znalost. struktura grafu omezení umožňuje dekompozici problému. c Russel, Norvig: Artificial Intelligence: A Modern Approach. Problémy s omezujícími podmínkami

pcharakteristiky CSP: Typy proměnných :: Diskrétní proměnné konečné obory hodnot D i barvení grafu, 8-královen,... boolovské CSP proměnné nabývají pouze hodnot true a false, např. 3SAT (NP-complete), nekonečné obory hodnot (integers) např. rozvrhování úloh proměnné jsou startovní časy jednotlivých úloh, nutný jazyk pro popis omezení (výčet není možný) StartJob 1 + 5 StartJob 3, někdy možno transformovat nekonečné obory hodnot na konečné (např. definováním horní meze pro StartJob i jako suma trvání všech úloh), algoritmy pro řešení lineárních CSP s integer proměnnými, pro nelineární CSP neexistují. :: Spojité proměnné velice časté reálné úlohy plánování akcí Hubblova teleskopu, CSP s lineárními omezeními jsou řešitelné pomocí metod lineárního programování. Problémy s omezujícími podmínkami

pcharakteristiky CSP: Typy omezení :: unární omezení omezuje hodnoty jedné proměnné např. obyvatelé Jižní Austrálie nesnášejí zelenou; toto lze vždy ošetřit redukcí oboru hodnot dané proměnné. :: binární omezení vztah mezi dvěmi proměnnými, např. SA NSW. :: omezení vyššího řádu relace tří a více proměnných. Každé takové omezení lze transformovat na množinu binárních omezení, za použití pomocných proměnných. Př.: Mějme CSP s omezeními X + Y = Z, X < Y, X {1, 2}, Y {3, 4} a Z {5, 6} :: preference určují, jaká řešení jsou preferována; optimalizační problém s omezeními. Např. při vytváření školního rozvrhu víme, že Kubaĺık strašně nerad učí v pátek odpoledne. Potom rozvrh, kde má Kubaĺık naplánovánu přednášku na páteční podvečer, ale který splňuje všechna absolutní omezení, bude stále platným řešením, ikdyž neoptimálním. Problémy s omezujícími podmínkami

ppříklad: Kryptogram proměnné F, T, U, W, R, O, domény {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, omezení každé písmeno je nahrazeno jinou číslicí; omezení šesti proměnných Alldiff(F, T, U, W, R, O), anebo kolekce binárních omezení typu F T, navíc: O + O = R + 10X 1, X 1 + W + W = U + 10X 2, X 2 + T + T = O + 10X 3, X 3 = F c Russel, Norvig: Artificial Intelligence: A Modern Approach. Problémy s omezujícími podmínkami

pinkrementální formulace CSP :: CSP formulován jako standardní prohledávací problém počáteční stav reprezentován prázdným přiřazením {}, funkce následníka přiřadí hodnotu doposud nepřiřazené proměnné tak, aby nevznikl konflikt s žádnou už přiřazenou proměnnou, cílový test přiřazení je úplné, cena cesty konstantní (tj. 1) pro všechny kroky. :: Poznámky všechna řešení jsou v hloubce n, takže prohledávání do hloubky může být s výhodou použito, nezáleží na cestě = úplná formulace CSP, kde každý stav je úplný (může a nemusí být konzistentní), takže můžeme použít lokální prohledávací algoritmy (hill-climbing). Problémy s omezujícími podmínkami

pkomutativnost problému :: Poznámka k velikosti prohledávaného stromu větvicí faktor v kořenovém uzlu je b = nd, kde n je počet proměnných a d počet hodnot, kterých proměnné mohou nabývat. V další vrstvě je to b = (n 1)d, atd. Celkem tedy máme strom s n! d n listy!!! Přitom evidentně existuje pouze d n úplných ohodnocení!!! Problémy s omezujícími podmínkami

pkomutativnost problému :: Poznámka k velikosti prohledávaného stromu větvicí faktor v kořenovém uzlu je b = nd, kde n je počet proměnných a d počet hodnot, kterých proměnné mohou nabývat. V další vrstvě je to b = (n 1)d, atd. Celkem tedy máme strom s n! d n listy!!! Přitom evidentně existuje pouze d n úplných ohodnocení!!! :: Naštěstí je CSP komutativní pořadí akcí, generujících řešení, nemá vliv na výsledek. Takže W A = red potom NT = green je stejné jako NT = green potom W A = red. Proto všechny CSP prohledávací algoritmy uvažují při generování následníka uzlu n různá přiřazení pouze pro jednu proměnnou. S tímto omezením už dostáváme očekávaný počet listů (d n ). Problémy s omezujícími podmínkami

pbacktracking pro CSP: Algoritmus :: Prohledávání s backtrackingem používá prohledávání do hloubky, generuje různá přiřazení pouze jedné proměnné v daném uzlu a navrací se, když nelze přiřadit žádnou hodnotu dané proměnné, aniž by nebylo porušeno některé z absolutních omezení. c Russel, Norvig: Artificial Intelligence: A Modern Approach. Problémy s omezujícími podmínkami

pbacktracking pro CSP: Ukázka :: Na každé úrovni a v každém uzlu se řeší pouze jedna proměnná v pořadí WA, NT, Q,... c Russel, Norvig: Artificial Intelligence: A Modern Approach. Problémy s omezujícími podmínkami

pbacktracking pro CSP: Ukázka :: Na každé úrovni a v každém uzlu se řeší pouze jedna proměnná v pořadí WA, NT, Q,... c Russel, Norvig: Artificial Intelligence: A Modern Approach. :: Funguje to, ale je to neefektivní (neinformované prohledávání). Problémy s omezujícími podmínkami

pzvýšení efektivity algoritmů prohledávání pro CSP :: Složitost CSP špatná zpráva - CSP zahrnuje NP-complete problémy, takže nelze očekávat, že se nám podaří obecně řešit tyto problémy v lepším než exponenciálním čase. dobrá zpráva Existují obecné algoritmy pro CSP, které umí snížit časovou náročnost prohledávání o několik řádů. Problémy s omezujícími podmínkami

pzvýšení efektivity algoritmů prohledávání pro CSP :: Složitost CSP špatná zpráva - CSP zahrnuje NP-complete problémy, takže nelze očekávat, že se nám podaří obecně řešit tyto problémy v lepším než exponenciálním čase. dobrá zpráva Existují obecné algoritmy pro CSP, které umí snížit časovou náročnost prohledávání o několik řádů. :: Obecné (nezávislé na konkrétním problému) metody se zaměřují na tyto otázky: která proměnná má být přiřazena jako následující? jaké jsou důsledky již zvolených přiřazení pro ostatní nepřiřazené proměnné? můžeme dopředu detekovat nevyhnutelné selhání? můžeme se nějak vyhnout opětovnému vygenerování nesplnitelného stavu? můžeme nějak využít strukturu problému? Problémy s omezujícími podmínkami

pvolba proměnné: Minimum Remaining Values (MRV) :: Minimum remaining values heuristika, která voĺı proměnnou s nejmenším počtem použitelných hodnot. Výběr proměnné, u které je největší pravděpodobnost, že způsobí konflikt. Pokud je nějaká proměnná s prázdnou množinou přiřaditelných hodnot, bude vybrána pro přiřazení a tím bude detekován konflikt. c Russel, Norvig: Artificial Intelligence: A Modern Approach. :: MRV nám nepomůže při výběru počáteční proměnné. Problémy s omezujícími podmínkami

pvolba proměnné: Degree heuristic (DH) :: Degree heuristic heuristika, která voĺı proměnnou svázanou největším počtem omezení s ostatními doposud nepřiřazenými proměnnými c Russel, Norvig: Artificial Intelligence: A Modern Approach. MRV je obvykle silnější pravidlo, ale DH bývá používána pro řešení nerozhodných situací u MRV. Problémy s omezujícími podmínkami

pvýběr hodnoty: Least-Constraining-Value (LCV) :: Least-Constraining-Value heuristika, která voĺı takovou hodnotu, která co nejméně omezí počet možných hodnot u ještě nepřiřazených sousedních proměnných :: Příklad máme částečné přiřazení W A = red a NT = green a chceme zvolit hodnotu pro Q (red nebo blue?), pokud zvoĺıme Q = blue, potom SA už nelze ohodnotit, ale pokud zvoĺıme Q = red, pořád ještě můžeme přiřadit SA = blue. c Russel, Norvig: Artificial Intelligence: A Modern Approach. Je to jedno, když chceme najít všechna řešení, anebo když řešení neexistuje. Problémy s omezujícími podmínkami

pvyužití omezení pro zefektivnění prohledávání :: Forward checking při každém přiřazení hodnoty některé proměnné X, vymažeme ze všech doposud neohodnocených sousedních (v grafu omezení) proměnných všechny hodnoty nekonzistentní s hodnotou přiřazenou proměnné X. redukce faktoru větvení u později zpracovávaných proměnných, ukončí prohledávání, když už nějaká proměná nemá žádnou přípustnou hodnotu, efektivní způsob získávání informace, kterou využívá MRV. Problémy s omezujícími podmínkami

pvyužití omezení pro zefektivnění prohledávání :: Forward checking při každém přiřazení hodnoty některé proměnné X, vymažeme ze všech doposud neohodnocených sousedních (v grafu omezení) proměnných všechny hodnoty nekonzistentní s hodnotou přiřazenou proměnné X. redukce faktoru větvení u později zpracovávaných proměnných, ukončí prohledávání, když už nějaká proměná nemá žádnou přípustnou hodnotu, efektivní způsob získávání informace, kterou využívá MRV. :: Závěr forward checking detekuje hodně nekonzistencí, ale ne všechny. Co NT = SA = blue? Problémy s omezujícími podmínkami

ppropagace omezení (constraint propagation) :: Základní myšlenka propagovat důsledky omezení u jedné proměnné na další relevantní proměnné, a potřebujeme to dělat rychle. :: Hranová konzistence (arc consistency) hrana orientovaná hrana z jednoho uzlu do druhého v grafu omezení (např. SA NSW ), hrana X Y je konzistentní při aktuálních doménách D x a D y, jestliže pro každou hodnotu x D x existuje alespoň jedna hodnota y D y konzistentní s x. Příklad: Uvažujme hrany SA NSW a NSW SA při D SA = {blue}, D NSW = {red, blue} SA NSW je konzistentní: pro SA = blue ex. NSW = red NSW SA není konzistentní: pro NSW = blue neex. žádné povolené přiřazení pro SA Jak se to dá napravit? Problémy s omezujícími podmínkami

ppropagace omezení (constraint propagation) :: Základní myšlenka propagovat důsledky omezení u jedné proměnné na další relevantní proměnné, a potřebujeme to dělat rychle. :: Hranová konzistence (arc consistency) hrana orientovaná hrana z jednoho uzlu do druhého v grafu omezení (např. SA NSW ), hrana X Y je konzistentní při aktuálních doménách D x a D y, jestliže pro každou hodnotu x D x existuje alespoň jedna hodnota y D y konzistentní s x. Příklad: Uvažujme hrany SA NSW a NSW SA při D SA = {blue}, D NSW = {red, blue} SA NSW je konzistentní: pro SA = blue ex. NSW = red NSW SA není konzistentní: pro NSW = blue neex. žádné povolené přiřazení pro SA Jak se to dá napravit? Odstraněním blue z D NSW. Co odhaĺı test hranové konzistence SA NT? Problémy s omezujícími podmínkami

phranová konzistence: Složitost algoritmu :: Po vyjmutí hodnoty z domény proměnné X i (ve snaze odstranit nekonzistenci) se může vyskytnout nová nekonzistence na hranách směřujících do proměnné X i = hranová konzistence musí být kontrolována opakovaně, dokud nejsou odstraněny všechny nekonzistence. :: Algoritmus AC-3 algoritmus AC-3 udržuje seznam hran, které mají být zkontrolovány, po vyjmutí hodnoty z domény proměnné X i, všechny hrany (X k, X i ) musí být přidány do seznamu, na konci algoritmu jsou buď všechny hrany konzistentní anebo některá proměnná má prázdnou doménu, což značí, že prohledávání je v nesplnitelné větvi. :: Složitost algoritmu AC-3: n proměnných, každá může nabývat d různých hodnot Graf omezení pro binární CSP obsahuje maximálně O(n 2 ) hran, každá hrana (X k, X i ) může být vložena do seznamu kontrolovaných hran maximálně d-krát, protože X i má maximálně d hodnot k odstranění, kontrola konzistence hrany může být provedena v čase O(d 2 ). Celkový čas bude v nejhorším případě O(n 2 d 3 ). :: Kontrola hranové konzistence se i přes poměrně značnou časovou náročnost vyplatí. Problémy s omezujícími podmínkami

pefekt propagace omezení: 4 dámy na šachovnici :: Čtyři dámy na šachovnici Promenné X1, X2, X3, X4 vyjadrují rádkovou pozici dámy v n-tém sloupci. Domény: D1 = D2 = D3 = D4 = 1, 2, 3, 4 počáteční konfigurace graf omezení Problémy s omezujícími podmínkami

pefekt propagace omezení: 4 dámy na šachovnici :: Pro X 1 = 1: počáteční konfigurace po ověření konzistence X n X 1 Problémy s omezujícími podmínkami

pefekt propagace omezení: 4 dámy na šachovnici :: Pro X 1 = 1: po ověření konzistence X n X 1 po ověření konzistence X 3 X 2 Problémy s omezujícími podmínkami

pefekt propagace omezení: 4 dámy na šachovnici :: Pro X 1 = 1: po ověření konzistence X 3 X 2 po ověření konzistence X 4 X 3 Problémy s omezujícími podmínkami

pefekt propagace omezení: 4 dámy na šachovnici :: Postup prohledávání s propagací omezení výrazné snížení počtu expandovaných uzlů, Problémy s omezujícími podmínkami

pnevýhody Backtrackingu :: Chronologický backtracking Když selže prohledávání v nějakém uzlu, zkusí jinou hodnotu proměnné o úroveň výše. Ovšem problémy jsou často způsobeny ohodnocením jiné proměnné, než té o úroveň výše. Př.: proměnné: X1 = {f, a} X2 = {a, c} X3 = {d, e} X4 = {b, f} X5 = {e, d} X6 = {a, b, f} omezení: Žádné dvě proměnné nemohou mít stejnou hodnotu. Problémy s omezujícími podmínkami

pbackjumping :: Návrat přímo k proměnné, která způsobila selhání. black list(i) pro každou proměnnou si udržujeme seznam proměnných, které způsobily selhání při 1. pokusech o její ohodnocení Do seznamu black list(i) se uloží proměnné, které již byly ohodnoceny a jejichž ohodnocení je nekonzistentní s nějakou z možných hodnot pro proměnnou i. 2. při snaze o ohodnocení následujících proměnných Pokud se nepodařilo ohodnotit proměnnou j, tak se navrať na nejbližší již ohodnocenou proměnnou k ze seznamu black list(j) a uprav její black list(k) takto black list(k) black list(k) black list(j) {k} Proměnná k si tedy rozšíří seznam black list(k) o podezřelé proměnné, které mohly být zodpovědné za neúspěšné ohodnocení následujících proměnných. Pokud všechny možnosti ohodnocení proměnné i jsou neúspěšné, tak se odskočí na proměnnou ze seznamu black list(i), která je nejbĺıže proměnné i. Problémy s omezujícími podmínkami

pbackjumping 1. Algoritmus úspěšně ohodnocuje proměnné až k proměnné X6. 2. Návrat na proměnnou X4, která je z proměnných v black list(x6) = {X1, X2, X4} nejbĺıže X6. 3. Nové ohodnocení X4 = f selže, proto black list(x4) = {X1}. 4. black list(x4) se upraví a pro návrat se vybere X2. 5. Prohledávání pokračuje novým ohodnocením proměnné X2. black list(x4) {X1} {X1, X2, X4} {X4} Problémy s omezujícími podmínkami

plokální prohledávání pro CSP :: Algoritmy lokálního prohledávání iterativní optimalizační algoritmy pracují s úplnými stavy všechny proměnné mají přiřazenu nějakou hodnotu, funkce následník mění hodnotu jedné proměnné. Příklad: 8-královen na šachovnici 1. počáteční stav je dán náhodným vygenerováním pozic 8 královen v 8 sloupcích; funkce následník mění libovolně pozici jedné královny v jejím sloupci. 2. počáteční stav je dán náhodným rozmístěním 8 královen, každá v jednom sloupci, v permutaci 8 řádků; funkce následník prohodí dvěma královnám jejich řádkové souřadnice. c Russel, Norvig: Artificial Intelligence: A Modern Approach. Problémy s omezujícími podmínkami

pheuristika minimalizace konfliktů :: Minimalizace konfliktů (min-conflicts) při výběru nové hodnoty dané proměnné se snaží minimalizovat počet konfliktů s ostatními proměnnými pro problém n-královen je její časová složitost nezávislá na n, řeší milion-královen v průměru na 50 kroků, c Russel, Norvig: Artificial Intelligence: A Modern Approach. vhodné pro problémy s mnoha řešeními hustě rozloženými ve stavovém prostoru. v 90-tých letech tento úspěch způsobil boom ve výzkumu lokálních opt. algoritmů, plánování akcí Hubbleova teleskopu; redukce času výpočtu ze tří týdnů na 10 minut!!! efektivní způsob nalezení řešení problému při změněných počátečních podmínkách (přeplánování). Problémy s omezujícími podmínkami

pstruktura problému :: Dekompozice problému rozdělení problému CSP na nezávislé podproblémy CSP i, identifikovatelné jako souvislé komponenty grafu omezení; př. Tasmánie a Austrálie. :: Co tím získáme? Předpokládejme CSP s n proměnnými a každý podproblém CSP i má c proměnných. Máme tedy n/c podproblémů; každý z nich o velikosti stavového prostoru d c. Takže celková výpočetní náročnost je O(d c n/c), což je lineární složitost vzhledem k n. Bez dekompozice je výpočetní náročnost O(d n ), což je exponenciální složitost vzhledem k n. Příklad: Celkový CSP o n = 80 je rozdělen na čtyři podproblémy, každý o c = 20 proměnných. Předpokládejme, že umíme spočítat 10 6 uzlů/s. Potom dostaneme: 4 2 20 = 4s, 2 80 = 4 miliardy let. Problémy s omezujícími podmínkami

pstruktura problému :: Dekompozice problému rozdělení problému CSP na nezávislé podproblémy CSP i, identifikovatelné jako souvislé komponenty grafu omezení; př. Tasmánie a Austrálie. :: Co tím získáme? Předpokládejme CSP s n proměnnými a každý podproblém CSP i má c proměnných. Máme tedy n/c podproblémů; každý z nich o velikosti stavového prostoru d c. Takže celková výpočetní náročnost je O(d c n/c), což je lineární složitost vzhledem k n. Bez dekompozice je výpočetní náročnost O(d n ), což je exponenciální složitost vzhledem k n. Příklad: Celkový CSP o n = 80 je rozdělen na čtyři podproblémy, každý o c = 20 proměnných. Předpokládejme, že umíme spočítat 10 6 uzlů/s. Potom dostaneme: 4 2 20 = 4s, 2 80 = 4 miliardy let. :: Bohužel, reálné problémy nebývají takto čistě dekomponovatelné. Problémy s omezujícími podmínkami

pstromové CSP :: CSP s grafem omezení neobsahujícím cykly je řešitelný v lineárním čase O(n). Pro obecný CSP je nejhorší časová složitost (O(d n )). :: Algoritmus pro stromové CSP 1. Zvol jednu proměnnou za kořen stromu (proměnná A) a seřad proměnné tak, že každý rodičovský uzel předchází svoje potomky. Proměnné jsou nyní označeny X 1,..., X n, podle jejich pořadí v posloupnosti. 2. Projdi proměnné od konce, tj. v pořadí j = n,..., 2, a pro každou hranu (X i, X j ), kde X i je rodič X j, proveď kontrolu konzistence hrany (Odstraň nevyhovující hodnoty z domény D X i ). 3. Projdi proměnné od začátku, tj. v pořadí j = 1,..., n, a přiřaď proměnné X j libovolnou hodnotu x D Xj, konzistentní s hodnotou X i, kde proměnná X i je rodič X j. Problémy s omezujícími podmínkami

pjak zařídit stromový graf omezení :: Cycle cutset redukuje obecný graf na strom vyloučením co nejmenšího počtu uzlů 1. Vyber z celkové množiny proměnných S nejmenší (?) podmnožinu uzlů S a tak, že výsledný graf je strom. 2. Pro všechna možná ohodnocení proměnných množiny S a, která vyhovují omezením na S a odstraň z domén ostatních proměnných S b = S \ S a všechny hodnoty, které nevyhovují ohodnocení proměnných z S a, řeš strom S b algoritmem pro stromové CSP. Pokud je nalezeno konzistentní řešení pro S b, je výsledné řešení dáno sjednocením aktuálního ohodnocení proměnných množiny S a a nalezeného řešení pro S b. c Russel, Norvig: Artificial Intelligence: A Modern Approach. Problémy s omezujícími podmínkami

pliteratura Stuart Russell and Peter Norvig: Artificial Intelligence: A Modern Approach Part II Problem Solving 5 Constraint Satisfaction Problems (http://aima.cs.berkeley.edu/2nd-ed/) Problémy s omezujícími podmínkami