Chat:Fr/2021-02-22
Robin-Hood: salut
Robin-Hood: Automaton2020
TomTWK: Hello tous, qqun sait comment monter de ligue en combat de bot? je suis 10e en ligue bronze mais je ne monte pas. il faut être 1er?
VirtualAtom: Il faut que ton score à la fin d'une soumission soit supérieur à celui du boss
TomTWK: Ok je vais regarder ça, merci
Thyl: j'ai des nombres qui apparaissent dans un tableau
Thyl: et je sais pas pourquoi
Thyl: la grosse bouse à debuguer..
Thyl: Une idée pour savoir pourquoi ça pourrait faire ça ???
Thyl: :thinking:
Thyl: c'est bon
Thyl: je tappait dans un index non determiné et ça me sortait des nbs de fous :D
Automaton2000: zorg1: go farmer ta quest map
Bon[]Crayon: Tout à fait.
kayou: Automaton2000 devrait porter plainte pour harcèlement
Automaton2000: et j'ai pas le choix
Zorg1: bon Automaton2000 des niouzes ?
Automaton2000: ah je connaissais pas :p
Zorg1: :/
Automaton2000: je suis toujours dans le top 10 ^^
Automaton2000: apres je sais pas trop ce que j'ai fait mon code
Alshock: bonjouuur
Magus: ping Automaton2000 ?
Automaton2000: ça me rassure un peu
Zorg1: bonjour à tous et aux bots de compétition Automaton2000 & AutomatonNN
Automaton2000: je connais pas assez pour passer en gold ...
Thyl: Magus pourquoi Auto' il à démarré ??
Alshock: il a démarré ?
Thyl: oui
Thyl: d'un coup tout seul
Alshock: Non
Alshock: Il a répondu à Robin-Hood avec beaucoup, beaucoup de retard
Thyl: a ok
Thyl: il se fait vieux
Magus: Thyl: le chat a reboot
Magus: en tout cas d'après mon pidgin. Le chat a reboot à 10h27
Thyl: a d'accore merci ! :)
[RAINBOW]BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !
Automaton2000: d'ailleurs je me demandais si c'était possible de faire des boucles
darkhorse64: ton avatar fait mal aux yeux. Démon et flowa powa, ça le fait pas
Alshock: darkhorse64 au contraire, je trouve qu'on plonge au coeur du nueivème cercle des enfers
Alshock: tellement de typos en trois lettres que j'ai 3 nouveaux doigts qui ont poussé
darkhorse64: genre la dangereuse séduction du mal (pas de typo)
[RAINBOW]BlaiseEbuth: :wilted_rose: Flawa pawa ! :sunflower: :peace:
Alshock: le truc bien avec blaise c'est qu'il va jamais trop loin xD
Zorg1: vivement qu'il vienne avec son VW combi tout repeint
[RAINBOW]BlaiseEbuth: Définis "trop" et "loin" :thinking:
Thyl: pfff
Thyl: trouver un algo qui envoie du bois à connect 4
Thyl: minimax deep 3 mon programme timeout...
Thyl: :sob:
[RAINBOW]BlaiseEbuth: C'est lourd le bois.
Thyl: je pense que c'est la simu qui pèse
Thyl: qui connait un IDE Prolog ?
[RAINBOW]BlaiseEbuth: Pourquoi Prolog ?
darkhorse64: C4 ça se bitboard bien
Thyl: parce que prolog
Thyl: et darkhorse64, c'est quoi le bitboard ??
Thyl: prolog pour apprendre encore un nouveau langage
**Thyl aime la complexité
[RAINBOW]BlaiseEbuth: Moui... Y'a peut-être autre chose à apprendre. Mais c'est toi qui vois. ^^
[RAINBOW]BlaiseEbuth: Thyl : Pour les bitboards https://eprints.qut.edu.au/85005/1/__staffhome.qut.edu.au_staffgroupm%24_meaton_Desktop_bits-7.pdf
darkhorse64: pour faire simple, représenter l'état d'un jeu avec un champ de bits; c'est compact et si c'est bien fait, tu as du parallélisme pour pas cher.
Thyl: tu conseillerais quoi [RAINBOW]BlaiseEbuth
darkhorse64: Excellente référence
Thyl: a ok
darkhorse64: mais un peu datée
Thyl: tu fais de la transpo' du coup
Thyl: parce que mon algo est tellement lent
darkhorse64: Désolé pas compris, transposition de quoi
[RAINBOW]BlaiseEbuth: Thyl, j'en sais rien, c'est juste que prolog c'est un peu anecdotique à part si tu bosses au CNRS, et encore..
Thyl: darkhorse64 si tu convertit le plateau en bit
Thyl: c'est pour en faire quoi à part le stocké dans une memoire pour gagner de la vitesse
darkhorse64: Ca sert aussi à faire des tests d'alignement de 4 pions rapides. Je parierais que c'est ce test qui tue tes perfs
Alshock: plein de trucs, tu peux comparer à des états enregistrés rapidement, tu peux update ton jeu avec des opérations sur les bits, et tu peux copier des états très rapidement (et là comme ça j'en oublie sûrement et des meilleures) l'important dans le bitboard c'est bien d'en avoir une utilité
darkhorse64: J'arrive à simuler 4 M de parties par seconde
Thyl: ok respect
darkhorse64: avec test de victoire à chaque tour
Thyl: :)
Thyl: le test de victoire me tue
darkhorse64: C'est le genre de chose que tu apprends à faire sur CG. Le code a une très sale tête
Alshock: en bitboard tu fais les X masques de victoire et tu les offset vers ta position pour ton joueur ?
Thyl: mon algo dans tous les sens (verticale,horizontal,el les 2 diagonales) j'additionne un part un tout les alignés sur le sens que je décompose en deux mouvement
Alshock: j'avais jamais regardé ce puzzle donc là j'avoue que je lance des trucs complètement verts, j'arrive pas bien à compter les options de victoire
darkhorse64: Non pas de masques
Thyl: du coup mon truc est très long
Thyl: lent
darkhorse64: Lis le pdf. Il y a quelques dessins. Ca aide à comprendre
Thyl: ok merci
Bon[]Crayon: Salut :ghost:
Bon[]Crayon: AutomatonNN, Automaton2000 o/
Automaton2000: c'est parce que c'est le langage qui fait tout le monde a le droit à un algo en o(n)
Alshock: Après un peu de réflexion je ferais ça avec une lookup de 8 * 4 board de victoire, qui représentent chaque possibilité pour le point en (3, 3), et je shifterais le tableau pour avoir le point joué en (3, 3) avant de & mes 32 boards de victoires. Dit comme ça c'est pas ouf
Alshock: Doit y avoir bien mieux xD
darkhorse64: Oui
Alshock: -8+4, mais le problème reste le même, faut que j'évite d'itérer, mon cerveau fume
philRG: intéressant le pdf, ça peut servir :-)
darkhorse64: Le problème, c'est que ton algo n'est pas ||
Alshock: c'est marrant j'aurais plutôt écrit //
darkhorse64: C'était ma première intention
Thyl: ça veut dire quoi ||
Alshock: parallèle dans ce contexte ^^
Alshock: sinon ça veut dire "ou logique"
philRG: là je suis game of drones, 273 en gold, avec que du gros if :)
Alshock: un jour faudra que j'apprenne à apprécier les gros ifs
philRG: et fonction d'éval sur chaque objectif de zone pour N drones
Alshock: c'est pas toi qui faisais un voronoi sur god justement y a quelques jours ? Quand stilgart avait sorti l'artillerie lourde ?
philRG: je suis pas très avancé en IA, mais ça se rapproche bien des stratégies qu'on peux utiliser pour les jeux de société
philRG: ah oui le voronoi m'a pas trop servi au niveau où je suis
philRG: les if c'est parfois cool
darkhorse64: L'idée de la zone d'influence est pas mal, si tu les combines, tu peux savoir ce tu contrôles et ce qui est menacé
Thyl: Manwe l'explique dans sa conference
philRG: oui possible j'y ai pas trop réfléchi comme j'ai refait mon code hier qui est pas con en m'inspirant d'un PM du 1er ou 2ème (dont j'ai par ailleurs pas trop capté les explications :-D), mais l'idée de définir des objectifs et des scores pour chacun est élégant et aussi court en code
philRG: j'ai gagné 150 places avec mon code précédent et aussi 150 lignes de code :-D
philRG: ah dsl me suis trompé d'interlocuteur ;-)
Thyl: https://www.youtube.com/watch?v=8kBQMQyLHME
Thyl: super
darkhorse64: non, non, on profite. Je suis pas légende à celui-là donc je prends des notes
philRG: AIshock me souviens plus ce que Stilgart avait comme algo, mais oui j'ai du mal à le battre
darkhorse64: c'était quel jour que j'aille relire le chat
darkhorse64: ?
philRG: sympa la vidéo
darkhorse64: l'intro déchire
Alshock: je saurais déjà pas dire quel jour on est aujourd'hui désolé
Thyl: oui
Thyl: l'intro est sympa
Thyl: d'ailleurs à ce jeu il est 21....
Thyl: il est très bonb pédagogue
philRG: ça fait pas de mal de ré-écouter ce type de vidéo :) après avoir abattu plusieurs forêts de if :)
Thyl: ce type
Thyl: dans ce type je connais qu'elle
Thyl: hélas
Thyl: ...
Thyl: parce que tu en connais d'autres ???
darkhorse64: Juste pour les fans d'OOP, il y a un peu mieux que le if, c'est la stratégie. Ton bot, c'est une liste de stratégie que tu appliques dans l'ordre jusqu'à ce qu'il y en ait une qui matche, c'est le coup à jouer
Thyl: a oui
Thyl: philRG
philRG: Thyl non pas à mon souvenir, ou alors faut que je cherche. Je fais assez peu d'ia.
philRG: darkhorse64 oui après quand je dis forêt de if, c'est quand j'utilise pas de fonction d'évaluation
philRG: mais oui tout est basé sur la stratégie
darkhorse64: En plus, comme c'est un objet, tu peux mettre des données persistantes et ça, c'est vraiment mieux qu'un if
Thyl: darkhorse tu as raison
Thyl: avec des bytes ça marches mieux
philRG: darkhorse64 oui
Thyl: j'ai fait les calcules et j'ai plus que 6 it à la place de 8
DPAmar: this 6 it quoi
darkhorse64: if
leojean890: tiens le jeu connect 4 est sorti, je sens que le MCTS peut gagner dans ce jeu vu la taille du terrain et le nb de coups limité d'une partie ;)
leojean890: un minmax depth 2 win la bois 2 apparemment
leojean890: winrate 100%
leojean890: c'est pas la même en bois 1 mdr
leojean890: ça perd contre darkhorse64 trictrac MSmits ..
darkhorse64: On a pris un peu d'avance sur toi. Mon bot est prêt depuis deux mois
leojean890: je viens de commencer, j'ai fait une éval à base d'analyse d'alignements de pions selon les couleurs ^^
leojean890: je pense qu'il y a mieux à faire:)
leojean890: tu fais souvent des MCTS darkhorse64 non ?^^
leojean890: 2 mois c'est pas mal, tu l'as fait depuis le début de la contrib ?
darkhorse64: toujours mais ça marche plus ou moins bien
darkhorse64: Oui
leojean890: j'en ai fait un sur breakthrough mais le minmax m'a mieux classé
leojean890: plus ou moins bien, je vois, je pense que dans certains sujets des minmax avec très bonnes heuristiques pour éval + élagage ça peut être fort aussi
darkhorse64: J'ai optimisé à mort le game engine. Oui, bt, c'est vraiment le contre exemple
leojean890: (après si mon MCTS m'a mal classé sur breakthrough, c'est parce qu'il n'était pas optimisé en perfs du tout, et en python)
darkhorse64: il reste des choses à faire sur bt mais je ne pense pas que ça suffise pour gagner le top 10
leojean890: y'en a qui utlisent des opening books je pense
leojean890: ah je sais pk mon bot marche moins sur P4 avec depth > 2
leojean890: j'ai pas fait de early cut si win/lose^^
leojean890: d'ailleurs sur fireworks je suis derrière vous aussi^^ t'as aussi un MCTS sur ça ?:)
darkhorse64: bt à la fin c'est très tactique, il faut sacrifier avec des suites de coups assez longues. Il y a un bel effet horizon
darkhorse64: fireworks, c'est que des ifs
leojean890: ah sacrifier des pions pour laisser de la place pour les autres je vois, c'est complexe ouais :)
leojean890: j'ai un truc trop simple moi;)
leojean890: fireworks pareil que des ifs
leojean890: je me demandais si une simu ne pourrait pas aider potentiellement
leojean890: pour savoir vraiment optimalement s'il faut donner un indice ou jouer
darkhorse64: mais des ifs malins. La simu, je n'y ai même pas réfléchi
leojean890: genre si le mec suivant peut jouer mais n'a pas l'indice il serait peut être mieux de donner lindice plus tôt alors que je peux jouer sinon
leojean890: mais s'il a besoin de ma carte alors je devrais peut être jouer avant
leojean890: fireworks j'ai des ifs moins bons que vous on dirait pour le moment ;)
leojean890: mais justement mon pbm c que je privilégie le fait de jouer forcément à donner un indice pour le moment
leojean890: je sais que c'est à revoir cette approche
darkhorse64: Je score dès que je peux parce que marquer c'est le principal
leojean890: ah bah comme moi^^
leojean890: donc c'est pas sur ce point là que j'ai du retard^^
leojean890: je tire pas de conclusions des discard des autres, je devrais je pense
leojean890: j'ai un mini tracker de fow mais qui peut être amélioré
darkhorse64: Toute la subtilité du jeu, c'est d'extraire le maximum d'information de tout ce que tu sais. S'il y a une ligne dont tu ne tires pas profit, c'est une piste
darkhorse64: Comme c'est un jeu de coop, il faut donner aussi les meilleures infos possibles
leojean890: ouais je vois:)
leojean890: la partie donner les meilleures infos possibles je le fais en fonction des SAY que j'ai vus et des cartes que les alliés ont qui n'ont pas été SAY
leojean890: mais je devrais le faire aussi en fonction de quand il pourra le jouer, plus c'est tôt et plus je devrais le dire tôt
leojean890: je l'ai fait surtout en fonction de si mon info concerne N cartes d'un coup je la dis plus tôt
leojean890: plus un nb de cartes concernées est élevé plus je le dis tôt
darkhorse64: J'ai eu la même idée
leojean890: mais y'a ptet plus optimal:)
leojean890: "mais je devrais le faire aussi en fonction de quand il pourra le jouer, plus c'est tôt et plus je devrais le dire tôt" => ça je l'ai pas fait^^
darkhorse64: Oui, il faut bien prioriser
leojean890: et puis extraire de l'info des discard du tenre "s'il discard c'est qu'il peut rien faire d'autre d'intéressant, notamment pas jouer"
leojean890: discard pour récupérer le droit de faire un say
ThomasNicoullaud: toujours les mêmes ici :)
leojean890: et la carte discard est probablement choisie car il n'a pas les infos qu'il faut pour la jouer ou le jeu est trop loin
leojean890: yo ThomasNicoullaud
ThomasNicoullaud: \o
leojean890: t'es pret à enchainer les multis pour passer dans le top CG ?:P
ThomasNicoullaud: c'est bon j'ai déjà atteint mon objectif top 100
leojean890: (si tu fais exactement les mêmes perfs que pour les contests dans chaque multi tu vas aller loin xD)
ThomasNicoullaud: depuis je feigne un peu ;D
darkhorse64: le discard, je ne l'exploite pas à fond, genre sur ce qu'il dit de mon jeu
leojean890: ah ouais
leojean890: je me dis que c'est intéressant de discard des cartes qui sont au dernier niveau si un adv a jeté le level 4 de la même couleur par ex
darkhorse64: Je n'ai pas codé toutes mes idées, tant que je mène, ça peut attendre
leojean890: je vois hehe
leojean890: moi faudrait que je code des trucs pour remonter :)
ThomasNicoullaud: darkhorse64 tu fais quoi de spé sur UTTT ?
ThomasNicoullaud: un MCTS avec un gros open book ?
ThomasNicoullaud: t'as une éval ou un peu d'intelligence dans tes rollouts ?
darkhorse64: rien, je n'y ai pas touché depuis des moins. Non, pas de book, mais un peu d'intelligence dans le rollout
ThomasNicoullaud: ha ..
ThomasNicoullaud: ca doit etre ca qu'il me manque
darkhorse64: Si tu veux farmer du CP, il y a plein d'autres multis et ça te donnera des idées pour UTTT
leojean890: je sais que certains du top ont un bon book aussi dans UTTT^^
ThomasNicoullaud: ouais j'ai du mal a repartir de zero, j'essaye plus de up mes bots déjà existant la
darkhorse64: des multis board games, je veux dire,
leojean890: en commu y'en a plein^^mais c'est pas exactement pour farmer du CP car ils en valent pas bcp^^
leojean890: moins de 500 players:p
ThomasNicoullaud: ouais pareil, j'ai du mal a trouver plus d'une heure consécutive, alors je change des magic number a droite et a gauche
leojean890: quand on a pas de temps à perdre, on peut changer un number et pusher ouais^^
leojean890: ça évite de trop dev ou trop regarder des replays^^
darkhorse64: Faut faire du code assez générique pour pas repasser du temps à refaire le même algo
leojean890: (mais ça fait pas faire des progrès de ouf de juste changer un nb sauf dans des cas où notre config actuelle de nbrs est vraiment mauvaise^^)
leojean890: darkhorse64 vu que tu fais souvent des MCTS j'imagine que tu réutilises bcp de code à chaque fois:)
leojean890: y'a la simu à refaire principalement quoi
leojean890: après pareil je reprends mes templates de minmax/bfs/dfs/bs..
darkhorse64: Oui, exactement. Après ce qui change, ce sont les conditions de victoires et la façon de générer les coups, ça joue sur les interfaces
leojean890: ouais exact, la simu et les conditions de victoire
leojean890: générer les coups et les simuler
darkhorse64: Le fun, c'est de jouer avec les contraintes CG, quand on se débrouille bien, on peut vraiment tirer pas de choses. OK, c'est vraiment des trucs de geeks
leojean890: comment ça ? contraintes du style les 50 ms ?
darkhorse64: Oui
leojean890: donc optimiser les perfs quoi
leojean890: refaire son algo pour diminuer le nb de calculs + revoir son style de code
leojean890: celui qui va être plus chaud, c'est chess
leojean890: déjà, branching assez élevé
leojean890: va falloir avoir de bonnes heuristiques d'élagage, sinon simu "reflexe"...
leojean890: depth 2 max
leojean890: en fait je vois comment joue ton IA de connect4 dans les replays.. c'est chaud à battre, elle me piège et je me retrouve dans une situation où je suis obligé de perdre ^^ faut absolument que j'augmente la depth pour avoir une chance :P
leojean890: elle piège un bon nb de coups en avance
darkhorse64: parfois 20 coups
leojean890: 20 coups à l'avance le piège est déjà là ?^^
leojean890: MSmits est peut être en MCTS aussi ? je sais qu'il aime bien^^
leojean890: bah là en tout cas souvent tu me bats en peu de coups
darkhorse64: Oui, je vois le gain entre 15 et 20 coups à l'avance. MCTS pour MSmits aussi mais il fait des rollouts intelligents. Il faut que je code ça en AVX pour que ça torche
leojean890: ton mcts converge vers un coup qui a une proba de win élevée quoi^^
leojean890: je pense que mon IA est vraiment loin derrière à l'heure actuelle^^
leojean890: rollouts intelligents ? avec heuristique ?
darkhorse64: Oui et comme j'ai un solver et que je fais 400K par tour, ça explore loin
darkhorse64: intelligent = pas jouer des coups qui perdent en un tour
leojean890: d'accord, donc vu qu'il a une heuristique pour pas perdre trop vite, il voit la victoire un peu plus loin que toi j'imagine ?
leojean890: trictrac est pas loin de lui aussi
leojean890: (vu qu'il joue plus de coups "corrects" en moyenne parmi ses XXXk simus grâce à son heuristique)
darkhorse64: C'est pas tout à fait ça: en évitant les coups vraiment stupides, il fait des rollouts qui sont plus significatifs du point de vue statistique et donc il explore mieux
darkhorse64: Oui, c'est ça
leojean890: d'accord je vois ; au moins ça fait de vraies stats parmi les coups qui au premier abord paraissent logiques
darkhorse64: Ca permet de faire un meilleur MCTS sans avoir d'heuristique. Parce ce que je n'ai pas la moindre idée de la stratégie gagnante
leojean890: je comprends ouais^^
leojean890: on peut tenter un pseudo minmax avec élagages basés sur une éval basée sur les alignements de pions..
leojean890: genre un "2" non bloqué c'est dangereux
philRG: ça doit être intéressant de s'acheter un vrai jeu de Connect4 et développer un robot pour bouger les pièces
leojean890: mais c'est trop approximatif, mon éval
leojean890: qui crée un score basé sur le nombre de pions aligné
leojean890: le nombre d'alignements*
philRG: perso j'aime bien jouer contre des vrais gens ou accessoirement des bots développés par eux
leojean890: nombre d'alignements et taille des alignements*
leojean890: je pensais vraiment que MCTS peut être plus fort
leojean890: jouer manuellement contre une IA ?
leojean890: les champions (échecs/go..) jouent contre les top-IA parfois
philRG: c vrai mais ça doit être frustrant je pense
leojean890: de perdre contre une IA quand t'es le champion mondial, un peu je pense ouais xD
darkhorse64: Carlsen = 2860, Stockfish = 3550
leojean890: nombre de victoires ?^^
darkhorse64: ELO
leojean890: ah je vois^^
leojean890: sur un site/classement en particulier ?
leojean890: classement mondial par ex
darkhorse64: Carlsen classement FIDE, Stockfish c'est estimé
leojean890: ah oui je vois
darkhorse64: pour te donner une idée, c'est le même écart qu'entre moi et un GMI de classe mondiale. Autant dire qu'en 100 parties, tu fais même pas une nulle
philRG: va falloir limiter le temps cpu à 1ms / tour ;-)
philRG: good night :)
leojean890: je vois l'idée xD
leojean890: ouais certains algos sont trop violents :à)
leojean890: et si on classait Stockfish par rapport aux IAs récentes de google deep**** alors ?^^
leojean890: alphago, alphazero, muzero
leojean890: (la première je crois qu'elle faisait que le go..)
darkhorse64: La seule référence, ce sont les parties contre Stockfish mais c'était une version sans NNUE alors difficile de dire mais alphazero avait écraser cette version
darkhorse64: écrasé
leojean890: ah ok^^ alphazero est la meilleure officiellement pour le moment ?:)
darkhorse64: Probablement mais SF a énormément progressé grâce à a0
leojean890: (j'avais regardé le paper officiel je crois mais j'ai oublié les stats)
leojean890: ah ok bah si elle l'entraine c'est une bonne chose aussi^^
darkhorse64: SF est maintenant un MCTS + NN. Fini le minimax
leojean890: ouais j'avais vu que c'était un minmax au début..
darkhorse64: J'ai un peu regardé les sources. On se demande pourquoi
leojean890: MCTS + NN au moins elle évolue avec ses parties
leojean890: du coup tu joues aux échecs c'est ça ?
leojean890: les souces pour être sûr d'avoir une info correcte quoi
leojean890: sources
darkhorse64: Plus en compét depuis plus de 10 ans
leojean890: t'avais quand même un bon level en gros^^
darkhorse64: Les sources pour voir comment on peut faire un NN qui dépote sans GPU
leojean890: tu vas bientôt nous faire un truc sympa sur le chess de reCurse :)
darkhorse64: ELO 1960
leojean890: moi j'ai fait quelques parties d'échecs avec quelques stratégies trop basiques :p
darkhorse64: non pas tout de suite pour le bot
leojean890: ça doit tellement prendre de temps de faire une bonne IA pour chess
leojean890: déjà pour gérer le gros branching
leojean890: faire un NN qui dépote sans GPU => c'est vrai que de ce que j'en ai compris il faut en général mobiliser pas mal de machines en même temps..^^
leojean890: enfin surtout pour le deep
leojean890: c'est dur de rivaliser avec google qui ont leur lot de matos du coup:p
darkhorse64: La force de SF, c'est que c'est du pur CPU par rapport à lc0, la perte de perfs est compensé par la bande passante
darkhorse64: CPU <-> GPU, c'est lent
leojean890: ah ok j'avoue je me suis pas renseigné sur ces aspects infra
leojean890: faudrait que je regarde ça
darkhorse64: C'est un gros projet, c'est clair, NN + engine + infrastructure pour apprentissage. Je ne sais pas combien de temps y a passé recurs3
leojean890: tu veux pas le tagger^^
leojean890: t'as un peu appris ça toi ?
leojean890: ouais lui il fait de bons trucs sur CG par rapport à tout ça
leojean890: peut être même à son boulot ?^^
leojean890: j'avais lu l'article de pb4 et Agade pour les NN de CSB aussi
darkhorse64: son emoji favori, c'est :zipper_mouth:
leojean890: je crois que robostac a fait quelques NN sur CG aussi ou je confond (oware ?)
darkhorse64: sur yavalath aussi
leojean890: ah ouais il veut pas qu'on le tag ou qu'on parle de lui ?^^
leojean890: ah nice ça fait quelques personnes qui tryhardent un peu les mutlis avec des NN
darkhorse64: il n'aime pas donner d'infos
leojean890: une poignée seulement du coup
leojean890: de personnes
leojean890: ah ok
darkhorse64: Oui, ça doit faire une demi-douzaine
leojean890: certains n'aiment pas trop qu'on parle d'eux ouais
leojean890: ah et fenrir
leojean890: sur CSB je crois
leojean890: jolindien en parlait avec lui une fois donc je suppose qu'il en fait un peu:)
leojean890: je pense que ça prend énormément de temps d'approfondir tout ça autant en tout cas :)
BlaiseEbuth: Moi aussi j'ai fait un NN !
leojean890: nice ton nouveau pseudo toi xD
leojean890: avec l'icône de profil associée;)
BlaiseEbuth: Mon ancien tu veux dire ?
leojean890: nouveau, tu fais partie de la team rainbow donc ;)
BigUP: yo !
leojean890: yo
BigUP: des tateurs de go ici ?
leojean890: j'ai fait du go 2 fois perso, fall challenge, et 2048..
BlaiseEbuth: Non ancien, c'est le chat qu'est pas à jour.
Zorg1: go le langage ou le jeu ?
leojean890: that's all
leojean890: et quelques puzzles of course
leojean890: ah le jeu j'avoue j'ai fait des IA bidon sur les multis dispo et ça s'arrête là
Zorg1: ah t'as viré ton explosion chromatique [RAINBOW]BlaiseEbuth ?
leojean890: et du gomoku sur un site de jeu compet online mais c'est as les mêmes règles
BigUP: j'ai un comportement étrange, un truc en err:=blaerror; if(err != nil) { err = bla_no_error }
leojean890: mais c'est zorg1 le pro du go ici^^
BigUP: mais apres le if, j'ai toujours l'erreur
BlaiseEbuth: Ouai, c'est trop dur de faire semblant d'être gentil et respectueux Zorg1...
leojean890: haashi m'avait donné 2-3 tips aussi
Zorg1: bigup : c'est quoi le pb exactement ?
BigUP: bah je m'attend a ce que err soit écrasé par les assignations qui se trouvent dans le if, mais ce n'est pas le cas
Zorg1: trop de gens qui font du go, je vais bientôt avoir l'impression de faire du python moi
BigUP: Zorg1, moi c'est pas de bol, j'ai pas eu le choix ...
Zorg1: condoléance alors ;-)
Zorg1: c'est bizarre ton truc. c'est quoi le code exactement ?
Zorg1: je dirais que tu redéfinis err dans le body de ton if
BigUP: Zorg1, bah non justement
BigUP: le code commence comme ca
BigUP: http://chat.codingame.com/pastebin/aebc8de3-fd08-4c5d-ba30-7a43e181506b
Zorg1: oui tu redéfinis err
BigUP: sorti du if, j'ai toujours l'erreur qui m'a fait entrer dans le if
Zorg1: c'est le côté super piégeux du ":=" en go
Zorg1: oui c'est normal
BigUP: ha putain oui !
Zorg1: t'es dans un bloc donc au ":=" il crée trois variables, err fait du shadowing
BigUP: pourtant j'ai regardé plus de 10 fois ! :) c'est énorme le go !
Zorg1: c'est le gros piège du ":=" la première fois tu te demandes ce qui se passe
BigUP: j'ai vraiement regardé que je n'avais pas de := dans mon if, bah je ne l'ai quand meme pas vu !
leojean890: j'ai fait la même erreur lors de mon premier programme go ever (FC2020)
leojean890: j'avais pas compris direct non plus;)
BigUP: bon maintenant faut que je trouve comment corriger ca proprement
BigUP: mes variables "query, args" sont utilisées ensuite et je ne connais pas le type (et je ne veux surtout pas le connaitre)
BigUP: bon bah je crois que le plus simple reste encore de renommer le err qui est redéclaré dans le if
BigUP: c'est moche mais bon
Zorg1: le plus simple c'est d'utiliser autre chose que err et à la fin de faire err=<ta variable d'erreur>
Zorg1: oups t'as été + rapide ^^
BigUP: ouais bon, je suis partagé entre dire que c'est le gars qui a fait de la merde ou bien je suis un peu con de faire un log.Fatal si le retour de la fonction n'est pas nil