Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Kátai Zoltán ELTE, május

Hasonló előadás


Az előadások a következő témára: "Kátai Zoltán ELTE, május"— Előadás másolata:

1 Kátai Zoltán ELTE, 2018. május 14-18.

2 DINAMIKUS PROGRAMOZÁS

3 Barátságos mérkőzések PÁRBAN
Legyen egy n elemű természetes számsorozat (n páros). A játékosok felváltva választanak egy-egy elemet a számsor valamelyik végéről. Az nyer, aki a nagyobb összeget gyűjti össze. Meg lehet-e verni a „tanárt”, amennyiben hagyod, hogy ő kezdjen? 19 2 4 16 3 15 14 17 1 5 6 7 8 9 10

4 A kezdő minden lépésben, következetesen választhat páros/páratlan indexű elem között
19 2 4 16 3 15 14 17 1 5 6 7 8 9 10 47 48

5 Mennyi a maximális összeg, amit a kezdő garantáltan összeszedhet?
Input: a[1..n] Cél: maximalizálni a kezdő garantált összegét A barátod is mindig jól választ! Persze az általad, mint kezdő által, diktált keretek között.

6 Minden fordulóban 2-vel rövidül a számsor
[1..10] Döntési fa [1..8] [2..9] [3..10] [1..6] [2..7] [3..8] [4..9] [5..10] [1..4] [2..5] [3..6] [4..7] [5..8] [6..9] [7..10] [1..2] [2..3] [3..4] [4..5] [5..6] [6..7] [7..8] [8..9] [9..10]

7 Mennyi a maximális összeg, amit a kezdő garantáltan összeszedhet?
Eredeti feladat: mi a teljes tömbre (a[1..n]) vonatkozó optimum? Általános részfeladat: mi az optimum az a[i..j], páros hosszú tömbszakaszra vonatkozóan, ha a kezdő van soron? a[i] a[i+1] a[i+2] a[j-2] a[j-1] a[j] 1 i j n

8 Két út áll előttem, melyiket válasszam. a[i]-t vagy a[j]-t
Két út áll előttem, melyiket válasszam? a[i]-t vagy a[j]-t? Az előnyösebbet! Ha én a[i]-t választom, akkor Két út áll előtted, melyiket választod? a[j] vagy a[i+1]? A számomra előnytelenebbet! a[i] a[i+1] a[i+2] a[j-2] a[j-1] a[j] 1 i j n a[i] a[i+1] a[i+2] a[j-2] a[j-1] a[j] 1 i j n c[i][j] = max{a[i] + min{c[i+1][j-1], c[i+2][j]}, …}

9 Két út áll előttem, melyiket válasszam. a[i]-t vagy a[j]-t
Két út áll előttem, melyiket válasszam? a[i]-t vagy a[j]-t? Az előnyösebbet! Ha én a[j]-t választom, akkor Két út áll előtted, melyiket választod? a[i] vagy a[j-1]? A számomra előnytelenebbet! a[i] a[i+1] a[i+2] a[j-2] a[j-1] a[j] 1 i j n a[i] a[i+1] a[i+2] a[j-2] a[j-1] a[j] 1 i j n c[i][j] = max{a[i] + min{c[i+1][j-1], c[i+2][j]}, a[j] + min{c[i+1][j-1], c[i][j-2]}}

10 19 2 4 16 3 15 14 17 1 1 2 3 4 5 6(j) 7 8 9 10 19 (i)3 i,j-2 i,j 16 i+1,j-1 i+1,j 15 6 14 17 +a[j] +a[i] c[i][j] = max{a[i] + min{c[i+1][j-1], c[i+2][j]}, a[j] + min{c[i+1][j-1], c[i][j-2]}}

11 19 2 4 16 3 15 14 17 1 1 2 3 4 5 6 7 8 9 10 19 +16 23 37 52 +1 65 +19 18 33 50 16 31 45 46 15 29 30 14 21 17 c[i][j] = max{a[i] + min{c[i+1][j-1], c[i+2][j]}, a[j] + min{c[i+1][j-1], c[i][j-2]}}

12 19 16 15 14 17 c[i][j] = max{a[i] + min{c[i+1][j-1], c[i+2][j]},
3 2 19 16 15 14 17 Forduló 1 2 3 4 5 6 7 8 9 10 19 23 37 52 +1 65 18 33 50 +19 +16 16 +15 31 +14 45 46 +4 15 29 30 14 21 17 c[i][j] = max{a[i] + min{c[i+1][j-1], c[i+2][j]}, a[j] + min{c[i+1][j-1], c[i][j-2]}}

13 Döntési fa 65 [1..10] 10 +1 +19 52 50 46 [1..8] [2..9] [3..10] 8 +1 37
33 45 46 30 [1..6] [2..7] [3..8] [4..9] [5..10] 6 +14 23 18 31 31 29 31 21 [1..4] [2..5] [3..6] [4..7] [5..8] [6..9] [7..10] 4 +15 19 4 16 16 15 15 14 17 17 [1..2] [2..3] [3..4] [4..5] [5..6] [6..7] [7..8] [8..9] [9..10] 2

14 Megoldás: optimum-érték
. . . for( ; ; ){ //átlóról-átlóra for( ; ; ){ //kurrens átló mentén c[i][j] = maxi( a[i] + mini(c[i+1][j-1], c[i+2][j]), a[j] + mini(c[i+1][j-1], c[i][j-2])); }

15 Stratégia Egyszerűtől bonyolult fele haladva oldjuk meg a részfeladatokat Részfeladatonként egy értéket tárolunk el (tömbben) optimális megoldást képviselő optimum értéket megoldások számát Rekurzív képlet írja le, hogy a kurrens részfeladat: optimuma miként építhető fel a közvetlen fiúrészfeladatok optimumaiból (optimális építkezés: optimumokból optimálisan) megoldásszáma miként határozható meg a közvetlen fiúrészfeladatok megoldásszámaiból

16 DP-feladatok osztályozása
A dinamikus programozásos építkezés szintről szintre halad A k. szinti részfeladatok optimális megoldásai kizárólag 0..(k-1) szinti optimumoktól függnek Monadikus (monadic) Poliadikus (polyadic) Soros (serial) Nem-soros (non-serial)

17 Monadikus–soros 7 5 9 8 6 4 2 1 3 38 31 26 17 18 12 0. szint 1. szint 2. szint 3. szint 4. szint a c c[i][j] = max {a[i][j] + c[i+1][j], a[i][j] + c[i+1][j+1]}

18 Monadikus – nem-soros b 4 3 5 7 2 c 1 6 a c[i][j] = c[i-1][j-1] + 1, ha 1in, 1jm, a[i]=b[j] c[i][j] = max {c[i][j-1], c[i-1][j]}, 1in, 1jm, a[i]≠b[j]

19 Poliadikus – soros FLOYD algoritmusa c0[i][j] = a[i][j]
ck[i][j] = min {ck-1[i][j], ck-1[i][k] + ck-1[k][j]}

20 Poliadikus – nem-soros
Mátrixsorozat optimális összeszorzása

21 Többérzékes tanulás a SAPIENTIAN

22 Ciklus-váz 1 Kihangosít Bedobol 2 3 Computer & Education
Computer Application in Engineering Education 3 Teaching and Teacher Education

23 Tíz ALGORITMUS-TÁNC 4

24 INTERAKTÍV online e-learning környezet
Levezényelni véletlen látható sorozaton Rekonstruálás Levezényelni láthatatlan sorozaton

25 “Best Practices in Education Award„ (2013)

26 KUTATÁS: reál vs. humán Illusztráció Demonstráció Rekonstrukció
Levezénylés látható véletlen-sor Levezénylés láthatatlan véletlen-sor ITiCSE JCAL

27 KUTATÁS: interkulturális informatikaoktatás
“Mennyire tetszett, mint show?” “Melyik volt a leghatékonyabb? (CIGÁNY / ROMÁN / MAGYAR)?” “Melyik volt a leghatékonyabb? (BUBORÉKOS / KIVÁLASZTÁSOS / BESZÚRÁSOS)?” “Melyik volt a legkönnyebb? (KIVÁLASZTÁSOS-cig / BESZÚRÁSOS-ro / BUBORÉKOS-hu)?”

28 KUTATÁS: interkulturális informatikaoktatás
“Mennyire tetszett, mint show?” Gipsy Romanian Hungarian RO 5,24 5,65 5,16 HU 5,45 5,40 5,96 monoRO 5,23 5,55 5,58 monoHU 5,10 5,43 biRO 5,28 5,83 4,44 biHU 5,73 5,38 6,38 ITiCSE

29 KUTATÁS: interkulturális informatikaoktatás
Leghatékonyabb algoritmus Kódolás 1: “saját” – leghatékonyabb -1: “ellentétes” – leghatékonyabb 0: “semleges” – leghatékonyabb Átlagok monoRO: [0] 11(saját), 11(ellentétes), 9(semleges) monoHU: [-0.04] 9(saját), 10(ellentétes), 2(semleges) biRO: [0.72] 14(saját), 1(ellentétes), 3(semleges) biHU: [0.42] 16(saját), 5(ellentétes), 5(semleges)

30 Melyik táncot néznétek a meg legszívesebben?


Letölteni ppt "Kátai Zoltán ELTE, május"

Hasonló előadás


Google Hirdetések