Chat:Fr/2020-05-21
Java0xCAFEBABE: Initial Commit :grinning:
Neumann: gg
dbdr: latin1 maintenant
Vry: utf-8 ensuite ?
Alshock: Zut j'ai pas pensé à conserver le lien de Troll vs Castles
Alshock: Salut à tous au fait, heureux d'être debout pour voir Aurore aux doigts de fée
Neumann: https://www.codingame.com/ide/demo/84238477bff184d6523d9b7b6a0dd0790496d8
Alshock: <3
Alshock: je vais le garder précieusement
dbdr: Neumann en Java, tu as gardé des traces? :)
Neumann: Des traces de pneu ouais
dbdr: :D
VilBoub: plop les gens...
VilBoub: quand je rejoins l'ide je ne vois plus le chat à droite, comment on le retouve ?
JBM: c'est devenu reserve a une elite
VilBoub: LoL
VilBoub: c'est pas pratique, j'dois garder deux pages CG ouvertes du coup, une sur le menu avec le chat visible et une avec l'ide sans le chat...
VilBoub: C'est moi la mère Michelle et j'ai perdu mon chat... Help !
JBM: tu causes beaucoup pour qqun qu'a plus de chat
VilBoub: je jongle entre 2 fenetres !
VilBoub: grrrr
leojean890: mon IA en 1 seul if/else tient pas mal sur ton jeu JBM ... pour l'instant ;o
JBM: attends que je rajoute un caractere a mon bash
leojean890: tiens ma photo n'apparait pas sur le chat ;o
JBM: arrete de narguer VilBoub t'es pas gentil
VilBoub: mais heu !
VilBoub: vous avez le chat à côté de l'ide vous ?
Magus: leojean890: ouai les avatars dans le chat faut en général attendre un reboot du chat
Magus: VilBoub: non. C'est un bug.
JBM: mais en regle generale, je les demarre en ?disableChat de toute maniere
JBM: c'est quand il revient que j'ai un bug
leojean890: ils ont fait le bug report il me semble
leojean890: ah ok, donc ils reboot le chat tous les jours?:P
JBM: et 2 suspects, pour faire bonne mesure
VilBoub: ok, donc vous me laissiez crier par la fenetre pour rien, bande de méchants !
VilBoub: =)
VilBoub: d'un autre côté, j'aurai du m'en douter qu'il y avait un bug général, c'était étonnamment calme ici...
JBM: c'est parce que tout a deja ete dit
dbdr: ou presque
dwarfie: ouais... reste plus qu'a automaton2000 a dire tortue et licorne
Automaton2000: ça à l'air de faire le test
dwarfie: bon ... et si je me decidais a caillasser du troll moi ;)
Zaap38: tu parles du troll & chateaux ?
Zorg1: oui du multi de JBM
JBM: c'est genant de l'appeler comme ca en presence de Zaap38, qui a donne l'idee
Zaap38: si oui, en fait pour remplir de ta grille de choix à faire en fonction es nombres de pierre i et j, faut appeler le simplex sur la sous-grille i-1 j-1, et tu descend récursivement comme ça jusqu'à arriver à des solutions connues du genre 2 pierres
Zaap38: nan mais osef, c'pas mon jeu
JBM: https://www.codingame.com/ide/demo/84238477bff184d6523d9b7b6a0dd0790496d8
Zorg1: ah ok je ne savais pas que l'idée venait de Zaap38 ;-)
Zaap38: en vrai je suis content de le voir sur cg x)
JBM: (mais personne ne lit blablabla)
Zaap38: par contre tu feras gaffe, de mémoire la solution opti garantie au pire un draw
Zaap38: aya je suis crédité x'D
Zorg1: le début de la gloire
Zaap38: d'un coup j'ai plus de motivation pour finir le projet x')
Zorg1: espérons que la stratégie optimale ne soit pas aussi compliquée que celle pour le jeu de dés "Pig"
JBM: tiens, j'ai une idee de contest
JBM: ca me fait ca a chaque fois que je fais une rechute de SDK
JBM: mais c'est pas tous les jours que j'ai une idee 8 joueurs
Zorg1: le max du SDK c'est pas 4 ?
Zorg1: ok
JBM: min_players: The minimum number of players to play the game. Must be 1 for Solo and Optimization games, up to 8 for Multiplayer games.
Zorg1: je te crois, c'est que j'avais seulement vu des multis à 4 joueurs max
JBM: mon style de java est en train de redevenir java-like
JBM: tout imperatif sequentiel bien moche
Zorg1: fait un referee en clojure alors :p
Zorg1: ou en scala, paraît que c'est fonctionnel
Zorg1: (enfin 'multi paradigme' comme ils disent)
JBM: j'entends d'ici les plaintes pendant le contest
JBM: j'ai encore le souvenir de la premiere fois qu'on a eu un clojure et un kotlin
dbdr: ya eu un clojure?
Zorg1: en clojure je crois pas, en kotlin oui c'était Code Royale
Zorg1: après en fait le referee t'as surtout besoin de le regarder quand l'énoncé est flou (typiquement le traitement des collisions diverses & variées)
Zorg1: tu mettras de l'Haskell dans l'énoncé pour spécifier le comportement ^^
dbdr: j'avais essayé d'inclure le referee dans mon bot, pour la sim
dbdr: ça se fait, mais never again
Zorg1: pas forcément une bonne idée, le referee est pas vraiment codé dans une logique de perf, il a tout le temps du monde lui
dbdr: pourquoi fairel les choses à moitié? le code Haskell EST l'énoncé
dbdr: literate programming style
Zorg1: ha le fameux "le code parle de lui même"
Zorg1: à propos de code C c'est un peu gonflé ;-)
dbdr: ben oui, du coup j'ai passé du temps à optimiser le referee :D
dbdr: kutulu je crois
JBM: pour la collision de pacs ca valait non? O:-)
dbdr: deja parce qu'il se trouve qu'ils ont corrigé des bugs en cours de contest
dbdr: donc double boulot pour maintenir mon fork :D
JBM: j'aurais pas du resoumettre mon 1-bot
JBM: rha mais ca fait une heure que je suis en train d'ajouter une fonctionalite inutile triviale
JBM: et que je me laisse distraire a droite a gauche
Zorg1: oui c'est le règne des 2-bot et des 3 bots ?
dbdr: quelle fonctionalité?
dbdr: petite cachotier
dbdr: on sait déjà qu'elle est inutile
JBM: z'avez qu'a lire le source
dbdr: c'est toujours ça de pris
JBM: je vais pas non plus tout devoiler des conneries qui changent pas la meta
dbdr: meme pas dans un repo le source?
dbdr: public?
JBM: ~/work/game-tictactoe/.git
dbdr: :smiling_imp:
JBM: mais j'ai pas coche la case "planquer le source", y'a les instantanes dans la contrib
JBM: en attendant que ca finalise
dbdr: oui, j'ai regardé rapidement comment tu gerais les overflows ;)
dbdr: comme quoi les checks de rust ont du bon
JBM: va pas m'accuser d'un oubli non plus
JBM: c'etait explicitement reporte au lendemain
JBM: ca a juste influence le label du resultat quand je l'ai mis
dbdr: label?
JBM: "cheat" ou juste "invalid"
JBM: y'a des static initializers pour les array et/ou conteneurs, en Java?
dbdr: ah ok compris :)
dbdr: oui
JBM: sous quel genre de syntaxe?
dbdr: static String[] s = new String[]{ "s1", "s2" };
dbdr: un truc comme ça?
dbdr: ya peut-etre plus court en java moderne
dbdr: sinon tu peux faire des blocs d'init static
JBM: juste eviter le sequence de .add()
dbdr: static { /* */ }
JBM: rha et je suis la a debattre de cosmetique ulterieure
JBM: au lieu de fsck' ajouter 2 lignes de code la
dbdr: il faut que ton code java soit parfait ;)
JBM: je suis pas encore totalement converti
dbdr: pour la postérité
JBM: que les 2.5 personnes qui cliqueront dessus par erreur
JBM: ne se trompent pas quant a ma personnalite
dbdr: "il écrivait du java correct pour quelqu'un qui fait pas de java"
JBM: "anti-idiomatique mais correct"
JBM: pourquoi quand je lance mvn test ca fait pas "ce qu'il faut"?
dbdr: parce que c'est mvn?
JBM: c'est parce que mvn ou parce que cg?
dbdr: je suis pas sur de vouloir en savoir assez pour répondre à ça de façon juste
dbdr: mais si t'es coincé sur un truc je peux essayer d'aider
JBM: juste... surpris/decu/frustre que ca ait l'air raisonnable mais en fait non
dbdr: pour le boulot j'utilise gradle, me semble que c'est plus raisonable déjà
dbdr: mvn c'est super vieux non? le XML est un indice...
JBM: j'utilise mvn parce qu'on m'a donne une ligne pour
JBM: je sais pas si c'est une necessite
JBM: toutes les meta qui viennent avec , c'est un pom.xml
JBM: je sais pas quel jeu de contraintes ca implique
dbdr: build system, en ... c'est quoi le langage de script sur jvm qu'on a sur CG?
dbdr: grrocy
dbdr: c'est un DSL de build au dessus de groovy, en gros
dbdr: levenstein distance de 2 qd meme, je fais fort :D
dbdr: 3?
dbdr: ça dépend des règles...
JBM: invoque les bitflips tu t'en tireras mieux
JBM: le cote "passer la repetition a une autre lettre" compte pas magiquement comme 1/2
JBM: c'est l'occasion de creer la dbdr-listance!
dbdr: ya une version avec juste insertion et effacement
dbdr: remplacement c'est 2
JBM: forcement, je fais du java
dbdr: ChaosJava, la JVM qui insère des NPE aléatoirement pour vérifier la robustesse du code
dbdr: ChaosVM plutot
dbdr: ce lag
JBM: ah tiens je viens de relire ta ligne de bloc d'init static
JBM: de comprendre son contexte
JBM: et de me rappeler que j'ai connu ca, y'a bien longtemps
YannT: dbdr: en java moderne tu peux faire
YannT: String[] foo = {"a", "b", "c"};
YannT: plus besoin du new String[]
JBM: c'est pas genre litteralement ce qu'il a di?t?
JBM: mais litteralement ce que j'ai spontanement ecrit sans remarquer aue c'etait pas ca
YannT: en java 6 il fallait faire comme il a écrit, y avait pas d'inférence
Magicien-d-oz: Bonjour, je viens de rencontrer pour la première fois sur Python3 "RecursionError: maximum recursion depth exceeded in comparison" quelqu'un aurait une astuce pour la contuourner ?
Magicien-d-oz: J'ai bien pensé à réduire le nombre de recursion mais je vois comment c'est pour cela que je me demandais s'il y avais pas une autre solution. Mais sinon je me débrouilllerai
jolindien: salut
jolindien: sys.setrecursionlimit ?
Magicien-d-oz: Ok je vais voir merci bien
RomanceDawn: ChaosVM c'est trop cool
RomanceDawn: ca me fait penser à ChaosMonkey qui fou la merde dans les serveu pour la robustesse tout ça
dbdr: de l'inférence quand le type est déjà écrit :D
JBM: t'as le droit a une sous-classe
TidyMaze: bon, sur 15 pierres mon MC a décidé qu'il valait mieux en envoyer 15 sur le troll au premier tour ... ça va pas le faire
Alshock: il a gagné le premier tour cela dit
Alshock: vérifie tes wins, ça ressemble à un score inversé
TidyMaze: j'ai trouvé la petite coquille, toute bete bien sûr, newOppStones = curOppStones - buy
dbdr: :D
TidyMaze: c'etait buyOpp
dbdr: parfois un bot est à un simple signe moins de la perfection
JBM: j'ai des cauchemars de STC qui remontent la
Alshock: Putain mais le TP Trolls & Châteaux est beaucoup trop bien
JBM: ouais j'avais pas des profs comme ca moi
Alshock: par contre il a pas l'air d'avoir donné de temps de réponse paximal, ça risque de mal tourner
Alshock: s/p/m
leojean890: ça peut être fun;P
leojean890: mon IA en 1 if et 1 else tient pas mal, mais Snef met la misère en terme de score ;P
leojean890: y'en a qui font du MC carrément ?:P
Alshock: il est temps de retourner à mes conneries et de faire un truc mieux
Snef: leojean890 2 ifs > 1 if/else :p
leojean890: ah donc le même genre que moi amis en mieux Snef :P
leojean890: mais en mieux*
leojean890: bah comme on doit printer un truc je dois bien mettre un else :P
Snef: ah je set le nb dans une var et je print a la fin moi :p
leojean890: if a: print b;else: /*if b*/ print c
leojean890: ah ok :P
leojean890: moi je print direct :P
leojean890: mais les MC arrivent donc on va se faire doubler ??:P
leojean890: soon !!
Snef: Ben je suis pas sur
leojean890: on verra :P
leojean890: jcode plus depuis dimanche soir, je lis des PM:p
Snef: J'ai l'impression que ca va toujours print 1 ou 2..
leojean890: sauf pour le télétravail;P
leojean890: et pour les temps où je suis pas sur CG
Snef: mais tu veux quand même éviter d'arriver à une case de ton castle sinon tu va print le max par peur de perdre
leojean890: ouais faut faire gaffe :P
leojean890: mais effectivement c'est ce genre de logique que j'ai fait :P
leojean890: mais pas exactement ça:P
TidyMaze: meme sur un truc aussi simple je ne suis pas sûr d'avoir les bonnes distances à 1 près :S
TidyMaze: je suis une honte
Snef: je viens de voir un replay ou tu print plus que tes stones :p
TidyMaze: la derniere pierre j'ai pas trop compris le comportement attendu, ce serait bien si y'avait genre ... un énoncé
TidyMaze: > je viens de voir un replay ou tu print plus que tes stones :p erf
Snef: c'est à dire la dernière pierre ?
Alshock: raaaah mais pourquoi mes GA s'accordent-ils tellement à basarder toutes leurs stones dès le début ?
Snef: c'était pour leo TidyMaze
TidyMaze: (oups)
Snef: Alshock tu permet d'envoyer combien de pierre au max ?
Alshock: tout
Snef: t'as bien la condition lorsque t'as 0 stones ca finit la partie et le gagnant c'est la ou est le troll décalé par le nb de stone de l'adversaire ?
Alshock: ouais
Snef: bizarre
Alshock: Je vais faire des tests en local, c'est ptêtre juste parce que j'ai des populations trop petites
Snef: après ca m'est arrivé aussi
Alshock: comme mon score se fait avec un bon gros tournoi de pop² parties
Snef: ah t'as pas déval tu joues jusqu'a que quelqu'un gagne ?
Alshock: ce qui est rigolo c'est que ça converge vraiment, mais vers des parties nulles
Alshock: ouais je fais du bourrinage total là
JBM: ce qui n'est pas absurde, rappelons-le
Alshock: le proto à la recherche d'idées potables quoi
Alshock: bah les parties sont vraiment rapides quand même
leojean890: Snef ah ouais, bah mon truc est bugué faut que je l'améliore xD
TidyMaze: je ne comprends pas trop pourquoi terminer un tour avec 0 stones ne suffit pas à mettre fin au jeu
Alshock: parce que c'est compliqué de faire proprement l'animation du troll qui se déplace du nombre de pierres restantes à l'adversaire je crois
JBM: je le ferai sans doute si ca va jusqu'a la publi
Alshock: mais bon if (stones == 0) cout << 0 << endl;
JBM: mais c'est pas trivial avec l'API
Snef: if oppstones == 0 cout << "1" << endl;
Alshock: else if
Alshock: ah non les deux peuvent pas être à 0
Snef: realIA.search();
JBM: c'est comme ca dans l'original, mais je me suis dit que vous arriveriez tous a trouver une strategie gagnante dans ce cas-la
leojean890: JBM ton jeu intéresse assez de monde pour aller jusqu'à la publi :P:p
Alshock: int realIA.search() {return 2;}
Alshock: int RealIA::search() {return 2;}
Alshock: pardon
JBM: faut que j'implem les suggestions d'astrobytes aussi
Snef: qui sont ?
JBM: enfin si CG me laisse uploader le truc
leojean890: y'a plus de participants que dans des multis déjà validés :P
leojean890: dont qq mecs de CG;p
Alshock: en vrai ça mérite complètement la publi
leojean890: donc ce serait étonnant que ça passe pas dans ces conditions ;P
JBM: non mais c'est pas *du tout* ca le souci :D
Alshock: le vrai souci c'est, comment rajouter des dessins d'herbe et des nuages dans le ciel ?
leojean890: ce serait les règles et visuels pas encore finis ?:P
JBM: je comptais faire des arbres, pas de l'herbe
leojean890: bah c une question de temps only ça non ?:P
Alshock: leojean890 les visuels on approche la perfection
JBM: pour les regles... ben j'ai mis mes interrogations qq part dans le statement
Alshock: JBM why not BOTH?
JBM: mais le FOW ca trigger vraiment les foules ^^
leojean890: le FOW ils en ont marre :P
leojean890: certains;P
JBM: donc ptet fow, mais en ligue expert
leojean890: ou sortir 2 versions, comme le multi de bob
JBM: ouais ca aussi ca trigger les foules
leojean890: code of the realm version 4j, version 2j
JBM: on est pas obliges de decider TOUT DE SUITE
leojean890: j'avoue;p
Alshock: Je, je viens de lire tes patchs pour le changement en distance et je comprends pas cette manip : roadLength + 1 => roadLength + 1) & (-1)
Alshock: genre x & -1 ça donne pas toujours x ?
darkhorse64: Je vois que je ne suis pas le seul
Alshock: ah bah c'est une erreur dans le statement alors
Zorg1: tilde
Zorg1: ça passe mal sur le webchat
JBM: c'estun - dans le statement?!
Alshock: j'ai bien compris, mais c'est un - dans le statement ouais
Zorg1: euh non j'ai bien lu tilde
JBM: ah oui pour la derniere ligne
JBM: mais personne n'utilise la derniere ligne 'etait juste une blague
Alshock: j'aimais bien le "et si jamais vous utilisez ça... J'ai aucune idée de pourquoi vous faites ça mais voilàa : ..."
TidyMaze: "TidyMaze tried not throwing stones. Fixing that for them because I'm in a good mood today."
ce troll
Alshock: @TidyMaze ça va, toi tu t'es pas fait ban ton compte Cogingame
JBM: c'est les petits details qui font la difference
Alshock: s/g/d/
leojean890: Alshock tu penses à qui qui s'est fait ban ;O
JBM: j'ai quand meme ban un cofondateur de CG
Zorg1: t'es vachement présent pour un gars qui s'est fait ban Alshock ...
TidyMaze: pourquoi ban ?
Alshock: @Zorg1 Well, I got better
Alshock: @TidyMaze le message quand tu output un nombre négatif
TidyMaze: y'a pas de cheat quand le jeu est codé proprement
Zorg1: et pas n'importe lequel
Alshock: ah ouais c'est seulement pour int_min ?
Snef: l'easter egg c'est le "Cheating banning account" ?
leojean890: un cofondateur de CG a cheat dans ton jeu ?:p
Zorg1: Alshock : je ne sais pas, mais tant à se faire chopper à gruger autant y aller à fond
Alshock: C'est tonteux
leojean890: comme les 21 ban de siring challenge ?;)
leojean890: d'ailleurs jsais pas s'ils ont ban les comptes définitivement ou juste ban du contest;)
leojean890: spring*
TidyMaze: la notion de cheat est présente quelque part ? min/max int tu peux y arriver sans faire gaffe
Zorg1: bah envoyer des entiers négatifs quand on te demande des nombres >0 ...
leojean890: mdr
leojean890: c'est pas cheat c'est wrong output
Zorg1: bah la première mouture du referee l'accepter en fait
TidyMaze: yup
Zorg1: et certains ont fait les HACKERZ en exploitant :p
JBM: clairement le coup du statement base sur l'honneur n'a pas paye
Zorg1: faut faire comme en France, un truc sur l'honneur accompagné de 10 pièces justificatives
TidyMaze: mon premier top10 \0/
leojean890: le jeu de JBM ?;P
leojean890: faut jouer sur des jeux avec peu de participants, c'est + jouable que d'autres:p
leojean890: exemple code of the realm
TidyMaze: :
TidyMaze: :D
leojean890: j'ai été 9eme lgtps mais now 10eme là dedans mdr
TidyMaze: JBM, c'est 1s puis 50ms ?
leojean890: mais souvent quand y'a peu de participants, c'est surtout les forts-investis qui viennent donc d'est chaud de top 10:P
leojean890: c'est*
dbdr: j'aime bien le jeu en contrib depuis deux jour où ya deja les SA, les MCs, les Smitsis, ... :D
dbdr: il a un truc ce multi
dbdr: oeuf corse
JBM: ok, donc c'est le fait de retirer Boss.sh qui fait crash le submit
JBM: pourtant j'ai un Boss.java
dbdr: essaye Boss.hs
TidyMaze: :D
dbdr: pour faire peur à YannT
dbdr: ya pas une monade Rand?
JBM: if (random.nextInt(10) > 0) playOptimal(); else randomMove();
JBM: il y a, mais je crois pas que CG l'ait
dbdr: t'as calculé l'équilibre de Nash?
dbdr: c'est quoi optimal du coup?
YannT: <$>
JBM: j'ai passe tout mon temps a ajouter une fonctionalite superflue, a me laisser distraire de partout puis a lutter contre l'IDE de submit
dbdr: :D
dbdr: <++>
YannT: c'est un long weekend, je suis à 37% de la motivation nécessaire pour faire un MCTS rigolo pour ton jeu JBM
dbdr: tiens, il manquait le MCTS
YannT: je suis en train de boire un Kwak, ça peut monter ou descendre le niveau de motiv', impossible de savoir à l'avance
leojean890: tu fais une easy heuristic au pire :P
YannT: ce serait pas bien compliqué je pourrai reprendre mon UTTT et juste changer le moteur
dbdr: trop facile
dbdr: à mon avis l'alphago s'impose
JBM: faudrait que t'arrives a le reproduire
JBM: au glitch d'approximation IEEE pres
leojean890: alphazéro qui gagne à tous les jeux !
dbdr: glitch dans alphago?
dbdr: je connais pas la ref
leojean890: tu lui files tous les multis et contests de CG et voilà !
dbdr: ah le moteur CT
YannT: bah le moteur sur ce jeu c'est une comparaison et le state c'est 3 ints ahah
dbdr: oui, c'est bien ça
dbdr: il faut des jeux simples mais profonds
JBM: ouais ben si ca te parait simple a toi c'est pas la peine de te la peter, y'en a pour qui c'est moins simple ok!
leojean890: mais profond il a dit ;)
dbdr: je me la pete pas, je complimente
JBM: je parlais a YannT mais ca lagge severe
dbdr: sur ce qu'il avait dit quel jour/
dbdr: ?
YannT: JBM: tu devrais ajouter un powerup speed qui fait que tu peux jetter 2 pierres pendant 3 tours et un FOW
YannT: complexification arbitraire cg-style
YannT: et des SUPER PIERRES
JBM: ou simplement la transformation ultimate
dbdr: si tu gagnes un match, tu peux lancer une pierre
dbdr: c'est pas assez imbriqué
JBM: si tu gagnes un match, tu peux choisir combien de pierres tu jettes
YannT: sinon ajoute les feuilles et les ciseaux pour aller avec les pierres
TidyMaze: très fiable ce ranking JBM
dbdr: lol
JBM: justement j'etais en train de dessiner les arbres
dbdr: et les collisions sur les pierres?
JBM: je retire Boss.java~ et Boss.class et ca passe
dbdr: pas de feedback?
JBM: mais qui m'a pondu ce systeme de packaging et de validation de l'autre cote!!!1!
YannT: remarque ça pourrait être rigolo de coder un MCTS avec rollout uniquement sur les "tours" adverse
JBM: le feedback c'est INTERNAL ERROR #-1
dbdr: informatif
JBM: le json contient le meme niveau d'information
dbdr: YannT pourquoi juste sur l'adversaire?
YannT: c'est simultané
JBM: bon je m'ecris mon propre packager j'en ai marre de leurs conneries la
YannT: ton tour n'a du sens qu'avec celui de l'adversaire
JBM: (hop une distraction de plus)
YannT: je vois un MCTS ou t'evalue pas tes tours, mais juste ceux de l'adversaire (en fonction de ton tour précédent of course), et la backpropagation fait le reste
YannT: pour gérer le coté simultané
dbdr: JBM si tu en arrives à te mettre à écrire l'OS pour faire tourner la VM qui execute ton packager, fais un pas en arriere
dbdr: et elles sont décidés comment tes actions?
YannT: le JBM kernel
YannT: c'est un MCTS, tu décides pas?
dbdr: tu dis que ton MCTS fait que l'adversaire
JBM: a une epoque ou les processeurs etaient plus simples a gerer
YannT: non non
YannT: je dis que le MCTS fait rollout que sur les tours de l'adversaire
YannT: sur tes tours en gros il expand les tours adverse obligatoirement
dbdr: deja l'adversaire a pas de tours
dbdr: vu que les tours sont communs
YannT: justement
YannT: je dissocie
YannT: pour avoir un MCTS
dbdr: commençons par poser le vocabulaire :)
dbdr: ok
JBM: il va dans quel sens le troll sur un semi tour?
dbdr: deux tours virtuels pour un réel?
YannT: c'est ça
YannT: comlme ça t'as bien tes nodes de MCTS comme d'hab
dbdr: tu supposes que l'adversaire sait ce que tu as fait?
YannT: ben non
YannT: mais c'est un MCTS
YannT: tu t'en fiches
dbdr: :D
dbdr: l'important, c'est le MCTS
dbdr: c'est comme les valeurs
JBM: y'a le bon mcts et le mauvais mcts
TidyMaze: c'est bien le propre du MC(TS), tu codes la moitié du probleme et ça marche quand meme
dbdr: je savais bien que ça me rappelais qqch
YannT: non mais regarde mettons chacun a 3 pierres, sur ton 'tour', tu décides combien de pierre tu jettes, tu rollout pas ce noeud tu expand, l'adversaire décide combien de pierres il lance, et la tu fais un rollout (ou pas, selon ou t'en es dans la depth de ton MCTS quoi)
YannT: et la backprop fera le reste
JBM: dbdr: tu sais comment je peux me rajouter une "cible" ou truc du genre maven, qui me fasse le packaging dans la foulee de la compile?
dbdr: tres bonne impresonnation de Perceval
YannT: juste tu rollouts jamais tes 'tours' et uniquement les 'tours' adversaire, pour gérer le fait que c'est simultané
YannT: JBM: dans le pom.xml tu peux définir des trucs
dbdr: JBM: j'y toucherais pas si j'étais toi. une fois que t'as le classpath, bash c'est 100 plus simple
YannT: mais normalement mvn package ça fait déjà compile + package
JBM: ah mais ca me fait un jar
JBM: c'est compatible avec le systeme cg?
YannT: c'est pas ça ton package? :p
JBM: y'a qu'un moyen de le savoir
YannT: ça je sais pas
dbdr: inb4 INTERNAL ERROR #-1
dbdr: ils veulent quoi, un zip?
YannT: je sais pas ce que ça veut dire "packager" rapport à cg aussi
JBM: y'a que les classes du main, ni config ni reste
YannT: ah
YannT: tu veux un assembly alors
dbdr: man zip
YannT: http://maven.apache.org/plugins/maven-assembly-plugin/
JBM: dbdr: mon pb c'est pas tant generer le zip
dbdr: pourquoi s'embetter?
YannT: avec mvn assembly tu peux decider de ce que tu ship dans ton jar
dbdr: integre pas
dbdr: YannT et moi on la joue https://images.theconversation.com/files/182692/original/file-20170820-7952-1c0ochl.jpg
YannT: en même temps c'est simple assembly, t'as un assembly.xml et tu dis ce que tu veux coller dans ton JAR avec des path de type ant
YannT: bienvenue dans le monde merveilleux du java et du xml
JBM: je comprends meme pas pourquoi je cherche a l'eviter
YannT: 1995
YannT: (c) Oracle
dbdr: c'est simple quand tu t'y es mis. ça prend de l'énergie la première fois.
dbdr: donc si tu t'en sers 2 fois par an c'est pas rentable
dbdr: vaut mieux un outil plus générique
YannT: s'toi l'outil générique
dbdr: merci :)
YannT: sinon tu fais un truc haskell pour générer ton jar
YannT: <$>
dbdr: (surtout parce que si tu fais 2 fois par an, tu oublies entre les deux)
dbdr: zip
JBM: je suis en train de conjurer la ligne de commande
dbdr: zip package.zip mes_fichers
JBM: et elle va finir dans un Makefile
dbdr: javac pour compiler
YannT: https://media1.tenor.com/images/975f9d5761d3a768465dc2325ecf0a24/tenor.gif
JBM: (et parce que je saurai j'ecrire sans reflechir)
dbdr: :+1:
dbdr: encore mieux
JBM: find pom.xml config src/main | grep -v '~$\|cover\.png\|.\(class\|xcf\)$' | xargs zip troll.zip
dbdr: :+1:
dbdr: YannT ça te fait le meme effet que <$> ?
JBM: en plus ca me fait un zip de 65k au lieu de 2.1M
JBM: c'est toujours ca de pris
YannT: dbdr; absolument pas ça c'est plutot standard :)
YannT: par contre <$> ça m'a fait comme un genre de fussoir
dbdr: fussoir?
dbdr: je pense que | la première fois c'est pas très différent de <$>
dbdr: tu passes le cap ou pas, c'est tout
JBM: bon enfin mon easter egg special yannt est enfin passe du coup
JBM: je vais pouvoir passer a des trucs moins graves
YannT: dbdr: c'est une référence robins de bois :p
JBM: j'ai deja entendu, mais j'ai pas l'original
JBM: jevais pouvoir m'essayer a l'injection de classes, tiens
YannT: la quoi
YannT: c'est quoi l'injection de classes? :p
JBM: c'est a moi que tu demandes?
YannT: c'est toi qui en parle hein!
Alshock: comment pourrais-je injecter quelque chose dont je suis dépourvu ?
dbdr: dependency injection
JBM: https://www.codingame.com/playgrounds/25775/codingame-sdk-documentation/game-manager
dbdr: JBM qui shippe welcome_en.html~
JBM: plus maintenant normalement
JBM: mais j'y peux rien, c'est la generation de leur fframework qui fait ca toute seule!
dbdr: le ~ c'est pas emacs?
Snef: Le jeu marche plus JBM c'est normal ?
Snef: Le jeu a cessé de fonctionner. Veuillez contacter l'auteur(e) et transmettre l'erreur suivante : http://chat.codingame.com/pastebin/3e34f238-6ccf-41ca-98f6-7dd49ab872b2
dbdr: NPE :D
Alshock: Yes NPE
Alshock: J'aime quand même vraiment beaucoup quand les exceptions java commencent par ça java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:221)
dbdr: achivement unlocked
dbdr: il marche pour moi
dbdr: ça doit etre dans un cas particulier
Zorg1: un peu maigrichone la stack trace à mon avis
JBM: Snef: c'est sur un match recent?
Snef: dans l'IDE à l'instant
JBM: attends je rafraichis ton cache
JBM: resubmit avec le patch a l'arrache
JBM: si tu veux bien reload/retenter
TidyMaze: ça remarche
Snef: ça marche mais l'ia par défaut timeout :p
TidyMaze: Snef, tu veux pas repush ? Je voudrais faire un screenshot 1er mondial
Snef: TidyMaze Je suis persuadé que si je repush je serai pas premier donc.. :p
TidyMaze: :P
Snef: JBM c'est par rapport à la seed ou c'est complètement random le fait que tu sois de bonne humeur pour le throw 0 ?
Snef: Et l'easter egg c'est le message quand on print < 0 ? que je continue pas de chercher pour rien :p
Snef: j'ai tenté le print "<$>" sans succès
TidyMaze: y'en a un quand tu pushes apres 20h Snef
Snef: haha
TidyMaze: avoue, c'est du machine learning que t'as mis en place ? :P
Snef: gros machine learning ouais
Snef: environ un demi neurone
TidyMaze: leojean890 m'a fait chuter :S
Snef: resubmit :p
TidyMaze: jamais, j'ai environ 7 places en trop :P
leojean890: jfais mumuse sur le jeu de jbm xD
leojean890: j'ai plus 1 seul if mais plusieurs mtn:P
leojean890: je tune mes magic numbers :P
leojean890: un coup je rank 5 un coup 12
leojean890: omg
leojean890: en vrai c'est un peu random selon les matchs :P
leojean890: Illedan et dwarfie m'embêtent :P
TidyMaze: huhu et pendant ce temps je fais 500K parties en 50ms pour quand meme pas etre premier :D
leojean890: moi c'est genre 6 if
leojean890: au lieud 'un
Snef: ah mais t'as une sim TidyMaze ?
leojean890: et je rank pas mieux qu'avant
leojean890: allo quoi
TidyMaze: oui c'est un MC (sans TS)
leojean890: rank #4 this time
TidyMaze: les postmortem vont etre marrant :D
"bon ben mon code c'est 2*dist - 3"
leojean890: :p
leojean890: des if ça se défend pas mal
leojean890: je rank souvent entre 4 et 5 ou plus bas selon les params..
leojean890: mais j'ai bien fait mpnter dwarfie et illedan
leojean890: car ont bon winrate sur moi:p
leojean890: TidyMaze ça dépend des fois :p
TidyMaze: hop, de nouveau en place https://docs.google.com/spreadsheets/d/e/2PACX-1vRdR4SpYZ-t8o11tqqMpMQruRPaMjRChAhyJAcWd38W41uExbPFK_I-TKpXjKll3-f6JkUod14jffDY/pubchart?oid=1837678358&format=interactive
dbdr: sympa TidyMaze
dbdr: ya moyen d'avoir une echelle en ordonnées?
TidyMaze: pas vraiment, il part de 0 en mode auto
TidyMaze: et j'ai pas envie de set le minimum à la main :D
TidyMaze: (c'est bon, à la main)
dbdr: :+1:
Alshock: c'est quoi le TS ?
Alshock: je suis à jour sur aucun acronyme
Alshock: ah putain c'était juste pour MCTS pardon
Zorg1: Tree Search non
TidyMaze: yup
Zorg1: sinon tout seul c'est généralement pour le JS nouveau 'TypeScript'
Zorg1: envie de créer le "BugScript"
Alshock: Oui non mais finalement j'ai les deux c'est juste que un MC sans TS je cherchais autre chose va savoir poruquoi
Zorg1: (mais qqn a du déjà avoir l'idée)
Alshock: Et du coup sans TS c'est juste que tu fais des simulations mais tu ne stockes les résultats que pour les enfants sans compléter l'arbre @TidyMaze ou c'est autre chose ?
TidyMaze: je pars de l'etat courant et je fais des parties totalement au pif, je stocke juste le premier coup et l'issue (win/played)
dbdr: Zorg1, ya Beautiful Soup, super nom de libraries d'ailleurs
Alshock: Ouais ok 'est bien ce que j'avais compris
dbdr: vu que c'est pour parser le html de façon permissive
Alshock: je vais essayer de faire une eval
dbdr: aka de la soup
Zorg1: dans la soupe, y a plein de trucs ;-)
Alshock: du chou ?
Zorg1: des poireaux
Alshock: https://www.youtube.com/watch?v=C2n212OP1cQ&t=273s
Zorg1: (enfin là on peut faire une énumération exhaustive des légumes ;-) )
TidyMaze: on compte les tomates ?
Alshock: le lait aussi
TidyMaze: ben non, c'est un fruit ça
dbdr: JBM, c'est quoi la façon correcte d'écrire un fichier par-dessus un autre, de façon atomique?
JBM: t'en ecris un autre et je sais plus comment on fait pour swapper l'inode atomiquement
dbdr: c'est un truc comme ça que je cherche oui
dbdr: donc on peut?
JBM: je sais plus trop a quel point
JBM: j'avais relu la doc la-dessus y'a qqs mois
dbdr: ya pas de vie humaine en jeu
JBM: c'est au moins pour mettre a jour les logs du chat russee
dbdr: je veux juste pas avoir un demi fichier si je fais Ctrl-C au mauvais moment
dbdr: :D
JBM: ah mais si c'est que ca t'as pas besoin d'atomicite
dbdr: ecrire autre part, et rename
dbdr: ?
JBM: truc >file.new && mv file file.old && mv file.new file
dbdr: a un moment ya plus de file là
dbdr: rien de perdu
dbdr: oui
dbdr: mv file.new file
dbdr: c'est pas correct?
JBM: je suis pas sur que ce soit atomique
dbdr: faut faire gaffe d'etre sur le meme fs en tout cas :)
JBM: ah si ca a l'air possible
JBM: If newpath already exists, it will be atomically replaced,
dbdr: c'est la doc de quoi ça?
dbdr: ok. merci!
JBM: que mv appelle sans aucun doute
dbdr: je savais que si qqn sait tu sais
JBM: c'est toujours pas ce que j'avais lu y'a qqs mois
JBM: y'avait un truc genre pivot_inode
JBM: ca doit etre pour des cas mega tordus
Alshock: j'avais un clou comme ça
dbdr: c'est pour les centrale nucléaires. vu l'enjeu, ils ont besoin d'opérations atomiques
**dbdr sort
TidyMaze: le ranking est bloqué à 0% chez moi JBM, t'as encore cassé codingame ?
JBM: j'y ai pas touche depuis avant le diner
Snef: ça fait pareil sur la contrib de s truct
JBM: c'est sans doute ton code qui merite pas mieux :P
TidyMaze: quel di- oh !
BigUP: tiens, submit bloqué sur Crystal Rush ! ;(
BigUP: et plus de Tchat également allez savoir pourquoi ?
JBM: la coincidence est troublante
BigUP: JBM, le Tchat, je ne l'ai plus depuis ce matin environ
BigUP: a part sur cette fenetre (si je raffraichi, je pense que c'est mort)
BigUP: je vai sessayer de vider mon cache, meme si j'ai "desactiver le cache" de coché
BigUP: ca à l'air bien explosé...
JBM: c'est normal, c'est le pont
JBM: s'il faut que ca pete, c'est forcement la
BigUP: ha !? bah c'est revenu ici
BigUP: JBM, ha !? il n'y a plus le gars qui appuye pour ca marche ?
BigUP: enfin c'est revenu sauf sur Crystal Rush .... comme par hazard au moment ou j'allais passer Silver !
BigUP: Complot !
TidyMaze: c'est toujours affiché 0% mais les nouvelles parties de pb4 sont bien comptées
JBM: ah, ca y est, le boss timeoute plus
pb4: TidyMaze tu as quoi sur Trolls et Chateaux ?
TidyMaze: une IA du feu de dieu
TidyMaze: MC sans TS
JBM: j'envoyais deja la bonne roadLength en input
JBM: y'a pas du tout de breaking change, c'etait juste de la mauvaise doc pour les maps en fait
BigUP: Je cherche un outil pour parser un fichier HTML et concaténer les .css et .js, une idée
JBM: bah, personne la lisait dtm
BigUP: ?
BigUP: JBM, il fait pas juste du parsing de HTML beautifulsoup ?
JBM: aucune idee c'est du python
BigUP: ca m'irait bien si ca le faisait, j'ai regardé tout a l'heure, mais j'ai pas eu l'impression qu'il le faisait
BigUP: dire que j'ai fait un projet qui fait ca, mais il est basé sur les URL rewrite d'apache et codé en PHP...
257832: write it yourself
BigUP: BlaiseEbuth, ca me démange, mais je me dit que ca doit exister.... J4ai trouvé gulp-htmlbuild, mais ca m'a l'air un poil lourd et je me demande s'il ne faut pas en plus venir mettre des commentaire dans le HTML pour qu'il fasse le boulot
257832: Bah... Si tout est dans le même doc, tout le js est entre <script> et le css entre <style>, y'a pire à parser...
BigUP: oui en tout cas, c'est le cas
pb4: "sans TS" ça veut dire quoi ?
JBM: c adoit etre typescript la
JBM: ah non c'est tidymaze c'est l'autre
257832: pb4 montecarlo, pas tree search
TidyMaze: lol vous dites juste MC dans ce cas là ? Je vois que ça crée de la confusion
pb4: Juste deux chateaux !
JBM: merde j'ai toujours pas fini l'artwork pour mes arbres
BigUP: hum, j'ai trouvé un script qui inline tout... en modifiant pour sauver les inlines dans un fichiers et ajoutant les bonnes balises ca pourrait le faire
pb4: Le dessin de troll est de toi ?
BlaiseEbuth: Ouai, je l'ai mangé
BlaiseEbuth: c'est moi
TidyMaze: tu as quoi sur troll et chateaux ? 2 IFs ?
TidyMaze: (pb4)
Alshock: J'attends beaucoup de l'update des arbres
BlaiseEbuth: Fix ton IA
TidyMaze: ça va changer la meta Alshock ?
JBM: je compte leak quelques bits du rng par steganographie dedans
JBM: par l'inclinaison des feuilles
Alshock: Cool mon IDE préféré gère déjà ça par défaut ! https://xkcd.com/378/
Stanworld: bonsoir
leojean890: moi j'arrive pas à faire des stats sur mes submits pour tuner des magic numbers, c'est un peu trop random xD
Alshock: 'soir o/
leojean890: selon contre qui on tombe:p
Stanworld: je viens de submit, mais bloquer a 0%
leojean890: enfin mon ia
Alshock: apparemment c'est un souci répandu
Stanworld: il y a un blocage en cours ou c'est "parfois" ?
Alshock: jamais vu ça perso, et je peux pas t'aider plus que ça je viens de revenir
BlaiseEbuth: C'est que pour les gens dont le pseudo commence par s...
pb4: et p...
TidyMaze: et T
Alshock: zut la blague que ça bloque les joueur dont les initiales font "Jack sparrow" vient de tomber à l'eau
BlaiseEbuth: C'pas grave, jack sait nager
TidyMaze: c'est pas grave, elle était pas très bonne de toutes façons :)
Alshock: on a toujours "PTSD" dans les options possibles
BlaiseEbuth: L'eau était pas bonne TidyMaze ?
Alshock: @TidyMaze t'as déjà vu une blague de moi qui soit drôle aussi ?
BlaiseEbuth: Alshock: tu fais jamais de blague
Alshock: @BlaiseEbuth plus jamais tu parles de ma petite soeur comme ça espèce de vieux dégueulasse
pb4: TidyMaze : random() parmi une sélection de bon coups
BlaiseEbuth: Ta soeur s"appelle "l'eau" ?
pb4: bons*
Alshock: @BlaiseEbuth et maintenant ça essaye de leak des données personnelles :P
TidyMaze: haha pas mal comme reponse pb4
pb4: Techniquement vraie :innocent:
BlaiseEbuth: "random() parmi une sélection de bon coups" on dirait la description d'une app de rencontre louche...
Alshock: ah mais ça peut être un bon plan ça : tu fais ton eval et tu renvoie un enfant random pondéré par son score d'éval
Alshock: Quand je pense aux même vannes que toi c'pas bon signe BlaiseEbuth
BlaiseEbuth: Au contraire, c'est signe de progression... :imp:
**TidyMaze n'a rien vu ni lu
BlaiseEbuth: Ou alors un régression de ma part... C'est inquiétant.
BlaiseEbuth: "vieux dégueulasse" ? J'suis pas vieux !
Alshock: @BlaiseEbuth ah pardon du quiproquo, je voulais dire que c'est pas bon signe pour toi évidemment x)
BlaiseEbuth: Ah.
TidyMaze: euh pb4, c'est quoi cette IA ? x)
TidyMaze: j'avais pas vu que tu étais juste passé ... premier
JBM: du random comme ca je veux bien le meme
BlaiseEbuth: C'est une HiiiiHa !
TidyMaze: je m'en fiche, je montrerai ça à mes petits-enfants un jour https://imgur.com/a/rojBu46
pb4: haha
pb4: Sérieux suis premier ?
JBM: on a des COPIES D'ECRAN qui le prouvent
pb4: Bah je croyais être bloqué sans aucun match
pb4: cool :)
pb4: 0 -> 100% des matchs, c'est 10 matchs de plus -_-
pb4: TidyMaze : si le jeu était Pierre/Papier/Ciseau, j'ai une IA qui jouerait 33% du temps pierre, 33% du temps papier, 33% du temps ciseau
pb4: timeout
JBM: je sens que toute la magie est la
pb4: JBM j'ai des défaites qui ne devraient pas en être :-
pb4: :(
TidyMaze: je pense qu'il trolle
JBM: le vent soufflait pas dans le bon sens?
pb4: Le troll termine au milieu de la map et je perds
pb4: Tour n-1 :
JBM: y'a une popup dans la timeline?
pb4: le troll est 1 case du coté de l'adversaire, j'ai 1 pierre il en a 2
pb4: Non
pb4: On joue tous les deux "1"
TidyMaze: très clairement il existait une solution optimale et tu l'as trouvé :P
pb4: ensuite il joue "1" et moi "0", ça ramène le troll au centre
BlaiseEbuth: pb4 tu perds si t'as plus de pierre donc normal
JBM: tu perds pas forcement si t'as plus de pierre
leojean890: tu fais ton eval et tu renvoie un enfant random pondéré par son score d'éval => ça je l'ai fait dans bulls and cows xd
pb4: ensuite ni lui ni moi n'avons de pierre, le troll est au centre et je perds
JBM: mais l'autre aussi au moins?
BlaiseEbuth: Mais il peut pas jouer 0
BlaiseEbuth: Si ? Ah si t'en a plus... Ouai, j'ai rien dit
pb4: Non
pb4: Il gagne
JBM: son chateau reste debout?
pb4: Oui
pb4: D'après le viewer je pense qu'il doit y avoir égalité
pb4: mais mon IA me dit qu'elle perd
pb4: je suis sur la droite
pb4: -1
pb4: :D
pb4: (dans stderr quelques tours avant)
BlaiseEbuth: JBM, fais pas style. On a vu le if(player == "pb4")player.lose(); dans le referee.
JBM: j'ai pas confiance en ton IA, trop de random
JBM: le referee il dit quoi lui? XD
BlaiseEbuth: Ton IA est juste défaitiste pb4, le referee fonctionne.
pb4: "Résumé du jeu : http://chat.codingame.com/pastebin/0fdf0e05-f7f5-4137-bb5f-1de3c3465db6
BlaiseEbuth: C'est pas marqué que le troll est au milieu...
JBM: pendant la phase draft, je rajoute la destination numerique du troll
BlaiseEbuth: Tu devrais dire destination digitale, c'est plus buzz.
JBM: je crois que j'ai une idee de la cause
JBM: ma gestion de fin de partie est ultra pas propre
JBM: j'ai un refacto dans le pipe
BlaiseEbuth: Ca se fume ?
JBM: si c'est deterministe avec cette paire de joueurs, sauve le seed
pb4: C'est fait
JBM: je devrais arriver la d'ici une heure
BlaiseEbuth: Pour l'instant, il n'est pas là. C'est un holograme.
TidyMaze: c'est un compte smurf d'automaton2000
Automaton2000: avec ça je suis d'accord, mais je ne trouve pas le même code que tout à l'heure
pb4: Je pense que je lis mal tes inputs
pb4: au tour 0
pb4: road_length = 14 et troll_pos = 6
JBM: trollPosition = roadLength / 2;
TidyMaze: 14 ? :O
JBM: ca m'a pourtant l'air pas delirant
Alshock: xD
Alshock: il a vu un string usagé dans son code
pb4: Je n'ajoute pas de facteur correctif alors ? :D
JBM: ton chateau etait plus pres du troll que le sien
Alshock: de 0.5 ?
TidyMaze: mais wtf
BigUP: ha voila, j'ai fini par trouver un truc qui doit fair ele job -> https://github.com/IvanoCar/resource.minifier
Alshock: t'as rapproché le palyer 2 ? xD
JBM: ben faut bien une petite injustice qq part
BigUP: ils sont ou vos trolls ?
TidyMaze: tu sais plus coder quand c'est pas en haskell mon pauvre JBM
Alshock: C'est du génie laisse comme ça :satan:
Alshock: p2_pos = <$>
JBM: non mais la c'est dans ma simplification de road_length pour devenir coherente, j'ai oublie la
JBM: je crois d'ailleurs que pour arreter les blagues je vais passer la representation interne a des positions de -halflength a +halflength
JBM: j'ai UL un truc, vous pouvez reessayer?
BlaiseEbuth: JBM ul, et Zorg1 ulul...
pb4: égalité, c'est mieux !
pb4: ...
pb4: J'ai testé avec le stub pour moi...
pb4: ah bah voilà !
pb4: Victoire :P
JBM: il est pas si mauvais le stub hein
pb4: Le referee est très bien maintenant, j'ai repush, une seule défaite :D
Alshock: gj
JBM: ah, je vais fixer ca tres vite alors
pb4: touche à rien
Alshock: Je tente un noubeau bail des enfers, préparez-vous à un push catastrophique dans 15 minutes
Alshock: -b+v
BlaiseEbuth: Un noubeau vail ?
TidyMaze: il a traité qui de noob ?
JBM: git commit -m"LOL-hotfix: right castle was closer to the troll's starting point than left one"
JBM: heureusement qu'il y en a au moins Certains qui testent les contribs
Alshock: nous on teste juste les overflows
TidyMaze: http://chat.codingame.com/pastebin/beffbf74-dcb7-4d8d-8704-f0bdb3581756
Alshock: non juste que la distance maintenant c'est 2k et plus 2k+1 entre toi et l'adversaire
Alshock: genre toi -> troll = 10, toi -> adversaire = 20 (et troll -> adversaire = 20 grâce au fix)
Alshock: -20+10
JBM: il est plus la ce charabia TidyMaze
Alshock: il efface les traces
JBM: je l'ai remplace par le bug de pb4
Alshock: #onNoublieraPas
JBM: mon git oublie pas non plus
JBM: il reste la a se payer ma poire
TidyMaze: oki Alshock donc maintenant j'ai un bug si on me change mes inputs ^^
Alshock: Oh oui ! on a le MSG
Alshock: on peut se TRASHTALK!
BigUP: je crois que j evais pousser du monde en Silver sur CR
JBM: enfin tu le ferais si y'avait du monde a CR
BigUP: JBM, je me ferais pousser s'il y avait du monde en Bronze... mais bon la, c'est démerde toi avec ton random pour espérer passer le boss
BigUP: mais je crois que je vais pousser les 10 qui me gènent et ensuite, j'aurais le boss pour moi tout seul ! :
BigUP: et de 1 poussé en silver ...
EricSMSO: JBM, je peux t'embêter 2 s sur Troll ? Quand je me mets en joueur 2, l'input que je reçois n'est pas l'input d'avant le joueur 1, mais celui d'après sont coup. Par exemple sur une grille de dim 15 la première position de Troll que je reçois est 6 au lieu de 7.
JBM: enfin relance des matches plutot
JBM: c'etait biaise contre le joueur 2
JBM: parce que je me suis emmele les pinceaux en me debarrassant des reliques de longueur de route comptee en cases
EricSMSO: Refresh mon lien, vers un autre arene de test ?
JBM: j'aurais pense que relancer des matches devrait suffire
JBM: mais on sait jamais, refresh la page de l'ide une fois quand meme
EricSMSO: Ok merci. Refresh dodo. On verra demain :zzz:
JBM: et merci de tes commentaires sur la page contrib!
TidyMaze: hehe j'ai glorieusement corrigé mon bot pour le road_length v2, eh bien il est moins performant que la version buggée ^^
Alshock: une division flottante par zéro en C++ c'est Infinity ?
TidyMaze: http://cpp.sh/7zf2b
TidyMaze: oui
Alshock: C'est ce que j'ai eu aussi, mais je veux dire, c'est pérenne ça comme présomption ?
Alshock: Enfin, j'm'en fous CG compile comme ça, je pars du postulat que oui c'est valide
Alshock: (pourtant NaN existe o.O)
Alshock: Adjusting weights 9.42995e+11 | 9.41457e+11 | 9.39729e+11 | 9.37801e+11 | 9.35664e+11... Ah mais c'est beau ça comme bug
Alshock: la somme totale était censée valoir 1, comment j'en suis arrivé là ?
JBM: c'est pas toi qui parlais de division par 0.0?
Alshock: , tu noteras que j'ai beau m'en approcher violemment j'ai pas atteint inf :P
Alshock: remarque non inf est vers 1e2XX sur un float non ?
Alshock: double*
TidyMaze: hop, top2 :D
TidyMaze: assez bossé, il est temps que je me repose demain au taf
Snef: pas gentil ça TidyMaze
TidyMaze: hehe Snef
leojean890: TidyMaze MC toujours ?:P
TidyMaze: oui
TidyMaze: j'ai juste repush en boucle et ajouté 2 conditions de fin de jeu vraiment stupides
leojean890: moi tjr des if xD
TidyMaze: c'est beau :D
leojean890: ouais ok des conditions pour si le troll est à une dist de 1 d'un des 2 ?:P
TidyMaze: tout à fait
TidyMaze: il était frileux ou optimiste sans ça
leojean890: moi c'est plutot quand il s'approche de mon chateau que mes conditions se réveillent xD
leojean890: car veux pas perdre xD
TidyMaze: alors que tu pourrais le laisser trouver des solutions tout seul comme un grand ^^
leojean890: j'avoue, => MC :P
Alshock: C'est ce que j'essaye de faire mais il s'obstine à timeout
leojean890: bah moi j'ai essayé d'affiner des magic numbers :P
leojean890: il s'en sort pas trop dégueu
Alshock: les magic numbers c'est pour les faibles, moi je m'essaye aux arcanes de la magie noire foireuse
leojean890: mais y'a clairement mieux :P
Alshock: genre le ron weasley du necronomicon
leojean890: hehe :P
leojean890: juste j'affine des seuils pour
leojean890: - quand tirer plus que 1
TidyMaze: le truc c'est que quand les regles vont changer suite à un saut d'humeur de JBM tes seuils sont bon à jeter ^^
leojean890: -et dans ces conditons, combien tirer
JBM: c'est pour lutter contre le hardcode
leojean890: j'avoue :P
Alshock: @TidyMaze build for today, save your job tomorrow
leojean890: j'ai pas de hardcode sur des distances :P
leojean890: mais des proportions de distance du troll vis à vis de la longueur totale du chemin :P
TidyMaze: bonne nuit ^^
leojean890: good night !
Alshock: ah ouais c'est pas risqué à cause des seuils justement de jouer en proportions ?
Alshock: la bonne nuitée
leojean890: à voir :p
leojean890: j'ai une version comme ça, on verra après :p
leojean890: pour le moment elle est 5eme ça va:p
leojean890: même si forcément elle va se faire doubler encore et encore :p
Alshock: bon je vais déjà essayer de voir où je to
leojean890: tjr pas de chat dans l'ide
leojean890: c'était férié today donc ils ont pas bossé dessus j'imagine:p
Alshock: aaaaah c'est donc pour ça que j'ai rien glandé aujourd'hui, parce que c'était férié !
leojean890: hehe genre tu ne savais pas ??:P
Alshock: en vrai si, mais j'ai trouvé la blague drôle
Alshock: enfin, en vrai je m'en suis rendu compte à 1àh
Alshock: -à+0
leojean890: 10h, allumer la VM de boulot ?? ah bah non c férié :p
Alshock: ah mais plus ça va plus mes IAs deviennent connes
Alshock: pourquoi elles s'imaginent que c'est une bonne idée de se suicider ?
leojean890: ça c'est moi si je retouche à CR mdr
leojean890: mon pire multi avec oware:P:P
Alshock: bah visiblement même dans un challenge aussi simple que troll vs castles la débilité de mon IA s'échappe dans des dédales inconnus
leojean890: tu fais qq if ?
leojean890: ou MC ?
leojean890: troll vs castles c'est simple mais pas tant que ça en fait :P car ça reste une compet:p
leojean890: faut pas gacher ses pierres pour rien, mais se défendre qd même:P
Alshock: bruh
Alshock: mon IA lance entre 20 et 40 pierres au premier tour
leojean890: ah ouais :P:P
Alshock: sur 50
leojean890: à enlever, ça :p
leojean890: MC je présume ?:P
Alshock: bah je veux bien mais je sais pas pourquoi elle fait ça xD
leojean890: y'aurais pas hardcodé ça je suppose :P
leojean890: t'aurais*
Alshock: nan magie noire, j'ai essayé avec un ga et avec des poids par move possible
leojean890: ah ouais
leojean890: ga, tu simules N tours
leojean890: et tu évalues
Alshock: ouais sauf que j'évalue pas, je joue la partie
Alshock: c'était un proto, le résultat m'a dit "ne surtout pas creuser"
leojean890: et tu crossover en switchant pour 2 simus le N ieme tour je suppose :P
Alshock: yep
leojean890: ouais donc comme MC tu vas jusqu'au bout
leojean890: sauf que tu crossover / mutes
Alshock: le problème c'est que chaque chromosome vaut entre "envoyer 1" et "envoyer tout"
Alshock: mais du coup il a du mal à envoyer "pas trop"
leojean890: mdr
leojean890: moi j'évite de gacher
Alshock: -chromosome+gene
Alshock: j'adore gâcher
leojean890: j'avoue j'aurais un peu d emal avec un ga:p
Alshock: regarde ma vie :P
leojean890: ce niveau
Alshock: pourquoi ?
leojean890: j'ai fait A*craft en GA
Alshock: c'est gentil les gas, c'est doux les gas, bon certes c'est un peu con parfois
leojean890: ça me paraissait naturel avec la pose de fleches:p
Alshock: A*craft tu poses une seule flèche ou non au début c'est ça ?
leojean890: jsais pas, mais jpense que ça peut se faire anyway
Alshock: j'ai pas joué à ça encore
leojean890: A*craft je tire un nb aléatoire de fleches et je les pose aléatoirement pour chaque simu:p
leojean890: x,y,sens
leojean890: mais pas totalement aléaoire
Alshock: aaaah c'est comme ça que ça marche ce jeu ?
leojean890: moins de nbAvailableSpots/3
Alshock: okkk ça fait sens d'un coup, je le comprenais pas
leojean890: ouais tu dis où poser les fleches
leojean890: et tu maximises la longueur des paths des robots
leojean890: la somme des longeurs des paths
leojean890: avec un ga et les fleches c assez adapté je trouvais
leojean890: je vais ptet essayer d'hardcoder lessolutions sinon !
Alshock: pourquoi pas faire simplement des genes de 5 valeurs haut droite bas gauche rien ?
leojean890: maybe
leojean890: j)réfre crossover en intervertissant des fleches/muter en enlevant ou ajoutant ou und e chaque :p
leojean890: préfère*
Alshock: ouais tu préfères faire des trucs moins cons et bourrins quoi
leojean890: jle sens mieux
Alshock: c'est pas très gathonic
leojean890: mas ça veut pas dire que c le meilleur choix:p
Alshock: et tu simules la partie ou tu fais une éval sortie des enfers ? ^^
leojean890: en python en 1 seconde.. ça reste lent de faire N simus, je suis genre 230/750 dans ce truc
Alshock: parce que moi ce serait simu 100% mais avec toi je sais pas ce que tu peux sortir
leojean890: mais pour des multis en 0.05 s vaut mieux abandonner python;p
leojean890: pour ce genre d'algos
leojean890: bah simu aussi du coup;p
leojean890: facile à simuler A*craft
Alshock: tu sais que je fais des simus trop lentes ou trop nulles pour faire passer légende le seul MCTS que j'ai un peu essayé d'optimiser sur UTTT
Alshock: et il est en C j'ai 0 excuse
leojean890: c pas comme CR
leojean890: ah ouais:p
leojean890: moi python et minmax donc 10eme silver:p:p
Alshock: ouais l'opti et moi ça fait 4
leojean890: mais jcompte le repasser en cpp lui un jour
Alshock: http://chat.codingame.com/pastebin/ddc69128-4a8b-47ad-aeeb-9fa6b5b835f5
JBM: tu parles de quelle partie?
JBM: elle fait random(0,pierres)
JBM: faire un if c'etait un peu complique pour moi tu comprends
JBM: elle est en java ne l'oublions pas
Alshock: xD bon dodo
leojean890: gn:)
leojean890: tiens un nouvel optim que je vais sûrement pas faire car physique :P https://www.codingame.com/multiplayer/optimization/search-race
Alshock: hey en mettant 20% de chance de mutation je peux ptêtre essayer de cacher que je fais 0 reproductions
leojean890: 0 repro ? comment ça ?
Alshock: mais ça a l'air horrible à faire sans physique
Alshock: alors en fait...
Alshock: j'ai deux ga, un pour moi un pour l'adversaire
leojean890: le jeu de race d'Illedan ou trolls castles?P
Alshock: le meilleur moyen que j'ai trouvé pour leur choisir une fitness
Alshock: c'est de faire jouer une partie complète à chaque couple d'ia
Alshock: bah après ça elles ont pas beaucoup de temps pour faire des bébés
leojean890: j'avoue
leojean890: en fct de tes perfs quo
leojean890: i
Alshock: de mes quoi ? :rolling_eyes:
Alshock: sinon le jeu d'illidan évidemment
leojean890: perfs (code rapide ))
Alshock: genre optimiser ça sans simu ça me paraît un tel calvaire
leojean890: :p
Alshock: code quoi ? :P
leojean890: rapide
Alshock: déso y a des mots que mon cerveau refuse
leojean890: en temps d'exécution
Alshock: ah ouais l'éxecution ça je connais
leojean890: pareil vais pas tarder à dodo non plus :P
Alshock: c'est ce que mon ia subit quand je clique sur submit
Alshock: same, j'ai déjà pas bcp de cerveau de base mais alors là...
leojean890: meuh si :P comment que tu te clash :P
Alshock: Cela dit je m'en vais sur une bonne note
Alshock: contrairement à ce que je pensais mon IA converge bien vers un truc pas trop débile sur troll & castles
Alshock: c'est juste qu'elle a pas du tout le temps de converger
leojean890: j'ai quasiment pas codé sur CG depuis dimanche en tt cas, 10 lignes sur trolls.. sinon je lis des PM de PAC et autres contests
leojean890: ah bah tant mieux, bientôt tu optim encore:p
Alshock: je quoi ? :roll:
leojean890: tu amélioreras encore bientôt:p
leojean890: bonne nuit:p
leojean890: si sa convergence est pas mal déjà^^
Alshock: xD t'es le meilleur ! bonne nuit
leojean890: bah non pk ?:P
leojean890: (et trop lente;))
leojean890: faut changer comment sont effectuer les mutations etc
leojean890: effectuées
n1c0de: Salut ! Comment fonctionne le classement ?