Discussão do artigo "Algoritmos de otimização populacional: sistema imune micro-artificial (Micro Artificial Immune System, Micro-AIS)" - página 4
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Discussão do artigo "Algoritmos de otimização de população: Algoritmos de sistema imunológico microartificial (Micro-AIS)"
fxsaber, 2024.01.21 01:38 AM
O IWO tem as melhores coordenadas que não correspondem ao valor retornado.
Puxei-o para dentro.
Pelo que entendi, a otimização personalizada é feita apenas no gráfico do terminal em um núcleo, e eu estava falando sobre otimização multithread no testador (para o algoritmo de enxame de partículas que descrevi no artigo, para a maioria dos outros algoritmos também deve ser possível por analogia, já que geralmente há um princípio de divisão de tarefas em grupos de agentes). Porém, o testador se baseia no exemplo mais primitivo (eu dei o teste acima), o que acabou com a ideia pela raiz.
Montei e compilei o projeto. Tecnicamente, tudo funciona perfeitamente, exceto o algoritmo PSO, obtido aqui do Stanislav, que apresentou erros, portanto, não está nos registros, que apresentarei a seguir.
Ao examinar o código-fonte, havia uma dúvida sobre o número de execuções do FF, o padrão é 1000. Esse número é muito baixo, os resultados não serão muito melhores do que os aleatórios. O testador interno fez 19968 execuções de FF, portanto, configurei o código-fonte para 20000.
Fiz 5 execuções de otimização na equipe, e os resultados são os melhores de todos. Nos artigos, usei 10 execuções de otimização e o resultado médio é exibido.
Em seguida, usei a FF Megacity, a função discreta mais próxima dos problemas reais de estratégia de negociação discreta (Hilly e Forest são suaves e mais adequadas para avaliar a capacidade de desempenho em tarefas de MO).
Configurações no testador:
Resultados da otimização após 5 execuções:
Resultados da execução personalizada nº 1:
Resultados do lançamento personalizado nº 2:
Resultados da execução personalizada nº 3:
Os resultados com 100% de convergência estão destacados em amarelo.
Em uma etapa tão grosseira, como podemos ver, até mesmo o algoritmo RND pode convergir. Porém, somente várias execuções (o que é feito nos artigos) e a consideração dos resultados médios podem dar confiabilidade aos resultados. Como podemos ver, dos destacados, nem todos convergiram repetidamente.
Conclusões:
1. os algoritmos se mostram plenamente apenas em testes múltiplos (em testes únicos, os resultados podem ser bons por acaso).
2. os recursos dos algoritmos são mostrados com muitas variáveis e pequenas etapas, caso contrário, os resultados tendem a ser aleatórios (o RND é um exemplo, que mostrou 100% de convergência em um único teste).
3. O número de execuções deve ser grande, algo em torno de 10.000 (por exemplo, com uma população de 50, o número de épocas será 10.000/50=200, com 1.000 execuções há apenas 20 épocas); quanto menos FF for executado, mais os resultados tendem a ser aleatórios por motivos óbvios.
Os resultados da equipe com destaque do cursor, o primeiro deu 0,666 e o quarto deu um máximo de 0,97. Na lista de resultados, o melhor é mostrado como 0,97.
Pelo que entendi, a otimização personalizada é feita apenas no gráfico do terminal em um núcleo, e eu estava falando sobre otimização multithread no testador (para o algoritmo de enxame de partículas que descrevi no artigo, para a maioria dos outros algoritmos isso também deve ser possível por analogia, pois geralmente há um princípio de divisão de tarefas em grupos de agentes). Porém, o testador se baseia no exemplo mais primitivo (eu dei o teste acima), o que acabou com a ideia pela raiz.
Tudo funciona perfeitamente, com exceção do algoritmo PSO, retirado aqui do Stanislav, em que os erros caíram
Seria bom chegar ao fundo dessa questão.
Estes são os erros
tais erros
Obtenha o TypeToBytes.mqh aqui.