Chat:Fr/2022-04-11
Stilgart: les bonjours et autres \o ne serait pas code of conduct compliant ? :fearful:
Frankich: Bonjour et o/
Pedrito_B: std::string texte = "Bonjour";
Bon[]Crayon: Salut tout le monde :smiley_cat:
dwarfie: <?=str_rot13("obawbhe yrf traf");
Zorg1: o/ Tout le monde
Zorg1: \o Automaton2000 si t'es revenu
Zorg1: visiblement non :(
GroutchKeu: o/
dostros: Je suis sur The fall episode 1, tous mes test marchent sauf l'avant dernier (labyrinthe), mais j'avoue que je planche depuis un moment sans comprendre pourquoi, si quelqu'un avait une piste ca m'aiderait bien svp
dostros: (pas labyrinthe, passages secrets)
Bon[]Crayon: Relis bien les passages de chaque type de pièces. C'est facile de faire une erreur.
dostros: Bah en fait le type de pièce qui bloque est déja utilisé plusieurs fois avant dans le puzzle depuis la même direction et tout se passe bien mais ca bloque à un moment
Bon[]Crayon: Fais voir le test.
dostros: http://chat.codingame.com/pastebin/bada273c-5b4b-420c-b928-dee306a94b6a
Bon[]Crayon: Tu as une erreur dans la logique de sortie d'un type de pièce.
dostros: ok très bien, je vais voir ca merci beaucoup, je croyais avoir check ca j'ai du louper un truc
b0n5a1: o/
Bon[]Crayon: \o
b0n5a1: [CG]Thibaud c'est normal d'arriver à publier 2 x la même contrib ?!? : https://www.codingame.com/contribute/view/138754d60232905e7775b608a72ea338bae2e + https://www.codingame.com/contribute/view/13876a8135c1f4f93d111377377b4fd15e471
[CG]Thibaud: c'est super bizarre :thinking:
[CG]Thibaud: quoiqu'il en soit, je vais en enlver une
b0n5a1: ça doit pas dater de longtemps je crois qu'il y a une ou deux heure ça y était pas
Bon[]Crayon: :wave_tone2:
[CG]Thibaud: done. Yo
Darleanow: Devin_plombier
Darleanow: oops mb
Stilgart: b0n5a1: je vois pas ce qui t'empêcherait de faire deux contribs avec exactement le même contenu
Ellipsis: salut !
dwarfie: le rexord serais pas a 4 ?
dwarfie: record
b0n5a1: ouais Stilgart j'y ai pensé juste après, c'est juste différencié par l'id
Zorg1: first warning à tous et à toutes o/
Zorg1: salut Automaton2000 si t'es revenu :)
Zorg1: visiblement non :(
Stilgart: comment es ton warning Zorg1 ?
nicola: Il marche, il marche pas, il marche, il marche pas…
Zorg1: j'suis garé comme une merde sur la voie des bus :p
Stilgart: :D
Stilgart: (dommage que Automaton2000 ne soit pas là pour apprendre des maîtres)
Zorg1: bah ils récupérera ça dans le journal si jamais il revient
Remi.: Salut tout le monde
Zorg1: o/
b0n5a1: o/
Remi.: J'ai encore tneté un truc sur MM, qui m'a fait dégringoler
Remi.: Y a des combats de bots où chaque nouvelle idée peut te propulser
Zorg1: bienvenu au club
Remi.: MAis MM, c'est le seul où chaque nouvelle idée peut être la pire connerie à ne pas faire ^^
Zorg1: au moins tu sais quoi éviter ^^
b0n5a1: techniquement t'es propulsé aussi...vers le bas
Remi.: Je suis en train de relancer mon code précédent.
Remi.: Oui b0n5a1 propulsé vers le bas ^^
Zorg1: qui comme par hasard ne remonte pas aussi haut ... :D
Remi.: Oh dans ce cas ça remonte en général bien
Remi.: D'habitude c'est compliqué, mais sur MM j'ai un code qui se place sans trop de soucis entre la 1ère place et la 8ème
Remi.: en bronze.
Remi.: Là je suis 46ème à 75% des combats.
Remi.: Et ça continue de monter
Stilgart: Remi.: fais un moteur
Zorg1: enfin tu peux être gold avec des heuristiques sur MM
Remi.: Je pourrais simuler mais je n'arrive pas à exploiter ma simulation.
Remi.: Si je n'y arrive pas sur Search Race, je ne vois pas comment j'y arriverais sur MM.
Stilgart: Zorg1: et gold avec un moteur qui t'emmène légende à PCR, FB et CSB
Remi.: Avec des adversaire dont il faut imaginer le comportement
Stilgart: le calcul est assez vite fait
Stilgart: sans parler des bénéfices sur SR et BR2048
Remi.: Stilgart moi je fais le calcul que je n'y arrive pas sur SR.
Zorg1: m'ouais j'avais tenté d'adapter mon moteur à MM, bof bof
b0n5a1: Remi. cimmence par une simu avec les adversaires qui font rien
Remi.: Mais quand j'ai une simulation je n'arrive pas à l'exploiter pour bien améliorer le score
Stilgart: go go go gdb Remi.
Remi.: Sur Search Race je suis passé de 16900s à 15150s, et sans adversaire. C'est pas une grosse amélioration.
Elfilado: je suis en train de m'entrainer avant un entretien chez capgemini :nerd:
Stilgart: bah, mon moteur a fait légende en contest à MM
Stilgart: (dans la grosse douleur, mais légende quand même)
Remi.: lol, j'ai dit entre 1er et 8ème, le machin me met 9ème ^^
Remi.: Quand j'y arriverai sur SR, promis je tenterai sur MM
Remi.: o/ Elfilado
Stilgart: fix donc ton SR
Remi.: Bah je ne sais pas comment faire
Stilgart: j'ai atteins mon score sans réel effort
Stilgart: (et avec un moteur Haskell même pas optimisé
Stilgart: )
Remi.: Faudrait que je trouve quelqu'un qui accepterait de regarder mon code pour me dire où est mon erreur, car j'ai beau chercher, y a plein de trucs que je n'explique pas.
Stilgart: fix les bugs de ton moteur
Stilgart: vraiment
Remi.: Le moteur est bon
Stilgart: vérifie
**Stilgart a l'impression de parler à Boulet
Remi.: J'ai affiché les valeurs que je prédisais, puis les valeur du tour d'après, c'est toujour égal
Remi.: C'est le reste que je ne sais pas faire.
Stilgart: spoiler, à la fin il me passe devant parce qu'il fix vraiment ses bugs
Remi.: LE truc que je ne sais pas faire, c'est la partie qui teste différentes valeurs pour choisir la meilleure
Stilgart: pour le reste, il n'y a essentiellement rien à faire
Remi.: Bah c'est dans la partie où il n'y a rien à faire que je ne sais pas le faire correctement
Stilgart: peut-être tuner le magic number profondeur
Remi.: La profondeur j'ai mis 10. Si je mets plus, j'ai de moins bonne performances (un des trucs que je n'explique pas)
Zorg1: en plus bon le moteur de SR ...
Stilgart: Remi.: trop profond => pas assez de simu => aucun chemin décent trouvé
Zorg1: commence avec une profondeur de 3 et augmente progressivement
Remi.: Alors c'est peut-être là que je n'ai pas compris, car mon nombre de simu ne dépend pas de la profondeur
Stilgart: j'ai (que) 9
Stilgart: bah évidemment que si
Zorg1: t'appelles quoi "nombre de simu", c'est bien la simu de tes N tours ?
Stilgart: j'imagine que tu comptes le nombre d'actions que tu peux jouer
Zorg1: avec N= ta profondeur
Stilgart: (qui lui devrait être constant)
Stilgart: mais c'est pas significatif du tout ici
Stilgart: surtout si tu es sur du full MC
Stilgart: auquel cas c'est bien le nombre de rollout qui compte (ie le nombre de chemins testés)
Remi.: J'ai fait comme tu m'avais dit, j'ai une heuristique qui me sort des valeurs correctes (mon 16900), et je fais varier l'angle de -5 à +5 par pas de 1, et le thrust de -100 à +100 par pas de 5. Pour chacune de ces combinaisons, je teste le résultat sur ce tour, puis les 10 tours suivants avec l'heuristque simple.
Remi.: J'ai un score qui dépend des checkpoints franchis et de la distance avec celui d'après
**Stilgart tend plus de random à Remi.
Remi.: Et je choisis le merileur score
Remi.: Du random ?
Remi.: Je risque d'y perdre des valeurs, non ?
Stilgart: tu risques d'y gagner des simus
Remi.: Je crois que je ne comprends pas ce que tu appeles simu
Stilgart: ton but n'est pas de trouver la meilleure perturbation de ta solution moisie
Stilgart: c'est de faire des sauts de puce d'une solution moisie à une moins moisie
Stilgart: apparemment, mon code en prod il prend la série d'action, et il en change une full random
Remi.: Je ne comprends pas le "saut de puce"
Stilgart: https://upload.wikimedia.org/wikipedia/commons/d/d5/Hill_Climbing_with_Simulated_Annealing.gif
Stilgart: regarde comment ça bouge, et constate que le random t'amène bel et bien à l'optimal
Remi.: Je dois changer quoi en fait ? Je te jure Stilgart que je cherche à comprendre, j'aimerias bien pouvoir m'améliorer dans ce domaine mais c'est dur de bien comprednre de quoi on parle
Remi.: Là je vois bien l'image mais je ne compredns pas ce que ça représente. Si on prends des échantillons au hasard, comment c'est possible que ça se rapproche de la bonne tempéraure ?
Stilgart: pars d'une solution, et perturbe un tout petit peu avec du gros random
Stilgart: si c'est moisi, recommence jusqu'à ce que ça ne le soit pas
Stilgart: si c'est pas moisi, tu as ton saut de puce
Remi.: Ok et comment je juge le moisi ? Il faut bien que je joue quelques tours de plus pour voir si à n+10 c'est bon, non ?
Stilgart: moins bon qu'avant, c'est pas mal comment premier critère
Remi.: Parce que si je ne teste pas ça, je vais me rapprocher bêtement du checkpoint, sans prendre en compte l'angle avec le suivant, donc ce sera bien pire que ma solution moisie.
Stilgart: osef
Stilgart: tu mets un tas de tour à passer ton checkpoint
Remi.: osef ? je croyais que le but final était d'améliorer le score ^^
Stilgart: donc tu as le temps de rectifier sur les tours d'après
Stilgart: je dois avoir un coupe (nb de checkpoints franchis, - distance au checkpoint suivant)
Remi.: Ce serait plus pratique si on pouvait s'échanger des schémas parce que là j'ai l'impression qu'on ne parle pas de la même chose.
Remi.: Laisse moi te partager un replay si tu veux bien
Stilgart: c'est pas en améliortant ce que tu fais très localement sur *un* tour que tu vas gagner
Stilgart: c'est en t'assurant que tu cherches suffisamment pour ne pas faire de merde en moyenne
Stilgart: (surtout si tu me dis que tu jètes ce que tu as fait d'un tour sur l'autre...)
Remi.: https://www.codingame.com/replay/618902733
Remi.: Il faut 19 tours pour atteindre le 1er checkpoint, en enchainant ensuite tous les autres d'une traite
UrDaddyWillCarry: est-il possible de creer un clash privé entre amis et de tout de suite pouvoir lancer automatiquement une nouvelle partie sans avoir à créer un nouveau salon
Remi.: Si je me contente d'améliorer en random la distance avec le CP, je vais foncer sur le 1er, puis faire des zig-zags entr les autres, ce sera moins performant, non ?
Remi.: On peut continuer en privé si on surcharge trop le tcaht.
Remi.: Mais j'ai pas envie de mettre fin à la conversation, parce que j'ai vraiment envie de comprendre.
Stilgart: je pense que tu as une mauvaise vision de pourquoi du MC ça marche (et surtout sur MPR)
Stilgart: en gros, MPR c'est tout mou comme jeu
Stilgart: les choses ne bougent pas vite du tout... donc même si tu fais e la grosse merde sur un tour, tes tours suivants peuvent largement compenser
Stilgart: bref ;
Stilgart: 1. n'essaie pas de chercher le coup ultime, c'est peine perdu
Stilgart: 2. fais très simple pour pouvoir simuler beaucoup
Stilgart: 3. utilise le random de manière efficace (peu, mais bien)
b0n5a1: ha non pas en privé, on va s'emmerder ici :D
Stilgart: pour une fois qu'on respecte le code of conduct
Remi.: Ah ben j'au continué en privé car j'avais peur de saouler tout le monde avec mes questions
b0n5a1: pfff...
Remi.: Y a 2 personnes qui ont essayé de discuter, et personne n'a suivi ^^ je ne voulais pas empêcher tout le monde de parler.
Zorg1: tu souleras juste Stilgart en privé ^^ :p
Remi.: Stilgart il a l'habitude lol
Zorg1: j'avais participé mais j'ai l'impression de parler dans le vide avec toi
Zorg1: bref
Sirios: Dommage c'était intéressant
Remi.: Ah pardon Zorg1 je vais relire pour voir ce que j'ai loupé
b0n5a1: ouais et relis bien hein, parce que j'ai aussi participé :D
b0n5a1: on dit tellement de conneries d'habitude que le gars nous filtre inconsciemment :rofl:
b0n5a1: (je sais même plus si j'ai dit qqchose, mais relis bien :D )
b0n5a1: (sinon warning de code of reading)
b0n5a1: bon vas-y Remi. redescend ici y'a rien là haut dans le chat ^^
Zorg1: :D
Zorg1: elle m'a dit de l'attendre en haut sur le chat avec un bouquet d'églantine
b0n5a1: super le cadeau...du poil à gratter
Remi.: mdr
Stilgart: ho bravo
RomanceDawn: automaton2000 ?
Sirios: A quand le challenge de chatbot et le gagnant a le droit de le laisser tourner x temps dans ce chat :p
b0n5a1: et bientôt la hypercholestérolémie et la stéatose hépatique :D
naderben: are u a doctor buddy ?
Zorg1: pourquoi ils causent en anglais d'un seul coup ?
Zorg1: c'est W qui fait le mariole avec un faux compte ?
Zorg1: doctor who ?
Zorg1: o/
Elfilado: bon apperemment on peut passer des entretiens sur ce site
naderben: t en quelle annee de fac ?
naderben: moi j meme pas le bac
naderben: je trouve ça un peu complique surtout les tableau
Elfilado: ca va venir avec l'habitude
Elfilado: mais le C c'est pas le + facile
naderben: le plus facile c python ?
Elfilado: pour commencer oui je dirais
Sirios: Automaton2000?
Sirios: l'arnaque le truc a taco est la mais pas automaton ?
Topinambour: le bot à taco c'est un peu le modo ultime
Topinambour: il est idiot mais on ne peut pas le lui reprocher
Topinambour: ;-)
Sirios: Ba Automaton2000 n'est pas bcp plus intelligent :D
Topinambour: oui mais Automaton2000 va pas d'un seul coup te faire la leçon parce que t'as dit 'merde" et que ça contrevient au code of conduct ;-)
Sirios: Pas faux
Sirios: pour Nintendo si je comprend bien il faut recoder l'algo inverse, c'est bien ça ?
Zorg1: oui faut trouver le truc en fait
Sirios: ok à méditer
Zorg1: j'avais vu le truc, après l'algo c'est un truc perché ^^
Sirios: oui j'imagine
Zorg1: et je l'ai pas fait, pas vraiment envie de le faire en C ou C++
Sirios: est ce qu'il y a réellement un différence de niveau entre les différents validateurs
Sirios: ou une fois qu'un passe on est presque a la sortie?
Sirios: ca c'est du reverse coc :D
UrDaddyWillCarry: salut, en salon privé, comment on crée un salon unique ? Sans avoir à créer un salon à chaque fois que le défi se termine, merci !
Topinambour: "/join toto" ?
Topinambour: après si tu parles des salons de CoC c'est pas CG qui en crée un différent à chaque CoC ?
cxka: :bird:
Zorg1: omg qqn s'est échappé de twitter et est venu se réfugier ici !
Zorg1: doit on le dénoncer ?
Stilgart: demande son avis au bot à taco
Zorg1: Please Stilgart, don't be so rude with the moderator's bot.
Zorg1: https://www.codingame.com/playgrounds/40701/help-center/code-of-conduct
b0n5a1: :rofl:
Zorg1: c'est très con comme running gag mais j'aime bien
b0n5a1: Topinambour y'a pas que le bot qui est idiot sur la modération, il est à l'image du créateur (tiens j'ai déjà vu ça quelquepart :D )
Stilgart: genre Automaton2000 et Magus avec Haskell...
4839565: Trop de sel ici...
Zorg1: elle est de combien ETB maintenant ? :p
b0n5a1: tain c'est une manie de publier les contribs en double ???
b0n5a1: là ça sent plus le bug que la double publi Stilgart ... ou pas
Zorg1: bah on dirait le gars qui resubmite par ce qu'il a l'impression que ça a pas marché en fait
b0n5a1: non mais déjà "make it readable" il y a quelques heures est apparu en double Zorg1, c'est [CG]Thibaud qui a viré un des deux qund je lui ai demandé si c'est normal sur le chat...et là rebelote avec un autre
b0n5a1: mais ça peut être par coincidence une double publi en pensant que ça a pas marché parce que page pas refresh ou un truc comme ça oui
b0n5a1: sérieux...même en français là j'ai dû relire tellement les formulations sont tordues ^^
b0n5a1: je suis à 17 xp du level up
Zorg1: trois upvotes de solution + 2 upvote de com quoi ...
b0n5a1: je vais tenter vite fait un vampire survivors et...dodo ^^
Zorg1: mais t'as rien publié comme solution ?
mapapin: Hello, je me demandais si il était possible de calculer une distance de manhattan entre deux points avec des operateurs binaires. Si oui, est-ce que les opérateurs binaires sont toujours plus rapide qu'une division par exemple ?
arslane: yo la team quelqu'un sait comment finir le unary ?
b0n5a1: Zorg1 si tu cherches en lua ça va être compliqué :D
b0n5a1: une division pour une distance de Manhattan ?!?
mapapin: Non mais par exemple dans certains cas n % 2 = n & 1 non ?
b0n5a1: heu...presque
b0n5a1: :D
b0n5a1: 0 == (n & 1) ... ou 1 == (n & 1) en fonction de si on veut tester pair ou impair
Zorg1: même sur onboarding je te vois pas ^^
b0n5a1: ha mais je publiais pas :D
mapapin: Oui ^^ Mais du coup, j'ai cru voir qu'en asm c'était plus "rapide" de quelques lignes de faire la version operateurs binaires. Est-ce que vous validez ?
Zorg1: oui mais quel rapport avec la distance de manhatan ?
b0n5a1: alors, le prend pas mal mais...avant de délirer sur l'assembleur, faut déjà commencer par faire qqchose qui marche...chercher des optis pour rien juste pour opti même avant de commencer c'est juste...débile ? et plus rapide de quelques lignes ça veut juste rien dire
b0n5a1: d'autant plus que certains compilos en détectant certains trucs vont de toute façon optimiser pour toi surtout sur des trucs types modulo 2 ou division par 2
Zorg1: enfin la distance de manhatan c'est pas un truc "lourd" à calculer
b0n5a1: Zorg1 lua onboarding online, après je dépublie :D
Zorg1: la distance euclidienne qu'il y ait des approximations/astuces, je veux bien
Zorg1: ah t'as mis que lua ?
b0n5a1: atta :D
b0n5a1: bash
Zorg1: hop
Zorg1: te faut encore 5 XP
mapapin: Oui on est d'accord, c'est certainement pas la chose à optimiser en premier dans n'importe quel algo haha. Mais j'avais vu passer une version que je ne comprenais pas et je voulais savoir si ce genre de solution était connue
Zorg1: t'as pas Pascal ?
b0n5a1: js
Zorg1: nice
Zorg1: ce travail d'équipe ^^
b0n5a1: :rofl:
b0n5a1: (merci)
Zorg1: mapapin le truc le plus connu c'est le swap de variable avec des XOR
b0n5a1: c'te popup
Zorg1: ^^
mapapin: Ah ? Je veux bien que tu détailles si tu veux bien :)
b0n5a1: a ^= b; b^=a; a^=b;
mapapin: Et est-ce que le std::swap en c++ fait de cette manière ?
b0n5a1: ça écahnge les 2 sans passer par variable intermédiaire temp
b0n5a1: j'allais dire...y'a swap...cette astuce c'était bien sur microcontroleur surtout
Zorg1: oui, avec le fameux "XOR A" pour mettre l'accumulateur à 0 :D
Zorg1: (pour Z80)
b0n5a1: xor avec toi même pour reset oui
Zorg1: ça ne nous rajeunit pas
b0n5a1: non :D
mapapin: Du coup pas utile sur des langages comme le c++ ?
b0n5a1: voilà onboarding dépubliés ^^
Zorg1: bah les compilos font énormément d'optimisation maintenant mapapin
b0n5a1: bah non, avec la puissance des proc actuels en plus...tu gagnes rien sur un temps d'exec global
mapapin: Ok ok :o
Zorg1: et généralement à vouloir caser ta super astuce tu risques de perdre ailleurs bcp plus que tu gagnes je dirais ^^
b0n5a1: tu t'en fous un peu de gagner 0.1 nanosecondes pour un truc qui s'exécute en quelques millisecondes par exemple..
Zorg1: par contre savoir se débrouiller avec des masques binaires ç peut être utile
mapapin: Oui je me doute, mais actuellement je fais un solver de n-puzzle et je voulais vraiment faire un truc très optimisé. En voyant ce genre d'opérations je me suis dis que c'était peut être une voie à utiliser pour le rendre encore plus performant
mapapin: Ouais masques j'utilises beaucoup pour des flags etc
Zorg1: ah pour du bitboarding
Zorg1: (j'ai l'impression de faire du name droping là :( )
mapapin: Ouais notamment mais pas possible pour n-puzzle si ?
Zorg1: n-puzzle c'est le taquin ?
mapapin: Oui, de côté nxn
b0n5a1: ha je comprend mieux le manhattan, c'est une heuristique pour A* pour le taquin, souvent
mapapin: Pour l'instant avec une simple heuristique je met 1s environ pour un 6x6 mélangé avec 10000 mouvements
mapapin: Yep
mapapin: Mais je sais que ça peut être beaucoup plus rapide et j'essaye de me renseigner sur les techniques possible
b0n5a1: mouarf Zorg1 j'ai la jauge à zéro
b0n5a1: t'as pinaillé :D
b0n5a1: quand tu sors du menu pause dans vampire survivors et que tu te jette dans un paquet de mobs pour te suicider pour finir la partir parce que t'en a marre...et que t'as pris le perso qui peut ressusciter une fois :D
b0n5a1: d'ailleurs ça a coupé la musique d'être longtemps dans "pause" apparemment, y'avait plus que les effets
b0n5a1: bonne nuit