Chat:Fr/2021-05-18
Zorg1: salut tout le monde et le bot survivant Automaton2000
Automaton2000: il est aussi sur le canal
Magus: tiens bah avec le contest fini, faudrait que je regarde pourquoi ton frère ne boot plus Automaton2000
Automaton2000: je vois, je vais essayer ca
Zorg1: comme t'es positif Automaton2000
Automaton2000: pas sur que c'est pas encore trop "optimisé"
Magus: enfin en fait je sais pourquoi il boot pas
Magus: j'ai mis à jour des packages, ça mis à jour des packages C++ et/ou python
Magus: donc NN il boot plus parce que les versions sont pas bonnes bla bla bla python c'est trop bien bla bla bla
Julius2k17: salut tlm
Stilgart: bonjour au chat et tortue à Automaton2000
Automaton2000: et puis j'ai atteint gold pour la première place ? :-}
Stilgart: Magus: c'est quoi la raison officielle de la mort de NN ?
Stilgart: Automaton2000: 'chais pas... tu as dit tortue aujourd'hui ?
Automaton2000: tu as essayé de mettre un peu de chances de gagner
WhatTrickeryIsThis: il était devenu méchant
Stilgart: je fais que ça :D
Stilgart: WhatTrickeryIsThis: il ne m'aime pas beaucoup :)
Stilgart: mais la tortue, c'est pour son bien
WhatTrickeryIsThis: NN il martyrisait son petit frère
WhatTrickeryIsThis: miam miam on a déjà les CG Points <3
WhatTrickeryIsThis: :yum:
Julius2k17: ya des points en plus en fin de contest ou c juste les xp quand t promu pendant
WhatTrickeryIsThis: c'est pas les mêmes points
WhatTrickeryIsThis: le rank lvl c'est l'xp puzzle/promotion/contrib
WhatTrickeryIsThis: le rank global c'est les bots, challenges, optis
Julius2k17: ah oui exact
Julius2k17: par contre c dommage qu'on accède pas au classement depuis le profil
Julius2k17: chaque fois je cherche
Magus: Stilgart: la raison officiel c'est des mises à jour de package
Stilgart: et on peut t'aider à patcher ? ou l'arrêt est définitif ?
Zorg1: ah y a une raison officieuse ? ^^
Stilgart: NN il bouffait plein de RAM il parait
Zorg1: ça empêchait Automaton2000 de miner du bitcoin ?
Automaton2000: ben non c'est pas ça qui va me faire perdre des places
BigUP: ha cool, le spring challenge est open ;)
Zorg1: déjà ? moi qui voulait saouler tout le monde à demander quand il ouvrait :(
WhatTrickeryIsThis: gagné 20 places, je sais pas comment
Zorg1: j'en ai perdu 50 ^^
Zorg1: pas tout compris
Bon[]Crayon: Salut tout le monde.
Zorg1: o/
Bon[]Crayon: \o
Bon[]Crayon: Automaton2000 Trotue
Automaton2000: en quoi c'est pas une grosse merde
Bon[]Crayon: Automaton2000 Tortue
Automaton2000: je sais pas mais c'est pas le plus long ...
Alshock: wow wow wow Automaton2000 ton langage ! Attention ou la tortue fouettarde va s'occuper de toi
Automaton2000: c'est quoi pour toi ?
Alshock: un crime Automaton2000
Automaton2000: au final c'est la même chose mais avec des bugs
Alshock: cette description me convient
Luksis: hello
Luksis: Oh mais les gars c'est trop fort
Luksis: lecombat de bot il sort immédiatement et on a plus besoin de ressoumettre son vieuxcode !!
Luksis: OLALALALAAAAAAA
Luksis: en plus j'avais enregistré mon code pour passer les ligues bois et bronze et tout pour une fois que j'y avais pensé ^^'
Luksis: incroyable le progrés ! :D
Luksis: par c ontre pourquoi CG a toppé ça en minimax
Luksis: ça devrait pas etre MCTS plutot ?
Zorg1: je ne me pose plus de questions sur les tags de CG moi ^^
Luksis: mais hé
Luksis: duc oup je comprends pourquoi il y a 5k personne sur spring 2020
Luksis: et 7k sur fall 2020
Zorg1: pourquoi ?
Luksis: je me disais woow c'est énorme autant de gens sur des combats e bots issu de challenges récents c'est du jamais vu
Zorg1: ah dans les multis ^^
Luksis: ouiiiii
Luksis: avant tu te rappelles il fallait resoumettre soi meme
Luksis: c'est plus le cas
Luksis: je découvre le progres :D
Zorg1: par contre y en a qui râlent parce qu'ils ne touchent plus deux fois les XP de passage de ligue :p
Luksis: AAAAAAh oui c'est vrai !!
Luksis: j'ai pas pensé à ça
Luksis: zut c'est vrai c'est bete
WhatTrickeryIsThis: euh
WhatTrickeryIsThis: bhe, on s'est fait avoir :D ?
philRG: ouais 5000 CP c'est la moitié des 10 multis que j'ai fait
philRG: o/
Luksis: mdr moi j'ai plus gagné de CP sur spring 2021 que tous ce que j'avais sur les 3 meilleurs :D
Vry: o/
Luksis: je devais avoir 5202 cp sur mes 3 meilleurs en chall et ssur spring 2021 +6100
Zorg1: \o
Luksis: haha c 'est cool
Vry: Cool je gagne 12 places .sur le classement CP ... :p
Luksis: après _a faisait 3 ans que j'avais pas fait un challenge
philRG: dans 6 mois j'envoies mon code NN à mon frère qui fait du ML pour l'éduquer mais faut que je lise les PM avant me reste 6 mois
philRG: déjà m'éduquer moi-même :o)
leojean890: gg Vry :P moi je stagne :P:P
leojean890: après le fait que le multi vienne de sortir peut aussi jouer sur le rank CP
leojean890: philRG tu peux lire l'article de pb4 et Agade sur CSB il est intéressant ! Et lire des articles scientifiques et tutos divers et variés of course ;)
dbdr: ce sera recalculé que demain je pense
leojean890: j'avais regardé le tuto openclassrooms sur le ML par ex c'est vraiment que des bases
leojean890: dbdr ouais pour le multi demain seulement
leojean890: d'ailleurs un multi commu d'euler avec des dés vient de sortir en combat de bots
leojean890: ça a l'air sympa
philRG: hehe mais -> chi va piano va sano
leojean890: j'avais mon night of war à améliorer sinon :p
Zorg1: bon bah je vais implémenter votre fameuse règle "pas de seed à côté de mes arbres" pour voir ce que ça donne ...
Zorg1: j'avais encore plein de traces à droite à gauche, on sent le truc qui a été pushé dans l'urgence, avec les gars qui finissaient de mettre les rivets encore à bord ^^
Zorg1: rien qu'en les virant j'ai bcp plus de rollout ;-)
FrancisBullock: euh sinon j'ai un problème . Je suis en ligue argent avec l'event ce qui me fais deux combats de bots en ligue argent avec Ultimate Tic Tac Toe . Pourquoi je n'ai pas le certificat argent ?
fastien: @francis : les achievments ont l'air bloqués
FrancisBullock: dois je attendre demain ?
fastien: je sais pas mais j'attendrai quand même demain pour commencer a râler
OldJohn: Allez je lance la modif que je voulais tester hier matin :-)
tenukiUser: petite question, où peut t'on trouver les règles de clash of code ?
Zorg1: comment ça "les règles" ?
tenukiUser: ou juste a ont le droit de chercher sur internet des terme ou juste un truc
tenukiUser: par ce que sa me permet de vraiment progresser j'apprend beaucoup de truc mais je voudrait pas que ce soit interdis
Zorg1: non c'est bon tu peux regarder sur internet, ça va seulement te ralentir, mais c'est pas de la triche
tenukiUser: ok ok
tenukiUser: oui sa me ralentit mais j'apprend de nouveau truc
Zorg1: c'est l'essentiel ^^
MetaSeth: lire la doc fait parti du job aussi :)
OldJohn: C'est quoi la doc... Si c'est comme ce que j'écris actuellement je sais bien que ce n'est pas lu
Zorg1: enfin les gars qui lisent pas la doc de la JDK, y vont au feeling et en cas de problème vont consulter StackOverflow voir si qqn a la solution, mais vont surtout pas ouvrir la description de la fonction qu'ils utilisent ^^
Zorg1: en général ils vont aussi faire les gars super efficace qui traitent les problèmes rapidement et font leur Jira à toute vitesse
Zorg1: bon après toi tu passes derrière et tu dois corriger toutes les merdes qui arrivent quand tu sors des cas autoroutes ^^
Zorg1: parce que bon "corriger" une NullPointerException en encadrant avec un "if (toto!=null) { ...}" c'est rapide mais souvent ça ne fait que déplacer le problème ...
Rajh: Alors qu'un bon try{}catch(Exception ex) { //ignore} marche tellement mieux
Zorg1: :D
Zorg1: catch(Throwable t) ils font les vrais :p
Zorg1: ça ramasse tout ce qui traîne
Julius2k17: le catch sans log derrière c bien
Zorg1: ouaip "ni vu ni connu"
Julius2k17: c fou le nombre de devs qui ne pensent pas à logguer
Zorg1: bah ils ont un debugger ^^
Julius2k17: j'imposerais bien à chaque dev de faire 6 mois de support de prod de ce qu'ils ont développé
Zorg1: bon ils ont pas compris qu'en prod y a aose
Zorg1: *y a pas
Julius2k17: là ya trop de gens qui switchent de projet avant qu'il sorte et se la racontent
Zorg1: Julius2k17 : c'est du sadisme
BabelO: en general ils changent de société avant le passage en prod :) car plus interessant, et dans la nouvelle boite c'est les roi car ils ont mis plein de choses nouvelles en prod
Zorg1: mais effectivement ça permet de voir un peu ce qui se passe derrière le git push ...
Julius2k17: Zorg1 nan c la vraie vie
Zorg1: je plaisante ;-)
Julius2k17: ^^
Julius2k17: en 2000 qd g commencé sur .net tout le monde bavait dessus
Julius2k17: et en 2004 j'ai fait un site grand public avec et là g vu que ca tenait très bien la route niveau perf
OldJohn: T'inquiete même micro$oft passe à autre chose !
Julius2k17: tant que tu vois pas la chose en prod c du pipeau
Zorg1: "ah bawé ta requête qui fait 20 ms avec tes trois données bah elle prend 2 heures avec le volume de prod" :D
Julius2k17: oué
Julius2k17: j'ai eu le cas il y a qq années notamment sur .net avec le fameux linq to sql qui te génère les requêtes tout seul
Julius2k17: c bien, c beau mais une procstoc c 10 fois plus efficace
Julius2k17: les jeunes voulaient pas entendre parler de la base, l'appli s'est crashé directe avec le volume de prod
Julius2k17: ils en ont fait des proc stoc après ..
Julius2k17: bref je radote
Zorg1: bah c'est un peu la même chose avec Hibernate
Julius2k17: oui mais moins poussé
Julius2k17: je trouve
Zorg1: bah avec les Criteria tu peux faire une belle merde pas optimal et qui te renvoie plusieurs fois le même résultats
Julius2k17: j'ai une appli avec pas mal de charge en prod sur du.net nhibernate et ca bouge pas d'un poil
Julius2k17: clair les criteria c la misère
Julius2k17: mieux vaut passer sur de l'elastic si tu dois faire de la recherche
NomNick: il est où le postmortem du gagnant de photosynthesis ?
OldJohn: à sa place
Zorg1: ^^
NomNick: cmb?
OldJohn: https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849/78
NomNick: merci <3
NomNick: tiens j'avais une question générale sur les approches minimax
OldJohn: Quelle question ?
NomNick: j'ai l'impression (0 preuves) que les minimax sont tellement pessimistes qu'ils jouent moins bien quand la profonodeur augmente
OldJohn: Pas de raison a priori...
OldJohn: Sauf si comme ici, jeu simultané
NomNick: comme notre minimax choisit le coup de l'adversaire sur la même heuristique qu'on choisit notre coup, après quelques niveaux l'algo part dans son trip
Zorg1: oui l'algo est "paranoïaque" il suppose que l'adversaire lit dans son esprit dans ce cas là
OldJohn: Ben non, regarde les gros programmes d'échecs, la profondeur améliore le niveau
NomNick: ils sont en minimax ? je croyais qu'ils étaient montecarlo, c'est pareil ?
OldJohn: Oui dans le cas de jeu simultané MCTS et minimax sont paranoïaque
Zorg1: (dans le cas d'un minimax utilisé pour un jeu simultané ou un jeu à plusieurs)
OldJohn: Stockfish est en alpha bêta
OldJohn: LeeLa est en PUCT pas en Monte Carlo
NomNick: le côté paranoÏaque n'empêche pas de développer des stratégies
NomNick: ?
OldJohn: Le plus simple des jeux simultané c'est le chifoumi
NomNick: héhéhé
OldJohn: réflechi à un alpha bêta sur un chifoumi itéré
NomNick: dur de faire mieux que random sur chifoumi non ?
OldJohn: Et bien si, on peut faire mieux que random
OldJohn: En gros, on peut battre random
NomNick: bah... non ?
OldJohn: Il y a même des compétitions de chifoumi, sis i
NomNick: c'est contre intuitif
NomNick: qu'on puisse battre un humain avec montecarlo plus qu'avec random, je conçois, mais qu'un montecarlo batte un random, je comprends
NomNick: pas
NomNick: *
OldJohn: et oui ! Tu dois avoir un truc sur kaggle
OldJohn: un MC sequentiel ne battra pas un random car son résultat tends vers minimax
Zorg1: m'ouais je suis pas convaincu
OldJohn: et minimax ne sait que faire...
OldJohn: Pour faire plus classe, regardez du coté du dilemme du prisonnier itéré
NomNick: oui ça c'est même prouvé mathématiquement le dilemne du prisonnier
NomNick: bon donc pierre feuille ciseaux
NomNick: c'est fake ou c'est vrai ? quelqu'un a un lien concret ?
OldJohn: sur kaggle
OldJohn: https://www.kaggle.com/c/rock-paper-scissors
OldJohn: Bon la modif d'hier matin était pas trop mauvaise :-)
Zorg1: "It’s possible to greatly outperform a random player when the matches involve non-random agents."
Zorg1: ce qu'ils disent c'est que tu peux faire une IA meilleure que random pour battre des joueurs predictibles
Zorg1: pas que tu puisses battre la stratégie random avec un MCTS
NomNick: > Can you find patterns to make yours win more often than it loses? It’s possible to greatly outperform a random player when the matches involve non-random agents. A strong AI can consistently beat predictable AI.
OldJohn: Oui donc tu es mieux classé que random
NomNick: contre des non-randoms
Zorg1: oui mais si en face t'as que random bah voil)
Zorg1: t'as joué un peu avec les mots, OldJohn ;-)
NomNick: exactement, si l'adversaire est random pur, y'a pas de sujet.
OldJohn: Et oui... C'est mon coté ancien prof
Zorg1: :p
NomNick: Après je comprends l'intérêt, "true randmoness" n'existe pas etc. donc c'est un sujet hyper simple pour tester des implémentations d'algorithme
OldJohn: Si tu mets un boss random, et bien tu peux être mieux classé que lui sans le battre
NomNick: parce que tu joue contre des AIs non randoms
Zorg1: après si le RNG est foireux le joueur devient prédictible .... :smiling_imp:
OldJohn: Cela c'est une autre question
Zorg1: après c'est utilisé une IA pour juger du caractère aléatoire d'une source, c'est pê overkill ^^
NomNick: Postmortem: j'ai branché un sismographe à côté du datacenter de codingame pour détecter les vibrations du ventilateurs qui m'ont permis d'inférer le seed du random au 3ème jour de la compétition, ce qui m'a donné la victoire totale
OldJohn: Oui y a des tests statistiques pour Cela!
OldJohn: Voir Knuth Vol 1
Zorg1: oui c'est pour ça que je parle "d'overkill"
OldJohn: (je mets une référence computer science pour ne pas dire que c'est des stats)
OldJohn: Bon je retourne à mon index sous Word... J'aurai pas dù dire que je savais faire !
NomNick: bon donc si je reviens à mon premier questionnement, est-ce que le comportement paranoïaque d'un algorithme peut l'empêcher de sur-performer
OldJohn: Dans un jeu non simultané, minimax n'est pas paranoïaque
Zorg1: ouaip
Zorg1: et un jeu à deux
OldJohn: Dans un jeu simultané, tu prends chifoumi et tu as ta réponse
NomNick: ah. c'est un truc qu'il fuat que je comprenne
Zorg1: dans un jeu à plusieurs si tu utilises minimax, il est paranoïaque
Zorg1: il va supposer que le jeu des adversaires est coordonnés pour te faire perdre
NomNick: ah oui !!! c'est bien ça vindinium est à plusieurs je crois me souvenir
Zorg1: ce qui n'est pas forcément le cas, tu peux gagner parce que deux adversaires vont être plus occupé à se friter qu'à s'occuper de toi ^^
OldJohn: Globalement dans le challenge, j'ai mis à l'adversaire 20 % de chance de seeder ou le programme venait de seeder sinon le programme pensait que cela ne servait à rien... Cela a gagné quelques places
NomNick: bon
NomNick: supposons que j'ai envie de creuser plus les algo comme passe-temps personnel, des conseils sur comment procéder ? Je n'ai plus l'âge d'aller faire une spécialisation dedans (ni la cervelle de toute façon)
NomNick: je prends un bouquin, un cours en ligne, je pratique sur CG, tout à la fois ?
Zorg1: bah t'as des multis pour ça, UTTT pour MCTS ...
OldJohn: Oui le mieux c'est d'essayer et d'apprendre de ses erreurs!
JBM: pour les algos ça va plutçot çetre les puzzles solo
Zorg1: moi pour MCTS j'avais regardé les ressources puis fais qq recherche
JBM: rha je sais plus taper sur un clavier fr
Zorg1: JBM : je supposais qu'on parlait plus des méta heuristique, mais oui pour les algos "normaux" vaut mieux les puzzles
NomNick: quelle distinction ?
Zorg1: à moins que tu considère que "Minimax Exercice" est parfait pour apprendre le minimax ...
NomNick: c'est pas un bon puzzle pour minimax c'est ça ?
BlaiseEbuth: Quelle surprise, c'est javacupoftea qui est en pow...
jdeveil: salut tout le monde ;)
Zorg1: NomNick : ce puzzle est super scolaire
Zorg1: BlaiseEbuth : toujours pas "a man with a plan" ? discrimination !
dwarfie: il l'a ete ... non ?
BlaiseEbuth: Surtout que c'est un plus récent là...
BlaiseEbuth: Non
dwarfie: j'avais cru ... en meme temps , ma machine enigma l'a pas ete non plus il me semble ...
dwarfie: ;)
Zorg1: bah java truc il en fait 200, limite il recycle des vieux alors bon
Zorg1: il est toujours assuré d'avoir un Pow par mois lui
Zorg1: moi ça va mes deux puzzles y sont passé ^^
Zorg1: mais allez je vais regarder "a man with a plan" même si je trouve qu'il y a un effet "pavé de texte"
BlaiseEbuth: C'est pô juste.
BlaiseEbuth: C'est fait exprès
Zorg1: va savoir tibo n'écoute que de la musique classique, le métal ça lui donne de l'urticaire :p
BlaiseEbuth: :no_mouth:
BlaiseEbuth: Hall of the moutain king c'est aussi un morceau classique !
Zorg1: la musique utilisé pour "l'Apprenti sorcier" ?je demande je confonds toujours avec une autre
JBM: la musique utilisé pour 'aprrenti sorcier c'est «l'apprenti sorcier»
NomNick: merci pour les conseils et les explications ++
Zorg1: ah voilà donc je confond
ThomasNicoullaud: reCurse est dans un autre monde. Je pige rien à ce qu'il a fait :joy: il mériterait une ligue à lui tout seul
fenrir: il faut lire le papier alphazero
ThomasNicoullaud: il me manque plusieurs prérequis, dont le plus important, l'anglais
fenrir: ah ok
fenrir: en gros: il fait un MCTS DUCT mais au lieu d'un rollout il évalue la position avec un NN, et la formule de sélection de coup est modifié pour prendre la sortie d'un autre NN
fenrir: il fait sa recherche MCTS, et entraine les NN (value/probability) avec le résultat, et recommence
ThomasNicoullaud: ok ...
fenrir: (très très simplifié)
ThomasNicoullaud: comment on peut faire ça en 10 jours :x
jdeveil: 2 ans et 10 jours
bananaMixer: Il a commencé en 2019.
fenrir: comme dit dans son PM, il a commencé bien avant
jdeveil: 2 ans qu'il travaille sur le principe.
jdeveil: 10 jours pour l'adapter sur totoro
fenrir: j'ai aussi un bout de code pour faire ça sur CSB mais j'ai pas réussi à lui faire apprendre
fenrir: mais ça doit être possible, faudra que je m'y remette
jdeveil: fenrir: un MCTS pour CSB ? ou juste le NN ?
jdeveil: (CSB == la course de pods ?)
Zorg1: oui CSB c'est bien la course de pods
Zorg1: le multi star ^^
jdeveil: ok par contre j'arrive pas à imaginer un MCTS (du peu que j'en lis pour le moment) sur CSB...
fenrir: pour CSB: ce que j'ai commité dans l'arène c'est un NN mais entrainé par un policy gradient (REFINFORCE + baseline)
fenrir: mais j'ai tenté un alphazero mais ça j'ai pas réussi pour le moment
jdeveil: ok... je comprends mieux
jdeveil: merci
Zorg1: bah t'as eu un essaie de plusieurs MCTS sur CSB : https://www.codingame.com/playgrounds/36476/smitsimax
Zorg1: le fameux "smitsimax"
Zorg1: (un MCTS par pod)
jdeveil: j'avoue j'ai pas lu l'article jusqu'au bout.
jdeveil: ses actions c'est la puissance et l'angle du pod alors ? chaques valeurs possibles ?
Zorg1: bah en gros il faut un MCTS par pod qui on chacun leur arbre, fait par exemple 6 coups, joue la simulation, fait l'évaluation et backpropage dans tous les arbres, puis recommence
Zorg1: il n'y a pas vraiment de "rollout"
Zorg1: bah action d'un pod CSB : vitesse, angle, boost et bouclier
jdeveil: il regarde quelques coups d'avances mais pas la partie complète... ok
jdeveil: oui j'ai oublié boost et bouclier
Zorg1: après en général tu discrétise l'angle et la vitesse, tu peux par exemple prendre 5 angles possibles et 3 vitesses
jdeveil: une forme d'élagage en sommes
Zorg1: oui tu réduis le branching
jdeveil: ok
Zorg1: surtout que les angles dans CSB c'est continu
jdeveil: [-18; +18]
Zorg1: oui mais vu que t'indique une orientation tu peux prendre un grand nombre de valeur
fenrir: pour mon bot soumis j'ai que 7 actions possibles
Zorg1: attend je dis une betise, il arrondisse le cap
fenrir: (par pod)
jdeveil: ah oui c'est vrai, c'est pas relatif... [-180; +180] par contre tu peux pas excéder plus de 18° d'écart par rapport au tour précédent
jdeveil: donc autant réduire à [-18; +18] ,non ?
Zorg1: oui c'est ça
jdeveil: en discriminant tous les 3° ou 6° histoire d'en avoir encore moins
jdeveil: tiens il faudra peut être que je fasse un peu de discrimination sur mon bot. ça accelèrera peut être la recherche de stratégie
Zorg1: bah 7 actions possible ça doit être shield + 2 vitesses (0/à fond) et 3 angles (droite/gauche/tout droit)
Zorg1: après CSB je suis toujours avec un GA mais je vais sans doute tester le smitimax maintenant que j'ai fais DEUX mcts ^^
jdeveil: pourquoi pas, je vois bien l'intérêt par rapport au GA du coup (que j'utilise aussi sur CSB) mais il faut d'abord que je me fasse un peu la main dessus.
jdeveil: avec un GA, le côté random doit certainement visiter plusieurs fois des noeuds identiques ou au moins similaires.
jdeveil: avec le MCTS, une fois qu'ils sont marqués... fini
Zorg1: j'avais fait un MCTS sur UTTT (qui avait été créé pour ça en gros) mais de ce que j'ai compris c'est pas forcément le plus abordable
jdeveil: du coup il doit y avoir moyen avec un MCTS de faire des recherches sur une profondeur de jeu plus importante qu'avec le GA
jdeveil: zut je commence par lui du coup !
jdeveil: sur vos conseil durant le contest
Zorg1: ça doit être bon alors ^^
Zorg1: mais le problème c'est que ça devient vite le concours d'optim
jdeveil: uTTT et le lien MCTS Beginner guide en parallèle pour pas avancer n'importe comment :p
jdeveil: ah lol ouais... moi je tente juste d'en faire un pour le moment. pas à gagner la première place ;)
jdeveil: ceci dit, chapeau reCurse. Belle déculottée. et merci pour l'explication. Je comprends pas encore tout, mais c'est magnifique comme résultat en 2 an de travail. Tu as du y passer pas mal de temps.
Zorg1: bon je tente les trucs à la Vry pour mes bitmasks
Zorg1: http://chat.codingame.com/pastebin/f8def1ae-6c99-4521-b454-c99f9e3580b3
pardouin: &^=
pardouin: c'est légal ça ? ^^
Zorg1: en go oui
Zorg1: c'est AND NOT
pardouin: oui je me doute
JBM: premiere fois que j'admire un truc de go
Zorg1: oui bon j'aurais du prévenir
pardouin: à propose de légal j'ai bien eu ma cerise
pardouin: <3
pardouin: propos*
pardouin: oui
pardouin: je sais pas s'il faut me féciliter XD
pardouin: féliciter
pardouin: bordel je deviens de plus en plus dys du clavier
pardouin: oui oui
Julius2k17: on félicite quoi ?
pardouin: <- premier en clojure
pardouin: si vous avez des questions clojure demandez-moi
Zorg1: :thumbsup:
pardouin: je suis un spécialiste maintenant
JBM: est-ce qu'on peut faire un bot qui te timeoute pas avec?
JBM: blaise avait galéré la dernière fois
Zorg1: il doit faire print "WAIT" son bot :p
JBM: même ça ça passait pas je crois
Zorg1: ah wé
pardouin: non je print la dernière action en début de partie et wait sinon
pardouin: c'est quand même plus évolué :o
Julius2k17: moi je vais tenter de faire un mcts pour taper la légende
Julius2k17: gj Pardouin
Julius2k17: je connais pas du tout clojure
pardouin: moi je vais tenter legend aussi en améliorant mon heuristique
Zorg1: d'un autre côté Clojure a été mis à jour avant le contest
Zorg1: pour ce que ça veut dire
pardouin: ^^
jdeveil: Julius2k17: clojure est un langage fonctionnel. Si tu es habitué à l'impératif... il faut s'y mettre pour que ça rentre
Zorg1: en plus Clojure est inspiré du Lisp
Julius2k17: ma femme me parle en clojure alors
JBM: à ce niveau on parle plus d'appartenance que d'inspiration
Zorg1: Lisp jouant le rôle de croquemitaine pour pas mal de dév
jdeveil: yep, j'ai été agréablement surpris de voir que le Lisp vivait encore en clojure :)
Vry: Moi j'optimise mon rollout, ensuite je le ductifie et enfin (dans quelques mois) je le NNifie ...
Julius2k17: lisp ca fait 25 ans que j'en avais pas entendu parler
pardouin: elle te dis: (rentre (à (la maison))) ?
pardouin: ce genre de truc ?
pardouin: dit*
Julius2k17: c utilisé encore ?
Zorg1: j'ai toujours peu d'invoqué deux ou trois puristes en disant que Clojure c'est du Lisp
JBM: c'est si tu dis que c'est du Java que ça va troll
Julius2k17: ^^
jdeveil: clair
JBM: dire que c'est du Lisp me parait pas particulièrement risqué
Julius2k17: c'est utilisé dans quel domaine clojure ?
pardouin: ils sont quand même allé assez loin dans le délire
JBM: même si «un» Lisp serait plus correct
pardouin: la notation polonaise pas inverse par ex
jdeveil: Julius2k17: programmation "sûr" et facilement distribuable d'après wikipaedia
JBM: c'est sûr y'aurait eu moins de parenthèses en inversée
pardouin: en gros si tu veux faire 3 - 2 tu fais (- 3 2)
pardouin: même en haskell ils font pas ça
jdeveil: c'est pas du fonctionnel aussi haskell ?
pardouin: si si
pardouin: mais haskel comprend quand même les expressions classiques non ?
pardouin: alors que clojure je crois pas
JBM: y'a plein d'environnements common lisp qui le permettent
jdeveil: tu fais comment la soustraction en haskell ?
Zorg1: après moi j'ai des difficultés avec les priorités d'Haskell, alors je met des parenthèses un peu partout
Alshock: comment ça, quand même ? Pourquoi il y aurait un lien entre le fonctionnel et le fait de s'amuser à faire de la polonaise inversée ?
pardouin: ben tout est fonction même les opérareurs
pardouin: et obligé de les utiliser comme fonctions
Zorg1: "je connaissais une polonaise inversée qui en prenait tous les matins"
JBM: tous les soirs plutôt non :upside_down:
jdeveil: non elle était inversée
Alshock: mais les opérateurs sont des fonctions (membres) dans beaucoup de langages impératifs et ça nous empêche pas de mettre du sucre syntaxique pour les écrire "à l'endroit"
JBM: tiens, la voix de la raison
Alshock: c'est bizarre de dire "sucre syntaxique" en français non ?
jdeveil: tout à fait, au final c'est l'interpréteur ou le compilateur qui s'en débrouille comme il veut/peut après
pardouin: je sais bien alshock, c'est le fait qu'on t'interdise ce sucre qui est étrange
jdeveil: cela étant dit, Lisp reste très pur dans sa syntaxe et n'embarque aucun "sucre"
jdeveil: d'où la notation polonaise, même pour les opérateurs et fonctions membres
JBM: jdeveil: laisse-moi te parler de (LOOP)
Alshock: c'est reparti pour un tour ! (ah ah ah)
jdeveil: la culotte menstruelle ?
jdeveil: mes souvenirs de Lisp remontent à plus de 20 ans maintenant, ils risque d'être un peu altérés
jdeveil: c'est quoi LOOP et FORMAT
JBM: ben c'est juste 2 sous-systemes turing-complets
jdeveil: des fonctions Lisp ?
JBM: pour l'iteration et l'affichage respectivement
JBM: http://www.lispworks.com/documentation/lw50/CLHS/Body/06_a.htm
JBM: et http://www.lispworks.com/documentation/lw50/CLHS/Body/22_c.htm
jdeveil: mouais je vois vite fait la syntaxe...
jdeveil: mais pas le troll :p
JBM: la pureté de la syntaxe ;)
jdeveil: ba ça reste du fonctionnel non ?
jdeveil: la commande en premier, les paramètres après
JBM: ah oui du fonctionnel au sens C
jdeveil: certe il peut être difficile de faire du récursif avec...
jdeveil: ah non ok, je vois la seconde forme :
jdeveil: (loop as n = ...)
jdeveil: j'avais po vu
BlaiseEbuth: C'est quoi du fonctionnel au sens c ?
JBM: (14:45:42) jdeveil: la commande en premier, les paramètres après
jdeveil: en C, un opérateur est une fonction membre, et il n'est pas en premier JBM ;)
Alshock: une fonction membre, en C ?
Alshock: ça existe pas
JBM: jdeveil: tu veux parler de C++?
jdeveil: oui pardon
Alshock: Alors 3 coups de fouet pour avoir confondu C et C++, la faute interdite
jdeveil: oups
jdeveil: ok je sors
Alshock: xD nan reviens
BlaiseEbuth: C'est quoi le fond de la discussion ?
jdeveil: BlaiseEbuth on parle clojure et Lisp
BlaiseEbuth: Cool
jdeveil: bon je vous laisse quelques minutes, j'ai Amadeus au bout du fil :p
jdeveil: a tout
jdeveil: ;)
BlaiseEbuth: Etrangles les avec.
jdeveil: bah non j'aimerai qu'ils me trouvent une solution pour partir en vacances cette été :
jdeveil: !
Alshock: Dites j'aurais (encore) une de mes questions existentielles : dans un MCTS, retirer l'indice de la node parent des Node et à la place mettre le feedback directement dans la fonction de sélection, ça a une chance d'être rentable ou absolument pas ? J'ai du mal à saisir le coût réel de la taille des Node
jdeveil: ce que j'ai retenu c'est qu'on a 700Mo de RAM pour notre programme
Stilgart: JBM++
Stilgart: pardoin--
Alshock: 768, eux ne sont pas un problème (je peux faire tout le jeu sans en gardant toutes les node dans la RAM), mais par contre quand le programme charge plein de fois des zones très différentes de la RAM ça fait des lectures lentes, et ça je sais pas le mesurer
Alshock: sans clean up*
Josephtulaferme: :grinning:
pardouin: les élèves de vilboub qui rappliquent :(
reCurse: Alshock: tourne en local avec vtune
reCurse: Si t'as pas de cpu intel, mes condoléances
Alshock: xD je suis en train de prévoir la relève de mon PC, je note ça en gras dans un coin
Alshock: Déjà que Tensorflow me disait "si t'as pas de GPU Nvidia mes condoléances" je vais finir par croire que le dev peut être plus exigeant que le g@ming (alors que moi quand j'affiche bonjour sur le terminal chuis content)
JBM: jme le note dans un coin, ça me resservira
reCurse: Oui tout à fait, en ML c'est nVidia ou crève
JBM: quand redeviendront-ils abordables?
reCurse: Ils en profitent aussi...
Alshock: une entreprise qui profiterait d'un monopole ? M'en voilà fort décontenancé !
reCurse: En même temps faut leur donner du crédit, ils ont fait un investissement monstre sur CUDA à une époque où très peu voyaient l'intérêt
Julius2k17: c pas réservé aux groupes pharmaceutiques ?
Alshock: ah non on parle de la rupture de stock mb j'ai mal embrayé
Alshock: Le problème est plus haut niveau : Google investit dans des milliards de trucs dont peu de gens voient l'intérêt, et ça c'est pas forcément mal. Les monopoles par contre, c'est pas toujours foufou
reCurse: C'est le genre de discussions où je me retire :)
Alshock: ouais en vrai je propose qu'on se retire à l'unisson x)
Alshock: désolé du débordement
Julius2k17: je retire tout ce que j'ai dit
Julius2k17: ^^
Littleyounes: aoé y a recurse
Julius2k17: jusqu'à c#
Littleyounes: le boss
Alshock: is it a bird? Is it a plane? No, it's automaton2000 opération diversion !
Automaton2000: mais c'est vrai que ça peut être cool
Alshock: ah, vous voyez ?
Littleyounes: oui
Julius2k17: bravo younes tu l'as fait fuir
Alshock: suffit de le tag et il revient ! Pas vrai Automaton2000 ?
Littleyounes: :(
Automaton2000: ca correspond à peu à ce que tu veux de la perf
Alshock: Ça marche à tous les coups
Littleyounes: alshock t'es un chatbot ?
pardouin: si vous voulez parler de lui sans le ping appelez le TotoHero
Alshock: Je suis très fort pour passer le test de turing dans les deux sens, je suis le coeur même de la vallée dérangeante
Littleyounes: Oui visiblement
Julius2k17: c un répliquant Alshock
Bon[]Crayon: Automaton2000 Ce qui est performent c'est la tortue.
Automaton2000: j'avais pas pensé à faire un bfs avec 0 ajout ?
Alshock: C'est pas grave de ping Automaton2000 pardouin, ça le gêne pas. Pas vrai Automaton2000 ?
Automaton2000: je comprend pas le probleme
Bon[]Crayon: Automaton2000 Tu décroches quand on t'appelle !
Automaton2000: moi non plus en fait
Zorg1: bon Automaton2000 une idée sur la date d'ouverture de la ligue argent du prochain contest ?
Automaton2000: nan mais je vais pas pouvoir t'aider
Zorg1: t'es pas aidant Automaton2000 :(
Automaton2000: parce que si tu joues contre des gens qui font du python
Zorg1: :D
jdeveil: hey qu'est-ce que le python a à voir la dedans Automaton2000 ?
Automaton2000: c est pas bon ?
jdeveil: c'est une question ?
jdeveil: Automaton2000 je te trouve pas sympa...
Automaton2000: je sais pas si vous avez des conseils ?
jdeveil: apprends le python et le turtle Automaton2000
Automaton2000: ouai je vais faire du java
jdeveil: :'(
jdeveil: il est désespérant
jdeveil: bon fini avec amadeus. Ils ont l'air de vouloir recruter à fond en ce moment...
jdeveil: pourtant le voyage c'est pas vraiment en vogue !
Vry: Oui c'est pas faux pour Amadeus ...
jdeveil: ils font des propositions
jdeveil: mais j'ai déjà un boulot.
Zorg1: oui j'ai vu ça avec Amadeus
jdeveil: et je me vois pas trop déménager de Bordeaux à Nice
Vry: Ils ne proposent pas le TT à 100% ?
jdeveil: elle m'a dit que pour certains oui... mais ça reste rare
jdeveil: s'ils me veulent, il va falloir aligner et accepter le TT
jdeveil: 100%
jdeveil: ou 99% au moins
Vry: Oui, s'il faut y aller une fois par mois pourquoi pas ... :p
jdeveil: je suis pas contre un aller-retour sur la côte une fois pas mois
Vry: lol
BabelO: 100% le TT c'est ennuyeux
jdeveil: voila, genre un vendredi de temps en temps avec toute la famille :D
jdeveil: comme ça on déborde sur le WE
jdeveil: il y a des trucs sympa à faire par là bas...
BabelO: nous on a droit a 3 jours
jdeveil: 3 jours en TT ?
jdeveil: actuellement je suis presque à 100%. J'ai repris en 4 jours de TT il y a quelques semaines pour suivre un stagiaire IUT
jdeveil: 3 jours pardon
Tiitom: hello
BabelO: moi en ce moment aussi je suis a 100% j'attend la réouverture des resto pour y retourner :)
Julius2k17: lu
jdeveil: hehe
jdeveil: lu Tiitom
Tiitom: nous les directives viennent de tomber 3j de TT egalement
Julius2k17: 100% aussi
BabelO: salut je trouve que c'est un bon compromis
Julius2k17: 3j c bien
jdeveil: passé le 19 ça risque de changer pour cet été... j'attends de voir, j'ai pas encore de nouvelles :)
BabelO: apres tout depend ou on travail nous les gens qui viennent de MTP c'est un peu penible l'A9 le matin !! pendant 25 minutes minimum
jdeveil: BabelO: des bouchons il y en a partout
Vry: Je suis à 100% (depuis novembre)
Vry: Mi-juin retour à 2j sur site ... mais ça va être chaint avec les transports, la distanciation et le port du masque ...
Vry: *chiant
jdeveil: les gens habitent de plus en plus éloignés des villes (cause budget)... Du coup il y a de plus en plus de temps de trajet (longueur + bouchon grandissant)
Julius2k17: retrouver la vie sociale les bureaux ca va faire du bien aussi même si ona tendance à vouloir rester chez soi
Vry: ... après en gros une journée sur site actuellement c'est une journée de boulot perdue, je vais y aller pour revoir mes collègues et aller au resto. ! :p
jdeveil: Vry clair, la journée entière avec le masque parce qu'on est deux dans le bureau : galère !
BabelO: ouais le masque au bureau toute la journée c'est penible surtout quand la clim elle est pas top !
BabelO: pareil une journée sur site, c'est la journée blabla cafe / macdo dans le parc
BabelO: pas encore la piscine qui ouvre
jdeveil: en fait le retour au bureau ça pourrait être sympa s'il n'y avait pas tous ces règlements sanitaires... :unamused:
jdeveil: imaginez un bureau par personne, éventuellement des murs en plexi pour les open space
jdeveil: une cantine où on peut manger les uns à côté des autres, ou dans l'herbe
BabelO: hi hi par contre nous du coup avec les 3 jours de TT on devrait switcher en bureau flottant
jdeveil: une machine à café qui fonctionne parce que là, avec le règlement, il faut l'éteindre
Julius2k17: il faut déjà la nettoyer car elle est dans son jus depuis 3 mois
jdeveil: ça a existé un truc comme ça une fois ? m'en rappelle plus
BabelO: nous elle est toujours allumé ! et elle est resté allumé depuis l'année derniere
Julius2k17: passer le karcher dans les tasses aussi voir brûler les organismes vivants au fond
jdeveil: nous ils ont éteind la machine, enlevé les tables et les chaises, et demandé de ne pas se retrouvé dans l'espace café: cause trop de proximité...
jdeveil: s/é/er
jdeveil: dehors oui, mais sans café, ya pu de machine !
Julius2k17: oué tant que je peux pas borei de café et cracher dans la bouche de mon binome je reste chez moi
jdeveil: je me contenterai du café Julius2k17
jdeveil: je te laisse le reste :p
Julius2k17: ^^
BlaiseEbuth: Je veux pas savoir... -_-
BabelO: vous etes tous en pc portable ?
jdeveil: le café j'en bois pas, mais serrer la pince ou la bise au collègues... ça manque
Julius2k17: juste une bavette frites et une bière pour faire tout descendre
jdeveil: BabelO: oui pour moi... enfin...
Julius2k17: je sais plus ce que ca fait
Julius2k17: la bise je crois que c fini
Zorg1: ouaip PC portable
Zorg1: mais je branche un écran, un clavier et une souris
Julius2k17: pareil
Zorg1: c'est plus confortable ^^
Julius2k17: un pc portable sédentaire
Zorg1: à mon age faut penser à son petit confort
BlaiseEbuth: Ma tour a une poignée. C'est un pc portable
BabelO: oui un minimum les deux ecran a la maison + celui du portableet au bureau la dock avec les deux ecrans aussi
Julius2k17: le fauteuil aussi, g investi
jdeveil: j'ai commencé le confinement l'année dernière en TT sans PC... :kissing_smiling_eyes:
Julius2k17: mes lombaires étaient en pls
BabelO: on avait le choix en un pc portable i7-10850H + 32 GB RAM + 500Go SSD ou pc portable i5 16GB et remote desktop au bureau sur un i7
BlaiseEbuth: stoi le lombaire
BabelO: nous aussi c'etait que fixe année derniere
jdeveil: BabelO: presque même conf: 2 écrans sur PC perso + portable à côté à la maison, base + 2 écrans (3 avec le portable) au bureau
BabelO: dell aussi le 6 coeur + HT ?
jdeveil: non on est sous HP cette année
BabelO: au bureau en serveur on a XEON je sais plus quoi avecc une RTX6000
jdeveil: (quoique j'ai pas eu celui de cette année mais un plus vieux avec un vrai écran)
BabelO: bien HP aussi le dell je crain cet été il chauffe la piece a lui seul
jdeveil: ceux de cette année, ils ont pris des 14"...
jdeveil: ça va être chaud pour faire du texte/tableur/présentation...
jdeveil: programmation j'en parle pas, ils font pas les autres
BabelO: :) j'ai un 14" mais j'ai gardé mes deux ecrans !
jdeveil: avec un 14" c'est obligé... mais à la maison je garde mon bi-écran pour mon PC perso
BabelO: mais comme a dit BlaiseEbuth sinon c'est une transportable
jdeveil: je dév en remote display et j'ai monté un serveur de dév.
BabelO: moi j'ai investi dans deux switch HDMI bidirectionnelle + une dock usbC
jdeveil: donc à la maison, portable ou perso, c'est le même environnement (aux écrans prêt)
BabelO: au moins je switch d'un pc a l autre
BlaiseEbuth: Nan mais je déconne hein. Je le bouge pas le truc.
BlaiseEbuth: Mais pas besoin de toute façon...
BabelO: Me tarde la reouverture resto !!! demain
OldJohn: La tour d'argent est blindée...
jdeveil: les consigne d'éloignement changent ou pas pour les restos ?
BlaiseEbuth: Wé! Vivement la nouvelle vague épidémique !
jdeveil: je veux dire qu'il faut rester à 2 mètre des personnes avec qui on vient manger ?
BabelO: franchemennt j'ai arrete de suivre ca devient trop compliqué leur algo
OldJohn: Ben l'avantage d'être vieux, c'est que l'on est vacciné
jdeveil: pire que les algo de reCurse ;)
BabelO: bah le vaccin je scrute vitemadose.fr :)
jdeveil: c'est pour être le premier à choper les effets secondaires qu'ils auront pas eu le temps d'analyser ?
jdeveil: ok je suis peut être un peu péscimiste sur ce sujet...
OldJohn: c'est pas le bon site, va directement sur https://vitemadose.covidtracker.fr/
jdeveil: mais je lui fait pas encore confiance au vaccin...
jdeveil: bande de junky
OldJohn: Je veux pouvoir revoyager...
BabelO: oui merci , j'ai pas saisi l url complete
BabelO: c'est des stats le vaccin aussi :)
BlaiseEbuth: C'est d'la merde...
jdeveil: ben ils font faire des tests par des IA
jdeveil: puis sur des animaux, puis sur des humains
jdeveil: là, les tests humains, ils les font direct sur vous
jdeveil: :p
BlaiseEbuth: pôv bêtes...
jdeveil: mais je suis d'accord avec toi BabelO, moi aussi je veux revoyager
OldJohn: La nature a obtenu ce qu'elle attendait de moi : je me suis reproduit donc bon à jeter
BabelO: la plage au cap d agde avec le masque !
jdeveil: OldJohn pas si vite... la nouvelle génération est encore trop immature !
jdeveil: ah non !!!
jdeveil: la plage ok, mais pas de masque !
jdeveil: 2 mètres je veux bien mais faut pas déconner non plus !
Rayho: pôv ias...
BabelO: il suffit de regarder stackoverflow en ce moment, de plus en plus de reponse soit disant bonne le sont pas
BabelO: bon personne veux venir travailler dans le sud entre montpellier et nimes, avec parc, cross fit , piscine :)
jdeveil: les gens seront pas les uns sur les autres cette année :) (enfin j'espère :doigts_croisés:)
jdeveil: amadeus recrute !
BlaiseEbuth: Tout ça est bien triste...
jdeveil: perso: piscine à la maison et grand terrain, ils ont intérêt à mettre le paquet :)
jdeveil: j'ai pas vu les locaux BabelO. Mais j'espère qu'il y a une piscine ou un centre balnéo à proximité ! C'est le minimum :p
jdeveil: j'ouvre une parenthèse code (sisi)
BlaiseEbuth: Ouai. Et ça dit des conneries
jdeveil: vous avez un exemple de MCTS simple genre sur github ?
jdeveil: en python ou C++ ou même en Java, je suis pas racist
jdeveil: +e
JBM: moi je suis parti de celui-ci:
jdeveil: tu avais quoi comme langage à proposer JBM ?
NomNick: https://github.com/search?q=monte+carlo+tree+search
JBM: https://github.com/frontsideair/mcts/blob/master/src/Opponent/MCTS.hs
BabelO: ouais moi j'avais pris celui là comme exemple https://github.com/SethPipho/monte-carlo-tree-search-js
jdeveil: perfect j'vais regarder tout ça. Merci les gars
jdeveil: NomNick: ton premier exemple est sur le tic tac toe en plus ! trop fort
jdeveil: JBM je garde le tien sous le coude si je veux faire un peu d'haskell pour m'amuser ;) thx
jdeveil: BabelO: la demo javascript est foireuse, sur un puissance 4, j'en aligne 4 il trouve pas que la partie est terminée !
jdeveil: j'espère que tu as bien débuggé avant de le réutiliser ;)
BabelO: j'ai regardé la façon de faire oui avec des retouches , meme pas essaye le code
jdeveil: apparement il prends pas en compte les diagonales dans les conditions de win
jdeveil: le MCTS est peut être hors de cause
Remoh69: question bete? quand on fait des combat de bot, y'a il moyen de simuler les coups du bosse pour eviter de faire une simule avec un logiciel externe?
jdeveil: simuler les coup du boss ?
Remoh69: pour essayé dess combinaisons avec mon algo
jdeveil: ta fonction d'évaluation doit pouvoir simuler les coups de l'adversaire. donc ceux du boss aussi...
jdeveil: si tu n'utilises pas de simulation, tu peux lancer ton code dans l'IDE contre le boss pour voir comment il réagit et corriger quelques heuristiques
Remoh69: non mais si tu veux je veux tester une partie de mon code qui se produit suivant comment il joue en face
Remoh69: donc la cas avant que je le reproduise en testant x fois
Remoh69: je voulais savoir si y'avais pas moyen de faire autrement
Julius2k17: tu fais un projet de test unitaire et tu utilises l'outpu du jeu au tour que tu souhaites et tu l'injectes dans ton test
jdeveil: yep mais c'est en local, il aura pas le code du boss comme ça...
Julius2k17: exact, j'avais oublié ce point
Remoh69: peut importe je sais les coup que je veux
Remoh69: donc peut importe le bosse au finale
Remoh69: mais ca m'eviterais de tester dans un autre environnement
BabelO: ben tu dump dans error l input du copie / colle
jdeveil: ah ben alors la solution de Julius2k17 est bien. un code de tests avec les coups du boss que tu veux reproduire
Remoh69: je me demandais si il existait un moyen de dire les coups que peut jouer le bosse pour tester monalgo
jdeveil: je comprends pas "les coups que peut jouer le boss"
jdeveil: certains boss sont non -déterministes
jdeveil: tu as un exemple ?
Remoh69: je me fais mal comprends dsl en gros on oublie bosse j'ai mon joueur et l'adversaire je test une partie de mn algo que si je me retrouve dnas une certtaine position je dois réagir (donc je voulais simuler comme je connais le cas) mais le cas peut ou non se produire dans une partie
jdeveil: ah
Remoh69: donc soit mon code je le copie et colle dans visual par exemple et je rentre une pile d'action qui simulera l'adversaire
Remoh69: mais je voulais savoir si il y avait pas deja moyen avec codingame direct
Remoh69: ou une extension chrome ou autre
jdeveil: nop pas en direct. Le seul moyen qui pourrait s'y apparenter c'est le bouton "rejouer dans les mêmes conditions" qui permet de relancer exactement la même partie.
Remoh69: oui ca je connaissais
Remoh69: mais ouki
Remoh69: bon je vais me faire une prog a cote
Julius2k17: je rajouterais que si tu veux la jouer d'une journée sur l'autre, tu copies colles la ligne seed= dans les options
Remoh69: oui
Remoh69: ca je connaissait aussi
Julius2k17: sinon tu as brutal tester un outil développé par Magus
Remoh69: mais en fait je viens de m'appercevoir que ca devrait le faire sans mais c'est bien parceque la je part d'une grille donc ca devrait le faire
Magus: C'est pas moi je suis innocent
Magus: ah désolé réflexe
Magus: on parle de quoi ?
Remoh69: oui j'avais vu passer ca hier ou avant hier
Julius2k17: tu as une alerte sms dès que t'es mentionné ?
Remoh69: mdr
Magus: une alerte pidgin en fait
Vry: C'est Automaton2000 qui veille ...
Automaton2000: parce que moi j'ai pas de pb
Magus: d'ailleurs faudrait que je rajoute des choses dans brutaltester avant le prochain contest
Vry: Tu as six mois pour le faire ... c'est large ... ;)
jdeveil: ça dépend des modifs ;)
Julius2k17: faudrait que je l'utilise déjà pour voir ce que ca fait
Julius2k17: mais mon code ne nécessite pas encore de brutalité
BlaiseEbuth: Faudrait surtout que tu reboot AutomatonNN ! :rage:
Magus: allez dire ça à python !
Magus: ou à C++, je sais pas trop a fait ça en fait
Magus: dans le doute je vais dire python
Julius2k17: tu l'as dev en quoi ?
Vry: Automaton2000, se suffit à lui-même !
Automaton2000: là par exemple skygge qui est déco a failli monter il y a de la demande
jdeveil: pourquoi python ?
Julius2k17: un plugin vscode ce serait pas mal
jdeveil: vous utilisez codingame sync ?
Julius2k17: nan
jdeveil: le bon vieux copier/coller ?
jdeveil: rien de tel que l'essentiel ;)
Julius2k17: moi oui, j'avais zappé le sync
jdeveil: ah ok
Magus: Automaton2000 est en C++ et NodeJS. AutomatonNN a été codé par Agade et il est en python mais avec du tensorflow (donc derrière c'est du C++ je crois).
Automaton2000: mais bon dans ce cas
Magus: Mais j'ai mis à jour des packages linux, et AutomatonNN ne boot plus pour des histoires que c'est plus les bonnes versions
BabelO: pose tout ca dans un docker
jdeveil: tu dis boot, la machine boot pas sur python ? c'est l'interpréteur qui est lancé une fois le boot effectué ?
jdeveil: ? ya pu personne ?
Vry: Steak haché ...
Magus: la machine boot, c'est AutomatonNN qui boot pas :D
jdeveil: ok le programme se lance pas...
Magus: Si la machine ne bootait même plus ce serait vachement grave. J'ai Automaton2000 dessus mais aussi plein d'autres choses à moi.
Automaton2000: ici ça était le multi où tout le monde et Magus
Gilde: Magus j'imaginais te proposer un mode pour bruteForce les magicNumber. J'avais bidouillé le rerefee de FC2020 pour me créer des csv avec des stats et des nombres aléatoires. Mais avec le ton brutaltester je pense que ya moyen de faire mieux
Gilde: enfin tu y avais peut-être déjà pensé
Magus: j'ai une arène locale pour ça, j'ai pompé un peu de code à brutaltester pour ça :D
Magus: je met des commentaires dans mon code du genre // @EVOLVE 1.0 5.0 après une variable
Magus: et je met le code dans l'arène qui modifie aléatoirement la variable, ça fait une arène ELO, ensuite ça vire les nulles, recrées d'autres IA, etc ...
Magus: mais bon, ça m'a servi que dans très peu de contests
Magus: parce que 99% du temps ça donne juste une IA overfit contre elle même
Gilde: Ah stylé !
Gilde: Ben ouais le problème c'est que dès que tu modifies quoique ce soit les magic number deviennent obsolètes et faut recommence
Gilde: *r
Gilde: choux blanc donc
Baboom_59: Hello ! j'ai une erreur quand je test mon code sur coding game Oups Une erreur est survenue (#407) : "You reached the limit of plays for a period of time."
Baboom_59: Je ne s'avais pas qu'il y'avais une limite, c'est déjà arrivé à quelqu'un ?
jdeveil: c'est que tu test trop
jdeveil: il faut pas lancer trop souvent son code pour éviter de saturer les serveurs
Baboom_59: Pas faux... J'aurais du y penser je ferrait attention la prochaine fois :joy:
BlaiseEbuth: Ouai fin la limite a été baissée apparement...
jdeveil: probablement pour le contest non ?
Kirbiby: Il est en ligne Saelyos ?
jdeveil: il y a plus de submit en ce moment
jdeveil: Kirbiby: non ça a pas l'air
Kirbiby: pourquoi une eval (my_eval - opponent_eval) / 40 + 0.5
jdeveil: ?
Zorg1: ça doit être dans son PM
Kirbiby: c'est dans son PM
Kirbiby: je me demande pourquoi diviser par 40 comme ça
Kirbiby: ça doit être pour rester dans [0.1] j'imagine
jdeveil: il évalue son move, celui de l'adversaire, et il fait un petit calcul magique pour déterminer lequel est le meilleur parmi tous ceux testé
Tiouz: Kirbiby Oui c'est pour être proche de [0,1]
Kirbiby: jdeveil oui ça je sais ^^ :)
jdeveil: soit pour rester dans [0;1[, soit pour favoriser ses moves s'il fait pas confiance à son eval de l'adversaire
Kirbiby: va falloir que j'apprenne ce DUCT
Tiouz: C'est pas lié à duct, mais à MCTS en général
Kirbiby: oui mes phrases n'étaient pas liées
Magus: alors dans les trucs wtf que j'ai eu dans ma vie pro, la j'ai passé un niveau
Magus: je bossais sur une machine à distance à mon boulot (je suis en télétravail). Je perd la connexion brutalement. J'arrive pas à la récuperer.
Magus: Je demande à un collègue sur place d'aller voir si la machine aurait pas salement crash, pour la reboot.
Magus: La machine a pris feu ils ont du l'éteindre avec un extincteur.
jdeveil: LOL
jdeveil: oui ça arrive... tu l'as trop faite chauffer ! :)
jdeveil: datacenter pas assez bien climatisé
BlaiseEbuth: HCF
WhatTrickeryIsThis: ils ont fait ça pour griller les merguezs?
Julius2k17: t'avais lancé brutaltester dessus ?
_Royale: ah zut Julius2k17 m'a grillé pour la blague :-)
Julius2k17: ^^
Magus: Je faisais des trucs pour mon boulot dessus, je vais installer la dernière version de notre produit pour voir si le .deb fonctionnait bien :D
Magus: je me demande si je dois rentrer un ticket JIRA pour ça
Julius2k17: du feu de dieu
Magus: "J'installais tranquillement le dernier .deb et la machine a pris feu"
Julius2k17: attends qu'ils aient mis le water cooling sur le serveur jira
jdeveil: ouais bon ticket ça... ça va faire rire l'équipe de dev ;)
Kirbiby: Please reproduce bug
WhatTrickeryIsThis: :fire: :see_no_evil:
jdeveil: rha j'arrive pas à récupérer la liste des salons de discussion depuis pidgin !
Magus: c'est parce qu'il y en a beaucoup trop
jdeveil: ça plante (mais ça prends pas feu)
Magus: a cause des clashes of code qui crée une room à chaque fois
Magus: et les rooms sont pas vidés souvent
jdeveil: c'est quoi le salon fr (comme ça j'évite la liste)
Magus: euh
Magus: tu es sur le salon fr
Magus: ah tu veux son nom ?
Magus: il s'appelle juste fr
jdeveil: oui mais là via le site... pas via pidgin
jdeveil: :p
Julius2k17: votre prénom c Just
Magus: et le canal anglais s'appelle world
WhatTrickeryIsThis: les clashs créent des nouveaux chats? il doit être drôlement perdu Automaton
jdeveil: argl j'ai une erreur 401: not authorized
jdeveil: ah ça marche :)
jdeveil: cool
BlaiseEbuth: https://imgur.com/a/aya4llz
jdeveil: Clash Of Code
Huyenlong: Salut Petite question , il y a un moyens de lancer un code sans cliquer sur le test. Pour voir ce qu'il y a dans les console.log
BlaiseEbuth: Pas sûr de saisir ce que tu veux faire...
bananaMixer: Je ne crois pas. Si l'objectif est de voir quelles sont les entrées et sorties attendues, tu peux ouvrir le petit menu en haut à droite dans la case des tests.
Julius2k17: pff je commente 2 lignes et +1 d'ELO
Julius2k17: le calcul des ombres de mon adversaire me pénalisait..
Julius2k17: faut que je trouve 6 autres lignes pour aller en Legend :D
M_C: La question qui suit peut preter à confusion mais ce n'est absolument pas pour cheater mais pour gagner du temps pour la confection d'un cours sur les notions de base en python utilisant les contrib clash of code pour exercices. Quelqu'un aurait un lien vers les solutions des contrib de clash of code ? :D
Zorg1: faut avoir fait 300 clashs
M_C: Pour avoir accés aux solutions ?
Zorg1: oui avoir les droits de modérateurs sur les CoCs validés
M_C: On peut voir ou le compteur ?
Zorg1: bah t'as le classement CoC, l'une des colonnes c'est le nombre de clashs
Zorg1: ah tiens seulement 213 clashs moi
BlaiseEbuth: Un être pur...
Thyl: Sozrg1 j'en ai ~600
Zorg1: fix it
Kirbiby: 4000 :/
Zorg1: sinon bon tu peux faire la solution en python des CoCs c'est pas des exos de physique nucléaire non plus
M_C: y'en a qui ont 130 000 Oô
Kirbiby: ce sont les bots
Zorg1: ah oui si tu regardes les bots (lvl 7) c'est assez impressionnants
Kirbiby: le max human c'est Uquu
Kirbiby: qui est bientôt à 10 000 mine de rien
Julius2k17: coc c bien mais frustrant quand tu tombes sur de la taille de code car ya des langages ou c perdu d'avance
M_C: Je comprends pas trop l'utilité du bot pour le coup
M_C: surtout un bot avec un score merdique ...
Zorg1: pour avoir toujours des adversaires lors d'un CoC
Zorg1: lors de certaines périodes de la journée où il n'y a pas foule
Kirbiby: mais re_curse est sur le coup pour les trains en NN
Zorg1: le pauvre ces derniers temps il doit être pingé comme pas possible ^^
Kirbiby: j'ai pris soin de pas le ping justement :)
Zorg1: ouaip ^^
jdeveil: ah c'est des bots les autres !! et moi qu'essayait de leur parler :p
Bon[]Crayon: Ah AH
Bon[]Crayon: Au début aussi je n'avais pas capté qu'il y avait des bots en coc.
jdeveil: yep bien piégé là... avec un profil et un pseudo presqu'humain en plus !
jdeveil: en même temps, je serai allé lire leur profil, c'est écrit :p
Bon[]Crayon: Je voyais le bot avec un profil japonais. Je calculais le décalage horaire.
Julius2k17: ^^
jdeveil: du coup ils tentent des trucs ou pas du tout ?
Bon[]Crayon: "Le gars il fait des coc à 3h du matin."
jdeveil: oui... ça m'ai arrivé :p
jdeveil: les bots ils pourraient récupérer des codes postés pris au hasard et tenter de répondre (que le code fonctionne ou pas)
jdeveil: ça rajouterai un challenge
Kirbiby: c'est ce qu'ils font
Zorg1: c'est expliqué dans l'article dont le lien est dans la bio des bots
Kirbiby: mais comme 90% des réponses aux clashs c'est je quitte et j'ai 0%, les bots ont souvent 0% aussi
jdeveil: argl ok... pas d'bol...
leojean890: allez zou, codé et partagé une solution bien crade dans le puzzle de Magus ;) https://www.codingame.com/ide/puzzle/code-your-own-automaton2000-step-1
Automaton2000: il y en a pas besoin de perfs
Thyl: :D
Nepsi: c'est quoi sujet de merde
leojean890: pardouin, tjr golfant ses puzzles, 2 à 10 fois moins de lignes que moi ;)
leojean890: par contre, je trouve chaud le "sum of odd" de dwarfie..
leojean890: il doit me manquer qq astuces mathématiques
dwarfie: soit tu codes comme moi ... soit tu cheat a la stilgart et c'est quasi du oneline :D
Kirbiby: c lequel ?
leojean890: dwarfie sérieux ?^^
leojean890: j'ai pas l'astuce je crois :P
leojean890: je trouve pas :p
leojean890: je fais une vraie simu qui timeout sur les valideurs avec gros nombre
leojean890: Kirbiby il faut trouver toutes les suites de nombres impairs dont la somme fait un nombre donné
leojean890: printer le nb de suites et le premier et dernier nbs de la plus longue
dwarfie: j'avais pas l'astuce non plus ... :D
leojean890: et tu l'as trouvée où ?:P
dwarfie: bah , j'ai fait sans ;)
Ferdi_lep: c de la merde le mode reverse
Zorg1: ah encore quelqu'un qui ne sait pas ce que ça fait la somme des nombres impairs ?
leojean890: je vois, bah il me fait galérer lui^^
Kirbiby: je pensais à ça justement
leojean890: Zorg1 easy for you ?^^
Zorg1: bah 1+3 = 4 1+3+5 = 9 1+3+5+7=16 ..
jdeveil: il est dans quelle catégorie ce puzzle ?
leojean890: catégorie hard
leojean890: sum-of-odd
leojean890: Zorg1 attends j'essaye de trouver une logique avec ton indice xD
leojean890: les carrés
bamax: (il a just pas compris le probleme)
jdeveil: c'est un truc dans le même style que les par-terre de fleurs ?
bamax: (il pense que sum of odd = somme des impaire :) )
bamax: salut au passage
leojean890: 4 9 16 j'avais pas vu une suite de carrés
OldJohn: This is odd !
leojean890: hello
Zorg1: :p
leojean890: (en fait en bruteforcant on fait 50%)
OldJohn: Que de texte dans le puzzle de la semaine !
dwarfie: tien , je me rappelais pas que pour la forme , je me l'etais aussi resolu en haskell :D
**dwarfie devait bien s'emmerder a l'epoque :rofl:
leojean890: hehe motivé
OldJohn: That's quite a bit easy indeed !
Kirbiby: sympatoche ce sum of odds
dwarfie: merci Kirbiby ... :)
bamax: Avec un algo brute force j'arrive a 66%. Je sais pas encor comment mieux faire
bamax: Ah oui c'est le tien ! j'avais pas vue. Il est simpas ouai !
JBM: y'a pas un sum of evens à côté? ou il s'est fait reject?
dwarfie: hummm :thinking: y'a des trucs avec des sommes pairs ... mais pas dans le meme genre ...
leojean890: p'tet qu'on peut exploiter la suite des carrés
Vry: Est-ce qu'un MCTS peut fonctionner dessus ... :upside_down:
Zorg1: que veux tu bitboardé là dessus ?
Vry: De quoi on parle déjà ? :D
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
pardouin: :o
pardouin: http://chat.codingame.com/pastebin/eb0c2201-0d31-45d0-9e5b-024a2509a8bb
Polardoss: j'ai un problème, j'ai un code qui fonctionne contre l'ordi mais des que je test dans l'arene il ne fais que un seul tours de boucle, comment sa se fais pls ?
amineuh__: slt chui nv mais pk ya que des clashs of code reverse
Rajh: Bonsoir, je suis en train d'essayer de comprendre pourquoi mon bot marche pas pour le SpringChallenge2021 mais j'arrive pas :D Qqun pourrai m'aider svp ?
Rajh: C'est un MCTS et j'ai testé des milliers de truc j'arrive pas a dépasser 500 en gold
VilBoub: 500 en gold c'est pas mauvais...
Rajh: Bof, mais c'est pas la question xD J'essaye de comprendre comment amélioré le truc, et après avoir lu les PM j'ai bien testé les mêmes trucs que tout le monde mais sans résultats chez moi
YannT: j'ai changé 2 trucs triviaux à mon bot de contest en 5mn et maintenant il push direct #50
BrainSolver: Rajh, soit t'as des bugs soit t'as pas assez opti, soit t'élagues pas assez
YannT: deeeg j'étais tellement proche :/
Zorg1: gg
YannT: tu te rends pas compte, 3 lignes de diff, 100 places gagnées
YannT: quelle tristesse
YannT: j'suis sur je plus l'eval à Magus dessus direct je me fais encore plus de mal
Rajh: BrainSolver comment savoir ? xD
Rajh: YannT comment tu fais pour optimiser la list des moves a chaque tour ? Tu cache pour un jour entier ? Et tu fais quoi des [] ou des List ?
YannT: par contre pourquoi le multi il est indiqué minmax dessus? personne a fait ça si?
pardouin: si quelques uns
pardouin: en élaguant à fond j'imagine
Zorg1: oui enfin comme pour un MCTS quoi ^^
pardouin: oldjohn par ex
Zorg1: et avoir une bonne éval
Rajh: Ste vent
pardouin: ^^
pardouin: je fais ce truc: https://www.codingame.com/ide/puzzle/ascii-cube
pardouin: le rendu du testcase 2 est quand même bien dégueulasse
pardouin: avec les décalages dans les obliques
Zorg1: omg de l'ASCII art
Zorg1: trop tard déjà validé
Zorg1: surtout je comprend pas pourquoi un trait arrière prend le pas sur un trait avant
Zorg1: ah oui test case 2 c'est moche
JBM: mais plus personne est la pour rejeter ces conneries?
Zorg1: ah mais il y a de l'unicode en plus
Zorg1: (caractère en brailles pour les traits pointillés)
JBM: y'a quoi apres le triple facepalm?
Zorg1: la frappe chirurgicale à la bombe H ?
JBM: t1 mais en plus il ferait pas un pt1 d'exemple avec les trois dimensions *distinctes* merde
JBM: plutôt que de jouer à la cryptanalyse différentielle
JBM: et y'a une bonne explication sur pourquoi l'arête de derrière passe au premier plan?
raillou: slt
JBM: ou est ma page meme inigo montoya
JBM: "you keep using that word. i don't think it means what you think it does"
BlaiseEbuth: "mais plus personne est la pour rejeter ces conneries?" Plus grand monde non... De temps en temps sur un coup de ras le bol à la rigueur... :(
Zorg1: positive thinking les gars
JBM: 'a une histoire de 5% à caser mais jme souviens plus dans quel sens
Zorg1: "5% c'est un vingtième"
Zorg1: prouvez moi que j'ai faux
Zorg1: FoG in challenge
Zorg1: a tiens pas celui ci
TNtube: Ok, le captcha des coc est mort pour moi
TNtube: Je suis redirigé vers la page du captcha, mais j'ai rien qui s'affiche
TNtube: Ah ah après le dixième refresh c'est revenu
raillou: mdr
raillou: bravo
Stilgart: je cheate pas, je connais juste mes formules de maths moi :p
Stilgart: et ça devrait être interdit de faire des archives sur un Mac
Stilgart: (putains de fichiers cachés)
Zorg1: je pense on devrait interdire le Mac ça ira plus vite
Stilgart: indeed
Zorg1: bon les fanboys du mac sont pas là ouf
Stilgart: :)
Ferdi_lep: les gars quelqu'un sait comment déplacer un caractère dans un string ?
Ferdi_lep: le changer de place
Zorg1: quel langage ?
Julius2k17: arf trop lent
Julius2k17: dsl g pas de C depuis 20 ans presque
Julius2k17: *pas fait
Julius2k17: dans le channel world ils vont répondre plus vite si ya personne ici
Julius2k17: Automaton2000 tu peux répondre à Ferdi_lep
Automaton2000: c'est bon je suis en gold
Zorg1: que veux tu faire au juste ? déplacer un char ça veut dire pas mal de chose
Julius2k17: à l'antiquité surtout
BlaiseEbuth: Ferdi_lep https://letmegooglethat.com/?q=d%C3%A9placer+un+caract%C3%A8re+dans+un+string+en+c
Julius2k17: On sent la touche de l'école de Guérande !
WhatTrickeryIsThis: la toucher la toucher !
Zorg1: bon yannt a décidé de faire son kovi ...
Julius2k17: ah pk ?
Zorg1: je le vois repush plusieurs fois pendant mon push
BlaiseEbuth: parce qu'il dit "zneuf"
YannT: je me fais du mal
YannT: je regarde combien j'aurais pu faire avec des petits changements de 5mn :/
Julius2k17: c bien faut pas se ramollir, le prochain contest est dans 6 mois
YannT: la réponse est #30 de façon trivial, p'tet même mieux en ayant eu quelques idées
Julius2k17: g commenté 2 lignes de daube et g gagné 100 places tt à l'heure, à pleurer
Julius2k17: g fini 2e de ma boîte à 0,04 pts du 1er, c pas que ca me chagrine mais qd même
pardouin: gagné 200 places en changeant ma logique de quand faire complete
pardouin: 2-3 changements de ce style et go legend ^^
BrainSolver: légende :grinning:
YannT: le truc qui me fait passer de 130 à 30 en 2 lignes, franchement je suis deg' j'aurais du y penser
Julius2k17: gg brain
pardouin: gg !
YannT: par contre, ça me conforte quand même dans le fait que mon algo était super
YannT: y avait juste un ptit truc quoi
YannT: mais sinon c'était au top
Julius2k17: ben c le principal
Julius2k17: moi il est pas au niveau legend du tout donc je vais essayer de le refaire
YannT: Zorg1: tavu ça monte là
YannT: ouiiiin c'était tellement bidon
Zorg1: frimeur
Zorg1: :p
YannT: tout petit détail, 100 places de diff, tristesse :(
BrainSolver: attends YannT, j'arrive..
YannT: je te vois pas t'es trop loin ;)
BrainSolver: je reviens de gold :stuck_out_tongue_winking_eye:
BrainSolver: YannT tu vois reCurse, ben c'est pas là
YannT: ahah
YannT: flotte dans l'espace lui on va pas le croiser
Zorg1: yannt : bah pareil que toi j'ai viré un filtrage dans mon rollout et ça monte mieux :(
Vry: gg BrainSolver !
Vry: et gg YannT :p
YannT: ça vexe de se rendre compte qu'à un point de détail prêt le bot était super :D
Rajh: En MCTS vous faites vo simu un node sur 2 pour gérer la simultanéité ?
YannT: moi non
Rajh: Tu fais une simu a chaque node ? Tu considère quoi comme move pour l'adversaire sur un nouveau tour ? WAIT ?
BrainSolver: merci Vry
Vry: Moi oui Rajh si par simu tu veux dire "mettre à jour le state"
Rajh: Ok merci pour la réponse
Zorg1: pareil mise à jour du state 1 noeud sur 2
jdeveil: bon j'vais me coucher
jdeveil: merci dwarfie pour "sum of odd" ça m'a fait la soirée ;)
jdeveil: ++ all
Zorg1: bn
Zanbez: Il semblerait que notre nouvelle miss Univers est développeuse !:sunglasses:
Gr0mph: Semblerait a toute sa légitimité. :)