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

Save this PDF as:
 WORD  PNG  TXT  JPG

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 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 D i existuje hodnota y v D j tak, že ohodnocení [V i = x, V j = y] splňuje všechny binární podmínky nad V i, V j. Programování s omezujícími podmínkami I, 9. října Propagace omezení

2 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 D i existuje hodnota y v D j tak, že ohodnocení [V i = x, V j = y] splňuje všechny binární podmínky nad V i, V j. Hranová konzistence je směrová konzistence hrany (V i, V j ) nezaručuje konzistenci hrany (V j, V i ) A 3..7 A<B 1..5 B A 3..4 A<B 1..5 B A 3..4 A<B 4..5 B konzistence (A,B) konzistence (A,B) i (B,A) Programování s omezujícími podmínkami I, 9. října Propagace omezení

3 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 D i existuje hodnota y v D j tak, že ohodnocení [V i = x, V j = y] splňuje všechny binární podmínky nad V i, V j. Hranová konzistence je směrová konzistence hrany (V i, V j ) nezaručuje konzistenci hrany (V j, V i ) A 3..7 A<B 1..5 B A 3..4 A<B 1..5 B A 3..4 A<B 4..5 B konzistence (A,B) konzistence (A,B) i (B,A) CSP problém je hranově konzistentní, právě když jsou všechny jeho hrany (v obou směrech) hranově konzistentní. Programování s omezujícími podmínkami I, 9. října Propagace omezení

4 Algoritmus revize hrany Jak udělat hranu (V i, V j ) hranově konzistentní? Z domény D i vyřadím takové hodnoty x, které nejsou konzistentní s aktuální doménou D j (pro x neexistuje žádá hodnoty y v d j tak, aby ohodnocení V i = x a V j = y splňovalo všechny binární podmínky mezi V i a V j ) Programování s omezujícími podmínkami I, 9. října Propagace omezení

5 Algoritmus revize hrany Jak udělat hranu (V i, V j ) hranově konzistentní? Z domény D i vyřadím takové hodnoty x, které nejsou konzistentní s aktuální doménou D j (pro x neexistuje žádá hodnoty y v d j tak, aby ohodnocení V i = x a V j = y splňovalo všechny binární podmínky mezi V i a V j ) procedure revise((i, j)) Deleted := false for x D i do if neexistuje y D j then D i := D i {x} takové, že (x, y) je konzistentní Deleted := true domain([v 1, V 2 ],2,4), V 1 #< V 2 end if revise((1,2)) smaže 4 z D 1 return Deleted D 2 se nezmění end revise Programování s omezujícími podmínkami I, 9. října Propagace omezení

6 Algoritmus revize hrany Jak udělat hranu (V i, V j ) hranově konzistentní? Z domény D i vyřadím takové hodnoty x, které nejsou konzistentní s aktuální doménou D j (pro x neexistuje žádá hodnoty y v d j tak, aby ohodnocení V i = x a V j = y splňovalo všechny binární podmínky mezi V i a V j ) procedure revise((i, j)) Deleted := false for x D i do if neexistuje y D j then D i := D i {x} takové, že (x, y) je konzistentní Deleted := true domain([v 1, V 2 ],2,4), V 1 #< V 2 end if revise((1,2)) smaže 4 z D 1 return Deleted D 2 se nezmění end revise Složitost O(k 2 ) (k maximální velikost domény) = dva cykly: x D i a y D j Programování s omezujícími podmínkami I, 9. října Propagace omezení

7 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Programování s omezujícími podmínkami I, 9. října Propagace omezení

8 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní Programování s omezujícími podmínkami I, 9. října Propagace omezení

9 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A<B, B<C: (3..7,1..5,1..5) A<B B<C A B C Programování s omezujícími podmínkami I, 9. října Propagace omezení

10 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B A<B, B<C: (3..7,1..5,1..5) AB B B<C C Programování s omezujícími podmínkami I, 9. října Propagace omezení

11 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA C Programování s omezujícími podmínkami I, 9. října Propagace omezení

12 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC C Programování s omezujícími podmínkami I, 9. října Propagace omezení

13 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC (3..4,4,1..5) CB C Programování s omezujícími podmínkami I, 9. října Propagace omezení

14 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC (3..4,4,1..5) CB (3..4,4,5) AB C Programování s omezujícími podmínkami I, 9. října Propagace omezení

15 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC (3..4,4,1..5) CB (3..4,4,5) AB (3,4,5) C Programování s omezujícími podmínkami I, 9. října Propagace omezení

16 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC (3..4,4,1..5) CB (3..4,4,5) AB (3,4,5) C Revize hrany opakujeme, dokud dochází ke zmenšení nějaké domény procedure AC-1(G) repeat Changed := false for hranu (i, j) G do Changed := revise((i, j)) or Changed until not(changed) end AC-1 Programování s omezujícími podmínkami I, 9. října Propagace omezení

17 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC (3..4,4,1..5) CB (3..4,4,5) AB (3,4,5) C Revize hrany opakujeme, dokud dochází ke zmenšení nějaké domény procedure AC-1(G) repeat Changed := false for hranu (i, j) G do Changed := revise((i, j)) or Changed until not(changed) end AC-1 AB, BA, BC, CB, Programování s omezujícími podmínkami I, 9. října Propagace omezení

18 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC (3..4,4,1..5) CB (3..4,4,5) AB (3,4,5) C Revize hrany opakujeme, dokud dochází ke zmenšení nějaké domény procedure AC-1(G) repeat Changed := false for hranu (i, j) G do Changed := revise((i, j)) or Changed until not(changed) end AC-1 AB, BA, BC, CB, AB, BA, BC, CB, Programování s omezujícími podmínkami I, 9. října Propagace omezení

19 Algoritmus AC-1 Jak udělat CSP hranově konzistentní? Provedeme revizi každé hrany Revize hrany zmenší doménu již zrevidované hrany opět nekonzistentní A A<B B B<C A<B, B<C: (3..7,1..5,1..5) AB (3..4,1..5,1..5) BA (3..4,4..5,1..5) BC (3..4,4,1..5) CB (3..4,4,5) AB (3,4,5) C Revize hrany opakujeme, dokud dochází ke zmenšení nějaké domény procedure AC-1(G) repeat Changed := false for hranu (i, j) G do Changed := revise((i, j)) or Changed until not(changed) end AC-1 AB, BA, BC, CB, AB, BA, BC, CB, AB, BA, BC, CB Programování s omezujícími podmínkami I, 9. října Propagace omezení

20 Algoritmus AC-3 opakování revizí můžeme dělat pomocí fronty stačí jediná fronta hran, které je potřeba (znova) zrevidovat do fronty přidáváme jen hrany, jejichž konzistence mohla být narušena zmenšením domény V k V m Programování s omezujícími podmínkami I, 9. října Propagace omezení

21 Algoritmus AC-3 opakování revizí můžeme dělat pomocí fronty stačí jediná fronta hran, které je potřeba (znova) zrevidovat do fronty přidáváme jen hrany, jejichž konzistence mohla být narušena zmenšením domény procedure AC-3(G) Q := {(i, j) (i, j) hrany(g), i j} while Q non empty do vyber a smaž (k, m) z Q if revise((k, m)) then V k V m Q := Q {(i, k) hrany(g), i k, i m} end while end AC-3 // seznam hran pro revizi Programování s omezujícími podmínkami I, 9. října Propagace omezení

22 Algoritmus AC-3 opakování revizí můžeme dělat pomocí fronty stačí jediná fronta hran, které je potřeba (znova) zrevidovat do fronty přidáváme jen hrany, jejichž konzistence mohla být narušena zmenšením domény procedure AC-3(G) Q := {(i, j) (i, j) hrany(g), i j} while Q non empty do vyber a smaž (k, m) z Q if revise((k, m)) then end while end AC-3 V k V m Q := Q {(i, k) hrany(g), i k, i m} A<B B<C A B C // seznam hran pro revizi AB, BA, BC, CB, AB Programování s omezujícími podmínkami I, 9. října Propagace omezení

23 Algoritmus AC-3 opakování revizí můžeme dělat pomocí fronty stačí jediná fronta hran, které je potřeba (znova) zrevidovat do fronty přidáváme jen hrany, jejichž konzistence mohla být narušena zmenšením domény procedure AC-3(G) Q := {(i, j) (i, j) hrany(g), i j} while Q non empty do vyber a smaž (k, m) z Q if revise((k, m)) then end while end AC-3 V k V m Q := Q {(i, k) hrany(g), i k, i m} A<B B<C A B C // seznam hran pro revizi technika AC-3 je dnes asi nejpoužívánější, ale stále není optimální AB, BA, BC, CB, AB Programování s omezujícími podmínkami I, 9. října Propagace omezení

24 Algoritmus AC-3 opakování revizí můžeme dělat pomocí fronty stačí jediná fronta hran, které je potřeba (znova) zrevidovat do fronty přidáváme jen hrany, jejichž konzistence mohla být narušena zmenšením domény procedure AC-3(G) Q := {(i, j) (i, j) hrany(g), i j} while Q non empty do vyber a smaž (k, m) z Q if revise((k, m)) then end while end AC-3 V k V m Q := Q {(i, k) hrany(g), i k, i m} A<B B<C A B C // seznam hran pro revizi technika AC-3 je dnes asi nejpoužívánější, ale stále není optimální AB, BA, BC, CB, AB Jaké budou domény A,B,C po AC-3 pro: domain([a,b,c],1,10), A #= B + 1, C #< B Programování s omezujícími podmínkami I, 9. října Propagace omezení

25 Konzistence po cestě (PC path consistency) Jak posílit konzistenci? Budeme se zabývat několika podmínkami najednou. Příklad: A,B,C {0,1}, A B, B C, A C Cesta (V 0, V 1,..., V m ) je konzistentní právě tehdy, když pro každou dvojici hodnot x D 0 a y D m splňující binární podmínky na hraně V 0, V m existuje ohodnocení proměnných V 1,... V m 1 takové, že všechny binární podmínky mezi sousedy V j, V j+1 jsou splněny CSP je konzistentní po cestě, právě když jsou všechny cesty konzistentní Programování s omezujícími podmínkami I, 9. října Propagace omezení

26 Konzistence po cestě (PC path consistency) Jak posílit konzistenci? Budeme se zabývat několika podmínkami najednou. Příklad: A,B,C {0,1}, A B, B C, A C Cesta (V 0, V 1,..., V m ) je konzistentní právě tehdy, když pro každou dvojici hodnot x D 0 a y D m splňující binární podmínky na hraně V 0, V m existuje ohodnocení proměnných V 1,... V m 1 takové, že všechny binární podmínky mezi sousedy V j, V j+1 jsou splněny CSP je konzistentní po cestě, právě když jsou všechny cesty konzistentní Definice PC nezaručuje, že jsou splněny všechny podmínky nad vrcholy cesty, zabývá se pouze podmínkami mezi sousedy V 0 V 2 V 4 V 1??? V 3 Programování s omezujícími podmínkami I, 9. října Propagace omezení

27 PC a cesty délky 2 Zjišt ování konzistence všech cest není efektivní Stačí ověřit konzistenci cest délky 2 Věta: CSP je PC právě tehdy, když každá cesta délky 2 je PC. Programování s omezujícími podmínkami I, 9. října Propagace omezení

28 PC a cesty délky 2 Zjišt ování konzistence všech cest není efektivní Stačí ověřit konzistenci cest délky 2 Věta: CSP je PC právě tehdy, když každá cesta délky 2 je PC. Důkaz: 1) PC cesty délky 2 jsou PC 2) cesty délky 2 jsou PC n cesty délky n jsou PC PC indukcí podle délky cesty a) n = 2 platí triviálně b) n + 1 (za předpokladu, že platí pro n) i) vezmeme libovolných n + 1 vrcholů V 0, V 1,..., V n ii) vezmeme libovolné dvě kompatibilní hodnoty x 0 D 0 a x n D n iii) podle a) najdeme x n 1 D n 1 tak, že (x 0, x n 1 ) a (x n 1, x n ) platí iv) podle indukčního kroku najdeme zbylé hodnoty na cestě V 0, V 1,..., V n 1 Programování s omezujícími podmínkami I, 9. října Propagace omezení

29 Vztah PC a AC PC AC hrana (i, j) je hranově konzistentní, pokud je (i, j, i) konzistentní po cestě Programování s omezujícími podmínkami I, 9. října Propagace omezení

30 Vztah PC a AC PC AC hrana (i, j) je hranově konzistentní, pokud je (i, j, i) konzistentní po cestě AC PC příklad: A,B,C {0,1}, A B, B C, A C je AC, ale není PC, A=1, B=2 nelze rozšířít po cestě (A,C,B) Programování s omezujícími podmínkami I, 9. října Propagace omezení

31 Vztah PC a AC PC AC hrana (i, j) je hranově konzistentní, pokud je (i, j, i) konzistentní po cestě AC PC příklad: A,B,C {0,1}, A B, B C, A C je AC, ale není PC, A=1, B=2 nelze rozšířít po cestě (A,C,B) AC vyřazuje nekompatibilní prvky z domény proměnných. Co dělá PC? PC vyřazuje dvojice hodnot PC si pamatuje podmínky explicitně PC si pamatuje, které dvojice hodnot jsou v relaci PC dělá všechny relace implicitní (A<B,B<C A+1<C) Programování s omezujícími podmínkami I, 9. října Propagace omezení

32 Příklad: barvení grafu Nalezněte obarvení vrcholů grafu, aby sousední vrcholy neměly stejnou barvu. Programování s omezujícími podmínkami I, 9. října Propagace omezení

33 Příklad: barvení grafu Nalezněte obarvení vrcholů grafu, aby sousední vrcholy neměly stejnou barvu. není PC konzistentní lze přiřadit x 1 = r, x 3 = b je PC konzistentní Programování s omezujícími podmínkami I, 9. října Propagace omezení

34 Algoritmus revize cesty Jak udělat každou cestu z V i do V j přes V m konzistentní? Pro dvojici proměnných V i a V j aktualizuji prvky relace R ij Vyřadím dvojici (a, b) z R ij, pokud neexistuje taková hodnota c V m, že (a, c) je kozistentní pro R im a (c, b) je kozistentní pro R mj Programování s omezujícími podmínkami I, 9. října Propagace omezení

35 Algoritmus revize cesty Jak udělat každou cestu z V i do V j přes V m konzistentní? Pro dvojici proměnných V i a V j aktualizuji prvky relace R ij Vyřadím dvojici (a, b) z R ij, pokud neexistuje taková hodnota c V m, že (a, c) je kozistentní pro R im a (c, b) je kozistentní pro R mj procedure revise-3((i, j), m) Deleted := false for (a, b) R ij do if neexistuje c D j takové, že (a, c) R im a (c, b) R mj then smaž (a, b) z R ij Deleted := true return Deleted V 1, V 2 {a, b}, V 3 {a, b, c}, V 1 V 2, V 2 V 3, V 1 V 3 end revise-3 revise-3((1, 3), 2) Programování s omezujícími podmínkami I, 9. října Propagace omezení

36 Algoritmus revize cesty Jak udělat každou cestu z V i do V j přes V m konzistentní? Pro dvojici proměnných V i a V j aktualizuji prvky relace R ij Vyřadím dvojici (a, b) z R ij, pokud neexistuje taková hodnota c V m, že (a, c) je kozistentní pro R im a (c, b) je kozistentní pro R mj procedure revise-3((i, j), m) Deleted := false for (a, b) R ij do if neexistuje c D j takové, že (a, c) R im a (c, b) R mj then smaž (a, b) z R ij Deleted := true return Deleted V 1, V 2 {a, b}, V 3 {a, b, c}, V 1 V 2, V 2 V 3, V 1 V 3 end revise-3 revise-3((1, 3), 2) Složitost O(k 3 ) (k maximální velikost domény) = cyklus pro každou dvojici (a, b): O(k 2 ), vnitřní cyklus přes c D j : O(k) Programování s omezujícími podmínkami I, 9. října Propagace omezení

37 Algoritmus PC-1 Jak udělat CSP konzistentní po cestě? Provedeme revizi každé cesty délky 2 Revize cesty odstraní dvojice již zrevidované cesty opět nekonzistentní Revize cesty opakujeme dokud jsou nějaké dvojice smazány Princip je podobný jako u AC-1 procedure PC-1(G) repeat Changed := false for m := 1 to n for i := 1 to n for j := 1 to n Changed := revise-3((i, j), m) or Changed until not(changed) end PC-1 Programování s omezujícími podmínkami I, 9. října Propagace omezení

38 Složitost algoritmu PC-1 Celková složitost O(n 5 k 5 ) odvození podobné jako pro AC-1 3 cykly pro trojice hodnot O(n 3 ) revise-3 O(k 3 ) O(n 2 k 2 ) počet opakování repeat cyklu jeden cyklus smaže (v nejhorším případě) právě jednu dvojici hodnot celkem n 2 k 2 hodnot (n 2 dvojic proměnných, k 2 dvojic hodnot pro každou dvojici proměnných) Programování s omezujícími podmínkami I, 9. října Propagace omezení

39 Složitost algoritmu PC-1 Celková složitost O(n 5 k 5 ) odvození podobné jako pro AC-1 3 cykly pro trojice hodnot O(n 3 ) revise-3 O(k 3 ) O(n 2 k 2 ) počet opakování repeat cyklu jeden cyklus smaže (v nejhorším případě) právě jednu dvojici hodnot celkem n 2 k 2 hodnot (n 2 dvojic proměnných, k 2 dvojic hodnot pro každou dvojici proměnných) Neefektivita PC-1 opakovaná revize všech cest, i když pro ně nedošlo k žádné změně při revizi stačí kontrolovat jen zasažené cesty podobně jako pro PC-1 Programování s omezujícími podmínkami I, 9. října Propagace omezení

40 Složitost algoritmu PC-1 Celková složitost O(n 5 k 5 ) odvození podobné jako pro AC-1 3 cykly pro trojice hodnot O(n 3 ) revise-3 O(k 3 ) O(n 2 k 2 ) počet opakování repeat cyklu jeden cyklus smaže (v nejhorším případě) právě jednu dvojici hodnot celkem n 2 k 2 hodnot (n 2 dvojic proměnných, k 2 dvojic hodnot pro každou dvojici proměnných) Neefektivita PC-1 opakovaná revize všech cest, i když pro ně nedošlo k žádné změně při revizi stačí kontrolovat jen zasažené cesty podobně jako pro PC-1 cesty stačí brát pouze s jednou orientací... R ij je totéž co R ji příklad: V 1, V 2 {a, b}, V 3 {a, b, c}, V 1 V 2, V 2 V, 3 V 1 V 3 důsledek revise-3((1, 3), 2) a revise-3((3, 1), 2)? Programování s omezujícími podmínkami I, 9. října Propagace omezení

41 Algoritmus PC-2 Cesty beru pouze s jednou orientací aktualizuji pouze jednu z R ij, R ji Do fronty dávám pouze zasažené cesty podobná modifikace jako AC-3 revise-3((i, j), m) mění R ij, stačí tedy aktualizovat R lj a R li Programování s omezujícími podmínkami I, 9. října Propagace omezení

42 Algoritmus PC-2 Cesty beru pouze s jednou orientací aktualizuji pouze jednu z R ij, R ji Do fronty dávám pouze zasažené cesty podobná modifikace jako AC-3 revise-3((i, j), m) mění R ij, stačí tedy aktualizovat R lj a R li procedure PC-2(G) Q := {(i, m, j) 1 i < j n, 1 m n, m i, m j} //seznam cest pro revizi while Q non empty do vyber a smaž trojici (i, m, j) z Q if revise-3((i, j), m) then Q := Q {(l, i, j)(l, j, i) 1 l n, l i, l j} end while end PC-2 Programování s omezujícími podmínkami I, 9. října Propagace omezení

43 Složitost algoritmu PC-2 Složitost O(n 3 k 5 ) každé (i, m, j) může být ve frontě maximálně k 2 krát = O(k 2 ) když je (i, m, j) přidáno do fronty, R ij bylo redukováno alespoň o jednu hodnotu celkem n 3 trojic (i, m, j) = O(n 3 ) revise-3 O(k 3 ) Programování s omezujícími podmínkami I, 9. října Propagace omezení

44 Složitost algoritmu PC-2 Složitost O(n 3 k 5 ) každé (i, m, j) může být ve frontě maximálně k 2 krát = O(k 2 ) když je (i, m, j) přidáno do fronty, R ij bylo redukováno alespoň o jednu hodnotu celkem n 3 trojic (i, m, j) = O(n 3 ) revise-3 O(k 3 ) Algoritmus není optimální podobně jako AC-3 existuje algoritmus PC-4 založen na počítání podpor složitost PC-4 je O(n 3 k 3 ), tj. optimální Programování s omezujícími podmínkami I, 9. října Propagace omezení

45 Na půli cesty od AC k PC Jak oslabit PC, aby algoritmus: neměl pamět ové nároky PC neměnil graf podmínek byl silnější než AC? Programování s omezujícími podmínkami I, 9. října Propagace omezení

46 Na půli cesty od AC k PC Jak oslabit PC, aby algoritmus: neměl pamět ové nároky PC neměnil graf podmínek byl silnější než AC? Omezená konzistence po cestě testujeme PC jen v případě, když je šance, že to povede k vyřazení hodnoty z domény proměnné Příklad: V 1, V 2 {a, b}, V 3 {a, b, c}, V 1 V 2, V 2 V 3, V 1 V 3 je AC ale není PC RPC odstraní z domény V 3 hodnoty a, b Programování s omezujícími podmínkami I, 9. října Propagace omezení

47 Omezená konzistence po cestě PC hrany se testuje pouze tehdy, pokud vyřazení dvojice může vést k vyřazení některého z prvků z domény příslušné proměnné Jak to poznáme? Jedná se o jedinou vzájemnou podporu Proměnná V i je omezeně konzistentní po cestě (restricted path consistent): každá hrana vedoucí z V i je hranově konzistentní pro každé a D i platí: je-li b jediná podpora a ve vrcholu j, potom v každém vrcholu k (spojenem s i a j) existuje hodnota c tak, že (a, c) a (b, c) jsou kompatibilní s příslušnými podmínkami Algoritmus: založen na AC-4 + seznam cest pro PC (viz Barták přednáška) Programování s omezujícími podmínkami I, 9. října Propagace omezení

48 k-konzistence mají AC a PC něco společného? AC: rozšiřujeme jednu hodnotu do druhé proměnné PC: rozšířujeme dvojici hodnot do třetí proměnné... můžeme pokračovat Programování s omezujícími podmínkami I, 9. října Propagace omezení

49 k-konzistence mají AC a PC něco společného? AC: rozšiřujeme jednu hodnotu do druhé proměnné PC: rozšířujeme dvojici hodnot do třetí proměnné... můžeme pokračovat CSP je k-konzistentní právě tehdy, když můžeme libovolné konzistentní ohodnocení (k-1) různých proměnných rozšířit do libovolné k-té proměnné Programování s omezujícími podmínkami I, 9. října Propagace omezení

50 k-konzistence mají AC a PC něco společného? AC: rozšiřujeme jednu hodnotu do druhé proměnné PC: rozšířujeme dvojici hodnot do třetí proměnné... můžeme pokračovat CSP je k-konzistentní právě tehdy, když můžeme libovolné konzistentní ohodnocení (k-1) různých proměnných rozšířit do libovolné k-té proměnné = 1,2,3 = 1,2,3 = 1,2,3 = 4 = 4-konzistentní graf Programování s omezujícími podmínkami I, 9. října Propagace omezení

51 Silná k-konzistence 3-konzistentní graf A 1,2 B C = 1,2 = 1,2,3 není 2-konzistentní = Programování s omezujícími podmínkami I, 9. října Propagace omezení

52 3-konzistentní graf Silná k-konzistence A 1,2 B C = 1,2 = 1,2,3 = není 2-konzistentní (1, 1) lze rozšířit na (1, 1, 1) (3) nelze rozšířit (2, 2) lze rozšířit na (2, 2, 2) (1, 3) ani (2, 3) nejsou konzistentní dvojice (nerozšiřujeme je) Programování s omezujícími podmínkami I, 9. října Propagace omezení

53 3-konzistentní graf Silná k-konzistence A 1,2 B C = 1,2 = 1,2,3 = není 2-konzistentní (1, 1) lze rozšířit na (1, 1, 1) (3) nelze rozšířit (2, 2) lze rozšířit na (2, 2, 2) (1, 3) ani (2, 3) nejsou konzistentní dvojice (nerozšiřujeme je) CSP je silně k-konzistentní právě tehdy, když je j-konzistentní pro každé j k Programování s omezujícími podmínkami I, 9. října Propagace omezení

54 3-konzistentní graf Silná k-konzistence A 1,2 B C = 1,2 = 1,2,3 = není 2-konzistentní (1, 1) lze rozšířit na (1, 1, 1) (3) nelze rozšířit (2, 2) lze rozšířit na (2, 2, 2) (1, 3) ani (2, 3) nejsou konzistentní dvojice (nerozšiřujeme je) CSP je silně k-konzistentní právě tehdy, když je j-konzistentní pro každé j k Silná k-konzistence k-konzistence Silná k-konzistence j-konzistence j k k-konzistence silná k-konzistence Programování s omezujícími podmínkami I, 9. října Propagace omezení

55 3-konzistentní graf Silná k-konzistence A 1,2 B C = 1,2 = 1,2,3 = není 2-konzistentní (1, 1) lze rozšířit na (1, 1, 1) (3) nelze rozšířit (2, 2) lze rozšířit na (2, 2, 2) (1, 3) ani (2, 3) nejsou konzistentní dvojice (nerozšiřujeme je) CSP je silně k-konzistentní právě tehdy, když je j-konzistentní pro každé j k Silná k-konzistence k-konzistence Silná k-konzistence j-konzistence j k k-konzistence silná k-konzistence NC = silná 1-konzistence = 1-konzistence AC = (silná) 2-konzistence PC = (silná) 3-konzistence Programování s omezujícími podmínkami I, 9. října Propagace omezení

56 Konzistence pro nalezení řešení Máme-li graf s n vrcholy, jak silnou konzistenci potřebujeme, abychom přímo našli řešení? silná n-konzistence je nutná pro graf s n vrcholy Programování s omezujícími podmínkami I, 9. října Propagace omezení

57 Konzistence pro nalezení řešení Máme-li graf s n vrcholy, jak silnou konzistenci potřebujeme, abychom přímo našli řešení? silná n-konzistence je nutná pro graf s n vrcholy n-konzistence nestačí (viz předchozí příklad) Programování s omezujícími podmínkami I, 9. října Propagace omezení

58 Konzistence pro nalezení řešení Máme-li graf s n vrcholy, jak silnou konzistenci potřebujeme, abychom přímo našli řešení? silná n-konzistence je nutná pro graf s n vrcholy n-konzistence nestačí (viz předchozí příklad) silná k-konzistence pro k<n také nestačí 1,2,...,n 1 = = = = 1,2,...,n 1 = = = = = 1,2,...,n 1 = 1,2,...,n 1 graf s n vrcholy domény 1..(n-1) Programování s omezujícími podmínkami I, 9. října Propagace omezení

59 Konzistence pro nalezení řešení Máme-li graf s n vrcholy, jak silnou konzistenci potřebujeme, abychom přímo našli řešení? silná n-konzistence je nutná pro graf s n vrcholy n-konzistence nestačí (viz předchozí příklad) silná k-konzistence pro k<n také nestačí 1,2,...,n 1 = = = = 1,2,...,n 1 = = = = = 1,2,...,n 1 = 1,2,...,n 1 graf s n vrcholy domény 1..(n-1) silně k-konzistentní pro každé k<n přesto nemá řešení Programování s omezujícími podmínkami I, 9. října Propagace omezení

60 Obecné algoritmy pro dosažení k-konzistence Rozšíření revize hrany a revize cesty postupně odstraňujeme prvky z relace nad (k-1) proměnnými Aktualizujeme relace nad každou (k-1)-ticí proměnných musíme si pamatovat (k-1)-tice hodnot Programování s omezujícími podmínkami I, 9. října Propagace omezení

61 Obecné algoritmy pro dosažení k-konzistence Rozšíření revize hrany a revize cesty postupně odstraňujeme prvky z relace nad (k-1) proměnnými Aktualizujeme relace nad každou (k-1)-ticí proměnných musíme si pamatovat (k-1)-tice hodnot Obecný algoritmus rozšíření AC-1 a PC-1 opakování revizí nad (k-1)-ticemi dokud dochází ke změnám Velká pamět ová i časová složitost v praxi se pro vyšší k nepoužívá Algoritmy i složitost viz Dechter: Constraint Processing Programování s omezujícími podmínkami I, 9. října Propagace omezení

62 Konzistence pro nebinární omezení

63 Pojmy a značení Rozsah omezení scope(c): množina proměnných, na kterých je C definováno k-tice t hodnot patřících do C: t C Proměnná x scope(c), k-tice t C: t[x] je hodnota proměnné x v t Příklad: A,B,C {0,1,2}, A<B Programování s omezujícími podmínkami I, 9. října Propagace omezení

64 Domain consistency Doménová konzistence zobecnění hranové konzistence, nazývána také generalized arc-consistency Hodnota a proměnné x scope(c) má doménovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] D y Programování s omezujícími podmínkami I, 9. října Propagace omezení

65 Domain consistency Doménová konzistence zobecnění hranové konzistence, nazývána také generalized arc-consistency Hodnota a proměnné x scope(c) má doménovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] D y Princip doménové podpory stejný jako u dřívější podpory v kontextu AC Programování s omezujícími podmínkami I, 9. října Propagace omezení

66 Domain consistency Doménová konzistence zobecnění hranové konzistence, nazývána také generalized arc-consistency Hodnota a proměnné x scope(c) má doménovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] D y Princip doménové podpory stejný jako u dřívější podpory v kontextu AC Příklad: A,B {0, 1}, C {1, 2}, A #= B+C, 0 u A nemá podporu, 1 u A má podporu (1,0,1) Programování s omezujícími podmínkami I, 9. října Propagace omezení

67 Domain consistency Doménová konzistence zobecnění hranové konzistence, nazývána také generalized arc-consistency Hodnota a proměnné x scope(c) má doménovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] D y Princip doménové podpory stejný jako u dřívější podpory v kontextu AC Příklad: A,B {0, 1}, C {1, 2}, A #= B+C, 0 u A nemá podporu, 1 u A má podporu (1,0,1) Omezení je doménově konzistentní, jestliže každá hodnota a proměnné x scope(c) má doménovou podporu v C CSP je doménově konzistentní, jestliže jsou všechny jeho omezení doménově konzistentní. Příklad (pokračování): po provedení doménové konzistence dostaneme A=1, B=0, C=1 Programování s omezujícími podmínkami I, 9. října Propagace omezení

68 Konzistence mezí Bounds consistency BC: slabší než doménová konzistence propagace pouze při změně minimální nebo maximální hodnoty v doméně proměnné tedy došlo ke změně mezí domény proměnné Programování s omezujícími podmínkami I, 9. října Propagace omezení

69 Konzistence mezí Bounds consistency BC: slabší než doménová konzistence propagace pouze při změně minimální nebo maximální hodnoty v doméně proměnné tedy došlo ke změně mezí domény proměnné Konzistence mezí pro nerovnice A #> B => min(a) = min(b)+1, max(b) = max(a)-1 příklad: A in 4..10, B in 6..18, A #> B min(a) = 6+1 A in max(b) = 10-1 B in 6..9 podobně: A #< B, A #>= B, A #=< B Jak je to tedy pro nebinární omezení? Programování s omezujícími podmínkami I, 9. října Propagace omezení

70 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Programování s omezujícími podmínkami I, 9. října Propagace omezení

71 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... Programování s omezujícími podmínkami I, 9. října Propagace omezení

72 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 Programování s omezujícími podmínkami I, 9. října Propagace omezení

73 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 A #= B + 2 Programování s omezujícími podmínkami I, 9. října Propagace omezení

74 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 A #= B + 2 min(a)=1+2, max(a)=10+2 A in Programování s omezujícími podmínkami I, 9. října Propagace omezení

75 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 A #= B + 2 min(a)=1+2, max(a)=10+2 A in min(b)=1-2, max(b)=10-2 B in 1..8 Programování s omezujícími podmínkami I, 9. října Propagace omezení

76 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 A #= B + 2 min(a)=1+2, max(a)=10+2 A in min(b)=1-2, max(b)=10-2 B in 1..8 A #> 5 min(a)=6 A in Programování s omezujícími podmínkami I, 9. října Propagace omezení

77 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 A #= B + 2 min(a)=1+2, max(a)=10+2 A in min(b)=1-2, max(b)=10-2 B in 1..8 A #> 5 min(a)=6 A in min(b)=6-2 B in 4..8 Programování s omezujícími podmínkami I, 9. října Propagace omezení

78 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 A #= B + 2 min(a)=1+2, max(a)=10+2 A in min(b)=1-2, max(b)=10-2 B in 1..8 A #> 5 min(a)=6 A in min(b)=6-2 B in 4..8 A #\= 8 A in (6..7) \/ (9..10) Programování s omezujícími podmínkami I, 9. října Propagace omezení

79 Konzistence mezí a aritmetická omezení A #= B + C => min(a) = min(b)+min(c), max(a) = max(b)+max(c) min(b) = min(a)-max(c), max(b) = max(a)-min(c) min(c) = min(a)-max(b), max(c) = max(a)-min(b) Změna min(a)vyvolá pouze změnu min(b) a min(c) Změna max(a)vyvolá pouze změnu max(b) a max(c),... příklad: A in 1..10, B in 1..10, A #= B + 2, A #> 5, A #\= 8 A #= B + 2 min(a)=1+2, max(a)=10+2 A in min(b)=1-2, max(b)=10-2 B in 1..8 A #> 5 min(a)=6 A in min(b)=6-2 B in 4..8 A #\= 8 A in (6..7) \/ (9..10) Vyzkoušejte si: A #= B - C, A #>= B + C Programování s omezujícími podmínkami I, 9. října Propagace omezení

80 Definice konzistence mezí Hodnota a proměnné x scope(c) má intervalovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] [min(d y ), max(d y )] Programování s omezujícími podmínkami I, 9. října Propagace omezení

81 Definice konzistence mezí Hodnota a proměnné x scope(c) má intervalovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] [min(d y ), max(d y )] tato podmínka byla u doménové podpory ve tvaru: pro každé y scope(c) platí t[y] D y Programování s omezujícími podmínkami I, 9. října Propagace omezení

82 Definice konzistence mezí Hodnota a proměnné x scope(c) má intervalovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] [min(d y ), max(d y )] tato podmínka byla u doménové podpory ve tvaru: pro každé y scope(c) platí t[y] D y Příklad: A in (6..7)\/(9..10), B in 4..8, A #= B + 2 Programování s omezujícími podmínkami I, 9. října Propagace omezení

83 Definice konzistence mezí Hodnota a proměnné x scope(c) má intervalovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] [min(d y ), max(d y )] tato podmínka byla u doménové podpory ve tvaru: pro každé y scope(c) platí t[y] D y Příklad: A in (6..7)\/(9..10), B in 4..8, A #= B + 2 hodnota 6 proměnné B má intervalovou podporu (8,6) ale nemá doménovou podporu Programování s omezujícími podmínkami I, 9. října Propagace omezení

84 Definice konzistence mezí Hodnota a proměnné x scope(c) má intervalovou podporu t v C, jestliže t C a platí a = t[x] pro každé y scope(c) platí t[y] [min(d y ), max(d y )] tato podmínka byla u doménové podpory ve tvaru: pro každé y scope(c) platí t[y] D y Příklad: A in (6..7)\/(9..10), B in 4..8, A #= B + 2 hodnota 6 proměnné B má intervalovou podporu (8,6) ale nemá doménovou podporu Omezení má konzistentní meze, jestliže každá hodnota a proměnné x scope(c) má intervalovou podporu v C CSP má konzistentní meze, jestliže všechna jeho omezení mají konzistentní meze. Programování s omezujícími podmínkami I, 9. října Propagace omezení

Automatizované řešení úloh s omezeními

Automatizované řešení úloh s omezeními Automatizované řešení úloh s omezeními Martin Kot Katedra informatiky, FEI, Vysoká škola báňská Technická universita Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Česká republika 25. října 2012 M. Kot

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice) - 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje

Více

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

Více

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 10 ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML HTTP://KTIML.MFF.CUNI.CZ/~SURYNEK/NAIL094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 ROZHODOVÁNÍ TEORIÍ POMOCÍ SAT ŘEŠIČE (SMT)

Více

Algoritmy I, složitost

Algoritmy I, složitost A0B36PRI - PROGRAMOVÁNÍ Algoritmy I, složitost České vysoké učení technické Fakulta elektrotechnická v 1.01 Rychlost... Jeden algoritmus (program, postup, metoda ) je rychlejší než druhý. Co ta věta znamená??

Více

Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE. Tomáš Müller. Interaktivní tvorba rozvrhu

Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE. Tomáš Müller. Interaktivní tvorba rozvrhu Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Tomáš Müller Interaktivní tvorba rozvrhu Katedra teoretické informatiky Vedoucí diplomové práce: RNDr. Roman Barták, PhD. Studijní

Více

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2. Aproximace funkcí Aproximace je výpočet funkčních hodnot funkce z nějaké třídy funkcí, která je v určitém smyslu nejbližší funkci nebo datům, která chceme aproximovat. Třída funkcí, ze které volíme aproximace

Více

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Petr Blaha Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Cykly Základní funkce (matematické, textové,

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

5 Minimální kostry, Hladový algoritmus

5 Minimální kostry, Hladový algoritmus 5 Minimální kostry, Hladový algoritmus Kromě teoretických hrátek mají kostry grafů (Oddíl 4.4) následující důležité praktické použití: Dříve jsme uvažovali spojení v grafech cestami jdoucími z jednoho

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

Historie matematiky a informatiky Cvičení 2

Historie matematiky a informatiky Cvičení 2 Historie matematiky a informatiky Cvičení 2 Doc. RNDr. Alena Šolcová, Ph. D., KAM, FIT ČVUT v Praze 2014 Evropský sociální fond Investujeme do vaší budoucnosti Alena Šolcová Číselně teoretické funkce (Number-Theoretic

Více

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy. Poznámka:Slovem okružní myslíme,žecestakončívestejném městě,

Více

analytické geometrie v prostoru s počátkem 18. stol.

analytické geometrie v prostoru s počátkem 18. stol. 4.. Funkce více proměnných, definice, vlastnosti Funkce více proměnných Funkce více proměnných se v matematice začal používat v rámci rozvoje analtické geometrie v prostoru s počátkem 8. stol. I v sami

Více

Posloupnosti a jejich konvergence POSLOUPNOSTI

Posloupnosti a jejich konvergence POSLOUPNOSTI Posloupnosti a jejich konvergence Pojem konvergence je velmi důležitý pro nediskrétní matematiku. Je nezbytný všude, kde je potřeba aproximovat nějaké hodnoty, řešit rovnice přibližně, používat derivace,

Více

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května 2009. First Prev Next Last Go Back Full Screen Close Quit Teorie grafů zadání úloh letní semestr 2008/2009 Poslední aktualizace: 19. května 2009 Obsah Úloha číslo 1 5 Úloha číslo 2 6 Úloha číslo 3 7 Úloha číslo 4 8 Úloha číslo 5 9 Úloha číslo 6 10 Úloha číslo

Více

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení.

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení. 7 Barevnost a další těžké problémy Pro motivaci této lekce se podíváme hlouběji do historie počátků grafů v matematice. Kromě slavného problému sedmi mostů v Královci (dnešním Kaliningradě) je za další

Více

ABSTRAKTNÍ DATOVÉ TYPY

ABSTRAKTNÍ DATOVÉ TYPY Jurdič Radim ABSTRAKTNÍ DATOVÉ TYPY Veškeré hodnoty, s nimiž v programech pracujeme, můžeme rozdělit do několika skupin zvaných datové typy. Každý datový typ představuje množinu hodnot, nad kterými můžeme

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace - 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura

Více

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 WSH Windows Script Hosting OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 Co je skript? Skriptování nástroj pro správu systému a automatizaci úloh Umožňuje psát skripty jednoduché interpretované programové

Více

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky.

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky. Teoretická informatika průběh výuky v semestru 1 Týden 11 Přednáška Nejprve jsme dokončili témata zapsaná u minulé přednášky. PSPACE, NPSPACE, PSPACE-úplnost Uvědomilijsmesi,ženapř.prozjištěnítoho,zdaBílýmánějakoustrategiivehřeŠACHY,

Více

Složitost a moderní kryptografie

Složitost a moderní kryptografie Složitost a moderní kryptografie Radek Pelánek Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Složitost a moderní kryptografie

Více

Optimizing Limousine Service with AI. David Marek

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

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

12. Determinanty. 12. Determinanty p. 1/25

12. Determinanty. 12. Determinanty p. 1/25 12. Determinanty 12. Determinanty p. 1/25 12. Determinanty p. 2/25 Determinanty 1. Induktivní definice determinantu 2. Determinant a antisymetrické formy 3. Výpočet hodnoty determinantu 4. Determinant

Více

Ohodnocené orientované grafy

Ohodnocené orientované grafy Ohodnocené orientované grafy Definice Buď G graf Funkce w : H( G) (, ) se nazývá (hranové) ohodnocení grafu G; graf se zadaným ohodnocením se nazývá ohodnocený graf Definice Nechť G je orientovaný graf

Více

3. Optimalizace pomocí nástroje Řešitel

3. Optimalizace pomocí nástroje Řešitel 3. Optimalizace pomocí nástroje Řešitel Rovnováha mechanické soustavy Uvažujme dvě různé nehmotné lineární pružiny P 1 a P 2 připevněné na pevné horizontální tyči splývající s osou x podle obrázku: (0,0)

Více

Řešení 1. série. Řešení S-I-1-1 Nejdříve si uvědomme, že platí následující vztahy. h = 1 2 v d, h = 1 2 s k,

Řešení 1. série. Řešení S-I-1-1 Nejdříve si uvědomme, že platí následující vztahy. h = 1 2 v d, h = 1 2 s k, Řešení 1. série Řešení S-I-1-1 Nejdříve si uvědomme, že platí následující vztahy h = 1 2 v d, h = 1 2 s k, kde h je počet hran, v je počet vrcholů, d je stupeň vrcholu, s je počet stěn a k je počet úhlů

Více

Navrhování experimentů a jejich analýza. Eva Jarošová

Navrhování experimentů a jejich analýza. Eva Jarošová Navrhování experimentů a jejich analýza Eva Jarošová Obsah Základní techniky Vyhodnocení výsledků Experimenty s jedním zkoumaným faktorem Faktoriální experimenty úplné 2 N dílčí 2 N-p Experimenty pro studium

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství.

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství. }else{ { if($b >$ c){ echo $max=$b; // vypí }else{ echo $max=$c; // vypí?> cas se }e B : se{ echo B ; default: ($b>$c){ echo C ; } $max=$b; }else{ $max=$c; PHP nejen pro začátečníky k;?> $c; echo { Martin

Více

7 Kardinální informace o kritériích (část 1)

7 Kardinální informace o kritériích (část 1) 7 Kardinální informace o kritériích (část 1) Předpokládejme stejná značení jako v předchozích cvičeních. Kardinální informací o kritériích se rozumí ohodnocení jejich důležitosti k pomocí váhového vektoru

Více

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace RELACE Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace slouží k vyjádření vztahů mezi prvky nějakých množin. Vztahy mohou být různé povahy. Patří sem vztah býti potomkem,

Více

Program a životní cyklus programu

Program a životní cyklus programu Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS Excel 2010 Základy maker Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory:

Více

Semestrální práce z předmětu Matematika 6F

Semestrální práce z předmětu Matematika 6F vypracoval: Jaroslav Nušl dne: 17.6.24 email: nusl@cvut.org Semestrální práce z předmětu Matematika 6F Zádání: Cílem semestrální práce z matematiky 6F bylo zkoumání hudebního signálu. Pluginem ve Winampu

Více

Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Jiří Neubauer. Katedra ekonometrie FEM UO Brno Přednáška č. 11 Katedra ekonometrie FEM UO Brno Jedná se o speciální případ dopravních úloh, řeší např. problematiku optimálního přiřazení strojů na pracoviště. Příklad Podnik má k dispozici 3 jeřáby,

Více

Úlohy k procvičování textu o univerzální algebře

Úlohy k procvičování textu o univerzální algebře Úlohy k procvičování textu o univerzální algebře Číslo za pomlčkou v označení úlohy je číslo kapitoly textu, která je úlohou procvičovaná. Každá úloha je vyřešena o několik stránek později. Kontrolní otázky

Více

Optimalizace úvěrových nabídek. EmbedIT 7.11.2013 Tomáš Hanžl

Optimalizace úvěrových nabídek. EmbedIT 7.11.2013 Tomáš Hanžl Optimalizace úvěrových nabídek EmbedIT 7.11.2013 Tomáš Hanžl Obsah Spotřebitelský úvěr Popis produktu Produktová definice v HC Kalkulace úvěru Úloha nalezení optimálního produktu Shrnutí Spotřebitelský

Více

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy Volné stromy Úvod do programování Souvislý, acyklický, neorientovaný graf nazýváme volným stromem (free tree). Často vynecháváme adjektivum volný, a říkáme jen, že daný graf je strom. Michal Krátký 1,Jiří

Více

4. ZÁKLADNÍ TYPY ROZDĚLENÍ PRAVDĚPODOBNOSTI DISKRÉTNÍ NÁHODNÉ VELIČINY

4. ZÁKLADNÍ TYPY ROZDĚLENÍ PRAVDĚPODOBNOSTI DISKRÉTNÍ NÁHODNÉ VELIČINY 4. ZÁKLADNÍ TYPY ROZDĚLENÍ PRAVDĚPODOBNOSTI DISKRÉTNÍ NÁHODNÉ VELIČINY Průvodce studiem V této kapitole se seznámíte se základními typy rozložení diskrétní náhodné veličiny. Vašim úkolem by neměla být

Více

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování. Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově

Více

10 Důkazové postupy pro algoritmy

10 Důkazové postupy pro algoritmy 10 Důkazové postupy pro algoritmy Nyní si ukážeme, jak formální deklarativní jazyk z Lekce 9 využít k formálně přesným induktivním důkazům vybraných algoritmů. Dá se říci, že tato lekce je vrcholem v naší

Více

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér

Více

Teorie sférické trigonometrie

Teorie sférické trigonometrie Teorie sférické trigonometrie Trigonometrie (z řeckého trigónon = trojúhelník a metrein= měřit) je oblast goniometrie zabývající se praktickým užitím goniometrických funkcí při řešení úloh o trojúhelnících.

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné

Více

Kolekce, cyklus foreach

Kolekce, cyklus foreach Kolekce, cyklus foreach Jen informativně Kolekce = seskupení prvků (objektů) Jednu již známe pole (Array) Kolekce v C# = třída, která implementuje IEnumerable (ICollection) Cyklus foreach ArrayList pro

Více

Dokumentace zápočtového programu z Programování I (NPRG030) Kompromisátor. David Pěgřímek. http://davpe.net

Dokumentace zápočtového programu z Programování I (NPRG030) Kompromisátor. David Pěgřímek. http://davpe.net Dokumentace zápočtového programu z Programování I (NPRG030) Kompromisátor David Pěgřímek http://davpe.net Obsah 1 Úvodem 2 2 Ovládání programu 3 2.1 Vstup programu.......................................

Více

PSY117/454 Statistická analýza dat v psychologii Přednáška 10

PSY117/454 Statistická analýza dat v psychologii Přednáška 10 PSY117/454 Statistická analýza dat v psychologii Přednáška 10 TESTY PRO NOMINÁLNÍ A ORDINÁLNÍ PROMĚNNÉ NEPARAMETRICKÉ METODY... a to mělo, jak sám vidíte, nedozírné následky. Smrť Analýza četností hodnot

Více

Disjunktivní a konjunktivní lní tvar formule. 2.přednáška

Disjunktivní a konjunktivní lní tvar formule. 2.přednáška Disjunktivní a konjunktivní normáln lní tvar formule 2.přednáška Disjunktivní normáln lní forma Definice Řekneme, že formule ( A ) je v disjunktivním normálním tvaru (formě), zkráceně v DNF, jestliže je

Více

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4 Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................

Více

NP-úplnost problému SAT

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

Více

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost Teoretická informatika průběh výuky v semestru 1 Týden 14 Přednáška PSPACE, NPSPACE, PSPACE-úplnost Uvědomili jsme si nejprve, že např. pro zjištění toho, zda Bílý má nějakou strategii ve hře ŠACHY, která

Více

1. Základní pojmy, používané v tomto manuálu. 2. Stránky

1. Základní pojmy, používané v tomto manuálu. 2. Stránky Redakční systém manuál 1. Základní pojmy, používané v tomto manuálu Hlavní menu Menu v horní světlemodré liště obsahující 7 základních položek: Publikovat, Správa, Vzhled, Komentáře, Nastavení, Pluginy,

Více

CZ 1.07/1.1.32/02.0006

CZ 1.07/1.1.32/02.0006 PO ŠKOLE DO ŠKOLY CZ 1.07/1.1.32/02.0006 Číslo projektu: CZ.1.07/1.1.32/02.0006 Název projektu: Po škole do školy Příjemce grantu: Gymnázium, Kladno Název výstupu: Prohlubující semináře Matematika (MI

Více

3. Celistvé výrazy a jejich úprava 3.1. Číselné výrazy

3. Celistvé výrazy a jejich úprava 3.1. Číselné výrazy . Celistvé výrazy a jejich úprava.1. Číselné výrazy 8. ročník. Celistvé výrazy a jejich úprava Proměnná je znak, zpravidla ve tvaru písmene, který zastupuje čísla z dané množiny čísel. Většinou se setkáváme

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá

Více

Nechť M je množina. Zobrazení z M M do M se nazývá (binární) operace

Nechť M je množina. Zobrazení z M M do M se nazývá (binární) operace Kapitola 2 Algebraické struktury Řada algebraických objektů má podobu množiny s nějakou dodatečnou strukturou. Například vektorový prostor je množina vektorů, ty však nejsou jeden jako druhý : jeden z

Více

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady Základy programování (IZAPR, IZKPR) Přednáška 5 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Příkazy cyklu -

Více

STŘEDOŠKOLSKÁ MATEMATIKA

STŘEDOŠKOLSKÁ MATEMATIKA STŘEDOŠKOLSKÁ MATEMATIKA MOCNINY, ODMOCNINY, ALGEBRAICKÉ VÝRAZY VŠB Technická univerzita Ostrava Ekonomická fakulta 006 Mocniny, odmocniny, algebraické výrazy http://moodle.vsb.cz/ 1 OBSAH 1 Informace

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Principy UML. Clear View Training 2005 v2.2 1

Principy UML. Clear View Training 2005 v2.2 1 Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat

Více

(ne)závislost. α 1 x 1 + α 2 x 2 + + α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

(ne)závislost. α 1 x 1 + α 2 x 2 + + α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0. Lineární (ne)závislost [1] Odečítání vektorů, asociativita BI-LIN, zavislost, 3, P. Olšák [2] Místo, abychom psali zdlouhavě: x + ( 1) y, píšeme stručněji x y. Vektoru y = ( 1) y říkáme opačný vektor k

Více

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel Modul Řešitel (v anglické verzi Solver) je určen pro řešení lineárních i nelineárních úloh matematického programování. Pro ilustraci

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

Více

Oproti definici ekvivalence jsme tedy pouze zaměnili symetričnost za antisymetričnost.

Oproti definici ekvivalence jsme tedy pouze zaměnili symetričnost za antisymetričnost. Kapitola 3 Uspořádání a svazy Pojem uspořádání, který je tématem této kapitoly, představuje (vedle zobrazení a ekvivalence) další zajímavý a důležitý speciální případ pojmu relace. 3.1 Uspořádání Definice

Více

4.Řešení optimalizačních úloh v tabulkových kalkulátorech

4.Řešení optimalizačních úloh v tabulkových kalkulátorech 4.Řešení optimalizačních úloh v tabulkových kalkulátorech Tabulkové kalkulátory patří mezi nejpoužívanější a pro běžného uživatele nejdostupnější programové systémy. Kromě základních a jim vlastních funkcí

Více

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují 1. u + v = v + u, u, v V 2. (u + v) + w = u + (v + w),

Více

Logický důsledek. Petr Kuchyňka (7765@mail.muni.cz)

Logický důsledek. Petr Kuchyňka (7765@mail.muni.cz) Logický důsledek Petr Kuchyňka (7765@mail.muni.cz) Úvod P 1 Logický důsledek je hlavním předmětem zájmu logiky. Je to relace mezi premisami a závěry logicky platných úsudků: v logicky platném úsudku závěr

Více

Radomíra Duží L06615. Datový typ množina

Radomíra Duží L06615. Datový typ množina Radomíra Duží L06615 Datový typ množina Množina slouží k uložení prvků stejného bázového ordinárního typu. Bázové typy - jsou typy, jejichž hodnot mohou prvky množiny nabývat. Nesmí obsahovat více než

Více

Trojúhelník a čtyřúhelník výpočet jejich obsahu, konstrukční úlohy

Trojúhelník a čtyřúhelník výpočet jejich obsahu, konstrukční úlohy 5 Trojúhelník a čtyřúhelník výpočet jejich obsahu, konstrukční úlohy Trojúhelník: Trojúhelník je definován jako průnik tří polorovin. Pojmy: ABC - vrcholy trojúhelníku abc - strany trojúhelníku ( a+b>c,

Více

Programy na PODMÍNĚNÝ příkaz IF a CASE

Programy na PODMÍNĚNÝ příkaz IF a CASE Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak

Více

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace Význam triangulace trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy příklad triangulace Definice Triangulace nad množinou bodů v rovině představuje takové planární

Více

SÍŤOVÁ ANALÝZA. Kristýna Slabá, kslaba@students.zcu.cz. 1. července 2010

SÍŤOVÁ ANALÝZA. Kristýna Slabá, kslaba@students.zcu.cz. 1. července 2010 SÍŤOVÁ ANALÝZA Kristýna Slabá, kslaba@students.zcu.cz 1. července 2010 Obsah 1 Úvod do síťové analýzy Hlavní metody síťové analýzy a jejich charakteristika Metoda CPM Metoda PERT Nákladová analýza Metoda

Více

Už známe datové typy pro representaci celých čísel i typy pro representaci

Už známe datové typy pro representaci celých čísel i typy pro representaci Dlouhá čísla Tomáš Holan, dlouha.txt, Verse: 19. února 2006. Už známe datové typy pro representaci celých čísel i typy pro representaci desetinných čísel. Co ale dělat, když nám žádný z dostupných datových

Více

Databáze pro evidenci výrobků

Databáze pro evidenci výrobků Databáze pro evidenci výrobků Databáze ve formátu Microsoft Access je součástí systému, který řídí automatizovanou výrobní linku. Tabulka tblcharge obsahuje data o výrobcích a je plněna automaticky řídicím

Více

Sekvenční a podmíněné provádění

Sekvenční a podmíněné provádění Programování v Bourne shellu Sekvenční a podmíněné provádění Sekvenční provádění znamená vykonávání jednoho příkazu za druhým bez ohledu na okolnosti. Pro oddělení příkazů při sekvenčním provádění se používá

Více

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno

Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno 12 Délka výpočtu algoritmu Mimo samotné správnosti výsledku vypočteného zapsaným algoritmem je ještě jedno neméně důležité hledisko k posouzení vhodnosti algoritmu k řešení zadané úlohy. Jedná se o čas,

Více

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektových

Více

Tematický celek 03 - Cvičné příklady

Tematický celek 03 - Cvičné příklady Tematický celek 03 - Cvičné příklady Cvičný 1 Dim a As Object Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Proceruda tlačítka "Vlož obsah

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Jana

Více

Active Directory Replikace, hlavní operační servery, topologie

Active Directory Replikace, hlavní operační servery, topologie Active Directory Replikace, hlavní operační servery, topologie Operace kdy si doménové řadiče vyměňují informace se nazývá replikace. Dochází k ní tehdy pokud na jenom doménovém řadiči provedeme změnu.

Více

Projekt programu Inženýrská Informatika 2

Projekt programu Inženýrská Informatika 2 Projekt programu Inženýrská Informatika 2 Realizace grafu v jazyce Java Ústav počítačové a řídicí techniky, VŠCHT Praha Řešitel: Jan Hornof (ININ 258) Vedoucí: doc. Ing. Jaromír Kukal, Ph.D. 1. Obsah 1.

Více

Fuzzy logika a reálný svět, aneb jsou všechny hromady skutečně malé?

Fuzzy logika a reálný svět, aneb jsou všechny hromady skutečně malé? Fuzzy logika a reálný svět, aneb jsou všechny hromady skutečně malé? Jiří Močkoř University of Ostrava Department of Mathematics Institute for Research and Applications of Fuzzy Modeling 30. dubna 22,

Více

map, multimap - Asociativní pole v C++.

map, multimap - Asociativní pole v C++. map, multimap - Asociativní pole v C++. Jedná se o asociativní pole. V asociativním poli jsou uloženy hodnoty ve tvaru (klíč,hodnota), kde klíč je vlastně "index" prvku. Klíčem může být libovolný objekt,

Více

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch.

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch. 1. ŘEŠENÉ PŘÍKLADY 1.2 PŘÍKLAD 24-2-8-2_DOKONALÉ ČÍSLO Napište program, který má na vstupu přirozené číslo N > 1. Výstupem je informace o tom, zda toto číslo je/není dokonalé. (Dokonalé číslo je takové

Více

Programování v jazyku LOGO - úvod

Programování v jazyku LOGO - úvod Programování v jazyku LOGO - úvod Programovací jazyk LOGO je určen pro výuku algoritmizace především pro děti školou povinné. Programovací jazyk pracuje v grafickém prostředí, přičemž jednou z jeho podstatných

Více

5 Informace o aspiračních úrovních kritérií

5 Informace o aspiračních úrovních kritérií 5 Informace o aspiračních úrovních kritérií Aspirační úroveň kritérií je minimální (maximální) hodnota, které musí varianta pro dané maximalizační (minimalizační) kritérium dosáhnout, aby byla akceptovatelná.

Více

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13 Postův korespondenční problém Meze rozhodnutelnosti 2 p.1/13 Postův korespondenční problém Definice 10.1 Postův systém nad abecedou Σ je dán neprázdným seznamem S dvojic neprázdných řetězců nadσ, S = (α

Více

Obvyklý tvar produkční funkce v krátkém období

Obvyklý tvar produkční funkce v krátkém období Produkční analýza firmy základní východiska analýzy firmy krátkodobá produkční funkce výroba v dlouhém období, optimum firmy optimum firmy při různých úrovních nákladů a při změnách cen VF výnosy z rozsahu

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write(\nPrumerna teplota je {0}, tprumer); Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());

Více

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Rozhodovací stromy Doc. RNDr. Iveta Mrázová, CSc.

Více

GOODWILL vyššší odborná škola, s. r. o. P. Holého 400, Frýdek-Místek

GOODWILL vyššší odborná škola, s. r. o. P. Holého 400, Frýdek-Místek GOODWILL vyššší odborná škola, s. r. o. P. Holého 400, Frýdek-Místek Projekt Využití ICT ve výuce na gymnáziích, registrační číslo projektu CZ.1.07/1.1.07/02.0030 MS Word Metodický materiál pro základní

Více