Algoritmer og Datastrukturer 1 Gerth Stlting Brodal Rush
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal ”Rush Hour”
14 tilstande
Løsning af Rush. Hour procedure Rush. Hour(Startopstilling c) S={c} Q={c} Hvilken rækkefølge ? while |Q|>0 c = delete(Q) for alle mulige træk c →c’ if c’ ikke er i S then if c’ → rød exit then rapporter fundet en løsning insert(S, c’) insert(Q, c’)
Datastrukturer S = (balanceret) søgetræ Q = stak eller kø Bemærk: Hvis Q = kø så findes tilstandene efter stigende afstand fra starttilstanden
Eksempler på løsninger Kort 1 2 3 4 5 6 7 8 9 10 13 14 15 32 33 37 38 39 40 Korteste vej 7 7 13 8 8 8 12 11 11 16 15 16 22 36 39 46 47 49 50 Antal tilstande 1075 21055 830 451 2784 2954 7273 950 6759 4466 13119 61712 540 690 4273 1955 4405 4533 3493 ”Kø” S 1057 2267 774 350 2251 1556 4947 950 680 1817 8201 8928 524 574 4066 1941 3710 3581 3024 ”Kø” Max Q 297 769 175 137 556 351 1207 191 252 1270 2550 56 37 440 222 254 159 283 ”Stak” S 1029 596 412 443 1868 1016 1483 787 148 1072 6540 5114 443 279 2942 1627 1768 3310 2285 ”Stak” Max Q 735 499 273 200 1466 773 1184 536 109 803 4828 4255 284 189 2233 1157 1207 1723 1273 ”Stak” Stilængde 163 97 88 61 385 230 289 236 39 205 1443 819 148 75 668 418 402 618 461 Random Walk Stilængde min-gnst-max 15 -691 -4443 58 -770 -3300 120 -1518 -7147 46 -534 -2650 35 -831 -3398 31 -505 -2663 74 -635 -3078 64 -4881 -24365 26 -170 -683 169 -1387 -6965 165 -1707 -6398 262 -1789 -5610 256 -11282 -55409 546 -7787 -36859 4959 -44873 -143358 1051 -5407 -20537 1824 -10966 -40450 3701 -26707 -81966 2237 -15823 -51870
Kort 33: 100 x Random Walk 25 20 15 10 5 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 120000 130000 140000 150000 Stilængde
- Slides: 9