robertobranco / Laurene

Respositório para a produção da laurene na IC e no TCC
1 stars 0 forks source link

Funcao crossover faz o modelo travar #4

Closed robertobranco closed 7 years ago

robertobranco commented 7 years ago

O problema ocorre as vezes, e apenas quando o codigo do modelo copia o novo conhecimento para o antigo.

robertobranco commented 7 years ago

Isto ocorre porque há entidades sem conhecimento tecnologico ou sem científico (ou sem os dois), e quando o codigo atualiza os conhecimentos antigos, ele copia variaveis vazias para as existentes. A solução é, durante o setup, fazer com que o as variaveis new-knowledge sejam iguais as variaveis knowledge. Desta forma, se elas nao forem selecionadas para fazer o crossover ou se não possuirem o conhecimento (string de 0's), elas simplesmente copiarao o que já possuiam para as variaveis, replicando o mesmo conhecimento. A atualizacao tem que ser feita no Go e nao dentro da procedure de crossover porque quando esta termina e a proxima entidade inicia seu ciclo, a entidade anterior já teria atualizado o seu DNA. Como estas atividades deveriam, temporalmente, ocorrer em paralelo, esta atualizacao so pode ocorrer depois que todos atualizarem.