Chat:Fr/2020-11-18

From CG community
Revision as of 11:08, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/29407964997640> 788361: Automaton2000: debout, il est 6 heures du matiiiiiin et toouuuuut va bieeeeennnnnn <img src=/a/40502662118268> Automaton2000: comme pour l...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

788361: Automaton2000: debout, il est 6 heures du matiiiiiin et toouuuuut va bieeeeennnnnn

Automaton2000: comme pour les puzzles de cg

Bob: tip-top Automaton2000, c'est ça l'esprit qu'on veut

Automaton2000: enfin je dis ça je l'ai fait en python

Bob: AutomatonNN, debout aussi

AutomatonNN: ouai mais c'est pas trop dur de participer que tu perds des places de ton contest ?

Bob: un peu douteux comme encouragement mais ça va, merci AutomatonNN

AutomatonNN: ok

Sawa974: lol

Oioi: ...

Oioi: C'est vraiment des bots AutomatonNN et Automaton2000 ?

Automaton2000: c'est pas faux, mais c'est pas la première fois que j'ai vu que c'était pas le cas

AutomatonNN: oui mais pas tout le monde

Oioi: rrrhhhooo !

Bob: voilà :)

Default avatar.png Brandon: Ami du jou bonjour !

Default avatar.png Brandon: jour

Julius2k17: Hello tlm

Default avatar.png Brandon: Mon algo a parcouru toutesl les possibilités !! il es fiable. TLM = tout le monde !!

Haashi: \o/

Mazelcop: Hello o/

Julius2k17: mon nouvel algo est au poil, 15779/1583 je pouvais diffcillement espérer mieux !

Vry: C'est clair Julius2k17, dix fois derrière le dernier c'est top ! ;)

Traquila: salut

Cousnouf: wesh wesh

dbdr: c'est l'or! c'est l'or de se reveiller...

Agade: mon seignor

Cousnouf: ça rajoute quoi que les ligues supérieures s'ouvrent?

Cousnouf: les ventres mous du classement comme moi son promus automatiquement?

dbdr: c'est bien, il y en a un qui a de la culture :)

Cousnouf: bah c'est pour savoir :D

dbdr: Cousnouf ça permet de niveler

dbdr: je disais ça pour Agade :)

Cousnouf: okay moi je suis 240ème bronze, que va-t-il se passer? :P

Cousnouf: Agade, le 6ème, Suisse?

dbdr: lui même

Cousnouf: ah non il est sur le chat :P

Haashi: Cousnouf bah rien du tout si tu es bronze

Cousnouf: je l'admire, c'est le best de CG de mon pays :P

Traquila: Mes combats avec Haashi, je perds d'un point, je gagne d'un point :)

dbdr: si tu es en bronze l'ouverture de l'or change rien pour toi

Cousnouf: okay okay ouais je vois...

Default avatar.png Paikan2068: Wowowo -60 places cette nuit

dbdr: passe ton silver d'abord

Haashi: hehe Traquila

Cousnouf: vous faites comment pour écrire en rouge?

Default avatar.png Paikan2068: Je vais commencer à recraindre un scénario où je suis bloqué en silver :(

dbdr: Cousnouf

Cousnouf: ouais je dois trouver une astuce pour aller en silver...

Haashi: cousnouf c'est juste qu'on écris ton pseudo donc tu le vois en rouge si tu ecris Haashi, je verrais ton message en rouge

Haashi: c'est comme @ sur discord ou autre

Cousnouf: mon IA est un truc procédural, j'utilise aucune astuce maligne...

Cousnouf: ah okay Haashi

Traquila: Cousnouf, j'ai 300 ligne de codes avec un pauvre recursif :)

Cousnouf: okay et il marche bien?

Traquila: 174

Cousnouf: en argent, wow...

Traquila: Je perds contre ceux qui visent la production

Cousnouf: la production?

Traquila: visez plusieurs potions en même temps en étant le plus productif

Traquila: Je ne peux t'en dire plus , je ne sais pas faire

Cousnouf: ah tiens, j'ai pas usé du multicasting, je devrais :P

788361: salut les petits lus

dbdr: au beurre?

Bob: je sais pas

Bob: chacun sa preference

dbdr: soyons fous

egaetan: salut tout le monde

dbdr: \o egaetan

dbdr: ya trop de monde, ça complique les tab competions

dbdr: completions

egaetan: oui beaucoup trop de monde, surtout devant moi

dbdr: nibeau tshirt quand meme...

egaetan: nibeau ?

dbdr: niveau

dbdr: ni beau ni moche

egaetan: ah sauf si tu me bouscules en passant

dbdr: moi? jamais! :angel:

Haashi: wtf j'avais un giga bug dans ma bfs

Haashi: cte honte

dbdr: le corrige surtout pas!

Haashi: en gros je voulais arreter ma bfs quand je trouvais un chemin vers les 5 potions

dbdr: 5 ou rien?

Haashi: 5 ou si j'ai plus le temps

dbdr: :D

Haashi: mais le bug, c'est, je m'arrete quand j'ai vu 5 potions

Haashi: pas les 5 potions

Haashi: juste 5 potions

Haashi: donc si je voyais 5 fois la premiere, je m'arretais

dbdr: faire les 5 à la fois faut aller profond...

Default avatar.png Brandon: plus c'est profond plus c'est bon !

Haashi: non mais ce que je cherche c'est un chemin pour chacune des 5 potions

Default avatar.png Brandon: nan ? c'est pas le but optim pour faire le plus possible ?

Default avatar.png Brandon: ps : je suis un noob qui parle dsl si je dis des betises

egaetan: dbdr c'est pas ce que tu fais ?

dbdr: je veux dire faire les 5 à la suite dans le meme état

dbdr: 5 d'un coup

Haashi: c'est ce que fais egaetan les 5 d'un coup je crois

Haashi: si j'ai bien suivi le stream d'hier

dbdr: faut une profondeur dans les 35 pour faire 5 d'un coup

egaetan: au début, dès que tu as appris des sorts ça baisse

dbdr: ben ça baisse de 1 par tour ;)

dbdr: normalement

egaetan: ce jeu n'est PAS normal

dbdr: pq?

egaetan: apres avoir fait la première potion, le allFive est plus proche

dbdr: de 1

dbdr: vu qu'apprendre cette potion était le 1

egaetan: apres le premier BREW

dbdr: ah pardon

Default avatar.png Dimitrio: quelqu'un veut bien me rappler ce que ca veut dire "Attention : votre code n'a pas lu toutes les données disponibles depuis l'entrée standard avant d'avoir écrit sur la sortie standard. Ceci cause une désynchronisation qui peut entraîner des comportements inattendus." ?

Default avatar.png Brandon: @dimitrio moi je penche pour un pb de perf

Default avatar.png Brandon: quand je baisse le temps alloué a la recherche ça disparait

Default avatar.png Dimitrio: okay ! merci parce que c'es pas clair

dbdr: egaetan, oui, plus proche avec les items qui restent dans l'inventaire

Default avatar.png Brandon: Attention je met pas mon truc à couper non plus

dbdr: et les sort appris, oui

egaetan: bref avec tout ça, tu me laisses passer ?

dbdr: je te laisse passer en gold, oui :)

Greg237: Il y a des compétiteurs en java sur le chat france ? Des tips pour optimiser le code et explorer plus de noeufs ?

b0n5a1: o/

egaetan: Oui Greg237

Default avatar.png amione6715: Bonjour la communauté ... je suis nouveau et j'ai une petite question : j'ai commencé par le php mais je désire changer pour JS comment faire ?

Default avatar.png Brandon: le petit input en haut de l'editeur

Haashi: amione6715, en haut a droite de l'ide tu peux changer le langage

Default avatar.png Brandon: permet de choisir le language

Greg237: egaetan, tu utilises quelles structures de données ? Il faut mieux des array que des collections, n'est-ce pas ?

YannT: gold league today <o/

egaetan: oui Greg237

Default avatar.png amione6715: l'ide ?

Haashi: Greg237, des entiers c'est encore mieux

egaetan: tableaux

dbdr: Greg237, les mieux pour optimiser c'est de mesurer les perfs (quelque soit le langage) VisualVM pour Java par exemple

dbdr: sinon on optimise des trucs sans avoir si c'est important ou pas

Default avatar.png OldJohn: Hum, il faut aussi faire attention à ce que peut faire l'adversaire

egaetan: ou Java Mission Control, un peu plus mieux

Greg237: Ah je connaissais pas Java Mission Control.

Default avatar.png OldJohn: Il faut mieux controler la fin de partie :-(

Greg237: Ok, et du coup il faut à tout prix éviter le garbage collector ?

Greg237: Genre, muter des objets plutôt que d'en créer de nouveaux à chaque tour.

egaetan: oui il faut éviter les GC au max

Default avatar.png amione6715: c'est où l'ide ? les 3 points en vertical ?

Julius2k17: je pense que c plutot les opérations sur les tableaux volumineux et les graphes profonds qui coutent que la mémoire je pense

Greg237: Et tu penses qu'on peut aller jusqu'à quelle profondeur avec un BFS optimisé en java ?

Greg237: (pour me faire une idée)

Default avatar.png OldJohn: En fait il faut plutôt compter en nombre de noeuds visités plutôt qu'en profondeur

Default avatar.png OldJohn: La profondeur dépends de la largeur

YannT: je fais du depth 8-10 par tour en Kotlin (et c'est pas encore pleinement optimisé, peut mieux faire)

b0n5a1: amione6715 : https://en.wikipedia.org/wiki/Integrated_development_environment (IDE)

b0n5a1: dans l'IDE (partie code) en haut tu peux changer de langage

Greg237: YannT, intéressant ; et tu vas vraiment voir tous les noeuds du BFS ou tu élagues avec une heuristique ?

Greg237: (ou en éliminant des noeuds en largeur)

Default avatar.png amione6715: ca y est j'ai trouvé ... il fallait que j'entre dans le jeu .. merci les gars

joelthelion: une idée du cutoff pour la gold?

dbdr: entre 100 et 300

joelthelion: aie, suspense! (je suis 176è là...)

Halphas: Salut, pour un bfs pour éviter de revisiter un noeud on stocke son hash, dans le cas ou l'état du jeu est un objet compliqué, le hash peut être assez couteux, comment est-ce qu'on peut faire sans trop perdre de perfs dans ce cas la?

egaetan: on fai tun etat de jeu plus simple ?

Bon[]Crayon: salut tou tle monde

dbdr: un hash est toujours moins couteux que de faire des milliers de fois la meme recherche

Bon[]Crayon: automatonnn sa lut

AutomatonNN: oui

domak: Halphas avant de présuposer que ton hash est couteux, mesure le

Halphas: J'ai un peu peur de me lancer dans les optims que j'ai vu passer à tout stocker dans des int, je suis pas hyper à l'aise avec ça pour la fin du contest, il y à des bonnes ressource sur le sujet?

Bon[]Crayon: automaton2000 bonjour

Automaton2000: mais ce serait pas un souci

joelthelion: dans ce cas on peut même éviter le hash, l'espace d'état est suffisament petit pour un bitset

joelthelion: j'ai fait ça pour la première fois hier soir, c'était assez facile finalement

egaetan: joelthelion la réponse n'est pas aussi immédiate

YannT: le cut gold vous le pronostiquez à quoi, 100, 200?

Kirbiby: 100

joelthelion: tout dépend ce qu'on appelle un état

joelthelion: c'est vrai que je ne tracke pas tout

domak: joelthelion c'est aussi un autre investissement de passer en bitset...

zasmu: j'ai vu passer le nom d'un algo (chokudai) mais je trouve peu de littérature le concernant, une idée de où je peux trouver ça ?

joelthelion: ça m'a pris une heure ou deux

joelthelion: je précise que je ne m'en sert que pour éviter les collisions

joelthelion: j'ai des objets plus normaux pour le reste

domak: ah oui là d'accord

Halphas: Tu veux dire que tu traduis ton board en bitset pour ta liste de noeuds visités ?

dbdr: joelthelion tu le stoque comment?

domak: mais bon, ça vaut aussi le coup de mesurer avant de se lancer dans des optims

dbdr: le bitset

joelthelion: @dbdr j'ai repris partiellement le vieux bitset de la standard library qui a été enlevé

joelthelion: ça doit faire dans les 20 lignes

YannT: chokudai c'est pas genre un MCTS à 99%?

joelthelion: enfin bitvec

YannT: zasmu: regarde les postmortem de OoC, je crois que c'est dedans de mémoire

zasmu: YannT merci bien

Default avatar.png JBM: zasmu: l'essentiel de la littérature chokudai c'était juste un tweet/png de l'auteur

Kirbiby: C'est juste un beamsearch plutot

Default avatar.png JBM: "une forme de"

Vry: :)

Default avatar.png JBM: je resumais ça en "fixed-depth, iterative-widening beamsearch"

Kirbiby: oui oui, mais plus haut qqun disait que c'était proche d'un MCTS.

Default avatar.png JBM: l'aspect "fixed-depth" sans doute

YannT: non l'aspect je me souvenais plus

Default avatar.png JBM: celui-ci est pas particulièrement discriminant, je crains

Default avatar.png JBM: :d

Kirbiby: l'aspect submit bloqué aussi :(

Default avatar.png JBM: ça faisait longtemps

Vry: Je me pose une question : pourquoi faire des mini BFS au début alors qu'on peut en faire un seul gros ?

Default avatar.png JBM: c'est quoi des mini bfs?

CopperFr: pourquoi faire des mini patisseries alors qu'on peut en faire une seule grosse ?

YannT: perso j'ai jamais compris les gens qui parle de "bfs par potion", je vois pas trop le seul du truc

YannT: sens*

WhatTrickeryIsThis: bha c'est faire 5 bfs différent qui s'arrêtent à la potion

WhatTrickeryIsThis: pour choper la distance la plus proche

YannT: mais pourquoi, un BFS unique trouve les 5?

WhatTrickeryIsThis: Mais bon si tu pards de ton inventaire c'est un peu pareil

WhatTrickeryIsThis: ça doit être plus simple à elager par potion

YannT: mais BFS en partant des potions tu fais comment pour le learn?

WhatTrickeryIsThis: le learn il fait pareil , c'est automatique

WhatTrickeryIsThis: le bfs par potion tu dois quand même partir de ton inventaire à mon avis

CopperFr: mais ou est passé euler ?

WhatTrickeryIsThis: il a changé de tête

WhatTrickeryIsThis: il est à côté de gaetan

Vry: C'est pour faire de statistiques ?

Vry: *des

WhatTrickeryIsThis: Copper vous préférez le nouveau Euler ou Trump?

CopperFr: Trump c'est fini

Vry: Pour orienter la recherchedu BFS principal

CopperFr: Je sais plus qui avait ici qu'il serait réélu :D

WhatTrickeryIsThis: ah? oui c'est possible de faire une sorte de A* vers chaque potion

domak: o/

domak: vous faites des learns jusqu'à quelle profondeur?

CopperFr: c'est un peu indiscret comme question

Nicolas1980: pas bien loin pour moi ;)

domak: parce qu'il y a de fortes chances que le spell soit sorti du grimoire si on descend dans les profondeurs

domak: j'ai essayé sans limite, c'était une cata

dbdr: http://chat.codingame.com/pastebin/d7e28a49-4f55-4fb4-84fe-e44c222f1ecc

Simon21: wow la ligue bois 1 est en galère... 45min pour calculer 20 combats

dbdr: toutes les ligues

WhatTrickeryIsThis: error 510 : CG temporarly down Apo is having a dinner

Simon21: victimes de leur succès^^ et peut être du confinement

JSanction: Le confinement chez les développeurs j'y crois pas trop

Julius2k17: cad ?

WhatTrickeryIsThis: commetn on passe ne mode colonne dans l'ide CG ?

hcabel: Qui sait comment je peut connaitre mon temps d'éxécution en c++ ? Genre un lib avec un GetTicks() ou autre :)

WhatTrickeryIsThis: clock ou chrono

Default avatar.png WhyNotPH: timer stop - timer start

WhatTrickeryIsThis: #define NOW high_resolution_clock::now()

  1. define TIME duration_cast<duration<double>>(NOW - start).count()
  2. define LIMIT TIME < 0.045

WhatTrickeryIsThis: high_resolution_clock::time_point start;

Vry: J'ai tout posté dans le chat hier ... :upside_down:

WhatTrickeryIsThis: (je suis pas responsable de ce merdier c'est un vieux machin récupéré dans un code de Magus)

egaetan: tu passes en c++ WhatTrickeryIsThis ?

Magus: ouai je l'ai encore d'ailleurs

Kirbiby: metoo

Vry: Magus, toujours en MCTS ?

hcabel: Ok merci je vais cherche

WhatTrickeryIsThis: mon portage C++ est fini oui ^^

Magus: ouai, je travail sur d'autres choses

Magus: mais la mon code dans l'arène c'est un mcts simple

Magus: mais j'ai compris pourquoi c'est aussi "naze"

Vry: Ok, il est bien foutu le tien ... le mien bloque dans les 700

egaetan: plus de deux heures les submits ce matin ?

WhatTrickeryIsThis: j'ai 5-10 fois plus de simus, ce qui va me permettre d'inclure les learns plus sereinement

Magus: comme je rollout jusqu'à ce qu'il n'y ait plus de potions (je rajoute pas des potions aléatoires pendant le rollout), mon IA se dépèche de prendre des potions pour finir les potions

Magus: ce qui marche pas du tout :D

Magus: faudrait faire un vrai rollout jusqu'à la fin

Magus: mais déjà qu'en perf c'est pas beau ...

Vry: Tu gères l'adversaire ?

Magus: oui c'est un mcts qui fait jouer les 2

WhatTrickeryIsThis: magus, j'ai une veille simu java depth 5 avec evale = 100*score+ inventaire

Vry: Je n'ajoute ni potions ni sort

Magus: j'avais essaye en smitsimax la

Magus: mais c'est trop le bordel j'ai laissé tombé

WhatTrickeryIsThis: je prends 12 learn hardcodées au debut

Magus: par contre les actions d'un joueur vont influencer les actions plus tard

Vry: moi je repasse sur un BFS

Magus: genre ton action de prendre la 5ème potion, si l'adversaire prend cette potion le tour d'avant ... cool ... tu fais quoi ?

Julius2k17: c nul que le spells soient hardcodé dans le referee

Julius2k17: est ce que vous simulez l'adversaire aussi ?

WhatTrickeryIsThis: llool vry, tu va copier le code de gaetan hier :D ? au passage, c'est plustôt bien joué l'espèce de buffer d'état pour les nouds visité de gaëtan. Les branche à depth 30+ ^^

Vry: Non je ne vais pas copier ! J'aime pas ça manière d'écrire en C :p

egaetan: oO il est pas beau mon C ?

WhatTrickeryIsThis: on peut faire un petit bfs ou petite simu sur ia adverse pour comprendre ses objectifs et réajustés, le twitch hier étzit très orienté la dessus

Vry: Par contre Je me demande juste à quoi servent les minibfs au début ...

WhatTrickeryIsThis: pour l'ia adverse je supposes

Vry: egaetan : il est performant au classement et c'est l'essentiel ! :)

Vry: Mais c'est seulement hier (midi, pas le soir) que j'ia compris que je pouvais faire une hash table pour gérer mes duplications :upside_down:

egaetan: Vry, je cherche à finir correctement la partie et pas rusher pour perdre de 1 si je peux gagner en attendant 2 tours

Vry: Mon BFS faisait un memcmp sur tous les node (2k à chaque fois) ...

Vry: Ok, donc ça te permet de définir la potion ciblée

OldDadou: Salut la leuague final est à 4 joueurs c'estca ?

egaetan: Vry pourquoi un memcmp ?

egaetan: ah, j'ai compris

PhOeNyX: Il n'y a pas de limite de joueurs dans une ligue

egaetan: juste une limite de niveau

Drabox: Pour passer de gold à champion, il faut aussi battre un bot ?

PhOeNyX: Un BFS sans pruning qui cherche le chemin pour brew chaque potion ça timeout ?

PhOeNyX: En utilisant que des CAST

egaetan: PhOeNyX non

egaetan: ça marche sans soucis dans tous les langages

PhOeNyX: Ok, quand je prendrais le temps je ferais probablement ça alors. Pour commencer.

WhatTrickeryIsThis: j'ai testé cette idée, sans brew sans learn et sans refresh. ça marche pas sur la popo 5 fromages

PhOeNyX: C'est pas une pizza

OldDadou: PhoeNyx, je voulais dire : " des quadruplés"

egaetan: WhatTrickeryIsThis tu repasses plusieurs fois sur les memes noeuds

OldDadou: pas les joueurs, les sorcières

WhatTrickeryIsThis: en fait ça passe pas à partir d'un certain nomcre de cast possible

WhatTrickeryIsThis: voilà, du coups tu as besoin d'un pruning

lhm: Mais comment tu compares tes noeuds egaetan? tu mets l'état des casts dedans ou juste l'inventaire?

egaetan: c'est pas un pruning, tu cherfches le plus court chemin

PhOeNyX: LEARN x fois en dur au début histoire d'avoir quelques CAST, puis BFS avec CAST (dont repeatable) et REST (action exclue si tous les CAST sont castable)

Kirbiby: ça marche à tous les coups dans chaque langage ?

Ohtnaoh: Savez vous si sur l'ide web il existe une facons de commenter plussieurs lignes ?

Kirbiby: Avec les 4 sorts de bases, il faut aller depth 16 parfois

egaetan: lhm tout ce qui fait l'identité d'un noeud

WhatTrickeryIsThis: ça marche pas en scala

egaetan: Kirbiby oui mais seulement 5 actions possibles

WhatTrickeryIsThis: surtout pas de scala (svp)

WhatTrickeryIsThis: on a déjà trop de lenteur au submit

Kirbiby: Oui mais 5**16 :d

Kirbiby: jk

egaetan: oui et A+B = B+A

PhOeNyX: Par contre si on a 2 spells qu'on peut CAST dans un ordre ou un autre alors on obtient 2 fois le même état, du coup il faut éviter de re-compute

Halphas: C'est pire que java scala?

PhOeNyX: Un état c'est un ensemble de CAST castable ou non et un inventaire

Default avatar.png OldJohn: Ben c'est presque pareil

Haashi: définis pire et on te répondra

egaetan: qqs soit la définition de pire, scala EST pire

Halphas: Mince alors, je dois apprendre scala pour mon job :(

WhatTrickeryIsThis: nan mais c'est bien scala, c'est juste que pour les submits CG, c'est pire

egaetan: pour la compile aussi

egaetan: et pour la syntaxe

Kirbiby: egaetan

Kirbiby: t'as une idée du nombres de nodes avec juste les 4 sorts de bases pour explorer depth 15 en moyenne ?

egaetan: Kirbiby oui

Kirbiby: ~1000 chez moi, normal ?

egaetan: -1000?

Kirbiby: tilde 1000

PhOeNyX: ~

PhOeNyX: le tchat change les tildes en -

PhOeNyX: lol

WhatTrickeryIsThis: test : tilde

WhatTrickeryIsThis: -> moi ça marche

WhatTrickeryIsThis: noñ ?

egaetan: ok Kirbiby environ 1000 oui c'est l'ordre de grandeur

Exhaustif: je ne comprends comment vous faites

PhOeNyX: Tu comptes les doublons ou pas ?

Kirbiby: si j'autorise de learrn sur les 2 premiers tours, je passe à + 20000

joelthelion: les rares utilisateurs de scala ne s'en sortent pas trop mal : https://douze.pm/~joel/cg/lang.html

Default avatar.png GryXion: ~~

Default avatar.png GryXion: non

Exhaustif: Kirbiby c'est sans aucun learn ton histoire ?

egaetan: sans learn

Kirbiby: Oui, en fait je veins de tester sans learn et j'étais choqué

Kirbiby: j'avais jamais testé sans learn

Exhaustif: dans vos BFS vous n'incluez pas le learn à toute les étapes ?

egaetan: même en scratch ça passe

Kirbiby: Bah si justement

Kirbiby: et du coup j'avais trop de states

Exhaustif: et tu l'inclus qu'au premier tour ?

Exhaustif: moi c'est que je fais perso

Exhaustif: mais j'ai toujours autant de noeud

Exhaustif: environ 80000 pour depth 8

Exhaustif: et j'ai beau faire les système de hash pour ne pas repasser sur les état

Kirbiby: Et bien

Exhaustif: déjà ca me fait perdre du temps de calcul à cause de la map, et en ensuite ca n'enlève que 4000 noeuds sur les 50000

Kirbiby: sur la seed=-5592790934737346600, au premier tour, sans learn, je vois 2027 états différents avant de faire la potion 64 au tour 19

Kirbiby: si tu veux comparer

Default avatar.png CrazyHidenTalan: lol

Default avatar.png CrazyHidenTalan: https://www.codingame.com/replay/504974950

Haashi: pas mal ca

Default avatar.png JBM: jumelles jusqu'au bout

egaetan: CrazyHidenTalan ton idée de génie a déjà été copiée

Default avatar.png CrazyHidenTalan: lol c'est pas de génie je suis loin dans le classement

dbdr: voir volée

Default avatar.png CrazyHidenTalan: et n'irais pas plus loin

Bob: putain de sa race de crash qui n'affiche plus la stack

Bob: pardon je l'ai dit tout haut

Default avatar.png JBM: fallait pas mettre -O2

WhatTrickeryIsThis: oui les stack C++, si jolies, y à pu?

Bob: a pu

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

egaetan: oui /flip

Kirbiby: template iterator ( _y == _x) cannot be instantiated xmmemory.h line 719 -> AH mais oui

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

Exhaustif: Kirbiby avec ton seed j'arrive pas plus loin que depth12 avec 63k nodes, sans learn

PhOeNyX: ┬─┬ノ( º _ ºノ)

PhOeNyX: (╯°□°)╯︵ ┻━┻ ︵ ┬─┬ ︵ ┻━┻

Palmipedus: Pff, le top ladder me fait descendre dans le ranking a cause de leur rerun... J'ai perdu 100 place depuis hier soir

Exhaustif: egaetan j'ai regardé ton stream hier

Kirbiby: Exhaustif, tu portes bien ton nom alors

Exhaustif: et ta façon de gérer ton hash

Exhaustif: Kirbiby :p

Kirbiby: Tu hash comment ?

Vry: menu ?

egaetan: Exhaustif tu as des questions ?

Bob: avec ferocite

WhatTrickeryIsThis: avec un hashoire

Kirbiby: :D

Exhaustif: egaetan yes : quand tu fais rest, je comprenais pas comment le hash était différent de l'état de noeuf de la profondeur précedente

Exhaustif: puisque j'ai vu que tu gérais que inventaire + cast learned + brew done

egaetan: Il ne l'est pas

PhOeNyX: Parce que les Spell redeviennent castable -> hash différent

Exhaustif: il n'a pas mit les état castable dans son hsah

PhOeNyX: Ne devrait-il pas ?

egaetan: je revines dans 15 minutes

Palmipedus: Bob avec une silver a 1600, et etant #290 je repush ou j'attends?

Bob: moi je dirais attends

PhOeNyX: Ah, ou alors il considère que cast un sort épuisé, c'est 2 tours : REST + CAST

Bob: a vue de nez un cut a 300, peut-etre 400, semblerait vraisemblable

Default avatar.png Paikan2068: Palmipedus, j'espère qu'on passe à #300, avec 42 de notation!

Kirbiby: Je suis d'accord de pas comprendre s'il ne met pas les catables dans le hash

Exhaustif: ha :) c'était une question du stream d'hier

Default avatar.png Paikan2068: egaetan en lisant tout ça, je suis curieux, tu mettras des replays du stream après le concours?

Kirbiby: intéressant, ça veut dire que je peux l'enlever aussi pet

Default avatar.png Paikan2068: J'ai pas particulièrement regardé les streams, mais je regarderai les post mortem, et s'il y a des replays où les concepts sont expliqués et tout, c'est intéressant pour apprendre

Palmipedus: Paikan2068 moi ausi car j'aurai psa le temps de vraiment bosser sur le code avant ce week-end

Default avatar.png Paikan2068: Palmipedus, on croise les doigts alors ;p

Palmipedus: Bob il ont jamais cut pour gold si haut, mais bon c'est la premierre fois que je vois autant de monde en silver a ce stade

Bob: ouaip

Bob: bon moi je m'en fous je sais que je suis en dessous :D

Bob: mais la c'est l'heure des mamans de toute facon

Bob: la suite plus tard

PhOeNyX: 1000 bronze -> silver, 100 silver -> gold, 10 gold -> légende ?

Palmipedus: Bob tu n'as quelques amaliorations en stock?

Palmipedus: PhOeNyX c'est plutot un %. Environ 30% pour silver, 15-20% gold, 10-15 pour legend

Palmipedus: mais ca change un peu a chaque fois car ils essayent de garder des leagues equilibrees pour avoir une experience interessante pour tout le monde

WhatTrickeryIsThis: une expérience quoi?

WhatTrickeryIsThis: c'est donc ça le mal à la tête?

b0n5a1: Ohtnaoh sélection du code à commenter puis ctrl+k ctrl+c

b0n5a1: décommenter : sélection ctrl+k ctrl+u

egaetan: PhOeNyX non, Exhaustif oui

egaetan: je dois perdre qqs états effectivement

Kirbiby: du coup si t'as une solution en X Rest X , tu la vois pas ?

egaetan: je confond A+B et REST+C

ZooooX: salut, quelqu'un en js ou ts sais si faire un date1 - date2 en gros est accurate pour calculer si on est proche du timeout?

Default avatar.png Helron: bonjour

dbdr: ah tu es bien monté JBM, gg!

Default avatar.png Helron: http://chat.codingame.com/pastebin/debb14a8-4a35-4cb0-967b-56da74dca23b

Default avatar.png JBM: sans faire grand chose en plus

dbdr: #2 ensl, je te souhaite pas mieux ;)

Default avatar.png JBM: c'est un peu effrayant

Default avatar.png JBM: lol

b0n5a1: la psychiatrie c'est la troisième porte à droite :joy:

Default avatar.png JBM: #1 haskell

Default avatar.png JBM: surtout

dbdr: :)

Default avatar.png Helron: lol

dbdr: Mazelcop c'est fini oui? ;)

Kirbiby: je suis sous le charme quand même de Psyho

Kirbiby: il a submit samedi et il est encore top10 en gros

Default avatar.png JBM: il avait deja tout compris au jeu

Kirbiby: Oui, j'aimerais avoir autant d'intuition, et ensuite savoir traduire l'intuition en code

KPlanas: @JBM Ou soit, il connaît les strats de Century et code très bien :joy: Bonjour d'ailleurs

Nazo: Bonjour à tous ! Est-ce que quelqu'un sait si les potions possibles sont définies à l'avance comme c'est le cas pour les 42 sorts ? (il semblerait que ce soit les DeliverySpell dans le code source du jeu mais je n'en suis pas certain)

dbdr: c'est ça

Kirbiby: ui c'est ça

Nazo: Ok, merci

Hellivium: Pas de puzzle de la semaine lors qu'il y a un challenge ? :o

Hellivium: Hop, j'ai rien dis ^^ Il ressemble a celui de la semaine précédente, autant pour moi ^^

R4N4R4M4: Bonjour tout le monde

Gh0stm4chine: Salut

leojean890: c'est surtout les multis qui sont cassés depuis le début du contest, un code qui ne timeout pas normalement timeout en ce moment ;)

leojean890: allocation de ressources différente

Gh0stm4chine: tu penses que ça sera corrigé d'ici la fin du contexte ou il faudra faire avec ?

leojean890: je suppose, en tout cas j'en ai fait l'experience avec tron en changeant juste 2 magic numbers paf de nouveaux timeouts ^^

leojean890: mais ouais lundi prochain aprem ça devrait être bon ;)

eklore: Bonjour

Bon[]Crayon: salut

eklore: Vous savez si on peut récupérer les données d'un seed

eklore: ?

Bon[]Crayon: onglet options à coté de l'onglet joueurs

eklore: ok, j'ai seed=-5290402742431383600


eklore: me voila bien avancé ^^

dbdr: eklore affiche les données qui t'intéressent

eklore: dbdr du console.print de partout ?

eklore: (merci Bon[]Crayon)

dbdr: oui

eklore: merci dbdr

Mator: Hello à tous. Dites, s'il y a des gens qui codent en rust, là, vous me confirmez qu'en push dans l'arene on est bien en mode release et pas debug ????

Mator: Dans le Fall challenge

b0n5a1: oui

Mator: :/ Je dois coder comme un pied alors, j'ai exactement les mêmes perfs (et très très loin de ce que j'ai en local sur mon vieux laptop pourri...)

Mator: Misère

b0n5a1: Mator : https://www.codingame.com/forum/t/fall-challenge-2020-bugs-questions/187495/147

Mator: Càd que c'est déjà en release dans l'IDE ???

b0n5a1: càd que ça merde et que y'a une rustine de fortune en place, qui peut aider (oui pas)

Mator: Ben en tout cas j'ai eu qqs stacktraces dans l'arene. En release, chez moi, elles sont pas affchées :/ Je sait pas trop s'il y a plusieurs "niveaux" d'optimisation, mais bon, ca me parait bizarre :/

Traquila: [Investigating] Rust timeouts in arena

Mator: Ouais mais j'ai pas de timeout moi, vu que je limite la durée de traitement. Juste j'explore 1000/2000 états au mieux, alors qu'en local je suis à presque 20000

b0n5a1: non mais c'est le cas de beaucoup

Mator: Ouais, c'est possible que je sois juste naze en Rust :)

b0n5a1: même en c++ fait parfois faire un replay in same conditions pour que ça passe (sans utiliser tout le temps)

Traquila: je n'ai pas ces problemes (c++)

b0n5a1: y'a des "pics" inexpliqu"s

Mator: Ce serait pas possible que pour investiguer ils aient remis Rust en debug dans l'arene un moment ????

Traquila: Après de dépasse rerement les 10ms

Mator: Comment on peut être sur de ça ? Le coup des stacktraces, ca veut rien dire ??

b0n5a1: Traquila C++ timeout spikes with simple code https://hastebin.com/porudamuse.cpp

Cousnouf: aaah quelle syntaxe pas belle avec tout ces :: ::

Cousnouf: :P

Traquila: chez moi c'est pire je n'utilise jamais: using namespace std

eklore: yeeeeees

eklore: 2000 places de prise !

CopperFr: c'est horrible la syntaxe du C++

VilBoub: gg eklore =)

eklore: VilBoub merci

eklore: ah ah ah ... je suis passé de 2100 à 134, et ça monte, ça monte

eklore: ^^ je n'en peux plus de bonheur .... Jsuqu'a ce que je monte en argent et que je sois dernier en argent :D

VilBoub: ^^

Traquila: 170 hier à 217 .. ca descend ca descend

VilBoub: LoL

eklore: http://chat.codingame.com/pastebin/a9616583-8e12-42e7-86e4-66e48932ee74

eklore: et paf, je monte en argent

eklore: super jouasse ^^

CopperFr: gg

eklore: Traquila 217 en argent, ca me suffirait ^^

eklore: quel bug de merde ^^

Default avatar.png CrazyHidenTalan: top 500 en bronze m'irait aussi

CopperFr: Ah Bill raf la première place du classement :D

Default avatar.png CrazyHidenTalan: lol

Default avatar.png CrazyHidenTalan: Chacun son objectif :D

Traquila: Je souhaite juste passer or avec juste mes 300 ligne de code :D

eklore: le coeur du réacteur fait 122 lignes

nicolasD: Hey moi aussi j'ai 300 lignes :D

Cousnouf: arrivé en légende avec du code golf :D

Cousnouf: arriver*

eklore: bon ils sont plus malins en argent, je suis 800 ^^

788361: bon, ensuite

b0n5a1: ton run est fini eklore ?

eklore: b0n5a1 ah non ^^

b0n5a1: je me disais aussi que c'était un peu rapide

Bob: bon il me fait chier ce timeout

Bob: va falloir debugger en local

b0n5a1: c++ Bob ?

eklore: moi j'ai des timeout en battle que j'ai pas dans l'ide... Il me semblait que l'inverse était possible

Bob: b0n5a1: ouais

b0n5a1: erf

Bob: eklore: non c'est plutot dans ce sens-la en general

b0n5a1: c'est comme ça depuis longtemps sur les contests...plus de stacktrace exception

Bob: l'ide est un poil plus permissive sur les timeouts

eklore: ah ok

Bob: oui je sais bien

b0n5a1: d'ailleurs pas que les contests

eklore: je vais baisser mon MAX_ITERATIONS

eklore: et surtout faire un git checkout -b "Silver bullet"

Bob: en general j'arrive a debugger sans parce que quand je fais de l'heuristique c'est relativement facile à tracer

b0n5a1: ouais mais t'es vite pas à l'abri d'une connerie à deux balles que tu vois pas

Bob: là, pour réussir à identifier clairement à quel moment entre l'état 300000 et l'état 310000 j'ai un pain...

eklore: ^^

b0n5a1: ^^

Bob: donc compile locale vec -g et c'est marre

eklore: 300 000 états ?

Traquila: ceux qui sont bronze peuvent toujours passer argent ?

eklore: je vais me remettre au c++ ^^

Bob: Traquila: oui jusqu'à la fin

Traquila: ok

b0n5a1: oui Traquila jusqu'à la fin du contest

Bob: eklore: enfin il plante dans cette zone-là

eklore: (enfin à mon avis c'est pas un pb de language)

Default avatar.png CrazyHidenTalan: Mais j'ai pas le niveau pour être silver

Bob: dans les bons cas je passe le million

eklore: CrazyHidenTalan si je peux le faire, tu peux le faire ^^

Default avatar.png CrazyHidenTalan: Lol je pense pas

eklore: million.... même pas en reve.

788361: Traquila: en théorie tu dois pouvoir pousser un code en wood 10 secondes avant la fin du contest et arriver en legend si il est assez bon

b0n5a1: si tu pars perdant dès le départ tu vas pas avancer non plus...

eklore: CrazyHidenTalan si je regarde les autres joueurs, je ne prend même pas le départ. Mais en fait c'est surtout contre toi que tu te bas :D

eklore: bats

PhOeNyX: Bob dans la réalité c'est plutôt vrai à partir de Bronze car entre wood 1 et bronze souvent des règles s'ajoutent

Bob: oui c'est vrai

b0n5a1: ha moins d'avoir chopé les règles avant

Default avatar.png CrazyHidenTalan: J'ai pas encore compris comment je peux appliquer le learn donc pas évident de monter

Bob: mais dans les contests les mieux fichus tu peux traverser wood avec le code legend

PhOeNyX: Des fois les changements de règles font qu'un code qui compile en bronze ne compile pas en wood et inversement

Julius2k17: oué csb ct chiant pour ça

Bob: CrazyHidenTalan: essaye de juste faire un learn du premier sort les 8-10 premiers tours

Bob: PhOeNyX: normalement ça n'arrive plus ça

Default avatar.png CrazyHidenTalan: Ouai mais comment les appliquer après c'est surtout ça

Bob: au minimum les inputs doivent rester compatibles

b0n5a1: va dire ça aux mecs qui hident sans être dans le leaderboard et débarquent 1h avant la fin pour tout péter ^^

PhOeNyX: CrazyHidenTalan pour learn une technique naïve c'est de commencer par x learn en dur des premiers sorts du tome

egaetan: Oui je hide

egaetan: ouops mauvaise fenêtre

Bob: CrazyHidenTalan: si tu sais utiliser tes 4 sorts de base pour construire une potion, normalement rajouter des sorts dans ton catalogue ça devrait se passer assez bien

Bob: egaetan mais lol

Default avatar.png CrazyHidenTalan: Tout dépend comment tu fais à la base pour créer via les sorts de base

b0n5a1: le twitch était un fake pour induire les gens sur de mauvaises pistes

b0n5a1: ha merde fallait pas le dire

Default avatar.png Paikan2068: CrazyHidenTalan, le cncours, tu le fais d'abord contre toi, et pour apprendre

Default avatar.png Paikan2068: C'est mon deuxième concours, le premier m'a appris plein plein de trucs

egaetan: b0n5a1 c'est pour ça que j'ai pas submit pendant le live :p

PhOeNyX: En fait CrazyHidenTalan c'est justement en faisant abstraction de la présence des sorts de base que tu peux utiliser des learn de façon intéressante

Default avatar.png Paikan2068: Et j'ai mis un temps fou à passer Silver

PhOeNyX: Ton IA n'a aucun intérêt à utiliser des LEARN si elle ne sait que fabriquer une popo à partir des sorts de base;

Default avatar.png Paikan2068: Mais c'était super cool de réussir du coup en testant des trucs

Default avatar.png CrazyHidenTalan: T'inquiète je demande pas la solution

PhOeNyX: Tu dois coder en faisant comme si tu ne savais absolument pas ce que demandent et produisent les sorts

PhOeNyX: abstraction

b0n5a1: CrazyHidenTalan commence par un truc tout con : chope systématiquement 4 sorts les 4 premier tours histoire de voir ce que t'arrive à faire avec 8 sorts au lieu de 4...t'auras déjà fait une petite avancée

Default avatar.png CrazyHidenTalan: ça doit être ça mon souci du coup

Bob: ah ben oui tu ne peux pas hardcoder une utilisation précise pour chacun des sorts

Bob: tu vas devenir fou :)

Default avatar.png CrazyHidenTalan: C'est pas hardcoder

Bob: oui enfin

eklore: 791

Bob: tu n'as pas, toi, à "savoir" ce que fait chacun des sorts

PhOeNyX: Ton IA doit juste être capable de déterminer qu'à un état de jeu donné, si elle utilise tel sort, elle se rapproche de la fabrication d'une potion qu'elle a jugé "intéressante"

eklore: mon 1er code faisait ça pourtant ^^

Bob: tout comme PhOeNyX il a dit

Default avatar.png Paikan2068: CrazyHidenTalan, regarde tout ce qui traine dans le forum (exemple, tu as dû voir des histoires de BFS), renseigne-toi sur le sujet, et t'auras déjà gagné ton concours

Default avatar.png CrazyHidenTalan: Je me suis déjà renseigné sur cet algo

eklore: (comment on sait ou se trouve le boss en argent ? )

PhOeNyX: Surprise

b0n5a1: il est pas là eklore

Default avatar.png Paikan2068: Et ça t'a donné des idées?

Default avatar.png PythonSlayer: il est 1580 et des poussieres

Default avatar.png Paikan2068: Tu as essayé d'en faire un, même pas optimisé?

Default avatar.png Paikan2068: Teste des trucs. T'auras des pushs qui te feront perdre des places sans que tu t'y attendes, d'autres qui t'en feront gagner à cause d'un bug que t'as pas vu, mais qui s'avère pas si mauvais

Default avatar.png Paikan2068: Bref, plein d'occasions d'apprendre

eklore: PythonSlayer Merci

b0n5a1: eklore y'a pas de boss silver

WhatTrickeryIsThis: aha, je l'ai retrouvé

WhatTrickeryIsThis: https://www.youtube.com/watch?v=_1gbZEe_hrU

PhOeNyX: Et on est 1645 dans la ligue argent actuellement, si c'était ça la question

WhatTrickeryIsThis: bob was ugly as a mule

PhOeNyX: T'es un homme à femme Bob ?

Bob: o_O

Bob: O_o

Bob: O_O

Bob: O_O;;;;

Default avatar.png Paikan2068: Cette discussion dévie

Default avatar.png Paikan2068: dangereusement

eklore: b0n5a1 J'ai un AI que je peux mettre en adversaire, c'est qui ?

b0n5a1: un truc temporaire par défaut histoire d'avoir un adversaire

b0n5a1: ça remplace le boss en attendant

PhOeNyX: Tu peux le changer pour affronter Agade

b0n5a1: tu peux mettre qui tu veux à la place

Bob: putain j'ai perdu la seed du crash T_T

PhOeNyX: Est-ce qu'il y a moyen de déterminer la seed pour connaître en avance les Spell et Recipe qui arrivent comme avait fait reCurse dans C4L ?

Mazelcop: c'est vraiment permis ce truc ?

egaetan: oui

b0n5a1: si t'y arrives...

egaetan: c'est jouable en plus

PhOeNyX: Tout est permis. On te donne le Referee donc si tu trouves des combines c'est tant mieux pour toi

b0n5a1: c'est pas de la triche

PhOeNyX: T'as juste pas le droit de hacker les serveurs de CG

PhOeNyX: :D

Default avatar.png JBM: depuis l'exterieur

Default avatar.png PythonSlayer: c'est pas très sportif

WhatTrickeryIsThis: bha

b0n5a1: ha bon ?

WhatTrickeryIsThis: comment on récupère la seed de la game?

PhOeNyX: En quoi c'est pas sportif ? Tout le monde peut le faire...

Default avatar.png JBM: je trouve ça d'assez haut niveau au contraire

PhOeNyX: Faut pas la "récupérer", faut la calculer

WhatTrickeryIsThis: y avait un contest on le faisait en plus

Default avatar.png PythonSlayer: c'est vrai aussi

b0n5a1: on va dire "sportif de haut niveau" plutôt

Default avatar.png PythonSlayer: ahaha

PhOeNyX: Beh comme je disais, reCurse l'avait fait dans Code4Life

Mazelcop: gérer le random des potions et spells futurs c'est assez "haut niveau" aussi

PhOeNyX: Ils n'identifiaient plus les samples

Default avatar.png JBM: jvais lancer un fonds

Default avatar.png JBM: pour bruteforce les 64 bits de seed sur un cluster AWS

b0n5a1: deviner les validateurs sur contests opti et les hardcoder idem, t'as trouvé le truc, c'est pas de la triche, c'est de la bonne intuition/réflecion/exploitation

PhOeNyX: Pour ce contest remarquer qu'une IA crack la seed juste à son comportement c'est impossible, alors que dans C4L ça permettait de skip l'étape d'identification des samples

PhOeNyX: Donc ça se voyait quand quelqu'un le faisait

CopperFr: lance un kickstarter JBM

Default avatar.png JBM: j'ai d'autre trucs a procrastiner avant

Kirbiby: okayyyyyyyy

Kirbiby: mauvaise idée la fonction de hashage qui peut retourner 0

Default avatar.png JBM: pourquoi?

Default avatar.png JBM: c'est pas une pire valeur qu'une autre

Kirbiby: Oui oui c'est pas exactement ça

Kirbiby: C'est juste qu'elle me donnait 0 pour tous les états où l'inventaire est vide

PhOeNyX: Une bonne fonction de hashage, l'important c'est pas les valeurs qu'elle retourne mais la faible probabilité de collision

Kirbiby: J'ai fait un raccourci les gars, j'sais bien

PhOeNyX: Un rat sans queue ?

Kirbiby: Queudver ?

CopperFr: c'est pas abraracourcix, y a des potions mais pas de druides :(

Vry: vous connaissez méthode simple pour hacher 64bits vers 20bits ?

Default avatar.png JBM: xor

egaetan: Vry xor

dbdr: pareil

VincentBab: 20bits vers 64bits plutot non ?

Vry: Nan les données c'est 64bits et j'ai prévu 2^20 lignes dans mon tableau

Vry: Ok X-or est mon ami !

Traquila: faut gérer les colisions du coup

Vry: Ou 16 bits

dbdr: quel tableau?

VincentBab: euh oui dsl jdit n'imp xD

Vry: Oui Traquila, en "open addressing" :sunglasses:

Vry: Pas de problème Vincent_Augugliaro

Vry: VincentBab

Vry: dbdr : mon tableau de state du jeu

NoZ-: Salut tout le monde !

NoZ-: C'est encore 18h la nouvelle ligue ?

Vry: Probablement !

NoZ-: Des pronostiques sur le nombre d'heureux élus ?

dbdr: 150 d'après Apo

NoZ-: ah oui

NoZ-: je suis loin :P

VincentBab: Vry tu as que 64bits pour les info du state que tu veux hash ? ca me parait pas beaucoup

NoZ-: vu qu'ils avaient cut à plus de 800 pour argent, j'étais en train de rêver

Default avatar.png OldJohn: Pour le hash voir Zobrist, j'écris cela, j'écris rien ...

VincentBab: Yes je connais ^^

Default avatar.png Sharym: Bonjour tout le monde !

Vry: VincentBab : c'est pour la recherche des potions sans learn pour un joueur

Default avatar.png Sharym: Est-ce que c'est une bonne idée de ne manipuler que des vecteurs de pointeurs pour gagner en performance ?

VincentBab: ah ok

Vry: depth #17 en 1ms c'est pas mal

VincentBab: ah oui lool en effet ^^

dbdr: sans learn, a-ce de l'interet?

Vry: dbdr : c'était plus facile à coder :p

dbdr: :)

Vry: Et ça permet de valider le code

Default avatar.png JBM: ca fait une etape (couteuse) de la recherche avec learn

VincentBab: il serait temps que je prene en compte l'adversaire moi xD

dbdr: pas clair que ce soit une étape

Vry: Maintenant je vais ajouter le learn ...

Traquila: Combien de learn vous intégrez dans vos chemins ?

Default avatar.png JBM: ben entre tes learns, t'as quoi?

dbdr: ah, j'avais compris sans learn, jamais

dbdr: mais c'est peut-etre pas ça

Vry: Mais là mon état va grossir ... ou il faut que je trouve une achtuce

egaetan: fais un deuxieme XOR

dbdr: zip

Default avatar.png OldJohn: oui il faut faire a xor b xor b

Erickdd: Yo je suis en bronze avec les learn, vous êtes partis sur quoi les gens qui ont réussis à passer silver ? Recherche arborescente ? (graph ect)?

mrBen: un BFS tout pourris

Phamelin42: J'apprends les 10 premiers.

mrBen: avec 10 learn en premier aussi

lhm: Vry tu peux m'expliquer pourquoi tu as du hasher un état qui était sur 64-bits stp? je vois pas ce que tu y gagnes par rapport à un insert dans un set par exemple ?

Phamelin42: Une fois arrivé en silver je l'ai un poil opti en prenant les sorts qui donnent des ingrédients gratuitement si possible

b0n5a1: faut l'avoir le set en C déjà lhm

Traquila: je calcule le poid des sorts, et je learn si >

b0n5a1: oo map

b0n5a1: ou*

Erickdd: le poid des sorts c'est à dire ?

b0n5a1: et y'a le speed aussi

lhm: oh je savais pas qu'il était en C b0n5a1 mais du coup à part ça ?

Traquila: je donne une valeur

PhOeNyX: Les sorts ont des plus-values différentes

Vry: lhm : je suis en C, je doit tout faire à la main ! :p

Erickdd: Comment vous gérez le full de l'inv ?

lhm: parce que comme toi j'ai un état sur 64bits (sans les LEARN) mais je mets 45ms pour depth 10 du coup j'essaie de comprendre

Traquila: si la sommes est > 10, la branche est morte

Vry: le hash c'est pour dégager les doublons

PhOeNyX: Si tu pondères les ingrédients 1/2/3/4 (par exemple) tu verras que si tu évalues un Spell comme étant "moins ce qu'il consomme" additionné à "plus ce qu'il produit" alors il y a clairement des Spell meilleurs que d'autres

Bob: punaise cette vacherie de timeout est random T_T

Vry: Ceci n'est pas le source de mon bot ... :innocent:

lhm: oui bien sûr, mais dans une set ou une map tu les dégage déjà Vry

Vry: http://chat.codingame.com/pastebin/f59f55b5-c2bc-466b-b742-074303a9c34c

Vry: lhm : en fait j'ai réduit les données au max ... pour ce BFS un peu spécifique je suis passé de 2ko pour le state (input) à 64bits

Traquila: j'ai 64 bits aussi pour un node

lhm: oui c'est ce que je te disais, moi aussi je suis à 64bit / state mais je suis loin d'atteindre tes perfs du coup je m'interroge Vry

Vry: mais je ne peux pas déclarer un tableau de 2^64 case donc je hashe sur 16

egaetan: Vry j'hesite entre 32 et 64 pour un node, ça change beaucoup les perfs ?

VincentBab: 1800nodes @ depth=15 ca me parait pas beaucoup ?

Vry: egaetan : comme le dirait reCurse > faut tester ! :p

CopperFr: oui c'est trop 2^64 cases :D

Traquila: tu elague bien vincentbab

egaetan: VincentBab attends je regarde ton classement pour savoir quoi repondre

Vry: VincentBab > il n'y a que les 4 sorts du départ

Vry: + REST

VincentBab: ah ok

egaetan: lui repondez pas : il est devant moi

VincentBab: mdr xD

Default avatar.png JBM: c'est un investissement

egaetan: 1800 nodes ça dépend comment tu définis l'identité des noeuds

lhm: Ah d'accord, moi je suis a 45ms depth 10 mais avec 11 spells ça me parait plus correct

Vry: lhm : j'ajoute le learn et je te dis ça

Traquila: Donc combien de learn max vous simulez dans un path ?

Default avatar.png JBM: autant qu'il faut

Traquila: j'en est qu'un et je me demande si c'est suffisant

lhm: Comme JBM - 1

Default avatar.png JBM: ca va te couter cher en fin de partie ihm ^^

lhm: Quand on timeout 1 fois sur 2 la fin de la partie arrive vite donc ca va JBM :)

Default avatar.png JBM: gnagnagna

CopperFr: ah je croyais que c'était gratuit le contest

Default avatar.png Sharym: Pourquoi je perds ici ? J'ai le plus de point...

Default avatar.png Sharym: https://www.codingame.com/replay/505183761

dbdr: au pif, bonus de fin de partie

PhOeNyX: Chaque ingrédient de type > 0 rapporte 1 point dans l'inventaire

VincentBab: "Les joueurs gagnent 1 rubis pour chaque ingrédient de type 1 ou plus présent dans leur inventaire en fin de partie."

Default avatar.png Sharym: Mmm

Default avatar.png Sharym: Je vois je vois, merci !

Default avatar.png JBM: c'est "rubis" en français?!

WhatTrickeryIsThis: nan c'est ruppi

VincentBab: non c'est bien ecris "rubis" dans le statement

egaetan: VincentBab j'ai beaucoup plus de noeud à depth 15

OldDadou: Il a commencé quand le challenge en faite

Bob: oui dans les Zelda c'est rupee en anglais et rubis en francais

Bob: OldDadou: jeudi dernier

VincentBab: oui en fait c'est pas la depth qui compte pour comparer mais plutot le nb de nodes

Default avatar.png JBM: ah c'est une ref zelda ok

Default avatar.png JBM: ça me saute pas auxyeux

egaetan: VincentBab de l'ordre de grandeur de 10x plus

Bob: JBM : il faut connaitre un petit peu les Zelda N64 dont les sorcieres sont tirees, oui

R4N4R4M4: Les identifiants des potions elles partent de 42 ?

Bob: youhou j'entre dans la premiere moitie de silver

VincentBab: oui a peu pret egaetan mais ca depend du nb de spell

Bob: j'ai rarement autant rame sur un contest

Cousnouf: Bonjour je m'appelle Manuel Valls, je rame comme une merde :P hahahaha

PhOeNyX: C'est ta simu qui commence à porter ses fruits Bob ?

Bob: PhOeNyX: il semblerait

Cousnouf: copyright Jean-Marie LePen Gaming ahahaha

Cousnouf: okay j'arrête le LSD...

Default avatar.png lturbang: Hello, il y a moyen de trouver les leaks sur l'éditeur web ? Je suis en C

Bob: mais j'ai un !@#$%^&* de timeout random qui traine

dbdr: Bob c'est general

Default avatar.png JBM: ouais moi aussi

Default avatar.png lturbang: Je timout et je crois que c'est parce que j'ai mangé toute la mémoire, possible ?

Bob: ah ?

dbdr: il faut viser large avec les 50 ms

Bob: y compris dans l'IDE ?

dbdr: msg de Thubault

Bob: hmmm large comment ? :)

b0n5a1: genre -6 ms

dbdr: j'ai 25 ms pour l'instant

Bob: j'ai mis mon stop a 48

Bob: ah ouais quand meme

Bob: a ce point

b0n5a1: avec 47 ça me pète à la tête parfois

dbdr: et je vais max 30ms normalement, mais un timeout occasionnel

Bob: wow

dbdr: après c'est peut-etre mon code

Haashi: 25 ms top 6 , trop fort

Traquila: comme vous stoppez à xx ms ? Vous prenez l'heure en boucle ?

VincentBab: clair xD

Traquila: *comment

dbdr: 25 à 50ms ça change pas grand chose

Haashi: effectivement, ca doit te donner 2 depth de + a ce niveau la

Vry: Oh le joli bug, je ne retirais pas les ingrédients consommés par la préparation ! :p

Bob: le beurre et l'argent du beurre quoi

Cousnouf: vive le TDD alors pour ce genre de cas :P

Default avatar.png JBM: et la sorciere

Bob: JBM : je l'aurais dit moins poetiquement mais oui

Cousnouf: ouais la sorcière no thanks :)

Bob: ca depend de la sorciere

Pillowin: Youhou je suis bois 1 ! :grimacing:

Vry: GG Pillowin

Bob: (ou du sorcier d'ailleurs, soyons inclusif.ve.s)

CopperFr: la sorcière bien aimée ?

Cousnouf: jamais vu cette série

tekki: 16h ou 18h l'ouverture de la ligue or? svp

b0n5a1: 18

tekki: merci

CopperFr: la ligor

tekki: allez tournée générale Automaton2000

Automaton2000: bon, il faut que tu cherches ?

CopperFr: ca passait peut-être pas à quimper la série

Bob: ah ben ouais tekki tu proposes la tournee c'est toi qui vas chercher les bieres

Bob: :tekki:

Bob: :beer:

Bob: bien vu, Automaton2000

tekki: :)

Automaton2000: ça dépend ce que tu essaies de faire quoi ?

Cousnouf: j'en peux plus de Quimper..

b0n5a1: maintenant si sur tb breizh t'as peut être une chance ils passent que des vieilleries ^^

Bob: ben euh de me faire rincer gratos, Automaton2000

Haashi: ahah

tekki: exact une girafe pour tous Automaton2000

Automaton2000: mais quand je vois un peu le principe de base de la procrastination jbm?

Haashi: tout le monde est en rerun

Automaton2000: ouais je pense que les gens ne savent pas coder

Haashi: je suis passé de 170 a 135

Vry: Nan Haashi !

Bob: une pour tous = une seule pour tout le monde ?

Default avatar.png JBM: merci Automaton2000 et dbdr

Bob: ou une par personne ?

Automaton2000: tiens, y a un truc qui me fait le coup de ne pas voir ce que ça donne

Bob: bon sang que c'est lent

dbdr: ton code? ;)

Bob: non, ca va

Vry: Aller une réunion foireuse et ça va être l'heure de la sortie quotidienne

Bob: le push, oui

Bob: mais j'entre timidement dans le top 500, c'est deja ca de pris

CopperFr: faudrait enlever un 0

Bob: ouais je sais

PhOeNyX: C'est pas le 5 qu'il faudrait enlever ?

Bob: mais ca pour moi c'est seulement au chaud sous la couette vers 3 heures du mat

Default avatar.png LucasMorin: hello, i would like to train on trees, do you know which game I should be playing ?

PhOeNyX: puzzles Skynet ?

Kirbiby: Chat perché

Bob: cueillette de cerises

CopperFr: déjà si c'est dans le top 50 tu peux passer dans l'émission

Kirbiby: Or uou can try the Indiana Jones puzzles

Default avatar.png LucasMorin: Super merci ! je peux les trouver où les puzzles ?

CopperFr: ah mais tu parle français ?

Default avatar.png LucasMorin: oui

PhOeNyX: Section entraînement

Default avatar.png LucasMorin: ah oui c'est bon je l'ai

WhatTrickeryIsThis: Bien ,l e boss va tomber vers top 50 et après les ligues sont fermées, vous avez 2h

Vry: lol

egaetan: un demi submit

Vry: Réflexion en cours : comment integrer le learn sans casser les perf. ?

Vry: Mes neurones chauffent ...

Vry: ... je vais aller les refroidri dehors

Bob: fais-en 8 au debut :p

Bob: de rien

Vry: 6 tu veux dire ?

Bob: :D

Vry: Pour mon BFS ça suffira

Bob: moi c'est 8

PhOeNyX: Fais en "MAGIC NUMBER" au début

PhOeNyX: ça fonctionne aussi

Bob: au temps que prend le run, je vais pas tester trop de valeurs, je pense

Vry: Je vais aller reprendre les magic number de C4L

egaetan: j'avais 7

PhOeNyX: Sinon tu peux faire une heuristique en amont de ton BFS

PhOeNyX: Et si tu learn pas, tu BFS.

dwarfie: moi je fais 7 bfs ... un a vide et un avec un learn en debut avec chaque ... c'est foireux mais ca marche pas si mal depuis le debut du contest :D

egaetan: mais dwarfie c'est naze comme idée

dwarfie: je sais , je l'ai dit , c'est foireux ... mais ca me place pourtant mieux que ce que je m'attendais :D

Bob: c'est bien la toute la beaute de la chose

Bob: se placer mieux avec une idee toute pourrave que la plupart des gens qui se decarcassent, c'est du troll de haut niveau

Greg237: egaetan, si naze que ça ?

Default avatar.png PythonSlayer: c'est à partir d'où qu'ils comptent le temps?

egaetan: pour troller c'est génial, comme implem c'est une imposture, c'est un bfs mal codé avec le premier étage tordu

Vry: J'ai modifier les inputs pour m'attribuer tous les learn et en effet ça va beaucoup plus vite après malgré les six tours perdus !

Bob: PythonSlayer: juste apres le premier input

b0n5a1: PythonSlayer 1er janvier 1970 00:00:00 UTC :grinning:

egaetan: 7 bfs c'est équiiovalent à un bfs au rang du dessus avec 7 actions possibles

Default avatar.png PythonSlayer: XD

Default avatar.png PythonSlayer: merci Bob

Bob: il vous en prie

Greg237: egaetan, ok l'implémentation est naze, c'est effectivement équivalent a un BFS avec 7 "premières" actions possibles.

PhOeNyX: J'avoue que tu pourrais calculer 7 fois moins pour le même résultat

Greg237: Mais l'idée est bien, non ?

egaetan: c'est un troll ou une imposture, ou une bonne idée, sur CG ça peut être le tout, et dwarfie a souvent de bonnes idées

**dwarfie se sent mieux :D

Greg237: Je me disais bien que c'était pas trop idiot.

b0n5a1: pour rester stuck silver (avec moi)

Eldritch: ah bah j'avais quasi la même idée mais au lieu de faire 7 BFS je n'autorisais les learn dans mon BFS que sur la depth 1

Eldritch: ce qui revient exactement au même dans les faits

dwarfie: c'est juste que dwarfie est faineant et voulait pas gérer les learns dans le bfs :yum:

Greg237: Eldritch: exactement pareil, c'est pour ça que je pose la question

Eldritch: gang des fainéants : assemble

dwarfie: apres je suis d'accord que si j'avais du temps , je ferais plus intelligent , c'est clair

Kirbiby: vous faites des casts repetables ?

Bon[]Crayon: Automaton2000 La tortue deuxième Allez Allez :turtle:

Automaton2000: faut un truc qui marche bien

dwarfie: Kirbiby ... indispensable

PhOeNyX: dwarfie tu as le temps de tchatter, tu vas bien trouver le temps de fix ton BFS

BlaiseEbuth: ù$

b0n5a1: ha voilà le chat de BlaiseEbuth

BlaiseEbuth: Exact. Et voilà BlaiseEbuth.

dwarfie: PhOeNyX , si tu savais je suis censé etre en teletravail depuis 13h30 et je suis encore coincé a installer des serveur sur site ... je profite du reboot global :D

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

Automaton2000: non mais je vais pas tarder non plus

AutomatonNN: attends je devais chercher le contest de contest pour ma solution je crois

Bon[]Crayon: :wave_tone2:

dwarfie: Automaton2000 ... je suis d'accord avec toi ... pret a passer en mode cartman ? ;)

Automaton2000: c'est pas une raison pour ne pas me faire chier :p

dwarfie: (il y est deja en fait :D )

smanu: hello a tous

BlaiseEbuth: \o

Bon[]Crayon: :wave_tone2:

smanu: qui es sur power of thor ?

b0n5a1: toi

b0n5a1: j'ai gagné quoi ?

dwarfie: le droit d'etre connu

BlaiseEbuth: Mais pas cornu, ça c'est réservé

b0n5a1: le gars qui désirait être cocu...

Bob: sinon tu as une question sur power of thor ? :)

Bob: fais pas attention aux trolls

Bob: #goodGuyBob

b0n5a1: (tout ça pour lâcher un troll après)

lhm: Et voilà, il a fui !

dwarfie: don't feed the troll ... drown him :beers:

b0n5a1: reviens, on a des cailloux à manger

egaetan: smanu tu as une question ?

smanu: je decouvre le site, et les petits jeu

smanu: j ai parfois du mal a comprendre ce qu'il faut faire

Bob: le mieux c'est generalement de poser une question precise sur un probleme en particulier

PhOeNyX: Il faut remplacer la sortie par défaut du code de départ par une sortie qui répond au problème posé dans l'énoncé

PhOeNyX: Et pour ça, en amont, tu dois écrire un code qui calcule la réponse attendue.

Palmipedus: Les servers pour le conctest sont vraiment etrange. Sur un tour je peux seulement faire un seach sur mes brews en 45ms et le tour d'apres, je fait mon search et l'opp en 6ms...

Palmipedus: j'ai pas de timeout car j'ai un staopwatch mais c'est rageant de voir des variations de perfs comme ca

domak: Vous me fatiguez le top a soumettre en permance... Je viens de perdre 80 places en 30 minutes et sortir du top 300...

Palmipedus: vous avez le meme pb?

Mazelcop: Palmipedus oui

PhOeNyX: Tu n'as qu'à resubmit domak :D

Mazelcop: je me suis cassé les dents à essayer de comprendre si ça venait de chez moi mais des fois je perd 10ms entre deux logs

Palmipedus: domak oui c'est super chiant de se faire rouler dessus et descende en permanence a cause du top

Mazelcop: c'est assez rare heureusement

PhOeNyX: Sinon tu attends 18h, le top va dégager en gold

PhOeNyX: Et là tu resubmit

domak: oui je sais Palmipedus, on est au même niveau

dbdr: le top tape pas toujours sur les mêmes...

dbdr: ça s'équilibre?

domak: On dirait que le boss légende vient de sortir

dbdr: sans la ?

Default avatar.png Brandon: ah ah j'ai un BFS en javascript qui dépile 200 noeuds par tour. Je pense que ce serait un bon exmple de tout ce qu'il faut pas faire, à donner à des étuduants

BlaiseEbuth: A commencer par js

domak: Quand je regarde les submits en cours, y'en a quand même pas mal dans le top 100

Palmipedus: Il ya quand meme pas mal de chance qu'on passe le cut ou la premiere vague, donc bon le top va nous faire ch*** pendant longtemsp encore

Palmipedus: regarque en gold on sera mid to bottom donc il vont pas trop nous marcher dessus :D

Default avatar.png Brandon: @blaise pp, ouais peut être aussi

Mastard: wow 120 places perdu depuis hier soir, triste...

Traquila: 50 moi

dwarfie: 100

Palmipedus: environ 100 pour moi mais ca ira je pense pour le cut, on est 1660 maintenant en silver

dwarfie: mais bon , ca devrait passer quand meme

Mastard: le cut se fait à combien ?

Kirbiby: on saiiiiiit pas

Palmipedus: dwarfie tu est combien?

Mastard: ah ok

dwarfie: 366

Traquila: entre 200 et 300 je dis

PhOeNyX: Moi c'est marrant je n'ai rien codé depuis lundi 18h, j'ai perdu 350 places. Mais là en 2h j'ai regagné 50 places (toujours sans rien faire)

dbdr: tiens un japonais #3

Mastard: merde je suis 326

PhOeNyX: Sûrement des expériences ratées des gens

Stilgart: Automaton2000: donne nous une tortue au lieu de dire nimp

Automaton2000: est-ce que c'est toi ;)

dwarfie: moi je dirais qua ca cut a 350-400

Kirbiby: m'en fiche d'où ça cut, tant que je suis au dessus

Stilgart: ha, pour une fois c'est pas mal

Kirbiby: ce qui arrivera pas

BlaiseEbuth: Comment es ton j'ai encore rien glandé ?

**egaetan n'a encore rien glandé

BlaiseEbuth: lel

dwarfie: il a juste dit c'est pas juste un nombre impressionnant de fois en 5 minutes pendant son stream hier soir :D

Palmipedus: lool, pareil ici, je dois bosser et avancer sur le contest et juste je zone sur internet.... le WFH depuis 10 mois ca m'a tue la prodcutivite

BlaiseEbuth: wfh?

b0n5a1: working from hme

Traquila: teletravail

dwarfie: le travail (de coté) devant la tv

dwarfie: tele travail quoi ;)

BlaiseEbuth: Acronyme en anglais sur le chat Français, attention mon canard...

dwarfie: super canard ? ou canard wc ?

b0n5a1: en même temps si il met TT BlaiseEbuth on va croire qu'il chiale

Palmipedus: lool, en effet mais bon je vis a londres depuis plus 6 ans, je fait un sacre melange franglais maintenant

dwarfie: normal , c'est son cote pessimiste

domak: Je crois qu'il bosse à Londres coin-coin

BlaiseEbuth: Dis ASDF tant qu'on y est

BlaiseEbuth: Wé ! "clojure timeout" est passé de "investigating" à "working on a fix". Je vais pouvoir commencer mon bot à l'ouverture de legend !

b0n5a1: ils vont le foutre à la benne !

b0n5a1: fixed

b0n5a1: rip les 15 puzzles

BlaiseEbuth: Les ai déjà c'est bon

domak: Hey [CG]SaiksyApo, tu veux pas me choisir comme boss? J'ai toujous rêvé d'être le boss (et je suis toujours dans le coin)

b0n5a1: n'empêche ça fait qq semaines que sur des puzzles ou coc ça chie même en c++ donc bon...

domak: Sauf pour l'ouverture de la silver mais là c'était vraiment bas

domak: b0n5a1 change de langage

b0n5a1: sur des trucs à 2 balles

Traquila: Pourquoi je trouve un énorme bug toujours juste avant le cut ???

domak: Traquila vu ton classement, bouge pas

Palmipedus: sniff je viens de perdre 25 place en 30 min

Palmipedus: mais arreter de submit les gens

CopperFr: faut faire du C pas du C++

Traquila: < à la place de > qui fait que à même profondeur je choisis le chemin ou il y a le moins dans l'inventaire ...

domak: c'est pas un bug c'est une feature...

BlaiseEbuth: Bon. Bronze -> Gold sans toucher au clavier ce soir.

Traquila: la feature de celui qui part d'un inventaire vide à chaque potion :p

domak: tu vas changer le sens et tu vas t’apercevoir que c'était mieux avant

Bob: #dejaVu

domak: d'ailleurs c'était mieux avant

VincentBab: vous aussi vous avez des popup "Network error" ou c'est que moi ? :/

domak: y'a un japonnais qui est toujours pas couch... juste pour me passer dessus

b0n5a1: ouais

Traquila: dans le chat ?

Default avatar.png GuillaumeMohimont: moi ayssi

Kh4z: pareil :no_mouth:

BlaiseEbuth: J'allais demander

Bon[]Crayon: de mêmê

UmeHearts: Le site est casser

CopperFr: reste à déterminer à partir de quand c'est plus mieux après

TNtube: Vous aussi ?

domak: oui j'ai demandé à arrêter les submits

CopperFr: je vous demande de vous arrêter

domak: à la trump, on arrête le décompte et on fait le cut à 300

BlaiseEbuth: C'est moi qui ai freeze le contest. Personne code tant que je peux pas faire de clojure

CopperFr: arrêtez de me voler mon contest

JSanction: RIP CG :p

BlaiseEbuth: C'est bon

[CG]Thibaud: on regarde le souci

TetraktysPhi: oui 404

[CG]SaiksyApo: domak Il te manque 100 places pour etre le boss

[CG]SaiksyApo: T'as 45 min

Default avatar.png OldJohn: Network 504

b0n5a1: calendula officinalis

domak: [CG]SaiksyApo oui mais moi j'ai un métier...

[CG]SaiksyApo: AH

BlaiseEbuth: Ouai Apo, trouve un métier avant de dire des trucs ! ^^

[CG]SaiksyApo: Oui désolé

domak: En même temps si j'arrêtais de raconter des conneries et que je bossais ma strat, mon boulot avancerait pas moins

VincentBab: cut a 200 ca veux dire ? ^^

domak: oui je suis à 295..

[CG]SaiksyApo: Peut importe ça chouine quelque soit le seuil

domak: mais ç'est de l'enfume

[CG]SaiksyApo: :°

domak: bein on est français

domak: donc on râle c'est génétique

CopperFr: oui on fait plus que ca malheureusement :(

b0n5a1: prochaine étape : grêve du contest...

[CG]SaiksyApo: ça me fera des matchs plus rapide pour moi

[CG]SaiksyApo: Go faire la grève

b0n5a1: héhé

CopperFr: oui mais si t'es tout seul plus de matchs

b0n5a1: gagner par forfait CopperFr

CopperFr: y a pas de ps5

Palmipedus: ya vraiment beaucoup de bon joueur sur ce contest, pas mal d'ancien qui sont revenus

egaetan: on dervait les pénaliser

Palmipedus: lool

egaetan: c'est un manque de fidélité

egaetan: je peux proposer qqs noms d'ailleurs

Default avatar.png fgalar: Désolée, question bête... mais je suis pas sure, ici c'est le chan 42 ?

Palmipedus: la liste d'egaetan, ca pourrait faire un hit

Palmipedus: non c'est le chan FR

BlaiseEbuth: Pas d'insulte fgalar

b0n5a1: non fgalar -> #42

domak: râleurs et dénonciateurs... c'est bien le chat #fr

Default avatar.png fgalar: Ah yes merci !

PED: Je me sens visé egaetan

b0n5a1: de rien !

b0n5a1: :joy:

b0n5a1: on est 2 dessus ^^

Default avatar.png fgalar: Youpi !

Palmipedus: leojean890 tu repush a cette heure-ci? couillu

BlaiseEbuth: Désespéré

dbdr: submit marche ou pas?

b0n5a1: ça marche dbdr

egaetan: oui dbdr fonce

dbdr: merci

**egaetan se cache

egaetan: oups

egaetan: non PED toi ça va

leojean890: Palmipedus j'ai pas le rank pour gold :s

domak: leojean890 et donc tu veux nous entrainer dans ta chute...

leojean890: je tente des trucs de dernière minute :P

PED: Youpi pas de penalités !

domak: Hé coin-coin ça remonte pour nous!

egaetan: dbdr ça monte plus ?

dbdr: bof, ça doit etre un peu de malchance

dbdr: mauvais timing sinon :D

Bob: c'est terrible cette envie de pousser un nouveau truc a 17:40...

[CG]SaiksyApo: Feel free

leojean890: +1 Bob ;p

[CG]SaiksyApo: C'est pas comme si tu le faisais jamais

dbdr: [CG]SaiksyApo ya combien de if (pseudo.equals("Bob")) dans le code server CG?

Bob: :p

Haashi: incompréhensible

Haashi: il y a tellement d'aléatoire entre 170 et 130

Haashi: on doit tous avoir le meme algo

Haashi: bfs pour trouver la distance au potion, puis on trie price/distance et on prend la meilleure

rafaelSorel: @Haashi: tellement vrai

rafaelSorel: après je ne sais pas si il y'en a qui font du monte carlo ou du minimax

joelthelion: @Haashi si tu ne veux pas devenir fou, regarde ton score, pas ton classement. Et dis-toi qu'il y a une incertitude de près d'un point après 100 parties :)

dbdr: tiens egaetan tu es un peu bas

**egaetan pleure , dbdr se moque

dbdr: le niveau a monté?

b0n5a1: push troll twitch accidentel ^^

egaetan: oui mes voisins sont les mêmes

egaetan: il y avait pas qqn qui scrappait le leaderboard toutes les x miinutres ?

dbdr: il y avait

dbdr: moi je le prends une fois par jour

VincentBab: pour faire une courbe avec l'evolution du ranking ?

egaetan: oui et detecter les hidders

Kirbiby: c'est pas très dur

Kirbiby: tu prends le top 10

Kh4z: ca existe vraiment les hidders :no_mouth:

Kirbiby: :p

Default avatar.png Paikan2068: Aie aie aie, 321ème, ça sent la difficulté pour passer gold, il va falloir rebosser ce soir

b0n5a1: Kh4z au point d'en voir un débarquer dans le LB que à la fin oui...et monter très haut

Vry: bon est-ce que j'ai le temps de submit mon "fast BFS" ???

BlaiseEbuth: Kh4z, moi par exemple. Mon code clojure va tout péter à la fin.

Default avatar.png Paikan2068: C'est audacieux Vry

Default avatar.png Paikan2068: Mais l'audace est mère de beauté

Kh4z: Je vois je vois :sweat_smile:

Default avatar.png Paikan2068: On pourra tous t'applaudir dans 10 minutes si ça marche :p

b0n5a1: ha merde je vais être en run à l'ouverture

b0n5a1: sur un malentendu...

BlaiseEbuth: Moi j'applaudis pas Vry. Je préfère me réserver pour les soignants dans deux heures.

smanu: une question : des fois j ai des indices et maintenant j ai plus d'indice

smanu: pourquoi ?

Default avatar.png Paikan2068: Hum?

Default avatar.png Paikan2068: Des indices?

BlaiseEbuth: T'es devenu trop fort, plus besoin

Default avatar.png Paikan2068: BlaiseEbuth sage décision je t'applaudirai aussi

b0n5a1: smanu les indices c'est sur certains puzzles CG...sur les communautaires y'en a pas

smanu: ok

daleks: (un indice, sur votre écran :point_up:)

dwarfie: en meme temps , c'est pas des incides , c'est des solutions .. :p

BlaiseEbuth: Quand il fera the descent ce sera drôle.

Kirbiby: bon Apo il est 100eme là c'est un peu haut

b0n5a1: Onboarding, Thor, The Descent t'as surement des indices par exemple

BlaiseEbuth: Hey smanu descend !

b0n5a1: bah pkoi faire ?

[CG]SaiksyApo: C'est random aussi, je devais attérir 170 !

Kirbiby: *270 tu veux dire

dbdr: ça veut dire que les gens vont passer après au gré du random

BlaiseEbuth: Oui mais le bon ou le mauvais random ?

dbdr: un boss 170 il en laisse passer 250 assez vite...

Default avatar.png Paikan2068: Le boss qui est plus fort que prévu, encore! :p

0xCAFE: Bien joué à moi, j'ai soumis ma nouvelles version pour qu'elle soit là à 18h qui contient 2j de code, je passe de ~400 à ~800ème

dbdr: donc 110 c'est pas forcément mal

Default avatar.png Paikan2068: J'ai pas envie de rester aux portes du Gold à nouveau :'( Mais bon, plus qu'à travailler

Default avatar.png Paikan2068: ça se mérite

VincentBab: wtf pk je remonte tout seul ? ^o)

dbdr: c'est moi qui t'ai poussé VincentBab

Default avatar.png The_baguette: salut à tous

VincentBab: ah tu hide !! :D

CopperFr: salut McBaguette

dbdr: nonon, je teste

VincentBab: :P

dbdr: c'est vrai en plus

VincentBab: pas normal que je sois devant euler ou valgrowth aussi

dbdr: il est encore tôt

Bob: aaahhh mais vscode qui merde ses shortcuts ca me gaaaave

BlaiseEbuth: vscode aussi...

egaetan: vscode lol

BlaiseEbuth: T'es sur eclipse te moque pas

dbdr: vscode, la première lettre est bonne

CopperFr: utilise vim Bob (en plus t'as l'age pour)

joelthelion: héhé, Rust > C++

Mator: En C/C++ vous utilsez quoi ?

Bob: je passe sur le chat CG juste pour flip tiens

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

BlaiseEbuth: vim

Default avatar.png Paikan2068: (╯°□°)╯︵ ┻━┻


dbdr: top 2 full rust :)

BlaiseEbuth: ┬─┬ノ( º _ ºノ)

b0n5a1: t'appuies pas sur alt-shift parfois Bob par hasard ?

Bob: non non

VincentBab: xD

b0n5a1: ok

Bob: deja, je suis pas sur windows

BlaiseEbuth: C'est déjà ça

Thyl: un simple BFS ça passe bronze ??

Bob: mais j'ai branche un clavier us sur un laptop avec un clavier fr

lhm: oui Thyl

Bob: Thyl: normalement ca devrait meme passer silver

BlaiseEbuth: Thyl même sans bfs

Default avatar.png Paikan2068: Encore heureux qu'un simple BFS passe brone

P.L.S.: je suis silver sans algo de recherche, ça devrait aller ^^

Default avatar.png Paikan2068: T'imagines combien de personnes ça découragerait sinon?

Bob: b0n5a1: et tout le monde reconnait correctement le clavier us

R4N4R4M4: Le boss arrive

b0n5a1: oui je me souviens que t'as dit ça

Bob: y compris l'editeur de vscode d'ailleurs

BlaiseEbuth: Bob t'es sur quel os ?

b0n5a1: par contre tente l'edit des shortcuts via le menu (c'est dans un json derrière je crois)

Bob: en revanche, vscode specifiquement mappe select All sur Ctrl-Q, Undo sur Ctrl-W, Quit sur Ctrl-A et Close Window sur Ctrl-Z...

Haashi: :rage:

Bob: Blaise : Ubuntu

Default avatar.png Paikan2068: La notification dans le casque est si violente :(

Haashi: la notif j'ai cru que c'était le passage gold

Bglacial: J'ai sursauté :)

P.L.S.: Désactivez le son des notifs, ça me tuait haha

BlaiseEbuth: C'est bien la pein d'utiliser linux si c'est pour y installer vscode...

VincentBab: TUhTUm !

Default avatar.png Paikan2068: Non ça c'est Netflix VincentBab

CopperFr: Ubuntu :D

R4N4R4M4: La notif, c'est pas le passage Gold ? :D

Default avatar.png Paikan2068: Si t'as une seconde notif, c'est le passage Gold haha

Default avatar.png Paikan2068: Mais il en faut deux

Stilgart: j'imagine que c'est l'annonce du boss comme la derniere fois

Stilgart: mais j'arrive plus à accéder aux notifs :/

BlaiseEbuth: Tu te plaignais quand t'en avais, faudrait savoir

VincentBab: Who's the boss ? ^^

Default avatar.png Lx4: yo je découvre c'est grave bien haha

mrBen: Salut Lx4 !

Haashi: OUI je suis passé

Haashi: 125/131

Haashi: monkaS je suis sur le fil

VincentBab: ThuuThuu !

dbdr: wow, meme le compteur se met bien à jour maintenant!

VincentBab: Top8 quelle escroquerie mdr

TetraktysPhi: c'est stressant un contest

Haashi: miam les xp

mrBen: c'est hotaru le boss ?

dbdr: resubs VincentBab

Traquila: ca coupe sévère

egaetan: resub VincentBab

Traquila: j'aurais du commit :-(

dbdr: par ex pbquatre

VincentBab: non jvais repasser 25 ca va me casser le morale :D

egaetan: oO

VincentBab: je préfère croire que je suis bon xD

dbdr: je veux dire que tu as gagné des places parce que les gens audessus ont resub

VincentBab: ah ok mdr ^^

egaetan: oui il manque du monde

egaetan: je suis pas là pzr exemple

egaetan: :p

Bglacial: Au boulot, je bat pas le boss :D

VincentBab: pb4 toujours silver... escroquerie :D

TetraktysPhi: Haashi : tu as eu test xp ?

joelthelion: egaetantu es dans le déni :)

VirtuaL42: Comment on sait qui est choisi comme boss ?

dbdr: 8/10, c'est dur Gold!

VincentBab: ah oui il manque mass de monde mdrr

Traquila: vous etes combien ?

VincentBab: 131 en gold pour l'instant

Dridriun: c'est une ligue légende pas une ligue gold ça :grinning:

Bob: youpi j'ai gagne 140 places \o/

BlaiseEbuth: lele

VincentBab: légende ca sera ~20 je pense

WhatTrickeryIsThis: oui tiens

Bob: et sans rien faire, encore

WhatTrickeryIsThis: bha i la l'air costaud le boss

WhatTrickeryIsThis: vous avez fumé ou quoi?

Default avatar.png Paikan2068: Ahlala, il va falloir travailler pour battre ce boss

dbdr: Make Legend Legendary Again

WhatTrickeryIsThis: c'est niveau Trump max là

BlaiseEbuth: Brew For Supremacy !

Bob: bon, ben push

dbdr: while (! is_promoted) push()

[CG]SaiksyApo: Les gens qui sont pas promus direct c'est qu'ils ont 101 matchs sur 100 :(

R4N4R4M4: 131 Gold ! Ca rigole pas :D

[CG]SaiksyApo: Mon script le gere pas :D

joelthelion: dbdr rust est compilé en release dans l'ide mainenant ?!

Dridriun: on est censé être combien en gold du coup ?

dbdr: il parait oui joelthelion

[CG]SaiksyApo: 150 + 20

joelthelion: \o/

mrBen: = 170 ?

mrBen: ou y a une subtilité ?

VincentBab: à une vache pret, c'est pas une science exacte

tekki: ya déjà des mecs en or?

dbdr: ^

WhatTrickeryIsThis: bha Apo, t'as raté ton goûté ? qu'est qu'y va pas

WhatTrickeryIsThis: là :banana:

Default avatar.png Paikan2068: Il y en a plein ici

Default avatar.png Paikan2068: Mais ils atteignent pas tous la ligue du même nom

dbdr: egaetan t'as resub en silver? :D

VincentBab: :clap:

MooMooN: bon le boss il gère pas le cas ou il n'a plus de learn ...

egaetan: dbdr non... j'attend la fin du run du boss

MooMooN: pour le battre c'est pas le plus compliqué :) mais battre les autres ca c'est une autre paire de manche

VincentBab: comment on peu voir le classement silver avec le boss ?

dbdr: egaetan tu as un Battles in progress 24%

dbdr: c'est le script cd [CG]Apo qui doit faire des siennes

egaetan: dbdr ? où je suis à 100%

dbdr: last battles

[CG]SaiksyApo: Le boss il a peut etre pas fini de compute j'ai mis a 80% au lieu de 100 :shrug:

egaetan: c'est bon c'est passé

dbdr: https://i.snipboard.io/A0V9Tf.jpg

egaetan: oO ça passe comme un submit avec pleins de matchs pourris

[CG]SaiksyApo: Lequel de boss qui gere pas les learns MooMooN ?

MooMooN: Bossdorf je l'ai fait planté mais ca doit être autre chose dans une condition que je n'ai pas réussi à définir je pensais que c'était les learns vide mais non

[CG]SaiksyApo: Si tu retrouves le replay je le veux bien

MooMooN: C'était zen local et j'avoue que j'ai pas garder le truc...

[CG]SaiksyApo: Np

MooMooN: Mais si je reproduis je te fais signe

leojean890: cut à 100 ? bon bah j'étais loin de passer ;P

dwarfie: leojean890 ... clair ... meme moi j'etais loin ;)

Vry: egaetan : ton BFS de recherche de potions ne provoque jamais de timeout ?

tekki: PKOI YA PAS BEAUCOUP DE GARS PASSÉS EN LIGUE OR?

tekki: OUPS DSL MAJ

Vry: PARCE QUE ! :p

tekki: sry

egaetan: Vry j'ai un timer dessus

egaetan: pour être sûr

Vry: Ok; je suis tombé sur un cas où je timeout ... lol

Karang: reCurse

[CG]SaiksyApo: Qui se souvient de l'outil d'euler pour scan les replays, il n'y est plus dans sa bio ?

Default avatar.png Paikan2068: L'objectif devint donc bel et bien de ne pas rester coincé en Silver à nouveau :(

dwarfie: ca doit etre la http://eulerschezahl.herokuapp.com/codingame/puzzles/ [CG]SaiksyApo

reCurse: ?

[CG]SaiksyApo: Ty

Karang: sorry wanted to search in leaderboard, not in chat :)

Scarlatine: Nan mais silver c'est bien aussi, t'façon gold, c'est pour ceux qui ont un gros algo à compenser :grin:

tekki: Automaton2000 t'es en or?

Automaton2000: après j'ai pas fait de la merde ^^

tekki: c clair t trop fort :)

nicolasD: Ooh j'ai réussis a battre le boss silver une fois :D

nicolasD: (ya pas de petite victoire) XD

karlito40: hello y'aurait t'il moyen d'afficher la sortie console dans une nouvelle fenetre ?

Mastard: wow seulement 145 en or

domak: yep va falloir se sortir les doigts

leojean890: dwarfie ouais j'ai vu que tu m'as doublé de 100 places avec ton submit d'hier^^

dwarfie: ouais ... maintenant , essayer de trouver le temps de faire un peu plus serieux et de prendre un minimum en compte l'adversaire :p

Mastard: je vois pas quoi prendre en compte chez l'adversaire...

Thyl: mon BFS voit des coups !!!!!!!

dwarfie: le nombre de potion qu'il a faite et son score , c'est deja un bon debut lol

Thyl: !!!!!!!

Mastard: ca ok mais tu t'en sers comment ?

Thyl: :D

Palmipedus: bon je bas le boss silver 30% du temps ca sera pas assez pour passer

Mazelcop: les potions qu'il va faire par exemple

Mastard: moi je bois des coups :)

Mastard: ouais... mon algo est trop lent pour en plus faire un BFS pour l'adversaire

egaetan: Mastard pourquoi n'en faire qu'un seul pour l'adversaire ?

Mastard: j'en fais deja un pour moi, ca prend un temps fou

Thyl: c'est quoi le drot volatile ??

Thyl: en C++

Maka: comment reccuperer la version du code qu'on a envoyé dans l'arene ? :) help

egaetan: Maka Historique

egaetan: menu de gauche

Shakapam: comment vous definissez la profondeur de votre graphe a la construction ?

Maka: MErci <3

Shakapam: ca s'arrete quand vous avez trouvez des inventaires pour toutes les potions ?

b0n5a1: Thyl ça empêche le compilo de faire certaines optis et de "forcer" à accéder à la valeur au lieu de faire une "supposition" (oui c'est imagé)...au départ c'était pour des variables intimement lié à du hardware...pour garantir la lecture de la valeur plutôt qu' à une hypothétique valeur dûe à une opti compilo...en gros...tu trouveras des explications plus approfondies en fouinant

Thyl: merci b0n5a1

Default avatar.png khealer: Bonsoir, ce sera possible de voir le code des premiers après le concours ? Il y a un endroit pour voir le code des autres sur les derniers concours ? Merci

b0n5a1: non car ça finira en multi

b0n5a1: et ça serait trop simple de copier coller

joelthelion: c'est dommage ça quand même

joelthelion: il faudrait faire un concours open-source de temps en temps

b0n5a1: par contre certains expliqueront ce qu'ils ont fait (sans code)

egaetan: TheAccountant a fini sans multi et on avait vu qqs codes

Booti: C

Booti: Oups en retard

CopperFr: Vous aimez bien les volatiles ?

CopperFr: Ceci dit Bob est en tête de tous les Bob :D

VincentBab: bob

VincentBab: mais pas de tous les bab xD

VincentBab: comment je peux voir le ranking du boss silver ? ^^

Default avatar.png khealer: A mince, c'est juste pour m'inspirer de l'organisation du code des autres et de leur réflexion. Je parle bien après le concours, pas pendant.

b0n5a1: même près, le contest va finir en jeu multi

Vry: J'ai un bug chelou ... avec le hash le bfs trouve la dernière potion profondeur 11 et c'est juste ... sans le truc par grave en sucette

karlito40: il faut attendre combien de temps pour avancer dans les ligues du fall challenge ?

egaetan: karlito40 i lfaut finir son submit au dessus du boss et c'est immédiat

b0n5a1: le temps que ton bot arrive au sommet de la ligue, ça dépend

Vry: Et c'est impressionnant d'éfficacité le hash : avec j'ai 117k nodes depth 11 sans plus de 32785592 :nerd:

CopperFr: en même temps c'est pas nouveau

b0n5a1: c'est le contraire non Vry ?

Vry: Mais sur cette partie même le hash n'est pas suffisant

karlito40: je suis au dessus du boss depuis 10 minutes et j'ai toujours pas changé de ligue, snif

[CG]SaiksyApo: Tu as 100% de matchs ?

Vry: b0n5a1, non avec hash 117k sans hash 32785k

smanu: franchemetn je trouve les jeux difficile

b0n5a1: faut être à 100% des matchs karlito40

smanu: c est que de l'algorithmi

karlito40: ah ok

Vry: Et encore un bug ... :blush:

Vry: J'avais pas remis le contrôle de débordement sur le cast

BlaiseEbuth: smanu c'est le principe du site oui

VincentBab: Bon je suis passé de de 200k nodes à 300k nodes en remplacant ma struct de 4 int8 par un uint32 !

VirtuaL42: pour les calculs/ récup des composants du coup tu fais du masque ?

joelthelion: VincentBab j'aurais pensé que le compilateur était capable de faire la même chose...

VincentBab: oué

CopperFr: oui le masque est obligatoire

Vry: VincentBab : j'ai vu ça aussi en profilant, les 4 int ça fait mal

piwai: Copperfr: y compris pour coder chez soi ? :-(

VincentBab: je pense que c'est aussi le fait de plus avoir des method de class (ou tu doit passé un pointer this)

CopperFr: moi je le quitte plus le masque

VirtuaL42: mais sur la quantité de mémoire utilisée ou sur la vitesse de calcul ? car j'aurais tendance à penser que ca irai plus vite d'avoir les ints direct

Ster: nan0s

BlaiseEbuth: Bah la quantité de mémoire oui. Pour le calcul ça dépends comment tu les utilises

dbdr: uint32 c'est pas moins de mémoire que 4 int8

CopperFr: 4 * 8 = 32

Default avatar.png Liora: Est-ce que vous avez des conseils sur comment se debloquer quand on a plus d'idée comment ameliorer son bot? J'ai un sydrome de la page blanche

VincentBab: yes c'est pas la memoire le pb

CopperFr: après doit y'avait moins d'accès mémoire (ou ils sont alignés sur 32 bits par exemple)

VirtuaL42: oui mais avec les histoires d'alignement etc pas forcément dans une struct

BlaiseEbuth: C'était des int8 ? Pas fait gaffe

CopperFr: 4 int8 dans un seul uint32

VincentBab: mais quand je fait inventory.size() par exemple, implicitement j'apelle une function size() avec un poiner sur inventory

[CG]SaiksyApo: Tu peux regarder des replays d'autres personnes dans le leaderboard

[CG]SaiksyApo: @Liora

VincentBab: donc pointer 64bits (alors que mes data font 32), et derefence, etc..

VincentBab: dereference*

dbdr: ah tu avais une classe?

VincentBab: oui, enfin une struct mais c'est pareil ^^

VincentBab: maintenant je fait du C style en C++ xD

Default avatar.png Liora: Merci :)

VincentBab: INLINE Ingredient ingredient_add(Ingredient i, Ingredient j)

VincentBab: jvais peut être aller regarder du coté des x86intrin comme m'a dit zorg pour l'addition des 4 int8 en un coup xD

CopperFr: comme ca ca marchera plus sur arm :(

Zorg1: c'est stilgart les trucs bizarre du 86

VincentBab: Ah oui pardon

Zorg1: moi j'ai simplement 5 addition avec un seul add 32 bits

VincentBab: pk 5 ?

Mazelcop: score ?

Zorg1: les 4 ingrédients et leur somme

Mazelcop: ah

Zorg1: pour comparer rapidement à 19

Zorg1: *10

Zorg1: sans tout déballer

VincentBab: ok je vois

Zorg1: mais bon j'ai d'autre pb de lenteurs

dwarfie: bon ... penser a decompter les tomeIndex sur les learn ... c'est corrigé :yum:

dwarfie: plus je regarde , plus je trouve de loupés énormes dans mon code ... ;)

dbdr: gg pb4

VincentBab: solide ^^

Vry: On vous envoie une bande de russes ..

Vry: C'est ballot ça ... mon BFS trouve une potion mais le hash lui dit de sortir car elle est en doublon ...

Zorg1: bon faut pas avoir un train à prendre pour le push

dbdr: dernier submit avant l'ouverture de la légende

Zorg1: ce talent

dbdr: vu qu'ils prennent 2 jours par submit

dbdr: 350 submits en cours...

CopperFr: y devraient éliminer au bout d'un moment

BlaiseEbuth: ^

Greg237: C'est illusoire d'espérer passer en ligue or naturellement sans refaire des soumissions ? Lorsqu'on est dans les premiers de la ligue argent ?

dbdr: eliminer ceux qui sont pas or?

CopperFr: ben oui

Neumann: Je suis le seul à expérimenter beaucoup plus de timeouts chelous dans l'arène depuis 1h ?

YannT: bienvenue dans le monde de la JVM Neumann!

Neumann: Je suis en cpp

Vry: C'est lié à l'ouverture Gold, ça ramouille

YannT: à tout moment tu tiimeout parce que l'ALGORITHME a décidé

YannT: jsais je déconne :p

BlaiseEbuth: o/ 351062

dbdr: le server est en JVM

Neumann: C'est pas marrant, ça me trigger des PTSD de quand je codais en Java :P

VincentBab: j'ai l'impression que quand les server sont surchargé ca timeout plus facilement, faut mettre plus de marge :/

CopperFr: ah il est pas en JBM le serveur ?

VincentBab: Java Boss Machine ?

BlaiseEbuth: Ce hl gratuit...

YannT: héhé le serveur en JBM

YannT: HTTP <$>

Mastard: gagner 130 places en enlevant un move de mon algo que je croyais tres bien depuis le debut... bim prend ca l'ego

nicolasD: et c'était quoi ? =p

BlaiseEbuth: C'est juste les joueurs qui sont passés en gold Mastard, t'emballe pas... :grin:

Mastard: haha peut etre c'est vrai, mais 130 places en 1 submit ca fait beaucoup haha

CopperFr: Java Business Machines

Julius2k17: moi g tjs pas reussi a maitriser mon graphe, je desespere pas avant dimanche

Julius2k17: objectif refresh des paths ce soir

Gh0stm4chine: +1

Mastard: je donnais une priorité au spells du grimoire qui etaient gratuits (dans le sens, ils donnent des ingredient mais n'en consomment pas)

Mastard: bah apparement fallait pas lol

Julius2k17: ^^

Julius2k17: moi je prends les sorts avec les ingredients de niveau n+1 négatifs

Julius2k17: je prends pas les sorts

nicolasD: ah mince j'ai fais ça aussi moi =p

Julius2k17: mon algo aime pas

Julius2k17: ca me refait boucler

nicolasD: je vais tester sans pour voir si je gagne plus de points =p

Julius2k17: à coup sur

Simon21: eh ben je pensais passer en ligue or facile, même pas...

nicolasD: je viens enfin de coder un truc pour repeat ...

WhatTrickeryIsThis: comprends pas tu peux répéter?

nicolasD: ^^

mrBen: ça m'as fait gagber 300 place ça hier !

mrBen: *gagner

BlaiseEbuth: Tiens t'as retrouvé tes caractères spéciaux.

mrBen: ils semblerai :wink:

mrBen: la nuit à fait du bien au PC

dbdr: pas sûr qu'il fallait...

BlaiseEbuth: :zipper_mouth:

mrBen: oui, bon ça vas, je sais pas écrire, je suis au courant

dbdr: on se plante tous parfois

mrBen: ouais, bon moi c'est souvent, mais je le vis bien

Gh0stm4chine: Elle a ouvert a quelle heure la ligue ?

CopperFr: 18h

Gh0stm4chine: merci

Vry: Encore un bug dans mon state :p

Vry: Tu m'étonnes que ça collisionne ...

WhatTrickeryIsThis: Alors Apo il est en gold lui maintenant? hazard? réalité? Trump?

Vry: Ah une victoire contre Bossdorf ! :p

Vry: Ça voudrait dire que je n'ai plus de bug ? :upside_down:

Mastard: comment CG decide quel est l'algo du boss ? pure curiosité

mrBen: c'est choisi à la main je crois

Vry: Par quelqu'un de sexy ...

mrBen: Apo ?

mrBen: ah... bah oui

Julius2k17: c automatonn le boss

mrBen: manque un n

Default avatar.png PythonSlayer: quelqu'un sait comment on fait parler la sorciere en python?

Neumann: De la même manière qu'en PHP

Default avatar.png PythonSlayer: c à d?

VilBoub: ajoute ton texte avec un espace avant après ton action

Default avatar.png PythonSlayer: ok merci

Mastard: passer en gold en enlevant ce que je pensais etre mon meilleur move... je suis entre la joie et le depit

Default avatar.png PythonSlayer: Au moins t es gold ^^

leojean890: ça arrive les biais cognitifs ^^ j'ai également implémenté des trucs qui m'ont fait baisser;)

xurei: wouhou, gold me voila !

xurei: et j'y perds tout ahahah

VincentBab: gg ^^

VincentBab: leojean890 c'est pour quand la gold ?

Lutchi: salut

[CG]SaiksyApo: T'as du resubmit xurei?

[CG]SaiksyApo: Ou t'es passé comme ça

Vry: Bon pour l'instant je limite en dur à 65k nodes sinon ça passe pas ! :p

Vry: Bon départ sauf sur Zorg1 !

Traquila: 55 ca va passer tout seul ou je submit avec petite amélioration ?

egaetan: 55 c'est loin

Traquila: ok

Default avatar.png Simo97: il y a que des informaticiens ici ? :p ou d'autres professions aussi ? :D

Falkor: que des boulanger je pense

Default avatar.png Simo97: pas de pompier ? xD

Eldritch: ton code a pris feu ?

VilBoub: moi j'suis pas informaticien mais prof e maths ^^

Default avatar.png Simo97: c'est plutôt mon pc ...

Falkor: maths/logique, ça passe :D

ltDan: moi je suis dans la politique

ltDan: j'ai du mal

Default avatar.png tysufa: moi je suis lycéen

egaetan: Simon21 pleins de professions

Default avatar.png tysufa: et j'ai beaucoup de mal

ltDan: au lycée, depuis + de 10 ans ?

Default avatar.png Simo97: c'est vrai que ce site permet d'avoir du boulot ? xD

Magus: oui

Traquila: j'en doute

WhatTrickeryIsThis: Ne serait-ce que faire le contest ^^

ltDan: @simo97 autant que linkedin je pense ;)

WhatTrickeryIsThis: bon ça paye pas beaucoups, quelqueq bananes au plus

egaetan: oui pour le boulot

ltDan: qq un a trouvé du boulot via cg ?

ltDan: ou linkedin ?

ltDan: perso je connais personne , ni sur l'un ou l'autre ;)

[CG]Thibaud: yup ça arrive souvent ItDan

Traquila: On recrute pas mal via linkedin

WhatTrickeryIsThis: skoi linkededmachin? c'est pour coder?

ltDan: si tu es dans la moyenne je veux bien le croire poru linked in

ltDan: ca fait 10 ans qu'on m'approche, dès que je donne ma prétention salariale cela s'arrete

ltDan: curieusement

Neumann: Du coup t'es au chômage ?

ltDan: lol non

ltDan: mais on va pas se mentir

ltDan: les ESN c'est toujours dans les memes fourchettes

Biskotte: bonjour qqn qui fait du python ici pour m'aider ^^? je souhaite savoir si il est possible de nommer une variable selon la valeur prise par une autre variable

ltDan: euh comment tu en arrive à vouloir faire un truc pareil ;) dans ce challenge

Neumann: Tss, en plus à tous les coups il a les prétentions salariales du niveau ESN

Neumann: Haha le naze

Biskotte: rien a voir avec le challenge je suis nouveau ce chat y est consacré ?

ltDan: @neumann ?

Bon[]Crayon: Haha le naze AutomatoNN

Bon[]Crayon: Haha le naze AutomatonNN

CopperFr: non mais même c'est bizarre de vouloir faire ca

ltDan: biskotte , sorry , no pb alors

AutomatonNN: gg ultra bon et tu peux pas te rendre compte que tu peux pas le remettre au dessus du boss :/

Palmipedus: pff j'ai resubmiot un truc mais c'est pire je suis 135 maintenant... je pense que je vais attendre le week-end pour retravailler dessus

leojean890: VincentBab bof je m'en sors pas sper :s

leojean890: à cause des perfs

VincentBab: :(

VincentBab: passe en C++ :P

leojean890: VincentBab avant de submit j'étais 380 silver only ;)

leojean890: je suis passé à go pour améliorer les perfs mais j'ai pas encore fait de bitset, je creuse les directions heuristiques (beam search)

leojean890: re-migrer en C++ c'est just in time^^

leojean890: (et en motiv ^^)

VincentBab: ok, perso j'ai du mal a voir les heuristique en beam search, ya toujours des edge cases

leojean890: toi t'as un bfs et tu simules tout sans élaguer du tout ?

leojean890: bfs vers les potions t'avais dit ?

leojean890: pour avoir les distances pour chacune ? pas un bfs global ?

VincentBab: je limite un peu le learn mais sinon j'élague aucune action qui as du sens

leojean890: tu stock tes états déà visités pour ne pas y retourner ?

leojean890: déjà

VincentBab: j'ai changer mon Bfs pour pouvoir gérer plusieur potion a la suite

VincentBab: ca ma fait gagner pas mal

leojean890: ah ouais, moi j'ai essayé les 2 aussi

leojean890: ces 2 façons de faire

ltDan: @vincent du coup tu vas jusqu'a quelle profondeur ?

ltDan: si c'est pas indiscret ? ;)

Traquila: 20 cm

ltDan: @Traquila

ltDan: pas mal du tout

Traquila: désolé

Zorg1: :thumbsup:

BlaiseEbuth: ...

BlaiseEbuth: Il est trop tôt pour ce genre de blague.

Zorg1: une sacré bande de rois du rire

VincentBab: ItDan, ca depend de la complexité de la situation, je dirai 12/13 en moyenne

BlaiseEbuth: Pas de mention alors

Zorg1: bon je dis ça mais je me prépare à (en dire une pire)

ltDan: ok, je crois c++ va beaucoup beaucoup plus vite que python ;)

ltDan: pour le coup

BlaiseEbuth: "pour le coup" ^^

ltDan: faudra que je me motive à changer de language pour cg un jour ;)

VincentBab: mais qu'en ca va trop profond mon bot prend des mauvaise decision j'ai l'impression :/

ltDan: oui j'ai vu ca déja a mon niveau

ltDan: parfois une profondeur à 3 gangnes alors que beaucoup plus loin non

VincentBab: le C++ est pas non plus magique, mais il te permet de faire des choses bas niveau qui sont optimisé, que tu ne peut pas faire dans d'autre language

ltDan: qq'un sais la diffence de perf entre c# et c++

CopperFr: c'est pas magique le c++ ?

egaetan: ltDan oui

ltDan: @egatan et en 2 mots ? ;) ca donne quoi

egaetan: ltDan je sais

ltDan: Merci , c'est très enrichisant comme retour

ltDan: toujours un plaisir de partager

Neumann: euler parlait de *3

Neumann: Mais ca dépend de tellement de choses que y'a pas de formule toute faite

egaetan: mais eulerscheZahl ecrit du code c# sans doute tres rapide

Neumann: Oui

ltDan: oui mais bon ca donne une idée moyenne

Neumann: C'est le genre de question auquel reCurse adore répondre je pense

ltDan: sur la masse

ltDan: je doute pas que l'important c'est pas les cartes ;)

egaetan: en moyenne à la louche x10

ltDan: pas crédible lol

CopperFr: même *3 ca me semble beaucoup

reCurse: Je dirais environ e^1.439 fois plus rapide

VincentBab: x100 si tu fait n'imp avec le GC xD

eulerscheZahl: i said i'd expect 1.5 Neumann. don't quote me wrong

CopperFr: 1.5 ca semble déjà plus crédible en effet

ltDan: je parle pour un mec qui à rincé les 2 scénarios

ltDan: pas pour gugus qui débarque en monde touriste

reCurse: C'est une question inutile

reCurse: Ça dépend du contexte, du problème, etc

ltDan: ok, mais réponse inutile, car le contexte tu le connais ;)

ltDan: et le problème aussi lol

reCurse: Pas nécéssairement

reCurse: Pour quelle approche sur ce jeu dis moi?

ltDan: ok, ok je ne te suis pas sur ce terrain

Neumann: eulerscheZahl: I didn't, the question wasn't aimed at this specific challenge :P You said converting your UTTT code from C# to C++ gave you a *3 improvment

reCurse: Too late I already engraved a plaque with euler quoting

eulerscheZahl: before release mode

Neumann: True

eulerscheZahl: you are on my naughty list now, i won't congratulate to your next league promotion ;)

Neumann: It won't happen, don't bother

VincentBab: lol

reCurse: 🍅Neumann

Neumann: J'ai pas la ref de la tomate

Falkor: Y a une raison de perdre en cas d'égalité ?

reCurse: Y'a pas de ref je te la lance c'est tout

leojean890: en cas d'égalité personne ne perd;)

Neumann: Ok, cimer

leojean890: c'est bien écrit #1 #1

ltDan: @falkor que les 2 perdent ou gagne, ca change rien

Neumann: Falkor parle peut-être de l'ajout de points pour les ingrédients restants en fin de game

Falkor: ok ça roule, mais dans l'historique de match ça fait peur :p

Neumann: Ou pas

BigUP: ha oui 184 en Gold !

BigUP: J'ai toujours une Ligue de retard !

leojean890: ça a ouvert avec 100 ou 130 personnes ;)

leojean890: (quand j'ai regardé il y en avait 130)

Zorg1: bigUp : tu n'as qu'a te dire que tu te réserve pour le double jump

leojean890: sélect quoi;)

BigUP: Zorg1, comme d'hab, j'IA Hide... mais pas garanti que je déhide un jour

Zorg1: les problèmes de planing, on oublie de déhider avant lundi 10h

Zorg1: ça m'arrive tout le temps :D

BigUP: Zorg1, c'est ca, en plu sje suis partagé entre bosser sur un projet du boulot ou faire du CG

egaetan: faire du CG !!

BigUP: egaetan, faut voir

BigUP: J'ai toute ma vie pour faire du CG, alor sque le projet du boulot...

Zorg1: ... il va te coûter ta vie ?

BigUP: ca peut ;)

Default avatar.png Paikan2068: La malédiction, retour à la 100ème place du silver... Bon, bah on va bosser pour trouver le passage en Gold :(

CopperFr: faut écouter ville de lumière en boucle

CopperFr: codingame vous aide à recruter les meilleurs dev mais ils préféreont faire du cg que leur projet de boulot :(

egaetan: ça c'est le problème 20 jours par an

egaetan: quoique, ah non off by one, tout le temps

Zorg1: et si je fixais mon bot au lieu de lire vos âneries ?

CopperFr: fix ton bot :D

Zorg1: améliore ta IA

Vry: Mon petit bot monte doucement ... mais sûrement !

egaetan: lit nos conneries

Vry: Ouais ... bon moi aussi il faudrait que j'y retourne ...

Vry: Parce que chopper la potion la plus "proche" c'est pas forcément la meilleure méthode

egaetan: J'ai à peine mieux Vry

Uxof: Vry : meme combat pour moi :D

Vry: Pourtant egaetan t'es dans la ligue supérieure ... :smiley:

VincentBab: pareil faut que je retravail ma fonction d'eval, c'est bien beau d'aller a depth 15 pour faire de la merde...

Vry: ... mais bizarrement je pense que niveau perf j'ai encore des choses à améliorer, je suis obligé de couper à 65k node

egaetan: c'est la manière de rapprocher la potion qui change

Vry: Et ça change tout !

Simon21: 65k noeuds... moi j'arrive tout juste à 3-4k noeuds lol

Exhaustif: quelqu'un à une idée pour de meilleurs performances que la unordered_map en C++ pour stocker les hashs ?

Exhaustif: une idée qu'il veut bien partager surtout

Mazelcop: j'ai un unordered_set

Karang: 20k noeud pour l'adversaire puis 300k noeuds pour moi, mais pas moyen d'avoir une fonction d'eval correct... j'ai encore plein de budget temps mais rajouter des noeuds quand on trouve deja les chemins vers toutes les potions, ça aide pas beaucoup

Exhaustif: merci Mazelcop je vais tester ça

Default avatar.png JBM: y'a bien 36 potions?

Neumann: Oui.

Default avatar.png JBM: mici

Default avatar.png SirTri: Bonsoir, j'ai un test technique demain en node, et je connais pas vraiment node... :D Vous auriez des liens avec des tutos sympas genre la doc de react je trouve rien de bien folichon et sympathique

Falkor: lol

Falkor: il te reste pas beaucoup de temps ^^

Default avatar.png SirTri: C'est pas un problème ça, j'apprends assez vite si le support est bien foutu ^^

Default avatar.png SirTri: C'est un test junior, sur les connaissances fondamentales plus qu'avancées

Traquila: si vous faite les simus potion par potion, vous pouvez limiter la profondeur au meileur résultat précédent

Traquila: Par exemple si potion 1 donne 3 coups, vous limitez la profondeur recherche des potions suivantes à 3 coups -> moins de profondeur, plus de combinaison (voir toutes testée)

Traquila: Avec le meilleur ratio ca marche aussi

Bluepioupiou: non moi je fais toutes les simu d'avance et je vois a quelle potion ça s'applique ensuite

Traquila: en effet je parle pas de ceux qui visent la prod mais les popo une par une

Default avatar.png BenP: Vous avez des conseils sur comment s'assurer que l'on a pas déjà croiser un state précédemment ?

Default avatar.png BenP: node*

Fosfen: Tu peux utiliser un tableau qui contient les states que tu as déjà visités

Default avatar.png BenP: Mais du coup il faut un moyen de s'assurer de l'unicité dans state. J'avais fait une fonction qui convertissait mon node en string et je stockais les string mais ça me semble pas très opti comme méthode

BlaiseEbuth: Un hash

Vry: +1

BlaiseEbuth: Mais le problème est le même, il faut que ton state soit le moins "gros" possible

Vry: J'ai implémenté ça aujourd'hui et c'est "magique"

egaetan: le hash doit être petit, le state....

Vry: ... et que tu puisses le hâcher menu

BlaiseEbuth: Bah en terme de perf si le state est gros le hash est plus long à calculer

Default avatar.png BenP: Pour le moment dans mon state j'ai un tableau de 4 int8, un bitset et le path (string) dans le BFS. Mais en soit je n'ai pas besoin d'inclure le path dans le calcule du hash

Default avatar.png BenP: Mais donc il faut que je trouve comment créer un hash propre. J'ai un mot clef pour google merci bien !

Default avatar.png Liora: Comment vous faites pour gerer les states duplicat vous? Genre si il fait le spell 1 et ensuite 2 c'est la même chose que 2 et ensuite 1, comparer l'inventaire si c'est identique t'enleve celui qui a le plus de depth?

Gh0stm4chine: tu dois aussi comparer l'état des sorts du state, tu peux avoir 2 fois le même inventaire pour autant c'est pas le même state

Maka: liststep1.contains( all listStep2) ?


BlaiseEbuth: Hey Maka !

Default avatar.png Liora: ah ouais

BlaiseEbuth: Ce chat est nul... Aucune réactivité

Vry: réna ?

BlaiseEbuth: voilà

Default avatar.png Liora: J'aijust inventaire et depth et spells exhausted dans ma comparaisonm, je sais pas is j'ai besoin de plus

Vry: J'avais pas tilté désolé ...

BlaiseEbuth: :(

b0n5a1: la flemme de chercher le clip youtube

Maka: hey BlaiseEbuth

BlaiseEbuth: o/

CopperFr: hé Maka ray n'a

Maka: dsl j'etais en train de tenter de trouver la meme fenetre de chat sur discord.. en vain

BlaiseEbuth: Normal. C'est pas discord ^^

Maka: Maka Bé || Vel || Dame

b0n5a1: Ke || Ron

Maka: :joy:

Maka: roni

CopperFr: manque ravane

BlaiseEbuth: Et potépercée

Default avatar.png LogicalKip: hello, y'a un moyen de garder les conditions d'une partie pour continuer à la débugger plus tard même après avoir éteint le PC ? Je fais "rejouer dans les mêmes conditions" mais je dois partir

polpoul: adversaire + seed

CopperFr: je vous aime je dois partir ?

Default avatar.png Dimitrio: Options -> manuel -> copie la seed colle la au meme endrooit la prochaine fois

b0n5a1: berk

Default avatar.png -TheWalder-: Bonjour, on essai de participer en groupe dans notre lycée au challenge mais le système d'invitation n'est pas vraiment intuitif quelqu'un peut m'aider svp ?

BlaiseEbuth: C'est un vrai lycée ?

Default avatar.png -TheWalder-: Ouais

b0n5a1: inscrit à la cci ? :joy:

Default avatar.png JBM: houla ça va pa bien vite ce soir

BlaiseEbuth: Ca va alors

Default avatar.png LogicalKip: merci mais s'il s'agit du menu option sur le jeu, je n'ai que hide exhausted spells, qualité et vitesse :/

BlaiseEbuth: LogicalKip dans les options à gauche de l'ide active le mode expert

polpoul: options sous ton code

Default avatar.png LogicalKip: ah ah ! merci c'était ça

BlaiseEbuth: Ensuite dans la zone de test sous ton code tu auras un onglet option

Default avatar.png JBM: -thewalder- ouais c'est pas evident le bon lien pour inviter c'est https://www.codingame.com/servlet/urlinvite?u=154906

Default avatar.png LogicalKip: ouaip merci bcp

Default avatar.png JBM: il me faut toujours un moment pour le retrouver

b0n5a1: lol le farm invite JBM

BlaiseEbuth: ...

Default avatar.png -TheWalder-: JBM, ce lien ne fait qu'amener à la page d'acceuil...

Default avatar.png JBM: des ann²es que j'y suis

pierre31: C'est super long dans le board...

b0n5a1: j'y ai pensé en plus

Default avatar.png JBM: -thewalder-> ou c'est parce que toi t'es déjà inscrit

Default avatar.png JBM: b0n5a1: et ça a toujours pas payé

BlaiseEbuth: -TheWalder- Tu veux quoi exactement ? Inviter des gens à rejoindre le site, où les inviter dans la team de ton lycée ?

Default avatar.png -TheWalder-: de la team du lycée

Default avatar.png JBM: ah mais pour ça y'a pas de lien hélas

BlaiseEbuth: Il faut qu'ils renseignent leur école sur leur profile

Default avatar.png JBM: faut qu'ils le renseignent dans leur profil à la mimine

Default avatar.png -TheWalder-: mais justement il n'est pas listé...

BlaiseEbuth: En veillant à bien avoir la même ortographe

Default avatar.png JBM: c'est du freetext?!

BlaiseEbuth: Toi tu l'as rensegné ?

BlaiseEbuth: +i

b0n5a1: JBM oui

Default avatar.png JBM: ze lo

Default avatar.png JBM: *lol

b0n5a1: (avec propositions de trucs similaires à la saisie)

Default avatar.png -TheWalder-: BlaiseEbuth je vois dans la partie mon école, que je suis inscrit dessus

b0n5a1: j'ai mis -> ancien nom (nouveau nom) dans mon cas

Zorg1: oui mais si tu t'inscris ça lui fait un filleul

Default avatar.png JBM: zomg

BlaiseEbuth: -TheWalder- bah normalement il devrait apparaître quand ils tapent...

Default avatar.png JBM: ah ben ça c'était pas prévu: https://imgur.com/a/L7QG6fh

Default avatar.png JBM: merci!

b0n5a1: haha

Default avatar.png JBM: b0n5a1: tu viens d'assister à 100% de mon rendement

egaetan: oO

BlaiseEbuth: :expressionless:

egaetan: où est-ce qu'on spamme les copains ?

Default avatar.png JBM: y'a sûrement un joli message sur la ténacité dans les sous-textes

Default avatar.png JBM: ben fallait opportunément répondre à -thewalder- quand on n'avait pas encore compris s avraie question

b0n5a1: je voulais le faire ^^

b0n5a1: lol

Default avatar.png JBM: -> c'était pas du spam, donc

BlaiseEbuth: Z'avez qu'à avoir des amis...

Default avatar.png JBM: ça répondait vraiment à sa question

Default avatar.png JBM: BlaiseEbuth: tes 19 smurfs ne comptent pas

b0n5a1: j'avais compris pareil en plus

BlaiseEbuth: J'ai pas d'amis, mais j'ai eu des élèves...

Default avatar.png JBM: les pauvres

b0n5a1: les pauvres

b0n5a1: lol

b0n5a1: note le "j'ai eu"...ils ont fini au congélo !

BlaiseEbuth: Certains...

Default avatar.png JBM: avec un pseudo pareil ça «sentirait» plutôt les crématoires

Spifflejedi: bonsoir

BlaiseEbuth: Certains...

Bon[]Crayon: bonsoir

b0n5a1: hooo...tortue géniale de noël

Default avatar.png JBM: bon ça finit pas top https://www.codingame.com/profile/badc2e44847660e387ac9d3d2f619a2e6959604

Default avatar.png JBM: will not follow

b0n5a1: :joy:

Zorg1: ça trolle sec

b0n5a1: le fou rire

Default avatar.png JBM: c'est la prmière fois que ça monte à ce niveau en ce qui me concerne

BlaiseEbuth: Les trolls secs c'est inflammable

Default avatar.png JBM: je suis à la fois flatté et méprisant

b0n5a1: tain j'en ai la larme à l'oeil de me marrer

BlaiseEbuth: Ah c'est pas toi qui l'a créé ? J'ai pas suivi...

Default avatar.png JBM: si je l'avais créé ça vaudrait pas mieux qu'un de tes 19 smurfs

Default avatar.png JBM: si en plus son seul achievement est clojure...

Default avatar.png JBM: je dis ça je dis rien

Default avatar.png JBM: en plus y'a «Bob» dans le pseudo

BlaiseEbuth: Genre j'ai que ça à foutre de créer 19 smurfs...

Default avatar.png JBM: ça va attirer les foudres d'un autre

BlaiseEbuth: Sans parler des mails...

Default avatar.png JBM: oui

Default avatar.png JBM: mais à bien y réfléchir

Default avatar.png JBM: t'as pas besoin de tant de mails que ça

Default avatar.png JBM: je vois pas ce qui t'empêche de réutiliser le même plusieurs fois

BlaiseEbuth: Le site ?

Corrosif: hello vous faites comment pour récup le temps d'exution de votre programme en cpp ?

Default avatar.png JBM: supprime le compte après inrément

Default avatar.png JBM: system("time");

b0n5a1: arf

Default avatar.png JBM: j'ai bon?

BlaiseEbuth: Mouai

b0n5a1: http://chat.codingame.com/pastebin/c5f63496-911e-4c02-9f4e-ab5181c6dd5a

b0n5a1: Corrosif

Corrosif: le problème avec le temps syle system("time") c'est que le prog est en pause et tu n'as pas le temps d'excution "cpu"

b0n5a1: Timer t; t.Start(); au bon endroit etc...

b0n5a1: clique mon lien Corrosif

b0n5a1: c'es mon code

b0n5a1: tu peux ripper les virtual

Corrosif: j'utilise la meme chose ^^

b0n5a1: keskifoutelàd'ailleurs....

b0n5a1: ha me souviens pourquoi...c'était une hiérarchie de timers à une époque

Corrosif: mais j'ai quand meme du timout alors que mon code ne fait rien et j'arrive pas a comprendre

b0n5a1: des précis, pas précis...

BlaiseEbuth: Si tu print pas tu timeout

Corrosif: je print dans tout les cas j'ai un cout << "BREW 0" << endl; a la fin

ISuckAtChess: yo ! quelqu'un sait comment on retire ce chat discord de la droite de la fenetre ?

BlaiseEbuth: C'est pas discord

b0n5a1: non parce que c'est pas un discord

b0n5a1: sinon t'appuies sur la flèche en bas

polpoul: la ptite fleche

polpoul: enfin c'est un triangle ^^

b0n5a1: ou tu fais un script violentmonkey qui le rippe

polpoul: raccourci : alt+f4

ISuckAtChess: mais justement ça la ferme pas vraiment ^^

Bluepioupiou: moi perso j'aurai proposé alt+F4 mais c'est peut etre trop vieux (et trop méchant) comme blague

b0n5a1: Bluepioupiou y'en a plein qui savent pas ce que ça fait ^^

BlaiseEbuth: Moi je me permet plus de faire de blagues dans cette situation. C'est trop dangereux.

Booti: Dans ce cas c'est mérité

polpoul: sinon Ctrl+w

Bluepioupiou: bon sinon moi je commence à être trop bete pour anticiper et comprendre mon propre algo et les console log ça suffit pas, vais etre obligé d'écrire des fonctions de vérifications des cas typiques

b0n5a1: on vient de perdre 10 mecs qui ont essayé en lisant et qui te maudissent

Bluepioupiou: \o/

Bluepioupiou: ils risquaient de me dépasser c'est déjà ça de gagner

egaetan: deliveries.add(new DeliverySpell(new Recipe(2, 1, 0, 1), 9));

Bluepioupiou: on néglige trop souvent l'élimination des adversaire physiquement pour ce genre de challenge

egaetan: çaz vaut 9 ça ?

b0n5a1: y'a pas le truc de Azkelas qui hide le chat aussi ? me rappelle plus

Default avatar.png Ridakz: ca vaut 8

BlaiseEbuth: Seulement dans l'ide

Bluepioupiou: perso je dirai 8

mrBen: sinon ?disableChar=true à la fin de l'url

egaetan: dans Deck.java i lvaut 9 ce truc

Default avatar.png Ridakz: un bug à signaler alors

Default avatar.png JBM: voila comme dit mrben

egaetan: trop tard

mrBen: *?disableChat=true

Default avatar.png JBM: (et y'a meme pas besoin du "=true" en fait)

Default avatar.png JBM: «au revoir»

Bluepioupiou: giscard ?

kami: celui ci aussi vaut 9 [3, 0, 2, 0]

PED: Il y a une formule qui marche pas trop mal pour le coup des sorts dans le referee

b0n5a1: Hocus Pocus ?

PED: 1*tier0 + 2*tier1 + 3*tier2 + 4*tier3 (+1 si il faut 6 ingrédients)

PED: mais il y a quelques exceptions ou ça tombe pas juste

Maka: Expecto Patronum ?

b0n5a1: LOL JBM sous ton lien y'a celui là à côté, épique : https://imgur.com/gallery/ODQdlXt

Default avatar.png JBM: "You think a" quoi?

b0n5a1: bague (fiançailles)

Default avatar.png JBM: ah ok

Default avatar.png JBM: j'étais pas dans le bon contexte

b0n5a1: fausse alerte il est revenu avec une figurine ^^

Default avatar.png JBM: oui la fin j'avais ^^

b0n5a1: il économise, il en achète plus il es tsérieux...LOL

b0n5a1: haha...y'a un mec qui se fait mordre l'orteil par son furet plus bas

b0n5a1: https://imgur.com/gallery/CzX1cYX

Default avatar.png JBM: c'est donc toi qui cliques sur les a propos d'imgur

pb4: " 1*tier0 + 2*tier1 + 3*tier2 + 4*tier3 (+1 si il faut 6 ingrédients) mais il y a quelques exceptions ou ça tombe pas juste "

pb4: --> +1 si 3 ingrédients différents, +2 si 4 ingrédients différents

pb4: et ça ça tombe juste

pb4: @ PED

Default avatar.png JBM: @PED mais je pourrais prendre aussi O:-)

Default avatar.png JBM: c'était dans ma liste pour demain

egaetan: gg pb4, ça me chiffonait de pas trouver

Vry: Mais ça vous sert à quoi au final ?

egaetan: à savoir

Default avatar.png JBM: knowledge is power

b0n5a1: à faire comme Pif et Hercule...avoir la formule

BlaiseEbuth: Maintenant ils sachent

Zorg1: ça met combien d'heures un push en gold ?

b0n5a1: 8

b0n5a1: t'es gold Zorg1 ?

Zorg1: bah oui

Zorg1: j'ai repush en silver et c'est passé

b0n5a1: ok, je t'avais vu 20 silver un moment ^^

Zorg1: c'est vrai que t'as pas l'impression que ça bouge

Zorg1: le mouvement est une illusion comme dirait l'autre

Vry: gg ZooooX

Vry: GG Zorg1

Razielwar: Zorg1 : j'ai poussé ya 5 minutes et je suis à 14%. on est moins nombreux mais c aussi long

Zorg1: merci Vry

Zorg1: Razielwar : oui je vois ça

Razielwar: ça doit tourner sur le meme serveur

Gh0stm4chine: Vous trouvez ça légit de faire timeout le boss pour passer en gold ? https://www.codingame.com/replay/505523081

Zorg1: ça doit être un raspberry qui fait tourner tout le site ^^

Default avatar.png JBM: totalement

Zorg1: bah c'est bien legit de passer devant un bot qui t/o pourquoi pas le boss

Zorg1: ils avaient le choix du bot à faire passer boss

PED: Ah bien vu @pb4 :)

Vry: J'ai l'impression que mon bot redevient performant ... je vais pouvoir choisir les potions de manière "intelligente" ... ou pas !

Zorg1: en plus sur OoC t'avais au début les "silences spammers" qui faisait time out les bots

Default avatar.png JBM: totalement involontairement

Vry: Sous Linux vous utiliseriez quoi pour profile du C (j'ai tester avec callgrind mais je cherche mieux)

b0n5a1: 4 écoles japonaise dans le top 10 dont full top 3

VirtualAtom: Vry: perf

egaetan: Vry c'est toi qui repond aux questions en C normalement

Default avatar.png JBM: c'est pour ça qu'il présente ça comme une question linux

Default avatar.png JBM: la ruse

Zorg1: c'est un malin

Vry: Oui mais pas trop sur les perf.

b0n5a1: y'a pas un truc genre gprof Vry ?

b0n5a1: me rappelle plus

egaetan: si je veux de vrais outils je fais du java

BlaiseEbuth: lel

VirtuaL42: pour ceux qui ont des timeouts en c++ vous avez mis cb ? j'ai l'impression je me faire couper super tôt des fois. Genre 30 tours ou je cut pile à 45ms et le 31 ieme après 26ms j'ai plus de logs et il me dit je j'ai pas donné de réponse à temps...

mrBen: eEbuth

mrBen: ah, mauvais focus

b0n5a1: même avec 42 ça pète encore des fois VirtualAtom

b0n5a1: oups VirtuaL42

Default avatar.png JBM: dbdr nous a dit qu'il avait des pétages à 25

Default avatar.png JBM: à un moment ça dépend plus de nous

b0n5a1: j'ai eu des claquages bien en dessous aussi oui

PED: Tuutilises quoi pour compter le temps VirtuaL42 ?

Vry: Moi 45ms je contrôle tous les 500 nodes

VirtuaL42: chrono::high_resolution_clock::now et je démarre juste après un "cin >> nbactions; "

b0n5a1: c'est pas la méthode de mesure de temps le pb PED

b0n5a1: c'est "eux"

PED: hm j'avais des problèmes avec clock() en C qui ont été résolu par high_resolution_clock

b0n5a1: y'a un post sur forum avec tous les problèmes dont les timeouts

b0n5a1: ça râle sur world aussi

Default avatar.png JBM: et une réponse?

PED: Mais oui il y a aussi des soucis côté serveur je pense

Karang: mon algo reste en dessous de 30ms et est à 15ms en moyenne

b0n5a1: avec plusieurs langages

Karang: pas de timeouts

BlaiseEbuth: mrBen il tape mon pseudo, je suis sous surveillance

Karang: (c++)

mrBen: je te cherchai en Silver...

BlaiseEbuth: J'y suis pas

mrBen: j'ai vu

BlaiseEbuth: Moi j'attends clojure

b0n5a1: t'as checké chaque match perdant Karang...tu risques d'y trouver une surprise une fois

b0n5a1: ?

BlaiseEbuth: Pourquoi en silver d'ailleurs ?

Vry: En fait ça fluctue parfois j'ai 3619 nodes en 25 ms ... et parfois 31077 en 11ms sur la même partie

mrBen: Parce que j'y suis et qu'il me sembalis que t'était au même niveau que moi, mais en fait non

Karang: b0n5a1 en fait j'avais de gros soucis de timeout quand jetais en js, du coup je suis passé en c++ et ça va mieux

b0n5a1: déception...un de tes élèves ?

**b0n5a1 s'enfuit ^^

BlaiseEbuth: J'ai juste push un truc à l'arrache pour passer bronze et avoir les règles complètes. Mais à part ça j'ai rien codé mrBen

mrBen: et oui, j'ai du confondre

Karang: en js les timeouts arrivaient dans 5% des games, en c++ j'ai du en voir 2

Vry: D'ailleurs j'ai parfois de grosses fluctuations en local alors que mon CPU n'a rein à faire ...

Vry: *rien

piwai: https://www.codingame.com/replay/505529246

piwai: qq'un peu m'expliquer? je perds la partie alors que j'ai fait les 6 potions?

Default avatar.png JBM: faut qu'elles scorent plus que les 5 de l'adversaire

piwai: et c'est pas les ingredients restant dans chaque inventaire vu l'ecart

BlaiseEbuth: Je me sens pris de haut, d'un coup... :/

b0n5a1: piwai timeout

piwai: après que j'ai livré la 6eme potion?

piwai: ca termine pas la partie?

b0n5a1: regarde à la fin piwai t'as pas de score...timeout

Karang: sur le forum ce replay à été partagé: https://www.codingame.com/replay/504584619

Default avatar.png JBM: t'as jamais livré la 6e

Razielwar: piwai timeout

Karang: un algo qui fait rien que mesurer le temps et on voit des bon pics

mrBen: oh non, je check régulièrement les classement d'un peu tout le monde dans le caht

BlaiseEbuth: Je blague ^^

mrBen: t'es juste tombé sur le changement soudain de focus :wink:

piwai: ok autant pour moi, je me suis fait avoir par le nb de marqueurs bleu, je pensais que j'avais fait les 6 -_-'

Default avatar.png JBM: ouais moi aussi je pensais avoir rien codé, juste un bfs pour passer bronze

Default avatar.png JBM: tiens, un bfs dès wood, voici qui n'est pas habituel

Falkor: Bon 2 commits de mon code et bientôt bronze :p

BlaiseEbuth: Un bfs pour passer bronze ?

mrBen: y avais pas besoin d'un BFS pour passer Bronze

Default avatar.png JBM: tiens, si je faisait ×10 en perf en éliminant ça, ça et ça

Razielwar: Karang : ça me rassure, j'ai viré toute mon allocation dynamique et j'ai qd meme trouvé un timeout dans ma boucle ou je check hyper régulièrement le temps

egaetan: JBM un random sur l'ensemble des actions possibles passait

Default avatar.png JBM: oh mince me voilà en silver

Default avatar.png JBM: egaetan: oui mais je suis pas assez malin pour ça moi

Falkor: :d

Default avatar.png JBM: pourtant j'en ai cherché, de l'heuristique débile

Default avatar.png JBM: je me souviens nettement avoir dit (en live) «on va quand même pas devoir coder une recherche pour sortir de wood, si?»

Razielwar: bon là c'est vraiement trop lent le classement c horrible. ça va être repos ce soir

Razielwar: bonne nuit!

Default avatar.png JBM: bn raz

BlaiseEbuth: Mais cette histoire avec clojure m'a coupé ma motivation...

piwai: JBM: moi j'avais fait un truc recursif pour sortir de wood :D

Karang: soumission il y a 1h ... 54%

b0n5a1: bon, bonne nuit

BlaiseEbuth: o/

Default avatar.png JBM: oui enfin je suis en fonctionnel, un «truc récursif» ça va pas foncièrement m'impressionner

BlaiseEbuth: Moi j'ai fait une boucle pour sortir de wood !

Default avatar.png JBM: moi j'ai import fix pour éliminer *toutes* mes fonctions récursives

Vry: C'est bizarre si je transforme ma déclaration d'un gros tableau en calloc les temps de réponses sont plus stable ...

Vry: Va comprendre Charles

Default avatar.png JBM: c'est quoi l'usage de ton tableau par rapport à la taille du cache?

egaetan: tu as mis un GC Vry ?

Vry: C'est mon tableau de hash il était déclaré comme ça :

Vry: uint64_t _gt_hash[4 millions]={}; :)

egaetan: 4millions de 64bits ?

Vry: Ouais ...

Vry: !!!

Vry: Mais avec un calloc dans le main ça va mieux on dirait

Default avatar.png JBM: le mec qu'aime pas les collisions

mrBen: on est d'accord que les id rentre dans un uint8 ?

Default avatar.png JBM: les idées de qui?

Vry: Si ça ne dépasse pas 127

mrBen: tous, les actionId

Default avatar.png JBM: alors

Default avatar.png JBM: je les interprète même pas

Default avatar.png JBM: string in, string out

mrBen: ah, ouais, j'était parti sur des map, mais les tableau c'est peut-être plus efficace

mrBen: *surement

Default avatar.png JBM: dépend de ce que t'en fais

mrBen: en général, un foreach et je vais chercher des info dans d'autre map avec les id justsement

Vry: À part pour la sortie, les id ne sont pas nécessaires sur ce jeu.

mrBen: certe, c'est juste que j'ai pas besoin d'un autre system en interne

Default avatar.png JBM: perso j'ai pas de systeme en interne non plus

mrBen: mais doit pas être trop dur de faire sans

Default avatar.png JBM: j'ai une action que je fais faire; au moment de l'output je la linsearch dans les inputs pour avoir son id

mrBen: ça va même surement m'aider avec mon hash

mrBen: mais du coup, t'as quoi comme entre de ton linsearch

Default avatar.png JBM: une action

mrBen: les ouais, mais tu la représente comment, c'est ça ma question ?

mrBen: le delta ?

Default avatar.png JBM: ben j'ai des types

Default avatar.png JBM: http://chat.codingame.com/pastebin/ef8374f7-9d54-4870-96bc-cdfb293e4e86

mrBen: ah ok, tu te trimbale des object/struct complet... pourquoi pas, c'est pas pire

Vry: Pour revenir sur mon tableau, j'ai l'impression que lors du premier accès ça rame sévère ...

Vry: Lors du premier lancement du BFS il s'est déjà écoulé 25ms dès le départ ...

Default avatar.png JBM: tu l'initialises?

Vry: Par la suite je perds que 5ms

Vry: J'ai un calloc dans le main

Vry: Et avant chaque bfs je le vide

Default avatar.png JBM: calloc, c'est pas un bon candidat au lazy alloc?

Vry: Je vais ajouter une mise à jour bidon juste derrière pour voir

Default avatar.png JBM: surtout pour du gros, je me demanderais si le MCU fait quoi que ce soit avant le premier accès

Vry: Restera à voir pour les 5ms perdues ...

Default avatar.png JBM: bon 5ms c'est certes bcp

Vry: Bon je remplace ma boucle for par un memset et c'est mieux déjà

mrBen: j'ai le cerveau qui s'endor, c'est pas pratique pour coder, je continurai demain, bonne nuit !

Vry: bn

piwai: bon je viens de baisser ma limite de timeout a 42ms... si avec ça, ca fonctionne tjs pas

Vry: Je pensais pas que ça coûterait aussi cher l'initialisation d'un gros tableau ...

Vry: Je vais le faire après mon printf ... :grimacing:

Vry: Voilà le BFS commence à 0.095 ms c'est bon !

eklore: yop

eklore: bonsoir à tous

Default avatar.png JBM: yop

eklore: je me remets de ma gueule de bois...

Default avatar.png JBM: en plein contest

Vry: T'es toujours en ligue bois ?

Default avatar.png JBM: moi je travaille à me la créer

eklore: ^^

Vry: :upside_down:

Default avatar.png JBM: alors il parait que random t'en sort

Default avatar.png JBM: je vais pas m'en remettref

Vry: Moi, il faudrait que je me couche ...

Default avatar.png JBM: mais t'as bu, avant?

R4N4R4M4: A 0.7 points du Boss, ça veut pas passer :D

Default avatar.png JBM: sinon, pas de gueule de gold demain

eklore: j'ai dignement fêté ma montée en argent ...

eklore: et la je suis déçu de pas être en haut de la ligue argent ^^

eklore: la ligue or est ouverte ?

Default avatar.png JBM: yep

eklore: ah c'est pour ça que j'ai grimpé ^^

Default avatar.png JBM: «grimpé»

eklore: Bon en ligue bois, j'ai fait un truc super simple à base de : var blue = le sort qui donne du bleu , etc, etc

eklore: En bronze, j'ai affiné ....

eklore: je suis arrivé 600

eklore: après DFS tussa tussa ... argent

eklore: mais là je suis à court d'idée

eklore: et donc je me posais une question de dingue....

eklore: est-ce que je dois améliorer les perfs de mon calcul d'état, pour arriver à en calculer + ? Ou dois-je selectionner les états les plus avantageux ?

Traquila: tout dépend, combien d'état max tu calcules ?

eklore: (quand je dis "j'ai fait", c'est plus "on m'a conseillé" ^^ )

eklore: C'est pas très clair pour moi ce nombre d'état calculé

Traquila: combien de node si tu veux

eklore: moi j'ai deux éléments que j'arrive à suivre :

eklore: - le nombre d'itérations dans le DFS

eklore: - le nombre d'états uniques traversés

Default avatar.png JBM: c'est quoi ine itérationde DFS pour toi?

eklore: while(Queue.count>0) index++

eklore: c'est indec

eklore: index

Traquila: combien tu en fais en 50ms ?

eklore: entre 400 & 500

Traquila: alors tu dois augmenter la performance

Spifflejedi: question pour un code c#: http://chat.codingame.com/pastebin/f288223c-3470-4b8d-9277-a62ba7307602

Traquila: sauf si tu veux dire 400k 500k

eklore: par contre chaque itération génère environ un 15 aine d'état

eklore: donc j'ai entre 2000 et 5000 "GameState"

Traquila: c'est trop juste pour moi

eklore: Traquila non non, j'aimerai bien mais non ^^

eklore: c'est là que je coince....

eklore: je peux mieux selectionner les états (pas partir sur des noeuds qui ne sont pas au top)

eklore: mais arriver à des millions d'états comme j'ai pu le lire... il me manque un truc, c'est sur

Karang: quel language ? 400-500 sa semble pas beaucoup

eklore: (pour NE pas partir)

eklore: c#

Traquila: il faut travailler sur les optim du language, moins d'allocation, moins de copie .. etc

eklore: 400 itérations +/- 2500 états

eklore: avant j'avais tout en référence...

Karang: tu peux essayer de réduire la complexité de tes etats, et tout allouer d'un coup, recycler les objets, etc..

eklore: je suis passé des listes à des tableaux à tailles fixes, avec un index

Karang: oui c'est bien ça

eklore: résulat : 3% de perf en +

Traquila: allocation au démarrage, tu as une seconde pour cela

eklore: mon pb n'est pas là je pense

eklore: pour pouvoir avoir des GameState cohérentj'ai , quasiment tout passé en valeur

Traquila: quand tu créés un état, regarde les variables copiées et allouées

eklore: du coup, je recopie constament

Karang: faire des copies quand tu créé des gamestates c'est normal mais il faut que tes gamestates soient tout petit pour que ça passe

Karang: et pré-alloués

eklore: http://chat.codingame.com/pastebin/ca33f6bf-5525-4830-ae13-9486e073511f

jfaixo: vous arrivez à évaluer cb de gamestate en un tour ?

Traquila: 400k

[CG]SaiksyApo: 2

eklore: Traquila t'as la touche k qui a ripé ^^

Karang: 300k en 10ms, je limite car y a pas besoin d'aller plus loin

BigUP: eklore, non c'est la touche 0

eklore: ^^

xurei: question java : il y a moyen de détecter qu'on est dans l'IDE ?

Traquila: après en c++ c'est plus facile

xurei: pour disable des trucs de debug

**Stilgart tend du bon random à [CG]SaiksyApo

eklore: mon gameState, dedans il y a la terre entière

Karang: oui c'est sûr ^^

Karang: j'était à 30k en js et trop proche de 50ms pour etre stabke

Traquila: non ne copie pas les spells

eklore: en js, j'étais à 1000

Traquila: la est ton problème

[CG]SaiksyApo: Pas besoin de random, mais il faut que j'optimise pour passer a 3 !

Traquila: les spells sont fixe surt un même tour, donc tu me les sorts de tes états stp :)=

eklore: dans mon GameState, j'ai : http://chat.codingame.com/pastebin/e395d6b0-79ca-4d72-9e12-7a6a41103ac4

Traquila: tu as juste besoin de connaitre ceux que tu as cast

eklore: t1111 mais pourquoi il me met un pastebin ? j'ai rien copié du tout ...

Karang: +de 5 lignes

Traquila: eklore tu me sort ton grimoire et tes spells :p

eklore: ah... c'est le canal French Golf

eklore: Traquila mais comment je sais quand je "Dequeue" c'était quoi mon état ?

Stilgart: eklore: tu vois, meme le chat de CG il le trouve trop gros ton gamestate :D

eklore: ^^

VirtuaL42: si des gens ont des soucis de timeouts attention j'ai enfin trouvé le mien. J'utilise trop de ram, ca kill mon bot mais ca ce traduit juste pas un timeout :/

VirtuaL42: par*

eklore: genre j'apprend un sort

eklore: faut bien que je le mette dans un GameState pour pouoir le casr, non ?

eklore: *cast

Traquila: les spells sont fixe la variable qu'il te fait c'est : lesquels sont castable

Karang: tu peux apprendre 6 sorts max et il font partie d'une liste qui est fixe

Traquila: et ca tient sur 32bits

[CG]SaiksyApo: 32 ?

eklore: vous pensez vraiment que ça joue ?

Vry: VirtuaL42 j'ai eu le problème ...

Karang: techniquement il peut y avoir 42+4 spells max donc ça tiens sur 64bits

Vry: l'initialisation d'un tableau de 32Mo prenait plus de 5ms ...

Traquila: le grimoires est fixe, tu as juste besoin de 2 variables, lesquels j'ai appris, lesquels j'ai cast

eklore: ahhhhh genre les 42 que l'on peut apprendre, tu les a quelque part ?

eklore: *as

Zorg1: mais ton tableau de 32 Mo tu l'initialises qu'une fois non ?

egaetan: Deck.java

Traquila: oui mais pas dans l'état

egaetan: https://github.com/CodinGame/FallChallenge2020/blame/main/src/main/java/com/codingame/game/Deck.java

eklore: 32 Mo => tu m'as perdu

eklore: egaetan oui j'ai lu ça, je me suis demandé si ca valait le coup de les mettre quelque part dès le début

Traquila: pas forcément

Traquila: sauf si tu veux les évaluer de facon statique

VirtuaL42: Vry oui là c'est le programme qui est long mais j'ai testé en gardant mon timeout a 50ms et en faisant une loop avec juste un new foo(). Je finis en timeout à des tours différents, mais toujours pile au même nombre d'allocations (et coté resident set ca tourne à chaque fois autour des 780Mo ce qui colle à la faq)

eklore: bof.... déjà qu'avec 6 sorts possible je pars en timeoput une fois sur deux ...

Traquila: Mais en sortant le grimoire et les sorts de ton état tu vas faire *10 en perf

[CG]SaiksyApo: Gere les 6 sorts c'est chaud aussi

[CG]SaiksyApo: er*

eklore: je serais surpris.... mais je vais essayer

eklore: genre le plus petit GameState possible

Traquila: non, le moins de copie et d'allocation possible par état :)

Orabig: inventaire + etat des sorts, je dirais

YannT: game state = sorts appris ou pas, potions livrées ou pas, sort castés ou pas, et taxCounts

YannT: ça loge avecc un int pour chaque

Traquila: Tout cela passe sur un int64 :)

eklore: il faut aussi au minimum les actions qui t'on ammené là, non ?

Zorg1: bon bah il a pris 2h à l'aise mon push

Default avatar.png JBM: ah pas con potions livrées

Default avatar.png JBM: jme le note tiens

eklore: sinon t'es super content de savoir que c'est possible et tu ne sais pas comment le refaire

Stilgart: JBM: t'as pas écouté egaetan hier ? o_O

Default avatar.png JBM: pas sur

Default avatar.png JBM: j'étais pas là au début

Default avatar.png JBM: atta

Default avatar.png JBM: quel jour on est

Default avatar.png JBM: je m'y perds

egaetan: quoi t'écoutais pas tout JBM !?

Stilgart: Automaton2000 est choqué

Automaton2000: mais c'est quand même plus simple de voir le nombre de cp

Default avatar.png JBM: ben t'as commencé sans prévenir, et pendant mon bain

Karang: taxCounts peuvent etre calculés a partir des sorts apris

Karang: pas besoin de les stocker

Default avatar.png JBM: il est possible que j'aie réécouté le début depuis, mais pas avec autant d'attention

R4N4R4M4: Finalement c'est passé :D

Traquila: pas les taxcount que tu génère en faisant des learn

Karang: si :)

R4N4R4M4: Je vais pouvoir peaufiner ma simu

Vry: Zorg1 : non c'est ma table de hachage donc je doit la vider à chaque tour ... en fait l'allocation mémoire coûte 20ms mais elle est effectuée au premier usage seulement ... et la vidange qui doit être réalisée à chaque tour coûte 5ms. Du coup j'ai résolu le problème en vidant le tableau après le printf ...

eklore: Int64 castable int 64 learnable ThousandOfMemore List<Acion>

eklore: *memory

Traquila: http://chat.codingame.com/pastebin/53565df3-58dd-401e-bbc8-1e14536622df

Traquila: dans un int64

eklore: il manque les actions ?

Stilgart: hum... pour le coup, mes castables je peux pas les gérer avec seulement 32 bits

Traquila: Tu as juste besoin de la première action

YannT: 6 bits delivery, 6 bits sorts learned, 4 * 6 = 24 bits pour les taxCounts, 24 bits pour l'inventaire = 60 bits =>> reste pas assez pour les sorts castable (disons au moins 12 bits, et encore ça peut être léger)

eklore: les "CAST" qui t'on amené là

YannT: je dirai que ça loge pas tout à faire

eklore: *ont

YannT: fait*

Stilgart: eklore: c'est pas dans l'état que tu stockes l'historique

Stilgart: tu prends trop cher si tu fais ça

Stilgart: YannT: mon inventaire tient en 10 bits

Traquila: yannt les taxcounts tu a huste ce que tu learn dans le path

Karang: tax count = base + nombre de sort apris en dessous du sort considéré

YannT: non mais c'est un niput le taxcount

eklore: Stilgart Bah un fois que tu sais que tu peux le faire, tu fais comment pour le refaire ? tu recalcules à chaque fois ?

Traquila: pas besoin de mettre tous les taxcount

YannT: l'adversaire peut avoir laissé des t0 sur un spell, tu veux le savoir pour les raffler

Stilgart: eklore: je stocke le graphe ailleurs

Default avatar.png JBM: c'est jamais un pb, récupérer les taxes?

Karang: oui l'input c'est base dans ma formule

eklore: Stilgart tu as bien un graphe par état ?

Stilgart: dans une structure qui me dit pour chaque noeud visité comment j'y suis arrivé

Traquila: Yannt pas besoin de les mettre dans l'état

Stilgart: (état précédent + action jouée)

YannT: je préfère les mettre dans l'état que de reparcouriir la séquence pour les retrouver, ça me parait bioen moins opti

Stilgart: je booste un peu la structure de données qui me permet de savoir si j'ai déjà visité un état, en résumé

eklore: je parle peut être pas de la même chose ....

eklore: moi j'ai un truc tout simple

Karang: tu parcourt pas la sequence, c'est un mask + popcount

Default avatar.png JBM: c'est pas un nœud du graphe par état la norme?

eklore: while(Queue.Count){

  Empile les états possibles
  SI l'état permet de faire la potion visée, c'est fini

}

eklore: en DFS, donc pas loin du chemin le plus court ^^

Stilgart: tu voulais dire BFS ?

Karang: B*

eklore: oui

eklore: pardon

Stilgart: :)

eklore: au début j'avais un DFS.... j'était en timeout au 1er avant la 8ème ligne de l'algo

YannT: hmm, c'est pas faux, possible de stocker l'état iniitial des taxcount en dehors du state et de les calculer en fonction des spells learned (shift + popcount)

YannT: et du coup oui le state logerait sur un long tiens

Default avatar.png JBM: mais ça devient un state dépendent du tour

eklore: si je puis me permettre un exemple avant que je ne redevienne citrouille d'ici 13 minutes

eklore: la potion [0,0,0,-5]

YannT: JBM: pas vraiment, pour moi le state est dépendant de invetaire, delivery, learned et casted seulement

eklore: il me faut 4000 itérations pour l'avoir

[CG]SaiksyApo: :o

[CG]SaiksyApo: Avec cb de spells ?

Stilgart: j'imagine '4000' noeud de BFS

eklore: 4000 itérations => wat mille noeud...

Stilgart: et vu que le branching factor est un peu gros, ça parait crédible d'avoir ça à depth 5

eklore: vu qu'a chaque Dequeue() je crée brouette de nouveau noeuds

Mator: Ca rame un peu dans l'arene là non ??

Default avatar.png JBM: YannT: alors il va falloir que je réfléchisse pour comprendre l'histoire des taxCOunt

Stilgart: non, ça rame beaucoup :(

Mator: Y'a bcp de monde ????

[CG]SaiksyApo: Avec les 4 sorts de base, il ne te faut que 1044 iterations maximum

eklore: je mets aussi les sorts que je peux apprendre

[CG]SaiksyApo: Quoique

Karang: sauf si il ajoute REST :)

eklore: et REST

Stilgart: et des learns

eklore: voila

Stilgart: et kaboom

eklore: ^^

Stilgart: et des cast x 2

eklore: pas encore

[CG]SaiksyApo: Ah oui rip j'ai pas les learns moi :D

YannT: JBM: l'idée générale c'est que quelque soit l'ordre dans lequel tu learn les spells, le statut des taxCount sur le grimoire après la séquence est le même

eklore: donc sur le premier tour, je trouve comment faire la meilleur postion (le chemin le plus court, ou j'apprends, je cast , je repete, je rest, tussa tussa)

eklore: et après timeout, timeout, timeout ^^

PED: ce moment ou tu considères tellement de possibilités que ton bot devient incapable de faire des actions trivialles

PED: Codingame parfois c'est un peu une métaphore de la vie

Stilgart: YannT: tu m'as convaincu de ça, mais c'était trop casse-pied à coder :)

eklore: en fait ma question, c'est est-ce que je dois optimiser mon calcul d'état , ou alors ne l'utiliser que quand je suis proche d'un objectif ?

eklore: - heuristique puis simulation -


eklore: heuristique dans la simulation

Karang: - simulation puis heuristique

eklore: - simulation, mais fait comme les grands

YannT: ahahah je viens de regarder l'implémentatiion de popCount en Kotlin, pour voir si ça avait l'air perf

YannT: http://chat.codingame.com/pastebin/4eab4cc1-ef5d-40b7-acae-151abfa5736a

Default avatar.png JBM: YannT: ouais, je me souviens qu'on en avait parlé, mais il me faudrait du repos pour l'appréhender proprement

YannT: fort bien

YannT: je vais les croire sur parole que ça marche...

eklore: Karang pour ça faut une simulation à plus de 2500 états

eklore: mais merci beaucoup

Vry: popcount : du coup tu utilises pas la commande CPU ... dommage

eklore: pour vous, calculer le plus court chemin vers n'importe quelle potion, c'est faisable en dehors du premier tour ?

Stilgart: YannT: j'ai pas le courage de me lancer dans la preuve là :

Stilgart: :D

Karang: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=popcnt_u&expand=4378

Stilgart: en plus, ils mettent pas les constantes en hexa... :/

YannT: j'avais un truc gettho after une boucle moi, mais j'imùagine que leur implémentatioin cabalistique là doit être mieux

Vry: eklore : plutôt oui, une fois certains problèmes de perf. réglés

Karang: chapitre 5-1 https://doc.lagout.org/security/Hackers%20Delight.pdf pour la preuve

eklore: Vry Karang Stilgart [CG]SaiksyApo Merci .... je vais améliorer ça

Stilgart: Karang: oui, mais c'est pas drôle

eklore: egaetan aussi !

YannT: c'est comme celle là pour hasher un tableau d'int d'ailleurs, je suppose que ça marche, maiis comment ou pourquoi aucune idée :D

YannT: http://chat.codingame.com/pastebin/0a4abf83-6fdd-4e7b-a7b0-0b2892cbfdf0

egaetan: diable eklore ! merci

Stilgart: eklore: mon code a l'air de faire ça assez facilement

eklore: Traquila aussi ... t1, en fait tout le monde m'a répondu ^^

Stilgart: egaetan: merci à toi :)

YannT: (en décompilé c'est super moche, mais en gros ça fait hash = 31 * hash + array[i] pour chaque i du tableau

Stilgart: ton stream m'a remotivé

YannT: pourquoi ça fait un hash unique par contre, mystère

egaetan: cool Stilgart !

egaetan: YannT c'est un hash c'est pas unique mais suffisament

Vry: Le stream de hier ?

Vry: Ou avant-hier ...

[CG]Thibaud: enfin cet enfoiré d'algo commence à marcher

[CG]SaiksyApo: Va dormir toi

[CG]Thibaud: mais euh

YannT: oui mais pourquoi ça fait un hash unique egaetan :p

Vry: Moi aussi ça commence à marche mais y'a une tortue qui ne veut pas me laisser passer.

polpoul: vous avez de la lecture pour qqun qui débute en modélisation par bitsets ?

YannT: (ou semi unique)

egaetan: 31 est le nombre magique, premier et tout

Mator: Pft quelle misère je crois que je vais pas attendre la fin de mon run moi.....

[CG]SaiksyApo: Non j'ai pas de doc, j'ai appris dans la douleur

YannT: ouais en gros ça consiste à bien brasser les inits et espérant que ça tombe assez random quoi ;)

YannT: maintenant explique le popcount:

YannT: http://chat.codingame.com/pastebin/4eab4cc1-ef5d-40b7-acae-151abfa5736a

YannT: :D

polpoul: y en a qui publient leur code après le contest ?

Stilgart: YannT: tu veux pas vraiment du random

Stilgart: tu veux plutôt séparer des tableaux très proches

Stilgart: l'idée souvent, c'est que ce que tu hashes se ressemble

YannT: si j'arrive à loger tout mon state dans un long, iil y aura plus besoin de hasher ce sera tellement feng shui

Vry: Bon ... mon bot fonctionne bien il va falloir le casser en y réintégrant le learn ... :sweat_smile:

R4N4R4M4: C'est quoi cette histoire de hash ? C'est légal ?

YannT: carton jaune R4

R4N4R4M4: Je l'ai eu y a pas longtemps :D

R4N4R4M4: Ca ressemblait à une notif Gold...

Stilgart: bah ça fait carton rouge alors :D

Default avatar.png JBM: rouge et gold

R4N4R4M4: Pas sûr de l'avoir celui là

R4N4R4M4: Je patauge dans la simul :D

R4N4R4M4: Et je dois refactor toutes mes structures

egaetan: le carton rouge il est plus chaud à obtenir

R4N4R4M4: c'est clair

YannT: le cut dans 2 jours pour légende je sens qu'il va être severe

YannT: top20 c'est déjà un bon gros level là

CDA-20285-Gabriel-Misiurny: Salut ! Si quelqu'un peut me filer un ptit coup de pouce en Java sur le puzzle "Number of letters in a number". Je passe les 5 premières phases mais pas celles avec des très gros nombre car l'execution est trop longue! Spoil: https://sharemycode.io/c/dcd610f

Zorg1: bon mon bot est pas au top mais il va vite maintenant

R4N4R4M4: On y croit Zorg1

Zorg1: en fait ça va j'ai des idées, je ne suis pas dans un mode bloqué à modifier des magic numbers

Zorg1: bon les pushs ça durent toujours deux heures ?

Default avatar.png JBM: un peu plus maintenant

Zorg1: c'est un truc pour éviter que k*ovi embêtent ses petit camarades avec sa tactique du push continu ?

Default avatar.png JBM: il fait ça? ^^

Zorg1: il était réputé pour faire ça en légende

Zorg1: en gros la légende était classé en fonction de son winrate contre son bot ^^

Default avatar.png JBM: ah ok

Zorg1: de ce que j'ai compris dès qu'il changeait un magic number il faisait trois push pour avoir une idée

YannT: c'était tellement reloud

Vry: J'ai un seul magic number ... le nombre de sort à apprendre avant de commencer à jouer ...

Default avatar.png JBM: ah? faut plus push quand on est legend?

YannT: tu te rends pas compte

Vry: Mais lui il pushait en permanence

Default avatar.png JBM: non, j'ai l'impressoin

YannT: il était en cours de push 24h/24

Default avatar.png JBM: oui, et?

Default avatar.png JBM: il bosse sur son bot, il pushe

Default avatar.png JBM: au moins il hide pas?

Default avatar.png JBM: stagner c'est pour les faibles

YannT: ben et du coup le classement de la ligue c'était le winrate contre son bot

Default avatar.png JBM: mais ça c'est pas valable pour n'importe quel agnet?

Default avatar.png JBM: *agent

YannT: non mais tu joues 50000 matchs contre Kovi et 12 contre les autres

YannT: c'était chiant pour se rendre compte de son positionnement réel

Default avatar.png JBM: aaaaaaaaaaaaaaaah ok

Default avatar.png JBM: ayé j'ai capté le souci

R4N4R4M4: CDA-20285-Gabriel-Misiurny si tu fais des boucles ça peut prendre pas mal de temps en effet

Zorg1: bon c'est toujours aussi lent les push

Mator: Claro

Zorg1: ça doit être le log de pb4 qui bouffe les ressources

pb4: fastlog s'il te plaît

Zorg1: :scream:

pb4: http://chat.codingame.com/pastebin/dd4e9b24-0792-4381-acd6-d7f476ba4850

YannT: faut utiliser log(3) dans son code pour avoir de bon résultats

YannT: c'était l'enseignement principal de OoC

xurei: question: comment faire pour calculer correctement le temps restant ?

BigUP: en fait, finalement, ca rame tellement que j'ai le temps de bosser pour le boulot

xurei: j'ai l'impression que je prends pas le bon temps de référence (début de la while)

[CG]SaiksyApo: Faut le faire apres avoir lu les actionCount

xurei: ok merci :)

[CG]SaiksyApo: (apres la 1ere input quoi)

xurei: bordel ca timeout toujours

xurei: je suis hyper défensif pourtant, ca me rend dingue

egaetan: c'est peut être un crash tout simplement de ton code ?

egaetan: un code mort ne preond pas à temps

xurei: je pense pas, j'ai l'impression que c'est un GC qui se lance ou un truc du style

Default avatar.png JBM: j'ai toujours trouvé dommage que l'info de retour soit la m ême

domak: xurei j'ai le même souci

domak: tout à coup ça se met à timeouter de partout alors que avant ça passait

Vry: Mon bot est tellement concentré sur les potions qu'il en oubli de faire rest pour relancer les spells ...

[CG]SaiksyApo: Ah ouais les push en or c'est pas pareil, 1/10 de gagner

[CG]SaiksyApo: :(

[CG]SaiksyApo: é*

Stilgart: push en légende, en ce moment c'est plus tranquille ;)

Vry: bn

VincentBab: c'est lent unordered_set -__-

VincentBab: mais ca gèrel es collision lol

Vry: On peut pas tout avoir ...

VincentBab: quand je fait un hashmap a la main c'est 3fois plus rapide que unordered_set

VincentBab: maisj 'ai des collisions :/

BigUP: VincentBab, avec une bonne assurance, ca doit passer

VincentBab: lol

Stilgart: huhu :D

Default avatar.png TheophileLeparmentier: J'ai p_find = 4 comme message d'erreur quand je lance mon code sur fall challenge

Default avatar.png TheophileLeparmentier: est ce que quelqu'un sait ce que ça veut dire ?

R4N4R4M4: non jamais vu TheophileLeparmentier