Usporedba heuristiÄÂkih algoritama na problemima ... - Zemris - FER
Usporedba heuristiÄÂkih algoritama na problemima ... - Zemris - FER
Usporedba heuristiÄÂkih algoritama na problemima ... - Zemris - FER
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5. <strong>Usporedba</strong> heurističkih <strong>algoritama</strong> <strong>na</strong> problemu n-<br />
kraljica<br />
U radu se uspoređuju heuristički algoritmi simulirano kaljenje, tabu pretraživanje i<br />
genetski algoritam <strong>na</strong> primjeru problema n-kraljica. Opisane su heuristike i prikazani<br />
rezultati testiranja za pojedini algoritam. Izvedeni su zaključci o primjeni heurističkih<br />
<strong>algoritama</strong> <strong>na</strong> ovoj NP klasi problema, kao i njihova usporedba.<br />
5.1 Problem n-kraljica<br />
Problem 8 kraljica je klasični kombi<strong>na</strong>torički problem u kojem se traži takav raspored<br />
kraljica <strong>na</strong> šahovskoj ploči da se kraljice međusobno ne <strong>na</strong>padaju. Ovaj se problem<br />
može poopćiti zadavanjem bilo kojeg broja kraljica, odnosno dimenzija šahovske<br />
ploče (<strong>na</strong> šahovski ploču n × n treba smjestiti n kraljica; n>3), pa govorimo o<br />
problemu n-kraljica.<br />
Dok je za manji broj kraljica problem još moguće riješiti determinističkim metodama,<br />
za veći n to postaje nepraktično. Budući da je složenost ovog problema O (n!)<br />
koristiti<br />
će se heuristički algoritmi.<br />
U svakom od uspoređivanih <strong>algoritama</strong>, rješenje će se zapisivati u obliku uređene n-<br />
torke ( q<br />
1,<br />
q2<br />
,..., qn<br />
) koja može biti bilo koja permutacija skupa ( 1,2,..., n ) . Pri tome<br />
indeks, tj. pozicija broja u vektoru, predstavlja stupac a njegova vrijednost redak u<br />
kojem se kraljica <strong>na</strong>lazi (brojeći odozdo prema gore). Slika 5.1 prikazuje notacije<br />
rješenja za problem 4-kraljice.<br />
K<br />
K<br />
K<br />
K<br />
K<br />
K<br />
K<br />
(2,4,3,1) (3,1,4,2)<br />
Slika 5.1 Primjeri notacije rješenja za problem 4-kraljice<br />
Budući da se prema ovako zapisanom raporedu kraljica one ne mogu <strong>na</strong>padati<br />
horizontalno niti vertikalno, funkcija cilja jedino treba obraćati pozornost <strong>na</strong> konflikte<br />
po dijago<strong>na</strong>lama. Stoga se funkcija cilja 10 definira <strong>na</strong> <strong>na</strong>čin: ako je <strong>na</strong> nekoj dijago<strong>na</strong>li<br />
n kraljica, broj konflikata je n-1. Prebrojiti treba lijeve i desne dijago<strong>na</strong>le (sl. 5.2), a<br />
funkcija vraća ukupni broj konfikata.<br />
K<br />
■<br />
■<br />
■<br />
Treća lijeva<br />
dijago<strong>na</strong>la<br />
■<br />
■<br />
Druga des<strong>na</strong><br />
dijago<strong>na</strong>la<br />
Slika 5.2 Funkcija cilja vraća broj konflikata po dijago<strong>na</strong>lama<br />
10 Pseudokod funkcije preuzet iz rada Božiković, Golub, Budin, ''Solving n-Queen problem using<br />
global parallel genetic algorithm'', Eurocon 2003, Ljublja<strong>na</strong>, Slovenija<br />
25