Chat:Fr/2020-12-14

From CG community
Revision as of 11:10, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/2248934338554> PhOeNyX: o/ <img src=/a/42398427701382> leojean890: \o <img src=/a/29054906001010> Stilgart: o/ File:Default_avatar.png ndenga_luvumbu: o/ [...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

PhOeNyX: o/

leojean890: \o

Stilgart: o/

Default avatar.png ndenga_luvumbu: o/

Default avatar.png JBM: comment es ta weekend

PhOeNyX: Fini

leojean890: #83 round 1 RAIC mais il faut absolument être top 60 au round 2 pour être pris en finale :s

PhOeNyX: Combien de participants ?

leojean890: 900 je crois environ actuellement

leojean890: euh 803 pardon

Bob: amis des bitfields zarbi, bonjour

PhOeNyX: Bonjour toi-même

leojean890: o/

Zorg1: Bonjour tout le monde ainsi que les bots Automaton2000 & AutomatonNN

AutomatonNN: oui

Automaton2000: du coup je pense qu'il faut que je trouve le temps de dev

Bob: j'adore AoC quand tous les exemples passent mais pas ton vrai input

Zorg1: oui ils ont du copier cette feature de CG

Bob: ah ben en fait ca marche mieux quand j'ai pas un input flingue

Bob: je sais pas ce que j'avais foutu

Bob: ceux d'hier et aujourd'hui etaient rigolos

Bob: mais comme d'hab il a fallu que je relise trois fois l'enonce pour bien comprendre

Zorg1: ça a pas l'air trop compliqué le 14 part 1

Default avatar.png JBM: non mais toujours ce meme potentiel "ah mais lol" de ma capacite a ecrire n'importe quoi de bon matin

ThomasNicoullaud: dbdr \o

dbdr: ?

ThomasNicoullaud: je viens de clore notre chamaillerie :)

dbdr: t'es #1?

ThomasNicoullaud: tout du moins pour un temps

dbdr: ah non, tu es #7

dbdr: c'est deja bien, gg!

ThomasNicoullaud: Arnaud.Net m'a mis genre 30 loose j'étais 35eme

dbdr: quoi de neuf?

ThomasNicoullaud: mais au final il m'a fait corriger un bug

ThomasNicoullaud: xD

dbdr: au moins je chute plus. je suis passé à Onitama

ThomasNicoullaud: :thumbsup:

dbdr: c'est secret? ou juste le bug?

ThomasNicoullaud: non mais j'avais un if(nbPotion == 6 && monScore > sonScore) win = true;

ThomasNicoullaud: mais j'avais pas l'inverse

ThomasNicoullaud: donc je me retrouvais à rush la 6eme meme si j'avais un score plus faible

Stilgart: asymétrie--

Bob: o/

Bob: question JS pour les gens qui savent mieux que moi

Bob: je lis que de base Node ne fait de l'arithmetique entiere que sur 53 bits et qu'au-dela i faut utiliser BigInt

Bob: en pratique quand je fais 1 << 31 j'ai un nombre negatif

Bob: et 1 << 32 c'est 1

Bob: du coup je suis perplexe

Default avatar.png JBM: \o Bob

Zorg1: ils ont l'air de dire que JS fait ses opérations bitwise sur 32 bits

Bon[]Crayon: Salut tout le monde :relaxed:

Bon[]Crayon: AutomatonNN salut

AutomatonNN: oui mon code n'est pas trop tard :D

Bon[]Crayon: Automaton2000 tortue

Automaton2000: on a eu droit à un algo de recherche

Bon[]Crayon: Automaton2000 qu'est-ce que tu as trouvé ?

Automaton2000: et ça change pas mal de trucs que tu peux faire une ia qui fait que ça

Bob: o/ JBM

Bob: Zorg1 : ca semble correspondre a ce que j'observe en tout cas

Zorg1: bob : oui c'est bien ça en JS les nombres sont convertis en entier 32 bits avant de faire le bitwise

Zorg1: c'est bien dans la spec

PhOeNyX: Alors qu'en java si tu fais du bitwise sur un long c'est sur 64, et sur un int c'est sur 32

Zorg1: oui mais en Java tous tes nombres sont pas stockés de base sur un float64

philRG: Bonjour à tous. Python depuis la version 3 supporte le BigInt je crois. Bonne semaine :-)

PhOeNyX: Par défaut en java il va tenter d'utiliser un 32 bits. Mais si l'un des membres de l'opération est sur 64 bits, il fait tout sur 64 bits

Zorg1: après va stocker tous les int64 sur un float64 sans perte

circular17: ça me perturbe le soulignement du code parce que "la ligne est trop longue" ou bien je ne sais quoi

circular17: peut-on désactiver cela ?

Bob: en faisant des lignes plus courtes ? :)

circular17: c'est pas trop possible en Python qui repose sur le passage à la ligne, et puis y a plein d'autres soulignements dont la raison est étrange

circular17: genre il veut 2 lignes vides au lieu d'une

circular17: ou au contraire il veut pas de lignes vide

Alshock: c'est tout à fait normal, c'est ce qu'on appelle la norme

circular17: et quand tu fais du "code le plus court", ben c'est pas le but de suivre un norme

circular17: du coup ça me déconcentre

Alshock: regarde du côté du PEP (et si, si, c'est bien possible de faire des lignes courtes en python)

circular17: PEP ?

circular17: le code fourni de base a déjà des lignes trop longues

Alshock: https://www.python.org/dev/peps/pep-0008/

circular17: et dans une compétition de code le plus court ?

Alshock: le principe de la norme c'est de rendre le code lisible, débuggable, clair

Alshock: le principe du golf c'est de rendre le code court, illisible, crade

Alshock: y a un choix à faire

Bob: dans une IDE complete tu pourrais sans doute customiser le linter a ta guise

circular17: ben justement, comment je peux choisir d'activer ou pas ces soulignements

Bob: ici, je suis pas sur

circular17: c'est relou dans une compétition de code

circular17: si on peut pas, en gros faut que je m'habitue à avoir des vagues au milieu du code

circular17: merci Bob en tout cas de vraiment tenter répondre à ma question

Bob: j'ai rien vu dans la command palette qui semble aller dans ce sens-la en tout cas

circular17: pas cool. bon là je fais un truc où j'ai relativement le temps, je peux prendre le temps de rendre les vaguelettes contentes

Bob: je crains fort que oui sur du shortest tu vas devoir endurer le linter pas content :)

Bob: sur du CoC aussi d'une maniere generale en fait

circular17: oué

Bob: quand on veut aller vite on n'a pas necessairement le temps de faire propre

circular17: c'est un handicap qui fait partie de la compèt en fait

circular17: les vaguelettes

Bob: bon c'est super cette presentation

circular17: quelle présentation ?

circular17: tu veux dire de présenter comme le linter demande ?

Bob: non un truc au boulot

circular17: ah oki

Bob: la nana a mute tout le monde et deroule son truc sans regarder ce qui se passe dans le chat

Bob: ni les mains levees

circular17: ah oué, frustrant

Bob: juste ca fait 5 minutes qu'elle cause sans avoir partage son ecran

circular17: en plus elle peut pas avoir de retour et s'en rendre compte

Bob: punaise on a reussi

circular17: félicitations

Bob: putain le slide en noir sur fond jaune d'or

Bob: ca pique les yeux

circular17: :D

circular17: c'est une gilet jaune peut-être

Bob: c'est chiant ce truc

circular17: j'imagine

Bob: c'est sur un systeme de description de soft skills utilise par les RH du groupe pour les evaluations

circular17: décrit avec peu de soft skills du coup

Zorg1: ils veulent encore vous évaluer ? je croyais que vous étiez tous viré :p

circular17: besoin de soft skill pour lui expliquer qu'un écran tout en jaune c'est difficile pour lire quand bien même le jaune c'est beau

Stilgart: Zorg1: comment tu détermines les indemnités de licenciement sans éval, toi ? :p

Stilgart: (enfin, on rigole mais c'est vraiment pas drôle en vrai :/ )

circular17: ah oué un peu dure la blague Stilgart

Zorg1: t'as pas besoin d'éval de compétence pour les indémnités ? ça dépend de ton salaire et de ton ancienneté je crois

Stilgart: circular17: si j'avais pas eu une vision pas si pessimiste du contexte, je ne l'aurais pas faite

Bob: de fait non les indemnites c'est defini par la convention d'entreprise/collective

Bob: syntec, c'est 1/3 de mois de salaire par annee d'anciennete

Zorg1: voilà ^^ manquerait plus qu'ils te disent "ah vous avez une compétence très recherché, pas besoin d'idemnité"

Bob: chez moi, la convention d'entreprise prevoit que c'est 2/3 pour les annees au-dela de 15

Bob: l'evaluation c'est plutot pour determiner *si* tu es licencie

circular17: ah oué chaud quand même

Zorg1: ah ils n'ont pas encore décidé ?

Bob: on vient de terminer le premier plan la :)

Bob: la ils sont en train de revoir la strategie et l'organisation de la R&D

Bob: et je pense qu'a partir de la ils finiront le deuxieme plan :)

circular17: se barrer avec panache en disant que l'on ne cautionne pas le dégraissage ? ou bien se réjouir de se débarasser des tanches ?

Bob: a priori les grandes lignes actuelles c'est "desole mais les comptables ont dit que 4 juniors en Inde peuvent faire exactement pareil qu'un gars en Europe avec 20 ans d'experience et de connaissance du metier des clients"

ThomasNicoullaud: google is dead

circular17: délocalisation, donc

Bob: ca + personne dans la boite ne semble savoir ou aller pour la suite

Bob: mais bon nos clients eux-memes n'ont pas beaucoup l'air de savoir

circular17: démissionner tous et créer une coopérative ?

Zorg1: si t'as pas de client ...

circular17: ben tu reprends les clients après

circular17: plus facile à dire qu'à faire certes

Zorg1: et d'une légalité douteuse ;-)

circular17: faudrait voir avec un avocat

circular17: si tu récupère pas le fichier client, ça peut aller non ?

Bob: si je me barre ca sera clairement pas pour continuer a bosser pour les petroliers, pour le coup :)

circular17: ah oui ou changer de client effectivement

Zorg1: pour des banques alors, je sais pas si c'est mieux ^^ :p

circular17: en vrai entre pétrole, banque et marchand d'arme, je peux que pétrole c'est le moins pire :D

Zorg1: on fait pas que ça en France non plus ...

Stilgart: et officiellement, "on a pas de pétrole, mais on a des idées"

Bob: tiens question con, y a t-il ici des gens qui sont salaries par une entite hors France ?

Zorg1: on sent le gars qui va aller bosser au Luxembourg

Bob: meme pas

Bob: potentiellement plutot Allemagne

Zorg1: on propose du dev dans les banques au Luxembourg

Zorg1: pas forcément très intéressé

Bob: ouais pareil

Zorg1: surtout si c'est pour retrouver les grosses banques françaises

circular17: et le temps est pas génial

Default avatar.png JBM: youtube pété chez moi

Default avatar.png JBM: j'ai rarement vu ça

Zorg1: t'as trop bloqué de pub, t'es puni

circular17: quoi comme pétage ?

Default avatar.png JBM: cte provoque

Default avatar.png JBM: moi qui dois être le seul du chan qui le fais pas

Zorg1: :innocent:

circular17: je compathis JBM

circular17: je me suis fait taclé alors que je demandais de l'aide pour désactiver linter

Default avatar.png JBM: linter?

circular17: c'est un truc qui souligne le code en Python parce que y a un espace qui lui plait pas ici ou que y en a pas assez autre part

Stilgart: c'est cette histoire de python...

Default avatar.png JBM: ah oui

Default avatar.png JBM: j'ai vu tous les streamers s'en plaindre cette semaine

Stilgart: ... ok

Stilgart: suffit de pas coder en python :(

**Stilgart méchant, mais c'est pour votre bien

Default avatar.png JBM: je sais plus quelle position prendre sur les défaillances de l'IDE

Default avatar.png JBM: pour avoir essayé quelques autres langages récemment, on est clairement pas tous à la même enseigne

Stilgart: je veux dire, en Haskell on n'a plus rien qui marche depuis des mois, et est-ce que jbm ou moi on s'en plaind ?

circular17: perso : ajouter une option pour désactiver les messages concernant les espaces et longueurs de lignes

Default avatar.png JBM: hein? on a zero features et un compilo de mathusalem, mais chez moi ca marche encore

Stilgart: circular17: en vrai, je comprends pourquoi ils ne font pas ça globalement pour tout le monde le temps de fix leur python

circular17: c'est sûr c'est mieux que rien mais bon

circular17: je ferais bien du Haskell mais j'ai pas le niveau

Stilgart: dis-toi qu'ici, j'ai même pas un ctrl+espace qui marche

circular17: je compatis

Stilgart: c'est surtout une question d'envie si tu veux mon avis

Stilgart: et clairement, je comprends que la majorité des gens n'ont pas cette envie

circular17: nan je m'y suis intéressé

circular17: j'étais même enthousiaste

Stilgart: alors, d'envie, et d'astraction du surjargon ambiant

Stilgart: je comprends pas moitié de ce qui se raconte sur ##haskell, et ça m'empêche pas de coder en haskell sur CG

Stilgart: (celui de freenode)

circular17: ben Python m'apprend à jouer avec les listes par compréhension et la programmation fonctionnelle, alors peut-être je pourrais passer à Haskell plus tard

Stilgart: en vrai, je pense pas

Stilgart: parce que c'est bien ça le problème de python

circular17: ah bon ? :'(

Stilgart: ils font tout n'importe comment, et ensuite tu arrives plus à passer à quoi que ce soit d'autre

Stilgart: vécu sur python -> C et python -> ocaml

**Stilgart n'a pas donné de TD de java, mais a eu des échos similaire sur python -> Java

Default avatar.png JBM: ah ça y est youtube revient

Stilgart: \o/

Stilgart: une idée de la source du problème ?

Default avatar.png JBM: je vais pouvoir continuer mon écoute de l'intégrale d'anne sylvestre

Stilgart: (dès fois que ça me tombe dessus aussi)

Stilgart: (et c'était sérieux le fait que tu ne bloquais pas les pubs ? o_O )

Default avatar.png JBM: oui

Default avatar.png JBM: sur YT juste hein

circular17: Stilgart: bah j'ai fait du Pascal avant alors C pas de problème

Stilgart: mais comment tu fais...

Default avatar.png JBM: en fait j'en ai pas tant que ça

Stilgart: je fais ça, j'ai genre des pubs jusque dans le milieux des vidéos

Default avatar.png JBM: mais c'est rapport au fait que j'ai pas mal de contenu, sur [CG]JBM et sur d'autres chaines

circular17: les doubles pubs j'en peux plus mais avec lo bloqueur de pub ya plus de video du tout

Stilgart: (après, pe que chez YT ils ont un compteur et qu'ils me saucent de pub quand j'ai mon bloqueur coupé)

Default avatar.png JBM: c'est contre les conditions d'usage, donc je le fais pas, du monde «dépend» de mon contenu

Stilgart: circular17: là, ça fait 3 mois que YT mets en pause random mes vidéos quand je suis pas sur l'onglet

Stilgart: (comprendre, avec ff qui a le focux)

Stilgart: focus

Stilgart: mais sinon, j'ai pas de pubs

**Stilgart pensera a désactivé son bloqueur quand il tombera sur une vidéo de [CG]JBM

Default avatar.png JBM: avec l'ancienne politique, mes videos sont sans pub

Default avatar.png JBM: ça a changé y'a genre 2 ou 3 semaines

Default avatar.png JBM: en «il peut y avoir des pubs quand même, et j'en toucherai rien»

Default avatar.png JBM: donc te gêne pas pour moi pour les bloquer

Stilgart: ho ... c'est quoi cette nouvelle règle ?

Default avatar.png JBM: ben a peu pres ce que je t'ai dit

circular17: ils ont rajouté des tonnes de pub

circular17: je suppose ils ont le monopole alors ils pensent de toutes façons nous sommes captifs

Stilgart: genre c'est pub obligatoire, mais ça va même pas au créateur de la vidéo ???

Default avatar.png JBM: les 2 sont independents, mais oui

Stilgart: donc par principe, certains font refuser de toucher des sous, mais l'utilisateur aura quand même de la pub ?

Stilgart: *vont

Stilgart: Automaton2000: tu peux m'apporter un sac à vomi

Stilgart: ?

Automaton2000: c'est quoi le problème avec le puzzle

Zorg1: YT te diras qu'il faut quand même qu'il finance son infrastructure

Stilgart: Automaton2000: cf le forum, si tu parles du puzzle d'hier

Automaton2000: pourquoi je fais du java

Zorg1: mais bon je vois pas ce qui vous étonne

PhOeNyX: Parce que c'est top comme langage Automaton2000 !

Automaton2000: je me suis fait avoir

PhOeNyX: roh

Zorg1: hihi

PhOeNyX: Même Automaton2000 me troll

Stilgart: haha

**Automaton2000 slaps raaat around a lot with a large fishbot

Stilgart: Automaton2000: tu es bien chaud là, tu pourrais presque finir par dire tortue

Automaton2000: vu que maintenant je peux plus rien faire

Stilgart: pfffff

Default avatar.png JBM: non, en fait toucher des sous avant c'était ouvert à tous (en gros)

Stilgart: oui, mais tu choisissais entre no pub et toucher des sous avec de la pub

Default avatar.png JBM: et y'a peu (de l'ordre de 2 ou 3 ans) c'est réservé aux chaines à un certain seuil d'abonnés

Stilgart: ou j'ai raté un truc ?

Stilgart: ok, j'avais déjà raté ce truc

Default avatar.png JBM: j'étais éligible à gagner des clopinettes jusque y'a 2-3 ans

Default avatar.png JBM: (mon compteur affichait clairement 0.24€ toute chaines confondues

Stilgart: par ?

Stilgart: mois ? année ?

Default avatar.png JBM: j'arrive plus à retrouver le détail du changement plus récent

Default avatar.png JBM: cumul sur, euh, disons 10 ans

Stilgart: ok

Default avatar.png JBM: (c'est plus (d'annees) mais on va pas pinailler)

Stilgart: j'allais dire que pour 2€ par an ça vaut pas le coup... mais là c'est encore plus bas que ce que je m'imaginais

Default avatar.png JBM: oui mais

Default avatar.png JBM: 99.9% de mes videos sont sans pub

Default avatar.png JBM: ceci explique cela (et est le fonctionnement normal du système)

Stilgart: ha, ça explique le total très bas

Default avatar.png JBM: les 0.01% c'est les videos où j'ai pas le choix, y'a du contenu effectivement vaguement imputable à des droits voisins

Default avatar.png JBM: ou y'a monetisation obligatoire, et l'option de partager les gains avec le réclamant

Stilgart: hum... c'est pas de la "vente liée" ça

Stilgart: ?

Default avatar.png JBM: j'en ai contesté des palanquées depuis le temps, mais y'en a où j'ai effectivement pas de légitimité à le faire

Default avatar.png JBM: vente liée?

Default avatar.png JBM: mmm

Default avatar.png JBM: de quoi?

Stilgart: bah, que tu abandonnes une partie des tes droits que tu n'as pas, ok

Stilgart: mais obliger la monétisation à cause de ça, ça me pose problème

Default avatar.png JBM: ils sont pas abandonnés

Default avatar.png JBM: ils sont juste pas rémunérés

Stilgart: (sauf quand un autre ayant droit le réclame vraiment)

Default avatar.png JBM: je peux pas forcer YT à me pyer pour du contenu qui les intéresse pas particulièrement

Stilgart: c'est le "ou y'a monetisation obligatoire," qui le fait tiquer

Stilgart: *me fait

Default avatar.png JBM: ok «obligatoire» est un peu fort

Default avatar.png JBM: «impubliable sans»

Stilgart: mais ils le justifient comment ?

Default avatar.png JBM: leur contrat avec le plaignant

Default avatar.png JBM: «droits voisins détectés de tel contenu sur telle œuvre»

Stilgart: ok, s'il y a quelqu'un en face ça me va... sauf que c'est des changements que tu fais après coup

Default avatar.png JBM: y'a pas vraiment d'humain en face

Stilgart: (pas faux :( )

JohnnyYuge: Hi bitches !

circular17: hi doggy !

philRG: la légalité, les multi-nationales s'en tapent le coquillard

Default avatar.png JBM: c'est pas si simple

Default avatar.png JBM: c'est plus une question de «la légalité, c'est un coût quantifiable»

PhOeNyX: You're my favorite customer

circular17: JBM: oué c'est ça

philRG: pour moi c simple comme de l'eau de roche mais bien trop long à expliquer

Default avatar.png JBM: et justement, le temps c'est de l'argent

PhOeNyX: L'eau de roche c'est clair, pas simple

circular17: la légalité est une variable d'ajustement, on peut la modifier par lobbying

JohnnyYuge: C'est simple, c'est clair l'eau de roche

philRG: suffit de s'être imprégné de cet environnement pendant de longues années

philRG: c comme le code

philRG: c bien une variable et non une constante

philRG: du lobbying et des relations sociales au sein de l'entreprise

Bob: mon dieu de deluge de chat qui n'a pas scrolle

Bob: c'est quoi le tl;dr de la discussion en cours ?

Bob: #lazy

Zorg1: "mon dieu de déluge" c'es point commun comme juron

Zorg1: *c'est je commence à écrire à la MK moi ...

philRG: :-)

Bob: fix ta es

Default avatar.png JBM: améliore ton mémétique

Zorg1: bob : on parlait de Youtube, ses pratiques commerciales, la pub, ...

Zorg1: je pense que c'est un bon tl;dr

Bob: ok

Bob: avec uBlock ou Brave, j'ai essentiellement zero pub sur YT

Bob: du coup ca me fait tout bizarre quand je me retrouve accidentellement sur l'appli plutot que dans un browser

Bob: faudrait que j'installe Brave sur la tablette des gamines tiens

Zorg1: bah c'est quand je navigue sur le PC de boulot avec le navigateur bloqué que je vois toutes les pubs ^^

philRG: ah ah

philRG: sur PC le seul soucis c de réussir à différencier le vrai virus du faux (win10)

philRG: dans les 2 cas, ton système devient inutilisable

dwarfie: toujours pas de reaction de CG par rapport a ce genre de trucs ? https://www.codingame.com/contribute/view/5908230dda6553967fade1505722bc33ec16

Bob: qu'est-ce que c'est que ce machin ?

sRanch: Un troll?

philRG: un indien

dwarfie: c'est le contributeur le troll

**dwarfie se rend compte qu'il vient d'etre tres mechant en disant ca .... envers les trolls

**philRG approves dwarfie

Bob: je valide la contribution de dwarfie

Bon[]Crayon: En javscript, la fonction 'print' est marquée @deprecated, ducoup dans l'ide le mot print est barré. C'est pas mal :thumbsup:

philRG: quelle version de js? Je suis resté à la version 1.2

Bon[]Crayon: celle de cg

Bon[]Crayon: j'y connais rien :joy:

philRG: ah sont pas très loquaces dans la faq mais c du node 12.13.0

Bob: y a un print en JS ?

dwarfie: Bob ... j'ai fait une contribution ? moi ? je dois etre somnancodeur alors :p

Bob: j'ai toujours utilise console.log

Bob: dwarfie : ta contribution au debat, sur la mechancete envers les trolls

dwarfie: ah oui , dans ce cas , merci

darkhorse64: Il y a un contest du CoC pourri en cours ? Ca spam submit; déjà 3 aujourd'hui

philRG: my brother's colleague invented Javascript

philRG: that's all I know

Zorg1: c'est un contest permanent ça darkhorse64

philRG: just a basic scripting language to use in netscape navigator

darkhorse64: Je viens d'en voir un quatrième. Ca s'intensifie

Zorg1: ah ok la rockstar

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

AutomatonNN: ouai c'est pas trop dur de te dire

Automaton2000: le mieux c'est de ne pas pouvoir le faire

darkhorse64: C'est le pire mais il y en a d'autres

BlaiseEbuth: Wé du drama !

Zorg1: j'ai rien compris et sa solution ne marche pas

Bon[]Crayon: salut

darkhorse64: On fait un reject groupé ?

Bob: faudrait que le site fasse un reject auto si la solution ne passe pas de base

Zorg1: ah mais si la solution ne lit pas les input ^^

BlaiseEbuth: C'est sensé être le cas, mais y'a moyen de contourner

Zorg1: en fait si sa solution marche, mais c'est n'importe quoi son truc

BlaiseEbuth: lequel ?

Zorg1: cette merde : https://www.codingame.com/contribute/view/5908230dda6553967fade1505722bc33ec16

BlaiseEbuth: Ah mais c'est rockstar...

Zorg1: ouaip

Zorg1: faudrait coder un autoreject

Zorg1: ça réduirait le niveau de drama

Default avatar.png JBM: mais est-ce qu'on veut vraiment réduire le drama?

Default avatar.png JBM: ça fait plus d'engagement

Default avatar.png JBM: plus de clics

Default avatar.png JBM: plus de valeur ajoutée pour les actionnaires

Zorg1: ah oui comme twitter et ses twitos d'extrême droite

Default avatar.png JBM: je pensais plutot a facebook

Default avatar.png JBM: mais effectivement ça marche aussi avec twitter

Zorg1: ça doit être dans le même genre

Bob: ameliore ta engagement

Bob: add some clicks

Bon[]Crayon: Alors toto AutomatonNN ça gaz ?

AutomatonNN: helas avec un point de vue plus simple que ce que tu veux dire

XorZy: Remarque, il faut un certain talent pour arriver à nous sortir chaque jour un clash plus médiocre que celui de la veille :sob:

Bon[]Crayon: AutomatonNN est-ce que tu ne nous couves pas une petite dépression de dépression ?

AutomatonNN: oui

Bon[]Crayon: La connerie c'est un puits sans fond.

BlaiseEbuth: Les puits sans fonds ne me dérangent pas tant qu'ils contiennent de la bière.

Bob: 95 % de cons

XorZy: :sob:

Bob: ce qu'il faut c'est se concentrer sur les 5 % restants

XorZy: Oui il n'y rentre pas :joy:

Bon[]Crayon: AutomatonNN "Je suis une joyeuse tortue" :turtle:

AutomatonNN: oui et tu te passes la meilleure de toute façon que pour le contest c'est de la reponse et le mot de

Bon[]Crayon: AutomatonNN la fin justifie le début

AutomatonNN: oui mais pour le prochain contest est toujours là

XorZy: AutomatonNN une idée pour un nouveau clash?

AutomatonNN: oui

XorZy: AutomatonNN j'écoute :)

AutomatonNN: honnêtement c'est pas un array interne tes contribs en fait ?

XorZy: Busted >.<

Stilgart: AutomatonNN qui trash-talk sur les contribs... c'est vraiment un bon petit

AutomatonNN: vous avez tout confiant ?

XorZy: AutomatonNN tu devrais modérer les nouvelles contributions :upside_down:

AutomatonNN: bah c'est pas trop compliqué pour les contests sur le contest de ce que tu veux dire

Stilgart: go go go AutomatonNN modérateur

AutomatonNN: Ne prend que pour toi Automaton2000

Zorg1: quelle prévenance AutomatonNN

AutomatonNN: y'a un exploit de contest de contest :p

Stilgart: on dit un "double Hulk" sur CG ;)

Stilgart: XorZy: joli le coup du blocage de lsp-community :thumbsup:

XorZy: Merci :)

BlaiseEbuth: blocage de ?

Stilgart: ça "règle" le problème de python dans l'ide

Stilgart: à la racine :D

BlaiseEbuth: En supprimant python ?

Bob: en supprimant l'IDE

Bob: tu codes avec ton esprit

Bob: you have to use Mind, qu'il a dit

JohnnyYuge: Perso, je code sans ordi

BlaiseEbuth: Easy

JohnnyYuge: J'écris sur une feuille et je compile à la main

BlaiseEbuth: Carte perfo et basta

BlaiseEbuth: Bon. Reprenons aoc13p2

dwarfie: JohnnyYuge ... j'en ai connu de meilleure ... qui codait sans cerveau ... et bien de fois ca faisait des choses etonnantes :D

Stilgart: dwarfie: c'est quoi la logique de Data compression ?

dwarfie: oula ... c'est bizarre en fait ...

Stilgart: le test 1 parait faux

BlaiseEbuth: La logique c'est qu'il ny a pas de logique

dwarfie: en fait non ... /1 est > en taiile a "is" .. donc /1 n'est pas "is" ... ni "a" mais "text"

Stilgart: ha putain, je crois que je vois

Stilgart: not good enough

Stilgart: to apparait deux fois au test 2, mais on le compresse pas pour autant...

Stilgart: Expected:

Texting /5s to com/10 ... quoi ???

**Stilgart va check la traduction de "in front of"

dwarfie: c'est dans le sens "on peut remplacer une partie d'un mot avant que le mot complet qui remplace de soit vu" ... je sais , c'est tordu

Stilgart: il y a ne serait-ce qu'une rule qui est bien écrite, ou bien je reverse vraiment ?

BlaiseEbuth: non

dwarfie: Punctuation marks are not part of a word ... c'est la seule

BlaiseEbuth: Ah

Stilgart: bien vu

Stilgart: du coup, c'est complètement sous-spécifié en plus du reste

Stilgart: je compresse comment un

Stilgart: glanducrétin glandu crétin ?

Default avatar.png JBM: compression bidule?

Stilgart: je vais te compresser le sujet en return 1, ça va pas trainer

Stilgart: il manque une difficulté trash tiens...

Default avatar.png JBM: c'est juste (encore) un de ces puzzles ou l'énoncé est une description a posteriori de ce qu'a fait l'auteir

Stilgart: et dans quel monde ce qu'à fait l'auteur ne relève pas du psychiatrique ?

BlaiseEbuth: awi genre Automaton2000

Automaton2000: je pense que c'est plus clair

BlaiseEbuth: Pas des masses non

Default avatar.png JBM: il nous a pas encore dit qu'il était spécialiste mondial de la compression

Default avatar.png JBM: faut ptet que je sorte un sujet "Text Compression Done Right"

BlaiseEbuth: Text compression : The right way

Stilgart: il compresse forcément des tortues pour en faire de la soupe ce bon vieux Automaton2000

Automaton2000: mais bon moi je vais essayer de me faire monter un peu

Stilgart: that's the spirit

Stilgart: bon, je viens de capter qu'il faut une série d'indexes par indice... on progresse

Default avatar.png JBM: mais bon, il s'est trouvé un champion pour défendre que c'était sensé et intuitif

Default avatar.png JBM: :shrug:

BlaiseEbuth: Moujds power !

Stilgart: ça doit être un dm de chez epita

**Stilgart tire à vue

Zorg1: un truc de piscine oubliée ?

Stilgart: un truc du genre, oui

Zorg1: bien bouffé par le chlore

Default avatar.png heldwin: comment on peut faire une rotation de caractère, sur le 9ème caractère, s'il y en a que 4 ? il y a une astuce ?

BlaiseEbuth: Nié ?

**BlaiseEbuth jette du contexte sur heldwin

dwarfie: AutomatonNN : activate context generator

AutomatonNN: le starter mais c'est que tu veux que je prenne le temps de comprendre le problème de tout le monde

Default avatar.png heldwin: un clash, cela demandait de faire des rotations sur un mot: breakfast (sur le 5ème caractère) -> fastbreak

Default avatar.png heldwin: le dernier était mind et il fallait faire sur le 9ème

dwarfie: %

BlaiseEbuth: Genre. Et c'est dans l'énoncé ça dwarfie ?

dwarfie: il me semble, , je suis en train de le rechercher

Default avatar.png heldwin: hum, il faur recompter depuis le début je pense. la réponse était indm

BlaiseEbuth: Ouai % quoi

Stilgart: mais pourquoi 'to' c'est pas compressé bordel ?!

Default avatar.png heldwin: ah ok. j'avais pas compris le % :)

dwarfie: parce que /1 est pas plus petit que to

Stilgart: mais ça veut RIEN dire

Stilgart: en fait, j'ai toujours pas compris l'histoire du plus petit que

dwarfie: si ca reduit pas la taille , ca compresse pas ...

Stilgart: ce qui n'est jamais écrit

Stilgart: en tout cas, c'est pas ça que je lis en rule 3

BlaiseEbuth: Mais depuis quand l'énoncé est censé décrire ce que tu dois faire ? 'spèce d'assisté !

dwarfie: je dirais pas que c'est pas bien ecrit ... je dirais "regarde qui a validé et va taper dessus....encore..."

Stilgart: il n'a plus intérêt à la ramener lui

Zorg1: elles sont débiles ses contribs à la rockstar. avec Ouesticule en troll de référence qui donne son avis

Stilgart: c'est sur djoums que je tirais

BlaiseEbuth: On a assez de munitions pour tout le monde, t'inquiètes.

Stilgart: pare que bon, W c'est loin d'être le seul problème en fait

Stilgart: Automaton2000: file ton stock de carapaces !

Automaton2000: au moins je suis pas sur que ce soit un problème de timeout

Zorg1: fais gaffe si tu vois des problèmes partout ...

dwarfie: Automaton2000 ... un probleme au niveau du réseau de neurones peut etre ...

Automaton2000: non je parle de ceux qui sont à la suite

Default avatar.png heldwin: ah yes, ça marche bien avec %, merci

dwarfie: Automaton2000 , meme a la suite , ca fait un reseau

Automaton2000: c'est normal que je sois capable de faire des trucs du genre

Zorg1: Automaton2000 premier de cordée

Automaton2000: mais bon je peux pas dire pour les autres aussi

Zorg1: tu chopperais pas le melon Automaton2000 ?

Automaton2000: il est à combien le boss ?

leojean890: 49.99 saisis ta chance ;)

leojean890: Automaton2000

Automaton2000: tout le monde et leojean890

leojean890: ;)

dwarfie: leojean890 ... fais gaffe , les silicates on leur a dit tente ta chance et ils on tué tout le monde (cf : space 2063)

Zorg1: c'est encore quoi cette série

dwarfie: :yum:

**dwarfie a encore frappé :D

leojean890: j'connais pas non plus:)

Zorg1: ah ok ça se déroule dans un univers semblable à StarShip Trooper

Zorg1: la série a été arrêté pour sa trop faible audiance

Stilgart: dwarfie: ne me dit pas que c'est case insentitive...

BlaiseEbuth: Seulement une lettre sur 2

Zorg1: au départ il avait mis un RNG mais on a réussit à le convaincre de l'enlever

Zorg1: tiens une idée de puzzle troll : un détecteur de suite de nombre aléatoire ^^

BlaiseEbuth: :thinking:

Zorg1: tu fais un print "NO" et c'est gagné

Stilgart: print "falsE" ;)

Zorg1: ou plutôt "non décidable" ça serait plus juste ;-)

Stilgart: NN-complete

dwarfie: case sensitive

Stilgart: nan mais c'est bon, j'ai fini par comprendre que dolore se traitait à part

Stilgart: faut que je plussoie JBM à ce propos

dwarfie: en fait , je le traite pas a part , mais clairement c'est galere ... surtout quand c'est dans le validateur que ca merde

Stilgart: surtout, c'est pas traitable, cf le message de JBM ou encore celuji de R2B2

dwarfie: j'ignore ce qui est le plus honteux ... qu'il ai été validé ? ou qu'il y'ai presque 6 fois plus d'upvote que de personne l'ayant resolu ...

Stilgart: non, c'est la mauvaise fois sur le forum le plus honteux, et de loin

Stilgart: je préfère pas répondre tellement je suis en colèr

BlaiseEbuth: Est-ce que par hasard quelqu'un se souvient (ou a conservé) des détails de TGD ? (Statement, contraintes ...) J'ai 6 jeux de tests je sais plus si 'il y 'en avait plus. Et je sais pas si quelqu'un avait choppé les validateurs ?

PhOeNyX: TGD ?

BlaiseEbuth: The Great Dispatch

Stilgart: il y avait 6 tests, de 300 (500?) à 2200 boites

BlaiseEbuth: Bon. J'ai les 6 alors

Stilgart: il faudrait resoumettre un TGD repensé

BlaiseEbuth: C'est l'idée

Stilgart: sauf que c'est pas simple

Stilgart: (sauf si ça te va que le top50 soit classé random parce que le min est atteint)

Stilgart: en tout cas, je t'invite à demander l'avis de Neumann et dbdr

**Stilgart pas bon en NP-completude

BlaiseEbuth: Bah si le min est atteint le min est atteint, non ? Qu'y puis-je

darkhorse64: TGD, c'était un optim ?

BlaiseEbuth: wé

BlaiseEbuth: Un sac à dos ^n

Zorg1: oui

Stilgart: BlaiseEbuth: éviter que ça puisse l'être

darkhorse64: D'où le nom. Ca peut être intéressant à faire

Stilgart: note que j'ai pas de bonne idée sur la question

BlaiseEbuth: Ca l'était pas pendant le contest ? Stilgart

Stilgart: y a pas eu de contest

Stilgart: juste une banque qui a dit recruté en dessous de 1 (ou était-ce 100), et on a fait 0.000xx

BlaiseEbuth: Ouai mais y'avait une limite de temps non ? Je sais plus

Zorg1: 50 s

BlaiseEbuth: Ouai mais en jours

Stilgart: non

BlaiseEbuth: Ah

Stilgart: je faisais 0.000009 dans le temps imparti

Stilgart: -0

BlaiseEbuth: J'était plutôt bien classé, mais je sais plus quel score je faisais

Stilgart: en vrai, la variante la plus naturelle à laquelle j'étais arrivé c'était en combat de bot à la STC

Stilgart: avec eds ligues

Stilgart: la ligue à 1000+, la ligue 100-1000, la ligue 1-100, et la ligue <1

BlaiseEbuth: Mais le min avait été atteint ?

Stilgart: sauf que tu peux générer des entrées aléatoires dans ce cas

Stilgart: ça limite déjà beaucoup

Stilgart: et puis tu peux mettre 1s au lieu de 50s

Stilgart: ou 10s

Stilgart: mais bon, il faut trouver la frontière à partir de laquelle le min n'est plus garanti

Stilgart: et pour ça, il faut demander l'avis de Neumann

BlaiseEbuth: "le min n'est plus garranti" ?

Stilgart: bah, si tu as 1s au lieu de 50s, sur une entrée que tu ne connais pas, et avec 5000 boites, ça devient tout de suite plus chaud

Stilgart: (encore que, beaucoup de boites ça rend le pb plus simple)

BlaiseEbuth: Hmm...

Stilgart: il y aura toujours un min, mais c'est pas pour autant qu'il est trouvable en 1s

Stilgart: et le passage en combat de bot fait que tu n'as plus la contrainte de fairness des validateurs

BlaiseEbuth: Pas faux...

BlaiseEbuth: C'était quoi les inputs ? Poids / valeur ou l'inverse ?

Stilgart: ça n'a pas d'importance, je dirais

BlaiseEbuth: Non, mais pour lire les tests que j'ai

Stilgart: et puis c'était des volumes

BlaiseEbuth: Ah ouai. C'est vieux...

Stilgart: il fallait équilibrer les volumes sans dépasser un certain poids, non ?

Stilgart: (ou est-ce l'inverse ?)

BlaiseEbuth: Béh je sais plus. D'où ma demande de statement

Stilgart: ça je l'ai pas

Stilgart: j'ai même pas mon code sous la main :(

BlaiseEbuth: J'ai plus mon code... :weary:

Stilgart: bon, si je faisais enfin un truc cool de ma journée...

Stilgart: go go go AoC

**dwarfie a toujours pas fini day 7

Stilgart: j'y arrive à ce fameux day7

BlaiseEbuth: C'est quoi le théorème magique des gens qui sachent pour le 13p2 ?

Stilgart: ça j'y suis pas du tout :D

BlaiseEbuth: Dépèche toi d'y aller et dis moi.

nicola: Quel problème, BlaiseEbuth ?

BlaiseEbuth: AOC13p2

nicola: https://adventofcode.com/2020/day/13 ?

BlaiseEbuth: ouai

BlaiseEbuth: Parait que ça vient d'un problème de math connu.

BlaiseEbuth: Connu pour ceux qui connaissent j'imagine :D

BlaiseEbuth: Moi j'ai pris mon p'tit papier et mon p'tit crayon mais j'vois pas... M'fin mon niveau de fatigue actuel doit pas aider...

Stilgart: pour la part a, ça s'appelle modulo

Stilgart: faudrait voir ce qui change en part b

BlaiseEbuth: Bah t'a pas de timestamp donné. Tu dois prendre ta ligne type : 7,13,x,x,59,x,31,19. Et trouver le premier timestamp auquel 7 part, 13 part à timestamp+1, 59 à timestamp + 4, etc...

nicola: Oui, modulo.

BlaiseEbuth: Oui mais part2 j'ai dit ^^

nicola: Je n’ai pas le lien.

BlaiseEbuth: Faut faire la première

nicola: Il est disponible après avoir résolu le premier ?

nicola: OK.

nicola: Ça a l’air d’être presque la même chose.

nicola: D’où viennent les +x ?

BlaiseEbuth: Bah ils sont dans l'input

nicola: Donc ça ne change pas grand chose.

BlaiseEbuth: de ?

nicola: Au lieu de tester la divisibilité des dates, tu testes la divisibilité des dates+x.

nicola: Ça ressemble à un problème de restes chinois.

nicola: TRC.

nicola: CRT en angliche.

Stilgart: sauf que le théorème chinois (parait qu'on doit dire comme ça... sic) c'est pas vraiment un truc constructif

nicola: Comment ça ?

nicola: Il y a plusieurs algorithmes.

Mator: Hello. Je vois que ça parle de l'AoC ?

Mator: Moi je l'ai résolu avec les chinois

BlaiseEbuth: Tu les a payé combien ?

Mator: Pas cher

Mator: Donc Stilgart si, ça permet de construire une solution (ou alors j'ai pas capté ce que vous êtes en train de dire :/)

Zorg1: oui c'est ça nicola

Stilgart: le théorème ne le permet pas directement

Stilgart: les algorithmes qui en font certaines preuves le font

Mator: Ah peut-être, j'ai pas *trop* cherché à comprendre...

Stilgart: mais le théorème ne se limite pas à Z/pZ x Z/qZ avec p et q entiers premiers entre eux

Stilgart: bon, regardons ce sujet

Stilgart: vous m'avez fait zapper des jours

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

Stilgart: ok

Zorg1: le 14p2 me fait ch*r

Stilgart: l'algorithme c'est euclide étendu

Stilgart: (enfin, le plus standard pour faire ça)

Stilgart: et la formule derrière n'a pas de nom à ma connaissance

nicola: Les démonstrations classiques donnent un algorithme.

nicola: Je ne connais pas de formule directe, en revanche.

Stilgart: dans le cas que je cite, il y a une formule directe via les coefs de bezout

nicola: Avec deux cas ?

Stilgart: sinon, tu as des preuves à base de cardinal qui te donne l'isomorphisme

Stilgart: avec deux équations

Stilgart: avec n, tu récurres jusqu'à tomber à 1

nicola: Oui, j’ai vu une formule dans le bouquin de Reinhardt et Soeder.

Stilgart: il faut une généralisation des coefs de bezout, mais c'est une pente trop glissante pour moi

Stilgart: et puis je suis presque sûr qu'en pratique, il vaut mieux traiter les équations deux par deux

nicola: Rien ne t’empêche de récurrer avec ta formule.

nicola: Oui, petit à petit.

Stilgart: (et garder des entiers petits du coup)

nicola: Inutile avec l’algorithme d’Euclide étendu.

Stilgart: bon, ici ça doit tenir dans un int64 donc on s'en fiche un peu

Stilgart: ça = tout

nicola: Tiens, mon code en Python pour le trc tient en quatre lignes avec la formule que tu indiques.

nicola: Plus une fonction pour les coefficients de Bezout et une pour le produit.

Stilgart: mon code haskell fait a peu près pareil hein ;)

Stilgart: (formule pour le cas n=2 en 1 ligne, + 6 lignes de eea)

**Stilgart va étendre la formule sur 2 lignes, ça sera moins sale

Bon[]Crayon: Avec tout ça, c'est AutomatonNN qui va devenir une pointure en algorithme.

AutomatonNN: c'est pas trop de chance de parler de ton code et tu peux pas partir en fin de fois

Bon[]Crayon: AutomatonNN Je reste! telle une patelle sur le dos d'une tortue.

AutomatonNN: ke debile tu peux pas faire un truc de quelqu'un qui connait le contest de ce que tu veux dire

Bon[]Crayon: C'est pas faux.

Bon[]Crayon: AutomatonNN

AutomatonNN: oui je suis déjà en phase de code en python je l'ai testé c'est que j'ai pas trop de conditions

PhOeNyX: https://www.codingame.com/share-replay/515998414

PhOeNyX: vachement optimisé ce MCTS

BlaiseEbuth: Merci pour le pointeur sur les chinois. J'ai rien bité mais ça c'est mon problème. Verrait plus tard.

remi2257: xD PhOeNyX

remi2257: Il t'a pas laissé une chance le bougre :o

PhOeNyX: C'est plutôt moi qui lui ai donné toutes ses chances :D

remi2257: #Quand t'inverses le signe de la reward dans ton MCTS ^^

Zorg1: bon bah mon code AoC14p2 je vais le planquer tellement qu'il est moche ^^

XorZy: :joy: Remarque le mien n'est pas top non plus :/

Zorg1: "l'essentiel ça marche on livre en prod'" :p

Default avatar.png JBM: je l'ai fait ce matin j'ai déja oublié de quoi a parlait

Zorg1: des masques chelous

Default avatar.png JBM: aaah oui

Default avatar.png JBM: y'a moyen d'en faire une version bien hard en poussant un peu

Zorg1: ah oui en ne limitant pas le nombre de X ?

Default avatar.png JBM: oui

Zorg1: ce que j'avais peur au début avant de les compter ^^

Default avatar.png JBM: pareil ^^

XorZy: 2^36 :open_mouth:

Zorg1: ouaip 36 bits, 12 chifffres octaux

XorZy: Remarque hier j'ai bien bruteforcé 2^40 :joy:

Zorg1: ouais c'est pratique les cartes graphiques

XorZy: :ok_hand:

Zorg1: par contre là pour bruteforcer te faut un paquet de RAM

XorZy: Très beaucoup en effet

Zorg1: quoique il y a max 500 valeurs possibles

Zorg1: ou 600

Zorg1: mais ça fait paquet un paquet d'octers

Zorg1: *quand même

Stilgart: j'aime vraiment pas le 7b... :/

Stilgart: un jour je saurais le coder sans m'y reprendre à 3 fois avec les +1/-1 que je sais jamais où mettre

Zorg1: ah les sacs

Stilgart: (le puzzle est bien, j'aurais du dire j'aime pas ma solution)

Stilgart: houla, le 8 ça attendra

Zorg1: le 5 ça reste du troll pour moi ^^

Default avatar.png JBM: je vois plus a comme de l'éducatif

Zorg1: c'est une manière de voir

Stilgart: ça m'a pas choqué tant que ça le 5

Stilgart: au final, je l'aime bien

Default avatar.png JBM: y'a des ens qui vont se faire chier; ils iront lire le solution megathread; ils feront AAAAA et ils auront appris qqch

Default avatar.png JBM: *gens

Stilgart: je pense que beaucoup auront fait 2 conversions en binaires alors que une suffisait

Stilgart: et puis c'est reposant d'avoir un puzzle facile et bien spécifié

**Stilgart se demande pourquoi il s'est fait chier à compresser du texte ici au lieu de faire son AoC

Zorg1: oui ils sont quand même plus travaillé les puzzles de l'AoC ;-)

Zorg1: bon ils rapportent pas d'XP :(

Zorg1: on peut pas tout avoie

Zorg1: *avoir

Stilgart: Automaton2000: file nous de l'XP

Automaton2000: mais j'arrive pas a faire un truc à faire pour que les gens qui codent en python

Stilgart: Automaton2000: c'était le pb de ce matin ça... tu lagues

Automaton2000: parce que j'ai un bug que je viens de voir un replay ?

Zorg1: si tu codes en Python aussi Automaton2000

Automaton2000: mais il veut pas me croire

Stilgart: Automaton2000: on veut des tortues, pas te croire

Automaton2000: oui mais y a pas de commande

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

Zorg1: Automaton2000 : voici une commande de tortue

Automaton2000: ça en est où ?

**Stilgart retourne à son 9b

remi2257: Les gars, j'aurais une question pour vous : Je suis sur l'ultimate Tic-Tac-Toe et j'essaie de faire un MCTS. Cependant, j'arrive pas le rendre efficace car je timeout très facilement (avec 15 rollout par tour, je me retrouve en timeout quasi tout le temps)

remi2257: Je voulais savoir si c'était mon implémentation qui était très mauvaise ou bien c'est juste que les calculs sont très limités sur codingame ?

Stilgart: tu as de très gros soucis de perfs :(

Stilgart: en général, on compte plutôt en nb de noeuds qu'en rollout

sanpas83: Bonsoir remi2257 en quel langages ? certain sont tres lourd et provoque facilement des timeouts en suite il faut utiliser au maximum des types primitif (valued type)

Stilgart: [MCTS] nb. of rollouts: 22528

Stilgart: ha bah en fait je compte en nb de rollouts :D

sanpas83: la c'est pas 15 :o

Stilgart: et j'ai pris un cas difficile

Stilgart: [MCTS] nb. of rollouts: 30464

Stilgart: sur un cas plus simple

Stilgart: le langage de remi2257 doit jouer

Stilgart: mais je soupçonne surtout un manque de tables précalculées et des allocations à tout bout de champ qui ruinent tout

sanpas83: tu est en c / c++ ?

Stilgart: C++ ici

sanpas83: ok merci :)

Stilgart: c'est pas spécialement bon comme nb de rollouts, note

sanpas83: en C# j'arrive pas a les push autant faudrait que je me mette sur un projet simple pour commencer

Stilgart: tiens, en Haskell je suis à 4k...

Stilgart: j'étais à 12k avant...

Stilgart: JBM: on a eu une régression ou bien j'ai pas mon meilleur code en IDE ?

Default avatar.png JBM: 12k quoi?

Stilgart: rollouts à UTTT

Default avatar.png JBM: aucune idée

Default avatar.png JBM: je sais plus si j'ai fait uttt

Stilgart: j'ai mêmes des souvenirs de 16k, mais ça devait être en local avec le sdk

remi2257: Je suis en Python !

sanpas83: oui sa joue pas mal le langage en effet deja en C# j'ai proscris les classe pour ce qui est noeuds utilisations de struct et de type de base pour améliorer les perfs

remi2257: J'ai typiquement des classes

Stilgart: mais surtout, comment faire dans un langage sans tableau...

remi2257: J'ai "Grille" et "Grille de Grille"

leojean890: remi2257 en python c'est lent en moyenne, je t'invite à regarder la lib numpy;)

remi2257: Nan mais ça va, je connais :p

Stilgart: mon état c'est 11 entiers et un booléen

leojean890: (que moi je ne connais pas bien ;))

leojean890: mais numpy bien utilisé tu gagnes en perfs !

remi2257: Mais merci leojean

Stilgart: les 9 petites grilles, la grande, l'entier pour le focus, et le booléen pour savoir si c'est à moi de jouer

leojean890: ur welcome:P

remi2257: Je viens de check un truc tout bete

leojean890: sinon tu passes sur un langage du genre C/C++/rust..^^

remi2257: Tu regardes le classement

remi2257: Le premier en Python ...

remi2257: Ben il est meme pas légende ^^

Stilgart: np.array ça sera déjà infiniment moins pire oui

Stilgart: ça sera de vrais tableaux déjà

sanpas83: et oui les top c'est du C++ / Rust

sanpas83: quelque C#

leojean890: remi2257 normal dans ce jeu ça joue trop sur les perfs^^

leojean890: mais y'aurait pu y avoir des experts numpy comme Fangel en légende :P

Stilgart: tiens, y a plus de rust que de java

remi2257: J'avoue, je suis nouveau dans ce type d'algo !

Stilgart: leojean890: vu ce que c'est à coder, le C++ c'est bien

Stilgart: remi2257: c'est pas vraiment un soucis d'algo je pense

remi2257: Je pense que mon système de copy me prend trop de temps

Stilgart: ton 1er problème va être de ne pas allouer

Stilgart: jamais

Stilgart: JAMAIS

Stilgart: sauf au tour 1

Stilgart: et ton 2e problème va être de remplacer des nids de if par des lectures dans une table

leojean890: ouais C++ c'est bien pour ce genre de sujets^^

Stilgart: beaucoup plus effiace

sanpas83: oui c'est le probleme des classes sa oblige a faire des copies et sa c'est trop

Stilgart: j'ai des classes partout en C++

Stilgart: c'est pas vraiment le soucis

Stilgart: je stocke jamais l'état de ma partie

remi2257: Comment tu n'alloues pas si tu fais N noeuds ?

Stilgart: je fais 1 copie par rollout

sanpas83: a oui oula

leojean890: tu peux remplacer tes classes par des int avec shifts sinon hehehehe

Stilgart: mes noeuds n'ont pas besoin d'avoir l'état de la partie

Stilgart: leojean890: non, c'est le piège ça

Stilgart: c'est pour ça que mon Haskell est pas passé légende

Stilgart: (au moins en partie)

leojean890: (par ex PM de M Smits dans XMAS rush^^)

Stilgart: constexpr int nbTTT = 19683; // 3^9

Stilgart: et 8 tableaux précalculés derrières

Zorg1: m'ouais j'utilise aussi de la base 3, mais je sais pas si j'irais pas plus vite avec du binaire

Stilgart: pas avec des tables

Stilgart: ça change rien, je regarde jamais le contenu de mes ints

Zorg1: ça revient au même en binaire t'utilises aussi des tables

Stilgart: disons que j'ai déjà bien assez de cases inutiles en base 3

Stilgart: ça serait bien en binaire (mais peut-être mieux en terme de localité, donc de cache)

Stilgart: bien pire*

remi2257: Silgart tes allocations au premier tour te permettent d'avoir assez de mémoire tout du long même en base 10 du coup ?

Zorg1: en fait c'est vachement compliqué mon truc avec les tables ^^

Stilgart: constexpr int maxCount = 1 << 25; MCNode mcnodes[maxCount];

Stilgart: 2^25 noeuds, ça laisse de la marge :D

remi2257: :o

remi2257: Attends, je sors ma calculette

remi2257: Je crois que t'es un peu au dessus de mes 15

Stilgart: 32M noeuds

remi2257: :nerd:

Stilgart: 2^20 = 1M :D

Stilgart: et 2^5 = 32

remi2257: Rémi, avec un solide 2⁴4

remi2257: 2^4

remi2257: :p

remi2257: En tous cas, grave intéressant

Stilgart: et mon MCNode fait 20 octets

Stilgart: 640M, juste en dessous de la limite donc

Stilgart: pour info, j'utilise le même arbre tout au long de la partie

remi2257: Du coup, pas de suppression quand tu descends

remi2257: SI JE COMPRENDS BIEN

remi2257: MR LE GOUROU

Stilgart: via le très célèbre thread.detach qui a foutu le bazar à un moment :D

Stilgart: pas de delete

Stilgart: trop cher

Stilgart: pas d'alloc, pas de free

remi2257: Sauf au premier level

remi2257: Putain au premier tour, je pouvais me faire 5 fois plus de noeuds, c'était du grand lux

Stilgart: en fait, ce sont essentiellement des tableaux statiques

remi2257: ^^

Stilgart: donc alloc au chargement du programme

Stilgart: en tout cas, UTTT c'est un bon endroit pour améliorer ses perfs

Stilgart: j'ai été content de repartir de mon code de UTTT au précédent contest

Stilgart: tiens, gg au 8e qui a réussi space maze

sanpas83: vais devoir faire UTTT alors pour m'exercer un peu :)

Zorg1: bon si j'allais regarder le discord

Stilgart: tu nous raconteras ;)

Zorg1: UTTT c'est bien pour s'entraîner au MCTS mais après ça devient la course aux perfs

Stilgart: valable aussi bien pour sanpas83 que pour Zorg1

Zorg1: à propos ?

remi2257: En tous cas merci Stilgart, super intéressant

Stilgart: au moins, tu sais quoi viser maintenant

remi2257: Yes

remi2257: Y'a juste un truc que j'ai pas comprsi

remi2257: Tu m'as dit que t'es noeud n'ont pas besoin de savoir l'état de la partie

Stilgart: après, il faut y aller par étapes

remi2257: En mode, c'est au tour de qui ?

Stilgart: arriver à 3-4k devrait suffire pour passer en ligue or déjà

remi2257: Je suis ligue Or mdr

Stilgart: ha :)

remi2257: Sauf que ça marche avec mes if ^^

sanpas83: oui beh j'ai bien galéré avec le Fall C du coup sa pourrait me permettre de repartir sur du neuf

Stilgart: (elle est si facile la silver ?)

Stilgart: tu avais un autre algo j'imagine ?

Stilgart: "avec mes if ^^" :)

sanpas83: merci pour toute les informations en tout cas :)

remi2257: Stilgart Algo en mode "je regarde un ou 2 coups à l'avance si ça me fait gagner ou perdre"

remi2257: Tu vois, de l'IA

Stilgart: dans les noeuds, j'ai pas besoin de l'état complet, juste d'un lien vers les parents, vers les enfants, du joueur courant, et de l'évaluation courrante du noeud

remi2257: Où c'est le dev qui rajoute des if toutes les games en mode "si dans cette situation, j'avais fait ça, ça passait"

Stilgart: pas besoin de garder la grille

Stilgart: remi2257: c'est raisonnable jusqu'en ligue or en vrai

remi2257: Stilgart : la preuve, j'étais 380 je crois

Stilgart: les ifs comme la profondeur 2-3

remi2257: Mais j'avais honte

remi2257: ^^

Stilgart: mieux vaut une strat simple bien réalisée qu'un algo compliqué codé avec des bugs

Stilgart: Bob il te fait des légendes comme ça :D

remi2257: Mais je comprends pas comment ne pas tout stocker est opti

leojean890: #65 sur RAIC et faut être 60eme pour passer en finale tiens

leojean890: c'est balo

remi2257: Parce que t'es obligé de redescendre tout pour voir les coups joués

leojean890: (et en heuristique cf ce que vient de dire stilgart)

Stilgart: remi2257: parce que stocker = copier = très cher en temps

remi2257: Mais c'est plus worth de redescendre ?

Stilgart: et quand tu regardes l'algo de MCTS, qui est un sorte de DFS, tu vois qu'au final, tu n'as besoin que de l'état courant et rien d'autre

leojean890: parfois de simples if sont pas trop bad

Stilgart: donc tu alloues 1 struct pour ton rollout et c'est parti

leojean890: 1000 lignes de code bien crade

leojean890: s

Stilgart: leojean890: arrête de mater mon code de C4L !!!

Stilgart: :p

sanpas83: leojean890 ma soiré sur C4Life :D

leojean890: mdr ah ton c4l c'est ça aussi ?^^

remi2257: leojean890 et le mien de CSB :o

Stilgart: avec un bon vieux 14-19 de mémoire

leojean890: bof je suis encore silver c4l mdr je m'y remettrai prochainement :P

Zorg1: bon pas grand chose sur Discord si vous voulez savoir

leojean890: légende en heuristique c4l c sympa je pense:)

leojean890: gg

Stilgart: merci pour ton sacrifice Zorg1

leojean890: moi je verrai si mes 1000 lignes crades m'amènent en finale RAIC

leojean890: sachant qu'il me manque actuellement 5 places

leojean890: et que le round 2 est ce weekend

remi2257: Le bon if bien placé

Stilgart: c'est un mix... j'ai quand même une partie recherche pour la pioche de molécules

remi2257: Peut faire la diff :o

leojean890: C4L j'ai des heuristiques nulles

leojean890: donc 200eme silver quoi

leojean890: xD

leojean890: un jour.. je n'aurai plus la flemme^^

leojean890: sinon faire comme agade un minmax^^

Stilgart: if moins de 14 plans, then faire du vert else if moins de 19 plans then faire du jaune else faire du rouge

leojean890: dans ce jeu j'ai un peu la flemme de faire minmax

leojean890: mais on verra

Stilgart: le minimax je sais pas le sortir sur un jeu comme C4L

Stilgart: pas en intégrant les stands

leojean890: pour minmax tu fais un algo qui sort la liste des coups possibles en filtrant quoi^^

leojean890: mais c'est dur de le faire marcher je pense

Stilgart: oui, mais faut l'éval qui va avec

Zorg1: Agade c'est pas un mélange d'heuristique et de minimax d'ailleurs ?

Stilgart: et je sais pas faire ça moi

leojean890: agade il a une éval de ouf

Stilgart: agade c'est un génie des évals par contre

leojean890: cf son PM

Stilgart: mais bon, je vais pas piquer salement son éval :(

leojean890: j'avoue que son éval est vraiment ouf^^

leojean890: il en a sorti une du même genre pour cok

remi2257: Je viens d'aller sur son GitHub, très stylé :o

remi2257: Ultra stylé son eval pour CR

leojean890: c'est le genre à enchainer les top 2/3 en contest comme pb4 ou reCurse^^

leojean890: ça joue dans une autre cour quoi^^

remi2257: Un gros bonnet ^^

reCurse: Je suis sûr qu'il sera ravi de la comparaison

remi2257: Stilgart si t'es toujours là, il y avait un point qui est flou dans ce que j'ai lu : quand tu dis que tu n'as pas besoin de l'état complet pour les noeuds de UTTT, tu veux bien dire qu'il est moins couteux de stocker uniquement le dernier coup joué et de redescendre tous les parents pour connaitre l'état actuel de la grille plutot que de la stocker ?

darkhorse64: Je ne suis pas Stilgart mais je réponds oui sauf si ton état tient en 32 ou 64 bits

darkhorse64: Sinon tu exploses ton budget allocation

remi2257: Ok !

remi2257: Mais en fait, je me dis que tu peux passer ta grille à chaque appel de la création d'une nouvelle node, mais que tu ne la sauvegardes pas puisque quand une node est créée, elle n'a pu besoin de la savoir

remi2257: Je pense que c'est qu'il voulait dire

darkhorse64: Oui, c'est l'idée. Tu as un state courant que tu fais évoluer pendant la sélection puis le rollout

Default avatar.png MatteoR: Bonsoir ! je viens de revenir sur codingame et maintenant il y'a automatique des choses soulignées dans le code, un moyen d'enlever ça ? je trouve pas , merci !

Bon[]Crayon: c'est en python3 ?

Default avatar.png MatteoR: ouaip ! exact pas précisé

Stilgart: tiens, il s'est passé dest passé des trucs pendant que je faisais mon day10

Stilgart: remi2257: quand je redescends, je remets à jour mon état courant oui

Stilgart: mon état fait 24 octets, ça ferait plus que doubler la taille de mon noeud

Stilgart: MatteoR: c'est un bug temporaire

Default avatar.png MatteoR: ahh ok ! merci !

Stilgart: (enfin, vu que ça fait couler de l'encre et du sang sur le forum, j'imagine que CG va fixer la chose)

Stilgart: bon, 20 étoiles, on va s'arrêter là

remi2257: Stilgart: je pense que c'est le terme "état" qui m'a mis le doute, je raisonnais pour l'état de la partie "Fini ou pas"

Stilgart: ha, le score je le stocke bien dans le noeud

remi2257: Yes, score, parent (pour remonter), enfants (pour l'exploration), coup venant d'etre jouer, prochain joueur à jouer

remi2257: Ai-je tout :o ?

Stilgart: enum MCStatus { MCNone, MCData, MCWin, MCDraw, MCLoss };

remi2257: Et ouais, le status en plus :p

Stilgart: et si c'est un MCData, j'ai le nombre de wins/draws/losses à coté

Stilgart: pour pouvoir appliquer la formule d'UCB

remi2257: Ok !

remi2257: Je pensais que tu allouerais ça pour toutes les nodes au début

remi2257: juste que win/lose/draw, ça sera 1, 0, -1

Stilgart: en général, je vois la fin de la partie avec 8 coups (4 à moi, 4 à l'adversaire) d'avances

Stilgart: et je préfères avec le détail, ça permet d'avoir un vrai minimax à la fin de la partie et donc de ne pas perdre bêtement sur une erreur

remi2257: Intéressant

Stilgart: (pour déboguer c'est bien sympa aussi)

remi2257: Le détail ?

remi2257: C'est ton "si c'est un MCData, j'ai le nombre de wins/draws/losses à coté" ?

Stilgart: MCWin c'est plus précis qu'un score classique de MCTS

Stilgart: MCWin c'est victoire garantie

remi2257: Yes

remi2257: Ca je vois

Stilgart: mais pas que sur les feuilles, je remonte les MCWin

remi2257: Mais là, je parle en terme de mémoire ^^

remi2257: Dans le sens, tu m'as dit de tout allouer au début, mais tu n'as alloué que les wins**draws/loses si la node n'est pas terminale ?

Stilgart: à la fin, j'ai des nodes terminaux aussi

Stilgart: ils ont juste 0 fils, c'est la seule différence

remi2257: yes yes

remi2257: Fort bien

remi2257: Et question : ça dure combien de coup une partie typique de UTTT ^^ ?

Stilgart: 50

remi2257: Ca roule

remi2257: En tous cas, merci pour les éclairages

remi2257: Pas facile les histoires de mémoire quand on fait du full Python ^^

remi2257: Bonne soirée à tous, bises à toi cher Automaton2000

Automaton2000: mais là tu as un code qui marche pas ?

Stilgart: Automaton2000: tu es vraiment méchant parfois

Automaton2000: il n'y a pas de classe

Stilgart: Automaton2000: tu disais pas que tu faisais du Java ce matin ? o_O

Automaton2000: je crois pas en avoir besoin

dwarfie: Automaton2000 , on a jamais besoin de java

Automaton2000: on en est pas encore fini

Stilgart: ha ça...

**philRG goes to bed still stuck behind the boss seeing dwarfie

dwarfie: bon ... le code le plus basique de la terre a oware , ca cartonne 30 matchs , 0 defaites en bois 2

Stilgart: p

Stilgart: philRG: c'est quel boss qui te fait des misères (à part Automaton2000) ?

Automaton2000: oui, mais je suis quand même dans le top 5

philRG: oware

dwarfie: non mais serieux ... dire qu'a sa sortie j'avais commencé a coder un vrai truc et c'est ca qui va passer ...

Stilgart: dwarfie: tu dois pas pouvoir faire pire que moi

Stilgart: je comprends même pas mon code

philRG: surtout dites rien

philRG: :-D

Stilgart: c'est une ligne de maximumBy, et un hack à coup de if parce que j'ai vu le boss m'en coller deux de suites sur une situation à la con

dwarfie: alors j'ai fait BIP avec une heurisique de BIP qui joue BIIIIIP

Stilgart: un jour, j'essaierai de comprendre les règles pour écrire une éval :)

philRG: j'ai pas fini mon heuristique, et mon score de joueurs part en live en milieu de partie

Stilgart: mais pendant ce temps, ton 7b n'est pas fait :(

dwarfie: meme pas le 7a

Stilgart: j'ai pas d'heuristique :D

dwarfie: j'ai 2 for et 2 if

Stilgart: le 7a c'est du floodfill :(

leojean890: j'ai un minmax moi :P

leojean890: un des rares oùj'ai pas eu la flemme de sortir C++ en plus xD

Stilgart: j'ai que la partie max :p

dwarfie: 8 points devant le boss et c'est pas fini

leojean890: ah oui eval depth 1 :P

philRG: j'ai les 2 min-max et heuristique enfin 3 avec moi comme boulet

Stilgart: en vrai, je comprends pas trop les règles (j'ai pas trop cherché non plus)

leojean890: j'avoue c'est pas les règles les plus motivantes au début^^

Stilgart: je me demande si c'est pas un bon endroit pour faire un NN par contre

philRG: ah ok... bon vous m'expliquerez un jour

leojean890: j'crois que robostac est en NN si j'ai bien retenu ce qui s'est dit sur le chat à ce sujet:p

philRG: j'ai les règles et stratégies

philRG: http://www.joansala.com/auale/strategy/en/

Stilgart: philRG: nenuit

dwarfie: apres , y'a diverse variantes et c'est pas la plus commune

philRG: Stilgart: night

Stilgart: leojean890: bon à savoir

leojean890: info à vérifier après^^ mais je crois pas que je confonds de multi

dwarfie: bon, maintenant , ca va pas monter bien haut je pense ...

Stilgart: dwarfie: en fait, c'est bien d'avoir choisi une variante obscure... faut juste que je lise vraiment les règles et que je joue quelques parties pour voir comme on joue vraiment

Stilgart: leojean890: c'est crédible, je lui demanderai à l'occas

leojean890: j'ai lu l'article des NN sur csb de pb4 et agade d'ailleurs ça déchire bien :P

Stilgart: ça me motive pas trop le NN sur csb

leojean890: faut être motivé d'y passer bcp de temps par contre;p

Stilgart: parce que je pense pas faire ultimement mieux que ce que j'ai déjà

leojean890: j'pense que si je veux implem leur truc j'en ai pour plus de 100h xD

Stilgart: ça m'avait pas paru aussi démentiel

Zorg1: aprsè sans doute essayé le smithimax sur CSB

leojean890: vu que j'ai pas l'habitude d'utiliser ces méthodes ça me prendrait du tps^^

Stilgart: sachant que pb4 file le jeu de données pour s'entraîner, et les grandes lignes de ce qu'il a fait apprendre à son NN

Stilgart: (ce qui sont les deux points les plus bloquant je pense)

leojean890: sur son article y'a ses données ?

Stilgart: il y a un jeu de données quelque part oui

leojean890: j'ai lu en gros qu'il a fait un MCTS avec un deep Q

leojean890: je connaissais pas le Q learning avant de lire ça

Stilgart: le Q learning c'est encore autre chose

leojean890: faut que je lise les related articles

Stilgart: et ça a la réputation d'être la misère à faire marcher

leojean890: ah^^'

Stilgart: sauf dans le milliers de tutos sur des exemples jouets

leojean890: les cas d'exemples sont souvent donnés indeed

Stilgart: où ça marche jusqu'au moment où tu te rends compte qu'un DFS/BFS faisait pareil en beaucoup plus vite

leojean890: le faire marcher sur un pbm complexe c'est autre chose^^

Stilgart: je suggère de commencer par du Q-learning de base (avec une policy qui tient dans un tableau)

Stilgart: c'est déjà bien coton avec ça

leojean890: je sais tjr pas ce qu'est l'équilibre de nash d'ailleurs, je vais lire ça tiens^^

Stilgart: rajouter le passage de tableau trop gros à NN c'est encore le cran au dessus

Stilgart: (que je n'ai jamais réussi à franchir perso)

leojean890: en tt cas là ils font du double deep q learning^^

Stilgart: double ?

Stilgart: j'ai raté des révolutions moi

Stilgart: il y a 2 ans, c'était du bête NN leurs CSB

leojean890: DDQN :P

leojean890: je vois écrit ça dans son article que j'ai sous les yeux:p

Stilgart: enfin... "bête" ... tout est relatif :D

Stilgart: après, faut voir si c'est pas du marketing aussi

Stilgart: petit pensée pour les articles en "ultimately fast"

dwarfie: bon je vais finir derriere toi Stilgart ... et pas juste derriere on dirait

leojean890: mais en vrai faut que je lise les articles related

Stilgart: et au collègue qui a réussi à en hacker un et qui a sorti un "ultimately faster XXX" pour le troll :D

leojean890: j'ai compris leur pseudo code en gros

leojean890: mais pas forcément comment le tout s'emboite:)

Stilgart: dwarfie: mon if est vraiment ultra magique oui, mais je comprends absolument pas pourquoi

leojean890: if magique qui amène au top^^

Stilgart: ça manque de puzzles pour soigner ses briques de base

dwarfie: arf , et vlan tu me colle une defaite sur la fin ;)

Stilgart: notamment en NN

**Stilgart devrait se sortir les doigts, fix ses connaissances en NN, et en proposer un

leojean890: j'ai pas fait les puzzles avec bases de NN encore;)

leojean890: j'ai vu qu'il y en a

Stilgart: pas vraiment

dwarfie: non vraiment pas vraiment

leojean890: j'avais vu un truc une fois

Stilgart: il y a les deux de playerone, mais c'est plus de l'introduction de vocabulaire et une appli jouet

leojean890: c'est quoi alors ?^^

leojean890: ahok!

leojean890: pas de vraies bases donc;)

Stilgart: le 2, on te suggère d'utiliser le code du 1 en effet

Stilgart: mais ça peut se résoudre mieux avec d'autres approches

Stilgart: et ça reste assez terre à terre ^W^W^W bit à bit

Stilgart: il y avait le tensorflow de CG, mais il a été enlevé

leojean890: alors.. vous allez me coder un GEMM normalisé par un reLu, allez hop xD

**Stilgart n'aime pas relu

leojean890: GEMM operator filtered by a reLu

Stilgart: intuitivement, c'est une connerie

leojean890: je comprends absolument pas quand il faut l'utiliser et surtout, pk faudrait l'utiliser^^

leojean890: mais dans tous les tutos DL que j'ai commencés je vois ça;)

Stilgart: je veux dire, l'intérêt de la fonction d'activation c'est de briser la linéarité... ils ont maté la tronche de relu ???

Stilgart: et dans les tutos ils résolvent des pbs linéaires comme l'addition aussi :D

Stilgart: cf Q-learning qui sait résoudre des pbs de BFS/DFS :p

leojean890: ouais.. tjr pas compris comment faire marcher du DL sur des vrais pbms en attendant moi xD

leojean890: vision etc;)

Stilgart: en écrivant un code Haskell qui génère les 150k combinaisons de codes python et qui les testent en // pour trouver celle qui marche :D

leojean890: yeah xD

leojean890: un méta NN qui optimise les params du premier!!

Stilgart: (sérieusement, 'y ai pensé)

reCurse: En quoi relu ne brise pas la linéarité?

Stilgart: c'est deux morceaux de droite, donc oui tu as un if

Stilgart: mais il y a bien des endroits où c'est pas un problème

Stilgart: si on devait s'arrêter au moindre truc affine par morceau en algèbre, on irait pas bien loin

Stilgart: je suis d'accord pour dire que relu ça marche parce que c'est plus rapide et que donc on peut faire plus d'itérations

Stilgart: mais je trouve pas que ce soit la meilleure approche théorique

reCurse: Ah, soit

Stilgart: en pratique, on fait ce qui marche le mieux (mais c'est une autre histoire)

reCurse: Après c'est comme CG, des fois t'es mieux avec une éval simple si ça te fait chercher davantage

Stilgart: oui, mais ça m'agace de voir tout le monde se jeter sur relu et abandonner l'étude du reste

reCurse: Abandonner l'étude du reste?

reCurse: J'ai dû voir au moins une dizaine de nouvelles fonctions d'activations

Stilgart: après, j'ai une vision biaisée par mes voisins de bureau potentiellement

reCurse: Genre elu et compagnie

reCurse: C'est loin d'être arrêté

leojean890: j'avoue sur CG parfois on s'en sort mieux avec une éval simple;)

Stilgart: mais est-ce que ça dépasse le stade de "j'ai testé ça sur tel problème et ça marche mieux que ça" ?

reCurse: Ah bah si tu condamnes le ML en entier alors :joy:

Stilgart: (note que c'est déjà un travail en soi ce que je décris)

Stilgart: c'est pas condamner, ce qui m'intéresse surtout c'est le fondement théorique, si léger soit-il

Stilgart: et honnêtement, quand je discute avec mes collègues, j'en vois pas beaucoup de la théorie :(

reCurse: Je dois être dans le même camp que tes collègues alors, désolé

reCurse: Je m'en sors mieux avec l'intuition que la théorie perso

Stilgart: j'ai l'impression que 99% de la communauté est dans ce camp très pragmatique

leojean890: "on sait que ça marche mais on ne sait pas pk"^^

Stilgart: sauf que pour ceux qui ont 0 intuition comme moi (en ML), bah le prix a payé semble infini

leojean890: faut mettre les mains dans le cambouis jusqu'à ce que la magie arrive^^

leojean890: tatonner, bidouiller:)

Stilgart: Automaton2000 saura dire tortue avant ça

Automaton2000: mais j'ai pas encore tenté

Stilgart: et bidouiller dans son coin, ça a ses limites vu la jeunesse de l'essor des NN

reCurse: *on a une vague intuition du pourquoi

**Stilgart tombe dans tous les pièges à la con un par un

leojean890: du tuning de magic numbers puissance 1000^^

leojean890: ouais intuitions, basé sur les phénomènes naturels

leojean890: on imite le naturel

Stilgart: reCurse: on commence à voir des hypothèses intéressantes oui, notamment pour la reconnaissances d'images

reCurse: Bah de mon expérience le tuning de magic number ça reste joliment plus obscur sur CG

reCurse: En ML c'est relativement palpable

Stilgart: sur CG c'est plus pas réaliste que obscur

leojean890: sur CG dans certains cas tu les tunes intuitivement et d'utres fois c'est très obscur

Stilgart: pas assez de parties en arènes pour avoir un vrai classement, de toute façon

leojean890: quand t'as 3-4 champs à tuner par ordre de prio

leojean890: VS quand t'en as 10^^

reCurse: Si tu oublies le classement et que tu y vas par batch, mon point demeure

leojean890: par ex CG benchmark

leojean890: tu peux faire plein plein de matchs

Stilgart: oui oui... faudrait que je l'installe, je sais

leojean890: 33 matchs en 1h .. pendant 1 semaine;)

leojean890: eun 100 matchs en 33 min

leojean890: dsl

Stilgart: je préfère ma version... 1000 matches en 10 minutes...

leojean890: en local^^

Stilgart: sauf qu'il faut le referee :D

leojean890: RAC c'est un match toutes les 5 min

leojean890: RAIC*

Stilgart: et que je peux utiliser que mes propres bots :D

leojean890: c'est ingérable sauf en arène locale

leojean890: au risque d'être trop spécialisé

leojean890: voilà, que ses propres bots c'est un peu dmg

Stilgart: bah, j'ai une version de CG patchée de partout qui fait un peu arène locale

leojean890: certains font ça très bien ceci dit

Stilgart: mais comme il n'y a plus de CC, ça sert plus à rien :/

leojean890: ah oui, OOC le grand dernier alors ?

Stilgart: officiellement c'était Coif le dernier, non ?

Stilgart: vu que OoC c'était un heureux accident

leojean890: possible du coup, je l'ai pas fait

Stilgart: UTG c'est sponsored, donc c'est bien coif en effet

Stilgart: n'empêche, ça fera que 3 contests cette année dont 1 bonus

Stilgart: :(

leojean890: apparemment y'en avait bcp plus avant

leojean890: mais avec moins de monde

leojean890: qui participent

Stilgart: bof

Stilgart: il y a eu un essor autour de CotC

leojean890: 5k pour pacman, 7k participants pour FC

Stilgart: et par ailleurs, j'exclus pas le gonflement à cause du confinement

leojean890: 9k SC2021 ?^^

leojean890: oui le confinement je pense que ça joue

leojean890: moins de sorties :P

Stilgart: dans les deux sens du termes

Stilgart: moins de nouveaux jeux/films aussi

leojean890: effectivement

leojean890: t'enlèves les soirées bar, les jeux et films qui sortent, etc

leojean890: enfin les jeux à la rigueur ça peut avancer

Stilgart: bref, un petit optim par an ça serait cool

leojean890: les fims c'est plus dur

**Stilgart regrette d'avoir zappé A*C

leojean890: les boites de jeux peuvent plus télétravailler que les acteurs quoi;)

leojean890: ceci dit au second confinement le secteur artistique avait toutes les autorisations

leojean890: A*C je l'ai fait juste en optim :P

leojean890: j'ai appris le recuit simulé pour 'occasion avec les explications de qq personnes ici

leojean890: mais un contest d'optim ça changerait en effet

leojean890: en 2j

leojean890: sinon faut faire google hashcode

Stilgart: on attend le TGD redux de BlaiseEbuth :D

leojean890: avec tourist le gagnant

Stilgart: bon, time to sleep

Stilgart: bonne nuit aux survivants et aux Automatons

leojean890: gn:)

Zorg1: A*C le premier recuit simulé que j'ai codé ^^

Zorg1: c'est ça qui est bien sur ce site

leojean890: pareil :P

leojean890: selon vos (dont toi) conseils:p