Cuckoo search algoritam Luka Krian Mentor Izv prof

  • Slides: 16
Download presentation
Cuckoo search algoritam Luka Križan Mentor: Izv. prof. dr. sc. Domagoj Jakobović

Cuckoo search algoritam Luka Križan Mentor: Izv. prof. dr. sc. Domagoj Jakobović

 • autori algoritma: Xin-she Yang i Suash Deb • optimizacijski algoritam • algoritam

• autori algoritma: Xin-she Yang i Suash Deb • optimizacijski algoritam • algoritam inspiriran parazitnim ponašanjem kukavica koje polažu jaja u gnijezda drugih ptica • samo jedan parametar – vjerojatnost odbacivanja rješenja (pa)

Rad algoritma • najvažniji korak – modifikacija svih rješenja koristeći Levy flight • pseudokod

Rad algoritma • najvažniji korak – modifikacija svih rješenja koristeći Levy flight • pseudokod algoritma: slučajno generiraj početnu populaciju rješenja; do (kriterij zaustavljanja) { pronađi najbolje rješenje; modificiraj rješenja; stvori nova rješenja; }

Izračun veličine koraka – Levy flight • koristi se konstanta: • beta = 3/2

Izračun veličine koraka – Levy flight • koristi se konstanta: • beta = 3/2

 • step = u/v^(1/beta) • u je nasumičan broj normalne razdiobe pomnožen sa

• step = u/v^(1/beta) • u je nasumičan broj normalne razdiobe pomnožen sa sigmom • v je nasumičan broj normalne razdiobe

 • stepsize = (L/100) * step * (s-best) • s predstavlja zapis rješenja

• stepsize = (L/100) * step * (s-best) • s predstavlja zapis rješenja koje modificiramo • best predstavlja zapis trenutno najboljeg rješenja u populaciji • L je duljina promatranog intervala (domena)

 • dobiveni korak se pomnoži sa nasumičnim brojem normalne razdiobe i pribroji promatranom

• dobiveni korak se pomnoži sa nasumičnim brojem normalne razdiobe i pribroji promatranom rješenju • s_n = s_t + stepsize*x • novo rješenje zamjenjuje staro samo ako je bolje od starog

Generiranje novih rješenja • nakon modifikacije svih rješenja, stvaraju se nova rješenja • stvore

Generiranje novih rješenja • nakon modifikacije svih rješenja, stvaraju se nova rješenja • stvore se dvije kopije populacije • svakoj dimenziji rješenja doda se razlika dimenzija slučajno odabranog para rješenja iz kopija populacije pomnoženih slučajnim brojem

 • generira se slučajan broj - ako je veći od parametra pa, na

• generira se slučajan broj - ako je veći od parametra pa, na odabranoj dimenziji vrši se pribrojavanje

Implementacija algoritma • implementacija u ECF zasnovana na implementaciji autora algoritma u Matlabu •

Implementacija algoritma • implementacija u ECF zasnovana na implementaciji autora algoritma u Matlabu • genotip – brojevi s pomičnim decimalnim zarezom

Rezultati • usporedba s Steady State Tournament algoritmom • jednostavan genetski algoritam koji odabire

Rezultati • usporedba s Steady State Tournament algoritmom • jednostavan genetski algoritam koji odabire minimalno 3 slučajna rješenja iz populacije te najlošijeg od njih zamjenjuje djetetom 2 od odabranih rješenja na kojem se izvrši mutacija

Parametri • • veličina populacije: 50 domena: [-50, 50] pa = 0. 1 maksimalni

Parametri • • veličina populacije: 50 domena: [-50, 50] pa = 0. 1 maksimalni broj generacija: 500 vjerojatnost mutacije: 0. 3 veličina turnira: 3 korištena funkcija 1 iz primjera Function. Min 10 testova za svaki broj dimenzija

 • jednodimenzionalni problem: – CS: pronalazi rješenje nakon prosječno 24 generacije – SST:

• jednodimenzionalni problem: – CS: pronalazi rješenje nakon prosječno 24 generacije – SST: pronalazi rješenje nakon prosječno 22 generacije

 • dvodimenzionalni problem: – CS: pronalazi rješenje u prosječno 184 generacije – SST:

• dvodimenzionalni problem: – CS: pronalazi rješenje u prosječno 184 generacije – SST: pronalazi rješenje u 7/10 slučajeva u prosječno 73 generacije, prosječno odstupanje (fitness min value) u slučaju nepronalaska: ~1 e-10

 • trodimenzionalni problem: – CS: ne pronalazi rješenja, prosječno odstupanje: 0, 2471 –

• trodimenzionalni problem: – CS: ne pronalazi rješenja, prosječno odstupanje: 0, 2471 – SST: ne pronalazi rješenja, prosječno odstupanje: reda veličine e-7

 • četverodimenzionalni problem: – CS: ne pronalazi rješenja, ogromno odstupanje – SST: ne

• četverodimenzionalni problem: – CS: ne pronalazi rješenja, ogromno odstupanje – SST: ne pronalazi rješenja, ali odstupanje je vrlo malo