Rezümékötet 2008. - vmtdk
Rezümékötet 2008. - vmtdk
Rezümékötet 2008. - vmtdk
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
É L E T T E L E N T E R M É S Z E T T U D O M Á N Y O K<br />
É S M Û S Z A K I T U D O M Á N Y O K<br />
The evolution algorithm is the application of Darwin’s theory about natural selection to find the minimum of a<br />
function. It says that the more vital specimens survive and reproduce, while the less vital ones disappear. The algorithm<br />
is slow and it does not guarantee precise results however it is used quite often. Its advantage lies in the fact that<br />
it does not use complex mathematical calculations and it finds the minimum of the function with great probability.<br />
The program is written in Microsoft Visual Studio 2005 on C++ language, based on a simplified version of the<br />
evolution algorithm. In fact it is a multi-thread application. The birth and death of the specimens is represented by<br />
creating and destroying some threads. Each specimen represents the value of the function at a given point. Vitality of<br />
a specimen is determined by the value of the function at a given point. The smaller the function value the bigger the vitality.<br />
Those specimens that contain the smallest values (the most vital) survive and reproduce. This way we get to the<br />
minimum of the function.<br />
Keywords: minimum of a function, evolution, specimens, multi-thread application<br />
EVOLUTIVNI ALGORITAM<br />
Autor: Andraš MUHI III godina studija<br />
Mentor: Dr Arpad TAKAÈI profesor<br />
Institucija: Univerzitet u Novom Sadu, Fakultet tehnièkih nauka, odsek: Raèunarstvo i automatika, Novi Sad<br />
U optimizacionim problemima èesto susreæemo problem pronalaženja minimuma neke funkcije. U ovakvim sluèajevima<br />
najèešæe se radi o funkcijama više promenljive koji sadrže lokalne minimume, kojima pronalaženje globalnog<br />
minimuma zahteva složene matematièke operacije. Problem se još usložnjava ako se radi o funkcijama koji sadrže<br />
prekide.<br />
Evolutivni algoritam je u suštini primena Darvinovog principa o evoluciji za pronalaženje minimuma funkcije, koji<br />
kaže da najvitalnije jedinke ostaju žive, dok manje vitalne jedinke propadaju. Vitalne jedinke se razmnožavaju. Algoritam<br />
je spor i ne garantuje taène rezultate, ali ipak se èesto koristi. Prednost je u tome da ne upotrebljava složene<br />
proraèune i sa velikom verovatnoæom nalazi minimum funkcije.<br />
U razvojnom okruženju Microsoft Visual Studio 2005 sam isprogramirao jednu jednostavniju varijantu evolutivnog<br />
algoritma na jeziku C++. Ustvari, radi se o jednom konkurentnom programu koji se sastoji od više niti. Roðenje i<br />
umiranje jedinki simulirano je stvaranjem i poništavanjem niti. Svaka jedinka predstavlja vrednost funkcije u datoj taèki.<br />
Vitalnost jedinke je odreðena vrednošæu funkcije. Što je manja vrednost funkcije u datoj taèki to je vitalnost veæa.<br />
Jedinke koje sadrže najmanje vrednosti funkcije (tj. one najvitalnije), prežive i razmnožavaju se. Na ovaj naèin dolazimo<br />
do minimuma funkcije.<br />
Kljuène reèi: minimum fukcije, evolucija, jedinke, konkurentni program<br />
N Y O S D I Á K K Ö R I K O N F E R E N C I A<br />
101