Chat:Fr/2021-05-12

From CG community
Jump to navigation Jump to search

Oioi: ça recommence à ramer tôt le matin ou c'est moi ?

Mazelcop: o/

Oioi: \o

-Cile-: ZVRKK : ça me rassure dans un sens de voir que je ne suis pas la seule pas trop mal classée, à faire juste du if/else sans gérer les ombres (et sans gérer les nutrient, ni les arbres de l'adversaire, ni... en gérant pas grand chose en fait)

Default avatar.png ZVRKK: -Cile- haha exactement on gère pas grand chose

-Cile-: dans un sens, vu que je gère un peu le SEED (même si ça peut grandement être amélioré), ça veut dire qu'indirectement je gère un peu les ombres

Default avatar.png ZVRKK: Justement je suis entrain de voir pour les ombres, je sais pas si il faut les prendre en compte quand on seed ou quand on complete ou bien les deux :thinking:

-Cile-: dans l'idéal il faudrait les prendre en compte pour GROW/SEED/COMPLETE, même si ça n'a pas toujours le même poids

-Cile-: ce que je veux dire c'est que si tu ne les gères pas du tout du le seed, tu auras moins de positions intéressantes pour le grow

Default avatar.png ZVRKK: Effectivement ça semble cohérent, je vais essayer d'intégrer ça

LuckyJ.: Hólà!

Une idée du nombre de promu en gold?

Oioi: Non... hier ils disaient autour de 100~200

LuckyJ.: Ahhh, naan, je suis 550 et j'aurai pu grapiller ~100 places en bossant en parallèle mais là c'est trop pour une journée de boulot :/

LuckyJ.: Tant pis, je ferai l'effort demain :)

Merci!

Oioi: Faut ptet pas me croire sur parole hein...

Oioi: En fait, je sais pas trop. Je rapporte des trucs lus sur le chat hier

LuckyJ.: Ah, je me suis inspiré de matchs dbdr contre toi au début du challenge pour construire ma première strat, t'as un poids dans la balance mdr

-Cile-: je sens que je vais rester argent jusqu'à la fin, pas très loin du "but"

LuckyJ.: En tout cas, merci Oioi

Erzow: hello, vous arrivez à faire combien de simulation environ et avec quelle profondeur ? Je suis à 15 000 avec 3 de profondeur, j'arrive pas à savoir si c'est beaucoup ou pas (sans opti)

Mazelcop: 3 tours de jeu ou 3 jours ?

Erzow: En simulant 3 tour à l'avance pendant les 100ms de chaque tour

Mazelcop: c'est pas ouf alors

Erzow: va falloir que je me penche sur de l'opti :(

Oioi: Bonne journée à tous !

Mazelcop: a+ Oioi

-Cile-: Bonne journée ! Je vais aller faire du R pour changer...

Greg237: Hello. Petite question : le soleil tourne avant que les arbres génèrent des points soleil ou après ?

Mazelcop: avant

Greg237: ok, merci Mazelcop :)

3141948: Le truc de veiller jusqu'à 2h du matin pour coder une usine à gaz alors qu'une solution peut tenir en 2-3 lignes, plus la santé pour çà. Je vais essayer une simulation en python pour voir, il reste encore du temps. Sinon peut-être Java comme il y a un "proof of concept" en Java sur mcts sur tic tac toe

3141948: https://tech.io/playgrounds/57060/mcts-tic-tac-toe-playground

Vaurtitoux: Bonjour, y'aurait-il des utilisateurs du mode d'édition VIM qui pourraient me dire comment ils copient leur code de CG vers leur clipboard? Ctrl-A / Ctrl-C, ne marchent pas, les choses comme :%y+ ne marchent pas nonplus :sweat:

Gr0mph: emacs :)

Vaurtitoux: :rage:

Gr0mph: http://chat.codingame.com/pastebin/2545b76b-2d5a-46c8-bb5f-4de29f24dbd6

Gr0mph: https://www.blogduwebdesign.com/vim-astuce-pour-le-copier-coller/

Vaurtitoux: :fearful: le registre + ne marche pas pour moi comme indique mon message originel

dbdr: \o

Mazelcop: o/

Oioi: \o/

dbdr: vous la sentez comment la deuxieme moitié du contest?

philRG: tout de même belle plateforme pour s'exercer à la programmation ici. Le puzzle que j'ai le plus apprécié ici, c'est cultist wars

philRG: je la sens dbdr premier

Mazelcop: tranquilou pour moi je pense

dbdr: j'ai un peu peur que ça devienne dur d'améliorer enormément et que çá se reserre de plus en plus au top

Mazelcop: j'ai l'impression que certaines positions favorisent un joueur plus que l'autre aussi

Mazelcop: donc on va avoir des winrate très serrés

dbdr: oui, avoir plus de soleil dans les tours 3-6 peut-etre

dbdr: quand il commence à y avoir de l

dbdr: ombre

Mazelcop: ah, je pensais aux tours 9-11

Mazelcop: quand tout le monde a 4-5 arbres de taille 3

dbdr: possible, je dis un peu au pif

philRG: ça me rappelle l'expression d'un live cg d'un petit gars qui faisait des CoC: "rouler la tête sur le clavier" pour générer une paire d'actions random :-D

dbdr: :D

dbdr: tu me détruis là Mazelcop

Skril: 3-6 / 9-11 sont quasiment les mêmes confs %6

Mazelcop: on dirait qu'il y a un effet pierre-feuille-ciseaux, je me fais démolir par euler

dbdr: possible

dbdr: tu as changé un truc?

dbdr: au run précédent je vois que ct l'inverse

dbdr: apres sur 5-6 matches...

Mazelcop: non, j'ai juste joué avec la depth de mon BS pour voir l'impact

dbdr: gold va aider un peu avec çá

Mazelcop: mais vu que ma fonction d'eval est une usine à gaz, il est possible que ça change le comportement du bot

dbdr: tu limites expres la depth, ou tu diminues la largeur?

Mazelcop: je limite exprès

dbdr: ok

dbdr: j'ai aussi un gros probleme avec une partie de mon eval

dbdr: c'est super instable, dur de toucher a quoi que ce soit sans tout casser :D

Mazelcop: c'est peut être la limite de l'approche BS sur ce contest

dbdr: enfin j'ai commencé à améliorer ça hier pour une partie, faudrait que je finisse ça

dbdr: l'eval est dure de toutes façons

dbdr: tout est compromis

Mazelcop: il est dur, ce contest...

dbdr: ah oui? j'aurais dit le contraire

dbdr: pas a cause de mon rang ;)

dbdr: la simu est simple quand meme

Mazelcop: :D

Mazelcop: la simu est simple, et il y a pas vraiment besoin d'optimiser

Mazelcop: mais trouver comment gagner est pas évident

dbdr: apres c'est peut-etre parce que j'aime bien les problemes d'optimization

dbdr: #dialogueDeTop10 ;)

Mazelcop: :p

dbdr: "trouver comment gagner est pas évident"

Bob: if (!winning) win()

Bob: ezpz

mrBen: o/

mrBen: faut que j'essaye cette technique Bob !

polpoul: ca marche pas bob

mrBen: ah mince

polpoul: t'as oublié un truc

polpoul: if (loosing) winQuandMeme()

Default avatar.png Troph: >.>

R4N4R4M4: Hello tout le monde

dbdr: \o R4N4R4M4!

Default avatar.png Troph: HELLo

Mazelcop: o/

Rajh: Vous prenez en compte l'adversaire dans vos simus ?

Mazelcop: oui, mais mal

Greg237: càd mal ?

Mazelcop: avec beaucoup d'imprécision

Oioi: "oui, avoir plus de soleil dans les tours 3-6 peut-etre" & "je pensais aux tours 9-11"

Oioi: Je crois qu'il va falloir que je vous remercie dbdr et Mazelcop

Ylec: Hello tout le monde

Default avatar.png Troph: Coucou Ylec

Oioi: salut

Default avatar.png Troph: Oioi il se passe quoi dans les tours 9-11 ?

Default avatar.png Troph: (ohlala la mauvaise blague non voulue, les tours 9/11)

Oioi: C'est une discussion qui a eu lieu ya quelques minutes : privilégier le soleil dans les premiers tours ?

Default avatar.png Troph: j'ai l'impression que c'est la strat des top bot

Mazelcop: c'est ce que je faisait au début, mais je me faisait rouler dessus par les bots offensifs

Default avatar.png Troph: Ils te contraient comment ?

Mazelcop: en faisant de l'ombre

Default avatar.png Troph: meme dans les premiers tours ? ou plutot en mid-late ?

Mazelcop: vers le premier tiers environ

Default avatar.png Troph: hmm, donc privilégier les soleils en early et devenir plus agressif apres

3141948: If loosing(): win() 😂

3141948: Ah non winquandmeme typo error

Default avatar.png Troph: un truc que j'ai remarqué sur les top bot aussi c'est qu'en early ils privilégient de seed en quinconce et sur les cases a 1 nutrient.

Default avatar.png Troph: MAis je me fais peut être de fausses idées

Mazelcop: ouep, c'est assez logique

Oioi: L'idée, c'est d'éviter que que le père fasse de l'ombre à son fils...

Default avatar.png Troph: en quinconce je veux bien, mais pourquoi les cases à 1 nutrient, une histoire de compromis ?

Oioi: parce qu'au bord, il y a moins de possibilité d'ombre

Oioi: et que l'essentiel des points en début de jeu vient des nutrients

Default avatar.png Troph: ah oui je voulais dire richness pas nutrient depuis le début

Default avatar.png Troph: hmm oui ça se tient en effet

Oioi: Punaise, j'arrive pas à décrocher... pourtant j'ai vraiment du boulot là :-)

Gr0mph: :)

Mazelcop: c'est un peu trop addictif ce jeu

Default avatar.png khealer: Vous savez pourquoi l'ouverture de la ligue est décalée au 14 ? juste un bug ?

Default avatar.png Troph: c'est toujours affiché 12 pour moi

Ylec: C'est dur de décroché Oioi :)

Default avatar.png khealer: Je viens d'actualiser et ça m'écrit le 12, je crois qu'ils ont un bug, hier soir c'etait écrit le 13

Vlavv: M'en parlez pas, j'y suis resté jusqu'à 4 h cette nuit pour un truc qui a juste réussi à me faire reculer de 10 places 😴

Oioi: :-'

Oioi: :-(

dbdr: ;(

dbdr: tu as pensé à le retirer du coup Vlavv? ;)

Ylec: je crois que mon dernier submit me fait perdre 1000 places ... :'(

Default avatar.png Troph: :scream:

Default avatar.png Troph: si tu viens de submit c'est normal hein

dbdr: oho, Mazelcop tu montes bien

Trisard: Ah ba dis donc c'est la première fois que je me réveil en ayant gagné des places :D

Mazelcop: j'ai réactivé ma feature secrète

Ylec: bon je verrai a la maison, c'est pas évident au boulot :p

dbdr: :scream:

jolindien: o/

Mazelcop: o/

Trisard: 0/

dbdr: \o jolindien. tu bosses sur un truc depuis 2 jours?

Default avatar.png Troph: Mazelcop le feature secrète c'est le bug que t'avais pas vu ?

jolindien: rien de concluant

ThomasNicoullaud: le top 3 en 10 msg ébé on est gâté :)

BigUP: tiens, bizarrement, mon classement ne s'est pas amélioré tout seul pendant la nuit !

dbdr: donc oui :D et oui, ça peut devenir dur d'améliorer. j'ai peur que le jeu manque de profondeur

dbdr: tu testes en local jolindien?

jolindien: non, pas vraiment

dbdr: Mazelcop, frame 29 on est toujours symmetriques :D https://www.codingame.com/replay/552941281

jolindien: pour répondre à ta vraie question, j'ai pas mieux ;)

Vlavv: Lol dbdr, oui j'ai eu cette tentation mais j'essaye de résister, en théorie cette modif n'est pas là sans raison. ^^" Faut juste que je me replonge dedans et que je fasse quelques ajustements...

dbdr: oui, je connais. j'en ai eu plusieurs comme ça

jolindien: complete or not complete, that is the question

Trisard: :joy:

Vlavv: :grin:

Mazelcop: dbdr nice :)

Default avatar.png Frank_Qode_Lemon: hello je commence la progr en c#

Default avatar.png Frank_Qode_Lemon: mais je pige pas ce qu'il faut faire la ^^

Default avatar.png Frank_Qode_Lemon: ni comment ^^

Mazelcop: hello, tu t'es déjà fait la main sur les exercices "facile" de codingame ?

Default avatar.png Frank_Qode_Lemon: avec les pods?

Mazelcop: pas les challenges, les exercices genre temperatures ou thor

mrBen: un de ceux là : https://www.codingame.com/training/easy

Default avatar.png Frank_Qode_Lemon: non du tout je n ai pas trouvé

Default avatar.png Frank_Qode_Lemon: ok merci je vais aller voir ca :)

Frank_Qode_Lemon: ceux la sont faciles donc? hihi

Mazelcop: c'est plus facile que les contests en tout cas :)

Frank_Qode_Lemon: ok merci ^^

Frank_Qode_Lemon: je vais essayer la descente

solistice: can someone with some previous experience guide me through some initial heuristics steps?

Frank_Qode_Lemon: a priori je peux trouver toutes les infos ici?

Oioi: solistice : sure, but you should go to World chat

dbdr: #world

solistice: wooops

Mazelcop: Frank_Qode_Lemon tu as toutes les infos nécessaires sur le site. Une fois que tu as compris comment fonctionne l'IDE de CG, ça va aller tout seul.

Frank_Qode_Lemon: je vais deja essayer de comprendre c est quoi l'IDE de CG ^^ merci

Frank_Qode_Lemon: CG = codeingame

Frank_Qode_Lemon: ide?

Mazelcop: l'environnement de développement de CodingGame :)

Mazelcop: (Integrated Development Environment)

Frank_Qode_Lemon: lol ok merci

dbdr: jolindien: je crois que je complete pour des raisons obscures

dbdr: :thinking:

Tiouz: des raisons d'ombre ?

jolindien: ^^

Vry: o/ les gens !

Alshock: \o

Tiouz: \o

jolindien: o/

dbdr: #doubleSens

Alshock: toujours pas commencé ce challenge, je ronge mon frein

dbdr: non voulu au départ

Vry: Je peux sortir de ma grotte ... je crois que j'ai fini de coder le calcul des ombres ... :relieved:

Vry: http://chat.codingame.com/pastebin/87a8a51f-ea6d-4350-9c0f-4d43c3ede311

dbdr: Vry la grotte de Platon donc?

Alshock: Je suis un homme de type remainging

dbdr: caverne plutot

Alshock: j'imagine bien une forme de cannibalisme liée à ce mot

Vry: Mon bot Wood2 gagne encore des place en Bronze, c'est rigolo ... à se rythme là il passera Silver dans un mois je pense ...

Vry: *ce

Tiouz: Il gagne des places parce que les gens devant toi passent en silver ?

Vry: Nan, c'est parce qu'à force de try hard pour passer silver leur bots sont de plus en plus mauvais ... :upside_down:

jdeveil: lol

Vry: Next step : valider mon que MC mono-joueur fonctionne correctement ... je ne suis pas rendu encore

Bon[]Crayon: Bonjour tout le monde.

Bon[]Crayon: Slt Automaton2000

Automaton2000: je pense qu'il y a pas de honte

mrBen: ça attaque fort ce matin Automaton2000 !

Automaton2000: et du coup c'est plus facile de trouver des exos pour faire progresser ses étudiants

Bon[]Crayon: Professeur Automaton2000!

Automaton2000: mais c'est plus long à coder

mrBen: qui sont tes étuditants Automaton2000 ? des tortues ?

Automaton2000: et ensuite je fais des tests en local

Bon[]Crayon: Automaton2000 Est-ce que tu enseignes en Java ?

Automaton2000: pour le top 20 !

Zorg1: o/ Automaton2000

Automaton2000: est ce que ca donne

Zorg1: bof Automaton2000 à ce rythme j'aurais fini ma simu dans 1 mois :(

Automaton2000: moi je vais tenter un truc de ce genre de cas ?

pardouin: idem faut que je débugue mon next_step, je le passe au crible là et parfois il me donne un peu moins de sun que prévu, faut que je pige pourquoi

Haashi: moi j'ai une turboflemme

mrBen: pardouin lors d'un WAIT, d'incrémente bien le jous avant de calculer les ombres ? parce que je vien de trouve ce bug dans mon code

mrBen: *les jours

WhatTrickeryIsThis: wait -> le soleil tourne -> on récupère les points -> on démmarre un nouveau turn

pardouin: oui je fais (day+1)%6

dbdr: skrill est de retour :)

pardouin: je pense que ça vient de mes ombres

dbdr: gogogo simu Zorg1!

dbdr: manque de motiv'?

WhatTrickeryIsThis: la chouette, tu devrait être bon sur ce contest

WhatTrickeryIsThis: t'es une créature des forêts

dbdr: ^

Haashi: bah c'est surtout que j'ai pas pu encore m'y mettre à fond

Haashi: c'est a coup de 1h par ci par là

WhatTrickeryIsThis: vivement demain et ce weekend avec le boss legende :D

WhatTrickeryIsThis: préparer le mal de tête

Haashi: j'avais eu + de temps pour le fc2020 vu que j'étais en préavis

WhatTrickeryIsThis: et le mal au c...ul contre legende

dbdr: un boss en perl ça aurait de la classe reviens Vlavv!

Alshock: le boss n'est jamais que gold

WhatTrickeryIsThis: le boss gold par contre il va être vilain gros méchant

WhatTrickeryIsThis: surtout quand il commence à être feedé par les submits ratés

K_for_King: Coucou, tu veux voire Malphite ?

Default avatar.png Troph: :joy:

WhatTrickeryIsThis: :banana:

dbdr: WhatTrickeryIsThis il faut avoir la foi en TruSkill ;)

WhatTrickeryIsThis: dernier contest j'étais derriere le boss à 0.05 et y à des malins qui ont feed toutes la nuit

WhatTrickeryIsThis: :(

WhatTrickeryIsThis: j'aurai gagné le contest franchement, c'est pas juste

Default avatar.png Adalrik: salut salut ! Petite question je ne comprend pas trop pourquoi mon code se désynchronise. Quelqu'un à eu le cas

WhatTrickeryIsThis: oui, vérifie tes i/o

VilBoub: désynchro : souvent c'est... 2 actions dans un même tour

leojean890: yes ça remonte #131 j'arrivais plus à passer les 300..

Default avatar.png Adalrik: ok ok je m'en doutais mais je galère à trouver ou il part en cacahouète :laughing: Je vais continuer à chercher , merci en tout cas :)

Default avatar.png JBM: un dieu du JS pour me dire soit comment on peut récupérer le source de cgsync soit comment on peut accéder (write-only me va) au contenu «code» de l'IDE?

dbdr: JBM tu procrastines en outillant?

philRG: leojean890 cool

Default avatar.png JBM: c'est un peu ça

philRG: :joy:

mrBen: y a CG Local qui est open source si tu veux https://github.com/jmerle/cg-local-ext

Default avatar.png JBM: ça vient un peu d'emacs: en soi je sais pas copier le buffer entier sans bouger

Default avatar.png JBM: mais quitte à déf une fonction pour ça, autant qu'elle finisse le boulot

Default avatar.png JBM: àa fait quoi/marche comment cglocal?

mrBen: c'est plus ou moins comme CGSync si j'ai bien coimpris, sauf que l'extention est dispo pour firefox

Default avatar.png JBM: aaaah mais parfait alors

Default avatar.png JBM: nickel merci

dbdr: ya un phdcomics sur ça non? le type qui passe tout son temps a optimiser ses outils pour faire sa these plutot que de la faire

Default avatar.png JBM: y'a un xkcd en tout cas

Default avatar.png JBM: plusieurs même je crois

dbdr: je confons possiblement

Default avatar.png JBM: phdc j'ai pas mal de retard

Default avatar.png JBM: je sais plus pourquoi j'ai décroché

Default avatar.png JBM: sûrement parce qu'il y a pas de rss

Oioi: ça me ressemble le coup de la thèse : du coup je l'ai jamais passée :joy:

philRG: moi sur Firefox, j'ai l'extension CG-Local mais elle merde:

philRG: CG Local An error occurred. Make sure the CG Local app is running and try again.

philRG: j'ai passé une décennie et demie à essayer de faire tourner en production du code de devs, donc je me pose plus de question

mrBen: mais t'as l'app en local ?

philRG: j'ai l'extension

Default avatar.png JBM: faut l'app aussi

mrBen: parce qu'il y a un petit truc en java à faire tourner sur ton PC

Default avatar.png JBM: lis la doc espèce de user

Default avatar.png JBM: java?!

Default avatar.png JBM: zomg

WhatTrickeryIsThis: ppfff cte user de base

philRG: https://github.com/jmerle/cg-local-app

WhatTrickeryIsThis: il a pas lu la notice et le code source, aucun respect

mrBen: en fait ce ce lien que j'aurai du partager dès le début : https://www.codingame.com/forum/t/cg-local/10359

philRG: j'ai mes yeux qui explosent en lisant les instructions

philRG: eye's burn-out

philRG: là c'est bon j'utilise chrome... "Marche sur mon poste et sur chrome"

philRG: je suis pas maso

philRG: mais après firefox gère mieux le JS que Chrome aussi

philRG: ça rame moins en local

philRG: ça me rappelle mon stage AFPA où je faisais du pure JS qui globalement marchait différemment sur les 10 versions de navigateurs utilisées par les utilisateurs

VirtualAtom: JBM, pour envoyer le code à CG, j'ai pas trouver mieux que d'envoyer une requête "play" pour sauver le code. Si tu trouves moyen de faire sans, je suis preneur :-}

Default avatar.png JBM: ben cg-local, pour le moment

philRG: à moins d'utiliser un framework du genre JQuery qui gère les compatibilités entre versions et encore, mieux vaut éviter de faire du front

Default avatar.png JBM: ça me va mieux que de reverse cgsync (pour le moment)

Default avatar.png JBM: haha la illegal reflective access operation

Default avatar.png JBM: ça me rappelle trop qqch O:-)

philRG: mrBen: non j'ai pas l'app en local effectivement trop compliqué

VirtualAtom: bon je regarderais ça alors. J'avais pas envie d'installer une extension ou de devoir laissé ouvert une tab sur l'IDE

philRG: merci pour le lien je le connaissais déjà en fait

philRG: j'avais déjà du essayer

philRG: mais trop long

Default avatar.png JBM: yay, j'ai publié une emo twitch

WhatTrickeryIsThis: tu peux pas plustôt te concentrer sur le contest?

WhatTrickeryIsThis: quel troll celui là

egaetan: et tu es expert en troll

Default avatar.png JBM: hey egaetan

Default avatar.png JBM: pas de stream cette fois-ci?

Default avatar.png JBM: mrBen: bon ben merci pour cglocal, ça a l'air de marcher au poil

Default avatar.png JBM: je dégagerai le java quand j'aurai le temps

Default avatar.png JBM: (hahaha)

Xmaster6: Salut, je suis pas un expert CG mais les input prennent du temps à être luent nan? Est-ce qu'elles sont dédutes pour le temps de réponse?

Default avatar.png JBM: oui

Default avatar.png JBM: enfin non

Default avatar.png JBM: déduites dans quel sens

Default avatar.png JBM: elles comptent dedans, lis-les vite

Xmaster6: Bah genre les 150 ms

Default avatar.png JBM: moi j'ai que 100ms

Default avatar.png JBM: C'EST PAS JUSTE

Xmaster6: Lol oui c'est que je fais pas que le challenge

Xmaster6: donc fau optimiser leur code de lecture je suppose?

Default avatar.png JBM: oui

Default avatar.png JBM: enfin bon

Default avatar.png JBM: t'en es probablement pas à ce point, si?

Alshock: leur code de lcture ? La lecture ça prend quoi ? 0.5 ms?

Alshock: je pense moins mais je préfère taper large

Xmaster6: Bah en python ça me prend pas mal de temps donc je vais essayer en rust

mrBen: JBM, si tu fait une appli local qui n'est pas en java je suis preneur (une fonction Emacs ça me vas)

Xmaster6: 0.5ms???? oula pas pour moi ou alors je fais un truc mal

Alshock: en python tout est lent, mais malgré tout je pense pas que la lecture soit notable, les objets que tu crées par contre oui ça, ça peut être lourd

Alshock: t'as combien là toi ?

Jackalabrute: A quelle heure ca ouvre le league gold ?

Haashi: ca y est c'est reparti..............

Xmaster6: bah genre 20ms

Haashi: Automaton2000, A quelle heure ca ouvre le league gold ?

Automaton2000: je précise que je ne sais pas quand je vais sur le site

Alshock: 20 ms .o. Y s'passe des trucs pas nettes dans cette lecture moi j'vous l'dis

Alshock: Automaton2000 pourra confirmer, elle se traine comme une tortue !

Automaton2000: non mais quand je suis parti sur un truc comme ça

pardouin: la lecture c'est lent quand tu lis 50 000 entrées, ce genre de truc

Bon[]Crayon: 18 h

pardouin: très rare sur CG :)

Tiouz: Xmaster6 Est-ce que tu lances bien ton chrono après la première input ?

Xmaster6: Ah nan avant la 1ere

Alshock: Aaaah, je comprends mieux

Tiouz: C'est ça qui prend 20ms

pardouin: il chrono que après le premier inpu

Xmaster6: Ah oui mdr c'est bon merci

Haashi: tout s'explique

Alshock: Comment ça se fait que c'est QUE 20 Ms alors ? Il devrait pas avoir referee * 2 + adversaire ?

Haashi: il a dit plus haut qu'il était pas entrain de faire le challenge

Alshock: Si on me dit pô tout aussi :pout:

WhatTrickeryIsThis: :pouette:

WhatTrickeryIsThis: :hear_no_evil:

Xmaster6: yep ^^

Default avatar.png JBM: mrBen: c'est noté

Bob: rate

Default avatar.png JBM: dilate

dbdr: JBM c'est normal que tu sois dernier de silver? tu crashes?

Default avatar.png JBM: non, mais je fais plus grand chose à part planter

dbdr: :D

dwarfie: double sens ? ;)

Default avatar.png JBM: faut pas s'attendre à du grandiose avant que mon heuristiaue tienne la route

Default avatar.png JBM: avant de bidouiller tout ça j'étais vers #1950

dbdr: et moi qui croyait que les programmes haskell plantaient pas ;)

Default avatar.png JBM: lol

Oioi: heuristiose : ça pourrait être une maladie :-)

Default avatar.png JBM: au dernier submit ils planteront pas

Default avatar.png JBM: en attendant, y'a les asserts

Alshock: D'ailleurs ç'en est une

Alshock: on appelle aussi ça la Bobinite aiguë

Default avatar.png JBM: et la chevillite tirera?

Oioi: dbdr Mazelcop : finalement, c'est probablement pas une grande idée de privilégier le sun lors des premiers tours. Ou je ne sais pas l'utiliser

Alshock: Si ça arrive coup sur coup faut vérifier la taille des dents et des oreilles, c'est une astuce de grand-mère

Default avatar.png JBM: d'ailleurs tu me rappelles qu'il faut que j'affûte mes dents de scie pour avoir les bonus du complete

Default avatar.png JBM: les oreilles sont… ben de taille totoro bien proportionné quoi

philRG: finalement les puzzles, c'est bien aussi, on sait quand ça s'arrête

dbdr: Oioi tu privilégie quoi si pas le soleil, les bons emplacements?

philRG: j'ai le même score qu'il y a 8j

Oioi: l'extension du domaine (de la lutte !), et le sun, mais au sens où je fais le plus d'arbres matures le plus vite possible

Oioi: L'idée que vous m'avez donnée tout à l'heure, c'est que 3+(3+1) coûte moins cher que 3+7 et rapporte autant de sun par tour

Oioi: Cette dernière idée n'a pas l'air de marcher (ou je m'y prends mal)

philRG: quand je pense que dans la moitié de mes simus de ces 6 derniers mois, je mets mon timer avant le premier input

philRG: bon pour l'hospice :-D

philRG: je faisais:

philRG: start = time.time()

philRG: puis game.update() pour la lecture des inputs

philRG: dans le starter, ils ont viré la méthode update() de la classe Game ce qui est une bonne chose pour pas se rétamer

philRG: dans le timer

Trisard: bon je crois que je commence a déprimer ^^

Trisard: j'ai beau optimiser tout ce que je veux mes victoires tienne plus de l'aléatoire que de mon algo en lui même

Trisard: du coup je navigue entre le #110 et le #180 depuis ce matin

dwarfie: te plaint pas .... toi au moins , t'as du temps pour coder :(

Trisard: ouais après ça je suis pas trop sensé en avoir mais je m'organise on va dire ^^

OldJohn: Toujours pas compris pourquoi mon eval induit ce comportement dans mon bot !

jdeveil: de 19h à 04h00

dwarfie: c'est ce qui est prevu ... mais du coup mon code est pas pret pour 18h00 ...

Littleyounes: Trisard heuu c normal en dessus il n y a que des cracks

Littleyounes: mdrrr

dwarfie: arf ... moi qui etait content d'etre dans les premier 10% ... ca suffira pas cette fois ... va vraiment falloir que je soigne mon balmer sur la fin de semaine .... :D

Vry: Moi je suis toujours dans le top 10% ... de la ligue Bronze ! :sunglasses:

Littleyounes: Tu cache ton jeu

Littleyounes: :zipper_mouth:

dwarfie: Vry : ca c'est du hiding efficace

dwarfie: :D

pardouin: dbdr quand il se cache il est 8ème

dwarfie: pour l'instant faut que je finisse 600eme pour pas perdre de cp ... a moins que les 10.000 laches ne finissent par partitiper :rofl:

dbdr: pardouin: une feature "anodine" et "évidemment bonne" qui a l'air de me faire descendre. la je retente sans

philRG: 10.000 lâches ah quand même. J'invite mon frère à chaque contest, mais il s'inscrit jamais.

dwarfie: je parle de ceux inscrits mais qui ne participent pas ... les "je m'inscris pour me la peter" et les "je m'inscris parce qu'il y'a un achievement" ... s'il s'inscrit pas , je le compte pas ;)

Littleyounes: :disappointed:

dwarfie: (comme un de mes collegues par exemple qui ose meme pas s'inscrire alors qu'il finis mid-bronze sans forcer je suis sur)

Littleyounes: j'ai pas le courage de faire une simu :'(

Littleyounes: Dwarfie, la fonction d'évaluation elle permet de calculer le nombre de point

Littleyounes: d'une situation passée en parametre ?

dwarfie: elle evalue ce que tu veut evaluer ...

Littleyounes: :'(

Alshock: une evaluation elle dit "j'aime/j'aime pas"

Littleyounes: :'(

Littleyounes: s'il vous plait :('

Littleyounes: x)

Alshock: Et entre deux situations elle doit dire "je préfère A ou B"

Littleyounes: ;o

dwarfie: c'est pas a moi qu'il faut demander , mes seules fonctions d'eval qui marchent n'en sont pas ... c'est score a la fin d'une partie :D

Alshock: C'est techniquement une fonction d'eval

Alshock: la plus sûre de toutes

Littleyounes: kkkk

Littleyounes: lov

Vry: MC Powa !!!

Oioi: Soit tu attribues un score à un coup et tu essaies de maximiser ce score

dwarfie: Alshock ... sauf si le moteur est buggé :D

Oioi: Soit tu attribues un score à une position, et tu essaies de maximiser ce score

Alshock: @dwarfie à ce moment là c'est pas la faute de l'eval

Default avatar.png AnthonyHilala: salut je voulais savoir si finir bronze c'est bien

Littleyounes: Oioi toujours la pour me guider mercii

Alshock: on peut avoir une bonne eval sur une prédiction foireuse

Oioi: ça m'arrive fréqeuemment de fait !

Littleyounes: haha

Oioi: Ou d'écrire une eval, de faire une erreur

Oioi: de la corriger

Alshock: et c'est pire

Oioi: et de m'apercevoir que c'était mieux avant correction

dwarfie: AnthonyHilala ... tout le monde fini broonze ... a toi de comprendre :D

dwarfie: (faut le vouloir pour rester wood sur ce contest)

Alshock: pour le coup ouais ils ont été vraiment lights sur le wood, mais bon pourquoi pas, c'est sympa d'avoir vite les règles complètes

R4N4R4M4: J'ai toujours pas d'évaluation, ça sera pour ce soir, pas trop le temps aujourd'hui

R4N4R4M4: Ce qui va être embêtant, c'est le timeout fugitif dans ma simu.... :(

Littleyounes: eulerschezahl il voit le monde en binaire

Littleyounes: c'est pas possible

BigUP: Littleyounes, ceux qui ont un pistolet chargé et ceux qui creusent. Toi tu creuses !

Littleyounes: :'(

Littleyounes: coup dur

dwarfie: dur ... mais juste ...

dwarfie: ;)

Littleyounes: :(-

dwarfie: apres , un bon coup de pelle bien ajusté , ca fait le boulot aussi bien qu'un pistolet et c'est moins tracable :smiling_imp:

Littleyounes: :confounded:

Alshock: bientôt un jeune entrepreneur disruptif va nous présenter les pistopelles

Gapoulai: ^^

Alshock: une idée à creuser

Littleyounes: BigUp à tout mes frères au quartier

leojean890: #151 ça ne passe sûrement pas gold :s

Haashi: si je pense

Littleyounes: euuh

Littleyounes: si

Littleyounes: x)=

Grillaume: top 400 qui passe environ ?

jdeveil: qui parlait de 30% à peu près ?

Haashi: non pas 30% en gold

jdeveil: c'était que pour la silver alors ?

jdeveil: ok

jdeveil: mais du coup, quel pourcentage pour la gold ?

leojean890: pour fall challenge 2020 ils ont fait passer à 115 alors que c'était blindé comme now

leojean890: donc.. pas sur qu'ils fassent passer #154 mais je serais pas contre^^'

WhatTrickeryIsThis: top 300 ça semble déjà un challenge interessant, mais peut être un poil hardu

WhatTrickeryIsThis: un ligue gold à 2000 personnes ce week end ce sera pas fun

leojean890: un peu trop ouais

leojean890: 300 ça ferait 1000 personnes dimanche maybe

leojean890: ils peuvent faire 200 comme SC2020

leojean890: je me contente pas de #154 je vais continuer à submit pour bencher mes magic nbs

jdeveil: argl 150 c'est chaud... va falloir mettre un coup de cravache :'(

jdeveil: bon ben j'y retourne...

leojean890: bah on sait pas encore si ça cut à 150

jdeveil: oui ça reste une estimation de votre expérience passée

jdeveil: mais j'en suis super loin si c'est 150... snif

Tiouz: Ça va pas cut à 864, donc faut que j'améliore !

jdeveil: voilà pareil

leojean890: j'ai galéré de ouf pour revenr à 150...

Tiouz: Je passe 80% du temps à calculer les actions, ça fait pas plaisir

leojean890: hier matin c'était trkl mais le soir je bloquais à 300

jdeveil: tu es en heuristique ou tu as une simu genre MCTS ou BS leojean890 ?

bamax: je crois qu'il est en heuristique (du moin, il l'etait :) )

Rajh: Qqun pourrai m'aider en MCTS ? Je galère tellement pour dépasser le 1500 ...

Tiouz: 1500 quoi ?

bamax: de classement j'imagine

Tiouz: bronze ou silver ? Il y a une grosse différence

Rajh: Classement Silver (total quoi) xD

bamax: perso je suis en heuristique. Pour le moment je suis qu'as 1400 (je peux descendre a 1200 a peut pres)

Tiouz: Et c'est quoi ton souci ?

Rajh: Je comprends pas quoi faire pour améliorer :D

Tiouz: C'est le problème...

Vlavv: Oh la gaffe, le portable que j'ai rallumé ce matin avait gardé un onglet ouvert avec une ancienne version du code

Rajh: J'ai test le MCTS solo, en prenant en compte l'adversaire, en faisant une eval a la place des playouts

bamax: perso, faire un wait au premier tour me fait gagner des place. Si jamais vosu faite pas ca, je conseil

Vlavv: Ça fait pas bon ménage

Tiouz: Tu as combien de rollouts ?

Tiouz: bamax il le fait aussi le mien

Rajh: Je fais a peu près 100 full game par tour en ce moment (car j'ai chargé un peu la mull sur les possibles moves sinon j'avais trop de branches)

Tiouz: 100 c'est pas assez du tout, tu n'as pas le temps d'apprendre quoi que ce soit. J'ai 1000 et je suis 857 silver

bamax: d'ailleur est-ce que vous savez ce qui est le plsur entable comme algo la? (genre l'algo qu'utilise les premier)

Tiouz: Je crois que jolindien est en heuristique, donc pas vraiment d'algo mais juste une grosse réflexion sur le jeu

Rajh: Tiouz tu fais du full random ou de l'heuristic pour les playouts ?

Tiouz: Du full random

Tiouz: J'ai pas réussi à avoir une heuristique intéressante

Tiouz: Mais j'ai quelques heuristiques qui réduisent mon nombre de coups

Rajh: Tu élague quand même pour les branches non ?

Rajh: ok

Tiouz: Il n'y a pas d'élaguage en MCTS

Rajh: Non mais je voulais dire sur la génération des nodes tu génère pas tout les coups

Bon[]Crayon: Automaton2000 La logique, c'est plus fort que toi.

Automaton2000: tu as du code de base pour que ça marche

Bon[]Crayon: Automaton2000 Merci.

Automaton2000: ou tu peux faire mieux que le boss !

Vry: bon Automaton2000, tu m'aides pour valider ma simu. mono-joueur ?

Automaton2000: dans le monde du dev

BlaiseEbuth: Yo tout l'monde ! Automaton2000 ! AutomatonNN ?

Automaton2000: et t'as des trucs drôles

Trisard: yo

sangii: Bonjour, (désolé si l'information étais quelques part) Il est possible de savoir l'action jouer par l'adversaire, ou notre programme doit la déduire ?

egaetan: on peut pas

sangii: Ok, bien ce qu'il me semblais, dommage

Vry: Après tu peux déduire certain truc mais ça ne sera pas exhaustif

BlaiseEbuth: *turcs

sangii: Toujours possible en comparant le plateau du tour précédent avec celui actuelle

Oioi: Attention au cas où tu t'es endormi avant ton adversaire

Vry: Sauf si tu fais WAIT, tu peux rater plusieurs tour

sangii: En effet, en effet, merci de me le préciser :)

Luksis: On est presque 3000 en argent, c'est beaucoup quand même

BlaiseEbuth: Bon. Gros morceau aujourd'hui: Comprendre pourquoi mon bot est une paillasse.

Bob: si ca peut plaider en faveur de mettre le cut en-dessous de moi, ca me va

Tiouz: Bob, moi ça me va bien 25% comme pour bronze^^

Tiouz: C'était même plus que ça bronze, quasi 50%

hcanon: Quelqu'un sait quand est mise en place la ligue gold ?

BlaiseEbuth: (╯°□°)╯︵ ┻━┻

Bob: oui

Bob: :rofl:

hcanon: nice merci

Bob: Blaise va peter un fusbile

Vry: +1

dwarfie: tout le monde le sait

Luksis: ce soir aux alentours de 18h

Luksis: à +ou - 2h près

hcanon: Merci Luksis !

Vry: Dans 4h 20 minutes (c'est affiché en haut à gauche)

Vry: :upside_down:

Bob: on dirait le twich du channel de sumo que je regarde le matin, on repond en boucle aux memes questions 25 fois par jour

Trisard: :joy: Vry

BlaiseEbuth: Le fusebile c'est une sorte de crapaud Bob ?

dwarfie: s/jour/heure/

Bob: BlaiseEbuth de carpaud, peut-etre

BlaiseEbuth: :thinking:

Luksis: c'est pas affiché l'heure vy

Luksis: vry je vois pas ou tu vois l'heure

dwarfie: fusebile ... c'est pas ce qui se passe a la campagne ? ;)

BlaiseEbuth: Le second dégré n'est pas affiché non plus faut croire...

BlaiseEbuth: *degré

Vaurtitoux: Blaise code-t-il en Pascal :flushed:

Luksis: ah non mais je croyais que c'était sérieux

Bob: serieux fail

BlaiseEbuth: C'était un autre temps Vaurtitoux

BlaiseEbuth: Fusebile ça fait un nom cool pour un monstre...

BlaiseEbuth: Ou un bon surnom pour Mélanchon... :thinking:

Bob: un objet idiot dans Harry Pottter

Bob: le nom d'un professeur peut-être

BlaiseEbuth: Y'a déjà les baveboules

Bob: "bonjour preofesseur Fusebile !", dit Harry

mapapin: Hello, pour les changements de league ils prennent un pourcentage défini de personnes à faire passer ?

Bob: non, c'est choisi au doigt mouillé

mapapin: Haha d'accord ^^

WhatTrickeryIsThis: C'est Apo qui inflige la sanction

WhatTrickeryIsThis: il est plustôt lunatique

WhatTrickeryIsThis: faut faire gaffe là il est en sieste à cette heure

WhatTrickeryIsThis: le réveillez pas maintenant sinon il va être chaffouin

FrancoisBaveye: Hello le monde

FrancoisBaveye: Y'a combien de personnes dans le pallier légendaire en général ? C'est le top 100 ?

Bob: en general le cut gold -> legende c'est 15-20 à l'ouverture

Bob: pour avoir autour de 100 en fin de contest

FrancoisBaveye: Ok merci. Je vais devoir continuer à travailler mon IA je crois ^^

Bob: mais bon ce soir c'est juste l'ouverture pour gold hein

Luksis: et le cut gold , c'est abritraire si je résume bien

Luksis: argent -> gold

Bob: c'est toujours arbitraire

Tiouz: Mais attendez 2h...

Luksis: je pense davantage 4 Tiouz

Tiouz: Ce qui est bien quand on est mal classés, c'est qu'on a pas ce genre de soucis

Luksis: Hahaha

Luksis: quand on est extremement bien classé non plus

Default avatar.png JBM: un extrêmement bien classé local a l'air de dire que c'est sensible

FrancoisBaveye: En fait je suis 93° et j'aurais pas accès à un ordi pendant plusieurs jours à partir de demain matin. Je voulais voir si je pouvais espérer fini legend sans rien toucher pendant 3 jours.

Bob: aucune chance à moins d'être top 5 maintenant

dwarfie: je ne peut qu'approuver la vision de Bob ... et encore ...

FrancoisBaveye: Vous avez regardé les IA des top classés ? J'ai du mal à comprendre comment ils choisissent de couper un arbre ou pas.

Luksis: c'est des simus

Tiouz: De ce que j'ai compris, c'est qu'ils n'ont plus de place pour seed, donc autant couper pour se refaire de la place

Vaurtitoux: Je pense pas

Tiouz: C'est l'impression que ça donne en tout cas

BlaiseEbuth: Donc tu n'es pas

dwarfie: l'astuce ... c'est couper et resemer au meme endroit ... quand ca passe c'est pas si mal ...

**dwarfie n'aurait pas du dire ca ...

Vry: Mais euh, mon bot Wood2 arrive à battre CatBoss, que fais-je encore ne Bronze !

Vry: https://www.codingame.com/share-replay/553136650

Tiouz: *dwarfie perds 100 places parce qu'il a donné le méga tips

BigUP: oh punaise ! c'est parti je code ca !! A moi le top 20 !

dwarfie: Tiouz ... rigole pas ... ca m'arrive souvent en plus :D

Vry: Go BigUP

BigUP: Tiouz, c'etait quoi le Mega Tips ?

BigUP: t'es plus à 1 ou 2 places pret ?

Tiouz: 3 comms plus haut

dwarfie: vite floodé le chat que ca disparaisse .... ;)

Tiouz: Moi je répète pas, juste j'écoute

Tiouz: bla

Tiouz: bli

jdeveil: demandez à Automaton2000

Automaton2000: bah si t'as pas fait les puzzles faciles de cg

jdeveil: Automaton2000 il le flood facile le chat

Automaton2000: un truc du genre ?

FrancoisBaveye: Ceux qui font "pas grand chose" de toute la game, et arrivés un peu avant la fin, ils tapent un sprint et ils gagnent. J'arrête pas de perdre contre ceux-là c'est un peu rageant ^^ https://www.codingame.com/share-replay/553130987

Vry: Mon MC est rigolo, il arrive à faire des parties complètes sans prendre un seul point ! :p

dwarfie: Automaton2000 ... tu sais bien que malheureusement le nombre de personne qui font les puzzles est a peine plus grand que le nombre de fois ou tu dis tortue ...

Automaton2000: et y a des trucs que je fais pour savoir si on est sur une ligne

dwarfie: Vry ... oui , mais c'est le meilleurs score a l'arrivée ;)

BlaiseEbuth: Résumé d'une partie simulée par flemBot:

BlaiseEbuth: http://chat.codingame.com/pastebin/6004011b-523a-4ab5-94f4-6dbd06f115d7

**Tiouz ne comprends toujours pas le private joke de tortue

Bob: c'est pas un private joke c'est un Automaton2000 joke

Automaton2000: je viens d'arriver sur le site ?

dwarfie: BlaiseEbuth ... c'est bien , tu conserves bien les sun pour les points bonus :yum:

Tiouz: Ba vu le nombre de fois qu'il le dit on dirait pas^^

BlaiseEbuth: Ouai...

Bob: Tiouz c'est bien là le joke

jdeveil: i y a une rule pour qu'il évite le terme ?

Bob: la rumeur prétend que non

Bob: pourtant c'est pas faut qu'on essaye de lui faire apprendre le mot

Bob: faute*

jdeveil: ah ouais... étonnant au vue de la quantité de fois que l'on voit le terme "tortue" ou "turtle" dans le chat

jdeveil: il faut éviter de mettre Automaton2000 dans la phrase pour qu'il l'apprenne

Automaton2000: ou alors doigt mouillé ouais, c'est plus ma méthode perso

dwarfie: perso , j'ai reussi a lui faire dire 12 ou 14 fois (faudrait que je verifie avec mes captures) mais en general c'est par vague ...

jdeveil: les phrases où son pseudo apparaissent doivent être écartées, sinon il tourne en boucle :p

dwarfie: Automaton2000 ...surtout nous dis pas comment tu l'as mouillé ...

Automaton2000: bon, on va pas te donner le bon conseil

Default avatar.png JBM: tortue

BlaiseEbuth: Son pseudo est transformé en placeholder pour le pseudo de celui qui le tag

dwarfie: Automaton2000 ... si si , donnes ton conseil et on fera le contraire :rofl:

Bob: tortue aussi

Automaton2000: et bonne chance à tous

jdeveil: merci BlaiseEbuth

jdeveil: j'y avais pas pensé... :p

jdeveil: une simple transposition de pseudo et ça le rend plus chaleureux

jdeveil: sacré Automaton2000

Automaton2000: moi c'est ce qui m'a fait monter

jdeveil: la chaleur Automaton2000 ?

Automaton2000: je viens d'avoir une idée de comment faire ca

jdeveil: ou la tortue ?

BlaiseEbuth: Bon en fait mon générateur de valid moves est pété.

mrBen: il sort que des WAIT ?

jdeveil: ouf j'ai cru que j'étais le seul con à m'être cassé le derrière à en faire un :)

BlaiseEbuth: Pire. Il sort plus rien dès que j'ai fait un wait

jdeveil: ah pas de bol

jdeveil: c'est con pour le second jour...

BlaiseEbuth: Non j'suis con aussi jdeveil

jdeveil: ;p

jdeveil: c'est le flembot que tu nous as montré ?

mrBen: ça peux s'expliqué facielement selon comment tu gère l'adversaire

BlaiseEbuth: Ouai.

jdeveil: mais l'un faisait absolument rien, et l'autre plus rien après un wait, c'est peut être qu'il est en fasse d'un flemmard qu'il flemme aussi

jdeveil: +parce que

BlaiseEbuth: En fait dès qu'un joueur a fait WAIT il n'a plus de move jusqu'à la fin ^^

BlaiseEbuth: http://chat.codingame.com/pastebin/d4e71b8b-3e95-4e68-bbc2-b6152c005e2d

jdeveil: ah même si c'est l'adversaire qui wait !?

jdeveil: étrange ça

BlaiseEbuth: Chacun pour soit

BigUP: peut-etre il copie l'adversaire et fait un killer move à la fin ?

BlaiseEbuth: *soi

mrBen: mais pourquoi j'ai systematiquement des 404 avec le pastebin du chat ? une idée Automaton2000

Automaton2000: j'aimerais bien avoir un peu plus compliqué que ça, mais ça me fait penser à un truc

jdeveil: l'action arakiri elle existe pas dans ce contest... il faut la supprimer de ton code BlaiseEbuth

jdeveil: c'est comme la commande napalm pour la forêt adverse... yapa :'(

BlaiseEbuth: J'ai déjà viré sepuku, parce que ce bot n'a pas d'honneur à conserver. Mais tu voudrais que je lui enlève la possibilité d'en gagner un ? :cry:

jdeveil: :)

jdeveil: à force de faire des copier/coller de mon éditeur dans l'IDE, je vais me planter et le coller dans le chat le code du bot...

jdeveil: j'angoisse

BlaiseEbuth: Je serais obligé de te ban... :cry:

jdeveil: ba oui...

jdeveil: c'est pour ça que j'angoisse

BlaiseEbuth: :imp:

BigUP: jdeveil, n'hésite pas, on en profitera pour te le débugger

jdeveil: ah si je profite du débuggage ça pourrait être intéressant :D

jdeveil: m'enfin je suis qu'en heuristique pure... Un peu pourrie... Et pas super efficace :'(

jdeveil: j'ai peur de pas passer la barre du gold. snif

jdeveil: BlaiseEbuth ça m'amuse de voir ton pseudo, fût un temps, j'en avais un similaire, un autre de ses nombreux noms

leojean890: pareil, c pas sûr que #141 passe, vu ce qu'ils ont fait pour le FC

BlaiseEbuth: Ah ? Mes alts sont toujours dans ce genre là aussi.

Palmipedus: bon va falloir coder un peu et faire qqc mieux que heuristiques dept 1

BlaiseEbuth: LucieFaire notament.

leojean890: #136 également en heuristique pure, en fait en simu depth 1 avec eval

jdeveil: deveil -> devil... Les profs d'anglais l'ont très vite déformé, ça a été naturellement adopté :)

Palmipedus: #1800 ca va pas passer en gold :D :D

mrBen: #2021 non plus

Vry: Snif, mon MC choisit de faire WAIT sur le premier coup de la partie, c'est nul ! :p

BlaiseEbuth: Ma boîte mail poubelle s'appelle carrie.bde :3

Palmipedus: j'ai 9 minutes avant mon prochian meeting, chaud pour passer sur beam search

jdeveil: ouais on va être nombreux dans ce cas :)

leojean890: autant avoir une bonne simu depth 1 avant de passer à qqc de plus "profond" je pense, nn ?;p

jdeveil: Vry il y en a pas mal qui wait au début

leojean890: après c'est pas la même eval

OldJohn: Time to try multi-minimax !

Vry: Faut que je teste ça "pour de vrai" alors ...

Vry: Bon 3/3 win contre CatBoss, c'est suffisant comme test, après tout on est pas dans aérospatial ! :p

Vry: 10/10 pour mon #2 submit du contest (ligue Bronze)

Vry: :sunglasses:

jdeveil: Vry ca dépends combien de points tu lui mets dans la vue ?

Vry: Plus que lui :D ...

BlaiseEbuth: Bon. Déjà je remettais pas les "waiting" des joueurs à false au début des nouveaux jours... Ca règle pas tout, m'fin...

Vry: Mon MC mono-joueur fait 7k parties complètes en 45ms

jdeveil: 1pt, pas forcement suffisant... +10pts -> goto silver

Vry: 23/24 victoire pour l'instant et déjà top #4 Bronze

Kafeine: gg

jdeveil: ça sent bon pour toi

Vry: Donc en résumé un MC basique mono-joueur marche sur la ligue Bronze

jdeveil: même sans MC :p

Vry: Top #1 à 28%

Vry: Le plus important au final : c'est qu'il semblerait que je n'ai pas de bug !

jdeveil: :champagne::tada:

Oioi: C'est quoi le top #1 ? C'est #1 ? :stuck_out_tongue_winking_eye:

jdeveil: tiens ya un bug dans mon calcul de points... une case caillouteuse peut prendre 18 points... il faut que je revois ça :p

jdeveil: 20 + (-1 * 2) ba oui logique...

BlaiseEbuth: Ah. Il semble que j'ai plusieurs wait dans ma liste de move...

BlaiseEbuth: Non. En fait c'est juste n'importe quoi...

Vry: C'est ballot ...

BlaiseEbuth: Ouai nan, mais voilà. Je choisi l'index de la commande entre 0 et commandCount... Forcément..

Vry: Next step : multi-joueurs et surtout MCTS histoire de ne pas recalculer dix mille fois la liste des coups ...

Vry: All inclusive BlaiseEbuth :D

BlaiseEbuth: C'est toujours pas le bug que je cherche, mais c'est toujours un bug de moins..

BlaiseEbuth: En fait le random a pas l'air très random... -_-

Kafeine: Le problème c'est que tu peut être jamais sur avec du random

Vry: http://chat.codingame.com/pastebin/c75e6bea-3068-490a-a1fd-cb4d2cfbbda7

Vry: Cadeau

Vry: Avec ça aussi : int m = (fast_rand() * c_command) >> 15;

BlaiseEbuth: Ca tire sur quel ensemble ça ?

Vry: [0..c_command[

Vry: c_command étant le nombre de coups possibles

BlaiseEbuth: Je note.

BlaiseEbuth: M'fin je pense que le problème viens pas du moteur de rand...

Vry: Oui c'est clair ... il vient de l'interface ...

Vry: etc

Vry: tu connais la suite :smile:

jdeveil: c'est pas ma faute c'est mes doigts

BlaiseEbuth: :no_mouth:

jdeveil: :kissing:

Dahll: Vous avez des heuristiques qui marchent bien ?

BlaiseEbuth: Tu payes combien ?

jdeveil: bah pas assez pour la gold pour moi :p

Kafeine: Marchent non mais si tu veut j'en ai une qui rampe

BlaiseEbuth: En python ?

jdeveil: LOL

Vry: Non Dahll, il faut regarder les parties pour faire des heuristiques et j'ai pas encore pris le temps de le faire

Vry: GG Vry ! :p

Kafeine: T'es trop occupé à regardé ton rang ?

BlaiseEbuth: :grin:

Vry: Ou à coder quand j'ai un peu de temps ...

Zorg1: c'est bon vous êtes Gold ce soir ? je vous rejoindrez plus tard

BlaiseEbuth: Kafeine https://www.youtube.com/watch?v=FweAZfgZMvw

Kafeine: Je connaissait pas

Kafeine: J'aime bien

Vry: Zorg1, non moi je suis en décalage d'une ligue ... je viens de sortir de Bronze, on verra pour Gold demain (sinon c'est mourût pour moi)

Default avatar.png AnthonyHilala: c'est dur de passer Silver je trouve ...

Kafeine: Si c'étais facile ce ne serais pas une compet

BlaiseEbuth: Bon... En fait...

BlaiseEbuth: http://chat.codingame.com/pastebin/e2243889-3a62-4d96-9925-6aa6af992b95

BlaiseEbuth: Ca doit quand même être pété...

BlaiseEbuth: :thinking:

Default avatar.png AnthonyHilala: c'est notre prof qui nous a mis sur ce jeu et du coup je sais pas trop ce qu'il va noté à part notre rang, lol

Mazelcop: prof d'algorithmie ?

Von-Karma: bon bah prendre en compte les ombres ca vaut le coup 400 -> 30

Default avatar.png AnthonyHilala: prof d'IA

Vry: Fait un MC classique AnthonyHilala, ça passe tout seul en Silver

jdeveil: Von-Karma je suis en train de les prendre en compte aussi, mais ça marche pas aussi bien que toi ! :astonished:

Vry: Moi c'est l'adversaire qu'il faudrait que je prenne en compte ...

Kafeine: Les ombres caylemal

BlaiseEbuth: Moi c'est moi. L'adversaire a le droit de jouer mais pas moi...

Kafeine: C'est pas ma faute à moi ~

jdeveil: BlaiseEbuth tu wait avant de planter c'est ça ?

jdeveil: tu as inversé les actions ! :)

BlaiseEbuth: Je WAIT avant de WAIT avant de WAIT avant de....

jdeveil: c'est quoi les seed sous les wait dans ton pastebin ? c'est pas les actions prévues pour la journée ?

BlaiseEbuth: Nan c'est les moves possibles pour chaque tour.

jdeveil: et tu commence par wait tout le temps... rigolo...

BlaiseEbuth: Moi j'ai WAIT. Et l'adversaire il a le choix

jdeveil: les premières commandes sous le new day c'est celles envoyées par CG ?

jdeveil: et les autres celles que tu compute

BlaiseEbuth: Nan c'est que les mienne

BlaiseEbuth: Donc oui, ça marche au début

Vry: Visiblement, y'a un bug !

jdeveil: C'est étonnant, premier tour tu trouve que tu peut wait et seed, et apres tu trouves plus que du wait...

jdeveil: d'ac avec Vry

BlaiseEbuth: You are wise guys

Zorg1: je dirais plutôt que Blaise code des features qu'il oublie de se documenter à lui même

jdeveil: messieurs les connaisseurs, comment je récupère la seed d'une game qui se déroule dans l'IDE ?

BlaiseEbuth: En bas, dans options

jdeveil: Ah yes thks

Kafeine: Faudra que l'on m'explique pourquoi à chaque fois que je fais une modif je gagne contre le boss, puis après il repeint les mur avec mon ia

Kafeine: je gagne une fois *

BlaiseEbuth: It's a trap

jdeveil: il apprends de ses erreurs

jdeveil: -s

BlaiseEbuth: il apprends de ses erreur

Gr0mph: Et voila je vais pouvoir demande de l'aide à mon site préféré de Q&A:

**Tiouz attends que la ligue or ouvre pour enfin gagner des places en silver

Gr0mph: Unhandled exception: Stack Overflow

Gr0mph: :thinking:

Tiouz: C'est une question Gr0mph ?

jdeveil: BlaiseEbuth non : il apprend

Gr0mph: C'est une blague. :) Mias je crois n'avori jamais eu cette information telle qu'elle en debug.

jdeveil: sans s, pas erreur :p

mapapin: Est-ce que utiliser l'opérateur [] est plus rapide que les itérateurs en C++ ?

OldJohn: Cela dépends

OldJohn: Sur quoi ?

BlaiseEbuth: Oh bah flûte jdeveil, j'eus cru.

mapapin: Un vecteur ici

OldJohn: un tableau, un vecteur ?

YahyaBahjaoui: j'ai completer 5 arbre et malhré ca je gagne pas leboss

YahyaBahjaoui: ou est le prob

BlaiseEbuth: Si tu veux être rapide utilise pas de vecteur

YahyaBahjaoui: https://www.codingame.com/share-replay/553233853

YahyaBahjaoui: voila le replay

mapapin: Quel est le mieux pour stocker des stings ?

OldJohn: En fait si tu veux être rapide, fais du C :-)

Tiouz: Lui il en a complété 6, et 6 > 5

Kafeine: Si tu veux être rapide fait de l'assenbly

mapapin: Oui je pourrais mais je suis parti sur cpp donc pas chaud de repartir sur du C haha

BlaiseEbuth: Captain Obtiouz

Kafeine: Un vrai codeur bouge lui même ses électrons

Mazelcop: YahyaBahjaoui compléter les arbres dans les zones vertes rapport 4 points de plus

YahyaBahjaoui: kafeine mais quelle est l'astuce pour gagner le boss

mrBen: https://xkcd.com/378/

OldJohn: Tu as qu'à utiliser des tableaux de taille fixe à la place de vecteurs...

Kafeine: YahyaBahjaoui si je savais je serais pas bronze ^

YahyaBahjaoui: comment controler les arbre qui en dans les zone verte

Mazelcop: ça dépend de où tu poses tes seed

BlaiseEbuth: Comment comment ?

Gr0mph: En fait tes arbres quand ils produisent du soleil ils te font gagner aussi des points

YahyaBahjaoui: je le seed n'importe ou

Mazelcop: ben c'est bien ça le problème :)

YahyaBahjaoui: je seed pas dans emplacement exact

Gr0mph: Cad que si tu les coupes pas, il te raméne day/3 * size

YahyaBahjaoui: comment controler nos seed

Gr0mph: (environ si ton adversaire ou toi n'est pas aggressif)

YahyaBahjaoui: l'emplacemen tdes seed

Default avatar.png khealer: YahyaBahjaoui, tu as regarde l'ennonce ?

YahyaBahjaoui: ben oui

Mazelcop: SEED index0 index1 : faites que votre arbre sur la case index0 lance une graine sur la case index1.

Default avatar.png AnthonyHilala: quelqu'un peut m'aider à me faire passer silver svp ?

BlaiseEbuth: Non

Tiouz: AnthonyHilala Ouais envoie 100€ (mais parle pas trop fort il y a des modos ici)

Vry: AnthonyHilala : code un MC, égocentrique ça passe tout seul !

BlaiseEbuth: C'est une compétition AnthonyHilala

Default avatar.png AnthonyHilala: ahh désolé ;)

**Tiouz se retient de demander où en est la simu de Vry

Vry: Et c'est fait en quelques heures

Vry: Tiouz : simu. mono joueur terminée ! :p

Tiouz: gg !

Zorg1: plus que l'éval à coder quoi ...

Vry: Osef de l'éval. Zorg1, je fais du MC !

Vry: Tu ne vaudrais pas que je réfléchisse pendant que tu y es !

Vry: *voudrais

Tiouz: J'ai essayé de trier les moves selon une certaine éval, mais c'était que de la merde

dbdr: the simu IS ze eval

Vry: Tu as quel type d'algo. dbdr ?

Beretta_Vexee: Tiouz mais au final cela revient vite a faire de l'heuristic.

dbdr: beam

Kafeine: Bon d'accord ma simu mono joueur est largement supérieure ) ma multi joueur

Vry: Donc tu as une éval. pour le coup ...

Tiouz: Beretta_Vexee, oui mais j'arrive pas à avoir une heuristique simple (à part les trucs obvious)

dbdr: eval, oui

Kafeine: Ca reste du spaguetti mais je suis bronze 5

dbdr: je viens de booster mes perfs, meme pas sur que ça aide, on va voir

Beretta_Vexee: Tiouz, le problème c'est que les heuristic complexe demande de faire de la prediction de l'état du tableau à n coups. Ce qui devient vite aussi complexe que de coder autre chose.

Vry: Pas mal Kafeine, mais tu dois avoir un bug

Beretta_Vexee: La j'ai laché l'heuristic pour recoder un script propre pour essayer de faire de MC.

Beretta_Vexee: mon simulateur est pas encore complètement au point.

Kafeine: J'ai quelques problème dans le machin en effet je l'appelle pas un spaguetti sans raison

Vry: J'ai des perf. pas mauvaise j'ai l'impression : 320k move / 45ms ... Mais mon bot fait beaucoup trop de popcount à mon goût.

Beretta_Vexee: J'avais essayé une fonction d'eval pas trop mal un fois que tu as un simulateur partiel. Les deux joueurs ne plante plus et se contente de grow et complet le maximum d'arbres au 23 tour.

Beretta_Vexee: Mais c'est vite lourd en calcul.

Beretta_Vexee: je suis en python donc les perfs ...

toma69: bonjour, est-ce que le soleil tourne avant ou après le changement de jour ?

BlaiseEbuth: En même temps

Pedrito_B: ca tourne puis ca collecte

Beretta_Vexee: les ombres sont portés au début du jour et ne bouge pas. direction = day % 6

Pedrito_B: puis tu joues

Palmipedus: 1600 noeud depth 6 au premier tour.... va falloir elaguer encore

toma69: dac si je veux simuler un changement de jour je dois d'abord faire changer la direction du soleil, puis calculer les points soleil suivant cette direction là

Beretta_Vexee: C'est cela

toma69: parfait

BlaiseEbuth: La direction du soleil c'est day%6

jdeveil: qui a un algo heuristique et classé dans les 150 premiers silver ?

BlaiseEbuth: Pas toi.

jdeveil: ba non justement...

Tiouz: Regarde les python...

Gronahak: Y'a ashelkov 14e en typescript

polpoul: moi 268 ^^

polpoul: mais ca monte :p

Trisard: ça devrais pas descendre plutot ? ^^

polpoul: ben oui c'est bizarre...

BigUP: Palmipedus, depth 6, ca me parait beaucoup...

polpoul: gagné 140 places depuis hier soir

BigUP: polpoul, héb ah c'est toi qui me les à piqué mes places !

polpoul: BigUP thx man :)

BigUP: polpoul, ca ne m'arrange pas

Oioi: on est 140 à submit peut-être ? ^^

BigUP: polpoul, je vais etre un peu juste pour la gold

Palmipedus: BigUP c'est bien ca mon probleme ca fait juste 6 jours (1/4) du jeu

GTS: un pronostic sur le cut ? top300 ? top500 ?

Zorg1: bigup: tu feras un double jump direct en légende alors

BigUP: Palmipedus, si tu réduisais a 1 ou 2 jours ?

Tiouz: GTS Je te dis ça dans 1h

Kafeine: LOL mon code tout merdique est arrivé en argent

GTS: Tiouz trop facile les pronostics à postériori :p

Bob: moi je dis 500 mais c'est plus l'espoir qui parle :D

GTS: je partage le même espoir du haut de ma 495e place ^^

Palmipedus: BigUP si je reduis ca fait effectvement bcp mois de node, mais c'est moins utilile pour choisir le meilleur coup

rafaelSorel: gold top 100 ~200 le dernier contest

mrBen: moi je dit top1

mrBen: (c'est comme le juste prix hein ? faut pas dépasser :wink:)

Palmipedus: Bob ton conseil sur le nb de jours a simuler?

Tiouz: Le juste prix faut être le plus proche, donc je dis top 2 pour être sûr de battre mrBen

BigUP: Palmipedus, A 6 jours, ton meilleur coup, il ne veut plus dire grand chose

mrBen: :sweat_smile:

Bob: Palmipedus : hmmm 42 ?

Tiouz: 69 ?

Bob: ou 666

mrBen: t'as inversé Bob, c'est 24 !

Bob: au choix

Palmipedus: BigUP, hum donc tu conseilles moins de jours mais une eval meilleure?

GTS: moi j'aime bien 4 jours, en tout cas pour les 4 derniers

Tiouz: mrBen mind = blown

BigUP: Palmipedus, je suppose que ce serait mieux non ? en gros si l'adversaire ne joue pas 1 seul coup comme t'a prévu, ton eval est KO

BigUP: sur 6 jours, ca peut faire un gros ecart

Palmipedus: ha mais en fait je simule pas les coups de l'adversaire

BigUP: ha oui, donc la ton eval a 6 jours ne veut plus rien dire ! :)

Vry: En même temps si tu simules 24 jours, pas besoin d'éval. ! :sunglasses:

Vry: GG Kafeine

Palmipedus: Vry en effet :D

Kafeine: merci

BigUP: tin les nazes dans le dataset COCO2017 ils ont été labeliser une zone de 7x8 pixels !

mrBen: what

Bob: on n'a psa idee

Zorg1: kézako "COCO2017" ?

BigUP: Zorg1, c'est un dataset d'entrainement pour faire de l'IA

Vry: Avec des squelettes ?

Zorg1: dans le placard ?

Vry: Non le film d'animation "Coco" sorti en 2017 ...

Zorg1: ah oui je vois ça, connaissais pas

Vry: ... bon passage de Ligue, moi je vais aller courir dans le frais ...

Vry: Ben regarde le pendant le passage Gold ... Zorg1 :)

Zorg1: wé wé

Vry: si si si

Ylec: Bon je n'ai pas eu le temps d'améliorer mon programme, je doute passer gold ce soir...

poloch0n: vous pensez que ça coupe a combien le gold ?

Ylec: bonne question :d

Tiouz: À 786 pour me faire passer

Bon[]Crayon: Automaton2000 alias TOTO2000

Automaton2000: mais j'ai vu des gens qui ont un code qui passe les tests de recrutement mais ils font pas du ...

Tiouz: du quoi Automaton2000 ?

Automaton2000: juste parce qu'il a une bonne raison

Ylec: lol j'aimerai bien Tiouz :)

mrBen: il font pas du quoi Automaton2000, on doit savoir

Automaton2000: salut tout le monde sait que je suis le seul à faire un mc ?

Vry: C'est faux Automaton2000, on est deux !!!

Automaton2000: en fait il faut que je le ferai

polpoul: mrBen Automaton2000 te dit qu'ils font pas du mc

Automaton2000: il ne serait pas la première fois de ma vie

Bon[]Crayon: Automaton2000 Tu as perdus les clefs du temps.

**Automaton2000 tend une tortue à Bon[]Crayon et à automatonnn

Bon[]Crayon: oh

mrBen: YESSSSS

Tiouz: gg

BlaiseEbuth: :p

**mrBen se tape une grosse barre de rire

Vry: GG Bon[]Crayon !!!

Zorg1: tiens personne n'a posé les questions rituelles ?

Mazelcop: c'est quand la ligue or ?

Vry: BlaiseEbuth, c'est quand la Gold ?

Zorg1: ouaip et y aura combien de gens en gold ?

Default avatar.png TyraEl: ça cut à combien pour la gold ? :)

mrBen: C'est à quel heure l'ouverture de Legend

Kh4z: :no_mouth:

jdeveil: BlaiseEbuth va ban tout le monde :)

BlaiseEbuth: Me tentes pas

jdeveil: ça pourrai être drôle de synchroniser un ban avec le passage en gold... Mais il faudrait savoir à quelle heure il est pour préparer la commande ;)

mrBen: faudrai un bot qui \/slap ce genre de questions

Bon[]Crayon: !gold

Draufganger: https://www.codingame.com/replay/553295549 quelqu'un peut m'expliquer pourquoi au tour 32 mon arbre index=3 size 2 , projette une ombre size 1?

BlaiseEbuth: Les ombres ne sont calculées qu'en début de tour.

Bob: ^

BlaiseEbuth: Le seul moment où elles servent.

Beretta_Vexee: les ombres ne sont calculées qu'en début de jour. Elles ne bougent pas pendant une journée

Beretta_Vexee: jour != tour

Bob: et la ton arbre vient juste de passer taille 2 pendant le jour en cours

Bob: les ombres affichees sont celles au debut du tour en cours

Bob: donc quand ton arbre etait encore de taille 1

Zorg1: oui en français, "tour" et "jour" on se mélange vite les pinceaux :(

Draufganger: Ah merci

WhatTrickeryIsThis: pourquoi quand je score mon 1er arbre ça fait 24?

Pedrito_B: et si on seed et grow dans le tour

Pedrito_B: il n'y a pas d'ombre?

WhatTrickeryIsThis: je m'attends à nut + 3 = 20+3

BlaiseEbuth: Elle sert à rien pendant le jour l'ombre Pedrito_B

Gronahak: http://chat.codingame.com/pastebin/be579d60-a796-4744-ab65-a037441602f8

Tiouz: WhatTrickeryIsThis la formule c'est 2*richness-2

jdeveil: Merde Bob je commençais à te rattrapper et là pouf -200 places...

Pedrito_B: c'est clair pas de collecte, ok

WhatTrickeryIsThis: putin qui a changé la formule ?

Gronahak: les lutins de la forêt

WhatTrickeryIsThis: y à ds claques qui se perdent :rage:

Tiouz: la formule qui dit le nombre de suns c'est pas la même que celle qui dit le score gagnée

WhatTrickeryIsThis: merci tiouz

Tiouz: Je veux bien qu'on partage les places que tu vas gagner

WhatTrickeryIsThis: pour l'instant c'est mon dummy, il y gagne pas

WhatTrickeryIsThis: il compte rien

WhatTrickeryIsThis: genre pas de bonus sur les 1 :D

WhatTrickeryIsThis: nice

BlaiseEbuth: Ahah! Les arbres sont des paillasses! Faut les réveiller en début de jour...

mrBen: :laughing:

mrBen: oui

mrBen: tu m'étonne que ton bot est flémard

WhatTrickeryIsThis: en parlant de paillasse

WhatTrickeryIsThis: il est où :skull:

BlaiseEbuth: En fait c'est juste un pôv patron avec des employés flemmard... Il y peut rien...

WhatTrickeryIsThis: je pensais justement à mon boss, j'avais réu à 17h30 xD

WhatTrickeryIsThis: trop occupé à debuggé ce merdier, ils ont changé la formule du scoring

BlaiseEbuth: Y'a une formule qui a changé ?

WhatTrickeryIsThis: le complete

WhatTrickeryIsThis: avant c'était nut+richness

Tiouz: Non, il a jamais changé

Zorg1: vu qu'il est infaillible il n'a pas pu mal la comprendre, donc ils l'ont changé

WhatTrickeryIsThis: ou nutela + welth pour ceux qui aime l'english

Zorg1: c'est logique :p

BlaiseEbuth: Un coup de la mouette encore...

GTS: ça a changé ?

WhatTrickeryIsThis: quoi ils ont pas changé?

GTS: je vois pas de diff

WhatTrickeryIsThis: j'ai été bluffé depuis le début?

Default avatar.png TyraEl: je crois pas qu'elle ait changé

GTS: aucun commit dans ce sens dans le refereee

WhatTrickeryIsThis: arrêtez de me troller, ça pourrait se retourner contre vous

Tiouz: Vraiment, WhatTrickeryIsThis tu as juste confondu les suns et le score^^

Zorg1: are you troll enough to troll WTIT ?

WhatTrickeryIsThis: mais les suns j'ai bon

[CG]SaiksyApo: Bob: Il faut que j'arrete de push avant l'ouverture. Also bob: Et si je pushait a 17h53 pour changer.

Zorg1: ^^

WhatTrickeryIsThis: bob a fait une connerie?

boumagik: le boss arrive bientot ?

boumagik: jai le submit qui me démange :s

Alshock: Ces IA submissives

WhatTrickeryIsThis: puisque vous êtes tous là à attendre ça tombe bien. Je propose un tuto pour passer gold assez facilement

WhatTrickeryIsThis: https://www.youtube.com/watch?v=xwycTWc7dpo&t=13s

nicolasD: Il coupe même pas d'arbre T_T

Arthurmtro: Celui ci fonctionne mieux https://www.youtube.com/watch?v=dQw4w9WgXcQ

nicolasD: +1

mrBen: avec la photo de profil qui vas bien, c'est parfait Arthurmtro

Arthurmtro: Merci bien :p

BlaiseEbuth: Arthurmtro :x: :punch:

Arthurmtro: Au moin j'aurai reussi quelque chose sur ce challenge

Arthurmtro: rickroled les plus forts :_

Arthurmtro: rickroled les plus forts :)

BlaiseEbuth: Pas moi.

BlaiseEbuth: Je reconnais l'url

Arthurmtro: Wow

mrBen: w4w

mrBen: faut chercher ça

-TheWalder-: Je vais la reupload pour changer l'url

Arthurmtro: Tu a dut tellement te faire avoir de fois :o tu te rend compte que le fait de reconnaitre cette url demontre d'un skill immense

mrBen: par contre ça marche pas avec les nombeurs reupload effectivement

BlaiseEbuth: Je vais te dénoncer pour vol de propriété intellectuel -TheWalder-

-TheWalder-: xD

Arthurmtro: Blaise desormais je verrais ton pseudo en tant que "sensei"

Tiouz: OMG je viens de voir un GROS bug...

BlaiseEbuth: :bug:

Tiouz: Ça devrait changer pas mal de trucs

BlaiseEbuth: Tu vas perdre 1000 places...

Tiouz: dans ma simu, quand p2 faisait un complete, les points allaient à p1

-TheWalder-: Si vous plantez un arbre dans la case 50 vous gagnez la partie.

Arthurmtro: Comment xD

Bob: ben SEED 42 50

Bob: easy

BlueGhost31: perdu SEED 50 42 ;)

Tiouz: Tu peux faire ça tour 1 ça poserait pas trop de problème

WhatTrickeryIsThis: nan pas perdu

Arthurmtro: Mais il n'y en a que 37 donc complexe non?

WhatTrickeryIsThis: yà un problème de tange, il faut d'abord un arbre de taille 15 pour lancer plus loin la seed

Bob: non mais si tu fais pas d'effort aussi

WhatTrickeryIsThis: GROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\nGROW 42\n

Arthurmtro: par contre la case -37 rapporte pas mal

WhatTrickeryIsThis: SEED 42 50

-TheWalder-: Si tu fais l'action GROW [tree] time 10 il passe à la taille 15 logique

nicolasD: il va te falloir économiser un sacré tas de soleil ! XD

Bob: SEED HULK WAIT

Arthurmtro: x)

Bob: voila, gagne

BlaiseEbuth: SEED DOUBLE HULK WAIT.

WhatTrickeryIsThis: bob, tu as planté un Hulk dans un ... WAIT ?

Bob: pauvre Wait

-TheWalder-: nicolasD faut attendre les soldes en général c'est au tour 2.73

Arthurmtro: Pour gagner il suffit de faire SEED 14 10 && SEED 12 8 && .... et ainsi de suite

Arthurmtro: Cela semble logique

nicolasD: est-ce qu'il peut y avoir une seed avec que des cases arides saus les 4 de départs ? ^^

nicolasD: sauf*

WhatTrickeryIsThis: Apo ne mettra le boss que quand y aura plus de submit en cours ET quand plus personne ne trollera dans le chat

-TheWalder-: Je ne pense pas que le placement des cases richness = 0 soit complètement aléatoire mais des paternes préparés à l'avance.

Arthurmtro: Apo ??

WhatTrickeryIsThis: y à un map générator

fenrir: y'a au max 10 case arides

BlaiseEbuth: Y'a pas de trolls dans ce chat.

fenrir: c'est aléatoire mais symétriques

WhatTrickeryIsThis: et les cailloux sont disposé symétriquement

mrBen: t'es poutant bien là BlaiseEbuth

Arthurmtro: Qui est Apo ?

BlaiseEbuth: Je ne suis pas le droide que vous cherchez.

WhatTrickeryIsThis: Apo c'est celui qui faut pas faire chier, il a pouvoir de mettre le boss et éliminer les joueurs

Default avatar.png TyraEl: c'est un peu le roi des Silvers

-TheWalder-: C'est le MJ

-TheWalder-: C'est quand même chaud que je passe plus de temps sur CG qu'à faire mes devoirs.

BlaiseEbuth: Vilain garçon.

Default avatar.png Troph: j'ai tellement le submit qui me démange là

Default avatar.png Troph: mais je vais attendre le boss

Default avatar.png Troph: c'est dur ...

Tiouz: Non mais Apo il est sympa il attend que je trouve mon bug pour mettre le boss

-TheWalder-: BlaiseEbuth tant que la moyenne est bonne ça me va

Arthurmtro: Wow apo c'est le boss final donc >

Arthurmtro: :o

[CG]SaiksyApo: Tu peux resubmit toi, tu passes pas :°

-TheWalder-: oof

BlaiseEbuth: Toi tu crèves, toi aussi..

mrBen: et il viens troller en plus d'être boss final

Arthurmtro: x)

WhatTrickeryIsThis: quand tu cherche Apo dans le le leaderBord tu as des résultats avec des gens de singAPOre

WhatTrickeryIsThis: ça sent l'ELS mal maîtrisé

Arthurmtro: :/

pierre31: Bon allez je vais me résigner à apprendre à coder un mtcs. En plus la simu est facile sur ce contest, il faut saisir l'opportunité.

Arthurmtro: Vous avez passé facilement la ligue Bronze ?

Tiouz: Ça allait

pardouin: ça passe facile en Haskell

mrBen: ligue bronze oui

WhatTrickeryIsThis: oui, regarde mon tuto, c'est comme ça j'ai réussi

pardouin: mais avant ça il faut faire un test depureté: https://test-griffor.com/

Arthurmtro: Ton tuto ?

pierre31: oui le bronze assez simple, mais le silver il y a un plafond de verre pour moi

Arthurmtro: x)

pierre31: WhatTrickeryisThis tu as appris à faire ton tuto :D

nicolasD: ça va ^^ c'est fragile le verre

pierre31: bravo !

rafaelSorel: le boss arrive

Arthurmtro: Inclinez-vous

pierre31: nicolasD il doit me manquer des neurones alors... snig

pierre31: snif.

nicolasD: pierre31 non juste un if =p

pierre31: nicolasD, effectivement mais j'en ai déjà pas mal, ils sont juste mauvais

Arthurmtro: T'inquiete dit toi Pierre qu'il existe toujours pire

Arthurmtro: (mon code)

polpoul: Automaton2000 es tu prêt ?

Automaton2000: surtout que je suis sur le site

nicolasD: je tente une approche par simulation ... Résultat => 10 graines, 5 T1 et aucun arbre coupé XD

pierre31: je vois des arbres partout dans ma tête, je deviens fou, ça me donne envie de vraiment jardiner.

Vry: o/

Arthurmtro: Burk tu veux dire.. sortir dehors ??!

Oioi: C'est pas NicolasD le jardinier ?

dwarfie: Vry , t'arrive trop tot pour le passage en gold :)

Vry: lol

pierre31: il se fait attendre ce boss silver

Vry: Je suis en décalage d'une ligue ... et le Boss a un drôle de nom : Default Ai

DefaultAI: Toi qui a un drole de nom

Vry: Et en plus je limite mon bot à 45ms ... je viens de m'en rendre compte ! :p

DefaultAI: (╯°□°)╯︵ ┻━┻

Vry: Avec 50ms je vais tout exploser ... les CPU ...

mrBen: c'est pas 100ms la limite ?

fenrir: tu as droit à 100ms sauf erreur

dwarfie: Vry ... la meme boulette que moi ... a propos , c'est 100 ms :rofl:

Vry: Oui, mais j'avais repris le code du contest d'avant ... :p

WhatTrickeryIsThis: il est pas content, c'est bob qui l'a mis de mauvais poil

BlaiseEbuth: Skoi ces liens chelous qu'il met sur le chat pardouin...

dwarfie: Vry ... comme moi quoi ... un copier coller vite fait :D

mrBen: chai pas, ban ?

Vry: 12k simu. c'est mieux déjà !

dwarfie: faite comme moi mettez un filtre pour pas voir ses messages ...

Vry: J'étais 1980 avant ... on va voir si ça sert à qqc

Passi10: 12k simu pour entrer dans le top 2000 ?

Vry: non j'étais à seulement 6k pour le top 2000 (en mono joueur attention : en gros je ne sais pas ce que fais l'autre)

Passi10: okok

Passi10: j'ai bien fait de rester en heuristique lol

mrBen: je suis 2088 avec une eval toute pété

Passi10: 172 en heuristique :D

Vry: Ce soir j'ajoute l'autre joueur ça devrait être plus "fort" ...

Tiouz: 900 avec un bug

mrBen: je suis en train de me faire chier pour rien à code une simu ?

Vry: non mrBen tu peux yaller !

Passi10: ça depend de tes objectifs

Vry: Moi c'est un mc tout pourri ...

Passi10: tout depend de ton eval au final

Vry: Prend exemple sur dbdr avec son beam

dwarfie: ca fait plaisir de voir quelqu'un avec le meme planning de codage que moi ... et les meme perfs ...

Vry: J'ai pas d'éval. !

dwarfie: :D

mrBen: de toute façon je vais la faire ma simu, il me manque juste à débuger les seed

Passi10: c tj mieux de l'avoir de tout façon

Pedrito_B: l'eval c'est le resultat de la simu (la partie entiere joué au pif)

Pedrito_B: non.

Pedrito_B: non?

Passi10: bon la nouvelle lihgue c'était 18H30 pétante avant hier, se sont endormis? :D

mrBen: c'est l'avantage de mcts, pas de simu à code (juste déterminer un vainqueur avec un match fini)

TidyMaze: de fonction de score tu veux dire mrBen

Vry: Voilà, ça c'est l'étap suivante transformer le MC en MCTS

Vry: +e

mrBen: *pas d'eval oui TidyMaze

Default avatar.png Troph: Passi10 c'était pas 18h20 ?

pierre31: ah ok mrBen, vous simuler jusqu'à la fin du jeu.

pierre31: sans eval

Passi10: peut être bien

mrBen: c'est l'idée avec MonteCarlo

pierre31: j'apprends.

pardouin: lundi c'était en gros 18h20 donc avec un peu de chance ça devrait pas tarder

mrBen: (moi j'y suis pas encore)

TidyMaze: Vry une idée du gain entre MC et MCTS ? Mon cerveau tente de me persuader que c'est du temps perdu :P

mrBen: aucune idée, j'en ai jamais coder

mrBen: justement je suis parti pour faire mon premier sur ce challenge

Tiouz: C'est pas négligeable l'effet du MCTS

WhatTrickeryIsThis: mcts c'est pas si simple à coder et mc c'est simple mais tu peux coincé niveau evale

Tiouz: MCTS quand tu l'as codé une fois c'est facile après

Luksis: ah la ligue gold tjs pas ouverte

TidyMaze: Tiouz oui mais pas en haskell

Tiouz: MCTS c'est récursif, au moins tu as ça

Tiouz: (je connais pas assez haskell, mais si c'est fonctionnel ça devrait aller)

dwarfie: mcts recursif ... euh ... pas sur la ...

Tiouz: quoi ?

Pedrito_B: ok mais l'eval du MCTS c'est bien de simuler la fin de partie en tirant les actions au pif

Tiouz: Oui

Pedrito_B: donc de faire un MC du noeud à evaluer

dwarfie: pas toutes les actions au pif ... justement

Vry: TidyMaze : je ne sais pas encore mais je vais reprendre mon code de UTTT

Tiouz: T'en tire une seule (sinon ça revient à brute forcer)

Pedrito_B: à partir du noeud à evaluer

Passi10: yipii

WhatTrickeryIsThis: bim :skull:

Luksis: 2992 en gold

Luksis: HAHAHAHA

Default avatar.png M_C: euh tlm est passé en gold ou quoi ?

fenrir: euh

nicolasD: Tout argent en or ?

Bob: woohoo je suis passe \^o^/

fenrir: ah non ça c'est réduit

dbdr: 654 en gold

Bob: <3

philRG: lol

pierre31: yes je suis passé

Luksis: 650

Kh4z: c'est beaucoup xD

philRG: y a eu un bug

Vry: MCTS devrait être moins crétin car il essaie d'orienter le jeu alors que MC il tire au hasard

pierre31: motivation pour coder le mtcs !!!

Tiouz: Je vais passer quand j'aurai corrigé mon bug

Default avatar.png M_C: oulala ca va etre chaud pour legend :x

Zorg1: ahoui je viens de gagner 650 places ^^

Default avatar.png Troph: snif je passe pas de peu...

WhatTrickeryIsThis: bob il a négocier avec Apo c'est louche

philRG: la ligue silver est vide?

R4N4R4M4: Ca c'est du cut :D

Tiouz: pierre31 Déjà, regarde UCB ça va améliorer ton MC

philRG: ah non 654

philRG: bon je peux aller me coucher

fenrir: ça reste assez large IMHO

Tiouz: L'avantage du MCTS est pas seulement dans l'arbre, mais plutot dans UCB

Bob: juste a temps pour faire le pont

mrBen: ça vas, enfin ça fait quand même 600-700 en gold

Bob: parfait

TidyMaze: Vry je suis aussi en MC sur UTTT, gold

pierre31: Tiouz ok, la question que je me pose c'est soit je fait move par move ou day par day

jdeveil: WOA j'y suis !!!!!!!

jdeveil: hourra !!!!!!!!!

philRG: j'ai bien fait de spam submit hier soir en prévision

Default avatar.png Troph: Il est pas là le boss ?

Tiouz: pierre31 c'est move par move, à mon avis. Day/Day ça voudrait dire que les moves possibles à un noeud sont tous les moves possibles pendant un jour, c'est beaucoup

Bob: Troph leve les yeux

Default avatar.png Troph: Bob je ne vois que moi

Vry: TidyMaze : et bien un MCTS sur UTTT c'est Légende du coup

Vry: UN MCTS standard non trafiqué

TidyMaze: il parait ^^

pierre31: Tiouz effectivement.

Tiouz: Vry il faut quand même avoir pas mal de rollouts

Tiouz: Il m'a fallu 10k rollouts de mémoire pour passer legend sur UTTT avec un MCTS pas trafiqué

Luksis: c'est vraiment une ligue or énorme

Vry: Ça c'est ma spécialité les générations de rollouts à la pelle :sunglasses:

Default avatar.png Troph: Bon, j'étais 57 avant de submit, on verra ce que ça donne :/

Vry: Je dois être à 70k sur UTTT

Luksis: certains se demandent même s'il y a pas moyen que la légende soit aussi plus grosse que la normale

Luksis: vu que l'argent c'était presque 2000 et l'or 650

Tiouz: Vry ça me tue ça, je ne sais pas comment c'est possible. Après le challenge j'y retournerai pour améliorer ça

Vry: Bon MC-multi (avec UCB1 en bonus)

Tiouz: oh no internal error, alors que j'allais lancer le code sans le bug

Vry: Tiouz : du bitboard (sur 9 bits), optimisé aux petits oignons avec des structures de données réduites au minimum

rafaelSorel: BOSSOOT

Default avatar.png TyraEl: patrick ?

Vry: D'ailleurs mon MCTS repart de zéro à chaque coup ... je n'avais pas réussi à le faire repartir en utilisant l'historique

Tiouz: Ça je l'ai !

fenrir: j'avais essayé aussi mais au final gérer la mémoire coutait plus cher des fois

dwarfie: la vache ... 56.32 ... va falloir le descendre severe ;...

dwarfie: ah , il chute deja

Vry: Oui c'est pas faux, moi j'ai un tableau de 10 000 000 de node et je repars e la case zéro à chaque fois : coût de gestion = 0

Tiouz: J'ai raté le train je suis dégouté

fenrir: (parcourir l'abre pour remettre les noeuds libérés dans la liste de noeuds libre)

fenrir: yep, du coup c'est ce que je fais

Mourfette: d'où je suis gold... j'ai update avec un truc pas fini, j'ai lancé pour test, je me suis retrouvé gold 600 gniii

Tiouz: Attendez, l'évaluation du || en C++ n'est pas parresseuse en partant de la gauche ?

fenrir: oui

Zorg1: j'aurais dis que si

fenrir: (elle l'est)

Mourfette: Est-ce que après le challenge c'est possible de voir le code des meilleurs comme c'est le cas dans les exercices sur ce site?

Zorg1: sinon je te dis pas le massacre des gars qui viennent du C vers le C++ ^^

Vry: Mets des () !!!

dwarfie: Mourfette : non , vu que ca passe en multi ensuite

Mourfette: oh, ok :(

GTS: sur ce challenge les rollout sont pas très couteux, par contre l'arbre est plutôt grand Du coup repartir de l'historique pour le MCTS ça semblait plus compliqué que rentable

Arthurmtro: Dommage

Tiouz: j'ai un truc du genre valeur &= id == -1 || tableau.at(id) || autre_tableau.at(id);

fenrir: Mourfette: non, par contre, sur le forum souvent les personnes décrivent ce qu'elles ont fait

Vry: Et dès que tu dois faire des manip. mémoire, ça coûte un bras (même en C)

Arthurmtro: Vous pensez le js c'est opti pour ce genre de challenge ?

BlaiseEbuth: :rofl:

Arthurmtro: x) oups

BigUP: yes ! j'ai gagné 600 places !

Vry: Y'a un TypeScript #12

Zorg1: pareil

Vry: +1

dwarfie: BigUP ... Zorg1 l'a deja faite celle la :D

VilBoub: ^^

BigUP: dwarfie, désolé, j ebossais

toma69: je suis dégouté j'ai fait plein de fonctions pour simuler des actions (seed,grow,cahngement de jour,...) sauf que je peux pas lancer la game, python met trop de temps à répondre

Arthurmtro: Ducoup js ? xD

toma69: meme print("WAIT") prend trop de temps

Vry: Oui

polpoul: Arthurmtro si tu veux faire des bitsets, js c'est limité à 32bits, y a mieux

Arthurmtro: Wow j'ai tellement de choses a apprendre :o

Vry: Oui Arthurmtro il y a un bot TypeScript qui est #12

BigUP: toma69, il faut optimiser...

pardouin: ouf j'avais peur de pas passer

polpoul: après il vaut mieux une bonne heuristique en js qu'une simu de merde en c++

pardouin: mais ils ont été généreux ^^

Arthurmtro: Ahah a voir donc, je suis vraiment bloqué en bronze, mon premier exo de ce genre je connais aucun algo c'est triste

BigUP: toma69, tu utilises quoi en général ? des listes ? sur ce contest tu dois pouvoir passer pratiquement tout en set

Vry: Arthurmtro : tu dois pouvoir passer Silver en heuristique

Vry: Regarde l'un des stream en cours, ça peut t'aider !

Vry: +s

Mourfette: heuristique c'est faire les règles de choix des actions soit même selon des critères?

Arthurmtro: merci je vais faire sa !

Vry: oui

Arthurmtro: :)

Mourfette: ba du coup je suis gold comme ça en ayant push un truc pas fini :D

VilBoub: y a juste besoin d'une dizaine de lignes de code pour passer Silver...

-TheWalder-: Mais je suis gold ?! Première fois que je dépasse le silver

jdeveil: bravo

jdeveil: il faut bien une première fois pour tout ;)

-TheWalder-: Merci ! C'est beau le progrès

Vry: Chouette le puzzle de la semaine ... Zorg1

BlaiseEbuth: :clap:

polpoul: ah ouais j'avais un beau bug sur les ifs imbriqués ><

Kris117: Tout juste top 100 en JS. J'ai tenté MCTS, jme suis pris un certains nombre de timeout random (même en limitant à 50ms) et j'ai abandonné. Du coup passage en full heuristique

jfaixo: c'est souvent comme ca polpoul, tu comprends pas pourquoi ton super bot génial performe pas comme tu veux avec tout ce que t'as fait. Tu débug un peu, et après tu comprends pas comment il a pu aussi bien se classer avec des bugs pareils xD

toma69: BigUP, oui j'ai une grande liste qui décrit entièrement chaque position

toma69: ce qui me prend du temps c'est debgénérer tous les mouvements possibles..

toma69: je devrais plutot en prendre au hasard

BigUP: toma69, tu peux prendre au hazard, mais déjà utilises des sets, c'est plus rapide a manipuler normalement

BigUP: toma69, il faut bien entendu que chaque élément soit unique dans ta liste

toma69: ok merci :thumbsup:

toma69: j'ai quand meme l'impression que 100ms c'est très court

BlaiseEbuth: D'habitude on a pas tant...

BigUP: toma69, c'est tres court en python, mais bien optimisé tu peux déjà faire des choses. mais tu seras toujours plus ou moins a 10x le temps de l'equivalent en C++ :)

toma69: :upside_down:

toma69: y'a moyen de faire juste du if else ?

BlaiseEbuth: oui

GTS: https://i.redd.it/57gmyswprqm01.jpg

Pedrito_B: UTTT c'est quoi? je debarque

jdeveil: toma69 oui, mon code est comme ça

mrBen: ultimate tic tac toe

dbdr: 666 en gold BlaiseEbuth

BlaiseEbuth: Perfect.

BlaiseEbuth: Vous pouvez fermer.

fenrir: je me demande quelle genre de marge de progression il reste encore pour ceux qui sont dans le top gold

fenrir: (ie proche du max, ou bien il reste encore plein d'amélioration possible)

Mazelcop: très loin du max je dirais

jdeveil: pas sûr qu'il reste grand chose, c'est ptet pour ça qu'ils en ont fait passer autant...

BlaiseEbuth: T'as qu'à y aller pour te rendre compte par toi même fenrir.

fenrir: là je suis 19eme, j'ai encore une peu de progression

fenrir: mais si ceux au sommet s'éloigne...

-TheWalder-: En vrai c'est bien 483ème si je suis en 1ère ?

-TheWalder-: Je veux trop aller plus loin mdr

BlaiseEbuth: Si t'es 483eme t'es pas en premier.

Oioi: Il parlait de sa classe...

-TheWalder-: Nan je parle de la classe

Oioi: Je pense que c'est super :-)

Bon[]Crayon: Les premiers sont en cpp.

BlaiseEbuth: Je pense que je vais commencer à ban les gens qui ne saisissent pas le second degré...

pardouin: normalement ils l'a fait en première

Vlavv: Y a un mec en java qui met le dawa quand même

mrBen: ^^

Vlavv: (ce qui est insultant)

pardouin: b^2 - 4 ac toussa

dwarfie: BlaiseEbuth ... apres , tu pourras passer a ceux qui comprennent pas le premier degre non plus ... y'a du taf ...

WhatTrickeryIsThis: c'est un habitué

BlaiseEbuth: Et après ceux qui sont pas polis... nome.

WhatTrickeryIsThis: il est toujours balaise, il arrive a faire un peu de perfs en java

Vlavv: 😬

BlaiseEbuth: Sérieux on dirait une blague de nicola... J'ai un peu honte...

mrBen: YAY! j'ai fini de debug ma simu

mrBen: j'vais pouvoir attaqué un BFS ou un MCTS

toma69: la chance

toma69: ma simu me prend tout mon temps

dwarfie: fallait faire comme moi et passer les 2 premiers jours sur le moteur ...

dwarfie: :p

mrBen: j'y ai passer 5 jours... mais bon j'ai changé 2 fois de language et j'ai aussi tenté des heuristiques

-TheWalder-: C'est vraiment impactant de choisir les nodes que l'on veut explorer dans un MCTS au lieu de les choisir aléatoirement ou il y a quelque chose de plus important à faire avant ?

Default avatar.png Emperatrice: la blaze j'etais 26 j'ai clique sur test in arena, j'ai perdu 200 places

Default avatar.png caduk: What, pendant mon push, je me fait eclater par des gens 100-200, et une fois passer le top 50, je bat quasiment tout le monde (en silver)

nicola: kick BlaiseEbuth :grin:

Tiouz: -TheWalder- Oui c'est impactant, UCB c'est la différence entre un algo qui converge vers l'optimal ou non

BlaiseEbuth: :3

-TheWalder-: Ok merci !

cuduputu: Petite question, normal que mon code se soit barré de l'IDE en ligne lors du passage en Gold ? (Il reste uniquement le code généré au départ...)

GTS: non mais au pire dans Historique à gauche tu retrouves tout ce que tu as push

nicola: Aucune idée mais je sauvegarde toujours.

cuduputu: Oui, j'ai repris de l'historique. Mais c'est la première fois que ça m'arrive et je trouvais ça bizarre...

Grillaume: même chose cuduputu

cuduputu: @Grillaume : plutôt un bug du côté de CG alors

Grillaume: oui visiblement

Grillaume: mais aucun impact avec le plugin de sync

Default avatar.png Skia: Qu'est-ce qui entre en compte dans le calcul du score dans le classement svp ?

jdeveil: je crois que c'est le pourcentage de victoires

BlaiseEbuth: Quel score ? Quel classement ?

Default avatar.png Skia: @BlaiseEbuth, bah le leaderboard général est basé sur un score et je me demandais comment il était calculé ? Qu'est-ce qui l'influence ?

Neumann: https://en.wikipedia.org/wiki/TrueSkill

BlaiseEbuth: Général du site, pas du contest ?

Neumann: Ok je réponds pas du tout à ce qui est demandé

BlaiseEbuth: Non.

Default avatar.png Skia: Non non pardon, je parle du classement du contest (Spring Challenge 2021)

BlaiseEbuth: Donc si.

Neumann: Ah.

BlaiseEbuth: Bah cf Neumann alors.

Briossant: Yes ligue d'or

BlaiseEbuth: gg

mrBen: ah, je peux pas GROW un arbre s'il est dormant...

Zorg1: bon bah merci au pusher mon IA est passé gold sans rien faire ^^

BlaiseEbuth: Non. J't'ai dit c'est des paillasses ces arbres mrBen.

mrBen: es-ce qu'on peut les compete au moins ?

jdeveil: Zorg1 comment c'est possible ?

BlaiseEbuth: Non.

BlaiseEbuth: Paillasse

jdeveil: mrBen: c'est le principe du jeu: 1 action par jour par arbres

Default avatar.png Skia: Un arbre dormant ne peut rien faire du tout mrBen (GROW, SEED, COMPLETE)

Zorg1: jdeveil : bah pê que mon IA était basse à cause des gens au dessus et s'ils passent en gold ...

BlaiseEbuth: 1 action par arbre par jour plutôt

mrBen: ouais, mais c'était pas comme ça dans mon code... bref, ce coup-ci ça doit être bon, ma simu 1 joueur est complete

jdeveil: ça revient pas au même BlaiseEbuth ? bon ptet bien

Default avatar.png caduk: Ca y est , Gold !

BlaiseEbuth: Par "simu un joueur" tu entends faire comme si l'autre était pas là ? Y compris pour les ombres mrBen ?

jdeveil: Zorg1 c'est bizarre non ? T'es pas sensé battre le boss pour passer or ? si le bot est choisi parmi les codes précédents, il était devant toi... du coup je vois pas...

Default avatar.png JBM: sur un malentendu

Zorg1: faut finir au dessus du boss, et si tout le monde le démolit il peut passer en dessous de moi

BlaiseEbuth: Tu devrais aussi lire le lien wp sur le TrueSkill jdeveil ^^

Zorg1: "battre le boss" c'est assez faux cette phrase

mrBen: non, je prend tous en compte (y compris les ombres), mais je joue que mes action

jdeveil: mouais pas bête

jdeveil: BlaiseEbuth je viens de le faire, c'est trop matheux pour moi :p

BlaiseEbuth: C'est une simu complète mais l'adversaire wait quoi.

jdeveil: Zorg1 dans ma tête, battre le boss ça veut dire accumuler plus de victoires que lui (pas forcement dans un match contre lui)

Vry: Y'a du monde devant le boss ... c'est un défilé de retardataires

mrBen: ouais, ça doit être équivalant à ça, sauf que je lui monte pas ses sun points et je laisse ses arbres dormant

Default avatar.png Skia: Merci Neumann. Ça m'aide pas trop du coup mais je vois mieux comment c'est calculé ^^

Zorg1: et s'ils ont cut dans une "plaine" c'est normal cette foule qui passe au dessus pas simple fait que des gens baisse le boss

jdeveil: ouaip ça parait logique

Zorg1: (plaine = pas mal de gens sur un intervalle d'ELO assez restreint)

Neumann: C'est comparable au ELO, ton bot voit son score augmenter ou descendre en fonction du score de ceux contre qui tu gagnes/perds

Vry: Ok mrBen, moi le seul truc que j'ai de l'adversaire c'est les cases qu'il occupe au début après je joue réellement tous seul. :p

jdeveil: moins de gros scores, du coup les gens arrivent à accumuler plus de victoires... Pourtant le boss aussi devrait en profiter...

Vry: En gros il fait WAIT tout le temps

jdeveil: ça reste quelque peu nébuleux, j'ai toujours eu du mal avec la mécanique des fluides...

Vry: Je ne vois même pas ses arbres pour les ombres ...

Zorg1: jdeveil en fait ceux qui ont le plus de match c'est ceux qui push

Zorg1: le boss doit avoir assez peu de match

Zorg1: surtout quand tu as 200 match dans une ligue de 2000

mrBen: en prenant tout en compte, j'espère que ça sera pas trop dur quand je voudrais ajouter les actions de l'adversaire pour un mc par exemple

Vry: Le plus "dur" c'est la gestion du SEED qui peut "collisionner" ... mais c'est pas la mort non plus

mrBen: ouais, j'y réfléchissait un peu, si je veux appliqué les actions les une après les autre, faut que je me souvienne de ma dernère action pour savoir si l'adversaire collisione avec un seed, ou si j'était déjà en wait

Vry: Je vais tester l'ajout des ombres de l'opposantpour voir i ça aide mon MC

mrBen: moi je vais tester le MC, pour voir si ma simu vaut le coup :wink:

Vry: Je suis 1310 avec le MC tel que décrit ci-dessus ... si ça peut te servir de "référence"

mrBen: mais du coup, un MC ça passe avec un seul joueur ? c'est quoi l'interet par rapport à un bfs (ou un beam search),

mrBen: c'est quíl y a pas besoin d'eval ?

Arthurmtro: Y'a moyen de savoir dans le code si une cellule est deja utilisée ?

Arthurmtro: Je vois pas la proprietée

BlaiseEbuth: Bah t'as la liste des arbres

mrBen: faut lire les arbre, et voir si y en à un à cette place

Arthurmtro: Dac c'est donc dans ce sens

Arthurmtro: thanks

Zakaoai: Bon 23 victoire en silver d'affilé :D ça sent le gold

Zakaoai: Je ne serais pas 1er Silver ce challenge désolé ^^'

Mazelcop: gg

Zakaoai: C'est combien votre max chain ?

Mazelcop: c'est quoi max chain ?

Zakaoai: Chaine de victoire

Mazelcop: 50 sur mon dernier push

BlaiseEbuth: NaN

Zakaoai: ;) Bon bah c'est en cours pour le moment on va voir si ça dépasse déjà 30

Tiouz: Zakaoai je viens de push, je vais te casser ta chaine !

Zakaoai: Bah viens monte je t'attend 1er silver ;)

Ylec: oh je suis Gold j'y crois pas ! :)

Mazelcop: il y en a qui ont fait 100% de victoires sur un submit par le passé ?

BlaiseEbuth: Sha au non-croyant ! Shaaaaa !

Zakaoai: Non bon 34 victoire

Zakaoai: :'( on a break ma chaine

Tiouz: Bon, t'es à 6 points au dessus du boss ça devrait aller^^

Zakaoai: C'est que le début :p

Tiouz: Le boss complete des arbres super tôt ! Tour 9 il fait un complete

BlaiseEbuth: Perhaps the end of the begining...

BlaiseEbuth: #BlaiseChurchill

Magus: vas y Automaton2000 je vais prendre des CPU pour brutaltester

Automaton2000: je crois que quelqu'un a pas mis la valeur correcte ;)

Vry: Le MC avec un seul joueur c'est super simple à coder, c'est le seul intérêt que j'y vois ...

Vry: C'est ma première itération en somme

Default avatar.png Emperatrice: comment on voit le nombre de victoire?

Vry: Last Battle je suppose

Vry: Et décompte "à la main"

R4N4R4M4: Qui a fait une bonne évaluation ?

R4N4R4M4: Je me pose plein de questions

Tiouz: Le top gold

Zakaoai: Je sais pas si mon évaluation est bonne mais elle passera gold au moins :D

Mazelcop: faut pas s'arrêter là, objectif legend !

Zakaoai: :D Ah ah oui Mazelcop on va voir pour ça. Mais du coup legend sans simu ça sera chaud

VilBoub: pour l'instant le top50 sans simu, ça passe...

BlaiseEbuth: Tutafé

Ylec: c moi où ils ont fait passé bcp de monde en gold cette fois ?

BlaiseEbuth: Tutafé

Zakaoai: Oaip d'ailleur le cut s'est fait à combien ?

fenrir: ~650

Zakaoai: On a jamais vu d'aussi gros cut pour Gold

pardouin: cut legend à 200 ?

pardouin: on peut rêver :)

Zakaoai: il brade de plus en plus :/

TidyMaze: youpi, le petit mail de gold

BlaiseEbuth: TidyMail

TidyMaze: 😂

Zakaoai: déjà 800 en or le 1er jour

dwarfie: si ca continue , je vais passer gold avant d'avoir recoder un truc .... :)

Zakaoai: Moi justement j'ai coder un truc a moitier qui battait le boss du coup j'ai submit. après est-ce que quand j'aurais tout coder ça sera mieux ça je sais pas mais je le ferais une fois en gold

Zakaoai: Allez Tiouz ;)

Tiouz: Ça devrait passer, mais pas de beaucoup !

Zakaoai: Bah t'es a 45 déjà et tu progresse :p

Zakaoai: Je t'attend en haut moi

Tiouz: Ouais tu m'as battu de 30 points sur une partie

Zakaoai: On devrait bientot s'affronter dans l'arene

Zakaoai: Ah oui ^^'

Zakaoai: Je comprend mieux pour elo

Vry: Ouf ... j'ai failli collé mon code dans le chat ... :p

KASDmusic: les gars à partir de quelle ligue les regles n'évoluent plus ?

Vry: Bronze

Default avatar.png TyraEl: bronze

KASDmusic: ça marche merci !

Tiouz: Encore un edéfaite contre Zakaoai. Ton code est violent, tu sera bien classé en gold

Zakaoai: J'espère bien. on verra après manger

Default avatar.png Eagleast: hello, je suis en C++ et je ne trouve pas la console pour debugger. Vous savez ou elle se trouve ?

b0n5a1: cerr

b0n5a1: o/

Tiouz: \o

Bon[]Crayon: Automaton2000 Quoi de 9?

Automaton2000: et pour info, c'est le niveau de la mémoire

Bon[]Crayon: o/

Default avatar.png Eagleast: oula, je suis censé comprendre ?

ggjulio: cerr << "Debug" << endl;

ggjulio: std::cerr << "Debug" << endl;

Default avatar.png Eagleast: ok merci, je débute ^^

Default avatar.png Eagleast: mais j'ai entendu parlé de cerr

ggjulio: ;)

Magus: cerr c'est la sortie standard d'erreur

Magus: cout la sortie standard tout court

Bon[]Crayon: Il débute donc il débug.

Magus: Sur codingame on utilise la sortie d'erreur pour debugguer

Tiouz: adieu Zakaoai

Magus: les submits sont lents c'est ça ?

BlaiseEbuth: Mais non...

BlaiseEbuth: Le temps c'est relatif.

boumagik: 1h pour 60%

Kafeine: Apperemment mon submit buggé fait mieux que le non buggé

Kafeine: C'est magique

mrBen: classic

b0n5a1: plus tu regardes plus c'est long

Vry: Ah Ok c'est pour ça ...

Vry: Bon je mets à jour makeMove(node, move1) en makeMove(node, move1, move2) et j'ai un MC complet

Bob: Kafeine voilà tu es un(e ?) vrai CG maintenant

Kafeine: Pas mal pour un chauffeur de poids lourd ^^

Bob: un code qui n'a jamais eu de bug qui devient une feature parce que ça score mieux que la version sans bug, c'est pas un vrai code de contest

Vry: C'est clair !

WhatTrickeryIsThis: <3


Bob: c'est encore plus rigolo quand tu fais ça dans du code pro et que tu dois le commenter

Kafeine: Eh

D0ug: Bonsoir!

D0ug: +1 Bob

Bob: // yes it works

// yes it should not work
// no we don't know why either

Bob: // yes if you try to fix it it will break and you will have to undo it

Magus: Ouai, les super commentaire sur le gitlab/github du boulot

Kafeine: https://www.youtube.com/watch?v=k238XpMMn38

Magus: // Is this code still used ?

// If I remove it, it crashes. So I guess it's a yes.

Bob: // magic number - !!! DO NOT CHANGE !!!

polpoul: // we do this to deduplicate entities having the same primary key

Bob: dans mon ancienne boîte il y avait un coin de code avec des prédicats géométriques optimisés*

Oioi: Pouah, faut que je revoie mon code de fond en comble...

Bob: c'était littéralement un petit pack de magic numbers à compiler avec des options d'optim bien précises

Oioi: Moi aussi j'avais des magic numbers, mais à force de les empiler, ils ne sont plus magiques du tout

Bob: // workaround for irix stdlib crashing when this runs on a time where the number of seconds is odd

Bob: celui-là on en avait chié pour le débugger...

Kafeine: lol

pardouin: dans le genre comment rigolo: https://www.youtube.com/watch?v=p8u_k2LIZyo

VirtualAtom: wait, c'est une histoire vraie ça Bob o_O

pardouin: 1:02

VirtualAtom: ?

pardouin: (le fameux inverse square root de quake III)

b0n5a1: ça avait coupé à combien pour gold (j'étais pas là) ?

pardouin: 650

b0n5a1: ok

Kafeine: Bon après le vaillant effort de mon algo et mon cerveau à rester au fond de l'argent je vous souhaite bonne nuit

Vry: Du coup tu as changé de boîte Bob ... j'ai raté quelques épisodes ... ;)

pardouin: il est dans un truc hippie maintenant

Bob: VirtualAtom true story oui

Bob: je ne sais plus exactement mais on sérialisait un timestamp dans un ostream et quand le nombre de secondes était impair, avec une version bien précise d'irix ça crashait

Oioi: :-)

VirtualAtom: merle alors, si tu peux même pas faire confiance à la stdlib... ça doit être chaud ces plateformes :-}

Bob: bon c'était il y a 20 ans hein

Bob: on avait remonté le bug et il avait été corrigé

Bob: mais sur le coup quand tu as le client qui dit "parfois quand je sauve ça crashe", ça pique un peu

Bob: Vry et donc oui j'ai changé de boîte il y a un mois et demi

Bob: www.gamestream.biz

Vry: Un tout autre domaine !

Zakaoai: Ah oui en effet Tiouz la violence

Bob: ah ça me change du pétrole oui

Bob: les emmerdes sont d'une autre nature

Bob: mais comme je disais à un ex-collègue, les emmerdes d'avant j'avais plus envie de m'y attaquer

Bob: là j'en ai toujours mais ce sont de *nouvelles* emmerdes et c'est plus motivant

Vry: lol ... sans avoir besoin de démanger du coup.

Bob: c'est ça

Bob: en voiture j'y suis plus vite qu'à l'autre (voie rapide, pas de feux rouges)

Vry: C'est ce que je me dis moi aussi ... le job parfait n'existe pas mais le changement ça fait du bien.

Bob: bon par contre c'est trop loin pour le vélo

Zakaoai: Mon dernier submit qui me fait passer de 200 silver a 200 gold :D

Vry: GG

Zakaoai: ça mérite bien une pause pour ce soir la légende ouvre dans 2 jours :)

Zorg1: gg

Zorg1: bon quand sera-t-on à mille en gold ?

b0n5a1: je suis passé d'un poil avant juste en resubmit mon vieux code

Vry: J'arrive ... (ou pas) !

Zorg1: ah ok ça fait depuis 20:00 que mon code est en submit

Zorg1: ouaip Vry, vient en gold on est une bande de jeunes, on rigole

Zorg1: classé 666, je fait un screen

VilBoub: Bonsoir les gens...

Zorg1: o/ VilBoub

VilBoub: Vous savez s'il y a une map où on ne commence pas au bord ?

Zorg1: c'est pas dans l'énoncé ça ?

Zorg1: "Les joueurs commencent la partie avec deux arbres de taille 1 placés aléatoirement sur le bord de la grille."

Zorg1: si

VilBoub: ok, thx !

-Cile-: ça simplifie les 2 premiers jours ;)

VilBoub: pourquoi ils on écrit le début de partie à la fin des règles ? ^^

Zorg1: c'est dans les "détails techniques"

VilBoub: j'ai vu, oui !

Default avatar.png Skia: VilBoub, c'est pour récompenser les gens qui tiennent jusqu'au bout ;)

Default avatar.png Skia: C'est possible de désactiver le zoom dans l'IDE ou pas du tout ?? ^^'

mrBen: le zoom ?

Default avatar.png Skia: Bah tu peux grossir/rétrécir la taille de la police d'écriture

Default avatar.png Skia: J'arrête pas de (dé)zoomer sans le faire exprès depuis tte à l'heure et c'est chiant... x)

mrBen: ah, ouais, heu je rcois pas qu'on peut le désactiver

Default avatar.png Skia: Ok tant pis, merci quand même

mrBen: cela dit ça à l'air d'être du Monaco, y na peut-être juste une commande à lancée dans la console pour le désactiver

Default avatar.png Skia: Ça coûtait rien de demander ^^'...

Default avatar.png Skia: J'imagine que je vais juste essayer de faire plus gaffe à ce que je fais

-TheWalder-: Enfin !! Je viens de faire mon premier MCTS pour un tic tac toe !

-TheWalder-: En vrai je galère mdr

Vry: La première c'est toujours le cas ...

pardouin: il donne exactement les mêmes coups qu'une minimax ?

-TheWalder-: Bah je pense que j'ai encore 2-3 problèmes à réglé mais ça fonctionne

-TheWalder-: *régler

pardouin: (enfin remarque même pas besoin de comparer au minimax, tu peux voir de tête si les coups proposés sont bons)

BigUP: Vry, ca fait plaisir de voir que t'es largement autant à la ramasse que moi sur ce contest ! :)

-TheWalder-: Bah pour le moment j'utilise des if pour essayer de monter mais je pense que c'est impossible de passer légende sans utiliser un algo plus avancé

BigUP: -TheWalder-, tu peux aller loin avec des if, il faut juste avoir les bonnes idées

BuluBulu27: Bah il est déjà #506, c'est respectable

-TheWalder-: Bah autant commencer a utiliser de nouveaux outils que d'utiliser ce que l'on connaît

-TheWalder-: *à

VilBoub: avec un gros if, ça passe... https://fr.wikipedia.org/wiki/If_commun

mrBen: je vois pas comment vous faites Gold avec des if...

-TheWalder-: xD

-TheWalder-: "Du fait de son pouvoir narcotique, l'If est considéré comme étant nocif"

VilBoub: =)

mrBen: :smile:

Vry: BigUP ... j'ai plus l'temps pour ces conneries ... :p

BigUP: Vry, j'ai eu un peu plus de temps que toi, mais pas tant que ca

Default avatar.png Emperatrice: mrBen , je suis gold avec des if mais j'utilise beaucoup les stream de java 8

mrBen: j'avoue que je vois pas le raport...

Default avatar.png Skia: Moi je suis pas Gold mais j'éternue souvent vers la droite :rolling_eyes:

Default avatar.png Emperatrice: sa ressemble à ça : Optional<SeedCast> previsionSeed = Game.getTrees().stream().filter(t -> t.isMine && !t.isDormant).flatMap(t -> t.getSeedableCellsPrevisionnel().stream()).sorted(plantComparator()).findFirst();

BuluBulu27: Skia c'est ça ton problème

BuluBulu27: C'est à cause de gens comme toi qu'il y a des guerres dans le monde

dwarfie: et vlan ... ce moment ou j'avais raté un truc a propos des ombres ... pfff

mrBen: ah ouais, y a pas beaucoup d'ifs effectivement

BuluBulu27: Eternuer vers la droite...

mrBen: bah bravo dwarfie

Default avatar.png Skia: C'est ce que je me disais BuluBulu27 , je commençais justement à culpabiliser un peu :confused:

dwarfie: oui .. javais pas vu la notion de menacante ...

mrBen: wait, on peut mettre des messages que lors d'un WAIT

dwarfie: non ... pour toutes les actions ...

polpoul: faut juste pas oublier l'espace ?

mrBen: ah non, c'est mon bot actuel qui fait que des WAIT, doncdu coup il passe sont temps à pas faire d'actions

mrBen: et dponc pas de message

polpoul: on va dire que c'est une v1

Vlavv: dire que tout ça aurait pu être écrit avec 4 signes de ponctuation en Perl ^_^

mrBen: c'est une version en cours de dev

mrBen: une V1 d'algo avancé

mrBen: (enfin non, c'est juste un BFS)

mrBen: bon le BFS me saoul, j'arrive plus à en coder un, je vais faire du MC ça sera plus simple

Rajh: Bon, comment on fait pour gagner ?

mrBen: pas comme moi, c'est déjà un bon début

Rajh: Je fais dla simu en java, je suis fou ou pas ?

mrBen: non

mrBen: d'ailleur le referee est comme ça

Rajh: Non mais le referee a pas besoin de perf ^^

mrBen: certe

mrBen: java c'est pas pire niveau perf

polpoul: normalement on choisit le langage en fonction des besoins...

Rajh: 350 games de MCTS par tour xD Je viens de passer mon aprem a optimiser la simu et j'ai deja fait x2 mais je sais plus quoi faire xD

mrBen: dans la vraie vie on choisi le langage en fonction de l'existant...

mrBen: pas vraiement des besoins

polpoul: ouais enfin en l'occurrence y en a pas d'existant ^^

Rajh: Ouai mais ici c'est pour le fun, donc on choisi le langage avec lequel on a du fun :)

mrBen: +1

Vry: J'ai pas l'impression que le MC multi joueurs soit plus fort que le mono-joueur bizarrement ... :upside_down:

mrBen: ah

Rajh: Ya quoi pour remplacer une list en java pour avoir + de perf ? (je parle de taille modulable avec add()/remove()) ?

mrBen: bon ça vas, j'ai pas encore coder le multi ^^

Vry: Ou alors j'ai un ou plusieurs bugs !

VirtualAtom: mon MC simultané se fait poutrer par mon MC où les joueurs jouent tour par tour ^^

Default avatar.png Emperatrice: rajh utilise les stream pour manipuler tes lists

mrBen: ça dépend pour quoi faire Rajh

mrBen: +1 pour les stream

Tiouz: Rajh Le fait d'avoir une taille modulable va forcément avoir un coût par rapport à des tableaux

Vry: Mon MC ou je fais comme si j'étais tout seul dans la foret à l'air plus fort ...

Rajh: Emperatrice c'est ultra lent les streams donc non merci

mrBen: heu, t'es sûr de ça ?

Rajh: Tiouz bah j'ai fait un "ArrayList<>(tailleFix)" mais bon c'est tjs plus lent qu'un Object[]

mrBen: (les streams lent)

Rajh: Sauf que bon Tree[37] ca fait beaucoup de parcours pour rien

Default avatar.png Emperatrice: ah bon, c'est vraiment lent?

Tiouz: Pk ça fait du parcours pour rien ? Tu aura le même parcours avec des ArrayList

Beretta_Vexee: Vry je suis entrain de tester un MC ou l'autre joueur arrêt de jouer et coup ses arbres au dernier tour.

Rajh: Bah faites le test, avec et sans

Rajh: Tiouz un ArrayList<> avec 5 elements ca sera pas plus rapide qu'un for de 37 sur tout le tableau ?

Tiouz: les stream c'est bien car ça permet de paralléliser assez facilement, mais sur CG il y a un seul coeur pour calculer

Default avatar.png Emperatrice: ah ok

Tiouz: Rajh, ça dépend. Si dans ton ArrayList tu veux supprimer l'arbre 0, alors il va faire 5 opérations alors que ce sera 0 sur un tableau. Ça dépend de l'utilisation

Baboom_59: Hello ! J'essaye de comprendre le fonctionnement des actions dans le kit de démarrage Python. Est-ce que quelqu'un pourrait m'éclairer ? J'ai du mal à comprendre comment tout ça fonctionne

Rajh: 5 opérations ? Jme souviens plus mais le ArrayList est backé par un Object[] Non ? et si j'ai fixé la capacité il va pas faire de resize si ? c'est quoi les 5 ops ?

Vry: Il n'y avait pas de limite sur le nombre de sun points gagnés par tour ?

Tiouz: Si tu veux pop un élément, il risque de déplacer tous les autres pour combler le trou

Rajh: Tiouz ah il a pas une table de référence ? Ouai ta sans doute raison ya pas de magie ,je vais test

mrBen: Baboom_59 soit plus précis, donne une point particulier que tu comprend pas, et on pourra peut-être t'aider

Baboom_59: mrBen, je ne comprend pas la logique en place au niveau des possible_actions c'est une liste à vider en début de tour et à remplir progressivement de nos différentes actions ?

mrBen: possible_action c'est la liste des action qui sont faisable à ce tour, elle est donnée pour que t'ai pas besoin de la calculer quand tu debute

mrBen: pour commencer, tu peut choisir une action parmi celle proposé

nepage-l: Le tabeau possible_actions te donne .. les possible_actions que tu peux faire chaque tour

mrBen: dans l'IA du kit de départ, les action sont traitée pour être des objet, c'est plus facil à manipuler

Baboom_59: Okay, donc c'est pas forcément pertinent par la suite, vu qu'on va venir définir nos propres actions en fonction de notre stratégie

mrBen: comme ça tu peux apeler mon_action.target_cell_id au lieu de mon_action.split()[1]

mrBen: si, ça reste perinent, les possibilité cahnge pas avec ton niveau

mrBen: mais par contre, selon l'algo que t'utilise, du devrai être capable de générer cette liste, car elle est donnée que pour le tour courant

mrBen: si tu fait une simulation, tu voudra connaitre la liste d'action possible pour un tour potentiel plus loin dans la partie

Baboom_59: Okay, je vois donc le principe (Au moins au début, je ne suis pas encore au stade de faire des prédiction) c'est de récupérer la bonne action dans cette liste.

mrBen: celle qui te semble la meilleur oui

Baboom_59: Je te remercie ! Je comprend le principe en terme de simplification, même si j'ai l'impression qu'il est quand même plus simple de ne pas l'utiliser pour mieux gérer sa stratégie

Baboom_59: Je pense qu'une partie de la logique m'échappe, je vais continuer à jouer avec, afin de mieux comprendre la chose :)

mrBen: :thumbsup: bonne chance, et hésite pas si tás d'autres question

Baboom_59: Merci ! :muscle:

Rajh: mrBen bon remplacer la List<Tree> par un Tree[37] c'est révélé être plus lent :D

polpoul: fais un bitset ca va foncer

Rajh: hmm ? connais pas

mrBen: lol ok

mrBen: je m'y attendais pas

polpoul: c'est un int, tes opérations sur tableaux ça devient des opérations sur int

Rajh: Trop d'accès en for avec 37 itérations dont 90% inutiles

Rajh: polpoul enfaite je veux stoquer une liste de tree par joueur, mais je sais pas comment m'y prendre autrement qu'un ArrayList en java

YannT: j'ai submit le bot qui fait 2k rollouts par tour en début de game ahah

Rajh: 2K :o

YannT: jsuis limite étonné que ce soit même pas entièrement pourri

Rajh: Pk en début de game ?

polpoul: YannT t'as bitboardé ce contest ?

Tiouz: Rajh, avec un seul Tree[37] qui contient tous les arbres, c'est bizarre

Rajh: Tiouz j'ai fait un Tree[2][37] en vérité

mrBen: 2k, c'est bien ça me donne un point de comparaison pour quand j'aurai fini mon MC

YannT: je fais 2k rollouts je viens de dire la question elle est vite répondue polpoul

Tiouz: Yann j'ai 1200 tour 1 et je suis gold

Tiouz: Rajh donc tu fais 2*37 à chaque fois, c'est normal que tu fasse 90% de trucs inutiles

polpoul: haha en effet ^^

Rajh: Tiouz non je parcours que pour un joueur

Vry: En MCTS Tiouz ?

Tiouz: yes Vry

mrBen: tiens Vry, tu fait combien de rollout toi ?

YannT: Tiouz: ben fait 800 de plus apparement c'est 300 places de différence là :p

Vry: Ok, je comprends ... demain je passe en MCTS ...

Vry: 72k sur la première secondes

Vry: 7k ensuite

Tiouz: t'es un alien...

YannT: c'est de calculer une array de tour possibles pour en choisir un random qui me démoli mes perfs

YannT: faudrait que jle fasse différent ça

Tiouz: Je passe 70% de mon temps à calculer les coups, je ne vois pas comment l'optimiser

VirtualAtom: j'ai 220k simulations complètes en MC la première seconde, mais je me fait poutrer ^^. Il me manque un truc depuis le début

Vry: Pareil ... en plus en MC il faut refaire la liste des coups à chaque move ...

YannT: en MCTS aussi

YannT: de plus

Tiouz: MC + UCB ?

Tiouz: Parce que MC tout seul c'est un peu pourri honnêtement

YannT: retrouver le node après le move adversaire est super compliqué par le fait qu'il peut jouer plusieurs coups

Vry: Mon MC mono joueur et meilleur que mon MC multi avec UCB :upside_down:

mrBen: MCTS = MC + UCB grosso merdo

YannT: donc je l'ai pas fait ça hein, je reconstruit l'arbre from scratch a chaque tour ahah

Tiouz: Sur UTTT MC tout seul pouvait donner un coup perdant mais avec une confiance à 80%

Vry: Quand je dis UCB c'est juste pour le choix final attention pas l'exploration !!!

Tiouz: Pas vraiment mrBen, tu peux faire UCB seulement sur ta liste de coups, sans avoir d'arbre

Vry: Sur mon MC j'ai un seul node que j'update

Tiouz: Et t'es toujours bronze ?

Vry: Non Silver avec MC :

Vry: Bronze c'était le code initial

YannT: en MCTS normalement tu veux pas refaire tes expands à chaque tour, idéalement tu rechope le noeud dans l'arbre du tour précédent

VirtualAtom: hum, faut que je regarde ce dont tu parles Tiouz... je vois certes mon MC partir dans un mur avec le sourire ^^

YannT: mais là c'est compliqué

YannT: l'adversaire peu avoir joué N tours après ton wait

Default avatar.png JBM: salaud d'adversaire

YannT: j'ai classé ça en "à voir plus tard"

Default avatar.png JBM: YannT: tu repasses sur le stream quand?

Vry: YannT : garde l'arbre d'un tour à l'autre, j'ai jamais réussi à le faire ... même sur UTTT

Rajh: YannT actuellement tu fais quoi ? MCTS Solo et recalcul a chque fois ?

YannT: non MCTS avec adversaire

YannT: en considérent probablement par erreur qu'on s'en fiche que ça soit du jeu simultané et que ça revient en gros au même que si c'était au tour par tour les interactions étant minimes (double seed, osef quoi)

Tiouz: Ici c'est pas possible de reprendre l'arbre pour le tour suivant car 1 - on n'a pas le coup joué par l'adversaire et 2- il peut en avoir joué beaucoup

VirtualAtom: si tu peux, ça demande un peu de logique mais c'est fait

dwarfie: 27W 6L ... et ca me met que 600eme de silver a 36% ... si c'est pas malheureux ...

YannT: ça se fait oui, faut rexplorer ton arbre

Tiouz: Sur UTTT c'était viable, et encore ça faisait gagner seulement 10% de calcul, au prix de la gestion mémoire pourrie

VirtualAtom: mon MCTS me sort la suite de commandes jouées par l'adversaire depuis que j'ai WAIT

Rajh: YannT du coup tu joues ta simu un node/2 ? fin t'attends d'avoir tout les inputs des joueurs actif avant de play ?

YannT: ouais, moi j'ai mis une TODO de le faire plus tour

YannT: non, j'ai vraiment codé ça en tour par tour

VirtualAtom: j'ai pas vu de gain, car dans les 10 premiers jours l'adversaire prends l'avantage

YannT: t'as besoin de coder le jeu simultané uniquement pour gérer les doubles seeds en gros

YannT: et bon, j'ai fait une approximation calculée: osef de ça

Mazelcop: les completes aussi

YannT: non pour les complete le coup du noeud parent suffit

Mazelcop: ah, malin

Rajh: J'ai du mal a suivre xD

YannT: c'est pour les calcul des nutrients

Rajh: Mais du coup tu fais 2K rollout avec un MCTS multi en plus ?

mrBen: nikel, je suis à 0 rollout

mrBen: je peut que m'amélioré

YannT: si t'approxime le jeu en tour par tour au lieu d'en simultané, t'as un bug en cas de double complete sur les nutrients

BlaiseEbuth: Reuh!

Rajh: Bah moi je suis parti du principe pour mon multi que le "makeMove" ne fais rien tant que tout les joueurs ont pas joué

Default avatar.png JBM: sha

VirtualAtom: t'as pas aussi le soucis que le MCTS ne converge pas, parce que ça suppose que l'adversaire connaisse ton move à l'avance ?

Rajh: du coup ma simu se lance un node sur 2 environ

YannT: le MCTS il choisi ses coups en fonction de simu random

YannT: connaitre le move adversaire influence rien

BlaiseEbuth: *conne la verge VirtualAtom, on accorde.

VirtualAtom: --amen

YannT: (en même temps je dis ça s'il faut j'ai tort hein)

VirtualAtom: (j'ai un peu l'impression après avoir parcouru en diagonal des papiers ^^, mais je suis une quiche)

Rajh: Mais pour les playout random, vous faites vraiment full random ou vous selectionner des moves genre "grow/complete" ?

YannT: mais je pense que vu que ton critere au bout du bout c'est win/lose, connaitre ou pas le coup adversaire change pas le resultat

mrBen: lol, mon timer demarrait au début de la lecture du plateau, pas du tour... tu m'étonne qu'il faisait pas de rollout

YannT: vous croyez que ça se ferait de precalculer tous les coups possibles en fonction de toutes les situations possibles?

Vry: Rajh pour l'instant full random mais sur UTTT j'avais fait en sorte de sélectionner les coups "gagnants" mais sur celui-là c'est moins évident

YannT: non parce que ça m'arrangerait là...

Rajh: xD

YannT: je me demande si le WAIT biaise pas les simus en fait

VirtualAtom: laisse tomber... j'ai commencé à énumérer ça pour faire une table, j'ai abandonné ^^

YannT: je me suis posé un TODO pour vérifier ça

mrBen: ça fait vachement beaucoup de possibilité ça

Default avatar.png JBM: tu poses bcp de TODO j'ai l'impression

VirtualAtom: j'ai choisi une représentation de l'état qui simplifie la production de la listes de coup, c'était plus viable ^^

Rajh: YannT en parlant de résultat win/lose, en MCTS c'est toujours 1/0 ou c'est cohérent de faire des nuances pour avoir le plus gros écart de score ?

BlaiseEbuth: https://imgur.com/t/autobots_roll_out/Gxz2Pbz

YannT: mais instinctivement, je me dis que si les simu tombent sur le wait trop souvent, ça peut "finir" la journée d'un des players prématurément et de façon pas très réaliste

mrBen: bon, 260 rollouts, j'ai du boulot côte opti...

YannT: en gros

YannT: est-ce que ton MCTS est biaisé par des simus qui font trop souvent WAIT WAIT WAIT

Default avatar.png caduk: 750 -> 190, J'ai fait une belle progression ce soir

VirtualAtom: c'est un problème chez moi le WAIT, quand je déroule le MC: l'IA a l'impression que ça passe crème

VirtualAtom: (j'ai rangé le MCTS dans un coin, ça faisait plus de rollout, mais se faisait poutrer par le MC)

YannT: en MC vous faites quoi, random coups possible tour par tour ou random journée complete?

Vry: Je submit avec un rollout sans WAIT (sauf si seul coup) ...

mrBen: tour par tour pour l'instant YannT

Vry: Moi random et si WAIT alors day++ jusqu'à day = 24

YannT: je me pose la question de faire ça pour les simus aussi Vry

YannT: ça fera des simus plus longue, mais p'tet plus réalistes

dbdr: YannT ya pas que les seeds qui sont biaisés si tu fais en séquentiel. tu supposes que l'adversaire connait ton coup, ce qui joue sur l'ombre future dans l'arbre...

Vry: Wow, mon MC part comme une balle c'est bizarre ...

YannT: dbdr: mais tu fais de la simu random et du win/lose, y a pas de prise de décision en fonction de l'ombre d'un tour donné

YannT: donc je pense pas que ça biaise

dbdr: si, dans l'arbre

YannT: le MCTS va tous explorer et scorer sur des simu random

YannT: je vois pas ce que ça biaise

dbdr: le random c'est pour la partie rollout uniquement

BlaiseEbuth: Ca biaise ebuth

YannT: et la partie select UCT est basée sur le resultat des rollouts non?

dbdr: oui, mais le résultat dépend de la branche

dbdr: l'action de l'adversaire est fixée dans la branche

dbdr: donc tu fais du paranoid

YannT: ah

YannT: oui je vois

VirtualAtom: et pour le MC, il y a une manière spéciale de faire pour des joueurs simultanés ? J'ai l'impression de mal m'y prendre depuis le jour 1 ^^

YannT: dbdr: compris, tu as raison

YannT: je rollout avecc le coup adversaire déjà fixé

BlaiseEbuth: dbdr a toujours raison

dbdr: :P

BlaiseEbuth: GROW 63 kildi mon bot... L'est con

YannT: (enfin, non, avec le mien, mais oui, ça pose soucis)

YannT: bon bah c'est pas grave

YannT: je vais play() un tour sur 2, problème résolu :p

YannT: dbdr: ça marche si je joue rien sur le board à mes tours et que je joue les 2 coups sur le coup adverse tu crois?

Rajh: YannT ton score de playout c'est 1/0 ou nuancé ?

YannT: win/lose là

YannT: (et draw, même si j'en ai jamais vu)

Rajh: Ok donc pas privilégié des routes qui écrasent l'adversaire

dwarfie: YannT ... les regles empechent le draw

YannT: ben non

VirtualAtom: tu peux avoir des draw

dbdr: il y a des nuls

BlaiseEbuth: :popcorn:

YannT: si ya le même score le même sun et le même nombre d'arbres

Rajh: J'ai beau testé plein de ptit tricks mais au final je vois que t'es en gold avec juste random playout en multi lol

dwarfie: VirtualAtom ... non

Rajh: ca doit être mon nobmre de rollout qui fait chié

VirtualAtom: sisi :-}

VirtualAtom: même nombre d'arbre + même score = draw

YannT: dwarfie: ça tiebreak sur le nombre d'arbres, tu peux avoir le même :)

dwarfie: ca arrivent jamais ... et un draw c'est un win ... pb resolu

dwarfie: :D

VirtualAtom: (enfin, j'ai pas vu ça compté comme un draw dans l'arène, c'était compté comme win pour l'un des deux joueurs au pif)

BlaiseEbuth: Paaaaaaaaaardon ?!

VirtualAtom: (mais bon, c'est tellement rare qu'on peut passer sous silence)

BlaiseEbuth: Cétonteu!

mrBen: c'est pas au pif, c'est au nombre d'arbres

VirtualAtom: vu le scoring système (et mon bot pourri), je vais pas râler ^^

dbdr: VirtualAtom, c'est pas compté au pif, c'est affiché au pif

AceTea: sinon juste une bonne evaluation de chaque action possible c pas mal

VirtualAtom: ah, la nuance :-}

dbdr: avec #1 #1

VirtualAtom: c'était en wood, où il n'y avait pas beaucoup de manière de jouer. Je ne suis pas retomber dessus depuis

YannT: dbdr: donc en MCTS, si je "joue" un tour sur 2 en gros (dans les select et dans les simu) pour émuler le simultané, ça marche ou ça marche pas?

-Cile-: c'est win-win, j'ai déjà eu le cas

BlaiseEbuth: unsigned char = -1; //Se demande pourquoi ça marche pas...

VirtualAtom: lel

dbdr: ben c'est pessimiste, ça va optimiser contre un adversaire qui triche

BlaiseEbuth: A ma décharge j'ai un #define INT8 uint8_t, on a vite fait d'oublier ce qu'il y'a derriere.

YannT: pourquoi?

YannT: je select mon tour (mais je le joue pas), l'adversaire select le sien, je joue les 2 en simult

YannT: ça marche pas?

dbdr: idealement faudrait faire les couples d'actions, c'est DUCT, mais ça explose le nombre d'actions

mrBen: je sais pas si c'est à ta décharge BlaiseEbuth

dbdr: ça veut dire quoi, ça marche?

Default avatar.png JBM: et on revient sur le débat "decoupled"

YannT: ben est-ce que c'est biaisé ou pas :)

YannT: si mon coup est selectionné mais pas sur le board

BlaiseEbuth: Pourquoi mrBen

dbdr: c'est biaisé

YannT: et que je joue en simult quand l'adversaire a selectionné le sien

YannT: ok ça règle pas le soucis :(

mrBen: ça t'apprendra à aliaser tes types

dbdr: mais c'est pas forcement déconnant pour autant

dbdr: étant donné les contraintes de temps

YannT: je vois oui, ça revient au même mon coup est toujours fixé dans l'arbre quoi

yassineben: hola como estas

BlaiseEbuth: C'est moins chaint à taper.

BlaiseEbuth: Et j'alias pas un type, j'alias un alias.

YannT: JBM: au fait c'est toi qui a demandé je crois, je restream vendredi vers 18h ou 19h

VirtualAtom: avec une macro déjà, tu mérites le bûcher

mrBen: ouais, et après tu sais plus ce qu'il y a derrière

YannT: je vaois p'tet afficher mon MCTS Kotlin tout pourri

BlaiseEbuth: Pourquoi VirtualAtom ? Kesta contre les macro ?

Vry: Il est pas trop mal quand même ...

VirtualAtom: pas pour les types, pour le reste ça te regardes :-}

BlaiseEbuth: Pourquoi ?

Vry: Mais où sont les serveurs ?

VirtualAtom: hum, j'allais te répondre une connerie. En fait non, j'ai rien dit

BlaiseEbuth: ...

VirtualAtom: je pensais qu'un typedef levait plus d'erreurs, mais c'est exactement pareil

Vry: La question "où" est dangereuse ...

YannT: codingame ça a tendance à ramer/crasher soirs et weekend

BlaiseEbuth: Ah ? C'est pas tout le temps ?

YannT: je pense que c'est parce qu'en semaine y'a des shadocks à montpellier qui pompent toute la journée les serveurs

BlaiseEbuth: Pomper les serveurs c'est une forme de pourboire.

YannT: allez on l'accepte elle est bien

YannT: gg

BlaiseEbuth: \o/

VirtualAtom: ton bot YannT affiche le win rate tu as calculé ?

YannT: yep

VirtualAtom: vu ton classement, je vais debugguer mon bot en comparant nos win rates affichés ^^

YannT: (perso je me servirais pas de ça pour vérifier mon propre bot dans l'IIDE hein, c'est très douteux : p )

VirtualAtom: (rah merle, tu casses ma barraque là ! ^^)

YannT: il est très bon sur les 2-3 derniers tours

YannT: au dela c'est pas une référence mon bot

VirtualAtom: je sens que je vais rager quand les PM sortiront, je dois passer à côté d'un truc ultra con

YannT: mais il essaye déjà, c'est bien

Default avatar.png JBM: ouais j'avais demandé

Default avatar.png JBM: je sais plus pourquoi

Default avatar.png JBM: ça va me revenir

YannT: viens voir le kotlin vendredi

YannT: ça te changera du haskell

YannT: y a pas de <$>

Default avatar.png JBM: mais y'a quoi du coup

mrBen: bon, moin heuritique à la con est à des année lumière devant mon MC, je crois qu'il est temps d'abandonné pour aujourd'hui

YannT: du code qui a pas baculé dans la folie

Default avatar.png JBM: ah moi c'est le contraire

YannT: j'ai jamais réussi à faire un MC qui marche perso

Default avatar.png JBM: mon heuristique a tellement pas envie de scorer que je suis en train de basculer en MCTS

YannT: il faut je pense

YannT: j'ai pas le niveau intellectuel pour une eval sur ce jeu

Default avatar.png JBM: dans mon cas oui

YannT: même avecc des log() c'est dur

Default avatar.png JBM: 1/2 contest j'ai ue la prétention de croire que si

Default avatar.png JBM: il faut apprendre de ses erreurs

YannT: je suis globalement pas bon en evals, j'ai pas le doigt mouillé pour trouver la bonne et j'ai pas la patience de faire du bench outre mesure

Vry: Mon MC égocentré est ~ #1035 Silver

YannT: pour les eval je met du decay et des facteurs, et si ça suffit pas en soit c'est mort pour moi

VincentBab: Marche pas mal le MC pour moi perso

Vry: Je vais lancer l'autre et voir demain ce que ça donne

Vry: Un MC "normal" ?

VincentBab: par contre j'arrive pas du tout a faire fonctionner un MCTS :(

VirtualAtom: chut VincentBab, tu me fais mal ^^

YannT: je pense jamais au "mais siii suffisait de calculer le log des seeds et badaboum"

VincentBab: Ya des gens dans le top qui font du MCTS ?

Vry: lol, les pondérations de psychopathes

YannT: VincentBab: ça marchouille pourtant le mien fini son run mid gold avec un 2k rollouts assez ridiccule... si je peux optimiser, ça doit donner en vrai

VincentBab: oué jdoit avoir des gros bug, j'ai 4k rollout et il fait WAIT 80% du temps :(

Vry: Supprime les WAIT ! :p

YannT: c'est le premier des noeuds dans ton expand le wait?

YannT: si oui, quand il considère 100% perdu ou gagné, ça sort wait effectivement

Beretta_Vexee: Classer les actions en fonction de leurs couts en sun ca marche pas mal

VincentBab: oui 1er node le wait

YannT: ouais donc s'il se croit tout perdu ou tout gagné, ça wait

YannT: ça peut indiquer un bug du genre du backprop pas bien les scores :p

VincentBab: oué c'est surement un truc du genre

VincentBab: car du peux avoir 2 node de suite avec le meme player

VincentBab: normalement je l'ai gérer mais bon..

YannT: ah j'ai pas fait comme ça

YannT: j'ai des WAIT entre

VincentBab: oué c'est vrai que ca doit être plus simple

YannT: pour bien avoir une alternance dans les noeuds

VincentBab: bon jvais tenter encore un peu, sinon je passerai en beam search xD

BlaiseEbuth: Beam! No more rollouts!

YannT: c'est nul ça fait une eval

YannT: je ne ferais pas de log() sur ce contest

VincentBab: :joy:

BlaiseEbuth: logn

YannT: j'irai jusqu'au bout sur le mcts

Vry: Flûte, je stocke le score sur un int8_t ... du coup quand l'adversaire est trop fort ça passe en négatif ... et je suppose que c'est pour cette raison que mon bot n'en glande pas une

BlaiseEbuth: Le score va si haut ?

Vry: Genre 14 point mais 52 sun et l'adversaire 173 points ...

YannT: Oo

Vry: Aka -83

BlaiseEbuth: Ah tu as un int8 pour les deux scores

Vry: Oui j'ai minimiser au max en prévision du MCTS :D

BlaiseEbuth: Oui fin, un peu trop ?

Vry: Un int8 par joueur

polpoul: tu peux garder seulement la diff des scores non ?

Vry: Bon avec un uint8 c'est encore pire il ne veut plus jouer !

Vry: 0 vs 179 mais par contre 115 sun !!

BlaiseEbuth: Woa la diff faut gérer du négatif...

YannT: bon voilà, le push fini 200, ce qui est bien mais pas top mais fait sens vu qu'à 2k rollouts, mon bot joue pratiquement random sur les 5 premiers jours

Vry: C'est encouragent pour les suivant YannT ...

Vry: +s

Vry: Enfin, ceux qui sont en silver

polpoul: 1 bit de signe ca va

Gr0mph: Bravo !

YannT: Vry: il se rattrape en étant bon sur la fin du game en fait

VirtualAtom: wut ? ^^ https://www.codingame.com/replay/553643043

YannT: jour 0-5: random, 5-16 semi random, 16-23: killer monster

polpoul: YannT tu l'as appelé commissaire bialaisse ton bot ?

YannT: VirtualAtom: ok, killer monster avec des bugs alors

VirtualAtom: il te manque les tiers des sun points en bonus je crois

YannT: non ça c'est bon

YannT: p'tet une histoire de nutrients

VirtualAtom: mais punaise, je veux débugguer MON bot, pas le tiens ^^

YannT: chelou il est certain d'avoir gagné là et en fait non

Vry: Oui c'est vrai que vers la fin de partie les MC(TS) bourrinent pas mal

jfaixo: le bot mauvais perdant, pas mal :D

VirtualAtom: je pense que c'est ça, il se dit que ça vaut pas la peine face à ce paysan qui va perdre

Gr0mph: Comment on fait pour configurer le timer pour éviter des timeouts ?

jfaixo: perso je choppe un Instant::now() après mon ier read sur l'input, après quoi je vérifié régulièrement si je m'approche des 100ms. a 95ms je plie boutique et je retourne le mieux (enfin moins mauvais) que j'ai trouvé ;)

jfaixo: 1er*

YannT: VirtualAtom: marrant, je sais pas d'ou viens l'erreur de calcul là

VirtualAtom: ça n'arrête pas d'arriver dans l'IDE ^^

YannT: tu m'as dans l'IDE depuis longtemps?

YannT: j'ai corrigé depuis un bug

Gr0mph: Super merci et tu restart juste après ton print ?

VirtualAtom: mon bot me dit : ce move, il a 2% de gagner, ton bot dit j'ai 100% de win rate

YannT: je faisais les gains de sun pour le tour 24 (alors que le jeu fini sans au dernier tour)

VincentBab: Il place bien les arbres en debut de partie ton bot YannT je trouve

VirtualAtom: on a tous les deux tord ^^

YannT: tu m'as pas en obsolete dans l'IDE hein?

YannT: j'ai corrigé un bug qui faisait ça depuis

VirtualAtom: je refais F5 et je tente

VincentBab: jpense pas je viens de le mettre

YannT: je faisais le gain fin de journée avant de regarder qui a gagné/perdu

YannT: (je parlais à VirtualAtom :D )

VincentBab: xD

BlaiseEbuth: Ouai prout VincentBab

VirtualAtom: https://www.codingame.com/replay/553650551 du mieux pour le moment

YannT: possible que j'ai un bug dans la simu

YannT: mais je croyais l'avoir corrigé

BlaiseEbuth: Reachable richness c'est un bon exercice d'orthophonie... :thinking:

VincentBab: Ton bot place beaucoup mieux les arbres que moi, mais je gagne a la fin lol https://www.codingame.com/replay/553648456

VirtualAtom: 2 victoires partout, mon bot semble bien aimer la chaine de COMPLETE à la fin

YannT: mon bot a si peu de rollouts il joue random au début

YannT: tu fais "replay in same conditions" t'as des games complétement différentes à chaque fois :D

VirtualAtom: 150k iterations premier tour, 19k iterations second tour, et ~650ème gold. je vais arrêter là et aller pleurer ^^

BlaiseEbuth: Mets tes larmes dans un flacon, je te les achète.

VirtualAtom: t'en verseras dans le chat, pour le rendre un peu plus salty ? ^^

BlaiseEbuth: C'est pour mon martini... J'vais pas payer pour le chat.

Trisard: j'arrive pas a seed correctement ...

Default avatar.png Vinyard: Qui utilise du deep Q ou un truc du genre ?

Vlavv: Je viens d'ajouter un compteur de points de soleil gagnés au cours de la partie

Vlavv: Eh bien lors d'une bonne partie, ce petit filou de Skril (#1) en récolte pas loin de 250

Vlavv: je suis loin derrière D:

Trisard: J'ai fais la même tout a l'heure et tu me met 70 points a chaque game

BlaiseEbuth: Le soleil c'est le mal !

YannT: ma premièère tentative d'algo c'était: optimise le gain de sun au début de la partie, puis optimise le score en fin de partie

YannT: mais c'était une eval

YannT: c'est nul, les evals

Vlavv: Oui, ses arbres ont intérêt à avoir une crème solaire d'enfer

**BlaiseEbuth jette des log() sur YannT.

Trisard: @Vlavv si je peu me permettre de te poser un petite question : Tu favorise le seed en fonction de la direction opposé du soleil non ?

Vlavv: Trisard : parmi mes critères de seed, il y a l'ensoleillement prévu sur les prochains tours, donc ça favorise probablement la direction opposée du soleil oui :)

Trisard: ah ok ba c'est ça qu'il me manque

Trisard: mais ça me parrait très compliqué :'D

Vlavv: honnêtement, je ne suis pas sûr que ça fasse une immense différence en soi (mais le calcul d'ombres de manière général est très utile en revanche !)

Vlavv: vu la durée de vie d'un arbre, le soleil a souvent le temps de faire le tour de toute façon

Trisard: j'utilise beaucoup le calcul d'ombre mais je remarque que souvent du seed a coter d'un de tes propre arbres parce que je suppose que tu sais que t'a le temps d'en complete un le temps de grow l'autre

Vlavv: oui mais je pense qu'il y avait quand même des choses à améliorer à ce niveau

Trisard: et moi j'ai pas ça mes arbres passe leur temps a se tirer dans les racines

Vlavv: je fais en sorte de l'éviter davantage dans mon nouveau code (mais ça fait longtemps que j'ai pas commit, j'arrive pas à rattraper le retard apporté par mes "améliorations" ^^")

Vlavv: oui ça c'est embêtant

Vlavv: quand tu regardes des parties du top5, ils font quasiment les mêmes coups sur tous les premiers jours, et globalement ce sont les coups qui permettent d'éviter de subir sa propre ombre ^^

Trisard: mon début de partie est honnetement correct c'est plus a partir du moment ou ça commence a complete (vers le milieu de la partie) que ça deviens nimporte quoi de mon coter

Vlavv: oui pareil... 😬

Vry: Dans certaines situation mon MC ne voit pas qu'il pourrait dépenser les sun pour gagner en score et du coup il WAIT ...

Trisard: https://www.codingame.com/replay/553658855 genre la ton seeding frame 52/53 je le trouve trop intelligent

Vlavv: ah oui, le fait d'essayer d'éviter les alignements

Vlavv: je ne sais jamais trop quel poids donner à ce critère, j'arrête pas de varier là-dessus ^^

Vlavv: euh non pardon j'avais mal compris

Vlavv: sur la frame 52-53 j'ai dû jouer sur le fait que ce n'était pas important de subir sa propre ombre un tour après avoir semé (vu qu'un gland rapporte 0 de toute façon) mais qu'il fallait essayer d'avoir le champ libre après ^^

Trisard: ouep ba je trouve ça super malin en vrai ^^ après peut être que je me trompe et que c'est pas si opti que ça ^^

**Beretta_Vexee dodo

toma69: mon parsing est hyper lent je peux faire quoi ?

toma69: je suis sur python

Tiouz: toma69 c'est pas le parsing. Il faut lancer le chrono apres le premier input

KASDmusic: hey les gars, on peut faire plusieurs ou qu'une seul action par tour ??

VincentBab: 1 seul action par tour, mais un jour est composé de plusieur tours

KASDmusic: et le wait on doit le mettre juste pour dire q'on termine le jour c'est ça

KASDmusic: *?

VincentBab: oui, mais le jour se termine quand les 2 joueurs wait

KASDmusic: okk, je comprends mieux mon bug du coup cimer ;)

toma69: Tiouz je lance un chrono au premier input, je l'arrete au dernier et je print "WAIT", j'ai pas le temps de jouer

Tiouz: Il faut lancer le chrono *après* le premier input

toma69: je fais juste quaelques affectiations avec les input

Tiouz: Comment ça tu n'as pas le temps de jouer ? Ça te dit que tu n'as pas renvoyé d'actions dans les temps ?

toma69: toma69 has not provided an action in time.

Tiouz: Tu es sûr que tu n'essaie pas de lire trop d'inputs (il attends une input qui ne viendra jamais)

SoleilTaciturne: J'ai la même erreur perso, sur Python également. Le parsing me prend tout mon temps passé un certain nombre de tours..

Tiouz: C'est pas un problème de python

toma69: ah possible

toma69: je vérifie

Tiouz: Le parsing prend max 0.5ms

SoleilTaciturne: Possible. Perso je lance le teimer après le premier input, j'arrête l'algo à 0.8 histoire d'avoir un peu de marge, et je timeout.

SoleilTaciturne: 0.08*

Tiouz: Est-ce que tu timeout toujours si tu mets 10ms pour t'arrêter ?

b0n5a1: 0.5 ms pour parser c'est long !

Tiouz: Je disais ça pour donner une borne sup, en python, et codé avec les pieds en faisant tout pour ralentir

b0n5a1: j'ai 35 microsecondes par tour ^^

toma69: Tiouz je crois que c'est bien le parsing, si dans mon while True je mets juste print("WAIT") sans aucun input il me timeout quand même...

b0n5a1: (parsing + juste quelques ifs)

toma69: je fais aucun calcul avant le while, juste des defs

Tiouz: Avant le while il faut parser les inputs de début de jeu

Tiouz: Pars du code de base, tu n'aura pas de problème

toma69: si dans le code de base je rajoute trop de fonctions avant le while, il me timeout :/

toma69: je sais pas si ça peut venir de moi

Tiouz: Je veux dire pour les inputs.

Tiouz: Pour le reste tu fais comme tu veux, mais tu ne touches pas aux inputs

Glucozen: petite question, le timer pour les 100ms du spring challenge commence quand ? je me pose la question en cas de plusieurs action lors du même round

Tiouz: Il commence juste après la première input

Glucozen: donc que je fais 1 ou X action durant le tour, j'ai que 100ms pour tout faire ?

Tiouz: Tu ne peux pas faire X actions pendant un tour, c'est 1 action par tour. Tu confonds avec JOUR

Glucozen: je parles des 24 round

Glucozen: mais je pense avoir compris merci ^^

Vlavv: c'est 100 ms par tour, et autant de tour que tu veux par jour (ou round)

Vlavv: de tours :)

Glucozen: d'acc, c'est ce que je voulais savoir merci ^^

Vry: Au final le MC est limité car il n'a pas la capacité de jouer les coups dans le bon ordre ... vu qu'il ne fait que des tirage aléatoire l a du mal à voir qu'il faut COMPLETE vers la fin de la partie

BigUP: Vry, tu peux peut-etre mettre une heuristic vers la fin de partie ?

Vry: Oui, je vais faire un petit truc pour le forcer à prendre la branche qui donne le max de point (et non qui a le cumul max de points) mais avec le MCTS ça se fera tout seul !

BigUP: Vry, tu peux aussi peut-etre mettre des points négatifs ou minimiser les points lorsque les coups dépassent 23 days

BigUP: enfin bon il faut favoriser les Cut vers 23 jours -nb trees

Vry: Ouais ! Mais dernier submit pour le MC, demain le MCTS arrive !

BigUP: j'ai pas le calcul exacte

Glucozen: c'est quoi la diférence entre MC et MCTS ?

Vry: Là en l'ocurrence il pouvait tout couper à la fin, il avait 127 point de sun

Tiouz: Dans MCTS tu te souviens des coups joués, et tu vas essayer de faire les coups qui t'ont fait le plus gagner pour voir si effectivement ils sont bons

Vry: Glucozen : MC liste les mouvements tour zéro et se contente de simuler des parties sans exploration

Glucozen: vry pas compris ...

Tiouz: J'ai corrigé un bug de mon MCTS, en fait je supposais que l'adversaire allait jouer le meilleur coups pour moi, denc c'était pas du tout réaliste

Tiouz: Et là je suis en train de me battre de 40 points à chaque fois

BigUP: un arbre de taille 1 peut empecher une graine de pousser ?

Tiouz: Oui si tu n'as pas assez de suns

KASDmusic: oui

Glucozen: BigUP je dirai non, les ombres empeche juste la génération de soleil et une graine ne genere pas de soleil

BigUP: hum ok

BigUP: bon j'ai un cas a gérer... mais je ne sais pas comment

KASDmusic: ahhh on peut faire pousser la graine malgré l'ombre ?

Tiouz: L'ombre n'a aucune influence sur les seeds

Vry: Oui

KASDmusic: okok

Vry: Uniquement sur les sun points après osef

Bluepioupiou: question bête : vous savez si les 100ms c'est à partir du début du while ou de la derniere lecture de l'input faite dans la boucle .

Tiouz: aaaaaaaaaaaaaaaaaaaa

Tiouz: !inputs

b0n5a1: à partir de la fin de lecture du premier input

BigUP: hum bizarrement lorsque j'autorise a GROW lorsque je suis à l'ombre, je transforme 1 loose en Win ... ;)

Bluepioupiou: ah du premier ?

KASDmusic: petite question, comme on compile les fichiers java avant execution, il est plus rapide à l'execution du coup nan ?

BigUP: ouais bon parconrte grow alors qu'on sera encore à l'ombre ensuite n'est pas forcément une bonne idée

BigUP: hum, il faut que je vérifie si c'etait pas ce que j'evitais de faire

BigUP: ok, pas completement...

Tiouz: C'est encore en train de calculer, mais j'ai à peu près gagné 400 places en gold avec ce debug

Tiouz: 600 -> 200