function populace2=reprodukce(populace,kvalita)
populace2=zeros(size(populace));
jedincu=size(populace,1);
[tmp,poradi]=sort(kvalita,'descend');  % seradim vektor kvality
pop_serazeno=populace(poradi(1:jedincu/2),:); % vezmu lepsi polovinu jedincu
% parovani a krizeni
for ind=1:2:size(populace,1)
    a=randi([1,jedincu/2]); % nahodne vyberu dva jedince z populace
    b=randi([1,jedincu/2]);
    while a==b
        b=randi([1,jedincu/2]);
    end
    p1=pop_serazeno(a,:);
    p2=pop_serazeno(b,:);
    beta=rand();
    o1=beta*p1+(1-beta)*p2; % krizeni
    o2=(1-beta)*p1+beta*p2;
    populace2(ind,:)=o1;  
    populace2(ind+1,:)=o2;
end