Campeonato de Otimização de Algoritmos. - página 15

 

Os participantes já podem publicar aqui as funções compiladas do FF como *.ex5 bibliotecas para iniciar o treinamento, por assim dizer.

A biblioteca FF deveria ter duas funções a serem chamadas:

double FF(double &array []);
int ParamCount();

ParamCount() é usado para descobrir quantos parâmetros devem ser otimizados.

Exatamente estas duas funções estarão no campeonato FF.

 
Andrey Dik:
É disto que se trata o campeonato - encontrar o máximo de uma função desconhecida com entre 100 e 500 variáveis (raízes) de qualquer forma e em qualquer idioma. Leia as regras.
Então, acho que vou participar. Obrigado.
 
Andrey Dik:

Fácil? Ótimo!

Como você verifica "mais rápido" e "mais preciso" se os algoritmos estão nas mãos dos participantes? Como você verifica se um participante encontrou uma solução em menos etapas do que uma força bruta completa?

Uma força bruta completa pode levar uma eternidade. Ele não é concorrência para nós.

"Mais rápido" significa mais rápido. Você, aqui, no horário combinado, nos dá a equação. Nós o resolvemos. Quem quer que seja o primeiro, deve ter o melhor algoritmo.

Quanto ao "mais preciso". No exemplo.

Encontre as raízes da equação: 34a+43b+16c+30d+23e=6268; As soluções são inteiros a=26, b=12, c=111, d=100, e=4

Se o concorrente encontrar estes números então a precisão é de -100%.

 
Alexey Burnakov:
Então eu estou dentro, eu acho. Obrigado.
Devo me inscrever?
 
É um desafio tentar resolver um problema de força bruta da maneira mais otimizada possível em tempo polinomial. Alguém pode apenas ter sorte se seu algoritmo cair inicialmente perto do ótimo. São necessários alguns problemas, inequivocamente!
 
Andrey Dik:
Você quer que eu anote isso?
Sim, por favor.
 
Yuri Evseenkov:

Um exagero completo pode levar uma eternidade. Ele não é concorrência para nós.

"Mais rápido" significa mais rápido. Você, aqui, no horário combinado, nos dá a equação. Nós o resolvemos. Quem quer que seja o primeiro, deve ter o melhor algoritmo.

Quanto ao "mais preciso". No exemplo.

Encontre as raízes da equação: 34a+43b+16c+30d+23e=6268; As soluções são inteiros a=26, b=12, c=111, d=100, e=4

Se o concorrente encontrar estes números então a precisão é de -100%.

Não, não funciona assim. Você entende que alguém fará uma busca completa e depois dirá que encontrou a solução em 27 etapas. Não somos pessoas tão ingênuas (embora comerciantes) que acreditariam em tal macarrão.
 
Alexey Burnakov:
Sim, por favor.
Andrey Dik
Retrog Konow
Igor Volodin
Dmitry Fedoseev
Sergey Chalyshev
Ghenadie Tumco
Alexey Burnakov
 
Alexey Burnakov:
É um desafio tentar resolver um problema de força bruta da maneira mais otimizada possível em tempo polinomial. Alguém pode apenas ter sorte se seu algoritmo cair inicialmente perto do ótimo. Necessidade de múltiplos problemas, inequivocamente!
Não se esqueça que para resultados estatisticamente significativos haverá múltiplas execuções do algoritmo, não 1. O resultado médio será a resposta. Portanto, o resultado máximo que um concorrente com uma busca completamente aleatória pode esperar é de cerca de 50% do máximo.
 
Qual é a conexão entre a analogia de superfície clara e o exemplo de equação dado? De que forma elas convergem?