10 mintov zadanie EA Vladimr Krivu Zadanie Napte

  • Slides: 9
Download presentation
10 minútové zadanie EA Vladimír Krivuš

10 minútové zadanie EA Vladimír Krivuš

Zadanie • Napíšte program, ktorý bude riešiť rozmiestnenie 8, 9, . . . ,

Zadanie • Napíšte program, ktorý bude riešiť rozmiestnenie 8, 9, . . . , 15 dám na šachovnici pomocou metódy Tabu search, pričom tabu list budú výmeny prvkov v danej dvojici pozícií. Popíšte algoritmus a uveďte graf priemerného počtu ohodnotení v závislosti na veľkosti problému. Rovnako pre smerodajnú odchýlku.

Generovanie permutácie • každá permutácia pozostáva z N čísiel (N je rozmer šachovnice), z

Generovanie permutácie • každá permutácia pozostáva z N čísiel (N je rozmer šachovnice), z ktorých každé reprezentuje riadok, v ktorom sa dáma v danom stĺpci nachádza • už pri generovaní sa vylučovalo vzájomné horizontálne ohrozenie sa dám • tým, že pre každý stĺpec bolo generované práve jedno čislo sa vyločovalo vzájomné vertikálne ohrozenie sa dám • príklad: 3, 1, 2 |x| | |x x| |

Tabu zoznam • hodnota tabu zoznamu pozostávala z dvojice rôznych čísiel z rozsahu <1,

Tabu zoznam • hodnota tabu zoznamu pozostávala z dvojice rôznych čísiel z rozsahu <1, N>, ktoré reprezentovali zmenu v permutácii (mutáciu, viď. ďalej) • ak dôjde k výmene (x, y) a následne k výmene (x, z), výmena (y, x) už nie je ďalej ekvivalentná s predchádzajúcou výmenou (x, y), a preto sa pri vkladaní novej výmeny (x, y) zo zoznamu odstránili všetky výmeny, ktoré obsahovali číslo x alebo číslo y. • dĺžka tabu zoznamu nebola obmedzená vzhľadom na predchádzajúce obmedzenie

Mutácia • pod mutáciou rozumiem preskupenie práve jedného páru čísiel v permutácii, pričom sa

Mutácia • pod mutáciou rozumiem preskupenie práve jedného páru čísiel v permutácii, pričom sa toto preskupenie nenachádza v tabu zozname (a nejde o preskupenie samého na seba) • príklad: – permutácia: 1, 2, 3, 4 – mutácia (tiež nová hodnota tabu zoznamu): (2, 3) – permutácia po mutácii: 1, 3, 2, 4

Algoritmus • opakuj 5 x: – pre rozmery hracej plochy od 8 po 15:

Algoritmus • opakuj 5 x: – pre rozmery hracej plochy od 8 po 15: • opakuj 1000 x: – vygeneruj náhodnú permutáciu – opakuj 1000 x: » ak je permutácia správna (nedochádza k vzájomnému ohrozeniu sa dám), zvýš počet správnych ohodnotení » mutuj permutáciu – ulož počet správnych ohodnotení • vypočítaj priemernú hodnotu správnych ohodnotení pre tento rozmer hracej plochy • vypočítaj priemery z priemerov a vytvor graf

Graf premerného počtu ohodnotení

Graf premerného počtu ohodnotení

Graf smerodajnej odchýlky

Graf smerodajnej odchýlky

Zhodnotenie • ako je možné z grafu vidieť, počet správnych ohodnotení s rastúcim rozmerom

Zhodnotenie • ako je možné z grafu vidieť, počet správnych ohodnotení s rastúcim rozmerom hracej plochy (a tým aj rastúcim počtom dám na nej) klesá, čo je spôsobené zvýšeným množstvom ohrození • počet ohrození je priamoúmerné počtu dám a nepriamo úmerné rozmeru hracej plochy • kým zvýšení rozmeru z N na N+1 dôjde k pridaniu 2 N+1 políčok, pridaním novej dámy môže dôjsť k pridaniu až 4 N ohrození