Explication de mon algorithme

200 views
Skip to first unread message

LouJo

unread,
Mar 26, 2014, 8:15:06 PM3/26/14
to codingame-gam...@googlegroups.com
J'ai fait un gros article sur mon blog, à destination de tout le monde ; j'espère qu'il n'est pas trop compliqué pour les moins geek. J'ai donné l'autorisation à Codingame de le reproduire ou de le citer en partie sur leur blog. En bas de l'article, le lien vers mon code.

http://legolas.vefblog.net/Game_of_Drones_Post_Mortem__LouJo



Manwe

unread,
Mar 27, 2014, 3:36:11 AM3/27/14
to codingame-gam...@googlegroups.com

Super LouJo, et félicitations pour cette première place!

Ca m'a bien éclairé pour comprendre quels étaient les faiblesses de mon IA! C'est très détaillé et très clair merci!
Ca a l'air même simple comme ça :D

J'ai bien aimé la partie ou tu exporte la vue du jeu en SVG. De ce que je comprends de ton code tu l’écris dans un fichier. Tu as pensé à un moment ou à un autre le sortir sur std::err afin de pouvoir l'extraire de tes parties?

LouJo

unread,
Mar 27, 2014, 5:15:30 AM3/27/14
to codingame-gam...@googlegroups.com
Tu as raison, je n'ai pas pensé à écrire le xml sur la console d'erreur. Je ne l'ai utilisé que sur des situations simples chez moi.
C'aurait été une bonne idée...

De manière générale j'ai peu regardé de matchs pour ce tournoi. Je testais avant une mise en arène en regardant globalement les réactions de mes drones, et en lisant des tableaux de chiffres de debug quand ca n'allait pas.

thomas.n...@gmail.com

unread,
Mar 27, 2014, 5:49:04 AM3/27/14
to codingame-gam...@googlegroups.com
Félicitations :)

Belle article, je me rend compte que dès le départ je me suis trompé dans une notion importante : "Objectifs"

Moi j'ai appellé ça "restriction de déplacement" et je pense que l'idée que j'ai mise derrière m'a restreinte dans ma réflexion.

Effectivement c'est claire,c'est fluide et je comprends pourquoi j'étais à la ramasse sur ce concours.

T'as trouvé l'inspiration rapidement ? Personnellement j'ai passé quelques jours juste sur papier sans pouvoir en sortir une ligne de code.

Encore bravo :)
A+


joanna....@gmail.com

unread,
Mar 27, 2014, 5:52:56 AM3/27/14
to codingame-gam...@googlegroups.com
Le jeudi 27 mars 2014 01:15:06 UTC+1, LouJo a écrit :
> J'ai fait un gros article sur mon blog, à destination de tout le monde ; j'espère qu'il n'est pas trop compliqué pour les moins geek. J'ai donné l'autorisation à Codingame de le reproduire ou de le citer en partie sur leur blog. En bas de l'article, le lien vers mon code.
>
> http://legolas.vefblog.net/Game_of_Drones_Post_Mortem__LouJo

Merci je vais lire ça, et félicitation !

Je n'ai malheureusement pas pu m'investir à fond (entretien à préparer, un chouilla plus prioritaire ;) mais il m'aurait fallu vraiment beaucoup bosser pour arriver à vous battre tous les 2 (voir 3 avec la remontée de Gangrène)

Mon IA était beaucoup plus simple d'ailleurs (mais buggé ;), je définissait 3 zones (les plus éloignées du centre), rajoutait 2 zones par sécurité, et m'y concentrait dans l'ordre de priorité avec la même logique que ton algo de base.

Puis je focusais en cours de partie uniquement sur ces 3 là.

Mais :
1) c'était buggé (mais ça c'est pareil pour beaucoup de monde je pense)
2) pas le temps de faire un environnement de test et la récupération des données générées (ce qui aurait permis de rejouer exactement les mêmes jeux, permettant de vraiment mesurer l'impact des évolutions)
3) je voulais mieux gérer mon attaque de départ, en garantissant la prise de mes 3 zones (attaque de la 1ere puis bonne répartition, puis défense), mais encore une fois, pas le temps !

A noter que ma 1ere version était TRÈS différente (beaucoup plus gourmande et moins élégante) et j'ai tout réécrit dans la nuit du dimanche au lundi :)

thomas.n...@gmail.com

unread,
Mar 27, 2014, 7:32:47 PM3/27/14
to codingame-gam...@googlegroups.com
Je pensais aussi à attaquer en priorité les points de la personne ayant le meilleur score juste après moi pour remonter d'une place et ainsi de suite.

Mais bon avec mon piètre algo de base j'avais des soucis plus important a régler :)

Personne n'a fait ça ?

LouJo

unread,
Mar 27, 2014, 7:41:00 PM3/27/14
to codingame-gam...@googlegroups.com, thomas.n...@gmail.com
Je n'ai pas fait ca. Ca pourrait être une idée, mais en gardant à l'esprit que c'est bcp moins important que le nombre de tour pour y arriver. Le facteur temporel est très important dans ce jeu..

Manwe

unread,
Mar 28, 2014, 3:32:11 AM3/28/14
to codingame-gam...@googlegroups.com, thomas.n...@gmail.com
Je déterminais si j'étais en position pour gagner (mes points augmentent plus vite que les autres, et en cas d'égalité j'ai plus ou autant de points que les joueurs qui ont le même nombre de zone). Dans ce cas la je prenais une stratégie très défensive et je me repliais sur les zones que je contrôlais.
Dans le cas contraire, j'avais effectivement donné une priorité plus forte (au nombre de drones nécessaires pour la capturé égale) aux zones contrôlés par le joueur qui a le plus de points. C'était donc pas la personne juste devant moi au classement, mais c'était dans l'idée :)


Le vendredi 28 mars 2014 00:32:47 UTC+1, thomas.n...@gmail.com a écrit :

joanna....@gmail.com

unread,
Mar 28, 2014, 6:31:04 AM3/28/14
to codingame-gam...@googlegroups.com, thomas.n...@gmail.com
Je l'ai fait dans mon 1er algo qui comparait différents scénario en fonction des scores, je favorisais une remontée rapide sur le précédent. Mais la simplicité m'a fait gagner en efficacité au final.
Reply all
Reply to author
Forward
0 new messages