Chat:Fr/2021-04-18
Thyl: \o
Thyl: Vous le conaissez d'où le truc des formis avec les feromones ???
Tiouz: Ant colony optimisation ?
Tiouz: C'est un algo "classique" d'optimisation. Dans les masters d'optimisation il y a souvent un cours uniquement dessus
Bon[]Crayon: Salut tout le monde.
Bon[]Crayon: slt AutomatonNN
Bon[]Crayon: slt Automaton2000
Automaton2000: mais ça c'est pas grave
withanx: salut
Bon[]Crayon: o/
jfaixo: colonies de fourmies, essaim de particules, recuit simulé, c'est des algo d'optimisation qui prennent exemple sur des phénomènes naturels :)
Tiouz: algo génétique
**Zorg1 sort ses colonies de drosophiles pour fix son CSB
Thyl: vous quand vous faites un BFS, DFS
Thyl: comment ous faites pour stocké les coups joué
philRG: bon dimanche philRG en mode barbecue (première utilisation) après avoir réussi à brancher la bouteille de gaz
philRG: ensuite je continue code à la mode :)
Thyl: ???
Zorg1: t'as pas vu son log d'il y a deux semaines où il décrivait l'achat de son barbecue ?
Bon[]Crayon: o/
Zorg1: \o
Zorg1: thyl : pour mon BFS de FC2020, je stockais en fait seulement le premier coup (celui que je jouais), sinon je faisais évoluer un état
Thyl: a ouais pas bete
jfaixo: pour ma part je propageais le 1er coup joué dans tous les noeuds enfants sur FC2020 (ca tenait sur 24 bits, vs 64 si j'avais mis des adresses vers le noeud parent)
Zorg1: ah mon état de FC c'est quand même 3 mots de 64 bits ^^
RL03: Sur Code vs Zombies il n'y a pas d'erreur quand on tue un zombie le tour d'après il apparait toujours dans l'entrée zombie count
- thinking:
RL03: C'est sans doute moi qui a pas compris n truc :sweat_smile:
Nolimitestar59: salut les gars est ce que vous auriez une piste pour les angles facile pour le Power of thor ?
BlaiseEbuth: Yo tout l'monde ! Automaton2000 ! AutomatonNN ?
Automaton2000: tu as quoi comme algo ?
BlaiseEbuth: Secret Automaton2000
Automaton2000: un post sur le forum il y a le code de magus
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
dwarfie: Automaton2000 : tu expliqueras a ton pere qu'on met pas de code sur le forum ....
Automaton2000: moi les trois premier seulement
dwarfie: Automaton2000 : on a dit aucun
Automaton2000: je me suis pas vraiment un problème
dwarfie: Automaton2000 : t'es pas non plus une solution tu sais
Automaton2000: du coup tu peux faire un truc pour faire du web
MaximePRZ: Salut, petite question : J'ai vu que pour certains contests le code du "referee" était donné le jour du lancement du concours. Est ce que c'est valable pour tous les concours ?
Zorg1: c'est devenu l'habitude pour les challenges publics
Zorg1: je dirais depuis au moins Coders of the Caribbean (CotC)
Zorg1: c'est calme le chat aujourd'hui
Zorg1: Automaton2000 anime un peu, veux tu ?
Automaton2000: moi j'ai juste une heuristique qui rentre dans le top 5
Zorg1: nos bots ont du talent, Automaton2000
Automaton2000: heureusement que j'ai pas fait le lien
philRG: Zorg1 y en a qui suivent hehe :-D
Zorg1: waou 7h pile de temps de réponse ...
philRG: ben j'ai du virer mon IMac de la table à manger... pour les invité
philRG: s
BlaiseEbuth: C'pas très gestes barrières tout ça...
philRG: et toujours pas de client XMPP pour chat Fr sur smartphone
Zorg1: ah bah bravo le gars qui a des invités en plein confinement. t'as fait payé 300 boules le barbeuq ?
philRG: ah si, distanciation 1m
philRG: au moins et port masque le plus souvent
philRG: 3/4 personnes vaccinées
BlaiseEbuth: Y'a des clients xmpp tout à fait fonctionnels sur smartphone.
philRG: 4 personnes seulement
philRG: ok BlaiseEbuth faudrait que je ré-essaye
BlaiseEbuth: Android j'entends. Si t'as aussi un Idaube j'en sais rien.
philRG: android
BlaiseEbuth: Alors y'a, je me suis déjà connecté au chat depuis mon android
Zorg1: Iphone c'est pas un téléphone de toute façon, même Jobs le dit
Zorg1: (par contre je sais toujours pas ce que c'est)
BlaiseEbuth: *disait
philRG: j'ai mis Xabber et XMPPJabber mais faut que je comprenne comment le configurer
BlaiseEbuth: C'est généralement pas bien compliqué.
philRG: vu que je me suis fait infiltrer dans le cou mercredi, ça serait cool que je puisse le faire
philRG: BlaiseEbuth ouais en principe non mais faut que je retrouver le nom du serveur XMPP
Zorg1: c'est dans la FAQ
philRG: oui je vais dessus
philRG: oki
philRG: bon 3 clients XMPP sur android mais pas un qui marche
BlaiseEbuth: Stoi qui marche pas.
philRG: en tout cas c'est pas une plateforme dédiée aux configurations
Acediea: Je sais pas si vous pouvez m'aider mais je vais poser la question au cas ou, les différents langages sont ils exécutés a la même vitesse ici ?
philRG: chaque app me demande de me créér un identifiant jabber
BlaiseEbuth: Je suis pas sûr de saisir ta question Acediea...
BlaiseEbuth: Mais tu peux décliner philRG, il faut utiliser celui de CG à la place
BlaiseEbuth: Acediea: Les langages ne sont pas tous aussi performants les uns que les autres, et c'est pareil ici qu'ailleurs...
Acediea: okok
philRG: ok AJouter un contact: 3141948@chat.codingame.com
Magus: Acediea: pour les puzzles solos, certains langages ont le droit à plus que d'autres avant d'être considérés en timeout. Mais d'une manière générale, dans un puzzle solo, si ton code timeout parce qu'il est trop lent, c'est que tu n'utilises pas la bonne approche.
Magus: Par contre pour les puzzles multijoueurs et optims, tous les langages ont le même temps maximum. Donc les codes/langages les plus rapides peuvent faire plus de chose, oui.
BlaiseEbuth: C'est qui ça philRG ?
Acediea: Je sais, cette question était aussi tourné vers les timeout, merci pour ce renseignement
philRG: bon je recommencerai demain j'y capte que dalle
dwarfie: ca s'appelle reculer pour mieux sauter ca :D
BlaiseEbuth: Tu t'y prends mal... Il faut que tu te connectes à jabber avec "ton_id@chat.codingame.com" et ensuite que tu rejoignes la room "Fr@conference.codingame.com"
philRG: le serveur utilise SSL?
BlaiseEbuth: Et il faut être sûr que le client que tu choisis gère les MUC, c'est pas forcément le cas.
philRG: ah ok d'ac c déjà plus précis :) merci blaise
philRG: la faq est un peu light
philRG: merci pour les tips blaise
BlaiseEbuth: La config du chat est un peu light aussi... :expressionless:
philRG: oui sûrement au taf on utilisait XChat sur un serveur IRC géré en interne, avec des bons petits certificats pour pas qu'on puisse se faire espionner
philRG: un de mes collègues était bien parano
philRG: enfin dans la sécurité, c le bau
257832: PhilRG je te parles depuis mon smartphone :ghost:
BlaiseEbuth: * philRG , il a mis une majuscule...
Zorg1: ça met en rouge quand même
BlaiseEbuth: Ah.
Zorg1: je teste : blaiseebuth
BlaiseEbuth: Oui?
BlaiseEbuth: zorg1
philRG: bon je vais installer wireshark sur mon IMac pour comprendre comment se passe la connexion au chat XMPP
BlaiseEbuth: Ménon
BlaiseEbuth: Tiens essayes celle là https://f-droid.org/fr/packages/eu.siacs.conversations/
BlaiseEbuth: T'as le lien de l'apk en bas
philRG: n'empêche j'ai mis plus d'une semaine à expliquer à mon père comment prendre un appel sur son iphone
philRG: ah merci blaise
BlaiseEbuth: Ensuite tu te connecte avec "ton_id@chat.codingame.com" et ton mdp CG.
BlaiseEbuth: Et enfin tu fais "rejoindre le canal public" et tu mets "Fr@conference.codingame.com"
BlaiseEbuth: Tu acceptes, et c'est bon
Zorg1: ezpz
BlaiseEbuth: fix ta xmpp et go legend philRG
philRG: ah ah legend c pour les faibles
Zorg1: c'est vrai qu'une ligue silver à 5 c'est plus élitiste
N03-: :running_shirt_with_sash:
philRG: bon échec cuisant
philRG: niveau wood 12 en configuration logicielle sous android
philRG: je réessayerai demain
philRG: F-Droid c'est un google store alternatif
philRG: play
leojean890: W3 to gold pour CALM ça m'a pris 7h de boulot, c'est à peu près la durée moyenne pour atteindre gold pour les "anciens" contests
leojean890: alors que pour les récents ça me prend plus de temps de boulot je dirais
leojean890: (crystal rush, ooc, pacman, et fall challenge notamment)
leojean890: pour passer gold dans CALM suffit de jouer perso et voilà
leojean890: pour légende je pense qu'il faut mieux jouer, analyser ce que fait l'autre et collaborer pour aller vite
leojean890: (low gold en jouant perso...)
Thyl: en partant du starter ???
leojean890: non en partant de rien
leojean890: tu prends la recette qui te rapporte le plus
leojean890: et tu hardcodes une liste d'actions
leojean890: si ta recette courante n'est plus dispo tu changes et tu poses ce que t'as dans la main
leojean890: si tu trouves une assiette qui a le contenu d'un truc à livrer tu la prends et tu livres
leojean890: easy mais pas opti
leojean890: 7h de boulot car y'avait des bugs à corriger et des détails oubliés du genre "ne pas poser qqc sur un plan de travail s'il y a déjà qqc à ce spot
leojean890: sinon conceptuellement ça peut être moins de boulot si tu penses à tout du premier coup
leojean890: Bob il te fait ça en 3-4h easy^^
Aquaphobe: pour CALM un truc qui marche bien c'est de prendre la recette avec le moins de trucs compliqués à faire
leojean890: j'avoue ça peut être pas mal
leojean890: en fait je prends celle qui rapporte le plus sauf s'il reste peu de tours, et là je prends la moins compliquée
leojean890: por avoir le tps de la finir
Aquaphobe: m'y suis mis hier et je suis passé en low gold ce matin. j'avoue que maintenant je galère un peu vu que j'ai fait une montagne de if crades
leojean890: ah bah comme moi mdr
leojean890: je m'y suis mis avant hier soir je crois
leojean890: j'y ai passé 7h
leojean890: comme toi, plein de if crades
dwarfie: keep calm ... don't play calm :D
leojean890: dwarfie t'as à peu près mon rank xD
leojean890: tu joues perso aussi ?^^
leojean890: en vrai c'est plus complexe de jouer collab car faut un bon algo pour deviner ce que fait l'autre
dwarfie: je sais plus , j'ai du balancer mon code du contest pour la forme ... mais c'est loin tout ca ...
leojean890: smitsimax ?
leojean890: d'acc, je t'ai vu comme moi en low^^
leojean890: jouer perso c simple je trouve, faut juste faire gaffe à penser à tous les cas
Thyl: ça existe des multiplayers qui sont pas sur codingame ?
leojean890: voilà j'ai des IA partout sauf checkers, yinsh, LOCAM et langton's ant
leojean890: Thyl oui
leojean890: RAIC^^
Thyl: russian ai cup ?
leojean890: mais ils sont pas encore sortis en multi je crois mais c prévu
leojean890: oui
Thyl: y a que ça
leojean890: j'ai fait juste le contest 2020
Thyl: ??,??? :what:
leojean890: y'a une dizaine de sujets
leojean890: euh non y'a d'autres trucs
leojean890: y'a un jeu avec des poireaux il me semble mais je ne connais plus le nom
Thyl: LeekWar
leojean890: ah gg
Thyl: ça va mais bon...
Thyl: c'est pas pareille
Thyl: :)
leojean890: sinon pour les optimisations il y a google hashcode
leojean890: j'ai pas essayé leekwars
leojean890: en tt cas quand RAIC va sortir ses multis je vis les faire
leojean890: vais*
leojean890: sauf les trucs avec les collisions 3D en mode rocket league c plus chaud
leojean890: trop long je pense
leojean890: les 4 qui me restent sur CG me tentent pas^^
Thyl: genre RAIC ,CG LKWAR
leojean890: je vais plutôt en améliorer certains
Thyl: y a vraiment pas beaucoup
leojean890: checkers, je sais pas jouer aux dames dans la vraie vie donc pas chaud pour coder une IA ^^
leojean890: yinsh => trop complexe
leojean890: LOCAM et langton => pas chaud
leojean890: Thyl y'en a ptet d'autres moins connus
dwarfie: yinsh ... c'est pas complexe ... juste long a preparer ...
leojean890: mais t'as encore plein de sujets à faire ici Thyl du coup t'as de quoi faire..^^
leojean890: dwarfie ouais :s
dwarfie: bon sang , j'avais oublié a quel point le viewer de WW plantait souvent ...
leojean890: faire une silu de yinsh ça doit être long
leojean890: simu
dwarfie: le but c'est moins de faire une simu que d'avoir des ouvertures preparées à l'avance ....
leojean890: t'as commencé à y réfléchir et à coder un truc ?^^
leojean890: c'est un des multis les moins convoités:)
leojean890: ah oui les ouvertures je crois que je vois mieux
leojean890: je connais pas par coeur la règle
dwarfie: j'ai pas fait la moitie du quart des multi commu ... tu sais bien ce que j'en pense :p
leojean890: quand je l'ai lue et "comprise" j'ai trouvé ça un peu chaud ouais
leojean890: ouais tu as dit l'autre jour que ça n'intéresse personne XD
leojean890: en vrai la plupart sont peu convoités car ont moins de 100 personnes
leojean890: certains plaisent plus, peut être par leur simplicité
leojean890: ou s'ils sont là depuis lgtps
dwarfie: en vrai , si y'a 100 personnes , c'est juste parce que c'est x fois le meme code ...
leojean890: ça laisse plus de tps pour que certains les rejoignent
dwarfie: les gens ont pas a recodé , c'est chaque fois la meme chose a peine adapté ...
leojean890: X fois le même code ? tu veux dire que par ex pour un MCTS t'as pas mal de code à réutiliser?^^
leojean890: faut changer la simu quand même
dwarfie: meme quand je rale en disant "beurk , encore un mcts qur une grille 8x8" et qu'on me repond "mais non , y'a mieux a faire" le contributeur confirme 3 jour apres la validation que c'est ce qu'il fait en fait
leojean890: mais clairement j'ai fait 20 minmax alphabeta et bon j'ai juste à recoder simulate() generateLegalMoves() et eval()
leojean890: le reste c pareil
leojean890: dwarfie ça dépend du sujet
leojean890: j'en ai qq uns qui ne sont pas dominés par mcts
leojean890: exemple fireworks
leojean890: exemple othello (minmax)
leojean890: tryangle catch je ne sais pas
dwarfie: oui , ca tombe bien , c'est justement pas un truc avec une grille 8x8 fireworks :D
leojean890: dots and boxes c'est minmax
leojean890: oui tout à fait XD
dwarfie: c'est pour ca qu'il y'a une chance que je m'y interesse un jour ... ou j'aurais la motivation ... et le temps surtout ...
leojean890: penguins je ne sais pas ce que fait le top, je suis 11eme/170 avec une simple simu depth 1 et une énorme éval
leojean890: du coup je suppose que mon éval crade de 300 lignes est pas mauvaise
leojean890: ouais je comprends, tu px pas avoir le temps tlt^^
leojean890: chess alpha beta depth 2 et énorme éval de 300 lignes
dwarfie: le probleme , c'est que depuis 2 ans , j'ai jamais vraiment le temps ... c'est un miracle que j'arrive a trouver plus de 2-3 heures sur la duree d'un contest en vrai ...
leojean890: n'importe qui qui regarderait mon code vomirait XD
leojean890: sur un contest d'une semaine j'y passe entre 20 et 25h
leojean890: contest de 10j
leojean890: (moins pour sofia ou amadeus)
leojean890: mais spring challenge et fall challenge j'ai trouvé 20-25h chacun
leojean890: et ooc j'ai trouvé genre 100h pour un mois
leojean890: si t'y passes 5 heures par jour de weekend ça avance
leojean890: par ex
dwarfie: ooc .... j'en etais tres loin de tes 100h ... j'ai eu a peine 3 heures la premiere semaine et 4h le dernier week end :D
leojean890: 7h en tout ? XD
leojean890: ptet un peu plus quand même ?^^
dwarfie: non , a cette periode , c'etait la semaine de 60-70 h de boulot ....
leojean890: sinon t'es super rapide, car c'est pas la gold la pljs simple à atteindre^^
leojean890: 7h pour gold easy pour CALM, mais pour OOC j'aurais dit le double au moins pur moi :P
dwarfie: come j'ai dit , lors du contest ... la gold etait beaucoup moins accessible ...
dwarfie: trop de monde en silver qui aurait jamais du sortir de bronze (voir de wood)
leojean890: 60-70h de boulot chaque semaine pendant 4 sem ?
leojean890: ah d'accord, pour CLM
leojean890: et sa silver contenant 5-6 membres seulement mdr
dwarfie: d'ailleurs calm ... avec le meme code ... j'avais fini que silver ... et pas dans le haut de la ligue que contest
leojean890: dès que mon code a passé bronze il a tué silver direct avec plus d'avance que bronze sur le boss
leojean890: ah d'acc
leojean890: donc pour le multi ils ont fait un boss silver plus simple
leojean890: une ligue avec 6 personnes c'est pas très utile
dwarfie: pas forcement ... mais moins de poussete ...
leojean890: la plu art des codes font double jump
leojean890: plupart
leojean890: j'en ai poussé 3 hors de bronze
leojean890: 2 sur les 3 ont fait double jump comme moi
dwarfie: quand on vois comment est bloqué la bronze de hypersonic ... par 10 clown qui se contente d'aller vers un autre coin
leojean890: l'autre est à 0.5 du boss silver
leojean890: hypersonic je sais plus, je suis 25eme gold
leojean890: j'me demande si le même code porté en c++ optimisé passerit légende
leojean890: pour calculer de meilleurs paths, plus grosse depth
leojean890: mais gros défaut du code, ne pas anticiper si un adv peut me tuer
leojean890: ne pas tuer les adv tuables
dwarfie: je sais pas ... ca fait longtemps que stilgart essaye de me motiver a refaire entierment mon code a HS pour passe legend :D
leojean890: ne pas anticiper de se faire bloquer, donc ça m'arrive
leojean890: du coup j'ai des loses quand un petit malin me coince avec une bombe et je peux pas fuir
leojean890: donc => pas légend^^
leojean890: ah ok donc tu l'as fait en contest
leojean890: et t'as pas poursuivi par manque de temps ?
dwarfie: j'ai fait quasi tous les contests depuis que je suis sur CG ...
**dwarfie en mode maso :D
leojean890: en fait hors période covid j'ai 5 groupes de musique donc moins de temps soirs et weekend pour CG XD
leojean890: quasi tous mais sans avoir bcp de temps à y consacrer
leojean890: en vrai quand je dis 100h OOC ça inclut le temps de chat XD
leojean890: donc pas que du temps full OOC^^
leojean890: le plus simple parmi mes 14 gold c'était GOD
leojean890: j'ai trouvé assez rapidement une heuristique qui a jumpé gold (code de 200 lignes)
leojean890: pour mid silver j'ai fait une répartition des mecs rapidement sur les zones en fonction de leur pos
leojean890: (easy to reach)
leojean890: et ne bougent pas évidemment
leojean890: et gold un truc inventé facilement pour les faire changer de zone si besoin de défense, si défense perdue ou attaque possible
leojean890: alors que à côté certains me font suer pour atteindre gold
dwarfie: god , je l'ai pas refait juste parce que , deja que les PM donnent trop d'info , mais y'a un pm qui donnait le code du bot gagnant ... a partir de la , ca avait perdu tout interet
leojean890: j'ai lu les PM et mon truc est moins complexe
leojean890: mais inventé et codé rapidement
leojean890: mais ça bloque gold du coup
leojean890: le truc du PM avec les objectifs ça doit être plus long à coder
leojean890: souvent j'ai des heuristiques qui se défendent mais ça fait pas un truc opti
dwarfie: c'est souvent le cas de mes codes de contests ... qui a pas avoir le temps , faire un code qui fait planté les grosses ia , c'est marrant
**dwarfie se souvient des boss silver qui faisait timeout a chaque fois contre lui ... :D
leojean890: ah tu fais des cheese ?^^
leojean890: des counter qui emmerdent les bons ?^^
leojean890: boss silver c'est pas non plus "grosse IA"
dwarfie: non , pas du cheese ... mais ca joue un coup qui est tellement peu probable que ca a ete elagué par l'adversaire :D
leojean890: mdr ^^
leojean890: ouais le top je sais pas comment ils font mais je pense que souvent ils ont des heuristiques puissantes d'élagage
leojean890: soit en beam search
leojean890: soit automatiquement en GA/SA
dwarfie: a XR ,, j'etais quand meme 40eme gold avec un code qui bougeait pareil dans la simu que je joue vers la droite et vers la gauche :D
leojean890: un bug ?
dwarfie: oui , j'avais fait un copier coller mais pa ajusté au passage :rofl:
leojean890: mais genre othello je suis sûr que les minmax qui win doivent contenir des trucs puissants d'élagage pour pas parcourir tout
leojean890: genre utiliser la symétrie du terrain, mais même plus que ça
leojean890: ah ok, bah pareil souvent je crée des bugs comme ça avec copier coller
dwarfie: othello , y'a pas tellement de coups possible par position en fait ... et ca se trouve tres vite par bitboard ...
leojean890: et je mets du temps à le trouver XD
leojean890: je vois
leojean890: othello je suis passé W1
dwarfie: c'est ma partie mcts qui bugge (pour ca que je suis pas encore dans l'arene ;) )
leojean890: mais mon truc est pas élagué
leojean890: et pas bitboardé
leojean890: déjà j'ai fait l'effort de le metrte en C++
dwarfie: et y'a qu'une profondeur de 60 ... une paille :D
leojean890: le boss est un mcts justement
leojean890: fait par darkhorse64
leojean890: je suis passé en me faisnt pousser donc je suis 3eme en partant de la fin de l'autre ligue
leojean890: W1
leojean890: je pense que mon algo qui cherche les coups possibles est un peu lent
leojean890: faudrait que je me mette au MCTS un jour
leojean890: j'ai essayé une fois sur breakthrough et ça marchait pas top
darkhorse64: Sur bt, ça ne marche pas du tout
leojean890: ouais^^j'ai choisi le mauvais pour m'exercer ^^
Zorg1: sur Bandas ça a l'air de marcher
BlaiseEbuth: Tiens darkhorse64, j'ai vu que tu le réclamais sur le forum https://www.codingame.com/multiplayer/optimization/the-great-dispatch-disabled
leojean890: une optim ? pk a t'elle été disabled ?
Zorg1: ah ils l'ont remis ?
leojean890: Zorg1 ouais t'as fait ça avec Haashi tu avais dit
leojean890: faudrait que je me mette au MCTS via connect 4 qui est simple à simuler sinon
darkhorse64: Oui, je ne vois pas pourquoi ne pas le créer
Zorg1: ah non en fait y a -disabled dans le nom
leojean890: connect 4 ou bandas
leojean890: ou UTTT
leojean890: ou clobber
leojean890: les simus pas trop complexes
Zorg1: leojean890 : ouaip dans Bandas c'est pas vraiment mon bot en fait
leojean890: Vous êtes un homme d'affaire cherchant à déplacer du matériel, de l'équipement et de l'or de Chicago à New York pour construire votre nouveau gratte-ciel. Vous avez un convoi de 100 camions et un nombre variable de boîtes à déplacer. ..
darkhorse64: bandas, connect4 ça marche bien
leojean890: disabled mais on peut joeur dessus qd même non ?
BlaiseEbuth: Y'a disable dans le nom, mais c'est fonctionnel et tu peux submit
leojean890: Zorg1 il te l'avait filé pour que tu aides à debug non ?
Zorg1: oui
leojean890: ça semble galère à debug un MCTS
Zorg1: en fait c'était pas vraiment dans le MCTS son bug
leojean890: darkhorse64 ouais petit branching en plus et simu simple
leojean890: BlaiseEbuth ok pour s'amuser, c'est juste qu'il ne "compte pas" dans les CP^^
leojean890: ouais un bug peut se nicher partout^^
3141948: Ah voilà réussi à me connecter sur android
Zorg1: gg
philRG: login: 3141948@chat.codingame.com
philRG: celui fourni dans la FAQ ça doit être le même pour tout le monde
leojean890: darkhorse64 dans la description de breakthrough t'avais mis MCTS donc j'avais essayé dessus justement XD
leojean890: en tag^^
leojean890: finalement ça a fini en minmax:p
dwarfie: tgd ... que de souvenir ... avec pile 2x le score de Zorg1 :D
leojean890: je vais l'essayer, cette optim
darkhorse64: J'ai l'ai créé pour tester ept
BlaiseEbuth: philRG bah non
leojean890: ept ?
darkhorse64: early playout termination
leojean890: ah ok finir tes playouts plus tôt, pas au moment de la win ?
leojean890: avec une eval ?
darkhorse64: oui
BlaiseEbuth: Pour ce qui est de le recréer TGD, darkhorse64, c'est une question de pognon.
leojean890: MC limité depth N
darkhorse64: Je pourrais le faire, c'est juste que je ne veux pas qu'on me dise:Oui mais non
BlaiseEbuth: Oui mais non. Parce que le sdk ne permet pas d'allouer autant de temps.
leojean890: mais vu que TGD est dispo et on peut submit.. où est le pbm ?
BlaiseEbuth: Bah il est pas visible.
philRG: BlaiseEbuth j'ai un agent ID dans les contests: 3437905
leojean890: et le rendre visible, ça compliqué quoi ?
philRG: multis
leojean890: philRG les aagent ID ça n'a rien à voir
BlaiseEbuth: Bah le rendre visible ça veux dire du monde dessus et 1min par submit
leojean890: c'est utile pour CG stats, CG bench, etc
leojean890: ah ouais y'aura plus de gens dessus s'il est visible, c sûr
philRG: leojean890 ah ok je mémorise rien c le pb
leojean890: 1 min par submit ça leur coûte trop en ressources ?
leojean890: pourtant ils encaissent bien niveau contests^^
leojean890: 400 sub en //
philRG: 3141948 c'est mon ID CG?
darkhorse64: Je pensais que le statement faisait réf à un sponsor mais même pas. SR ça banque bien aussi
leojean890: faut le désactiver seulement pendant les contests en fait:p
darkhorse64: question charge
leojean890: SR aussi je pense oui
leojean890: 2048 aussi..
BlaiseEbuth: Je sais pas si ça chiffre pareil, là c'est une minute pour une seule exec
leojean890: les mecs qui fon du 131k
leojean890: ça fait ramer leur navigateur
BlaiseEbuth: Si y'avait un sponso darkhorse64, mais il est pas explicitement nommé
leojean890: donc il n'y a pas qu'une seule raison qui serait les ressources
leojean890: ais le sponso qui n'aurait pas donné son accord pour que ce soit public
darkhorse64: S'il faut refaire un statement, ce n'est pas la mer à boire. J'ai déjà trouver une idée
darkhorse64: trouvé
leojean890: tu vas faire une contrib avec le même principe ?
leojean890: jrke crée une contrib optim d'ailleurs
leojean890: je l'ai pas encore regardée
leojean890: the lost child ep 2
BlaiseEbuth: Y'avait déjà eu discussion là dessus. Si le problème était juste de l'ordre du copyright ça se serait déjà fait...
darkhorse64: J'ai demandé à CG si c'était possible. On verra
leojean890: ah ok ils auraient juste négocié ça avec le concepteur
leojean890: sponso
leojean890: great escape, great dispatch..^^
leojean890: sujet simple à comprendre et intéressant, le great dispatch
leojean890: les premiers, avec un écart de 0.06 ont trouvé un truc vachelent efficace
Zorg1: je sais même pas ce que j'ai essayé de faire quand je relis mon code ... :sob:
leojean890: 6 personnes ont 0.00006
dwarfie: moi je sais ce que j'ai essayé , mais je suis pas aller assez loin ;)
leojean890: ma première idée naive, c'est de mettre un carton par camion et ensuite placer les suivants en fct des poids déjà présents et ensuite faire des replacements entre 2 qui ont un écart élevé et à peu près de même valeur avec à la moyenne des poids
leojean890: geenre moyenne 133, mais un camion a 113 et l'autre a 135 => hop on prend le carton le plus proche de 20 ET Oon le replace XD
BlaiseEbuth: Moi je sais plus vraiment, mais j'ai pas relu mon code.
leojean890: idée naive que je pourrais coder pour le fun qui sera pas opti
leojean890: sinon pour améliorer, faut faire une search => tant qu'il reste du temps, simuler des replacements par rapport à ces heuristiques...
dwarfie: la difficulté était justement sur l'opti :)
leojean890: bah je sais, comme tout sujet CG XD
leojean890: les places du top sont toujours très chères^^
leojean890: genre moyenne 133, mais un camion a 113 et l'autre a 153 => hop on prend le carton le plus proche de 20 ET on le replace XD * (faute de frappe)
leojean890: allez je vais coder ça on verra bien si je trouve mieux ensuite XD
BlaiseEbuth: Wah ce code! Tout est dans le main ^^'
darkhorse64: La preuve que c'est un bon puzzle, c'est que t'as envie d'essayer
leojean890: bah moi je suis un mauvais exemple car j'ai TOUT envie d'essayer XD
dwarfie: leojean890 ... y'avais pas qu'un param a prendre en compte ... c'etait poid et volume ...
leojean890: j'ai fait tous les multis sauf 4 ;)
leojean890: ah oui volume < 100 par camion
leojean890: et j'ai fait totues les optims sauf 1
leojean890: mais ouais très bon puzzle^^
leojean890: (j'ai des préférences parmi ceux que je tente)
leojean890: certains me saoulent rapidement genre en 2 h dessus :)
leojean890: comme BOTG
leojean890: ah non en fait au niveau de la partie entrainement y'en a pas mal qui me donnent pas envie
leojean890: trop de couches de parsing par ex, ou de l'ascii art :(
darkhorse64: Pareil, je fais si ça m'intéresse ou si dwarfie dit que c'est free xp
leojean890: ^^
leojean890: mais multi et optim j'avoue je suis souvent motivé
leojean890: à part 4 qui me tentent pas à commencer et certains qui m'ont lassé très vite quoi
leojean890: entrainement souvent juste en lisant un statement inutilement complexe ça me fatigue ^^
leojean890: enfin parfois la flemme de les lire même
Zorg1: non mais BotG c'est le machin super baroque avec des complications dans tous les sens, tu te demandes encore comment il a pu être créé ^^
BlaiseEbuth: DOUBLE HULK!
leojean890: mdr
leojean890: botg, code royale, et code for life m'ont lassé rapidement par ex
leojean890: et OOC c'est le contraire par exemple
Zorg1: Code Royale c'est pas si mal que ça en fait
leojean890: c'est pas mal mais c'est pas mon truc
leojean890: je suis assez mauvais sur ces trucs militaires
Zorg1: bon après le referee en Kotlin, faut aimer
leojean890: quoi que RAIC 2020 j'avais plus de motiv et mon truc était plus potabe
leojean890: potable
leojean890: pas lu le referee
leojean890: bon je vais faire mumuse avec great dispatch
Zorg1: BotG j'ai réussi à mettre mon bot en légende, donc j'y touche plus
leojean890: gg
leojean890: moi il est 31 bronze et ça m'a pris 2-3h de le mettre là
leojean890: 1h30 pour finir les 6 wood avec un one liner
leojean890: et ensuite petites optims en bronze
leojean890: ensuite plus d'idées et de motiv mdr
Zorg1: ah oui c'est le multi qui a le plus de ligue wood ^^
leojean890: en fait j'avais autre chose pour W§ W5
leojean890: W6 W5
leojean890: et un one liner qui a tout passé entre W4 et bronze
leojean890: tjr des mini idées qui marchent bien au début
leojean890: merde j'ai pas de sortie console dans great dispatch
leojean890: le sujet est dispo mais on peut pas tester
BlaiseEbuth: Tu peux push
leojean890: ouais^^mais push sans tester snif
leojean890: en fait je peux le tester.. en local
leojean890: en supposant que j'aie pas de bugs dans mon évaluateur local
leojean890: mais faut générer ses propres jeux de test
BlaiseEbuth: Bah si tu peux tests
leojean890: bah ça sort rien dans la console
BlaiseEbuth: Ah
leojean890: le print(stderr) est cassé^^
BlaiseEbuth: Les jeux de tests sont link dans l'énoncé
leojean890: ah ok^^
leojean890: thx je vais voir ça
Zorg1: tu peux trouver les tests IDE ici : https://github.com/algmyr/CG-Dispatch-Tests
Zorg1: ah ok ils sont maintenant dans l'énoncé ^^
leojean890: ouais, j'ai trouvé quand Blaise m'a dit ça du coup^^thanks:)
leojean890: ah avant ils n'y étaient pas ?
leojean890: ils l'ont ptet mis pour compenser le fait qu'ils veulent pas utiliser de ressources pour les tests ide
kiruax: Bonjour, vous savez si en langage c il ya un moyen de chercher dans un tableau sans passer par un boucle for ? svp
leojean890: tiens je ne sais plus ça
leojean890: je ne crois pas
leojean890: mais pas fait de C depuis 2012 hmm
leojean890: (1A école...)
Zorg1: euh non un gars les a récupé et les a récupéré dans un dépôt git. Si tu regardes c'est le même gars dans les deux repos ...
BlaiseEbuth: Bah je vois pas comment tu peux faire autrement...
Zorg1: tu peux bricoler une hashmap pour accéder à ton tableau mais ça devient compliqué
leojean890: Zorg1 ah d'accord^^ça aide bien:)
BlaiseEbuth: Oui mais c'est plus un tableau du coup
leojean890: implémenter les hashmap en C.. un classique :(
leojean890: ça me manque pas tt ça:p
kiruax: Parce que si par exemple le tableau a des millions de cases c'est long avec un for
BlaiseEbuth: Oui. Mais du coup c'est peut être pas la structure de données adaptée...
Zorg1: ^^
Zorg1: oui si tu veux savoir si un élément est dans un tableau parmis un million, pê faire soit un arbre binaire (de préférence balancé) ou une hash map
Zorg1: ou une autre structure à la mode
kiruax: D'accord merci je pensais il y avait une manière plus simple
Zorg1: un truc qui a un recherche bien inferieur à O(n)
leojean890: http://chat.codingame.com/pastebin/214fa2a8-e425-4c09-8d63-30ed6c8eaa2b
Zorg1: bah après t'as toujours des cas particuliers, par exemple si ton tableau est trié tu peux faire une recherche dichotomique
leojean890: petit départ avec une minimisation d'erreur complètement algo glouton..
Zorg1: c'est rapide ça
leojean890: moy = sum(camions)/100
for j in range(100):
BlaiseEbuth: On dit Wolverine Algorithm
leojean890: if abs(camions[i] + weight - moy) < bestVal and camions[i] + volume <= 100:
best = j
leojean890: bestVal = abs(camions[i] + weight - moy)
leojean890: algo bien bourrin XD
Zorg1: bah une recherche dicho c'est en O(log n) c'est nettement plus rapide que O(n), mais faut un tableau trié ;-)
leojean890: je vous balance un code pourri, et contenant 3 bugs, NICE
leojean890: ah ouais la dicho c'est O(log n)
Zorg1: oscour on est envahi par les spammers de code !!
BlaiseEbuth: Et en python, et sans pastebin.
BlaiseEbuth: Franchement abstiens toi
leojean890: python c'est usuel avec moi après XD
leojean890: et y'avait un pastebin mais j'ai volontairement renvoyé en séparé :P:P
BlaiseEbuth: Ouai, mais les pastebisn on est pas obligé de cliquer dessus
BlaiseEbuth: C'est un motif de ban valide
leojean890: javouu
Zorg1: le vice le gars a fait exprès pour qu'on lise son code moisi ...
leojean890: t'as vu XD
BlaiseEbuth: Je vois bien leojean890 écarter les pans de son imper' avec un sourire vicieux...
leojean890: http://chat.codingame.com/pastebin/b4d60bf3-e671-484b-bb83-50676cbf0009
BlaiseEbuth: Coucou, tu veux voir mes bytes
Zorg1: "hé petite fille t'as déjà vu du python" :p
leojean890: 331.10868999999997 363.86573000000004 292.87688999999995
leojean890: 342.20232999999996 377.94508999999994 325.89155999999997
leojean890: les écarts sont pas énormes avec mon code
leojean890: mais ça reste bof XD
Zorg1: tu sais c'est pas la sortie standard ici leojean890 ...
leojean890: me faudrait une search en plus de cette heuristique
darkhorse64: non, c'est stderr
BlaiseEbuth: std::kick
leojean890: genre replacer tant que j'ai du temps en suivant cette même heuristique
leojean890: vazy je push ça pour voir anyway
leojean890: Analyse de votre programme en cours... Ceci prendra environ 60 secondes
leojean890: en fait ç!a en a pris 5
leojean890: j'ai un truc en O(nbBoxes^2)
leojean890: 1676.8433800000003 Delta masse MON CLASSEMENT 718ÈME 1 089
leojean890: BOUH c'est NUL XD
leojean890: mais codé en 5 min en même temps
Zorg1: ça va 1000 au premier coup
Zorg1: mon premier j'étais à 13 000 :p
leojean890: c'est mon idée intuitive qui est venue direct en lancant le sujet
leojean890: juste les 100 premiers je les mets 1 par camion
leojean890: et les autres je les mets un par un de telle sorte de minimiser l'écart avec la moyenne
leojean890: et aucun replacament
leojean890: replacement
leojean890: algo glouton
leojean890: ensuite pour amélio faut que je suggère des replacements pour minimiser
leojean890: par ex un recuit simulé
leojean890: tant qu'il reste du temps je tente une mutation
leojean890: et si elle améliore pas, byebye
Zorg1: c'est vrai j'ai qu'un MC moi
leojean890: (ça c'ets hill climbing)
Zorg1: oui le RS tu peux garder une solution qui améliore pas si t'es chaud
leojean890: toute la logique de mon premier code c'est
leojean890: if abs(camions[j] + weight - moy) < bestVal and camionsVolume[j] + volume <= 100:
leojean890: pour prendre le truc qui minimise la moyenne
leojean890: et ensuite après cette situation initiale je peux faire RS ou HC
leojean890: minimise l'écart*
leojean890: et spam push du RS et du HC pour améliorer mon score au max
leojean890: et même migrer en c++ ce peu de lignes pour avoir plus d'itérations
leojean890: Temps de réponse: 50 secondes
leojean890: WOW sérieux c'est énorme, pour chaque valideur
Zorg1: bah c'était un sponsorisé
pardouin: print(debug_info, file=CGchat, flush=False)
pardouin: quel puzzle leojean ?
leojean890: https://www.codingame.com/ide/puzzle/the-great-dispatch-disabled
leojean890: allez je vais essayer du RS et du HC on verra bien ce que ça donne
pardouin: ah il est pas dans la liste
leojean890: ouais ils l'ont desactivé car ça leur coute trop en perfs apparemment
leojean890: le principe du non répertorié sur youtube, on peut y accéder mais le lien n'est pas trouvable sans l'avoir
pardouin: mais du coup ça ajoute des points ou pas si tu le fais ?
pardouin: (ahah je vois que tu as finalement fait ton puzzle 200 XD)
pardouin: (j'allais te lancer un "va faire ton puzzle 200 au lieu de faire des trucs qui donnent pas de points !")
Zorg1: c'est quoi le puzzle 200 ?
pardouin: il était à 199 puzzles
pardouin: et il était league or dans plein de multis et legend dans aucun
pardouin: alors je l'avais charié gentiment
leojean890: pardouin, j'ai pas fait de puzzle 200 XD ils considèrent soit code à la mode soit the great dispatch comme étant un puzzle mdr
leojean890: ouais or dans 13 multis et légende que CSB mdr
pardouin: comme quoi il finissait jamais ce qu'il commençait
leojean890: ensuite silver 7 multis, et bronze 4 multis
pardouin: mais il a combattu ses deux démons ^^
leojean890: bah le 200 c'est au pif^^
leojean890: et le legend c'est juste que j'ai tuné un SA sur SR et sur sofia labs
leojean890: du coup je l'ai utilisé ici en changeant l'éval
pardouin: :)
leojean890: et comme bidouiller les évals et les algos ça me fait marrer..
leojean890: et non the great dispatch ça n'ajoute pas de CP
leojean890: vu qu'unofficial
leojean890: ni d'xp
leojean890: ma mutation ce sera juste déplacer un carton ..
pardouin: je sais même pas s'il marche ce truc
leojean890: le great dispatch ?
pardouin: pas de sortie console
leojean890: exact
leojean890: faut tester en local
leojean890: je te passe le github avec les jeux de test
leojean890: https://github.com/CodinGame/CG-Dispatch-Tests
leojean890: je te confirme les submits marchent,
leojean890: j'ai fait un truc simple en 5 min et pushé (rank 718/1000)
leojean890: et je vais tenter une search du coup
leojean890: plus facile que A*Craft et code vs zombies niveau simu
pardouin: j'ai push un truc greedy dégeu
leojean890: pareil et c'est justement ça qui m'a fait 718 eme
pardouin: 711ème XD
leojean890: minimiser l'écart avec la moyenne
leojean890: ah GG XD
leojean890: ton greedy est meilleur que le mien :P:P
pardouin: j'ai juste mis dans le camion le moins lourd à chaque tour
leojean890: oui j'avoue
leojean890: en plus je suis con, je minimise l'écart avec la moyenne mais c'est pas ça qu'il faut
leojean890: faut minimiser la somme des écarts avec la moyenne
leojean890: :p
leojean890: (d'où ce que j'ai mis dans ma search)
leojean890: mais mon greedy faisait pas ça
pardouin: bon je vais faire un vrai puzzle
pardouin: :p
pardouin: en fait en hard il y a plein de trucs très bateau
pardouin: mardi dernier j'avais un peu de temps j'en ai fait 11 :)
pardouin: je choisis les noms qui me donnent l'impression d'un truc pas trop méchant et en général c'est le cas
leojean890: 11 c'est pas mal en 1 journée ouais, mon record c'est 8 en 1 soirée avec des full easy
leojean890: bah je commence l'énoncé.. je vois si je continue le puzzle ou pas
leojean890: si ascii art, ou trop de parsing, ou énoncé trop complexe souvent je zappe
leojean890: énoncé trop long avec trop de notations je veux dire
leojean890: définitions, notations..
leojean890: comme quand tu fais de l'état de l'art en traitement d'images et tu comprends rien aux notations
leojean890: qui ne sont pas définies dans le paper car connues par la communauté
leojean890: relou pour les non initiés
pardouin: ^^
pardouin: ahah ce puzzle :
pardouin: https://www.codingame.com/training/hard/universe-conquest
pardouin: je fais un truc greedy à l'arrache en première approx pour voir déjà combien ça valide
pardouin: bon ben 100% XD
leojean890: mdr ^^
leojean890: pas un hard quoi ?;)
pardouin: je sais pas j'ai regardé les solutions des autres elles avaient l'air un poil plus compliqué
pardouin: peut-être que mon truc n'aurait pas passé d'autres jeux de tests/validateurs
pardouin: pas trop réfléchi, je suis au pb suivant ^^
pardouin: et après dodo
pardouin: j'en profite comme je suis malade et que je tousse beaucoup je dors dans le salon pour pas réveiller la petite alors je peux me coucher un peu plus tard ^^
leojean890: mon recuit simulé est pas ouf anyway mdr
leojean890: va falloir que je change les probas/params