Eu tenho um algoritmo genético para um problema de otimização. Plotei o tempo de execução do algoritmo em várias execuções na mesma entrada e nos mesmos parâmetros (tamanho da população, tamanho da geração, cruzamento, mutação).
O tempo de execução muda entre as execuções. Isso é normal?
Também notei que, contra a minha expectativa, o tempo de execução às vezes diminui, em vez de aumentar quando o executo em uma entrada maior. Isso é esperado?
Como posso analisar o desempenho do meu algoritmo genético experimentalmente?
Respostas:
A abordagem típica é executar várias execuções do algoritmo evolutivo (EA) e plotar o desempenho médio ao longo do tempo (desempenho médio da média da população NÃO com melhor desempenho individual ).
Uma boa regra geral é realizar no mínimo 30 execuções (é claro que 50 a 100 execuções são melhores).
A média é melhor do que o melhor valor alcançado em um conjunto de execuções, mas a variação também deve ser levada em consideração.
Existem alguns bons exemplos no site de Randy Olson :
A análise básica de como calcular um intervalo de confiança para uma média da população é a seguinte:
Identifique a média da amostrax¯ . Enquantox¯ é diferente de μ , média da população, eles ainda são calculados da mesma maneira:
Identifique o desvio padrão da amostra (corrigido)s :
Calcular o valor crítico ,t∗ , da distribuição Student-t. Esse valor depende do nível de confiança,C , e o número de observações, n .
O valor crítico é encontrado na tabela de distribuição t (a maioria dos livros de estatística o lista). Nesta tabelat∗ está escrito como
Uma maneira melhor de uma crítica totalmente precisat∗ value é a função estatística implementada em planilhas (por exemplo,
T.INV.2T
função ), ambientes de computação científica (por exemplo, SciPystats.t.ppf
), bibliotecas de idiomas (por exemplo, C ++ eboost::math::students_t
).Conecte os valores encontrados nas equações apropriadas:
O passo final é interpretar a resposta . Como a resposta encontrada é um intervalo com um limite superior e inferior, é apropriado afirmar que, com base nos dados fornecidos, a média real da população está entre o limite inferior e o limite superior com o nível de confiança escolhido.
Quanto mais os intervalos de confiança de dois algoritmos se sobrepuserem, maior a probabilidade de os algoritmos executarem o mesmo (ou não fizemos amostragem suficiente para discriminar entre os dois). Se os intervalos de confiança de 95% não se sobrepuserem, o algoritmo com o desempenho médio mais alto terá um desempenho significativamente melhor.
Na EA, a distribuição de origem nunca é normalmente normal e o que foi dito até agora formalmente se aplica apenas se for uma distribuição normal!
Na verdade, ainda diz muitas coisas. A tabela a seguir resume o desempenho dos intervalos t em quatro situações:
Para obter respostas mais precisas, estatísticas não paramétricas são o caminho a seguir (consulte Introdução à Estatística para Análise Experimental da CE por Mark Wineberg e Steffen Christensen para obter mais detalhes).
fonte
Resposta: você analisa o desempenho estatisticamente.
Por exemplo, veja a figura 3 deste documento: Uma estrada real de blocos de construção em que o cruzamento é comprovadamente essencial onde o desempenho de vários GA é comparado entre si.
O gráfico mostra alterações no condicionamento físico (eixo Y) versus número da iteração (eixo X). Cada algoritmo é executado várias vezes e a aptidão média, mínima e máxima são mostradas no gráfico . Portanto, mostrar claramente que algumas variações de GA têm melhor desempenho do que outras.
A convergência assintótica de aptidão sobre a iteração, conforme sugerido pela resposta de vzn, também é muito útil para a maioria dos casos.
...
(Exceto quando o condicionamento físico não converge quando você tem uma função de condicionamento físico em evolução).
fonte
a estratégia básica é representar graficamente a função de condicionamento físico ao longo do tempo. pode-se representar graficamente a adequação da melhor solução ou adequação média das soluções, a pior solução, etc. a melhor / pior exibirá propriedades semelhantes às escadas e a média mostrará uma convergência assintótica em direção ao ótimo alcançável pela AG. geralmente não existe realmente um "tempo de execução" a priori associado à busca de uma solução para os GAs; normalmente, o algoritmo é finalizado em um ponto "suficientemente bom" pela inspeção dessa curva assintótica.
veja, por exemplo, gráficos no final desta apresentação de slides:
fonte