Chat:Fr/2021-05-07

From CG community
Jump to navigation Jump to search

4x4Teinte.TN: wsh cv

dbdr: \o

Oioi: o/

Alex-1: https://www.codingame.com/replay/547531648

Alex-1: pourquoi je ne peux pas voir la vidéo du bot Vs Alex-1

Alex-1: dbdr

Oioi: Je la vois perso. Hier, j'ai eu un bug étrange : je voyais plus les videos de mes parties

Oioi: Redémarré mon navigateur : problème réglé

Alex-1: okk merci

dbdr: c'est un probleme sur chrome je crois. pas eu le probleme avec firefox

Oioi: touché

Alex-1: :confused:

Thyl: pourquoi j'ai eu un messag e disant que j'étais en argent sur le spring challenge 2021 ???????

Alex-1: Je suis dans la ligue de bronze au Spring Challenge 2021

Thyl: la ligue argent est pas ouverte

Thyl: pourtan-t j'ai eu le mpessage

Default avatar.png Hugues: Y'a eu un bug, fixé depuis.

Thyl: a ok

Thyl: 100 xp gratos cool

Alex-1: Oui

franck179: Salut, quelqu'un sait si nos propres ombres nous empêchent aussi de collecter des soleils ?

Sakisan: oui

franck179: merci :)

jfaixo: o/

jfaixo: une bonne nuit de sommeil pour planter des graines, et maintenant j'attaque ! :grin:

Zorg1: c'est bien les gars qui n'ont pas besoin de bosser ^^

dbdr: ce que tu fais pendant la nuit avec tes graines ne regarde que toi, jfaixo ;)

dbdr: https://www.youtube.com/watch?v=AeT0KV0FPnY

jfaixo: mdrr, je vois que vous avez la pêche ce matin ! ne complétez pas cet arbre ca vaut pas le coup !

Beretta_Vexee: Bonjour, bon café du matin.

Mazelcop: Salut !

Beretta_Vexee: Programme de la matinée reprendre le calcul de zone couvrables par les glands et refaire l'arbre de décision.

Thyl: Mazelcop ça marche aussi bien que la dern ière fois ??

Mazelcop: on verra bien, c'est encore tôt

Vry: On se calme ! :D

dbdr: 3k joueurs en bronze, ah bravo les bosss!

VilBoub: =)

VoxMortem: Heuuu, j'ai perdu mon code, c'est normal ca?

VoxMortem: l'editeur m'a remis le code par defaut

VilBoub: regarde dans l'historique sur le côté

Zorg1: j'ai eu ça aussi, si tu as push tu devrais le récupérer dans Historique

VoxMortem: ok c'est bon, je l'ai récupéré en changeant le language

VoxMortem: merci les gars!

Zorg1: les pushs sont plus rapides actuellement au fait ?

-TheWalder-: Ouais

Zorg1: ah oui 50 % en 5 minutes :D

philRG: dbdr: :-D

ChemyR: j'ai une question: est-ce que les règles changent de nouveau au dessus de la ligue bronze ? ou bien toutes les règles sont déjà présentes ? (j'ai pas envie de "sur"-coder mon truc)

Mazelcop: les règles en bronze sont définitives

VoxMortem: Le boss de bronze sort quand déja? au bout de 2-3 jours, non?

Mazelcop: la ligue argent ouvre mercredi je crois

Mazelcop: ou lundi

VoxMortem: ok, bon on verra, merci

dbdr: lundi soir

egaetan: Salut

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

Automaton2000: et ça change pas grand chose, et cohérent entre les deux ?

philRG: la ligue argent ouvre lundi il me semble

philRG: yo BlaiseEbuth

BlaiseEbuth: o/

Zorg1: \o

philRG: \o

Zakaoai: o/

Gronahak: Hello ! Est-ce que quelqu'un sait si nos propres arbres sont menaçants les uns pour les autres ?

Zakaoai: Oui

Beretta_Vexee: oui

Gronahak: Merki :raised_hands:

Zakaoai: Toute ombres compte. Ce qui rend les strats bien compliqué

BlaiseEbuth: :rofl:

Zakaoai: Ce que j'aime c'est qu'il donne la liste de toutes les actions réalisable

Beretta_Vexee: C'était plus bien équilibré, tu as moins de problème d'ombre en périphérie mais le sol est moins riche donc moins de point.

Beretta_Vexee: Je suis le seul a ne pas du tout utiliser la liste d'actions ?

jfaixo: je pense que personne s'en sert

Zakaoai: Par contre il va falloir refaire les fonctions pour les retrouver si tu veut commencer à simuler

Zakaoai: Moi je m'en sert pour des algos nul

BlaiseEbuth: Quelqu'un a compté combien il y'a de moves valides maximum ?

Zakaoai: Bah disons qu'il dépend de tes points d'actions et de tes graines

Beretta_Vexee: Vous faitez comment pour trouver toutes les cases à 2 cases d'une position ? Je fais de l'itératif pourri ou je recherche dans une table tous les voisins de cases de rang 1, puis je vire les doublons. Il y a une meilleur méthode ?

Zakaoai: Tour 0 tu calculs tes tableaux de distance

Beretta_Vexee: BlaiseEbuth j'a pas vue de match aller au dessus de 160.

Gronahak: @BlaiseEbuth à la louche je dirais 37 ?

Zakaoai: En faite, tu peut avoir max autant d'action que de case sur le terrain si tu possède toute les cases

Gronahak: Ah nan beaucoup plus en fait

Gronahak: vu qu'une graine peut etre plantée par différents arbres

Beretta_Vexee: Tu peux couper et replanter un arbre plusieurs fois sur la même case.

Zakaoai: Oaip potentiellement avec les seeds

BlaiseEbuth: Bah ouai. Si c'était si simple je demanderai pas :p

AceTea: les index ne changent pas d'une game à l'autre ?

Gronahak: Je viens d'arriver en bronze je suis pas un expert :p

Beretta_Vexee: non les index sont fixe

ThunderChief: Nope

AceTea: mdr Thunder

ThunderChief: Les index sont fixes

ThunderChief: Hezzz Ace

Gronahak: Du coup on peut précalculer les voisins

jfaixo: pas l'impression AceTea, perso je suis en train de tranquillement tout hardcoder

Beretta_Vexee: Gronahak les voisins sont déjà donnée dans la première boucle du code.

ThunderChief: Yes tu peux hardcoder les index de la zone que tu veux seed en priorité ^^

BlaiseEbuth: Bon. Bah on va s'y mettre...

Beretta_Vexee: index, richness, neigh_0, neigh_1, neigh_2, neigh_3, neigh_4, neigh_5 = [int(j) for j in input().split()]

philRG: moi je me sers encore des actions, mais ouais faut recoder les actions possibles pour simuler

Beretta_Vexee: Ce sont les voisins de rang deux qui devient un peu plus compliqué

Zakaoai: same philRG va falloir que je fasse pareil

jfaixo: google est ton ami beretta ;)

Zakaoai: collecter et utiliser toute les infos

philRG: Beretta_Vexee ça devrait pas être compliqué de trouver les voisins, tout est déjà fourni

philRG: pour l'instant je vois pas de problème niveau agrégation de maths ou physique :-) à mon avis niveau BEP en horticulture

Gronahak: AHahah

Beretta_Vexee: philRG les voisins oui, les voisins à 1,2,3 cases de rayon c'est plus embétant

Beretta_Vexee: J'y arrive mais c'est une méthode itérative pas très belle ni efficace.

Beretta_Vexee: Idem pour la densité d'arbre autour d'une case.

Tiouz: C'est toujours possible de le précalculer

BlaiseEbuth: Y'a pas 50 solutions. Garde ta méthode, mais execute la une seule fois tour 1

Tiouz: prem's

BlaiseEbuth: kick

Beretta_Vexee: C'est quoi la commande pour faire parler son totoro ?

egaetan: un espace

BlaiseEbuth: "SPEAK! I GOT YOUR WIFE!"

Gronahak: 3 PARLE ORDURE"

Gronahak: Han c'est pas répété dans les règles Bronze. Tout ce que tu écris après la commande sera dit par ton tororo

Gronahak: print("WAIT :snail:")

Citrouille.exe: *

Citrouille.exe: +

R4N4R4M4: Salut tout le monde

BlaiseEbuth: o/

Oioi: \ o

kuraima: coucou

R4N4R4M4: Qui a commencé la simu ? :D

cup_of_tea: mwa

BlaiseEbuth: Si une minut ça compte, moi

Default avatar.png NightRaiden: tout le top 50 je pense

R4N4R4M4: Hello cup_of_tea ça boome ?

cup_of_tea: ça va et toi?

Haashi: mmh

Haashi: il y a pas un probleme dans le referee ?

BlaiseEbuth: :smirk:

Zakaoai: J'ai pas commencé mais j'y pense fort :)

Haashi: https://www.codingame.com/replay/547686512

Haashi: frame 53-54

Haashi: je fais grossir l'arbre 13

Haashi: la shadow n'est pas projeté sur la case 0, et la case 4 a une shadowsize de 1 au lieu de 2

Haashi: les shadows sont calculés uniquement en début de journée ?

BlaiseEbuth: Apparement oui

BlaiseEbuth: J'était en train de regarder ça aussi

Haashi: pas expliqué dans le statement

egaetan: oui j'ai vu ça aussi

Haashi: et ca me parait pas logique d'un point de vue optique géométrique

Zorg1: bah uniquement quand elles servent en fait

jfaixo: les shadow ca compte que pour gagner des soleils en début de journée

Zorg1: voilà

egaetan: les soleils ne sont donnés qu'en debut de day

Default avatar.png Opalir: La journée se finit quand les deux joueurs font WAIT c'est ça ?

Haashi: effectivement ça sert a rien de mettre à jour les shadows au fur et a mesure

cup_of_tea: ou qu'ils n'ont aucun move possible je pense Opalir

Zorg1: Opalir : oui

Default avatar.png Opalir: Ok merci

jfaixo: Par contre

jfaixo: un bug dans le referee, c'est que si tu tentes une action invalide mais pas trop, tu perds pas la partie

BlaiseEbuth: "invalide mais pas trop"

jfaixo: genre si tu essayes de grow un arbre qui t'appartient bien, mais que t'as pas les sun en poche, ca continue

Tiouz: Ça fait un wait à la place ?

BlaiseEbuth: C'est pas un bug

jfaixo: oui Tiouz

Tiouz: Dommage

jfaixo: ben "action invalide" est une condition de défaite normalement ;)

jfaixo: mais on va pas se plaindre que ca soit pas trop violent

BlaiseEbuth: "unrecognized command"

BlaiseEbuth: Donc une action bien formatée c'est bon, même si impossible

jfaixo: c'est la version anglaise des règles ca ? Dammit

BlaiseEbuth: Ouai, belle lurette que j'ai laissé tombé les statement fr

BlaiseEbuth: Et pour cause...

Alshock: je suis parti quand j'étais en wood 2 parce que ça mettait trop de temps à finir les placements, et je reviens j'ai passé le wood 1 into le bronze, à quoi sont donc censé servir ces wood leagues si on y apprend même pas de mécanique ?

Alshock: plop à tous au passage

BlaiseEbuth: A flitrer la piétaille!

BlaiseEbuth: *filtrer

Alshock: y a les passages piétons pour ça

Alshock: Automaton2000 tu soutiens Turtle dans ce challenge ?

Automaton2000: il considère que c'est pas la joie

Alshock: ah ouais gros soutient ça Automaton2000

Automaton2000: pour la première fois que j'y suis

OldJohn: Ah ce "is_dormant' me met en joie à chaque fois... Je ne sais pas ce que comprenne les anglophones !

Alshock: c'est de l'anglais

Gronahak: adjective. lying asleep or as if asleep; inactive, as in sleep; torpid: The lecturer's sudden shout woke the dormant audience. in a state of rest or inactivity; inoperative; in abeyance: The project is dormant for the time being.

ChemyR: la dormance

OldJohn: Perhaps in the UK, but in the US !

Xiema: ça veut dire quoi : Les joueurs qui dorment ne reçoivent pas d'information.

Alshock: des deux côtés OldJohn

ChemyR: partout OldJohn

ChemyR: c'est juste un terme de botaniste

Alshock: de botaniste? o.O

Gronahak: @Xiema si tu fais un WAIT, tu ne verras pas les actions (éventuelles) que fait ton adversaire pendant que tu dors

ChemyR: jamais vu ce terme utilisé autrement que pour les graines c'est tout

ChemyR: ou alors pas en anglais courant

Gronahak: Ça me rappelle Warcraft III ces arbres qui dorment

Bon[]Crayon: Salut tout le monde.

BlaiseEbuth: o/

Bon[]Crayon: \o

Bon[]Crayon: Plante tes petites graines Automaton2000 !

Alex-1: salut

Automaton2000: ou alors tu fais un bot pour ce jeu ?

Bon[]Crayon: o/

Alshock: Eh pour Automaton2000 c'est assez similaire à planter ses graines en effet

Automaton2000: j'en suis à la recherche de chemin

Default avatar.png Opalir: On peut complete un arbre dormant?

rom_02: Hello ! Lorsque je lance un match j ai simplement une image grise dans la fenetre en haut a gauche au lieu du déroulé du jeu. est ce que suis le seul ? Jamais constaté ce souci jusqu a maintenant.

Oioi: Redémarre Chrome

Oioi: (c'est bien Chrome, n'est-ce pas ?)

rom_02: yep ! merci j essaie :thumbsup:

[CG]Thibaud: rom_02 probablement le même souci que ça. On va updater la library PIXI.js https://www.codingame.com/forum/t/spring-challenge-2021-bugs-questions/190526/12

rom_02: Effectivement redémarrer ne change rien, pas de souci je patiente alors.. merci de l'info !

R4N4R4M4: Yes ça va bien cup_of_tea, (désolé, j'avais un call)

R4N4R4M4: Bon, faudrait que j'attaque la liste des move

AceTea: la richesse des cellules est fixe aussi ?

BlaiseEbuth: A part les 0

Lemoussu: Hello ! Est-ce que quelqu'un a aussi un problème de jour 23 qui ne permet pas de faire toutes ses actions lors du submit, mais qui fait bien toutes les actions dans l'IDE ?

Lemoussu: (Ca me fait quand des différences de 120 points sur certains match... :no_mouth:)

BlaiseEbuth: Tu reproduis le problème en important le match dans l'ide?

Lemoussu: nop, si j'importe le match, mes actions sont prisent en compte et je gagne. Dans le submit mes dernières actions ne se font pas, et je perd

Lemoussu: prises*

Lemoussu: https://www.codingame.com/replay/547752378

Lemoussu: exemple

BlaiseEbuth: Les inconsistances arènes/IDE c'est relativement courrant malheureusement...

Lemoussu: hm. Je vais prévoir mes actions au jour 22 alors.

BlaiseEbuth: Tu codes en quoi ? Et as tu des calculs un peu lourd ?

Oioi: ça serait pas ton COMPLETE 1 illégal

Oioi: qui fait merder la suite ?

Lemoussu: Oh tient oui possible ! Je vais tester ça. Mais ça fait pas merder dans l'IDE... Bref c'est surement la cause, merci.

BlaiseEbuth: Les actions invalides font un WAIT...

Lemoussu: (Python3, pas de calcul bien lourd je suis encore à tester des trucs)

BlaiseEbuth: C'est aussi possible que le bot de ton adversaire ne soit pas déterministe, et que tu n'obtiennes donc pas le même résultat à chaque fois...

Lemoussu: Possible. Le jour 22 semble régler mon problème immédiat dans tout les cas.

Lemoussu: Tiens d'ailleurs en y réfléchissant, mon adversaire était en WAIT, et si mon action illegale équivaut à un WAIT, c'est normal que mon tour se soit terminé.

Morkai: Bonjour, savez vous si il y a un endroit ou l'on peut voir le nombre total de clash of code auquel on a participé ?

Default avatar.png Tomtom7594: aucune idée je viens de m'inscrire

CylonSpace: y'aura des règles en plus en silver ou les règles de bronze sont les dernières ?

Oioi: régles bronze définitives

Oioi: Automaton2000, apprends ça : pas d'évolution des règles après bronze

Automaton2000: on a eu un bug sur le puzzle de la semaine

VilBoub: et tu l'as fixé ce bug Automaton2000 ?

Automaton2000: tout dépend de la position de départ

Beretta_Vexee: Pour votre carte d'ensoleilement vous avez prit le temps de gérer l'orientation du soleil ou vous avez juste fait une moyenne ?

Zorg1: ah t'as hardcodé Automaton2000 ?

Automaton2000: moi je lui ai dit que je devrais avoir du temps pour le moment je suis a peu près

Cliffward: Hello ! Il y a des contraintes de temps de réponse par tour, mais est-ce que vous sauriez s'il y a des contraintes de mémoire aussi ?

Zorg1: bah cf FAQ du site, t'as 700/800 Mo de RAM alloué à ton process

Beretta_Vexee: Il est probable que tu n'arrives pas à générer assez de donner dans le temps impartie pour que la mémoire soit un problème.

Cliffward: Oups, my bad, j'avais loupé ça !

Cliffward: merci !

Default avatar.png kiminox: je suis passé au niveau bronze

Default avatar.png kiminox: et vous guys, ça avance?

Zorg1: je suis passé Silver hier moi

Default avatar.png Tomtom7594: je comprends rien au site :cold_sweat:

philRG: Beretta_Vexee: jusque là, je sème mes graines en direction du soleil plutôt empirique (ne tient pas compte des ombres des arbres avoisinants, je ne fais pas de simulation sur n tours pas évident

Zorg1: mais on m'a fait redescendre bronze :(

Default avatar.png kiminox: @zorg1 : bravo!

Default avatar.png kiminox: ha...

Zorg1: (je crois que c'était un bug de CG)

BlaiseEbuth: Il n'y a pas de bug chez CG.

Default avatar.png kiminox: je vais manger et je vais continuer un peu plus tard

philRG: enfin je dis ça pour passer un peu de temps à profiter du gameplay

Default avatar.png kiminox: courage!

Beretta_Vexee: philRG j'étais partie sur 1 arbre de taille 1 à une distance de 1 me fait de l'ombre 1/6 du temps, etc pour faire une carte de l'ensoleilement.

Zorg1: Seulement des features non documentées, c'est vrai BlaiseEbuth

philRG: avant la brutalité des bitboards

BlaiseEbuth: HCF

Beretta_Vexee: Afin d'avoir un peu plus de donner pour choisir où planter et quel arbre couper en priorité.

Zorg1: la "brutalité des bitboards" c'est beau ça

philRG: hehe je savais que ça te plairait

Default avatar.png kiminox: j'ai quand même fini 1er du niveau bois1

philRG: la règles des 3B

philRG: s/s//g

Zorg1: avec g t'effaces tous les s ...

nicola: On t’a fait couler au bronze.

BlaiseEbuth: T'as de la chance que je puisse pas kick un autre modo...

nicola: Tu as essayé ? ^_^

BlaiseEbuth: Evidement.

nicola: Pas moi.

Zorg1: ah pas de possibilité de tirs amis ?

nicola: Et de tiramisu ?

Zorg1: et c'est là que nico découvre qu'il est plus modo que BlaiseEbuth

Zorg1: c'est qui misu ?

BlaiseEbuth: Comment ça plus?

Zorg1: y a la modo de niveau 1 et le modo de niveau 2

Zorg1: on t'as pas expliqué ça ?

BlaiseEbuth: Expliquoi? Depuis quand CG communique?

Zorg1: chépas ils envoient des mails mais je ne les lis pas

Zorg1: donc va savoir pê qu'ils expliquent tout ça dans les mails que je ne lis pas

Zorg1: la doc de Schrödiger

Oioi: plus on la lit, moins on la comprend ?

Zorg1: bah non tu t'apperçois que c'était un compte rendu sur l'utilisation de la machine à café et pas la doc technique de l'appli

Zorg1: :p

philRG: Beretta_Vexee: ça fait un gain potentiel de 5/6 * 4 points de soleil pour les cases adjacentes à un arbre de taille 1, et mettre à jour cette carte d'ensoleillement pour chaque arbre de la grille, çà me paraît une bonne approche

philRG: à la fois simple et logique

R4N4R4M4: C'est reparti : https://youtu.be/qb_xfMaoqdg

Zorg1: tu streames R4N4R4M4 ?

R4N4R4M4: Pas vraiment, je m'enregistre en privé sur FB d'abord, et ensuite je mets sur Youtube, mais c'est long

R4N4R4M4: J'en ai 3 pour la soirée d'hier, WOOD2, WOOD1 et début BRONZE

R4N4R4M4: Elles sont pas terribles, ça se résume à m'entendre réfléchir pendant 5 heures :D

BlaiseEbuth: Si t'enregistre le temps de run, tu m'étonnes que c'est long...

Oioi: Et ça t'empêche pas de réfléchir ? :-)

R4N4R4M4: Ca me ralentit surtout, et ça m'entraîne sur des fausses pistes aussi

BlaiseEbuth: C'est bien, continu.

R4N4R4M4: Je formalise des réflexions qui sont des culs de sac, alors que sans la vidéo, je laisserais des trucs de côté

Zorg1: tu sais les streams ....

R4N4R4M4: La dernière fois, j'avais chapitré les vidéos, je ferai pareil, parce que hier j'ai des longues périodes de debug et c'est pas passionnant :D

R4N4R4M4: Ca serait mieux si je faisais des vidéos de synthèse, après le challenge, mais c'est du boulot

BlaiseEbuth: *photosynthèse

R4N4R4M4: Bien vu BlaiseEbuth :D

R4N4R4M4: Faut que j'attaque l'enregistrement suivant, consacré aux ombres... Et sûrement un BFS aussi pour tout précalculer

BlaiseEbuth: BFS?

BlaiseEbuth: Pour les ombres ?

R4N4R4M4: Oui, la case centrale propage plus souvent d'ombres que les autres par exemple

R4N4R4M4: En gros elle a un ShadowPower de 3, alors que les autres sont forcément < 3

R4N4R4M4: Donc calcul des distances et couverture d'ombre => BFS

R4N4R4M4: Ca pourrait être une fonction de la richness remarque

R4N4R4M4: Sauf pour case centrale

BlaiseEbuth: Hmmm pas sûr de voir... Juste l'ombre de chaque case, pour chaque taille d'arbre, pour chaque direction du soleil ça se calcul avec une boucle.

Haashi: horrible les fonctions d'évaluations

R4N4R4M4: Mon précalcul, il tiendrait pas comte de la position du soleil, mais de l'effet global d'une position sur l'ensemble du jeu. En gros un arbre central est efficace en ombre quel que soit la position du soleil, toujours 3 ombres, alors qu'une autre position n'est efficace que pour certaines positions du soleil.

BlaiseEbuth: Hmm

BlaiseEbuth: Map d'influence

R4N4R4M4: Mais c'est juste un précalcul, je pourrais mettre un critère en dur pour préférer le centre ça serait pareil je pense

R4N4R4M4: Comme la map change pas

BlaiseEbuth: Y'a quand même les case mortes qui bougent

Beretta_Vexee: Tu passes complétement à côté des interférences négatives entre tes propres arbres.

R4N4R4M4: Ah oui t'as raison

R4N4R4M4: C'est vrai Beretta_Vexee, je me suis aperçu ce matin que cette influence entre mes arbres existait

Beretta_Vexee: De plus les ombres sont fonction de la distance au rang 1 mais il y a plus que les diagonales aux rangs supérieurs.

R4N4R4M4: Ah oui c'est vrai aussi

no_XENSK: pourquoi jai rejoins bronze alors que jai rien fais ?

Zanbez: Tu t'es fait poussé par tes adversaires

Sakisan: Pour le bois il faut faire moins que rien

philRG: stratégie pour garder l'occupation des zones les plus riches (le centre), et des zones périphériques. On coupe les arbres au centre, mais pas ceux de la périphérie

ThunderChief: no_XensK mdr

philRG: et on essaye d'empêcher l'adversaire d'occuper les cases centrales

R4N4R4M4: Beretta_Vexee du coup, il vaut mieux positionner ses arbres sur des cases qui n'ombragent pas nos arbres et qui ombragent les arbres des autres

Default avatar.png Opalir: Il se passe quoi en cas de conflit pour planter ?

BlaiseEbuth: T'as lu l'énoncé ?

R4N4R4M4: ZZzzz ZZzzz les arbres s'endorment

R4N4R4M4: Et pas de graine

Zorg1: moi aussi d'ailleurs

Default avatar.png Opalir: Ah ok merci

R4N4R4M4: Faut tenir 10 jours encore Zorg1

Zorg1: et tu ne débourses pas tes points soleil

Zorg1: R4N4R4M4 : je vais devoir prendre des vitamines alors ^^

R4N4R4M4: Vitamine D :D

Zorg1: la vitamine du troll ^^

R4N4R4M4: J'ai raté les histoires de troll, on est envahis c'est ça ?

Zorg1: non c'était le langage D

Default avatar.png JBM: le langage D

Zorg1: tu vois ça fait même popper JBM ;-)

Default avatar.png JBM: c'est un autoanswer je suis pas vraiment là

Default avatar.png JBM: il est bien le chellenge?

R4N4R4M4: Il est top

Default avatar.png JBM: (je streame du clash ou du challenge?)

R4N4R4M4: Du challenge ! Du challenge !

Default avatar.png JBM: boah y'a surement deja 9 lives en python dessus

Zorg1: un live en Haskell ça manque

Default avatar.png JBM: toujours

BlaiseEbuth: Aucun en askHell !

Sakisan: j'ai fait un starter pour haskell si vous voulez

Zorg1: ah oui t'es en Haskell je t'avais repéré hier

Sakisan: (ou si vous voulez le corriger mdr)

Default avatar.png JBM: tu veux m'ôter tout le plaisir de tej le stub complet?

philRG: R4N4R4M4 les trolls habitent dans les forêts

Zorg1: je croyais que c'était sous les ponts

BlaiseEbuth: Ah ? C'est donc un troll le vieux monsieur qui pue ?

philRG: Habitat: Mers, montagnes, forêts

philRG: selon WP

Default avatar.png JBM: glace

BlaiseEbuth: C'est un sujet de glands de toute façon...

philRG: bon moi je vais coder ma carte d'ensoleillement, ça pète bien comme nom

BlaiseEbuth: Bon allez... Biteuboldu! :flag_jp:

philRG: c cool les streams en français

no_XENSK: ditent ca scale les scores en fonctions du nombres de personne dans une ecole ?

philRG: paske un stream d'un russe en haskell de 5h, moi je passe mon chemin :-D

Jo: non, ça prend juste les 5 premiers

no_XENSK: ah ok

BigUP: philRG, ne t'embete pas, il y en a qui l'ont déjà fait --> http://www.cartesfrance.fr/geographie/cartes-france-climat/carte-ensoleillement.html

philRG: mes grands-parents cultivateurs se passaient bien de l'internet, mais ouais au vue de l'agriculture intensive, ça aide bien

ESwox: On connait il utilise quoi comme flags de compilation codin games?

BlaiseEbuth: On connait on connait.

BigUP: ESwox, par défaut, pratiquement aucun... si t'es en C++ il faut ajouter des pragma pour activer les optims

ESwox: ok ok merci

Default avatar.png Dawwizhar: Bonjour, j'ai un test pour un post data science, j'ai aucune idée de ce que je pourrai trouver comme problématique. quelqu'un a une idée ?

Default avatar.png JBM: t'auras plus de données que de science

BigUP: ha oui tiens, j'ai pas passé de Pragma pour mon code ML2 !?? tranquille, l'optimisation c'est un truc de fragile...

Default avatar.png Dawwizhar: je dois m'attendre a des épreuves comme ceux du puzzle ?

Zorg1: QCM + puzzle easy/medium selon mon expérience

Zorg1: mais j'ai pas fait data scientist moi :p

BigUP: Dawwizhar, un mélange de connaissance du langage (fonctions, particularité du langage (QCM)) et de Clash of Code...

Zorg1: oui enfin "Clash Of Code" maintenant c'est devenu "ajouter deux nombres et diviser par trois"

Zorg1: j'avais plus fait des trucs genre températures lors de mes tests CG

BigUP: ESwox, tu peux utiliser ca --> #pragma GCC optimize("Ofast,inline,omit-frame-pointer,unroll-loops")


WhatTrickeryIsThis: (A+B)/3

WhatTrickeryIsThis: j'ai gangé?

BigUP: ESwox, je ne sais pas s'il y a mieux a utiliser actuellement, ca date un peu

Zorg1: :thumbsup: WhatTrickeryIsThis t'es devenu Data Scientist Senior

BlaiseEbuth: On sait même si il est en c++ le mec alors t'emballe pas BigUP

Zorg1: (faudrait que je me renseigne un jour sur ce qu'est un data scientist)

Zorg1: bah en C ça marche les pragmas normalement ?

BlaiseEbuth: Un gars qu'est payé cher.

BlaiseEbuth: On sait pas si il est en C

Zorg1: ah oui avec python il faut faire "import numpy" et ça accélère vachement

BlaiseEbuth: L'autocomplétion du phone qui me propose "Bismarck" avant "Bisous"... Rien d'inquiétant.

philRG: j'aime pas trop numpy, c'est pas list comprehension compatible, à la limite je préfèrerais Haskell plus proche

BlaiseEbuth: JBM! Le mec il viens de comparer Haskell à une compréhension de liste en python! :scream:

philRG: hehe

Default avatar.png Dawwizhar: Vous m'avez bien clash merci x)

BlaiseEbuth: clash ?

BigUP: Zorg1, juste faire import numpy, ca n'accélere pas grand chose. idem juste utiliser les fonction de base de numpy ca accélere rarement les choses

BigUP: c'est meme plutot le contraire

Zorg1: sans blague ^^

Default avatar.png Dawwizhar: Ya pas des redifs sur internet des gens qui ont traité le même sujet ?

BlaiseEbuth: Quel sujet Dawwizhar ?

Conidev: Bonjour à tous, quelqu'un pourrait me dire comment rejoindre un canal de chat en particulier svp ?

BlaiseEbuth: /join canal

Conidev: merci !

BlaiseEbuth: 'tain ça prends la place ces arbres, faudrait couper tout ça.

Default avatar.png Dawwizhar: Je passe un test sur ce site pour un post en Data science orienté deep learning et je ne sait pas a quoi m'attendre

BlaiseEbuth: T'as eu pleins de réponses quand t'as demandé la première fois...

Gronahak: les recruteurs non plus dans 90% des cas

BigUP: Dawwizhar, aucune idée non plus, je ne sais pas s'il vont jusqu'a poser des question sur pytorch ou tensorflow. mais tu auras probablement du python

cup_of_tea: normalement y'a des sites qui recensent les questions classiques pour ce genre d'entretien

cup_of_tea: et pas trop besoin d'aller loin dans les pages gloogloo

BigUP: Dawwizhar, j'image bien que poru du data scientist/deep learning, tu auras du comptage, partitionnement de données, etc...

Default avatar.png Dawwizhar: J'ai fait pas mal de code clash et de puzzles ici, je me suis renseigné sur les potentielles questions en rapport avec python, je suis même tombé sur une vidéo en 240p d'un mec qui passe une épreuve similaire, mais le fait de ne pas anticiper la chose est frustrant x)

BlaiseEbuth: Bon... 224 bits pour un état de jeu... :thinking:

Haashi: 224 ?

Haashi: je suis a 450~

BlaiseEbuth: Tu stockes les moves ?

Haashi: non

BlaiseEbuth: Tu stockes les id des cells de chaque arbre ?

Haashi: bah

Haashi: deja j'ai pour chaque case 8 bits

Haashi: donc 37*8 c'est deja au dessus de 224 :(

BlaiseEbuth: Les cases sont fixes, pourquoi tu les mets dans ton état ?

Haashi: ensuite un int pour combo day/nutrients, et un int pour chacun des 2 joueurs (score/sun et dodo)

Haashi: quand je dis case je voulais dire l'état de la case avec l'arbre (size, richness, owner)

Zorg1: richness c'est fixe

BlaiseEbuth: Oui. Richness c'est fixe

BlaiseEbuth: Du coup c'est 4 bit par cell

egaetan: 5 pour isMine ?

BlaiseEbuth: Bah 2 pour size, 1 pour mine, 1 pour sleep

dbdr: il y a des mines? :angel:

Haashi: ah ouais richness je peux ne pas le garder vu que ca sera constant dans la partie

Zorg1: et il te faut pas un bit pour dire que la case n'est pas vide ?

Mourfette: je me prends la tête pour rien, dans le code qu'ils ont donné pour avoir une structure basique avec quelques classes (en csharp en tout cas), 2 inputs ont été inversés

Mourfette: inputs = Console.ReadLine().Split(' ');

           game.mySun = int.Parse(inputs[0]); // your sun points
           game.myScore = int.Parse(inputs[1]); // your current score

Haashi: y a la shadowsize aussi

Haashi: ca c'est pas fixe

Mourfette: sauf que dans input, y'a score à 2 puis sun à 0

jquivogn: yo, j ai un problème avec l'exec, le term me fais "assistance py3 interrompue"... vous avez une idée de pourquoi ?

BlaiseEbuth: Ah ouai Zorg1

Haashi: et je me vois mal la recalculer a chaque fois que j'ai besoin

Haashi: Zorg1 yep mon owner c'est 2 bits justement pour gérer le cas ou c'est à personne

Haashi: y a dormant aussi sur 1 bit pour savoir si on peut encore utiliser l'arbre sur la cell

BlaiseEbuth: Oui c'est ce que j'ai appellé sleep

BlaiseEbuth: Bon du coup 256 bits

BlaiseEbuth: La shadowsize peut changer d'un tour sur l'autre et ne sert qu'en début de tour

dbdr: ah, JBM qui débarque :+1:

BlaiseEbuth: *qu'en début de jour

BlaiseEbuth: Du coup je sais pas si c'est pertinent de la stocker et de la copier partout, plutôt que de la calculer en début de jour...

Haashi: je vois, faut pas la stocker au niveau de la case tu as raison

BlaiseEbuth: Tu sais sur quel algo tu vas partir ?

Haashi: je sais pas

BigUP: tiens, amadeus qui me propose d'aller bosser a Nice ! :) Niiice ! :)

Haashi: j'ai une simu naive, j'ai tenté un beamsearch ca marche mal parce que je suppose que mon éval est nulle

Beretta_Vexee: écrire une bonne fonction d'éval est clairement le plus dur.

BigUP: CONFIDENTIAL & RESTRICTED !! :) HA ouais quand meme ! :) Niiiice !

BlaiseEbuth: Je sais pas encore trop non plus. Je me rends pas trop compte du branching factor/possibilités d'élagage...

Haashi: il y a l'air d'avoir un gros branching factor

BlaiseEbuth: dbdr me follow :scream:

dbdr: faut bien te tenier maintenant

dbdr: *tenir

Haashi: par contre il y a une forte possibilité d'élagage

BlaiseEbuth: D'où mon indécision... ^^'

Haashi: genre par exemple, je pense que c'est envisageable de considérer toutes les possibilités de SEED SOURCE TARGET en SEED TARGET

BigUP: Haashi, ca me parait normal... avec des arbres... faut une bonne tronconeuse

BlaiseEbuth: Je pensais que tu me suivais déjà depuis longtemps dbdr... Si j'avais su j'aurais profité. :(

Beretta_Vexee: Haashi, non parce que seed rend ton arbe inactif pour le reste du tour.

Beretta_Vexee: Pour les arbres matures cela ne change pas grand chose mais pour les arbres en dev, cela peut jouer.

Haashi: donc pas toutes les possibilités, mais en partie si un arbre mature peut planter, alors c'est lui qui plantera est pas les autres

Beretta_Vexee: Oui il y a des stratégies qui s'impose et qui permets d’égaler l'arbre de décision.

Beretta_Vexee: Savoir où planter, qui plante, qui couper en priorité et qui faire grandir.

BlaiseEbuth: Bon. 37 c'est vraiment un nombre à la con. ^^

Default avatar.png MaTMaT: Bonjour ! petite question, y aura t-il de nouvelles regles en ligue Argent ?

Oioi: Nope

Default avatar.png MaTMaT: ty

Beretta_Vexee: Je comprends pas trop le système de classement dans l'arène. A chaque modif de code, je reparts au rang 300.

egaetan: Bois1 Beretta_Vexee ?

Beretta_Vexee: Bronze

egaetan: alors tu devrais recommencer à 3000

Alshock: C'est très simple Beretta_Vexee quand tu soumets un nouveau code ton rang est entièrement réévalué. Donc tu pars de zéro et tu montes

Zorg1: bigup tu lis ton courrier sur le chat ? :p

Vry: o/ egaetan

BlaiseEbuth: Bon. 240 bits en découpant comme un sale.


dbdr: c'est un concours de bits?

BlaiseEbuth: Ouai

egaetan: Salut Vry

Mourfette: Il faut vraiment que je trouve un moyen de facilement regarder la Xième case dans une direction parce que passer par les neighbors avec les index et tout, c'est pas top du tout

sgalasso: Salut vous allez jusqu'à quelle depth max dans votre recherche vous ?

BlaiseEbuth: 0

Default avatar.png CooooodinGaaammmeee: 4

Nagatwin: 40, pour finir par faire grow le premier arbre

Nagatwin: :evergreen_tree:

sgalasso: Pour l'instant je suis un genre d'IDA* je me tate de passer sur un A* / BeamSearch mais j'ai un peu la flemme d'opti à mort mes structs, pour pousser à 40 t'es sur quel algo Nagatwin ?

Nagatwin: MC

BlaiseEbuth: TS ?

Nagatwin: non

Nagatwin: mc

sgalasso: OK nice !

BlaiseEbuth: oh

Nagatwin: le jeu est relativement simple; je suis dans les 300k tours simulés sans optimisation particulière

Zakaoai: On a pas le même langage et les meme perfs alors

Nagatwin: Bon après la fonction d'éval est à revoir

OldJohn: Si tu fais du MCTS, as tu une focntion d'éval ?

OldJohn: OK, pas TC donc :-)

OldJohn: pas TS donc !

Nagatwin: je pense que le principe de base de MCTS est justement de s'abstraire d'une fonction d'éval

OldJohn: (Faut dire que j'ai un Bac C pas un Bac S et pas un Bac Blanquer)...

Palmipedus: Nagatwin c'est quoi un tour pour toi?

Palmipedus: 300k c'est pas mal deja :D

Nagatwin: Un tour est un output d'un joueur (ou éventuellement des deux)

Zakaoai: MCTS ça se base sur les branche de victoires. donc il faut arriver à simuler toute les possibilités :thinking: ?

Vry: Normalement avec un MCTS tu dois savoir dire quel joueur gagne, sans plus. Après, certains arrivent à le faire avec une fonction d'éval. ...

Vry: Zakaoai : ouin mais au "hasard", comme une brute :D

Zakaoai: Bah après l'objectif c'est que plus tu avance plus tu peut prune de branche et avancer loin dans les prédictions. Mais bon ça reviens souvent au meme tout les langages n'ont pas d'aussi grosse perf

Tiouz: Zakaoai c'est pas plutôt le minmax dont tu parles ?

Zakaoai: N'ayant jamais mit en place ni l'un ni l'autre je peut pas te dire. Faut que je relise les algos pour mieux comprendre tout ça ^^'

Tiouz: MC c'est faire plein de fois des parties random, et jouer le coup qui t'as fait gagner le plus souvent. MCTS c'est pareil sauf que tu te souviens de tous les coups joués, et tu essayes de jouer plus souvent les coups qui t'ont fait gagner (pour être sûr qu'ils te font bien gagner)

Beretta_Vexee: il me semble que MCTS comme Minxmax il te faut une fonction d’évaluation qui te donne un score de ta situation dans la partie.

Default avatar.png khealer: Comment vous pouvez le simuler en 100ms ? ça fait beaucoup de cas possible même en c++, non ?

Je me trompe peut-être dans mes calculs

Zakaoai: Je voit, ça sous entends quand meme de pouvoir simuler une partie jusqu'au bout pour savoir si c'est gagné ou pas

Tiouz: Non, MCTS n'a pas besoin de fonction d'évaluation car tu joues les parties jusqu'à la fin, donc tu connais le gagnant

Beretta_Vexee: et MCTS l'adversaire joue aussi de manière aléatoire.

Tiouz: Après il y a sûrement des améliorations possibles si tu as une fonction d'éval

BlaiseEbuth: Ca c'est la théorie.

Nagatwin: khealer en 100ms on peut faire beaucoup de calculs. Le language peut aider

Zakaoai: khealer quand tu sais que certains langage eval a peu près 300k input dans le tems impartie je pense que tu peu te dire que c'est possible

BlaiseEbuth: Sur CG tu peux pas aller au bout des parties

Beretta_Vexee: Vue qu'il y a 130 actions ou plus par match, il est difficile d'explorer l'arbre jusqu'à la victoire.

Zakaoai: Oaip faudrait connaitre un nombre max d'actions réalisable histoire de se donner une marge de manoeuvre

Tiouz: Le principe ça a jamais été de tout simuler, c'est impossible

Default avatar.png khealer: 300k en c++ ce n'est rien, mais là il y en a beaucoup plus, j'ai dû foirer un comptage

Nagatwin: Bah là en allant au bout avec mon MC je fais 5k simu de parties complètes; c'est trop peu au tour 1; et c'est trop peu pour tout simuler

Zakaoai: Non c'est sur, le but des contests n'as jamais été de tout simus. Mais de simus que ce qui peut potentiellement te faire gagner

Vry: Nagatwin, tu as déjà codé la simu ? :nerd:

Zakaoai: La intervienne les evals

Nagatwin: Ui

Nagatwin: :nerd:

Default avatar.png khealer: Bon, le plus simple c'est de le coder et de rester le résultat :grinning:

Vry: Pendant ce temps, j'ai juste codé la sélection de la deuxième commande fournie par CG.

Vry: GG

Nagatwin: Ah

Vry: :upside_down:

Nagatwin: J'ai même pas parsé ça

Nagatwin: :grimacing:

Skleroz: Hello, quelqu'un sait quand ils vont ouvrir la league argent?

Default avatar.png khealer: je crois lundi

Vry: Moi non plus, je balance les yeux fermés

Tiouz: Skleroz Clique sur Ligue en haut de l'écran

Vry: C'est indiqué quand tu cliques sur "Bronze League"

dwarfie: Vry ... perso , j'ai eu besoin de seulement 12 lignes pour arriver bronze ... dans le genre , je lance un code et je regarde , j'ai fait fort aussi :D

Vry: Le passage Wood 2 -> Bronze était simple ce coup-ci dwarfie ...

dwarfie: simple ... oui ... pour ne pas dire trivial ...

dwarfie: :)

Zakaoai: Avec la liste des coups possibles c'était très easy

dwarfie: :thinking: y'avait une liste des coups :yum:

Vry: Fallait juste pas prendre le WAIT qui était en premier dans la liste

dwarfie: j'aurais du regarder :D

Zakaoai: Oaip je l'ai enlevé et une simple fonction de trie

Pedrito_B: meme pas besoin pour le bronze juste la deuxieme action

Pedrito_B: mais pour le Wood 1 à Wood 2 il fallait plus

Pedrito_B: pour celui là il fallait prendre le COMPLETE avec le plus petit indice

Vry: J'ai eu do bol alors, dès le départ j'ai pris la 2° action et c'est passé mais c'était juste à l'ouverture

BlaiseEbuth: dwarfie! Elle est située où ton école Autodidacte ? :D

dwarfie: partout ... c'est la plus grande au monde ;)

BlaiseEbuth: Parce que je la trouve pas en autocomplétion, et si je la crée en "online" je suis seul dedans...

dwarfie: oui , je sais , c'est le comportement que j'avais les autres fois aussi ... bizarrement , la on est 3 et je sais pas pourquoi ... :p

BlaiseEbuth: Peut-être parce qu'ils ont la même localisation que toi pour l'école. T'avais mis "online" ou autre chose ?

dwarfie: de memoire ... rien ...

dwarfie: mais ca remonte a loin donc je garantis pas

BlaiseEbuth: :thinking:

BlaiseEbuth: Dans le profil t'es obligé de choisir.

BlaiseEbuth: Maintenant en tout cas.

BlaiseEbuth: Le comportement de ce truc m'échappe...

2StepsFr0mHell: c'est ... compliqué :(

philRG: bon j'ai laissé un message sur répondeur de la nénette d'amadeus

Chialeurcode: 'lut

2StepsFr0mHell: il y a un système de "validation" de school à partir d'une API et sinon, c'est manuel

philRG: bon moi j'ai toujours pas calculé ma carte d'ensoleillement, sur chat World, ils parlent de bitboard, mais j'ai la flemme de m'y mettre honnêtement. Ou est passé Bob? :-D

2StepsFr0mHell: et tant que c'est pas validé c'est pas trouvable dans l'autocomplete

dwarfie: Bob ... il doit etre parti faire le stock de binouze ;)

2StepsFr0mHell: donc il y a des milliers de schools ajoutées manuellement...

philRG: ah ok... je dis çà c pour le faire venir

BlaiseEbuth: Mais si dwarfie voit sa team dans "Autodidacte" c'est que c'est validé non, alors pourquoi quand moi je mets "Autodidacte" je la trouve pas ?

2StepsFr0mHell: bon c'est + compliqué que ça, il y a un truc pour éviter les duplicates mais ça ne marche pas il me semble. Bref, on peut dire que c'est un peu cassé

2StepsFr0mHell: je crois que seul lui voit sa team du coup

dwarfie: sauf que je suis pas seul dans la team ... c'est cela l'etonnant

SeebOmega: Hello, je viens de start question peut etre debile dans les movepossible en ligue wood 2 il me donne que WAIT alors qu il me reste 2 arbres normal ?

BlaiseEbuth: T'as plus de points de soleil

dwarfie: pas assez de sun

SeebOmega: ok du coup on peut esperer que egaliser vs le boss au debut ?

dwarfie: voila

Zorg1: en wood 2 le boss joue au hasard tu peux espérer jouer mieux ...

SeebOmega: okok je trouvais ca chelou que tu "batte" pas le boss avec le truc de base harvest un arbre

Vry: Pourquoi tu regardes les inputs SeebOmega ?

SeebOmega: mais bon ca suffit a passer au dessus

SeebOmega: ben je regardes les inputs avant les regles mdr Logique:D

Bob: Bob il sera la en soiree

Bob: maintenant il a un boulot, Bob :)

BlaiseEbuth: Tssss

BlaiseEbuth: Mauvaise graine

Bob: pas ma faute on m'a plante a l'ombre

Vry: o/ Bob

Default avatar.png JBM: \o Bob

BlaiseEbuth: Il est pas là.

Default avatar.png JBM: om est toujours là pour nous

Vry: o/ JBM

Default avatar.png JBM: heya Vry

Magus: bon, j'ai un code qui compile, plus qu'a le regarder souffrir dans l'IDE

Magus: segfault, ah déjà

Vry: o/ Magus

Zorg1: tiens Bob nous la joue "moi je bosse les gars" :D

Vry: Mouhaha ...

BlaiseEbuth: Il lui a fallut 20 ans, alors forcément...

Vry: Bientôt 4k en ligue Bronze ...

Vry: ... ça va couper chérie ! :innocent:

SeebOmega: edrenn

Default avatar.png jigmyers: Je suis nul c'est chaud


Default avatar.png Eiphos: t'inquiète moi aussi :D

egaetan: tu es chaud Eiphos ?

Default avatar.png Eiphos: je suis en viens de découvrir coding game

Default avatar.png Eiphos: incroyable

Zorg1: bon bah va falloir coder une simu

Zorg1: personne n'a un starter ?

Default avatar.png JBM: tu veux mon code?*

Default avatar.png JBM: si je retire les 2 lignes de stratégie de haut vol, c'est un starter

Vry: Oui, moi aussi je suis à la recherche d'un strater complet en C svp :D

egaetan: moi aussi

Vry: Je vais aller faire une sieste en attendant Koh Lanta, je compte sur vous ! :heart_eyes:

BlaiseEbuth: :scream:

Vry: J'ai plus de batterie ...:sleeping:

Vry: ... ou sinon je pourrais regarder des conneries sur YT ???

SeebOmega: j ai fait mes 4 lignes de JS pour avoir les regles definitives, ce contest a l air bien drole

Zorg1: c'est :angel: et :smiling_imp: ton choix Vry ...

Vry: Oui, il y a de quoi s'amuser !

Magus: SeebOmega: 4 lignes ? t'en a codé 3 de trop !

Loser101: Hello, il y a une manière de voir si notre solution est correcte en terme de temps par rapport à d'autres?

egaetan: Loser101 il faut demander

Loser101: Ok merci :) Du coup faut timer sa solution et comparer à d'autres participants manuellement ?

egaetan: c'est ça

egaetan: ce chat peut être une source de renseignement

Magus: après pour timer ça dépend dans quel langage tu es

BlaiseEbuth: Tous pertinents.

Gronahak: Timer en slip

Loser101: Pas de soucis pour timer, je vais récupérer des soumissions et les comparer à ma propre solution ^^ merci pour les infos !

SeebOmega: magus ouais j ai fait du zele en indentant mon filter sort

Magus: y'avait encore plus simple !

Magus: (en fait y'a un trick tout pourri pour arriver bronze, je sais pas si les créateurs du jeu l'ont fait exprès, mais je les remercie pour ça :D )

Vry: Han il a lu les règles avant de coder !!!

Magus: même pas

Default avatar.png Sacus: moi j'ai vu qu'elle etais la après etre passé en bronze

BlaiseEbuth: Vry arrête de voir le mal partout, personne ne lit l'énoncé...

Zorg1: bientôt il va nous raconter des histoires de croquemitaines qui lisent les specs

Thyl: Magus le trick en plus il score pas mal !

BlaiseEbuth: Parce que tout le monde est en train de coder en local.

Thyl: qu'on on seed

Thyl: c'est les voisins proches qui peuvent être ciblé

Thyl: ou les voisins à n de distance ???

BlaiseEbuth: RTFS!

BlaiseEbuth: :p

Zorg1: belle reprise de volée

Gronahak: à distance n où n est la taille de l'arbre

BlaiseEbuth: LMRIFY

Default avatar.png Sacus: il y a un moyen efficasse de connaitre les arbre sur le terrain ?

Zorg1: lire les inputs ?

Default avatar.png Sacus: il y a un input du nombre d'arbre O_o

Default avatar.png Sacus: ?

BlaiseEbuth: -_-

Default avatar.png Sacus: pas du nombre de leur emplacement surtout

Zorg1: euh tu cherches à savoir quoi là ?

Mourfette: vous utilisez possibleActions? j'ai l'impression que je perd du temps à calculer des trucs plutot que de faire mes analyses directement sur ça

Default avatar.png Sacus: avoir un liste de l'emplacement des arbres

Zorg1: t'as la liste de tous les arbres en input

egaetan: Sacus lire les inputs ?

BlaiseEbuth: Tu veux pas lui lire le statement ?

Zorg1: c'est une bonne berceuse ?

Default avatar.png Sacus: bon bah je vais faire des test avec les input mais c est la premiere fois que je vois sa donc bon

egaetan: le tutoi youtube est peut-etre bien ?

BlaiseEbuth: Que tu vois quoi ?

Default avatar.png Sacus: bah les input

BlaiseEbuth: Pas sur de tout suivre... ^^'

Zorg1: je pense qu'on est parti en boucle

BlaiseEbuth: egaetan: le mec du tuto a un T-Shirt "front-end" ! Il n'est pas digne de confiance.

egaetan: bien vu, certains détails ne trompent pas

BlaiseEbuth: Et son tableau est blanc...

Zorg1: bah il aurait pu avoir un T-shirt "I :heart: python"

Zorg1: ou pire, Java :p

Chkoupinator: oh mon dieu

BlaiseEbuth: Bah front-end en gros c'est js, donc bon...

Default avatar.png Sacus: tu as un probleme avec le python ? moi je le trouve bien

**BlaiseEbuth retourne mettre des arbres dans des bitboards pour ne pas être entrainé là dedans parce que pour une fois il a autre chose à faire...

egaetan: des bitboards en bois

Default avatar.png JBM: c'est mieux que les bitboards en carton, non?

BlaiseEbuth: \o/

BlaiseEbuth: J'allais la faire ^^

Bob: amis des bitboards

BlaiseEbuth: Va bosser

Bob: bon alors comment ca marche ce truc ?

Zorg1: faut faire pousser des trucs en plantant des bidules

Zorg1: #engros

Bob: jusqu'ici j'avais saisi

Bob: on va essayer de trouver une heuristique de base

Default avatar.png JBM: y'en a une top sur mon stream

Default avatar.png Sacus: Bah en faite dès que j'utilise les input sa me met une erreur sur size je comprend po

Bob: sinon ils prevoient vraiment d'attendre mardi pour ouvrir silver alors qu'il y a deja 3500 personnes en bronze ?

BlaiseEbuth: Chez moi le 10 c'est lundi, mais on doit pas être dans le même fuseau horraire.

Zorg1: bah ils avaient ouvert Silver hier en fait ^^

Default avatar.png JBM: ah oui, d'ailleurs, les xp?

Zorg1: visiblement je les ai toujours dans l'historique des XP

BlaiseEbuth: On t'a jamais dit d'zffacer ton historique ?

Default avatar.png JBM: *

Default avatar.png Sacus: moi j'efface jamais mon historique

Default avatar.png Sacus: faut surtout pas faire sa

Default avatar.png Sacus: sinon tu te retrouve avec ta moindre recherche en pub partout

BlaiseEbuth: :thinking:

-Cile-: au fait, ceux qui étaient passé en argent, vous êtes de retour en bronze ?

SeebOmega: c etais une erreur donc oui la ligue argent ouvre plus taard

BigUP: bon,va falloir se mettre à coder ... ca ne m'arrange pas tout ca !

Bob: ben Blaise moi c'est indique ouverture le 5/11

Bob: donc mardi

Default avatar.png Sacus: et moi je reste bloquer au rank 1000 de bronze jt 99 hier

-Cile-: de mon côté j'étais passée en Bois 1 et j'avais arrêté à ce moment-là, dans la nuit j'ai été promue Bronze ce qui ne m'arrange pas : je débute en python, j'aurais préféré avoir une difficulté progressive :/

BigUP: Sacus, j'etais 800eme hier, je suis 2062eme ... le niveau monte...

BlaiseEbuth: Bah j'ai 10... Mais j'ai pas refresh.

Default avatar.png Sacus: bah logique aussi il y a plus de monde

BigUP: -Cile-, tu as un peu plus de choses à gérer en bronze. Pas le choix, de toute facon en bronze, faut commencer à structurer le code

Bob: 900e avec mes trois lignes de code

Default avatar.png JBM: pareil

Default avatar.png Sacus: ah donc c est bien ce qu'il me sembler le bois et ridicilement simple

Bob: oui

Default avatar.png JBM: c'est mon code de W2, soit dit en passant

YannT: attention ça stream https://www.twitch.tv/doctolibtechlife :D

BigUP: Bob, JBM, vous faites juste pousser l'arbre qui rapport le plus ? (comme moi dans ce cas)

Default avatar.png JBM: bcp plus simple

Default avatar.png Sacus: tu fais un liste richesse

Bob: euh meme pas

psychedelic68: 20eme *_*

BlaiseEbuth: print(move[1])

Bob: complete > grow > seed > wait

Bob: et ca tombe bien parce que c'est dans l'ordre alphabetique

BigUP: JBM, Bob, ha !?? plus simple que ca ? bah je ne vois pas du coup

Bob: et a commande egale, la cellule cible avec le plus petit index (qui, par consutrction, est la plus riche)

Default avatar.png JBM: moi je joue juste le premier mouvement fourni qui soit pas WAIT

BlaiseEbuth: ^

Thyl: y a des streams en français

Thyl: ????

BigUP: Bob, ha ouais, tu gère les SEED quand meme ! ;) moi je ne gère pas ! ;)

Default avatar.png JBM: YannT t'es en haut ou en bas?

BlaiseEbuth: YannT C'est toi Camille ?

Default avatar.png JBM: BlaiseEbuth: faut que t'arrêtes de tenter de me piquer mes vannes un peu

BigUP: Bob, ca explique aussi pourquoi je suis 2000eme ! :)

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

Default avatar.png JBM: il va nous sortir un log 3 sous peu

domak: o/

BlaiseEbuth: \o kamod

domak: 700 places de perdues depuis hier soir... y'en a qui ont pas du beaucoup bosser aujourd'hui

Default avatar.png JBM: YannT ça reste en replay après?

Default avatar.png JBM: j'ai un autre meeting là

Default avatar.png JBM: c'est un peu chelou qu'ils streament anglais avec l'accent et l'énoncé en français

kamod: o/ BlaiseEbuth

BlaiseEbuth: :smirk:

YannT: s'toi un peu celou JBM

kamod: en vrai tu fais un peu peur YannT

Default avatar.png JBM: et pour mon replay?

kamod: je préfère ton avatar

b0n5a1: o/

BlaiseEbuth: \o

b0n5a1: Toujours aussi flippant Instafluff ^^

Default avatar.png JBM: j'ai pas compris leur histoire, ils partagent un compte?

Default avatar.png JBM: juste le code?

egaetan: ban !

Bob: allez j'essaye une premiere heuristique de pauvre

dbdr: inb4 Bob top 10

Default avatar.png JBM: Et plus sérieusement, leur contexte pour coder à 2?

BigUP: Bob, random(possible_moves) ?

Default avatar.png JBM: c'est pair prog ou coaching?

Default avatar.png JBM: ou autre?

dbdr: c'est du pear programming non?

Zorg1: l'un code l'autre rajoute des bugs ?

dbdr: l'autre mange la poire

dbdr: ou mieux,. boit de la poire

BlaiseEbuth: Stoi la poire

Default avatar.png JBM: moi jsuis un bonne poire

BlaiseEbuth: fix ton poire

Default avatar.png JBM: faudra d'abord se la payer

dbdr: faut pas vendre la peau de la poire...

Bob: ah mais les push sont toujours aussi lents qu'hier soir ?

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

Default avatar.png JBM: ah t'en es déjà à peaufiner les constantes magiques?

Bob: non en general les rage push j'attends mid-gold

VilBoub: il y a plus de 3000 personnes en Bronze vu les boss pourris des ligues Bois ^^

YannT: JBM: oui il y a les replays après

Vry: Comment ça mon bot est pourri ... :(

Default avatar.png JBM: ok j'arr$ete d'enregistrer alors

Default avatar.png JBM: mon dd te dit merci

Lunaria: en même temps en ligue bois j'ai juste répondu la première action possible et j'ai eu en bronze

kamod: JBM c'est une nouveauté dans intellij qui permet de faire du remote pair programming

Default avatar.png JBM: ah ok merci

kamod: après je sais plus si on peut être plus que 2. J'ai essayé une fois mais le proxy de la boite nous bloquait

dbdr: VilBoub: oui, vivement Silver

Default avatar.png JBM: pourquoi y'a cb en bronze normalement?

VilBoub: Mais c'est cool qu'il y ai du monde =)

Vry: Ouais c'est cool.

Default avatar.png JBM: hello Aveuh

psychedelic68: salut, on sait ce qu'il y aura dans la ligue argent ou surprise ?

Bob: moins de monde

psychedelic68: :thumbsup:

dbdr: l'avatar :D https://www.codingame.com/profile/931da59d6760d7992a62be2f3975a5ad709675

dbdr: ah, c'est un haskelleur

Default avatar.png JBM: ça arrive

Vry: On aura le droit à un troisième joueur ?

Zakaoai: YannT donc tu es de chez doctolib ?

BlaiseEbuth: Non. Il a piraté leur chaîne twitch.

Zakaoai: :D

Default avatar.png caduk: Passé de 325 a 80 environ avec un petit peaufinage de mes bidouillages, je vais songer à coder quelque chose de sérieux

BlaiseEbuth: Non. Tu vas rentrer chez toi et songer à ton avenir.

Vry: Mais on est déjà chez nous BlaiseEbuth ...

BlaiseEbuth: C'toi qui l'dit.

YahyaBahjaoui: je suis dans la ligue bois 1 comment faire grow une arabe

YahyaBahjaoui: est ce que on utulisant un simple siza+3

YahyaBahjaoui: size*

thallard: GROW "index de ton arbre" va lui faire gagner 1 de size

Default avatar.png caduk: c'est comme pour les européens, il faut lui donner de la soupe

YahyaBahjaoui: merci bcp

YahyaBahjaoui: frere

Bon[]Crayon: Alors ça pousse ?

BlaiseEbuth: J'attendais de voir qui allait réagir...

YahyaBahjaoui: thallard ou je change le size

Magus: Je suis le seul à avoir le viewer qui consomme un max de ressource ? j'ai l'impression que mon PC va décoller chaque fois que je lance une partie ......

Default avatar.png M_C: pareil Magus

BlaiseEbuth: Z'avez qu'à avoir des meilleurs pc, sérieux.

Bon[]Crayon: Maître Automaton2000, sur son arbre perché, tenait en son bec une graine.

Automaton2000: en fait je suis un boulet

BlaiseEbuth: Pour le prochain contest faudra penser à écrire une configuration minimale requise. "32Gb de RAM, INTEL CORE I7, NVidia GeForce RTX".

dwarfie: Magus ... je suis le seul ou ca consomme rien ... j'ai pris un browser dans support webgl du coup ca affiche rien ;)

dwarfie: ...sans...

dbdr: links?

BlaiseEbuth: awakenings

dwarfie: firefox v85

dwarfie: (en tout cas , ca pete de message d'erreur et ca affiche rien ... bonne feature :D )

Default avatar.png JBM: le viewer est gourmand?

Default avatar.png JBM: enfin genre plus que d'hab?

b0n5a1: ouais il lui faut un cassoulet outes les 30 min JBM

Default avatar.png JBM: je crois que j'ai toujours pas vraiment regardé de match

Vry: C'est que ça bouffe un Totoro ...

Vry: ... et là, ils sont deux !

BlaiseEbuth: En mémoire pas plus. Mais il utilise 40% de mon CPU quand il tourne. :rofl:

Default avatar.png JBM: j'ai tout juste essayé de déplacer le curseur du bidule pour cerner mes assert failed

BrainSolver: Ce conquest c'est du ray tracing en quelque sort, c'est pour ca qu'il faut une RTX.

Default avatar.png JBM: j'aurais pas utilisé ce smiley

Default avatar.png JBM: c'est un pb CG récurrent

Default avatar.png JBM: c'est plutôt triste

BlaiseEbuth: Pas à ce point là.

BlaiseEbuth: Oh. Moi je préfère en rire maintenant

BlaiseEbuth: Je précise. C'est 40% d'un I7 10th gen, avec le GPU qui fait la béquille.

BlaiseEbuth: Donc non ça va, le viewer n'est pas trop gourmand.

Vry: C'est le stepping la génération ?

BlaiseEbuth: C'est un gouffre. :hole:

Default avatar.png JBM: le stepping? on est pas passé au pilates maintenant?

BlaiseEbuth: Ponce ?

Vry: Sur un i5-8400 CPU @ 2.80GHz sans GPU ça passe

Vry: Planquez vos bot ... k o v i est de retour ...

Vry: :upside_down:

Vry: +s

BlaiseEbuth: Oui j'imagine que plus il a de place plus il prend ses aises

Erzow: on peut utiliser clock pour le temps ou pas ?

Erzow: J'ai des problèmes avec, je timeout alors que sur mon code j'ai pas dépassé les 80 ms

BrainSolver: Tu as peut être un pb lors de la lecture des entrées Erzow

Erzow: Ben je sais pas, je pense pas parce que en fait je passe les 22 premier day mais sur le dernier de manière un peu random parfois je timeout

BlaiseEbuth: Tempus fugit...

Erzow: Et j'ai vu que clock c'était uniquement pour les tick, donc ça prend pas en compte les sleep etc, donc peut être que ça vient de ça ?

YahyaBahjaoui: est ce que apres que j'ai fait grow cellindx

YahyaBahjaoui: est ce que je fait complete

YahyaBahjaoui: je grow mais j'arrive pas a collecter

YahyaBahjaoui: les note

Vry: J'utilise clock_gettime(CLOCK_MONOTONIC, &(result));

Vry: Et ça compile plutôt bien avec mon langage :upside_down:

R4N4R4M4: Déjà 20 win au push ça devrait être pas mal :D

Vry: GG R4N4R4M4, contest plié !

R4N4R4M4: Ha ha Vry, c'est le début là, c'est facile :D

R4N4R4M4: Bon, j'ai perdu au 24e

b0n5a1: on peut jouer au loto avec les indices de voisins...

Zakaoai: ça y est je suis plus dans les 1000 premiers il faut que je recode

R4N4R4M4: Bon, faudrait pas que je me laisse embarquer dans les heuristiques cette fois, faire la simu !

nicolasD: Yeah j'ai régler un de mes problèmes de simu \o/ ^^

R4N4R4M4: Et il t'en reste combien nicolasD ?

Nagatwin: Moi ça va la simu tourne

Nagatwin: la bs avance

R4N4R4M4: bs ?

351062: https://www.twitch.tv/astro_md

Nagatwin: beam search

Neumann: Sneaky Aveuh stream :eyes:

nicolasD: Hahaha, il m'en reste quelques uns (j'ai un nombre de soleil negatif ...)

Nagatwin: bizarre ça

nicolasD: :D ben c'est ma simu qui merde c'est tout ^^

R4N4R4M4: Ah ok BS :D

BlaiseEbuth: Ouai Boy Scout

Zorg1: bah ouais BS Bitmask Sournois

R4N4R4M4: A ne pas confondre avec l'ABS

R4N4R4M4: J'aurais dit "le" d'ailleurs je sais pas pourquoi (algo)

R4N4R4M4: Toujours 300k simu Nagatwin ? C'est énorme

Nagatwin: en pure MC j'ai 300k tours ui

R4N4R4M4: gg

Vry: o/ Neumann

Neumann: io

Vry: le MC, cest top pour les perf. !

Zorg1: après bon est ce efficace ?

Nagatwin: bah pas trop en l'état mais ça permet de tester la simu

Zorg1: ok

Magus: bon mon IA, quand je te dis de faire des arbres ce serait bien de faire des arbres

Zorg1: elle fabrique juste du fertilisant pour les arbres, sois pas pressé

Magus: ah c'est bon, elle fait des arbres

Magus: n'importe où, mais elle fait des arbres

Magus: c'est déjà ça

BlaiseEbuth: Moi c'est cool, mon code timeout tour 19. Depuis tout à l'heure j'enlève des morceaux pour trouver d'où ça viens. Là je suis revenu au code de base, bah ça timeout toujours tour 19... -_-

Zorg1: le tour 19 le nouveau triangle des Bermudes

Vry: J'avais un truc chelou lorsque la seule commande possible était WAIT ... j'ai pas compris d'où ça venait

Bob: question

Bob: https://www.codingame.com/replay/548322934

BlaiseEbuth: c'est un lien

Vry: +1

Vry: :upside_down:

Bob: frame 11, l'arbre en case 32

Bob: il est de taille 2, il devrait pas porter une ombre sur la case 14 ?

BlaiseEbuth: Tour suivant

Bob: ah oui ok

BlaiseEbuth: Les ombres servent que pour l'attributuion des points en début de tour

BlaiseEbuth: Trouvé. C'est moi qui suis con. Donc ça va.

Bob: pas mieux

b0n5a1: 19, 20, 8, 2, 0, 5, 16, 33

b0n5a1: lol merde

Bob: le numero complementaire est le 42

b0n5a1: je sais même pas comment j'ai focus ici ^^

BlaiseEbuth: stoi l'focus

Bob: quel focus celui-la

Default avatar.png aurelien: est-ce que l'ombre d'un de ses arbres affectent ses autres arbres ? (ou que ceux de l'adversaire)

Zakaoai: tout les arbres sont affecté

Bob: toutes les ombres affectent tous les arbres

Default avatar.png aurelien: merci

b0n5a1: non l'ombre se tord pour pas toucher tes arbres, comme dans la réalité

Default avatar.png Loulou6: j'arrive pas à lire les vidéos de jeu, j'ai qu'un écran gris, ce problème parle à qqu'un ?

b0n5a1: t'as peut être pas webgl installé

Robinsstudio: Dans un navigateur moderne, c'est peu probable.

b0n5a1: (ou avtivé)

Alshock: yo

BlaiseEbuth: io

b0n5a1: faut forcer l'activation parfois

b0n5a1: o/ Alshock

Default avatar.png Loulou6: il fallait que j'active l'accélération matérielle, merci !

b0n5a1: oki

YannT: bon, faudrait p'tet que je bosse sur mon propre bot moi maintenant un peu

Zorg1: au lieu de faire la malin à la télé ?

YannT: le malin en javascript en plus

YannT: quel monde

Zorg1: :D

Default avatar.png Loulou6: autre question, d'ordre pratique : vous codez directement dans "l'ide" de codingame, ou il y a moyen d'éviter de tout coder dans le même fichier ?

egaetan: YannT il fait du js....

Vry: Moi dans VSCode mais un seul fichier quand même

Default avatar.png Loulou6: pardon je suis plutot team c++

YannT: egaetan: tu peux rien prouver

Bob: quelle que soit la maniere dont tu t'y prends, au final pour CG t'auras qu'un seul fichier

Bob: libre a toi de coder en dehors avec plein de fichiers partout et de te debrouiller pour fusionner tout ca

Vry: Loulou6 : ça passe très bien le C++ dans VSCode :thumbsup:

BlaiseEbuth: C'est vscode qui passe pas...

Rapsmith: Bonjour, j'ai vu qu'il était possible de faire dire des choses à notre créature pendant les parties, quelqu'un peut il m'indiquer comment faire, je n'ai pas trouvé, cimer :D (typiquement, en Python)

Bob: tu rajoutes ton message apres ta commande

Bob: genre GROW 13 coucou

Rapsmith: Merci !

BlaiseEbuth: neir ed

Bob: c'est fabuleux comment du code completement pete arrive quand meme dans le premier tiers du board

Bob: c'est a se demander ce que font ceux du dessous

rafaelSorel: cc, est ce que les régles vont évoluer en league Argent ?

Bob: non

Bob: plus d echangements apres bronze

BlaiseEbuth: Ils font pousser des arabes apparement...

Bob: :clap:

rafaelSorel: super alors, merci ;)

Bob: le prix de la vanne politiquement incorrecte est decerne a Blaise

BlaiseEbuth: C'est pas moi qui le dit.

YannT: ôn va pas dire comment on fait pour gagner des points alors...

Vry: Indeed!

BlaiseEbuth: C'est un mec qui a demandé tout à l'heure comment faire grandir son arabe. C'pas ma faut si y'en a qui ont pas compris le but du jeu.

Bob: en faisant complete sur des arbres de taille 3

Bob: c'est marque dedans, suivez un peu quoi

Bob: ne vous faites pas plus betes que je ne le suis

Bob: ca commencerait a faire beaucoup

igolus: http://chat.codingame.com/pastebin/abb0cce5-d324-4da5-91de-1411337875bc

igolus: http://chat.codingame.com/pastebin/7331b1e5-7dc2-4013-b525-5d645c6682e3

igolus: http://chat.codingame.com/pastebin/a2b3ea05-7a80-40bb-b9bc-8d36390333a0

Bob: cesse

BlaiseEbuth: Stop spam

igolus: Sorry

Zorg1: hum si tu copies colles un gros bloc de texte ça fait ça

igolus: Ah ok

BlaiseEbuth: Et le partage de code est interdit pendant le contest.

igolus: dsl

Bob: accessoirement le but du jeu c'est que les gens mettent le code au point eux-memes, aussi

igolus: je voulais juste partager un tip

BlaiseEbuth: Un tip et du code c'est pas pareil.

Alshock: t'as pas partagé un tip t'as partagé un github

igolus: Oui

BlaiseEbuth: Avertissement donc.

Bob: c'est quoi cette maniere de mettre des virgules au debut des lignes ? o_O

rafaelSorel: :joy:

BlaiseEbuth: Et avis à ceux qui seraient tenté, les codes copié/collés sont potentiellement détectable, et les responsables sanctionnés. Donc je vous déconseille d'essayer.

Zorg1: j'avais bossé avec un gars qui faisait ça

rafaelSorel: c'est bon les virgules au début de la ligne non ?

igolus: https://github.com/igolus/BFSJava

igolus: Voila

Default avatar.png CooooodinGaaammmeee: lol

Default avatar.png CooooodinGaaammmeee: Après l'avertissement ya quoi ?

BlaiseEbuth: Foutage de gueule je te jure...

Bob: ca a l'air vachement plus verbeux que les BFS que je fais

rafaelSorel: c'est java quoi :D

Alshock: rafaelSorel c'est aussi bon que de ne jamais revenir à la ligne oui

Tiouz: Vous faites vraiment des BFS pour une profondeur 3 ?

Bob: "neighbourg"

Zorg1: tu sais quand le seul marteau que t'as c'est un BFS ...

rafaelSorel: des if else marchent bien aussi à la place des BFS

b0n5a1: pareil que profondeur 2 mais un cran plus loin...

Bob: t'as presque plus vite fait de hardcoder les acces a la main

philRG: comment fait-on un pointeur en python?

BlaiseEbuth: :rofl:

Zorg1: par tradition, je code toujours un BFS dans un contest CG

b0n5a1: lol

Bob: pourquoi veux-tu faire un pointeur en python ?

Tiouz: tout est un pointeur en python sauf les int

rafaelSorel: un pointeur en python lol

rafaelSorel: et les string :)

Zorg1: ah tiens philRG s'est réveillé ...

philRG: ouais je viens de réaliser qu'il faut couper les arbres à la fin

Tiouz: Les strings et tuples c'est pas mutable, je pense que c'est quand même passé en pointeur

Tiouz: Aucune copie n'est faite

Default avatar.png JBM: t1 maintenant on se paie un chan «école» automatique

Default avatar.png JBM: le spam manquait

Default avatar.png JBM: bon, c'est quoi le bon stream entre aveuh et doctolib?

b0n5a1: si tu prends un rdv avec aveuh ça marche...

Default avatar.png CooooodinGaaammmeee: On peut lancer le code en local ? J'ai vu que y'avait un Referee mais ça s'utilise comment ?

Default avatar.png JBM: c'est mon agent twitch qui prend les rdv pour moi

Default avatar.png JBM: il m'envoie une notif quand c'est mon tour, ça marche bien

Bob: le referee c'est le moteur du jeu, il faut le brancher sur deux autres process qui sont les joueurs

Bob: regarder par exemple https://github.com/dreignier/cg-brutaltester

b0n5a1: Merci Bob, ça ramait pas assez :joy:

Bob: bon j'ai la flemme de le faire ce contest, en fait

Default avatar.png JBM: lazy bob is meilleur bob

b0n5a1: Tiens gars, prends ce lien et va rajouter un peu de charge aux serveurs ^^

Bob: brutaltester ne tourne rien sur les serveurs, si ?

Default avatar.png JBM: pas que je sache

b0n5a1: chut

Bob: c'est pas precisement ca le but d'ailleurs ?

b0n5a1: j'ai confondu avec un autre outil ^^

Zorg1: oui avec cgbenchmark

Zorg1: on s'y perd c'est vrai ^^

Bob: le plus simple pour ne pas s'y perdre c'est encore de ne pas y rentrer

Zorg1: bon on va dire que je suis super avancé dans le codage de ma simu et que je suis en train de hider

Default avatar.png M_C: la ligue silver apparait quand déja ?

b0n5a1: en mai

Nagatwin: cliques sur le logo ligue bronze

leyo: clique sur ton niveau de ligue :)

Default avatar.png M_C: ah merci :)

Default avatar.png JBM: et donne nous la réponse, nous on a la flemme de cliquer

Zorg1: ça use les souris de cliquer

Default avatar.png M_C: en mai :D

Default avatar.png JBM: j'ai un touchpas oO

b0n5a1: t'as raison faut pas y toucher

Default avatar.png PythonSlayer: Ils ouvrent tout en meme temps du coup?

Default avatar.png PythonSlayer: ah non je suis bête

Vry: Voilà !

egaetan: moon_moon

egaetan: ?

Default avatar.png JBM: sun_sun pour ce challenge

Zorg1: c'est Oracle² maintenant

Default avatar.png JBM: :slowclap:

Zorg1: #desole

Default avatar.png JBM: slowclap empêche pas le sourire irrépressible

philRG: c pour çà que vous êtes tous derrière moi?

Default avatar.png JBM: non ça c'est le talent

philRG: bientôt 4000 bots

philRG: c dommage qu'il n'y ait pas de boss

Default avatar.png JBM: ben bouge toi

Tiouz: c toi le boss

Neumann: Le tool d'Euler il est pas sensé pouvoir retrieve ce que le referee donne en input ?

Neumann: Ou j'ai rien compris ?

Neumann: (https://eulerschezahl.herokuapp.com/codingame/replays/reproduce/)

Vry: Réponse B :p

Bob: l'autre

philRG: bon j'ai dépassé leojean, reste plus que Zorg

dwarfie: philRG ... fix tes yeux, y'a deja plus de 4000 :D

philRG: et après j'aurai plus d'ami :sob:

pb4: Non Neumann

pb4: L'outil te donne le code d'un bot python qui peut rejouer exactement les mêmes actions

pb4: que le replay

Neumann: Ok rien à voir donc :D

TheLuckyMagician: Salut ,

pb4: Très pratique :)

Zorg1: attend "Replay JSON" j'ai l'impression qu'il y a les entrées du referee dedans

pb4: Si tu as un bug contre un adversaire non déterministe

Zorg1: ah non c'est les graphiques, désolé

YahyaBahjaoui: comment faire grow et collecter l'arbre

Bob: ben grow

Bob: puis complete

Bob: comme c'est ecrit dans la regle

YannT: est-ce que les shadows castées sur mes arbres par mes propres arbres sont "spooky"?

Bob: oui

Default avatar.png JBM: oui, non?

Zakaoai: :ghost:

Gagat: et la question sur le forum, vous avez compris ? Il semble que toutes les ombres ne sont pas prises en compte, juste celle de l'arbre le plus proche ?

Gagat: Ou alors j'ai mal pigé ?

philRG: j'ai pas compris perso ce que veut dire spooky

Bob: ca veut dire que l'arbre dessus ne recolte pas de soleil

Magus: bon, j'arrive presque à planter des arbres correctement

Magus: (le mot presque est important)

philRG: mais spooky n'est pas dans les inputs

Default avatar.png JBM: tu aurais pu faire ça d'une façon plus auguste, mais oui, comme ça

Bob: JBM <3

Default avatar.png JBM: j'ai bon? O:-)

Bob: philRG non effectivement ca c'est a toi de le calculer

Default avatar.png JBM: je fais ça de mém à *longtemps* de vérif

leojean890: bon bah ça a bien submit, mon code pushé à 1h15 qui était 40eme est 326 hmm

philRG: Bob ah ok j'ai eu peur d'avoir codé pour rien car je l'ai vu après

Magus: https://www.codingame.com/share-replay/548441523 c'est beau, je suis un jardinier

Zorg1: leojean890 : mon code était 50 à 10:00 du matin ;-)

Vry: Moi pareil hier soir ...

leojean890: Zorg1 et t'as pushé une meilleure version donc^^

Default avatar.png JBM: il fait souvent ça

leojean890: bon, le premier me met 144 - 107 dans l'ide ça vaut le coup de push ça

leojean890: testons

leojean890: petit bricolage de magic numbers anyway

leojean890: je vais sûrement partir en BFS au final

BlaiseEbuth: Reuh.

BlaiseEbuth: Neumann t'as essayé l'autre bouton ?

Default avatar.png JBM: le bouton rouge?

Zorg1: ils sont tous rouges :(

Neumann: Non mais de toute façon y'a pas l'info dans la réponse du serveur donc c'est mort. Me semblait pourtant que vous en aviez parlé ici même y'a quelques jours

Bob: copier-coller deux fois le meme bug dans la soiree : check

Default avatar.png Troph: Hello, dites, vous faites comment pour vous debuguer dans l'IDE. Je fais des print sur stderr mais je trouve ça bien fastidieux

Default avatar.png JBM: lol

Bob: c'est ca

Bob: de rien

BlaiseEbuth: Quelle info? J'ai pas suivi.

Neumann: De ce que le bot reçoit sur stdin à chaque tour

Bob: Troph tu as bien cerne l'idee je crois

BlaiseEbuth: Y'a pas ça dans le json ?

Neumann: Nein

Zorg1: en fait dans JSON t'as seulement les infos pour afficher la situation du jeu, en plus avec le décalage ça doit pas être très exploitable

Neumann: Et heuresement pour leurs serveurs, dans le fond :D

Default avatar.png Troph: Ow, je continue sur ma lancée alors, merci

Neumann: C'était peut-être le cas sur les vieux jeux

BlaiseEbuth: Sais pas, j'avaisi jamais regardé.

Zorg1: après vu que t'as les commandes des deux bots, tu peux pê bricoler un truc avec la graine de la partie mais c'est un sacré bricolage

Default avatar.png Kmoi: Bonsoir. Dans le challenge, mon écran de jeu reste gris. Quelqu'un sait il pourquoi ?

Zorg1: (pour rejouer sur un refere local la partie exacte)

Bob: parce que tu n'as pa active l'acceleration materielle dans ton browser

Default avatar.png JBM: c'est vrai qu'un tel niveau de 3D justifie ça

Bob: (supposition eclairee vu que j'ai vu passer la question et sa reponse au moins trouze fois depuis 18 heures)

Default avatar.png Kmoi: Ahhh, ok merci Bob, je vais tester

Default avatar.png JBM: c'est quoi la symétrie de départ pour les arbres?

BlaiseEbuth: 2

Zorg1: centrale non ?

Bob: centrale ?

Default avatar.png JBM: centrale, sinon random?

Default avatar.png JBM: ça parait pas particulièrement Juste

Default avatar.png JBM: rapport à l'anisotropie du jour

Default avatar.png Kmoi: Ok, c'était bien ça. Merci Bob

BlaiseEbuth: "juste" "cg"

Default avatar.png JBM: hl @pb4 tiens je suis sûr qu'il se pose la question depuis bien avant moi

Magus: Neumann: même les vieux jeux, le viewer reçoit que ce qu'il avait besoin pour afficher (pour avoir fait Meanmax). Par contre la différence c'est que c'était un JSON compréhensible. Avec le SDK maintenant les données c'est un format custom pour "donner des ordres" au viewer, et pour un humain c'est vachement moins sympa :D

Bob: l'orientation du soleil peut favoriser un des deux joueurs, non ?

Default avatar.png JBM: c'est ce que je dis oui

-Cile-: une question bête, comment je peux faire parler mon Totoro ? (je ne suis plus bien motivée pour améliorer mon IA ce soir, par contre pour faire parler une peluche....)

BlaiseEbuth: ca depend de comment tu te tournes

Magus: Bob selon moi oui, mais je peux me tromper. J'ai même peur qu'à haut niveau de soit une source de défaite/victoire facile.

Neumann: Ouais ça me paraissait déconnant que tout stdin soit foutu dans le replay

Default avatar.png JBM: -Cile-: rajoute le texte après un espace et ta commande

Bob: case in point, seed=-8138047569238884400

jfaixo: oui le totoro de droite a le soleil dans les yeux au début, pas pratique pour arroser

-Cile-: Merci infiniment !

Default avatar.png JBM: c'est explicite dans l'énoncé pour WAIT mais ça marche pour les autres aussi

Magus: 30 minutes à chercher un bug .......

Zorg1: c'est court

Magus: et le grand gagnant est : player->score = nutrients + richnessBonus;

Magus: manque un + bordel ><

-Cile-: ça arrive

leojean890: mon évol me fait passer de 330 à 224, peut mieux faire hehe

Magus: tu m'étonnes que mon IA elle voulait pas complete

Bob: un truc doit m'echapper : cerr <<

Bob: https://www.codingame.com/replay/548465601

Bob: frame 25, pourquoi je peux faire grow 7 mais pas grow 1 ?

Palmipedus: en fait ca branche pas mal, 41 states possible au premier tour (sans compter l'adversaire)

Bob: les deux arbres sont de la meme taille...

Mazelcop: Bob, ton arbre est peut-être dormant ?

Bob: en theorie non c'est le debut du jour

BlaiseEbuth: il est pas encore levé

Bob: ou alors c'est encore un putain de decalage entre le viewer et le log

Bob: ok c'est ca

Bob: ca me fatigue ca

Palmipedus: Bob tu n'as pas assez de sun, meme le grow 7 ne devrai pas passer

Palmipedus: ha oui les declalage c'est trop chiant pour debuger

Bob: connerie d'affichage, en fait en frame 25 je *ciens* de faire le grow 7

Bob: viens*

BlaiseEbuth: Bwa... Y'a des logs non ? Bon. #DavidGoodenough

YahyaBahjaoui: provided invalid input. Expected 'GROW <idx> | COMPLETE <idx> | WAIT' Got 'Complete 4'

YahyaBahjaoui: ca veut dire quoi ca

Tiouz: :facepalm:

Bob: que tu as sorti une commande mal formatee

BlaiseEbuth: Ca veut dire mets des majuscules...

Bob: genre Complete au lieu de COMPLETE

Beretta_Vexee: Faudrait que je refactorise mon code. Cela devient immonde mais flémme.

BlaiseEbuth: Moi je GROW mon pic de Balmer.

Bob: on donne les commandes valides en input et y a encore du monde qui arrive a output autre chose

BlaiseEbuth: Ouai mais c'est pour faire pousser des arabes. C'pas pareil.

BlaiseEbuth: Désolé, mais cette typo me fait rire.

BlaiseEbuth: Peut-être trop... :thinking:

YahyaBahjaoui: bob j'arrive a grow l'arbre mais j'arive pas à la recolter

YahyaBahjaoui: meme si avec complete

YahyaBahjaoui: merci bcp bob quand meme

Bob: 1. COMPLETE et pas Complete

Bob: 2. est-ce que ton arbre est bien de taille 3 ?

YahyaBahjaoui: oui à taille 3

Beretta_Vexee: C'est moi ou il y a énormément de nouveaux arrivant ?

Bob: YahyaBahjaoui montre un replay ?

Bob: (les 3 boutons en bas a droite, celui du milieu)

BlaiseEbuth: Mais non. C'est les utilisateurs actifs habituels de CG.

Default avatar.png Loulou6: c'est le weekend, normal @beretta

BlaiseEbuth: Et encore, il en manque 87000

YahyaBahjaoui: bob https://www.codingame.com/servlet/urlinvite?u=4310941

Bob: hm non rate, c'est pas un replay ca

YahyaBahjaoui: j'ai pas trouver les 3 button

Bob: sous le totoro bleu

Bob: tu as un bouton pour les reglages, un bouton replay et un bouton fullscreen

YahyaBahjaoui: att bob je cherche

BlaiseEbuth: Bob.wait()

b0n5a1: woputain...

Bob: je vais aller me chercher un truc a boire pour patienter

Bob: :beer: ou :whisky: ?

Bob: #whyNotBoth

Default avatar.png Loulou6: binouze ^^

YahyaBahjaoui: bob j'ai trouvé replay

b0n5a1: Bob :beer: :beer: :beer: :beer: ...ce sera pas de trop

YahyaBahjaoui: https://www.codingame.com/replay/548475322

Beretta_Vexee: Quelqu'un a codé une presentation pas trop salle du terrain de jeu en python ?

egaetan: rhum

R4N4R4M4: Si les deux joueurs font COMPLETE, les nutriments baissent de 1 ou de 2 ?

Beretta_Vexee: Si oui comment ? list de dico, ou class etc ?

YahyaBahjaoui: https://www.codingame.com/replay/548475322

Bob: c'est le dernier tour

YahyaBahjaoui: oui

Bob: ben voila

YahyaBahjaoui: je colle lon code ici

Tiouz: L'arbre est dormant

Beretta_Vexee: R4N4R4M4 les nutriments de la case baisse de un après chaque abattage.

Bob: tu passes ton arbre en taille 3 au dernier tour

Beretta_Vexee: YahyaBahjaoui non !

YahyaBahjaoui: oui mais je fait comment

BlaiseEbuth: YahyaBahjaoui non tu code rien ici

YahyaBahjaoui: ok

YahyaBahjaoui: blaise

R4N4R4M4: Beretta_Vexee les nutriments sont valables pour toute la forêt non ?

Bob: tu ne peux pas le recolter, c'est trop tard

YahyaBahjaoui: donc comment je le fait

Beretta_Vexee: R4N4R4M4 non c'est la richesse d'une case

Bob: il faut le faire grandir plus tot

YahyaBahjaoui: comment ca

leyo: quelqu'un connait le taux de participations à ce genre de challenge ? Genre (participants réels / inscrits)

YahyaBahjaoui: je change quoi

Beretta_Vexee: Les cases au centre sont plus riches en nutriment que les case en périophérie.

BlaiseEbuth: leyo 100% selon les organisateurs

Bob: tu arrives au tour 24, la partie est terminee

Bob: si tu veux recolter ton arbre, il faut l'amener a taille 3 avant le dernier tour

YahyaBahjaoui: oui exactement mais je fait quoi pour aggrandir plus tot

Bob: ben euh

Bob: tu agrandis celui-la au lieu d'agranir les autres ?

Beretta_Vexee: Quand je vais dans le leader board et que je regarde les haut, je suis déprimé. Quand je regarde le chat je suis rassuré ;-)

leyo: BlaisEbuth ça me semble raisonnable

R4N4R4M4: Beretta_Vexee je parle pas de la richesse, mais des nutriments, normalement, ils commencent à 20 et diminuent pour chaque arbre récolté : https://prnt.sc/12n6nlg

YahyaBahjaoui: mais je controle pas quel arabre j'aggrande

Bob: bien sur que si

Bob: c'est precisement a ca que sert la commande grow

Bob: en prime, tu lances des complete qui ne servent a rien

b0n5a1: alors on fait pas pousser des arabres ni des arabes dans ce jeu

b0n5a1: c'est pas dans les règles

Bob: rappel : la liste des commandes valides t'es donnee en input

leyo: le meme a bien pris

Zorg1: on est a nutriment 200 sur ce chat

BlaiseEbuth: Bah c'était déjà de lui à la base. ^^

leyo: ah ^^ j'avais pas la ref de base

b0n5a1: leyo c'est de lui dès le départ...

Beretta_Vexee: R4N4R4M4 ah désolé, je confondais avec la richesse. A priori oui c'est toute la fôret mais tu continues a faire des points avec le bonus de richesse même après 20. J'ai jamais vue de récolte qui rapporte pas de points.

BlaiseEbuth: leyo on est à 30% d'inscrits ayant un bot en arène.

b0n5a1: une fois sur deux (une?) ça veut rien dire ses phrases

Beretta_Vexee: Je crois qu'il faut laisser faire la selection naturelle.

Beretta_Vexee: Si tu passes pas la première partie du challenge, faut s'arrêter et réfléchir par hurle à l'aide sur le chat.

leyo: BlaiseEbuth le 3800/12000 ça va je l'avais, c'est sur une approximation du final habituel que je me questionnais

leojean890: #97 en cours de submit suspense

R4N4R4M4: Beretta_Vexee, donc ma question c'était si 2 joueurs coupent un arbre en même temps, les nutriments, je suppose qu'ils gagnent autant de nutriment chacun + leur richesse de case, mais les nutriments ensuite, ils devraient baisser de 2 selon l'énoncé, mais je voulais être sûr

leyo: oui

BlaiseEbuth: Ma réponse c'est RTFS!

leyo: S ? M !

leojean890: je joue contre #1 et j'essaie d'imiter

R4N4R4M4: S:Source code ? :D

BlaiseEbuth: Non statement

Beretta_Vexee: R4N4R4M4 normalement oui, mais je ne suis pas rentré dans ce niveau de détail pour mon bot. Les régles favorises ceux qui abattent leurs arbres tôt.

leyo: ah en effet ça marche

leojean890: ça oscille #86 #135

Zorg1: pas mal leojean890

R4N4R4M4: Beretta_Vexee oui pas évident de savoir quand abattre, mais le plus tôt est le mieux je pense aussi

Zorg1: heuristique ?

BlaiseEbuth: Stoi le stick.

Bob: toi-meme

leyo: Beretta_Vexee c'est pas si évident, l'accumulation de soleil rapporte des points / actions aussi, en plus de pouvoir gêner avec tes arbres

R4N4R4M4: Il fait quoi leojean890 ? Ah oui pas mal

leojean890: copier #1 mdr

Beretta_Vexee: R4N4R4M4 le coût de la coupe est fixe 4, mais le coût de la croissance de moyen à grand augmente assez vite avec le nombre d'arbres grands.

leojean890: #76 en cours de submit^^

leojean890: juste des magic numbers

BlaiseEbuth: C'est nutella simulator en fait...

Beretta_Vexee: Il y a un optimum a trouver avec 3-4 grands arbres, et tu coupes le moins bien placé.

leojean890: pour le moment pas d'algo de recherche, pas de simu

R4N4R4M4: Beretta_Vexee, je plafonne mon nombre de grands arbre à 4 pour l'instant, mais je vais voir si c'est mieux à 3

Beretta_Vexee: leyo quand tu commences à avoir beaucoup de grand arbres ils sont souvant dans l'ombre et ne rapporte pas tant que cela.

leyo: exact

leojean890: je pourrais tenter la même éval avec un minmax ou bfs avec faible depth

leojean890: minmax avec les 2 qui play en même temps

R4N4R4M4: Ah ok couper le moins bien placé, ça je le fais pas encore

leojean890: mettre à jour l'état de jeu tous les 2 tours quoi

BlaiseEbuth: Pas minmax

leojean890: et évaluer avec une depth paire

leojean890: c'est pas un vraiminmax

Beretta_Vexee: minmax je me casse les dents dessus, dûr de trouver une fonction d'évaluation potable et qui ne donne pas n'importe quoi pour le joueur adverse.

philRG: Beretta_Vexee je coupe les arbres qu'à la fin (à partir du jour 19) j'estime le taux journalier de points de soleil récoltés, et je coupe les arbres en fonction du nombre de jours restants

BlaiseEbuth: Tavu le branching?

leojean890: bah là j'ai une éval

leojean890: j'ai même pas 50 lignes de code

leojean890: quoi que si en comptant la lecture et stockage des nputs je dépasse 50

R4N4R4M4: Tu eval le score ou pas ?

leojean890: avec le branching ça peut être minmax juste depth 2 ou 4 ptet, un ou 2 coups chacun

leojean890: ce serait évaluer le score les sun

leojean890: le nb d'arbres de chaque taille

Beretta_Vexee: Je suis à 150 lignes mais le code est dégelasse. J'essais de prendre en compte richesse du sol, ombres et positions préférentiels.

leojean890: et strictement la même chose avec un - devant pour 'adversaire

leojean890: pondérer tout ça avec une grosse soupe de magic numbers

leojean890: mais bon top 100 avec si peu de lignes, c pas mal (mais ça tiendra pas XD)

R4N4R4M4: Continue à me pousser leojean890 :D

philRG: moi une centaine de lignes de code mais pas mal de if/else, j'ai du mal à créer une fonction d'eval unique

leojean890: ah ouais je te fais monter hehe

leojean890: je sors du top 100 mdr, 102

leojean890: dmg j'étais 69 en cours de submit

leojean890: ça baisse

Beretta_Vexee: leojean890 comment tu as fait ta representation de la carte ? J'ai 50% du code qui sert a précalculer voisinage, ombre portée, etc.

leyo: leojean890 change un peu tes magic numbers ;) pour l'instant ça marche bien

Bob: je note cette idee de ne couper les arbres qu'a la fin

R4N4R4M4: Bah pour l'instant j'ai des if pour les moves, j'essaie de régler mon éval pour qu'elle performe autant, mais j'ai quelques différences encore, je perds 300 places avec l'eval des moves

Bob: absence totale d'inspiration ce soir

leojean890: Beretta_Vexee je n'ai pas de représentation de la carte, juste un tableau de voisins

Beretta_Vexee: Constituer un stock de sun pour faire une grande coupe en fin de partie c'est une bonne idée, mais il faut couper tôt pour gagner.

R4N4R4M4: Faut alterner Bob : inspirer, expirer, ...

YahyaBahjaoui: je suis le premieir fdans mon rang pourquoi ne pas laller sur bronze

Bob: YahyaBahjaoui patiente un peu

leojean890: et j'essaie de ne pas me retrouver à l'ombre^^

R4N4R4M4: Tu gères la distance dans ton tableau de voisins leojean890 ?

Bob: il faut que tous tes matches se terminent

leojean890: R4N4R4M4 non je fais juste un ordonnancement des cases par risque d'ombre

YahyaBahjaoui: donc je teste beacoup sur l'arene

leojean890: genre quand je réfléchis à planter une graine

leojean890: si jamais y'a un arbre qui risque de me mettre de l'ombre..

leojean890: mon score dans l'éval diminue

leojean890: même s'il n'a pas encore la taille pour me mettre de l'ombre

R4N4R4M4: Ah oui, faut que j'évalue ça aussi

leojean890: ça arrivera sûrement à un moment)

BlaiseEbuth: Saleté d'arbre...

leojean890: #90 en fin de submit not bad

Beretta_Vexee: Je calcuie une carte d'ensoleilement complète que j'utilise pour la plantation et la coupe.

leojean890: allez je continue à jouer en masse contre #1

leojean890: je vais bien trouver d'autres trucs à voler

R4N4R4M4: Ah oui pas bête de copier #1 :D

leojean890: je fais que ça mdr

leojean890: enfin le top 3

BlaiseEbuth: Si.

BlaiseEbuth: Vous êtes bêtes t'façon.

Bob: s'toi l'bete

Zorg1: je vole pas moi, j'analyse et je m'inspire du jeu du top

BlaiseEbuth: Nan moi c'est la Bête. 666 toi même tu sais.

YahyaBahjaoui: le match contre le meme joueur se relance

philRG: Beretta_Vexee: j'utilise la carte d'ensoleillement que pour la plantation, comme je coupe qu'à la fin du jeu

Bob: moi je lurke sur le chat en attendant de voir passer la bonne idee

YahyaBahjaoui: je pense que j'ai joué tous mesmatche

Bob: YahyaBahjaoui : si tu affiches tes derniers matches, tu as un pourcentage d'indique en haut de la liste

leojean890: de tte façon je fais ça dans tous les multis, du tuning de nbs.. à défaut de savoir faire des perfs :P

Beretta_Vexee: philRG j'ai une limite sur le nombre de grand arbre et je coupe en priorité les arbres à l'ombre.

Bob: tant que c'est pas a 100 % t'as pas termine

Bob: tu ne passeras en ligue superieure que si tu es au-dessus du boss a la fin de tes matches

YahyaBahjaoui: oui Bob erci bcp pour votre aide

YahyaBahjaoui: vraiment

leojean890: faire des perfs en c++ ça reste galère pour moi;)

Bob: de rien

Beretta_Vexee: Jouer contre soi même cela permet de bien mettre en évidence des conneries dans son bot.

leojean890: aussi hehe

leojean890: mais ce jeu est pratique

philRG: Beretta_Vexee ah oui j'ai pas calculé le taux d'ensoleillement des grands arbres

leojean890: vu que symétrique

leojean890: tu regardes comment l'autre joue en face de toi en 1V1

leojean890: et tu comprends pk sa strat est meiulelure

philRG: ça peut faire gagner des points

Bob: symetrique mais pas tout a fait a cause du soleil

leojean890: ouais certes pourr le soleil^^

leojean890: mais bon de toute façon le soleil va bien venir 4 fois de chaque côté:)

leojean890: #76 ça remonte:p

philRG: ombre menaçante si elle est projetée par un arbre de taille (size) supérieure ou égale à leur arbre.

Beretta_Vexee: j'avais des comportements abérant parce que l'algo favoriés toujours les céllules avec le plus faible cell index.

philRG: j'avais pas vu le >=

leojean890: philRG même si l'arbre est plus petit pars du principe qu'il va le faire grandir:p

YannT: je fais top500 avec un algo de recherche très poussé du genre coupe des arbres, sinon au pire fait grow un arbre ou seed un truc, et de façon générale vise ce qui est vert

BlaiseEbuth: Mais est-ce que tu fais pousser des arabes ? Non ? Alors c'est nul.

YannT: et pour les ombres ben sert les dents et ça va se bien se passer en gros

irmo322: Bonjour à tous, L'ombre menaçante est toujours entre deux arbres adverses ou aussi entre deux arbres alliés ?

philRG: leojean890, ouais mais un arbre de size 3 entouré d'autres arbres de size 3 autant le couper je sais pas

leojean890: avec 2-3 if YannT ?^^

Beretta_Vexee: YannT en tune un peu tu fois pouvoir faire top 300 avec cela ;-)

Bob: irmo322 tous les arbres

philRG: je vais coder un bitboard et terminé na

irmo322: Merci Bob

BlaiseEbuth: Et le mordor

YahyaBahjaoui: bob est ce que t en bronze ou silver

Beretta_Vexee: Genre tu rajoutes des préférences pour certaines cellules de seed histoire de pas tous cencentrer au centre.

Bob: moi je fais pousser des orbes

YannT: le bitboard j'y crois moyen là pour le coup

leojean890: ah ouais le choix de quoi couper j'avoue ça peut être une idée, couper celui qui a plus de voisins

Bob: YahyaBahjaoui en bronze - silver n'est pas en core ouvert

YahyaBahjaoui: ah merci

YannT: je crois que je vais pas trop me fatiguer à tuner l'heuristique moisie là, next step écrire la simu et après on va voir ce qu'on en fait je pense

leojean890: pas mal de pythn en haut, ça joue heuristique^^

YannT: heuristique là dessus c'est le meilleur moyen de plafonner bien vite

leojean890: tu peux faire un bfs ^^

YannT: les heuristiques ça marche quand toi en tant qu'humain malin t'es capable de formuler la stratégie gagnante

leojean890: ton éval que t'auras tunée en heuristique peut s'adapter à depth plus grande

YannT: là je sais pas vous mais bon

irmo322: Est-ce que si on commence à dormir et que l'adversaire continue de jouer on peut jouer se "réveiller"

irmo322: ?

Bob: vu le peu de temps que je vais pouvoir y consacrer, je crois que je ne vais pas faire d'etincelles

Bob: irmo322 non

irmo322: Merci encore ;)

leojean890: YannT joue contre le #1 et déduis en comment l'améliorer^^

Bob: si tu fais WAIT tu dors jusqu'au jour suivant

YannT: franchement je saurais même pas faire d'eval ou de stratégie, j'ai aucune idée de ce qui est opti ou pas

Beretta_Vexee: irmo322 non, deux joueurs dorment fin de la journée

YannT: genre je dois jouer à ça en jeu de plateau

YannT: aucune idée

leojean890: YannT certes mais en jouant IDE contre #1 tu peux améliorer hyper vite ton bot

leojean890: en copiant

YannT: t'es vachement ambitieu comme mec toi non? :p

leojean890: leyo j'avoue ils marchent bien tes magic nbs ^^

leojean890: YannT tavu XD

leyo: héhé

leojean890: bon sur du long terme on peut faire mieux que ça of course:)

leojean890: on est que le 2eme day^^

leyo: meilleurs magic numbers ?

leojean890: que tuner^^

Bob: ameliore ta magic

leojean890: il parle d'ambition^^

philRG: Beretta_Vexee: j'ai des paramètres pris en compte dans ma fonction d'éval (basée sur stratégie), après faut y mettre des poids, c'est pas trop mon truc

leojean890: mais ouais copier c pas de la super ambition^^

leojean890: mais ça fait le taf pour se lancer au début

R4N4R4M4: Tu évalues des combinaisons d'action leojean890 ?

leojean890: R4N4R4M4 implicitement :P pas encore en mode BFS:)

leojean890: dans le sens où je peux mettre un if qui interdit de faire qqc tant que l'autre n'est pas faite

Sakisan: je refais aussi une petite apparition dans le top 100 avant d'aller dormir, sympa

leojean890: gg

leojean890: R4N4R4M4 et toi ?^^

YannT: demain je vais appliquer la méthode "ce qu'on fait quand on aucune idée de quelle est la strat opti" => j'écris la simu et après on voit ce qu'on fait avec

BlaiseEbuth: That's my boi


Bob: la base

leojean890: tu fais une simu qui marche et ensuite tu vois comment l'évaluer en testant des trucs^^

Bob: allez je tweake un magic number et je vais au lit

YannT: même évaluer ça me semble foirax

YannT: va faire du rollout je pense

leojean890: ah oui tu voulais mcts

leojean890: tu disais hier:)

YannT: ouais

leojean890: aller jusqu'au bout

BlaiseEbuth: Faut tester des turcs plutôt, pour être raccord.

leojean890: en simulant l'adv je suppose ?

Bob: Blaise a fond de seconde

YannT: le jeu a une fin et pas trop de coups à jouer dans une partie

YannT: ça doit se faire de le rollout

leojean890: ouais pas trop de coups

leojean890: en effet avec plein de simus ça peut trouver un truc pas mal

Bob: rollout = jouer une partie complete ?

YannT: yes

YannT: win/lose, comme ça pas d'eval

leojean890: j'avoue ça peut se tenir je pense^^

YannT: c'est l'astuce pour faire un bot qui joue à un jeu auquel tu saurais pas jouer (style UTTT)

YannT: code les règles, rollout, ça gagne ça perd, et zou

leojean890: certains ont des évals à uttt et sont top 30 légende^^

leojean890: dbdr Neumann

Bob: j'envisageais de partir sur un truc de ce genre, pour essayer, mais pas vraiment le temps

Neumann: :eyes:

YannT: et certains ont pas de jambes aussi

leojean890: bon ils sont doués aussi xD

BlaiseEbuth: *un turc

MattLGX: Bon, je viens de passer la league bois

MattLGX: Youpi!

Bob: et c'est la que tes ennuis commencent

Bob: bienvenue

BlaiseEbuth: :clap:

philRG: par exemple si un arbre de taille 3 rapporte par de point de soleil pendant 6 tours consécutifs, je le coupe?

BlaiseEbuth: La grosse mouche

MattLGX: Je gagne tout avec mon algo tout pourri!

MattLGX: lol

YannT: t'inquiète ça va pas durer :)

Bob: youpi, top 500

MattLGX: lol

Bob: (on a les joies qu'on peut)

MattLGX: Je passe en league SEED

MattLGX: Du coup je change rien, je lance comme ça

Default avatar.png 1gui2gui: oui c'est à partir de bronze où il faut réfléchir un peu :)

MattLGX: Ah ok

MattLGX: Je vais optimiser le truc à ce moment là alors.

MattLGX: Le challenge a été lancé hier

MattLGX: Et il y a déjà combien de personnes qui ont soumi un code?

Bob: les ligues bois ca sert a laisser dehors ceux qui dse sont approches parce qu'ils ont vu de la lumiere mais qui sont juste pas faits pour ca

Vry: 4k+

Default avatar.png 1gui2gui: les ligues bois sont faites pour donner goût au jeu et monter vite avec des règles assez simples pour être accessibles au plus grand nombre ;)

MattLGX: ok

YannT: Bob: ouais enfin là la ligue bois tu la passe au random sur les actions possibles fournies :p

Bob: ca c'est la maniere PC de le dire :D

Bob: YannT : et pourtant meme comme ca il y en a qui ont du mal

MattLGX: Chut Yann bon sang! Mon secret est éventé! lol

**BlaiseEbuth allait faire une métaphore liée au jeu pour signifier qu'il allait se coucher, mais il se dit en l'écrivant que "un abre qui éjecte une graine sur une cellule avant de s'endormir" c'est un peu tendancieux. Mais c'est peut-être juste l'alcool...

Default avatar.png 1gui2gui: mdrrr

Bob: t'as pas trouve un jeu de mot pourri et discriminatoire ?

Bob: je suis decu

philRG: ou reached the limit of plays for a period of time."

philRG: pourtant je touche plus à rien depuis 1/2h

BlaiseEbuth: Pourquoi "faire pousser des arabes" et "tester des turcs" ce serait discriminatoire ? Faut arrêter de donner aux mots un sens qu'ils n'ont pas. Ca c'est de la discrimination (positive qu'on dit d'ailleurs).

Bob: oui le terme est mal choisi

Bob: c'est la faute aux Ecossais

Bob: surtout ceux du cote d'Islay

Bob: #jAiPlusMaTete

BlaiseEbuth: Bien d'accord. Sus aux kilts! Il ne doit en rester qu'un !

MattLGX: Dès qu'on rajoute des glands dans le jeu, ça se complique...

yuliya: :laughing:

BlaiseEbuth: Bref. Je disais que j'allais me coucher moi. Bon inuit à tous.

philRG: bon je peux pas tester si mes gros arbres ont suffisamment de soleil :-(

MattLGX: League SEED ça sonne plus soft en French que League Gland

philRG: bonne nuit

Zorg1: bn

b0n5a1: bn

Vry: bn

Bob: bn

MattLGX: Minuit trente on ferme la boutique ici?

Bob: non

Zorg1: non y a l'équipe de nuit qui débarque

Bob: on ouvre les bouteilles

Default avatar.png Loulou6: comment les cases inexpoitables sont générées ?

b0n5a1: regarde dans le code source

Bob: au pif ?

MattLGX: C'est symétrique à chaque fois

Zorg1: bah ils ajoutent au hasard des case inexploitables de façon symétrique

Default avatar.png Loulou6: au pif symétrique

Bob: au symepif

MattLGX: Oh League Bronze

MattLGX: Bon faut que j'optimise mon algo

SefioR13: On sait déjà quel score il faut avoir pour passer en argent quand la ligue va sortir ?

Bob: non

SefioR13: ok

b0n5a1: grosso modo dans les 300 premiers

b0n5a1: en général, c'est pas figé

SefioR13: Ah oui dur

Bob: je dirais premier quart de la ligue bronze, tranquille

Vry: Ouais, Argent c'est jouable ...

Vry: Après, il va falloir réfléchir ...

Bob: c'est ca

Bob: en general argent c'est faisable juste avec deux idees basiques

Bob: reflechir un peu pour passer or

Bob: et apres faut se sortir les doigts

leojean890: argent parfois ils en prennent plus de 300, je crois que c'était direct 800 une fois

leojean890: quand il y a trop de monde en bronze

b0n5a1: ouais comme Bob disait avant, un petit quart

Bob: et d'ici lundi il va y avoir carrement du monde

b0n5a1: bin les wood y'a rien à faire pour les passer aussi

Zorg1: on peut pas avoir les wood d'OoC à chaque contest non plus

Vry: 180 / 413 / 3841 :nerd:

Zorg1: ça en rebute pas mal

b0n5a1: non mais ooc c'était un peu abusé dès le départ ^^

Vry: J'avais adoré celles d'Ooc :D

YannT: c'était bien ooc

YannT: j'ai streamé avec mon tshirt gagné sur ooc d'ailleurs :D

VincentBab: :)

b0n5a1: dès la première wood tu fais un truc pour spotter la position de l'autre

Zorg1: y avait quand même du boulot pour sortir du bois ^^

Bob: ah fallait etre un peu plus accroche oui

YannT: là clairement il y a eu volonté de simplifier le début, donner les actions possibles en input c'est une première je crois

YannT: le random est offert :D

b0n5a1: de mémoire CoK aussi était un peu comique

b0n5a1: (plus sûr)

Bob: il y a eu au moins un autre contest avec les coups possibles qui etaient donnes, il me semble

VincentBab: Mais en fait y en a plein qui galère deja a comprendre les input/output et la boucle while(true) xD

YannT: OoC jme souviens surtout du boss gold qui faisait vriller tout le monde

Bob: mais bon t'as des gens qui arrivent a te sortir une commande qui n'est pas dans la liste des coups possibles

Bob: tu sens qu'ils ont bien tout capte

b0n5a1: t'ajoutes à ça ceux qui savent pas lire / comprendre tout court VincentBab (je vise personne :joy: )

YannT: c'est sur qu'un bot top15 après 3 semaines de contest, c'est déjà bien mature, ça fait saigner du nez ahah

Default avatar.png JBM: les inputs en entrée c'est pas standard?

Default avatar.png JBM: c'est dans les guidelines au moins

Default avatar.png JBM: j'ai souvenir d'aussi vieux que wondev woman qui le fasse

MattLGX: Vous avez des bonnes idées en terme de stratégie?

VincentBab: quand tu fait du dev web tu sais meme pas ce que c'est stdin/stdout/stderr ^^

Bob: JBM -> ah oui c'est lui

Bob: VincentBab si moi je sais

Default avatar.png JBM: lui?

Bob: mais c'est parce que j'ai commence sur ZX81 aussi, le web c'est venu plus tard

Bob: JBM : WW

Default avatar.png JBM: ah

Default avatar.png JBM: «elle»

Default avatar.png JBM: jme comprends

Bob: luille si tu veux

Default avatar.png JBM: la guerre des genres j'ai 2/3 mois de retard

VincentBab: oui voila, tous ceux qui commence par le web et qui ont pas les base de l'informatique connaissent pas ^^

Bob: je ne sais pas comment c'est cense se pogner en ecriture a la con

Bob: j'ai vu passer un tres beau troll comme ca

Default avatar.png JBM: tiens tant qu'il y a les specialistes du web ici

Default avatar.png JBM: comment j'accede a l'instance monaco de l'IDE?

Default avatar.png JBM: alternativement

Bob: un traducteur a qui un editeur demande de mettre de l'inclusif sur un bout de texte

Default avatar.png JBM: si cgsync existe encore, comment on en recupere les sources?

Bob: le gars suggere que du coup par souci de coherence il faudrait transcrire la totalite du texte

Bob: l'editeur lui dit OK

Default avatar.png JBM: kaching

Bob: le gars s'execute

Bob: et vu le resultat "ah euh en fait non on va pas faire ca"

VincentBab: instance "monaco" ? je sais pas ce que sais

Bob: point made + triple facture

Bob: VincentBab : monaco c'est l'editeur de l'IDE

VincentBab: il y a pas un github pour cgsync ?

Default avatar.png JBM: ptet; un lien?

Bob: (celui de VSCode si je ne dis pas de betise)

Default avatar.png JBM: yes

Zorg1: ça marche pas uniquement pour chrome cgsync ou je date ?

VincentBab: sinon tu cherche "how to view chrome extension source code" dans google ^^

Default avatar.png JBM: ben j'ai fait

Default avatar.png JBM: et c'est pas probant justement

Default avatar.png JBM: Zorg1: si

Default avatar.png JBM: «officiellement»

Default avatar.png JBM: ça aide pas, mais ça n'empêche pas encore théoriquement

Default avatar.png JBM: sinon j'ai tout bien parcouru le github de cg et j'ai pas vu de sync

VincentBab: oué, c'est que c'est pas open source alors :/

Bob: bon je vais peut-etre aller dormir moi

Bob: j'ai 5 gamines a la maison pour un anniversaire tout a l'heure

b0n5a1: bn Bob

Default avatar.png JBM: comment des extensions web peuvent ne pas etre opensource

Default avatar.png JBM: brave new world

b0n5a1: ça c'est civilization V

Default avatar.png JBM: baba yetu yetu uliye

Tiouz: Bon j'ai enfin ma simu qui marche !

Zorg1: y a pu qu'a trouvé l'éval qui va bien

Zorg1: ezpz

Tiouz: niveau 0 de l'optimisation. Je fais 150 simulations de parties random en 100ms

Default avatar.png JBM: ah oui la sim

Zorg1: en python ?

Default avatar.png JBM: c'est ça qu'est chiant avec les streams

Tiouz: Je vais faire un MCTS avec un tweak dans le choix des coups à partir d'une heuristique

Tiouz: en C++

Default avatar.png JBM: est-ce que j'ai le droit de continuer a coder en-dehors?

Tiouz: Ah, et j'ai oublié de rajouter les pragmas^^

Default avatar.png JBM: les célèbres

Tiouz: Ok, 700 simulations maintenant, un petit *5 ça fait toujours plaisir

VincentBab: Ca parait pas mal MCTS pour ce ceux

VincentBab: jeux*

VincentBab: jeu*

VincentBab: xD

abdoulsn: :grinning:

VincentBab: mais je sais pas comment faire un MCTS pour un jeu ou les 2 joueurs joue en simultané

VincentBab: pb4 a parler de DUCT dans sont post mortem du dernier contest, mais l'article est hard -_-

abdouIaye: hello

Tiouz: J'ai tapé MCTS with simultaneous plays et je suis tombé sur un article qui parlait de DUCT

Tiouz: hello

VincentBab: c'est hard les articles avec notation mathematique partout quand tu as pas l'habitude, dur a implementer je trouve :/

Tiouz: Well, j'ai l'habitude^^

Tiouz: Mais les algos parfois ils sont mal expliqués c'est chiant

Tiouz: Je voulais regarder NMCS, mais leur algo est vraiment mal écrit

VincentBab: si jamais tu as un pseudo code simple pour DUCT je suis preneur ^^

Tiouz: Non, j'ai juste vu ce terme passer aujourd'hui, c'est pour ça que je m'en souviens

Tiouz: Ah je me souviens, c'est Double UCT

VincentBab: Decoupled je crois

VincentBab: Decoupled UCT

VincentBab: nan ?

Tiouz: oui

Tiouz: C'est pas vraiment plus dur que MCTS...

BigUP: je seed un peu... je devrais gagner pas loin de 1000 places avec un peu de chance

Tiouz: Je suis environ 1000 avec un MC avec 700 rollouts, je suis un peu déçu

BigUP: Tiouz... il y a de quoi ! :) mais ca veut peut-etre dire qu'il y a un truc mal géré dans ton code

VincentBab: je suis pas un specialiste, mais ca parrait pas beaucoup 700 rollout nan ?

Zorg1: c'est faible je dirais mais pas encore fait la simu

BigUP: VincentBab, en Python, c'est énorme ! :)

Tiouz: Je pense plus qu'il faut faire une bonne heuristique pour aller avec tout ça. D'après ce que j'ai entendu dans le chat il n'y a pas encore beaucoup de monde avec une simu complète, ils font tous des heuristiques

VincentBab: sur UTTT c'était genre 100k rollout pour passer legend je crois

Tiouz: VincentBab rollout tu veux dire coup ou parties ?

Zorg1: euh non 30k ça suffisait

Tiouz: Je suis passé Legend avec 10k

VincentBab: hum peut être que je dit n'importe quoi alors ^^

Zorg1: 30 k partie

VincentBab: jvais check mon code xD

Tiouz: Je sais pas comment vous faites 30k parties ça me rend fou ! J'ai optimisé comme un fou et je suis à 10k

Zorg1: en C++ sur UTTT ?

Tiouz: oui

BigUP: Tiouz, fais voir ton code, on pourra peut-etre te dire comment faire

Zorg1: t'as bitboardé ?

Zorg1: petit malin bigup ...

Tiouz: bitboardé ?

b0n5a1: tout représenter en bits

Zorg1: pour représenté l'état de UTTT

VincentBab: ahh oui en effet que suis a 25k rollout ^^

Tiouz: Les petites grilles sont représentées par des entiers <= 3^9, et la grosse grille par 9 petites grilles

Mourfette: pour trouver les meilleurs seeds, vous checkez les cases voisines à distance X manuellement ou vous avez une meilleure méthode? (ou un truc en dur stockant les meilleures cases selon position/distance)

VincentBab: quelle taille fait ton Node Tiouz ?

b0n5a1: Tiouz et préalloue tout une fois pour toute dès le départ (t'as 768 Mo à dispo)

b0n5a1: tu te fous des millions de noeud sous le coude tout de suite

VincentBab: et utilise pas la STL ^^

b0n5a1: et dégage la STL

Tiouz: b0n5a1 oui je préalloue tout

Tiouz: La stl c'est quoi ?

VincentBab: la lib standard c++

b0n5a1: vector etc

VincentBab: vector, map, etc..

b0n5a1: passe en mode C

b0n5a1: pour les données

b0n5a1: bons vieux tableaux

Tiouz: Ah ok, dont pas de array

Tiouz: http://chat.codingame.com/pastebin/54f439c0-28a7-4df3-a9a3-d240c1419c21

VincentBab: nope

Tiouz: http://chat.codingame.com/pastebin/9b49df12-f3f4-4911-bae9-9ebbe1514faa

Tiouz: Ça ce sont mes nodes pour le MCTS

Zorg1: après j'ai pas mal bricolé pour avec 30K en go

VincentBab: tu peux optimiser sans mettre de pointer ^^

VincentBab: avoir un int32 a la place de ton pointeur

Tiouz: wut ?

b0n5a1: t'utilise des index au lieu de pointeurs ( de ton big truc préalloué)

Default avatar.png khealer: Pourquoi dégager le vector ? std::map oui mais vector ??

VincentBab: float a la place de double aussi

b0n5a1: trop lent

Default avatar.png khealer: std::array trop lent ?

VincentBab: oui

Default avatar.png khealer: pourquoi ?

b0n5a1: bin essaye si tu le crois pas, fais un bench

Zorg1: pour déterminer une position gagnante/perdante dans une petite grille tu fais bien ça via une table ?

Tiouz: Oui, j'ai plein de tableaux qui disent si une position a été gagnée, est pleine, etc

b0n5a1: sans parler de la mémoire que ça bouffe

Default avatar.png khealer: Le compilateur génère le même code entre un array C et std::array

VincentBab: bon sur ce je retourne sur le contest actuel xD

Zorg1: après un truc où je perdais pas mal de temps c'était la génération des coups possibles

Tiouz: Zorg1 je crois que c'est aussi là que je perds du temps

Tiouz: C'est surtout qu'elle est tout le temps appelée cette fonction

VincentBab: mais tout ca pour dire que 700 rollout parrait pas beaucoup du coup

Zorg1: oui là on est parti sur une discussion sur UTTT ^^

Tiouz: Oui mais là mon code n'est pas optimisé. Je suis un peu plus frustré sur mon UTTT que j'ai mis 2 semaines à optimiser

VincentBab: la clé c'est de reduire au max ton sizeof(Node) et de pas mettre de pointeur

VincentBab: tu gagnera pas mal avec ca je pense ^^

b0n5a1: si t'as un tableau énorme de départ, tes pointeurs deviennent de simples index

VincentBab: yep

Tiouz: Ok. -> Pas de pointeurs, pas de array/vector

Zorg1: je sais pas j'avais surtout bosser sur ma génération des coups possible,

b0n5a1: et tu recycles tes "cases" au fil du temps..

b0n5a1: (si t'en a plus assez, en recyclant ce qui sert plus)

Tiouz: À chaque coup tu réinitialise ton MCTS ?

Tiouz: Dans mon code j'arrivais à initialiser 300k nodes au début du programme, pas plus sinon ça plantait

Zorg1: moi je conserve l'arbre (enfin le morceau qui correspond au coup joué)

Zorg1: mais ça peut vite devenir casse pîed à gérer

Tiouz: Oui Zorg1, mais comment tu fais pour recycler avec ça ? Ce que j'ai fait c'est que quand j'arrive proche de mon max de noeuds créés, je réinitialise mon MCTS

Tiouz: On est en train de ré-inventer le free de mémoire, c'est bien

VincentBab: si tu reduit la taiile de ton Node tu aura plus besoin de faire ca je pense

Zorg1: bah en fait j'utilise mes pointeurs pour décrire mon arbre comme allocateur de bloc ^^

Zorg1: mais oui avec un noeud plus petit

b0n5a1: en mode dégueux bourrin tu prends àa chaque fois l'index suivant, quand t'en a plus tu recommences à 0 et tu pries :joy:

Tiouz: Dans le node vous sauvegardez tous les coups pour les nodes suivants ?

VincentBab: euh non

Zorg1: non dans le node tu n'as pas besoin de stocker l'état en fait

Zakaoai: Allez j'ai submit pour terminer la journée :D

VincentBab: sizeof(Node) == 40 pour moi

Tiouz: wut ?

b0n5a1: prend trop de place, trop lent, pas utile

VincentBab: et j'alloue 14M de node (534MB)

Tiouz: Mais comment vous faites votre appel récursif ?

Zakaoai: De 1300 à sub 200 plutot cool. Bientot stabiliser

Default avatar.png khealer: http://chat.codingame.com/pastebin/572e9d0a-876c-4c34-a1ed-63e715b92644

Zorg1: bah t'as un état que tu update au fur et à mesure que tu descend ton arbre

Default avatar.png khealer: http://chat.codingame.com/pastebin/32d723b2-266a-4e2a-8f0d-7a733fa5d02a

Zorg1: khealer : c'est normal quand tu copies une tartine de texte il crée un paste bin

VincentBab: std::unordered_map est potable aussi ^^

Default avatar.png khealer: Pourquoi ça met un lien :joy:

b0n5a1: même pas khealer, vector reste lent par rapport à tableau basique et bouffe trop de place

Mourfette: ça me rassure de ne rien comprendre a vos discussion. j'en suis toujours à chercher comment représenter mon board pour facilement checker une position à X distance dans une direction donnée...

Zorg1: en fait on parlait d'un autre multi ^^

b0n5a1: si tu regardes de près l'implémentation de vector et ce que ça bouffe de base juste pour une "case" ti pars en courrant

Tiouz: Oui l'était c'est bon j'en ai un seul, mais dans mon node, quand je joue un coup il faut bien que je sache vers quel node je vais

Default avatar.png khealer: Ah merde, je n'ai pas un clavier azerty donc je rajoute les accents à côté

Tiouz: Désolé Mourfette je lance d'autres discussions parce que UTTT est ma bête noire

VincentBab: en vrai j'ai pris plus de plaisir a monter gold avec un minmax que a opti un mcts sur UTTT

Tiouz: Ça m'intéresse d'opti mon UTTT, j'ai l'impression que je peux carrément mieux faire (je suis dans le bas de legend)

Zorg1: ah je sais pas ça m'avait plus, j'avais fait tout UTTT en MCTS

b0n5a1: UTTT me suis contenté de faire un min max sur chaque sous-grille sans considérer la super grille

Zorg1: *plu

Zakaoai: Bon rank 164 me satisfait pour ce soir. Bon courage au veilleur de nuit et à demain peu être.

Zorg1: o/

b0n5a1: 782e gold avec ce truc basique

b0n5a1: oups 482e

Default avatar.png khealer: Si tu le crées une fois et que tu ne changes pas ça taille, le seul surcoût, c'est l'accès au pointeur et le cache miss que ça peut engendrer

Default avatar.png khealer: Le problème c'est de les créer et détruire à cause de l'allocation dynamique.


Default avatar.png khealer: Comme avec std::string si > 16

Tiouz: Je suis 151/192 en gold. On verra si dans 1 semaine j'essaierai d'améliorer le code

b0n5a1: sauf que chaque "case" c'est pas juste un pointeur mais bien plus et ça consomme de la mem pour des prunes dans le cas de cette opti

Zorg1: Tiouz : en fait pour les fils tu peux allouer un certains nombre de noeud, donc le parent stocke le premier noeud et le nombre de noeuds

Zorg1: pas besoin d'avoir 81 pointeurs dans chaque noeud

Tiouz: OOOOOOO

Tiouz: Ok ça c'est intelligent

VincentBab: ^^

Tiouz: Ça n'explique toujours pas comment savoir quel coup est joué pour aller vers ce noeud

Zorg1: euh je stocke le coup joué dans le noeud moi

Tiouz: Ok ça me va

Tiouz: Il faudra que je change la logique de mon code, mais ce sera mieux

Tiouz: Tu as des undo ou tu as une copie "de travail" de l'état ?

Zorg1: comment ça ?

Tiouz: Quand je fais un rollout, j'écrase mon état, donc avant de faire ça je copie mon état ailleurs, et quand j'ai fini re remet mon état comme il était au début

Zorg1: ah j'ai une copie de travail de l'état quand je me balade le long de l'arbre et que je fais mon rollout

Zorg1: oui je viens de comprendre ^^

b0n5a1: tu repars de l'état initial à chaque fois, pas besoin de rejouer tout à l'envers pour retomber sur tes pattes

Tiouz: Ok, au moins j'ai ça comme vous ^^

b0n5a1: pas comme moi, j'ai pas encore fait de mcts dessus ^^

VincentBab: d'ou le fait d'avoir un sizeof(Node) petit, pour minimiser la bande passante memoire ^^

b0n5a1: tu peux tenter de faire mumuse avec l'alignement pour gagner aussi

Tiouz: Bon, merci en tout cas, c'est la 5ème fois que vous m'aidez à optimiser mon UTTT, on dirait un peu un jour sans fin

Tiouz: Bonne nuit <3

b0n5a1: bonne nuit

Zorg1: bn

b0n5a1: pareil, je déco, bonne nuit

Zorg1: bonne nuite à tous :)

Default avatar.png khealer: bonne nuit

VincentBab: bonne nuit

hackdel027: bonne nuit

Pink: étant encore en apprentissage, j'aimerais savoir si quelqu'un peux me mettre sur un piste de recherche pour le challenge

Trisard: une piste de quel genre ?

Pink: la logique : exemple dois-je piocher les minmax ou autre

Pink: je veux pas le resultat, juste le terme a chercher pour les tuto explicatif

Trisard: Ah ba je pourrais pas beaucoup t'aider désoler ^^ je suis juste parti du starter kit et j'y suis aller au feeling

Pink: j'ai passer bronze avec le feeling... je veux optimiser et j'ai un blanc sur l'algo a chercher

Sawa974: salut

Sawa974: @Pink si tu regarde l'historique de conversation, ils parlent beaucoup de MCTS, minmax

Pink: merci

Sawa974: tu utilise quel langage?

Pink: vb.net

Trisard: d'ailleurs je me demandais si la simulation deviens obligatoire au bout d'un moment pour progresser dans le classement ou si on peut toujours s'en sorti avec du réactif ?

Pink: ce que je cherche a faire est un arbre de decision je pense

Pink: maisa je connais pas le nom de l'algo qui fait ca

Sawa974: MCTS?

Sawa974: Monte Carlo tree search

Pink: probablement merci

Pink: je vais regarder des tuto a ce sujet