01.12.2014 Views

vysoké učení technické v brně evoluční algoritmy - matlab gate toolbox

vysoké učení technické v brně evoluční algoritmy - matlab gate toolbox

vysoké učení technické v brně evoluční algoritmy - matlab gate toolbox

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.

adekvátní velikost populace jedinců. Průběh optimalizace by tak byl velmi pomalý a vyžadoval<br />

by výpočet za použití mnoha klientů.<br />

4.5.5 Klientská část<br />

Je tvořena GATE-DLL <strong>toolbox</strong>em, ve kterém je na začátku výpočtu volána funkce<br />

DLLinitXML s parametrem master XML souboru, založeným serverovou aplikací. Poté je<br />

možné zavolat funkci DLLAddClient. Ta připojí klienta do master XML. Následně probíhá<br />

klasický výpočetní cyklus genetického algoritmu, který má jako ukončovací podmínku volání<br />

funkce DLLClientStatus.<br />

Příklad typického GATE-DLL klient Matlab kódu:<br />

[GA res] = DLLXMLinit('GA','d:\server.xml','restart');<br />

if(res)<br />

DLLAddClient;<br />

GA = DLLfitness(GA);<br />

GA.nGener = GA.nGener + 1;<br />

while(~DLLClientStatus)<br />

GA = DLLselect(GA,'tournament',10);<br />

GA = DLLcross(GA,'pcross',[0.3 30]);<br />

GA = DLLmutationHC(GA,'HC12',10,'rand',15);<br />

GA = DLLfitness(GA);<br />

GA.nGener = GA.nGener + 1;<br />

if(mod(GA.nGener,100) == 0)<br />

DLLviewProgress(GA,'small');<br />

end<br />

end<br />

DLLviewProgress(GA,'full');<br />

else<br />

fprintf('Chyba pri nacitani XML souboru.\n');<br />

end<br />

GA = DLLfreeModel(GA);<br />

clear GA res;<br />

51

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

Saved successfully!

Ooh no, something went wrong!