Jak oslabit PC, aby algoritmus: neměl paměťové nároky PC, povede k vyřazení hodnoty z domény proměnné! e f. e f. a b. a b. byl silnější než AC?

Podobné dokumenty
Programování. s omezujícími podmínkami. Roman Barták. rová hranová konzistence

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

4.4.1 Sinová věta. Předpoklady: Trigonometrie: řešení úloh o trojúhelnících.

Konstrukce na základě výpočtu I

4.4.3 Kosinová věta. Předpoklady:

( ) ( ) Sinová věta II. β je úhel z intervalu ( 0;π ). Jak je vidět z jednotkové kružnice, úhly, pro které platí. Předpoklady:

Plánováníá a rozvrhování

Větu o spojitosti a jejich užití

Programování. s omezujícími podmínkami. Roman Barták. roman.bartak@mff.cuni.cz

Petriho sítě PES 2007/2008. Doc. Ing. Tomáš Vojnar, Ph.D.

Spojitost funkce v bodě, spojitost funkce v intervalu

Minimalizace automatů. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 28. března / 31

Konstrukce na základě výpočtu II

Podobnosti trojúhelníků, goniometrické funkce

4.2.1 Goniometrické funkce ostrého úhlu

2.2.9 Grafické řešení rovnic a nerovnic

10. Suffixové stromy

4. přednáška 22. října Úplné metrické prostory. Metrický prostor (M, d) je úplný, když každá cauchyovská posloupnost bodů v M konverguje.

Automaty a gramatiky

Obecně: K dané funkci f hledáme funkci ϕ z dané množiny funkcí M, pro kterou v daných bodech x 0 < x 1 <... < x n. (δ ij... Kroneckerovo delta) (4)

3 Algebraické výrazy. 3.1 Mnohočleny Mnohočleny jsou zvláštním případem výrazů. Mnohočlen (polynom) proměnné je výraz tvaru

Tangens a kotangens

Automaty a gramatiky. Úvod do formáln. lních gramatik. Roman Barták, KTIML. Příklady gramatik

Půjdu do kina Bude pršet Zajímavý film. Jedině poslední řádek tabulky vyhovuje splnění podmínky úvodního tvrzení.

x + F F x F (x, f(x)).

8. cvičení z Matematiky 2

Zavedení a vlastnosti reálných čísel PŘIROZENÁ, CELÁ A RACIONÁLNÍ ČÍSLA

13. Exponenciální a logaritmická funkce

Konstrukce na základě výpočtu I

V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

Technická dokumentace Ing. Lukáš Procházka

Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)

NEWTONŮV INTEGRÁL. V předchozích kapitolách byla popsána inverzní operace k derivování. Zatím nebylo jasné, k čemu tento nástroj slouží.

Automaty a gramatiky(bi-aag)

1.7.4 Výšky v trojúhelníku II

Masarykova univerzita Fakulta informatiky. Detekce cyklů v dynamických grafech. Jaroslav Bendík

Logaritmus. Předpoklady: 2909

a i,n+1 Maticový počet základní pojmy Matice je obdélníkové schéma tvaru a 11

Výfučtení: Goniometrické funkce

KVADRATICKÁ FUNKCE (vlastnosti, grafy)

Optimalizace & soft omezení: algoritmy

( t) ( t) ( t) Nerovnice pro polorovinu. Předpoklady: 7306

Automaty a gramatiky. Organizační záležitosti. Přednáška: na webu ( Proč chodit na přednášku?

Definice. Nechť k 0 celé, a < b R. Definujeme. x < 1. ϕ(x) 0 v R. Lemma [Slabá formulace diferenciální rovnice.] x 2 1

Riemannův určitý integrál.

( t) ( t) ( ( )) ( ) ( ) ( ) Vzdálenost bodu od přímky I. Předpoklady: 7308

Integrály definované za těchto předpokladů nazýváme vlastní integrály.

Převody Regulárních Výrazů. Minimalizace Konečných. Regulární jazyky 2 p.1/35

OBECNÝ URČITÝ INTEGRÁL

Reprezentovatelnost částek ve dvoumincových systémech

Formální jazyky. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 6. března / 48

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 7. března / 46

množina, na které je zavedena určitá struktura. Zejména, součet každých dvou prvků X = [x 1,..., x n ] R n,

Až dosud jsme se zabývali většinou reálnými posloupnostmi, tedy zobrazeními s definičním

{ } ( ) ( ) Vztahy mezi kořeny a koeficienty kvadratické rovnice. Předpoklady: 2301, 2508, 2507

1. LINEÁRNÍ ALGEBRA 1.1. Matice

Základy teorie matic

Matice. a B =...,...,...,...,..., prvků z tělesa T (tímto. Definice: Soubor A = ( a. ...,..., ra

5. Konstrukce trojúhelníků Konstrukce trojúhelníků podle vět sss, sus, usu, Ssu (ssu):

m n. Matice typu m n má

+ c. n x ( ) ( ) f x dx ln f x c ) a. x x. dx = cotgx + c. A x. A x A arctgx + A x A c

ANALYTICKÁ GEOMETRIE V PROSTORU

Přijímací řízení akademický rok 2011/12 Kompletní znění testových otázek matematický přehled

3.2. LOGARITMICKÁ FUNKCE

Přednáška 9: Limita a spojitost

Smíšený součin

2.8.5 Lineární nerovnice s parametrem

Svazy. Def Svaz je algebra S ( M ;, ) = se dvěma binárními operacemi taková, že pro libovolné prvky c M platí následující podmínky axiomy svazu:

5.1.5 Základní vztahy mezi body, přímkami a rovinami

Souhrn základních výpočetních postupů v Excelu probíraných v AVT listopad r r. . b = A

56. ročník Matematické olympiády. b 1,2 = 27 ± c 2 25

Integrální počet - II. část (určitý integrál a jeho aplikace)

Mocnina částečně uspořádané množiny

VIII. Primitivní funkce a Riemannův integrál

( ) Mechanická práce II. Předpoklady: 1501

Hyperbola, jejíž střed S je totožný s počátkem soustavy souřadnic a jejíž hlavní osa je totožná

Heuristické řešení problémů. Seminář APS Tomáš Müller

3.2.5 Pythagorova věta, Euklidovy věty I. α = = Předpoklady: 1107, 3204

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů.

Stereometrie metrické vlastnosti 01

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

integrovat. Obecně lze ale říct, že pokud existuje určitý integrál funkce podle různých definic, má pro všechny takové definice stejnou hodnotu.

7 Analytická geometrie

return n; 3/29 Ing. Miroslav Balík, Ph.D. - BI-PA1-05 if (n<1) { printf("%d neni prirozene cislo\n", n); exit(0); }

2.7.7 Obsah rovnoběžníku

VYUŽITÍ FLOYDOVA ALGORITMU NA SITÍCH USE OF FLOYD ALGORITHM IN NETWORKS

dvojice těchto prvků. Takto si můžeme například i znázorňovat možnosti jak cestovat z

Úlohy krajského kola kategorie A

Koš Znění otázky Odpověď a) Odpověď b) Odpověď c) Odpověď d) Správná odpověď 1. 1 Které číslo doplníte místo otazníku? ?

METODICKÝ NÁVOD MODULU

VIII. Primitivní funkce a Riemannův integrál

3.2.7 Příklady řešené pomocí vět pro trojúhelníky

4.3.9 Sinus ostrého úhlu I. α Předpoklady: Správně vyplněné hodnoty funkce a c. z minulé hodiny.

Lineární nerovnice a jejich soustavy

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Automaty a gramatiky

Integrální počet - IV. část (aplikace na určitý vlastní integrál, nevlastní integrál)

Řešte daný nosník: a = 2m, b = 2m, c = 1m, F 1 = 10kN, F 2 = 20kN

LINEÁRNÍ DIFERENCIÁLNÍ ROVNICE 2.ŘÁDU

4. cvičení z Matematiky 2

Transkript:

N půli esty od AC k PC Progrmování s omezujíími podmínkmi Jk oslit PC, y lgoritmus: neměl pměťové nároky PC, neměnil grf podmínek, yl silnější než AC? Testujeme PC jen v přípdě, když je šne, že to povede k vyřzení hodnoty z domény proměnné! Příkld: Romn Brták Ktedr teoretiké informtiky mtemtiké logiky romn.rtk@mff.uni.z http://ktiml.mff.uni.z/~rtk e f d e f d d Omezená konzistene po estě PC hrny se testuje pouze tehdy, pokud vyřzení dvojie může vést k vyřzení některého z prvků z domény příslušné proměnné. Jk to poznáme? Jedná se o jedinou vzájemnou podporu. Vrhol i je omezeně konzistentní po estě (restrited pth onsistent) právě když: kždá hrn vedouí z i je hrnově konzistentní (AC) pro kždé D i pltí: je-li jediná podpor ve vrholu j, potom v kždém vrholu k (spojeném s i j) existuje hodnot tk, že (,) (,) jsou komptiilní s příslušnými podmínkmi (PC). i k j Zloženo n AC-4: počítání podpor + seznm est pro PC Algoritmus RPC iniilize proedure INITIALIZE(G) Q AC {}, Q PC {}, S {} % vyprázdnění dtovýh struktur for eh (i,j) rs(g) do for eh D i do totl 0 for eh D j do if (,) is onsistent ording to the onstrint C i,j then totl totl + 1, S j, S j, {i,>} ounter[(i,j),] totl if ounter[(i,j),] = 0 then Q AC Q AC {i,>}, delete from D i else if ounter[(i,j),] = 1 then for eh k suh tht (i,k) rs(g) & (k,j) rs(g) do end dif return (Q AC, Q PC ) end INITIALIZE Q PC Q PC {(i,>,j,k)}

Algoritmus RPC kontrol AC proedure PRUNE(Q AC, Q PC ) while Q AC non empty do selet nd delete ny pir j,> from Q AC for eh i,> from S j, do ounter[(i,j),] ounter[(i,j),] - 1 if ounter[(i,j),] = 0&"" is still in D i then delete "" from D i Q AC Q AC {i,>} else if ounter[(i,j),] = 1 then for eh k suh tht (i,k) rs(g) & (k,j) rs(g) do Q PC Q PC {(i,>,j,k)} else for eh k suh tht (i,k) rs(g) & (k,j) rs(g) do if ounter[(i,k),] = 1 then Q PC Q PC {(i,>,k,j)} end while return Q PC end PRUNE Algoritmus RPC Nejprve uděláme AC potom testuje vyrné PC, přípdně ě se vríme k AC. proedure RPC(G) (Q AC, Q PC ) INITIALIZE(G) Q PC PRUNE(Q AC,Q PC ) %prvníěh AC while Q PC non empty do selet nd delete ny triple (i,>,j,k) from Q PC if D i then {j,>} {j,x> S i x D j } % jediná podpor pro if {k,> S i S j D k }= then ounter[(i,j),] 0 delete "" from D i Q PC PRUNE({i,>}, Q PC ) % opkujeme AC end while end RPC Mjí AC PC něo ě společného? č k-konzistenekonzistene AC: rozšiřujeme jednu hodnotu do druhé proměnné PC: rozšiřujeme dvojii hodnot do třetí proměnné můžeme pokrčovt CSP je k-konzistentní,,právě když liovolné konzistentní ohodnoení (k-1) různýh proměnnýh můžeme rozšířit do liovolné k-té proměnné. 4 4-konzistentní t grf 12 1,2 = 12 1,2 = 123 Silná k-konzistene konzistene 3-konzistentní grf není 2-konzistentní grf! = CSP je silně k-konzistentní, právě když je j-konzistentní pro kždé j k. Vlstnosti: Zřejmě: silná k-konzistene k-konzistene Dokone: silná k-konzistene j-konzistene j k Oeně nepltí: k-konzistene konzistene silná k-konzistene konzistene Pojmenování: NC = silná 1-konzistene = 1-konzistene AC = (silná) 2-konzistene PC = (silná) 3-konzistene někdy se říká silná konzistene po estě, pokud NC+AC+PC

Jk velké k potřeujeme? Máme-li grf s n vrholy, jk silnou konzisteni potřeujeme yhom přímo nšli řešení? Pro grf s n vrholy potřeujeme silnou n-konzisteni! n-konzistene nestčí - viz předhozí příkld silná k-konzistene pro kn tké nestčí A o tento grf? 1,2 =,, grf s n vrholy domény 1..(n-1) 1) silně k-konzistentní pro kždé kn přesto nemá řešení Stčí nám pouze (D)AC! 123 123 Protože se jedná o strom. Řešení ez nvrení CSP prolém vyřešíme ez nvrení, pokud při nějkém uspořádání proměnnýh můžeme pro kždou proměnnou vždy njít hodnotu komptiilní s již ohodnoenými proměnnými. 1, 2 = 1, 2 1, 2, 3 1, 2, 3 1 2 3 4 Jk zjistit úroveň konzistene potřenou pro dný grf? Pozorování: proměnná musí ýt komptiilní s již ohodnoenými proměnnými tj. s tolik proměnnými, kolik má zpětnýh hrn pro k zpětnýh hrn potřeujeme (k+1)-konzisteni je-li m mximum počtu zpětnýh hrn pro všehny vrholy, stčí nám silná (m+1)-konzistene při různém uspořádání vrholů je počet zpětnýh hrn různý smozřejmě hledáme uspořádání s nejmenším m Uspořádný grf je grf s lineárním uspořádáním vrholů. Šířk grfu Šířk vrholu v uspořádném grfu je počet hrn vedouíh z tohoto vrholu do předhozíh vrholů. Šířk uspořádného grfu je mximum z šířek jeho vrholů. Šířk grfu je minimum z šířek všeh jeho uspořádnýh grfů. Šířk grfu je 1. 1 1 1 2 1 2 proedure MinWidthOrdering((V,E)) Q {} while V not empty do N selet nd delete node with the smllest #edges from (V,E) enqueue N to Q return Q end MinWidthOrdering Šířk grfu stupeň konzistene Tvrzení: Pokud je grf podmínek silně k-konzistentní k>w, kde w je šířk grfu podmínek, potom existuje uspořádání proměnnýh pro vyřešení CSP ez nvrení. Důkz: grf má šířku w, tj. existuje uspořádný grf s touto šířkou speiálně, počet zpětnýh hrn pro kždou proměnnou je mx. w proměnné ohodnoujeme v pořdí uspořádání grfu nyní, pokud ohodnoujeme proměnnou: musíme njít hodnotu komptiilní se všemi již ohodnoenými proměnnými, které jsou s proměnnou spojené podmínkou (hrnou) nehť tkovýh proměnnýh je m, potom m w grf je (m+1)-konzistentní, tedy tková hodnot musí existovt 1 i j l mximálně w

Oená směrová konzistene AC (silná 2-konzistene) stčí n stromové grfy (šířk 1). Jk je to s PC vyššími typy konzistene? PC mění strukturu grfu - přidává nové hrny! Tedy, pokud vezmeme grf šířky 2 provedeme PC, můžeme zvětšit šířku grfu! Co s tím? Nově přidná hrn po PC Pozorování 1: n stromy nám stčí DAC (děláme ve směru ke kořenu) CSP je směrově k-konzistentní při nějkém uspořádání proměnnýh, právě když liovolné konzistentní ohodnoení (k-1) různýh proměnnýh můžeme rozšířit do liovolné k-té proměnné, která je v uspořádání z touto (k-1)-tií. Pozorování 2: Adptivní konzistene v elém grfu nepotřeujeme všude stejnou konzisteni Stčí AC Stčí PC Stčí AC Adptivní konzistene zjišťuje směrovou i-konzisteni, kde i se mění podle šířky zprovávného vrholu vrholy jsou zprovávány ve směru proti uspořádání grfu nové hrny přiývjí pouze v dosud nezprovné části výslednou topologii (šířku) grfu lze zjistit před spuštěním lgoritmu (i,j)-konzistene Při k-konzisteni kkonzisteni rozšiřujeme (k-1) proměnnýh o dlší proměnnou, tj. vyřzujeme (k-1)-tie, které nelze rozšířit n dlší proměnnou. Můžeme ještě zoenit! CSP je (i,j)-konzistentní, právě když liovolné konzistentní ohodnoení i různýh proměnnýh můžeme rozšířit do liovolné množiny j neo méně než j dlšíh proměnnýh. CSP je silně (i,j)-konzistentní, právě když je (k,j)-konzistentní pro kždé k i. k-konzistene AC PC = (k-1,1)-konzistene = (1,1)-konzistene = (2,1)-konzistene Inverzní konzistene Je-li v (i,j)-konzisteni i i i větší než 1, musíme provt s i-tiemi, i ož znmená velké pměťové nároky (viz PC). Co to zkusit nopk, tj. i neháme 1 zvětšujeme j? První náznk jsme již měli: RPC je (1,1)-konzistene očs (1,2)-konzistene (1,k)-konzisteni nzýváme inverzní konzistení. Pro dnou hodnotu hledáme podporu v dlšíh k proměnnýh. Pokud tková podpor hyí, vyřdíme hodnotu z domény. inverzní hrnová konzistene = hrnová konzistene inverzní konzistene po estě (PIC) = (1,2)-konzistene Nelze rozšířit do zylýh dvou proměnnýh.

(Neighourhood Inverse Consisteny) NIC Pozorování: Zjišťování inverzní konzistene má smysl, pokud je lespoň ň jedn testoví t proměnná svázná s dnou proměnnou. Můžeme zjišťovt konzisteni právě jen v okolí kždé proměnné. CSP je inverzně konzistentní pro okolí (NIC), právě když pro liovolnou hodnotu h liovolné proměnné X existuje řešení prolému vzniklého z okolí X, které [řešení] je konzistentní s h. proedure NIC((V,E)) Q V while Q not empty do V selet nd delete vrile from Q deleted flse for eh H in D V do if no solution for Neighourhood(X) omptile with H then remove H from D V deleted d true if D V empty then return fil if deleted then Q Q Neighourhood(X) return true end NIC Bodová konzistene Můžeme liovolnou lokální konzistenční tehniku dále posílit? ANO! Zkusíme, zd pro kždou hodnotu je zylý prolém konzistentní. CSP je odově A-konzistentní (singleton A-onsisteny), kde A je liovolná konzistenční tehnik, právě když pro liovolnou hodnotu h liovolné proměnné X je prolém omezený n X=h A-konzistentní. Vlstnosti: + podoně jkonicrpcodstrňuje odstrňuje jen hodnoty z domény proměnnýh + sndná implemente - může ýt čsově náročnější (používt optrně) 1) odová A-konzistene A-konzistene 2) A-konzistene B-konzistene odová A-konzistene odová B-konzistene 3) odová (i,j) j)-konzistene > (i,j+1) j+1)-konzistene (SAC>PIC) 4) silná (i+1,j)-konzistene > odová (i,j)-konzistene (PC>SAC) NC = 1-konzistene Přehled konzistenčníh tehnik AC = 2-konzistene = (1,1)-konzistene PC = 3-konzistene = (2,1)-konzistene PIC = (1,2)-konzistene NIC SRPC strong PC SAC PIC RPC AC silnější tehnik neporovntelné tehniky