Championnat d'optimisation des algorithmes. - page 15

 

Les participants peuvent déjà poster des fonctions FF compilées sous forme de bibliothèques *.ex5 ici pour commencer la formation, pour ainsi dire.

La bibliothèque FF doit avoir deux fonctions à appeler :

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

ParamCount() est utilisé pour savoir combien de paramètres doivent être optimisés.

Ce sont exactement ces deux fonctions qui seront présentes dans le championnat FF.

 
Andrey Dik:
C'est l'objet du championnat : trouver le maximum d' une fonction inconnue comportant entre 100 et 500 variables (racines), de n'importe quelle manière et dans n'importe quelle langue. Lisez les règles.
Alors je suppose que je vais participer. Merci.
 
Andrey Dik:

Facile ? Super !

Comment vérifier "plus vite" et "plus précisément" si les algorithmes sont entre les mains des participants ? Comment vérifier qu'un participant a trouvé une solution en moins d'étapes qu'une force brute complète ?

Une force brute complète peut prendre une éternité. Il n'est pas un concurrent pour nous.

"Plus vite" signifie plus vite. Vous, ici, à l'heure convenue, donnez-nous l'équation. Nous le résolvons. Celui qui est le premier est censé avoir le meilleur algorithme.

Quant à "plus précis". Dans l'exemple.

Trouvez les racines de l'équation : 34a+43b+16c+30d+23e=6268 ; Les solutions sont des entiers a=26, b=12, c=111, d=100, e=4.

Si le concurrent trouve ces chiffres, la précision est de -100%.

 
Alexey Burnakov:
Alors j'en suis, je suppose. Merci.
Dois-je m'inscrire ?
 
C'est un défi qui consiste à essayer de résoudre un problème de force brute de la manière la plus optimale possible en un temps polynomial. Quelqu'un peut avoir de la chance si son algorithme est initialement proche de l'optimum. Il faut quelques problèmes, sans équivoque !
 
Andrey Dik:
Tu veux que je l'écrive ?
Oui, s'il vous plaît.
 
Yuri Evseenkov:

Une surcharge complète pourrait prendre une éternité. Il n'est pas un concurrent pour nous.

"Plus vite" signifie plus vite. Vous, ici, à l'heure convenue, donnez-nous l'équation. Nous le résolvons. Celui qui est le premier est censé avoir le meilleur algorithme.

Quant à "plus précis". Dans l'exemple.

Trouvez les racines de l'équation : 34a+43b+16c+30d+23e=6268 ; Les solutions sont des entiers a=26, b=12, c=111, d=100, e=4.

Si le concurrent trouve ces chiffres, la précision est de -100%.

Non, ça ne marche pas comme ça. Vous comprenez que quelqu'un fera une recherche complète et dira ensuite qu'il a trouvé la solution en 27 étapes. Nous ne sommes pas des gens si naïfs (bien que commerçants) qui croiraient à de telles nouilles.
 
Alexey Burnakov:
Oui, s'il vous plaît.
Andrey Dik
Retrog Konow
Igor Volodin
Dmitry Fedoseev
Sergey Chalyshev
Ghenadie Tumco
Alexey Burnakov
 
Alexey Burnakov:
C'est un défi qui consiste à essayer de résoudre un problème de force brute de la manière la plus optimale possible en un temps polynomial. Quelqu'un peut avoir de la chance si son algorithme est initialement proche de l'optimum. Besoin de problèmes multiples, sans équivoque !
N'oubliez pas que pour obtenir des résultats statistiquement significatifs, il y aura plusieurs exécutions de l'algorithme, et non une seule. Le résultat moyen sera la réponse. Ainsi, le résultat maximal qu'un concurrent effectuant une recherche totalement aléatoire peut espérer est d'environ 50 % du maximum.
 
Quel est le lien entre l'analogie de la surface claire et l'exemple d'équation donné ? De quelle manière convergent-elles ?