10.02.2014 Views

Usporedba heurističkih algoritama na problemima ... - Zemris - FER

Usporedba heurističkih algoritama na problemima ... - Zemris - FER

Usporedba heurističkih algoritama na problemima ... - Zemris - FER

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!