CLP(F D) program. Základní struktura CLP programu solve( Variables ) :- 1. definice proměnných a jejich domén declare_variables( Variables),
|
|
- Dominik Konečný
- před 5 lety
- Počet zobrazení:
Transkript
1 CLP(F D) program Základní struktura CLP programu solve( Variables ) :- 1. definice proměnných a jejich domén declare_variables( Variables), 2. definice omezení post_constraints( Variables ), 3. hledání řešení labeling( Variables ). (1) a (2) deklarativní část modelování problému (3) řídící část prohledávání stavového prostoru řešení procedura pro hledání řešení (enumeraci) se nazývá labeling umožní nalézt jedno, všechna nebo optimální řešení Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
2 Implementace vlastních omezení Mechanismus používaný v SICStus Prologu Vestavěný predikát fd_global(+c,+s,+v) sešle omezení C s iniciálním stavem S fd_global(my_constr(a,b),term,[min(a)]) V říká, kdy se má omezení probudit dom(x) při libovolné změně domény proměnné X min(x)/max(x) při změně minima/maxima proměnné X minmax(x) při změně minima nebo maxima proměnné X val(x) v případě, že proměnná je instanciována na konkrétní hodnotu Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
3 Implementace vlastních omezení Mechanismus používaný v SICStus Prologu Vestavěný predikát fd_global(+c,+s,+v) sešle omezení C s iniciálním stavem S fd_global(my_constr(a,b),term,[min(a)]) V říká, kdy se má omezení probudit dom(x) při libovolné změně domény proměnné X min(x)/max(x) při změně minima/maxima proměnné X minmax(x) při změně minima nebo maxima proměnné X val(x) v případě, že proměnná je instanciována na konkrétní hodnotu Uživatel definuje: clpfd:dispatch_global(+c,+s0,-s,-a) vyvoláno při propagaci omezení C se stavem S0 výsledkem je nový stav S (pomocí stavů lze předat informace z minulého volání dispatch_global, např. jaká byla doména některé proměnné v posledním volání) seznam A požadavků na řešič (např. X in NewMinX..NewMaxX, call(goal)) implementace nesmí obsahovat rekurzivní volání řešice, tj. omezení (k tomu je určeno A) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
4 Příklad: dispatch_global less_then(a,b) :- fd_global(a2b(a,b),no_state,[min(a)]), fd_global(b2a(a,b),no_state,[max(b)]). Implementace podmínky A<B pomocí propagace mezí dispatch_global(a2b(a,b),s,s,actions) :- A #< B => fd_min(a,mina), fd_max(a,maxa), fd_min(b,minb) ( MaxA<MinB -> Actions = [exit] ; LowerBoundB is MinA+1, min(b) = min(a)+1 Actions = [B in LowerBoundB..sup] ). dispatch_global(b2a(a,b),s,s,actions) :- fd_max(a,maxa), fd_min(b,minb), fd_max(b,maxb), ( MaxA<MinB -> Actions = [exit] ; UpperBoundA is MaxB-1, max(a) = max(b)-1 Actions = [A in inf..upperbounda] ). Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
5 Příklad: houpačka Zadání: Adam (36kg), Boris (32kg) a Cecil (15kg) se chtějí usadit na houpačku s deseti sedátky tak, aby byla houpačka vyvážená a měli mezi sebou vždy alespoň dvě sedačky. Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
6 Příklad: houpačka Zadání: Adam (36kg), Boris (32kg) a Cecil (15kg) se chtějí usadit na houpačku s deseti sedátky tak, aby byla houpačka vyvážená a měli mezi sebou vždy alespoň dvě sedačky. CSP model: A, B, C in 5..5 pozice na houpačce 36 A + 32 B + 16 C = 0 vyvážený stav A B > 2, A C > 2, B C > 2 minimální vzdálenosti Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
7 Houpačka: implementace houpacka(sol):- Sol = [A,B,C], domain(sol,-5,5), 36*A+32*B+16*C #= 0, abs(a-b)#>2,abs(a-c)#>2,abs(b-c)#>2, labeling([ff],sol). Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
8 Houpačka: implementace houpacka(sol):- Sol = [A,B,C], domain(sol,-5,5), 36*A+32*B+16*C #= 0, abs(a-b)#>2,abs(a-c)#>2,abs(b-c)#>2, labeling([ff],sol).?- houpacka(x). X = [-4,2,5]? ; X = [-4,4,1]? ; X = [-4,5,-1]? ; X = [4,-5,1]? ; X = [4,-4,-1]? ; X = [4,-2,-5]? ; no Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
9 Houpačka: implementace houpacka(sol):- Sol = [A,B,C], domain(sol,-5,5), 36*A+32*B+16*C #= 0, A #< 0, abs(a-b)#>2,abs(a-c)#>2,abs(b-c)#>2, labeling([ff],sol).?- houpacka(x). X = [-4,2,5]? ; X = [-4,4,1]? ; X = [-4,5,-1]? ; X = [4,-5,1]? ; X = [4,-4,-1]? ; X = [4,-2,-5]? ; no Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
10 Houpačka: implementace houpacka(sol):- Sol = [A,B,C], domain(sol,-5,5), 36*A+32*B+16*C #= 0, A #< 0, abs(a-b)#>2,abs(a-c)#>2,abs(b-c)#>2, labeling([ff],sol).?- houpacka(x). s A #< 0 X = [-4,2,5]? ; X = [-4,4,1]? ; X = [-4,5,-1]? ; no?- houpacka(x). X = [-4,2,5]? ; X = [-4,4,1]? ; X = [-4,5,-1]? ; X = [4,-5,1]? ; X = [4,-4,-1]? ; X = [4,-2,-5]? ; no Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
11 Houpačka: implementace houpacka(sol):- Sol = [A,B,C], domain(sol,-5,5), 36*A+32*B+16*C #= 0, A #< 0, abs(a-b)#>2,abs(a-c)#>2,abs(b-c)#>2, labeling([ff],sol).?- houpacka(x). X = [-4,2,5]? ; X = [-4,4,1]? ; X = [-4,5,-1]? ; X = [4,-5,1]? ; X = [4,-4,-1]? ; X = [4,-2,-5]? ; no?- houpacka(x). s A #< 0 X = [-4,2,5]? ; X = [-4,4,1]? ; X = [-4,5,-1]? ; no Odstranění symetrií nejen odstranění symetrických řešení zároveň odstranění částí stavového prostoru v případě, že byla prozkoumána symetrická část a nebylo nalezeno řešení př. A 5 A 5 velice důležité pro zmenšení prohledávacího prostoru Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
12 Houpačka: globální omezení Omezení pro vzdálenosti: množina podobných omezení nezávislá propagace pomocí hranové konzistence lze vylepšit použitím globálního omezení Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
13 Houpačka: globální omezení Omezení pro vzdálenosti: množina podobných omezení nezávislá propagace pomocí hranové konzistence lze vylepšit použitím globálního omezení Každý člověk na houpačce představuje "úlohu s dobou trvání 3" minimální vzdálenost mezi dvěma lidmi je 2 navzájem si do této vzdálenosti nesmí zasahovat, tj. nesmí se překrývat absolutní hodnoty nahradíme: serialized([a,b,c],[3,3,3]). serialized(starts,durations): úlohy se navzájem nesmí překrývat úlohy zadány startovními časy (1.seznam) a dobou trvání (2.seznam) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
14 Houpačka: globální omezení Omezení pro vzdálenosti: množina podobných omezení nezávislá propagace pomocí hranové konzistence lze vylepšit použitím globálního omezení Každý člověk na houpačce představuje "úlohu s dobou trvání 3" minimální vzdálenost mezi dvěma lidmi je 2 navzájem si do této vzdálenosti nesmí zasahovat, tj. nesmí se překrývat absolutní hodnoty nahradíme: serialized([a,b,c],[3,3,3]). serialized(starts,durations): úlohy se navzájem nesmí překrývat úlohy zadány startovními časy (1.seznam) a dobou trvání (2.seznam) Domény proměnných před labeling pro abs: A in -4..0, B in -1..5, C in při použití serialized: A in -4..0, B in -1..5, C in (-5..-3)\/(-1..5) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
15 Příklad: přiřazovací problém Zadání: Přiřad te čtyři pracovníky na výrobu čtyř produktů tak, že každý pracovní dělá jeden produkt a každý produkt je vyráběn jedním pracovníkem. Efektivita výrovy je dána následující tabulkou a celková efektivita musí být minimálně 19. P1 P2 P3 P4 W W W W Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
16 Příklad: přiřazovací problém Zadání: Přiřad te čtyři pracovníky na výrobu čtyř produktů tak, že každý pracovní dělá jeden produkt a každý produkt je vyráběn jedním pracovníkem. Efektivita výrovy je dána následující tabulkou a celková efektivita musí být minimálně 19. P1 P2 P3 P4 W W W W CSP model: W 1, W 2, W 3, W 4 in 1..4 all_dif f er ent([w 1, W 2, W 3, W 4] T [1,W1] + T [2,W2] + T [3,W3] + T [4,W4] 19 produkt pro pracovníka různé produkty celková efektivita Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
17 Přiřazovací problém: implementace prirazovani(sol) :- Sol = [W1,W2,W3,W4], domain(sol,1,4), all_distinct(sol), element(w1,[7,1,3,4],ew1), element(w2,[8,2,5,1],ew2), element(w3,[4,3,7,2],ew3), element(w4,[3,2,6,3],ew4), EW1+EW2+EW3+EW4 #>= 19, labeling([ff],sol). Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
18 Přiřazovací problém: implementace prirazovani(sol) :- Sol = [W1,W2,W3,W4], domain(sol,1,4), all_distinct(sol), element(w1,[7,1,3,4],ew1), element(w2,[8,2,5,1],ew2), element(w3,[4,3,7,2],ew3), element(w4,[3,2,6,3],ew4), EW1+EW2+EW3+EW4 #>= 19, labeling([ff],sol).?- prirazovani(x). cena: X = [1,2,3,4]? ; 19 X = [2,1,3,4]? ; 19 X = [4,1,2,3]? ; 21 X = [4,1,3,2]? ; 21 no Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
19 Přiřazovací problém: implementace prirazovani(sol) :- Sol = [W1,W2,W3,W4], domain(sol,1,4), all_distinct(sol), element(w1,[7,1,3,4],ew1), element(w2,[8,2,5,1],ew2), element(w3,[4,3,7,2],ew3), element(w4,[3,2,6,3],ew4), EW1+EW2+EW3+EW4 #>= 19, labeling([ff],sol). Optimalizace metodou větví a mezí při hledání optimálního řešení není nutné měnit model náhrada labeling EW1+EW2+EW3+EW4 #= E, maximize(labeling([ff],sol),e).?- prirazovani(x). cena: X = [1,2,3,4]? ; 19 X = [2,1,3,4]? ; 19 X = [4,1,2,3]? ; 21 X = [4,1,3,2]? ; 21 no Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
20 Přiřazovací problém: implementace prirazovani(sol) :- Sol = [W1,W2,W3,W4], domain(sol,1,4), all_distinct(sol), element(w1,[7,1,3,4],ew1), element(w2,[8,2,5,1],ew2), element(w3,[4,3,7,2],ew3), element(w4,[3,2,6,3],ew4), EW1+EW2+EW3+EW4 #>= 19, labeling([ff],sol).?- prirazovani(x). cena: X = [1,2,3,4]? ; 19 X = [2,1,3,4]? ; 19 X = [4,1,2,3]? ; 21 X = [4,1,3,2]? ; 21 no Optimalizace metodou větví a mezí při hledání optimálního řešení není nutné měnit model náhrada labeling EW1+EW2+EW3+EW4 #= E, maximize(labeling([ff],sol),e).?- prirazovani(x). X = [4,1,2,3]? ; no Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
21 Přiřazování: duální model Role proměnných a hodnot lze často přehodit Primární a duální model se někdy spojují dohromady pro zlepšení propagace Současný model: proměnné pro pracovníky, hodnoty definují produkt Duální model: proměnné pro produkty, hodnoty určují pracovníka prirazovani(sol) :- Sol = [P1,P2,P3,P4], domain(sol,1,4), all_distinct(sol), element(p1,[7,8,4,3],ep1), element(p2,[1,2,3,1],ep2), element(p3,[3,5,7,6],ep3), element(p4,[3,1,6,3],ep4), EP1+EP2+EP3+EP4 #>= 19, labeling([ff],sol). Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
22 Přiřazování: duální model Role proměnných a hodnot lze často přehodit Primární a duální model se někdy spojují dohromady pro zlepšení propagace Současný model: proměnné pro pracovníky, hodnoty definují produkt Duální model: proměnné pro produkty, hodnoty určují pracovníka prirazovani(sol) :- Sol = [P1,P2,P3,P4], domain(sol,1,4), all_distinct(sol), element(p1,[7,8,4,3],ep1), element(p2,[1,2,3,1],ep2), element(p3,[3,5,7,6],ep3), element(p4,[3,1,6,3],ep4), EP1+EP2+EP3+EP4 #>= 19, labeling([ff],sol). Modely se zdají ekvivalentní, ale domény před labeling jsou: W1 in 1..4 P1 in 1..2 W2 in 1..4 P2 in 1..4 W3 in 1..4 P3 in 2..4 W4 in 1..4 P4 in 1..4 Počet voleb pro nalezení všech řešení: duální model 11, primární model 15 Důvody: zisk více závislý na produktu než na pracovníkovi. Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
23 Přiřazování: oba modely zároveň Bohužel: určení efektivity různých modelů obtížné obvykle: nejlepší je model, který propaguje informace nejdříve Oba modely lze kombinovat do jednoho omezení obou modelů jsou použita assignment(xs, Y s) omezení umožní propojit modely Xs, Y s seznamy doménových proměnných nebo celých čísel délky n všechna Xi, Y i 1... n a Xi = j právě tehdy, když Y j = i větší množství omezení vyšší náročnost propagací pozor na konflikt: velikost stavového prostoru vs. náročnost propagací Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
24 Přiřazování: implementace obou modelů zároveň prirazovani(workers) :- Workers = [W1,W2,W3,W4], Products = [P1,P2,P3,P4], domain(sol,1,4), all_distinct(workers), element(w1,[7,1,3,4],ew1), element(w2,[8,2,5,1],ew2), element(w3,[4,3,7,2],ew3), element(w4,[3,2,6,3],ew4), EW1+EW2+EW3+EW4 #>= 19, domain(products,1,4), all_distinct(products), element(p1,[7,8,4,3],ep1), element(p2,[1,2,3,1],ep2), element(p3,[3,5,7,6],ep3), element(p4,[3,1,6,3],ep4), EP1+EP2+EP3+EP4 #>= 19, assignment(workers,products), labeling([ff],workers). Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
25 Přiřazování: implementace obou modelů zároveň prirazovani(workers) :- Workers = [W1,W2,W3,W4], Products = [P1,P2,P3,P4], domain(sol,1,4), all_distinct(workers), element(w1,[7,1,3,4],ew1), element(w2,[8,2,5,1],ew2), element(w3,[4,3,7,2],ew3), element(w4,[3,2,6,3],ew4), EW1+EW2+EW3+EW4 #>= 19, domain(products,1,4), all_distinct(products), element(p1,[7,8,4,3],ep1), element(p2,[1,2,3,1],ep2), element(p3,[3,5,7,6],ep3), element(p4,[3,1,6,3],ep4), EP1+EP2+EP3+EP4 #>= 19, W1 in (1..2)\/{4} P1 in 1..2 W2 in 1..4 P2 in 1..4 W3 in 2..4 P3 in 2..4 W4 in 2..4 P4 in 1..4 počet voleb pro nalezení všech řešení: 9 assignment(workers,products), labeling([ff],workers). Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
26 Příklad: Golombovo pravítko Pravítko s M značkami umístěnými tak, že vzájemné vzdálenosti mezi dvojicemi jsou navzájem různé Optimální pravítko má nejkratší délku Řešení pro M = 5 : [0, 1, 4, 9, 11] Pro M 16 těžké, pro M 24 není znám exaktní algoritmus Použití v radioastronomii Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
27 Golombovo pravítko: CSP model Základní model: Proměnné X 1,..., X M s doménou 0... M M X 1 = 0 začátek pravítka X 1 < X 2 < < X M odstranění permutací Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
28 Golombovo pravítko: CSP model Základní model: Proměnné X 1,..., X M s doménou 0... M M X 1 = 0 začátek pravítka X 1 < X 2 < < X M odstranění permutací i < j : D i,j = X j X i proměnné pro rozdíly vzdáleností all_dif f er ent({d 1,2, D 1,3,..., D 1,M, D 2,3,..., D M,M }) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
29 Golombovo pravítko: CSP model Základní model: Proměnné X 1,..., X M s doménou 0... M M X 1 = 0 začátek pravítka X 1 < X 2 < < X M odstranění permutací i < j : D i,j = X j X i proměnné pro rozdíly vzdáleností all_dif f er ent({d 1,2, D 1,3,..., D 1,M, D 2,3,..., D M,M }) Rozšíření modelu: D 1,2 < D M,M 1 odstranění symetrie (srovnej [0,1,4,9,11] a [0,2,7,10,11]) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
30 Základní model: Golombovo pravítko: CSP model Proměnné X 1,..., X M s doménou 0... M M X 1 = 0 X 1 < X 2 < < X M i < j : D i,j = X j X i začátek pravítka odstranění permutací proměnné pro rozdíly vzdáleností all_dif f er ent({d 1,2, D 1,3,..., D 1,M, D 2,3,..., D M,M }) Rozšíření modelu: D 1,2 < D M,M 1 odstranění symetrie (srovnej [0,1,4,9,11] a [0,2,7,10,11]) Přesnější meze pro D i,j D i,j =D i,i+1 + D i+1,i D j 1,j (D k,m v součtu jsou různá, je jich j i) Tedy: D i,j j i = (j i)(j i+1) 2 dolní mez ( n = n(n+1) 2 ) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
31 Základní model: Golombovo pravítko: CSP model Proměnné X 1,..., X M s doménou 0... M M X 1 = 0 X 1 < X 2 < < X M i < j : D i,j = X j X i začátek pravítka odstranění permutací proměnné pro rozdíly vzdáleností all_dif f er ent({d 1,2, D 1,3,..., D 1,M, D 2,3,..., D M,M }) Rozšíření modelu: D 1,2 < D M,M 1 odstranění symetrie (srovnej [0,1,4,9,11] a [0,2,7,10,11]) Přesnější meze pro D i,j D i,j =D i,i+1 + D i+1,i D j 1,j (D k,m v součtu jsou různá, je jich j i) Tedy: D i,j j i = (j i)(j i+1) 2 dolní mez ( n = n(n+1) 2 ) X M = X M X 1 = D 1,M = D 1,2 + D 2,3 + + D i 1,i +D i,j +D j,j D M 1,M D i,j = X M (D 1,2 + D 2,3 + + D i 1,i + D j,j D M 1,M Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
32 Základní model: Golombovo pravítko: CSP model Proměnné X 1,..., X M s doménou 0... M M X 1 = 0 X 1 < X 2 < < X M i < j : D i,j = X j X i začátek pravítka odstranění permutací proměnné pro rozdíly vzdáleností all_dif f er ent({d 1,2, D 1,3,..., D 1,M, D 2,3,..., D M,M }) Rozšíření modelu: D 1,2 < D M,M 1 odstranění symetrie (srovnej [0,1,4,9,11] a [0,2,7,10,11]) Přesnější meze pro D i,j D i,j =D i,i+1 + D i+1,i D j 1,j (D k,m v součtu jsou různá, je jich j i) Tedy: D i,j j i = (j i)(j i+1) 2 dolní mez ( n = n(n+1) 2 ) X M = X M X 1 = D 1,M = D 1,2 + D 2,3 + + D i 1,i +D i,j +D j,j D M 1,M D i,j = X M (D 1,2 + D 2,3 + + D i 1,i + D j,j D M 1,M Tedy: D i,j X M (M 1 j+i)(m j+i) 2 horní mez Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
33 Golombovo pravítko: výsledky Časy běhu na Mobile Pentium 4-M 1.7GHz, 768MB RAM Zákl.model Zákl.model Zákl.model Zákl.model Zákl.model - all_diff + symetrie + symetrie + symetrie + meze + meze - all_diff all_diff: místo all_dif f er ent je použita množina binárních nerovností Optimální pravítka pro danou velikost: 1 [0] 2 [0,1] 3 [0,1,3] 4 [0,1,4,6] 5 [0,1,4,9,11] 6 [0,1,4,10,12,17] 7 [0,1,4,10,18,23,25] 8 [0,1,4,9,15,22,32,34] 9 [0,1,5,12,25,27,35,41,44] 10 [0,1,6,10,23,26,34,41,53,55] 11 [0,1,4,13,28,33,47,54,64,70,72] 12 [0,2,6,24,29,40,43,55,68,75,76,85] Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
34 element(n,list,x) Shrnutí: globální omezení N-tý prvek v seznamu List je roven X assignment(xs,ys) Xs, Y s seznamy doménových proměnných nebo celých čísel délky n všechna Xi, Y i 1... n a Xi = j právě tehdy, když Y j = i all_distinct(list) všechny proměnné různé, úplný algoritmus udržující doménovou konzistenci all_different(list) má stejnou propagaci jako množina binárních nerovností global_cardinality(list, [Key-Count _ ]) pro Key-Count platí: Count prvků seznamu List se rovná klíči Key serialized(starts,durations) disjoint2( [Name(X, Delka, Y, Vyska) _ ] ) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
35 Disjunktivní rozvrhování serialized(starts,durations) rozvržení úloh zadaných startovním časem (seznam Starts) a dobou trvání (seznam nezáporných Durations) tak, aby se nepřekrývaly příklad s konstantami: serialized([0,3,5],[2,1,1]) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
36 Disjunktivní rozvrhování serialized(starts,durations) rozvržení úloh zadaných startovním časem (seznam Starts) a dobou trvání (seznam nezáporných Durations) tak, aby se nepřekrývaly příklad s konstantami: serialized([0,3,5],[2,1,1]) příklad: vytvoření rozvrhu, za předpokladu, že doba trvání hodin není stejná D in 1..2, C = 3, serialized([jan,petr,anna,ota,eva,marie], [D,D,D,C,C,C]) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
37 Disjunktivní rozvrhování serialized(starts,durations) rozvržení úloh zadaných startovním časem (seznam Starts) a dobou trvání (seznam nezáporných Durations) tak, aby se nepřekrývaly příklad s konstantami: serialized([0,3,5],[2,1,1]) příklad: vytvoření rozvrhu, za předpokladu, že doba trvání hodin není stejná D in 1..2, C = 3, serialized([jan,petr,anna,ota,eva,marie], [D,D,D,C,C,C]) princip algoritmu: hledáme úlohu, která předchází nebo následuje množinu jiných úloh SB in 6..12, DB#=4, SC in 7..10, DC#=5, SA in 4..14, DA#=2 SA in 4..5 Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
38 Nepřekrývání obdélníků disjoint2(rectangles) disjoint1(lines) disjoint2( [Name(X, Delka, Y, Vyska) _ ] ) umístění obdélníků ve dvourozměrném prostoru doménové proměnné X,Y,Delka,Vyska mohou být z oboru celých čísel příklad s konstantami: disjoint2([rect(0,3,0,1),rect(1,3,1,2),rect(4,2,2,-2)]) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
39 Nepřekrývání obdélníků disjoint2(rectangles) disjoint1(lines) disjoint2( [Name(X, Delka, Y, Vyska) _ ] ) umístění obdélníků ve dvourozměrném prostoru doménové proměnné X,Y,Delka,Vyska mohou být z oboru celých čísel příklad s konstantami: disjoint2([rect(0,3,0,1),rect(1,3,1,2),rect(4,2,2,-2)]) příklad: vytvoření rozvrhu za předpokladu, že učitelé učí v různých místnostech D in 1..2, C = 3, disjoint2(class(jan,d,m1,1), class(petr,d,m2,1), class(petr,d,m3,1),...]) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
40 Shrnutí Odstranění symetrií Použití globálních omezení Definice duálního problému Použití redundantních omezení R. Barták, Practical Constraints: A Tutorial on Modelling with Constraints. V J. Figwer (ed.) Proceedings of the 5th Workshop on Constraint Programming for Decision and Control (CPDC 2003). Gliwice, příklady i vysvětlení převzato z tohoto článku Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
41 Ukončení předmětu 3 řádné termíny: aktualizace viz IS MU Pá :00 C511 (řádný), max 8 Pá :00 C511 (řádný, opravný), max. 8 Út :00 C511 (řádný, opravný), max. 8 přihlášení a odhlášení možné 1 den před zkouškou další opravné termíny vypsány dle zájmu a potřeby kratší písemná práce pro každý řádný termín (maximum: 1 hodina) společná příprava pro všechny cca 5 otázek: přehledové, srovnávací, algoritmy, pojmy, příklady (model) ústní zkouška ve stejný den jako písemná práce (cca 30 minut) příprava na individuální otázky během zkoušky diskuse nad písemnou prací opravný termín pouze jako ústní zkouška (není už písemná práce) Programování s omezujícími podmínkami I, 18. prosince Logické programování s omezujícími podmínkami
Logické programování s omezujícími podmínkami. Constraint Logic Programming: CLP
Logické programování s omezujícími podmínkami Constraint Logic Programming: CLP CP a programovací jazyk Dosavadní předpoklady (pro CSP) omezení jsou dostupná na začátku prohledávání omezení jsou reprezentována
VíceOptimalizace & soft omezení: algoritmy
Optimalizace & soft omezení: algoritmy Soft propagace Klasická propagace: eliminace nekonzistentních hodnot z domén proměnných Soft propagace: propagace preferencí (cen) nad k-ticemi hodnot proměnných
VíceUmělá inteligence I. Roman Barták, KTIML.
Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Na úvod Zatím pro nás byl model světa černou skříňkou, ke které přistupujeme pouze přes: funkci následníka
VíceHranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
VícePA163 Programování s omezujícími podmínkami
Organizace předmětu PA163 Programování s omezujícími podmínkami Základní informace Web předmětu: http://www.fi.muni.cz/~hanka/cp Průsvitky: průběžně aktualizovány na webu předmětu Ukončení předmětu: cca
VíceIB013 Logické programování I Hana Rudová. jaro 2011
IB013 Logické programování I Hana Rudová jaro 2011 Hodnocení předmětu Zápočtový projekt: celkem až 40 bodů Průběžná písemná práce: až 30 bodů (základy programování v Prologu) pro každého jediný termín:
Víceu odpovědí typu A, B, C, D, E: Obsah: jako 0) CLP Constraint Logic Programming
Průběžná písemná práce Průběžná písemná práce Obsah: Průběžná písemná práce Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ délka pro vypracování: 25 minut nejsou povoleny žádné materiály
VíceUčební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování študenti MFF 15. augusta 2008 1 15 Základy lineárního programování Požadavky Simplexová metoda Věty o dualitě (bez důkazu)
VíceObsah: CLP Constraint Logic Programming. u odpovědí typu A, B, C, D, E: jako 0)
Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/uui/ Obsah: Průběžná písemná práce Úvod do umělé inteligence 6/12 1 / 17 Průběžná písemná práce Průběžná písemná práce délka pro vypracování: 25
VíceVyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
Vícefakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.
Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem
VíceILOG (aisa:/software/ilog/solver51/doc/index.html)
ILOG Solver ILOG (aisa:/software/ilog/solver51/doc/index.html) CSP modelován pomocí C++ tříd, různé sady knihoven napsané v C++ ILOG Solver = základní knihovny pravidelná aktualizace sw na MU definice
VíceBinární vyhledávací stromy pokročilé partie
Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald
VíceÚvod do teorie grafů
Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí
Vícee-mail: RadkaZahradnikova@seznam.cz 1. července 2010
Optimální výrobní program Radka Zahradníková e-mail: RadkaZahradnikova@seznam.cz 1. července 2010 Obsah 1 Lineární programování 2 Simplexová metoda 3 Grafická metoda 4 Optimální výrobní program Řešení
VíceLDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25
Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem
VíceProlog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David
Úvod do Prologu Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Warren (Warren Abstract Machine) implementace
VíceSEMESTRÁLNÍ ÚLOHY S PROGRAMY V PROLOGU (zadání úloh)
Cvičení 7 SEMESTRÁLNÍ ÚLOHY S PROGRAMY V PROLOGU (zadání úloh) 1. Polynomy Návod: Polynomy lze reprezentovat (nejen v Prologu) několika způsoby, které lze rozdělit do následujících skupin: A) podle množství
Více3. ANTAGONISTICKÉ HRY
3. ANTAGONISTICKÉ HRY ANTAGONISTICKÝ KONFLIKT Antagonistický konflikt je rozhodovací situace, v níž vystupují dva inteligentní rozhodovatelé, kteří se po volbě svých rozhodnutí rozdělí o pevnou částku,
VíceSEMESTRÁLNÍ ÚLOHY S PROGRAMY V PROLOGU (zadání úloh)
Cvičení 7 SEMESTRÁLNÍ ÚLOHY S PROGRAMY V PROLOGU (zadání úloh) 1. Polynomy Návod: Polynomy lze reprezentovat (nejen v Prologu) několika způsoby, které lze rozdělit do následujících skupin: A) podle množství
VíceNumerické metody a programování. Lekce 8
Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:
VíceDynamické rozvrhování
Dynamické rozvrhování Hana Rudová Fakulta informatiky, Masarykova universita http://www.fi.muni.cz/~hanka Informatické kolokvium, 9.10.2007 Dynamické rozvrhování (Dynamic scheduling) 1 Úvod 2 Popis problému
VíceANTAGONISTICKE HRY 172
5 ANTAGONISTICKÉ HRY 172 Antagonistický konflikt je rozhodovací situace, v níž vystupují dva inteligentní rozhodovatelé, kteří se po volbě svých rozhodnutí rozdělí o pevnou částku, jejíž výše nezávisí
VíceAutomatizované ř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íce3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem
ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte
VíceOptimizing 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íceProgramování. s omezujícími podmínkami. Roman Barták. roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak
Programování s omezujícími podmínkami Roman Barták Katedra teoretické informatiky a matematické logiky roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Konzistenční techniky Dosud jsme podmínky
VíceMatematika pro informatiky
(FIT ČVUT v Praze) Konvexní analýza 13.týden 1 / 1 Matematika pro informatiky Jaroslav Milota Fakulta informačních technologíı České vysoké učení technické v Praze Letní semestr 2010/11 Extrémy funkce
Více1 Úvod do celočíselné lineární optimalizace
Úvod do celočíselné lineární optimalizace Martin Branda, verze 7.. 7. Motivace Reálné (smíšeně-)celočíselné úlohy Optimalizace portfolia celočíselné počty akcií, modelování fixních transakčních nákladů,
VíceObecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno
Přednáška č. 3 Katedra ekonometrie FEM UO Brno Optimalizace portfolia Investor se s pomocí makléře rozhoduje mezi následujícími investicemi: akcie A, akcie B, státní pokladniční poukázky, dluhopis A, dluhopis
VíceTGH02 - teorie grafů, základní pojmy
TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 28. února 2017 Metainformace materiály: jan.brezina.matfyz.cz/vyuka/tgh (./materialy/crls8.pdf - Introduction to algorithms)
VíceProgramování. s omezujícími podmínkami. Roman Barták. rová hranová konzistence
Programování s omezujícími podmínkami Roman Barták Katedra teoretické informatiky a matematické logiky roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Směrov rová hranová konzistence Definice:
VícePlánováníá a rozvrhování
Plánováníá a rozvrhování Roman Barták, KTIML roman.bartak@mff.cuni.cz cz http://ktiml.mff.cuni.cz/~bartak Čas a plánování Konceptuální model plánování pracuje s implicitním časem: akce a události jsou
VíceKombinatorická minimalizace
Kombinatorická minimalizace Cílem je nalézt globální minimum ve velké diskrétní množině, kde může být mnoho lokálních minim. Úloha obchodního cestujícího Cílem je najít nejkratší cestu, která spojuje všechny
VíceČtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:
Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
VíceNumerické metody optimalizace - úvod
Numerické metody optimalizace - úvod Petr Tichý 16. února 2015 1 Organizace přednášek a cvičení 13 přednášek a cvičení. Zápočet: úloha programování a testování úloh v Matlabu. Další informace na blogu
Více4EK311 Operační výzkum. 5. Teorie grafů
4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,
Vícetype Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;
Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
VíceGrafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
VíceMetody lineární optimalizace Simplexová metoda. Distribuční úlohy
Metody lineární optimalizace Simplexová metoda Dvoufázová M-úloha Duální úloha jednofázová Post-optimalizační analýza Celočíselné řešení Metoda větví a mezí Distribuční úlohy 1 OÚLP = obecná úloha lineárního
VíceTeorie her a ekonomické rozhodování. 2. Maticové hry
Teorie her a ekonomické rozhodování 2. Maticové hry 2.1 Maticová hra Teorie her = ekonomická vědní disciplína, která se zabývá studiem konfliktních situací pomocí matematických modelů Hra v normálním tvaru
VíceNázev předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:
Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný
Více4EK213 LINEÁRNÍ MODELY
4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 Mgr. Sekničková Jana, Ph.D. 2. PŘEDNÁŠKA MATEMATICKÝ MODEL ÚLOHY LP Mgr. Sekničková Jana, Ph.D. 2 OSNOVA PŘEDNÁŠKY Obecná formulace MM Množina
VíceIB112 Základy matematiky
IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic
VíceMĚŘENÍ STATISTICKÝCH ZÁVISLOSTÍ
MĚŘENÍ STATISTICKÝCH ZÁVISLOSTÍ v praxi u jednoho prvku souboru se často zkoumá více veličin, které mohou na sobě různě záviset jednorozměrný výběrový soubor VSS X vícerozměrným výběrovým souborem VSS
Více4EK311 Operační výzkum. 1. Úvod do operačního výzkumu
4EK311 Operační výzkum 1. Úvod do operačního výzkumu Mgr. Jana SEKNIČKOVÁ, Ph.D. Nová budova, místnost 433 Konzultační hodiny InSIS E-mail: jana.seknickova@vse.cz Web: jana.seknicka.eu/vyuka Garant kurzu:
Víceanalytické 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íceDynamické programování
Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
VíceTřídy složitosti P a NP, NP-úplnost
Třídy složitosti P a NP, NP-úplnost Cíle přednášky: 1. Definovat, za jakých okolností můžeme problém považovat za efektivně algoritmicky řešitelný. 2. Charakterizovat určitou skupinu úloh, pro které není
VíceParametrické programování
Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou
VíceFIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
FIT ČVUT MI-LOM Lineární optimalizace a metody Dualita Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Michal Černý, 2011 FIT ČVUT, MI-LOM, M. Černý, 2011: Dualita 2/5 Dualita Evropský
VíceTOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze
TOKY V SÍTÍCH II Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 010/011, Lekce 10 Evropský sociální fond Praha & EU: Investujeme do vaší
VícePřiřazovací problém. Přednáška č. 7
Přiřazovací problém Přednáška č. 7 Přiřazovací problém je jednou podtřídou logistických úloh. Typickým problémem může být nejkratší převoz materiálu od dodavatelů ke spotřebitelům. spotřebitelé a i dodavatelé
VíceDijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
VíceCeločíselné lineární programování(ilp)
Celočíselné lineární programování(ilp) Zdeněk Hanzálek, Přemysl Šůcha {hanzalek}@fel.cvut.cz ČVUT FEL Katedra řídicí techniky 2. března 2010 Z. Hanzálek (ČVUT FEL) Celočíselné lineární programování(ilp)
Více4EK213 Lineární modely. 12. Dopravní problém výchozí řešení
4EK213 Lineární modely 12. Dopravní problém výchozí řešení 12. Distribuční úlohy LP Úlohy výrobního plánování (alokace zdrojů) Úlohy finančního plánování (optimalizace portfolia) Úlohy reklamního plánování
VíceSchéma identifikační procedury
Schéma identifikační procedury systém S generátor rekonstrukčních hypotéz G a S nejsou porovnatelné nelze srovnat kvalitu G a S S a S jsou porovnatelné kvalita dekompozice S? S : (S,S ) = G dekompozice
Více12. Globální metody MI-PAA
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
VíceMetody síťové analýzy
Metody síťové analýzy Řeší problematiku složitých systémů, zejména pak vazby mezi jejich jednotlivými prvky. Vychází z teorie grafů. Základní metody síťové analýzy: CPM (Critical Path Method) deterministický
VíceOptimalizace ú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íceMETODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1
METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ
VíceAlgoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Úvod stránky předmětu: https://cw.felk.cvut.cz/doku.php/courses/a4b33alg/start cíle předmětu Cílem je schopnost samostatné implementace různých variant základních
VíceRozhodovací procedury a verifikace Pavel Surynek, KTIML
6 Rozhodovací procedury a verifikace Pavel Surynek, KTIML http://ktiml.mff.cuni.cz/~surynek/nail094 Matematicko-fyzikální fakulta Univerzita Karlova v Praze 1 Lineární aritmetika Budeme zabývat rozhodovacími
Více3. Podmíněná pravděpodobnost a Bayesův vzorec
3. Podmíněná pravděpodobnost a Bayesův vzorec Poznámka: V některých úlohách řešíme situaci, kdy zkoumáme pravděpodobnost náhodného jevu za dalších omezujících podmínek. Nejčastěji má omezující podmínka
VíceVzdálenost uzlů v neorientovaném grafu
Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující
VíceNPRG030 Programování I, 2018/19 1 / :03:07
NPRG030 Programování I, 2018/19 1 / 20 3. 12. 2018 09:03:07 Vnitřní třídění Zadání: Uspořádejte pole délky N podle hodnot prvků Měřítko efektivity: * počet porovnání * počet přesunů NPRG030 Programování
Vícef(x) = arccotg x 2 x lim f(x). Určete všechny asymptoty grafu x 2 2 =
Řešení vzorové písemky z předmětu MAR Poznámky: Řešení úloh ze vzorové písemky jsou formulována dosti podrobně podobným způsobem jako u řešených příkladů ve skriptech U zkoušky lze jednotlivé kroky postupu
Více7. přednáška Systémová analýza a modelování. Přiřazovací problém
Přiřazovací problém Přiřazovací problémy jsou podtřídou logistických úloh, kde lze obecně říci, že m dodavatelů zásobuje m spotřebitelů. Dalším specifikem je, že kapacity dodavatelů (ai) i požadavky spotřebitelů
VíceVyužití principů, ale vlastní naprogramování řešících
Programování Cvičení 1 s omezujícími podmínkami Roman Barták Katedra teoretické informatiky a matematické logiky roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Využití CSP Využití principů,
VíceStefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Logika pro každodenní přežití Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
VíceKomprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky
Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Statistické metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Tunstallův
VíceOPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS
OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb Anotace: Optimalizace objektů pozemních staveb
VíceOperační výzkum. Teorie her. Hra v normálním tvaru. Optimální strategie. Maticové hry.
Operační výzkum Hra v normálním tvaru. Optimální strategie. Maticové hry. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky
Více5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
VíceUčební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Skalární součin študenti MFF 15. augusta 2008 1 10 Skalární součin Požadavky Vlastnosti v reálném i komplexním případě Norma Cauchy-Schwarzova nerovnost
VíceLogické programování I
Logické programování I PROLOG Program popisuje "svět" Prologu = databáze faktů a pravidel (tzv. klauzulí). fakta: predikát(arg1, arg2,...argn). cíle:?- predikát(arg1, arg2,...argn). pravidla: hlava :-
VíceStromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
Více12. Lineární programování
. Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)
VíceLineární programování
24.9.205 Lineární programování Radim Farana Podklady pro výuku pro akademický rok 203/204 Obsah Úloha lineárního programování. Formulace úlohy lineárního programování. Typické úlohy lineárního programování.
VícePopis zobrazení pomocí fuzzy logiky
Popis zobrazení pomocí fuzzy logiky diplomová práce Ján Fröhlich KM, FJFI, ČVUT 23. dubna 2009 Ján Fröhlich ( KM, FJFI, ČVUT ) Popis zobrazení pomocí fuzzy logiky 23. dubna 2009 1 / 25 Obsah 1 Úvod Základy
VíceOPTIMALIZAČNÍ ÚLOHY. Modelový příklad problém obchodního cestujícího:
OPTIMALIZAČNÍ ÚLOHY Problém optimalizace v různých oblastech: - minimalizace času, materiálu, - maximalizace výkonu, zisku, - optimalizace umístění komponent, propojení,... Modelový příklad problém obchodního
VíceFRAMEWORK PRO ŘEŠENÍ VÝPOČETNÍCH ÚLOH S OMEZUJÍCÍMI PODMÍNKAMI
FRAMEWORK PRO ŘEŠENÍ VÝPOČETNÍCH ÚLOH S OMEZUJÍCÍMI PODMÍNKAMI Petr Kahánek Logis s.r.o., pkahanek@logis.cz Ostravská Univerzita, Přírodovědecká fakulta, Katedra informatiky, petr.kahanek@osu.cz ABSTRAKT:
VícePlánování projektu. 3. dubna Úvod. 2 Reprezentace projektu. 3 Neomezené zdroje. 4 Variabilní doba trvání. 5 Přidání pracovní síly
Plánování proektu 3. dubna 2018 1 Úvod 2 Reprezentace proektu 3 Neomezené zdroe 4 Variabilní doba trvání 5 Přidání pracovní síly Problémy plánování proektu Zprostředkování, instalace a testování rozsáhlého
VícePříklady ke cvičením. Modelování produkčních a logistických systémů
Modelování produkčních a logistických systémů Katedra logistiky, kvality a automobilové techniky Garant, přednášející, cvičící: Jan Fábry 10.12.2018 Příklady ke cvičením Opakování lineárního programování
VíceBinární soubory (datové, typované)
Binární soubory (datové, typované) - na rozdíl od textových souborů data uložena binárně (ve vnitřním tvaru jako v proměnných programu) není čitelné pro člověka - všechny záznamy téhož typu (může být i
Více5 Orientované grafy, Toky v sítích
Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost
VíceNumerická matematika. Zadání 25. Řešení diferenciální rovnice Rungovou Kuttovou metodou
Numerická matematika Zadání 25. Řešení diferenciální rovnice Rungovou Kuttovou metodou Václav Bubník, xbubni01, sk. 60 FIT VUT v Brně, 2004 Obsah Numerická matematika...1 1. Teorie... 3 1.1 Diferenciální
VíceVraťme se k základům: DFS = Depth First Search
Prohledávání do hloubky Vraťme se k základům: DFS = Depth First Search DFS Programování s omezujícími podmínkami Roman Barták Katedra teoretické informatiky a matematické logiky roman.bartak@mff.cuni.cz
VíceDEFINICE,VĚTYADŮKAZYKÚSTNÍZKOUŠCEZMAT.ANALÝZY Ib
INFORMACE O PRŮBĚHU A POŽADAVKY KE ZKOUŠCE Z MAT. ANALÝZYIbVLS2010/11 Ke zkoušce mohou přistoupit studenti, kteří získali zápočet. Do indexu jej zapíši na zkoušce, pokud cvičící potvrdí, že na něj student
VíceMetody návrhu algoritmů, příklady. IB111 Programování a algoritmizace
Metody návrhu algoritmů, příklady IB111 Programování a algoritmizace 2011 Návrhu algoritmů vybrané metody: hladové algoritmy dynamické programování rekurze hrubá síla tato přednáška: především ilustrativní
VíceDiferenciální počet funkcí jedné reálné proměnné LOKÁLNÍ A GLOBÁLNÍ EXTRÉMY FUNKCÍ JEDNÉ REÁLNÉ PROMĚNNÉ LOKÁLNÍ EXTRÉMY
Diferenciální počet funkcí jedné reálné proměnné - 4.1 - LOKÁLNÍ A GLOBÁLNÍ EXTRÉMY FUNKCÍ JEDNÉ REÁLNÉ PROMĚNNÉ LOKÁLNÍ EXTRÉMY Při hledání lokálních etrémů postupujeme podle následujícího programu Nalezneme
Více13. Lineární programování
Jan Schmidt 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Zimní semestr 2011/12 MI-PAA EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI
Více4EK201 Matematické modelování. 2. Lineární programování
4EK201 Matematické modelování 2. Lineární programování 2.1 Podstata operačního výzkumu Operační výzkum (výzkum operací) Operational research, operations research, management science Soubor disciplín zaměřených
VíceÚvod do celočíselné optimalizace
Úvod do celočíselné optimalizace Martin Branda Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra pravděpodobnosti a matematické statistiky Výpočetní aspekty optimalizace Martin Branda (KPMS
VíceAlgoritmizace prostorových úloh
Algoritmizace prostorových úloh Vektorová data Daniela Szturcová Prostorová data Geoobjekt entita definovaná v prostoru. Znalost jeho identifikace, lokalizace umístění v prostoru, vlastností vlastních
VíceÚvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce Marie Duží marie.duzi@vsb.cz 1 Úvod do teoretické informatiky (logika) Naivní teorie množin Co je to množina? Množina je soubor prvků
VíceBooleova algebra. ZákonyBooleovy algebry Vyjádření logických funkcí
Booleova algebra ZákonyBooleovy algebry Vyjádření logických funkcí pravdivostní tabulka logický výraz seznam indexů vstupních písmen mapa vícerozměrná krychle 30-1-13 O. Novák 1 Booleova algebra Booleova
VíceMatematické modelování 4EK201
Matematické modelování 4EK0 Ukázkový test Maimum 00 bodů. Pokud má úloha lineárního programování více optimálních řešení, pak (a) jich může být nekonečně mnoho, (b) jich musí být nekonečně mnoho.. Doplňte
VíceDiskrétní matematika. DiM /01, zimní semestr 2016/2017
Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2016/2017 O tomto souboru Tento soubor je zamýšlen především jako pomůcka
Více