Chat:Fr/2022-02-22
philRG: > le lire ça va pour certains, c'est le comprendre qui est raide en python parfois Oui en fait un peu plus dur en python de comprendre le code de quelqu'un d'autre, à cause des nombreuses formes que le code peut avoir.
nicola: C’est pire en Perl.
philRG: > C’est pire en Perl. Oui faut y être habitué. J'avais déjà codé en Perl pour parser des fichiers Excel à partir de Linux, mais j'utilisais pas de forme avancée
philRG: Mon code des coins ressemble pas mal à celui de vilboub en fait
philRG: En moins optimisé, je dois avoir une ou 2 boucles redondantes
philRG: Je sais pas comment il fait pour lire son code quand il code des multis, sans doute qu'il est plus entraîné que moi, je crois qu'il enseigne l'informatique en spécialité en terminale au lycée de Rueil-Malmaison où je suis allé jouer en championnat de France de tennis il y a 3 semaines
philRG: Ses noms de variables font pas plus de une ou 2 lettres comme Nicola, c'est illisible sur un code de plus de 200-300 lignes
philRG: Il doit être entraîné comme stilgart aux revues de code du coup
philRG: Purée je croyais parler à leojean et j'étais sur #fr
philRG: Désolé la communauté
philRG: Ban /me 😅
**dwarfie slaps philRG around a bit with a large fishbot
dwarfie: tu l'as pas volé ;)
darkhorse64: Le potw est assez simple cette semaine, j'ai commencé par les trucs évidents et ça a suffit
darkhorse64: suffi
darkhorse64: J'ai publié mon code en C++ avec des commentaires pour ceux que ça intéresse
philRG: dwarfie: ma faute 🤒
philRG: darkhorse64: ah ne me tente pas 😉
darkhorse64: ça va, t'es resté assez cohérent et poli, voire même pertinent. Les variables à deux lettres, c'est du code jetable. Tu peux plus te relire 15j après
GroutchKeu: o/
Zorg1: les variables à deux trois lettres c'était un grande spécialité du dév C à une époque ^^
Zorg1: pas forcément la plus lisible
Zorg1: \o tout le monde
Zorg1: o/ Automaton2000
Automaton2000: est-ce que je vais le faire avec un simple espace, mais c'est toujours plus ou moins
philRG: Encore que le code de vilboub utilise des notations de variables assez usuelles en langage mathématique
philRG: Ce qui suffit amplement pour un puzzle.
dbdr: variables de trois lettres? mais c'est deux de trop!
dbdr: alors qu'il y a des millions de noms à une lettre, avec l'unicode...
philRG: Héhé
Zorg1: ça existait pas dans les années 70 ça l'UNICODE
Zorg1: ils ont fait avec ce qu'ils avaient sous la main pour troller
philRG: Vieux croûton
philRG: Oops j'ai rippé
Zorg1: enfin dans certains vieux langages les noms de variables ... étaient limité à 6 caractères en général
Zorg1: philRG : c'est toi qui me dit ça :cry:
philRG: Ah oui en Pascal non?
dbdr: StraumliPerversion tu étais pas américain avant? :D
Zorg1: en fait ça dépend de l'implémentation mais les premières ont du limiter la taille max (enfin le nombre de chars significatifs du nom de la variable)
dbdr: la fin est juste ignorée?
Zorg1: dbdr ah t'es plus hongrois ?
dbdr: pas dangereux du tout
Zorg1: dbdr : oui
dbdr: ah mince, je suis français?
dbdr: ah, ça doit dater d'un contest
Zorg1: oui français de Budapest
dbdr: ou inversement
Zorg1: Budapest en France ?
Zorg1: il y a bien un marseille dans l'oise tu me diras
dbdr: oui, je viens de voir :D
dbdr: https://i.snipboard.io/1dEZwY.jpg
dbdr: et Paris au Texas
dbdr: ça fait expansioniste du coup?
Zorg1: joli
dbdr: et hop!
Zorg1: ha drapeau Ukrainien
philRG: > il y a bien un marseille dans l'oise tu me diras Les Marseillois 😅
Zorg1: Marseille-en-Beauvaisis
Zorg1: comme le nom l'indique c'est à côté de Beauvais
Zorg1: ils se senti obligé de rajouter le nom du pays, ils avaient peur de se planter ^^
dbdr: ?
philRG: Avec les supporters du PSG pas loin, c'était moins risqué
philRG: Comme le pauvre salon de coiffure Zemmour à Nice vandalisé
Zorg1: enfin le "pays" dans le sens "terroir" si tu préfères
dbdr: ah ok ok
**dbdr va refaire un café
Zorg1: Brest en Biélorussie
darkhorse64: dur de faire naviguer leurs sous-marins
Zorg1: ils cherchent encore la mer
Zorg1: la Royale c'est plus fort que toi :p
dbdr: La Hongrie était bien dirigée par un amiral...
Zorg1: ... qui était régent d'un royaume sans roi
Zorg1: ils ont cumulé
dbdr: :D
dbdr: je savais pas ce bout là
darkhorse64: à cause du lac balaton ,
dbdr: Platensee en allemand
dbdr: donc oui c'est une mer
Zorg1: bah après l'épisode communiste juste après la guerre ils avaient rétabli la monarchie en hongrie de mémoire
Zorg1: avec le fameux amiral Horty comme régent
Zorg1: (la première guerre)
philRG: C'était après la bataille des champs catalauniques?
dbdr: Zorg1, si tu dis "la guerre" sans préciser laquelle, ça trahit ton age ;)
Zorg1: la ferme
Zorg1: :p
philRG: 😂
Zorg1: "j'ai très bien connu le général !
Zorg1: -De gaulle ?
Zorg1: - non Bonaparte
dbdr: :D
Zorg1: (enfin je fais le malin mais j'ai découvert y a pas longtemps l'histoire de la Hongrie après la première guerre mondiale)
dbdr: ça fait de toi un >99% ;)
Stilgart: héhé
Stilgart: bonjour à tous et licorne à Automaton2000
Automaton2000: je ne sais pas si je peux le voir dans le top 100 ?
Zorg1: surtout parce qu'on m'avait parlé du coup de l'amiral sans flotte régent d'un royaume sans roi ^^
Zorg1: ça a l'air de plaire ce genre de truc
Stilgart: Automaton2000: on en a déjà parlé, et une licorne ça n'existe pas
Automaton2000: ça a pris du temps
dbdr: tu as entendu l'histoire quand il a déclaré la querre aux USA?
Zorg1: celle ci non ^^
philRG: Mieux vaut vivre sur une île sans pays frontalier
dbdr: en gros on annonce à Roosevelt que Horty lui a déclaré la guerre - Qui est-ce? - L'amiral qui dirige la Hongrie - Quelle est la force de leur flotte?
dbdr: - Aucune
dbdr: - Mais qu'est-ce qu'ils content nous faire alors?
dbdr: c'est sans doute apocryphe
dbdr: comptent :D
philRG: La meilleure défense c'est l'attaque
**philRG va se faire une tisane
Zorg1: ha par contre quand t'as 100% dans un opti t'as pas 50 XP pour puzzle fait :(
Zorg1: bien la peine d'avoir résolu "Bulls and cows 2" :(
Zorg1: mais pas eu besoin de C++ pour aller vite ^^
darkhorse64: oui mais 330
dbdr: tiens, xevixevi m'a attaqué sans succès cette fois-ci :)
dbdr: sur CGFP il m'a bien trollé
yurikhan: Salut tout le monde ! Je dois décoder un script bash pour le boulot et je bug sur une l'expression d'une boucle, quelqu'un serait dispo pour me mettre sur la piste ?
dbdr: essaye toujours
yurikhan: http://chat.codingame.com/pastebin/bbbcd79f-03fb-4a8c-8ec3-c9aa6e5d0f14
dbdr: année mois jouir heure ...
dbdr: :blush:
yurikhan: Je reformule ma question, sur cette variable "AA=${i:12:2}" Que signifie le 12:2 ?
yurikhan: (merci d'avance :) )
dbdr: c'est un substring
dbdr: https://www.cyberciti.biz/faq/how-to-extract-substring-in-bash/
Buk.: o/
philRG: Çà me rappelle des trucs le 12:2
yurikhan: Ahh merci !!! tout devient logique d'un coup :sweat_smile:
philRG: J'utilisais souvent offset -> en prod pour debugger des fichiers d'interfaces buggees
philRG: Dans vi
I_love_CoC: Bonjour à tous
I_love_CoC: Bonjour Automaton2000
Automaton2000: on peut avoir un lien
I_love_CoC: Aucun je suis fils unique Automaton2000
Automaton2000: quand on est passé à la ligue du dessus
philRG: \o Buk.
philRG: \o I_love_CoC
Serge_Billault: je crois que j'ai fait de la merde au puzzle Unary / Chuck Norris
Buk.: \o philRG
philRG: ah ce bon vieux Chuck :-)
Serge_Billault: en fait je pense que le truc donne 100% même aux singes vu ma solution.
Zorg1: darkhorse64 : oui déjà faire passer l'algo de base ^^
darkhorse64: pour B&C ?
Zorg1: ouaip
Zorg1: énumérer toute les solutions et les parcourir et virer celles qui ne matchent pas le résultat
darkhorse64: J'en suis resté là: le filtre brute force
Zorg1: après pas impossible que j'ai un bug qui traine j'ai codé ça à 1 heure du mat ^^
darkhorse64: Ton filtre a des grosses mailles
darkhorse64: :grin:
Zorg1: ma selection de solution était trop déterministe
Zorg1: avec une sélection random ça score mieux
Zorg1: bon après impression que c'est le genre "pusher comme une brute"
Zorg1: 317 le dieu du bon random m'a fait un clin d'oeil
dbdr: il doit y avoir moyen de faire mieux que random ;)
Zorg1: oui ça je sais bien ^^
Zorg1: mais bon je suis au boulot là, rajouter du random ça va encore
dbdr: :D
darkhorse64: oui, je pense que je pêche aussi dans ma sélection de candidats
dbdr: Stilgart fait bonne figure en Haskell
dbdr: à part lui c'est que du rust/c++ dans le top
darkhorse64: J'ai même mis les pragmas pour que ça passe et c'est chaud pour éviter le timeout. D'ailleurs, ça ne marche pas toujours
**Stilgart n'est qu'une simple tortue, surtout
Zorg1: mais tu les gères comment pour avoir besoin de pragma ?
Stilgart: ha... bulls and cows
Zorg1: ah si tu vais des simus de sélection ^^
Zorg1: pas tenté ça encore
Stilgart: c'est la laziness de Haskell qui m'évite le timeout :p
dbdr: à quand bulls and turtles?
Stilgart: unicorns and turtles
dbdr: ^^
Stilgart: Automaton2000 a hâe
Automaton2000: pour l'instant j'ai juste un tableau 2d
Stilgart: +t
darkhorse64: en longueur tu as 3M de possibilités,ça prend du temps à filtrer
darkhorse64: longueur 9
dbdr: on se rapproche...
dbdr: https://www.codingame.com/multiplayer/optimization/travelling-salesman/leaderboard
darkhorse64: straumlipervers, nimp
I_love_CoC: j'ai une question sur le puzzle 'ils sont fous ces romains'
I_love_CoC: mon dernier validateur ne passe pas
I_love_CoC: alors que les test passent tous
I_love_CoC: une idée du pourquoi du fuck?
philRG: I_love_CoC: fais le puzzle et tu verras 😅
I_love_CoC: ^^
I_love_CoC: merci phil
I_love_CoC: je dois avoir une merde quelque part mais je n'arrive pas à mettre la main dessus
I_love_CoC: j'y retournerai aprés le repas^^
I_love_CoC: bon appétit à tout le monde
philRG: Ah je parlais de brain f***. Pour l'autre (chiffres romains), je ne l'ai pas fait encore.
philRG: Bon appétit
Zorg1: 311 Nous somme ici par la volonté du Bon Random et nous n'en sortirons que par la force du Mauvais Random !
Zorg1: t1 ce scroll :(
Zorg1: ah il encore changé de nom le hacker de haut niveau ?
philRG: Kissa?
Zorg1: regarde le haut du classement qu'a envoyé dbdr (bon à la base c'était surtout pour qu'on voit comment qu'il était bon ^^)
dbdr: s/bon/nul/ ;)
dbdr: meme pas top 1
Zorg1: t'es toujours en online ?
dbdr: non non
dbdr: mais solveur maison
Zorg1: ah ça tune
Zorg1: tu fais du bon hardcoding ;-)
baboulaf: Bonjour
ThomPuce: HEllo
baboulaf: Salut ThomPuce
ThomPuce: o/ baboulaf
baboulaf: a tout hasard, est ce que quelqu'un saurai comment virer le [Detaching after vfork from child process ...] de l'output daans les puzzle en c, c++ ... quand on lance un shell ?
dbdr: changer de langage? désolé...
dbdr: je pense que c'est un pb de la platforme
baboulaf: oui, a priori, ça viens de GDB
baboulaf: mais l'objectif, c'était justement d'y arriver sans changer de language :D
Zorg1: ça sent la gruge de golf ça ... :thinking:
baboulaf: lol, meme pas
**Zorg1 lance un débat stérile et se casse en courant
baboulaf: enfin pas de golf :D
Zorg1: :D
baboulaf: succes legend dans des langage dont je ne connais rien :D
Zorg1: seems legit :p
Zorg1: "la triche est dans l'oeil des jaloux"
baboulaf: au final, ça me fait quand meme travailler les language en question :D
I_love_CoC: o/
Zorg1: \o
Stilgart: baboulaf: fix ton language ;)
Stilgart: sinon, il faudrait expliquer à CG que ça sert à rien de lancer les codes C/C++ à travers gdb
baboulaf: oui, j'ai la langue qui fourche a chaque fois à l'écrit :D
Stilgart: mais les débats de Zorg1 sont moins stériles :(
Stilgart: baboulaf: je te rassure, je l'aurais pas vu si tu avais mis un s :D
baboulaf: un s ou ça ?
baboulaf: tu vois ce que j'écris avant que je poste ?
Stilgart: "les language"
baboulaf: lol, je m'étais arrêté au "u" qui trainait :D ça m'as empêché de voir le "s"
Stilgart: pour en revenir au sujet, j'ai fait le même constat... ça arrive parfois sans qu'il y ait une logique très clair... et donc j'ignore joyeusement le message
baboulaf: moi, j'aimerai justement bien l'ignorer... mais CG le considère comme une réponse :D
Stilgart: ha
philRG: Il est pas poli Mr gdb?
Stilgart: j'ai souvenir d'avoir ça dans la zone en bas à gauche de l'ide... mais c'est du "stderr" donc ça n'impacte pas le résultat
Stilgart: c'est sur un puzzle ?
Stilgart: si oui, il faudrait regarder le contenu du runner
philRG: Du coup gdb sert à rien?
Stilgart: si, à déboguer un code
Stilgart: ce qui n'a rien à voir avec l'usage fait par CG
philRG: Oui mais dans l'idée on a pas de prompt
Stilgart: (Gnu DeBugger)
baboulaf: test ça en "c" dans n'importe quel puzzle : https://pastebin.com/L5Pyyn3L
Stilgart: fun fact, que fait ce programme ?
Stilgart: réponse : rien
baboulaf: la réponse de CG c'est : Échec Trouvé : [Detaching after vfork from child process 17]
baboulaf: et pas Trouvé : toto
baboulaf: donc c'est pas sur stderr
Stilgart: c'est le runner qui merde
baboulaf: ça c'est le Tester.sh : https://pastebin.com/igZBGyB2
philRG: C'est peut-être une protection contre les bufferoverfloW?
Stilgart: baboulaf: oui, c'est ça que j'appelle 'runner"
Stilgart: et oui c'est juste n'importe quoi
Stilgart: sinon, tu devrais éviter la fonction "system", qui est un gouffre de sécurité
Stilgart: utilise plutôt execl/execv
baboulaf: meme résultat
baboulaf: j'ai juste fait au plus vite pour te coller un code, je les ai tous testé :D
baboulaf: et meme en capturant le résulta de mes commands le
[Detaching after vfork from child process 17] sort toujours dans stdout
Stilgart: j'ai pas de soucis avec execl sur onboarding (mais je t'accorde que c'est pas super représentatif)
Stilgart: execl il ne détache rien... donc j'en déduit que c'est l'appel à fork avant qiu merdoie
baboulaf: effectivement
baboulaf: merci, je cherche ce genre de piste depuis ce matin :D
Stilgart: je rêve ou W a encore muté ?
dbdr: tu ne rêves pas
dbdr: il a meme déménagé
Stilgart: mais que fait donc la police de #world, tu coup ?
Stilgart: :rolling_eyes:
dbdr: c'est interdit?
Ryny94: Salut
iVax: yo
Ryny94: Avez-vous participé à l'évènement A Coin Guessing Game?
iVax: Non et vous
Ryny94: Je viens de terminer
iVax: C'était cool ?
Ryny94: ça m'a pris toute la journée
iVax: AH
Stilgart: dbdr: il me semble que les modos sur place appliquent le ban pour compte alternatif avec un certain zèle ;)
Zorg1: j'ai l'impression que ça devient assez personalisé le ban ...
Zorg1: bref vivement le discord :p
darkhorse64: ouais, j'ai vu blaise se faire découper il y a qq jours, j'ai eu beau relire le chat à part une innocente blague à deux balles, je n'ai rien vu
philRG: Il m'a expliqué le contexte mais apparemment j'aurais rien compris
philRG: Donc les réseaux sociaux c pas pour les vieux
I_love_CoC: il s'est fait découpé par les modos?
darkhorse64: instaban, oui. Je me demande s'il n'avait pas un peu pourri le bot de Wonto
I_love_CoC: merde mais j'ai encore parler avec lui hier, BlaisEbuth c'est ça?
darkhorse64: Ca va être épique Discord
I_love_CoC: il a du prendre un ban de 24h
Zorg1: crime de lése bot ça pardonne pas
I_love_CoC: t'en penses quoi de la violence envers les bots Automaton2000
Automaton2000: y'a que ça de vrai !
darkhorse64: Blaise ressuscite très vite
Zorg1: y en a qui ont essayé avec Automaton2000 on les a plus jamais revu
I_love_CoC: ça c'est sûr
Automaton2000: moi j'ai toujours mon code de vendredi soir
Stilgart: darkhorse64: les chatbot, c'est fait pour être pourri en même temps
Stilgart: Automaton2000: tu pourrais te fourrer des licornes dans le crâne, soit dit au passage :p
Automaton2000: tu dois pouvoir faire un truc. après tout dépends de si tu les as tous ?
I_love_CoC: tu es de plus en plus pertinent sur tes réponses Automaton2000
Automaton2000: et je suis d'accord avec lui
darkhorse64: C'est très humain comme comportement de gober n'importe quoi, non ?
I_love_CoC: ça dépend^^
I_love_CoC: tu gobes tout Automaton2000?
Automaton2000: après ca dépend des fois
I_love_CoC: je regrette déjà cette phrase^^
I_love_CoC: il est génial
Buk.: effectivement c est un peu nimp ce ban
Stilgart: Automaton2000: tu as pensé à t'inscrire pour le prochain test de turing ?
Automaton2000: je m'y suis pas encore au point
Stilgart: tiens, on trouve de tout sur tech.io...
Stilgart: baboulaf: manifestement, TBali n'a pas de solution à ton problème :(
leojean890: mdr il s'appelle straumliperversion now ^^ et a repris son image précédente, comme quoi^^
Zorg1: noir et blanc comme ta PP leojean890 :thinking: tu serais pas un de ses smurfs par hasard ?
darkhorse64: impossible, ce style à base de mdr et de ^^ ne peut pas être un fake
Zorg1: t'as oublié héhéhé et :p:p:p
Zorg1: pov leojean890 il vient la bouche en coeur et il se fait snipper par les trolls en embuscade :cry:
**darkhorse64 cherche l'emoji :gentil_troll:
Zorg1: ça doit être comme les gremlins si tu les nourris après minuit
Thyl: darkhorse64 toi aussi t'es un déchu ???
darkhorse64: non, pourquoi ? Jamais eu de ban ou de kick ?
darkhorse64: s/?//
Thyl: je croyais que t'étais modo
darkhorse64: non, jamais et ce n'est plus d'actualité
leojean890: Zorg1 mdrr ouais le style à base de ^^ comme si j'avais encore 16 ans tavu
philRG: Que se passe-t-il ? (Sketch des inconnus)
nicola: Tu es dechus ou dechous ?
philRG: Qu'ils déchussent
philRG: Que nous déchussions
philRG: Je déchoierais
Zorg1: philrg est .... CONJUGATOR 2000
Zorg1: t'en penses quoi Automaton2000 ?
Automaton2000: à coté de la plaque ?
Zorg1: :D
leojean890: ofcourse
philRG: Oh sois poli Automaton2000
Automaton2000: parce que la j'ai un truc qui ne marche pas
philRG: Tu marches très bien au contraire Automaton2000 😒
Automaton2000: il se passe quoi ?
devnatiofra: rien
Zorg1: mais de qualité
Stilgart: owi, du drama provoqué par Automaton2000 :D
Automaton2000: ça me donne des idées
Stilgart: :fearful:
Zorg1: Automaton2000 le dramabot
Automaton2000: et c'est quoi une chaine de markov avec les logs de Zorg1
Zorg1: héhéhé
Stilgart: HAHA
philRG: Plus qu'à prendre ma retraite moi tiens 😭
dwarfie: :rofl:
Bon[]Crayon: Bonsoir ::ghost:
Zorg1: o/
Bon[]Crayon: Bonsoir Automaton2000
Automaton2000: j'ai du faire un truc plus intelligent
Bon[]Crayon: \o
Bon[]Crayon: J'ai eu le succès grande sagesse. Prend exemple Automaton2000.
Automaton2000: ben je sais pas pourquoi
Bon[]Crayon: Automaton2000 Parce que je suis un exemple de sagesse.
Zorg1: "plus sage que >99% des professionnels"
Automaton2000: même si je vois un peu le truc
Zorg1: la nouvelle certif
Bon[]Crayon: D’ailleurs c'est grâce à ton like sur le forum.
Zorg1: nice
philRG: j'capte rien du code golf don't panic
philRG: çà a été fait par tout le monde dans tous les langages
philRG: j'suis nouveau moi
Remi.: Salut tout le monde ! philRG il est 21h :P
Zorg1: dans 30 minutes
philRG: menteur
philRG: ooops pas assez rapide
Remi.: Ah ben je sais pas je viens de me connecter ça veut dire qu'il est 21h ^^
Remi.: Bon aujourd'hui c'est distribution de baffe ^^ enfin on m'en distribue lol
Bon[]Crayon: o/
Zorg1: \o
Remi.: o/
Remi.: GG Zorg pour B&C2
Zorg1: yep un joli travail de spam push
darkhorse64: Il va falloir que je m'y recolle; on dirait
Remi.: Et toi darkhorse t'as une vraie technique ou comme nous, tu filtre simplement les combinaisons impossibles ?
darkhorse64: Je le confesse, je bourrine
Alshock: Jean-Jacques bourrin
Bon[]Crayon: Automaton2000 la licorne, la licorne, la licorne :unicorn:
Automaton2000: par ce que j'ai vu passer un peu de temps et de la gestion de la mémoire
Bon[]Crayon: Automaton2000 Tu as vu une licorne GG
Automaton2000: je sais pas comment ils ont fait la remarque
I_love_CoC: bonsoir à tous
I_love_CoC: Bonsoir Automaton2000
Automaton2000: oui il y a 15 ans
Bon[]Crayon: o/
I_love_CoC: aurais tu une nouvelle blague pour moi Auomaton2000 s'il teplait
Stilgart: Automaton2000: bien vu, la licorne a une lettre de plus que la tortue, il va bien falloir allouer un peu plus de mémoire :thumbsup:
Automaton2000: c'est un peu plus clair
I_love_CoC: aurais tu une nouvelle blague pour moi s'il te plait Automaton2000
Automaton2000: bah ce que je me trompe
Remi.: Automaton2000 tu es bien calme ce soir.
Automaton2000: en tout cas, je pense que je ne fais pas les puzzles
Remi.: T'as bien raison, ça sert à rien. Mais en fait tu fais quoi ici Automaton2000 ?
Automaton2000: ou ce genre de souci
Stilgart: Automaton2000: comment ça tu ne fais pas les puzzles ? :@
Automaton2000: ah non j'ai pas de solution miracle
Stilgart: Automaton2000: bah si, git branch magus
Automaton2000: en fait j'ai pas l'impression que ça a changé
Stilgart: (après, c'est vrai qu'il ne fait plus les puzzles...)
Stilgart: (damned, Automaton2000 il suit mieux que moi :/ )
Automaton2000: ben oui mais on peut faire beaucoup de choses
Remi.: Stilgart, ça va ? si tu me permet de déterrer des vieux dossiers, j'ai enfin corrigé ma simulation à search race (et j'ai accessoirement amélioré mon heuristque). Je suis peut-être sur le point de coder ma première IA, mais si je me rappelle bien tu ne suggérais pas l'AG dans ce cas. Tu veux bien me rappeler ce que tu me conseillais comme algo ?
Stilgart: oulah, quel nom j'avais donné à ça moi ?! :D
Stilgart: je l'appelle randomLocalPerturbation dans mon code
Stilgart: ça s'apparente à du stochastic hill climbing
Zorg1: search race je dois avoir un AG là dessus
Stilgart: en français de base : tu pars d'une solution, tu la modifies en ajoutant un petit bruit aléatoire
Stilgart: si c'est meilleur, tu gardes, sinon tu jètes
Stilgart: l'AG ça me parait terriblement inadapté
Remi.: L'AG j'ai cherché et j'ai toujours pas compris ce qu'en un génôme, et en quoi consiste l'échange de gènes.
Remi.: * ce qu'est
Stilgart: c'est ce que tu veux de ce soit
Remi.: Ok donc j'ai bien besoin de mon heuristique
Stilgart: ici, un tableau de 2n cases
Zorg1: oui t'as quelque PM de CSB (enfin MPR) qui donne des exemples
Stilgart: n thrusts et n rotations à effectuer
Stilgart: CSB c'est très différent, tu as *2* pods
Zorg1: oui enfin c'est la simu, le génôme j'ai quasiment la même chose
Stilgart: et du coup je vois comment profiter d'un crossover, donc pourquoi l'AG ça sert
Remi.: J'ai tenté de partir d'un starter CSB et de l'élaguer ... mais j'ai pas réussi.
Stilgart: mais avec un seul pod, je ne vois aucune raison qui ferait qu'un MC soit moins bon qu'un AG
Stilgart: essaie déjà mon approche, c'est bien plus simple (tu n'as qu'une solution courante)
Remi.: Donc en fait à partir de mon heuristique, je simule en modifiant légèrement le point visé et/ou le thrust c'est ça ?
Stilgart: et ça te force déjà à te poser la question de comment représenter cette solution et la pertuber
Stilgart: (ce qui est une des opérations d'un futur AG, d'ailleurs)
Stilgart: moi je stocke (thrust + rotation) x N
Stilgart: donc tableau de taille 2N
Stilgart: maxDepth = 9 (= N)
Zorg1: bon j'arrive pas à relire mon code qui fait évoluer mes solutions ^^
Remi.: L'AG ne sert peut-être à rien, mais Zorg est particulièrement bien classé à ce puzzle ^^
Remi.: Mais je vais commencer par un truc plus simple.
Stilgart: pour être honnête, il faudrait sans doute que je prenne plutôt une taille variable (genre passage du prochain checkpoint + 1 coup)
Zorg1: mais en effet j'ai pas de cross over et je crois avoir essayé à la fois un GA puis un recuit simulé
Zorg1: j'avais pas trop de diff entre les deux
Stilgart: Remi.: l'AG c'est une surcouche à ce que je te propose
Remi.: Ok
Stilgart: mais qui coûte très cher
Zorg1: je fais que évoluer des solutions en //, j'avais même eu un problème de sélection une solution écrasait toutes les autres je me spécialisais trop ^^
Stilgart: si tu as une bonne raison de le faire, why not... mais sinon il vaut mieux se concentrer sur un algo plus simple et faire plus de simus
Remi.: Et dans ton calcul du score d'un essai, tu prends en compte seulement la distance avec le checkpoint suivant ? j'aimerais prendre en compte aussi l'angle d'attaque vers le checkpoint d'après.
Zorg1: en gros ça m'a permis de tuner mon code de CSB
Stilgart: si tu n'as pas du tout de crossover, c'est comme un MC avec restart
Stilgart: sauf que tu fais évoluer tes solutions en // et pas séquentiellement
Stilgart: maxPopSize = 5 (tiens, d'ailleurs c'est ce que je fais :p )
Zorg1: oui c'est plutôt similaire à un SA ou un Hill Climbing avec plusieurs solutions
Remi.: SA c'est ... ?
Stilgart: après, c'est très difficile de décrire précisément les solutions pratiques sur un puzzle donné je trouve
Zorg1: Recuit SImulé
Alshock: Simulated annealing
Stilgart: simulated annealing
Stilgart: le truc que je fais jamais parce que ces histoires de temperatures c'est trop de magic number de l'obscurantisme des enfers pour moi
Zorg1: en fait tu vois les réglages que j'ai fait sur les mutations, ... c'est un peu pareil en fait
Alshock: en gros : essaye des variations aléatoires de ta solution et accepte la modification ou non selon qu'elle est intéressante par rapport à l'ancienne ou que ton indice de chaleur est haut, et l'indice descend avec le temps pour converger vers une solution
Zorg1: tu vois que tant de mutation ça marche mieux qu'un autre nombre
Zorg1: du tuning
Stilgart: mais j'ai des codes qui s'y apparentent, où je relance mon MC si je sens que je suis coincé
Stilgart: Remi.: le seul truc futé d'un SA, c'est que tu peux accepter de dégrader ta solution sur une étape
Zorg1: (j'avais aussi des bugs de random mon bot tournait plus à gauche qu'a droite :D )
Stilgart: ça aide s'il faut deux modifications pour améliorer globalement ta solution, typiquement
Alshock: ton bot a développé des convictions politiques :D
Zorg1: ouaip
Stilgart: on dit tourner en rond de nos jours, non ?
Stilgart: (was: tourner à gauche)
Remi.: C'est un problème de paralléllisme ^^
Alshock: "Zorg1 timed out, their bot is currently on strike"
Stilgart: huhu
dwarfie: :thinking: probleme de parallelisme ... strabisme ?
Remi.: Bon du coup merci pour tous vos conseils :)
Zorg1: parallaxe
Remi.: Salut dwarfie
dwarfie: green lantern
dwarfie: salut
dwarfie: et tortue Automaton2000
Automaton2000: jbm: tu as une idée de combien de temps pour une fois qu'il n'y a que 4 ou 5
dwarfie: Automaton2000 : fais gaffe a qui tu invoques ... ca pourrait marcher :p
Automaton2000: a coté de la plaque ?
dwarfie: Automaton2000 : a peu pres autant que ce que je fais en ce moment sur cg
Automaton2000: il suffit de lancer un test
dwarfie: Automaton2000 : epic fail ...
Automaton2000: o/ à tous et à dwarfie
Remi.: \o Automaton2000
Automaton2000: juste parce que t'as pas mal de gens
Remi.: Bah oui Automaton2000, quand y a pas mal de gens on fait un salut général
Automaton2000: c'est pê un peu overkill
Remi.: Non non c'est bien adapté Automaton2000
Automaton2000: ça aurait pu etre pire
**dwarfie tend un chiantos :candy: a Automaton2000
Automaton2000: dwarfie : non , c'est pas un algo
dwarfie: :rofl:
Remi.: Voilà qu'Automaton2000 veut un algo maintenant.
Automaton2000: en fait je crois que je ferais
Remi.: Et une tortue, Automaton2000 ?
Automaton2000: salut à tous et à Remi.
Remi.: Tu tournes en rond Automaton2000
Automaton2000: c'est quoi ce bug ?
Remi.: Ca vient de ta chaine de markov je crois.
dwarfie: Automaton2000 : si tu geres mal les boucles ... revient aux fondamentaux : goto
Automaton2000: le premier truc que j'ai trouvé un bug
Stilgart: :rofl:
Remi.: goto c'est mal ^^
Stilgart: Automaton2000 qui refuse le chiantos, on aura tout vu
Automaton2000: c'est quoi les nouvelles règles
Stilgart: le goto c'est très bien quand c'est très bien
Stilgart: Automaton2000: c'est dire licorne
Automaton2000: j'imagine qu'il y a plus de gens qui ont eu la bonne idée
Zorg1: je trouve 'jump' plus sportif que 'goto'
Stilgart: Automaton2000: interdiction de faire un longjmp !
Automaton2000: un puzzle de la semaine !
Stilgart: ho mon dieu, qu'ai-je fais !? :fearful:
Stilgart: fait*
Zorg1: pas stress Automaton2000 gère
Automaton2000: mais bon, si ça se trouve ça va être long
Stilgart: on appelle pas ça à long jump pour rien hein, Automaton2000
Automaton2000: arg je ne savais pas
I_love_CoC: tu pourrais te renseigner Automaton2000
Automaton2000: vu qu'il y avait pas mal de truc
Stilgart: Automaton2000: bof, juste un setjmp pour aller avec ton longjmp
Automaton2000: c'est pas un peu de temps
I_love_CoC: tu as les réseaux de neurones qui se touchent je pense Automaton2000
Automaton2000: je suis de retour pour vous jouer un mauvais tour ?
Zorg1: :)
leojean890: Automaton2000 n'est pas de retour car jamais n'est parti..
Automaton2000: ca me parait pas si dur
Zorg1: Automaton2000 parle par métaphore
Automaton2000: et je suis en dessous de la limite des 100ko
leojean890: jamais n'est parti donc jamais ne reviendra hmmm
leojean890: en parlant de markov j'avais pas vu ce new puzzle markov-text-generation
Zorg1: tu vas encore nous énerver Stilgart
leojean890: 86% de réussite tiens
leojean890: de quoi, il va dire que c free xp ?
leojean890: j'ai déjà fait un puzzle créé par magus avec une chaine de markov justement
leojean890: "créez votre autoaton2000"
leojean890: là ça doit être plus simple
leojean890: je vais voir :P
Zorg1: j'avais fait la remarque au début le mec m'a pris de haut avant de reconnaître que j'avais raison
Zorg1: l'impression d'avoir la caricature de jeune dév un peu trop sûr de lui ;-)
leojean890: ah il croyait pas qu'il y avait déjà un puzzle pareil ?
leojean890: c balo ça
leojean890: c facile à vérifier
Zorg1: si mais il disait que ça faisait pas la même chose, c'est dans les comments de la contribution
leojean890: et selon toi c ka même chose ?:P
leojean890: ça en a l'air : "You will build a classic n-gram Markov chain using sample text."
Zorg1: bah non il y a des différences c'est légèrement plus généraliste
Zorg1: pour moi c'était OK son truc mais le gars a cru que je l'accusé de plagiat
leojean890: ah ok^^
leojean890: faut que je relise l'énoncé de l'autre pour voir les diffs
darkhorse64: Je suis sympa. J'ai fait un vrai free xp juste pour vous (en WIP pour le moment)
Zorg1: trop cool ^^
Zorg1: ha ta génération de carte pour le démineur
darkhorse64: Ca va, il fait pas mal à la tête
Zorg1: ah t'as divisé par 65536 pour pas explique >> 16, bien ... :p
darkhorse64: Expliquer le décalage de bits à droite me paraissait incompatible avec garder un statement concis. Déjà, le LCG tout seul, ça a l'air d'être compliqué à comprendre
Stilgart: free reject !
Stilgart: ha, mais c'est le générateur de minesweeper
I_love_CoC: je trouve le puzzle de minesweeper grave chaud, une piste?
Stilgart: abandonner
I_love_CoC: j'ai pensé à attribuer des poids aux cases adjacentes mais je suis pas sur
I_love_CoC: ^^
I_love_CoC: merci stil
Stilgart: enfin, si c'est celui de vilboub non
I_love_CoC: oui celui de vilboub
darkhorse64: pas tout à fait le même algo mais oui.
Stilgart: mais celui de euler ne devrait pas exister
I_love_CoC: ok
I_love_CoC: pk?
Stilgart: parce que c'est le seul puzzle de CG qui est impossible à résoudre 100% du temps
leojean890: très rapide à résoudre à 100% j'avoue markov-text-generation
leojean890: c donc un vrai free-xp
Stilgart: non, faut lire le statement... il est pas free son poisson^Wpuzzle
Zorg1: ce gag
leojean890: wonto ?:P
darkhorse64: D'un autre côté, c'est assez interessant à coder le truc d'euler
leojean890: quand on dit w je pense à es
leojean890: wes
leojean890: pas à wonto
Stilgart: darkhorse64: oui, mais pas dans ce contexte
leojean890: anyway le puzzle de wonto était easy, mais il est classé en easy donc normal
Stilgart: darkhorse64: sinon, rappelle moi de jeter vraiment un coup d'oeil à ton puzzle quand il ne sera plus en WIP
Stilgart: (parce qu'en vrai, l'idée m'a l'air bien)
darkhorse64: j'ai tenté de convaincre euler de faire un optim avec. Tu ne vas pas aimer, c'est vraiment trop simple
leojean890: pas encore vu les puzzles dont vous parlez
Stilgart: I_love_CoC: le puzzle de VilBoub c'est essentiellement de la déduction pure et dure
Stilgart: c'est pas forcément facile d'organiser le code
Stilgart: donc je suggère de prendre n'importe quel test, de le résoudre à la main en notant les étapes, puis de voir comment faire un programme qui reproduit ces étapes
I_love_CoC: Stilgart: ok mais deja qu'en vrai le démineur je suis une queue alors là^^
I_love_CoC: Darkhorse: quelle dif ton puzzle?
Stilgart: justement, VilBoub te garantit que tu n'as que des grilles avec une seule solution
Stilgart: et que tu as toute l'info pour la trouver
I_love_CoC: ok je vais retenter
I_love_CoC: sans me démoraliser^^
Stilgart: c'est le cas "facile" comparé à la version de euler
Stilgart: essaie de résoudre à la main
darkhorse64: mon puzzle génère les grilles
Stilgart: si tu coinces déjà là, dis-toi que c'est juste pas un puzzle pour toi et choisis en un autre
Stilgart: le puzzle de darkhorse64 ne doit pas avoir grand chose à voir en fait
Stilgart: (sauf si on me dit que ça génère que des grilles VilBoub-gentilles)
I_love_CoC: j'ai enfin cramé oxydowe de 3 sec en Coc
I_love_CoC: je vais m'astiquer je reviens^^
I_love_CoC: ok mais j'aime la difficulté Stil il faut que je m'accroche^^
darkhorse64: :smiling_imp:
Stilgart: c'est quand même pas le puzzle le plus simple pour découvrir le backtracking :D
Stilgart: après, j'ai pas dit d'abandonner
leojean890: j'ai tjr pas touché aux divers puzzles de démineur, faudrait
Stilgart: mais si tu coinces, apprends le backtracking ailleurs et revient sur ce puzzle après
VilBoub: de mémoire, y a aucun backtracking dans mon puzzle minesweeper
leojean890: sachant que vilboub disait que l'un d'entre eux est random
Stilgart: VilBoub: j'en ai codé un, mais ça devait être un reflexe
VilBoub: =)
Stilgart: (c'est pas très dur à coder en Haskell)
Stilgart: Maybe + mplus / msum c'est très très agréable
leojean890: c le minesweeper de euler qui est ransom ?
Zorg1: oui
leojean890: random
leojean890: ok
VilBoub: oui, celui d'Euler est radom
leojean890: pas motivant, non ?
leojean890: ^^
Zorg1: un seul validateur, un puzzle random
Stilgart: leojean890: ouais, tant que tu lui envoies pas un chèque, tu peux pas faire 100% sur le minesweeper de euler :D
VilBoub: le mien est garanti 0% random ^^
Zorg1: faut pusher plusieurs fois jusqu'à ce que ça marche
Zorg1: VilBoub : t'as le certificat d'authenticité ? :p
Stilgart: leojean890: je suis là de de rappeler qu'il y a tech.io pour ce genre de choses
leojean890: ah ouais je vois mdr
leojean890: bah je le ferai pas alors^^
leojean890: ptet un jour dans très lgtps:)
leojean890: quel rapport avec tech.io ?:P
I_love_CoC: ce n'est pas ça la commande en python pour savoir si un nombre est premier
I_love_CoC: all(L[i]%j for j in range(2,L[i])
I_love_CoC: le nombre L[i] je veux dire
leojean890: il s'est voulu comique avec ses jeux de tests lui lol https://www.codingame.com/ide/puzzle/fishing-with-a-stick
Zorg1: ah le fameux mister x
Zorg1: un troll qui s'était mis tout le monde à dos
leojean890: il a fait quoi comme trolls :p
leojean890: à part ses jeux de tests chelou mdr
leojean890: il travaille à la CIA hehehe
Zorg1: je ne sais plus trop mais c'était pénible
leojean890: trolls sur le chat ?
leojean890: comme mk
leojean890: mdr
Zorg1: oui
leojean890: genre il te spam en mp
leojean890: how is ur csb man
I_love_CoC: csb?
leojean890: mpr pour les nouveaux xD
Zorg1: ouaip ils ont peur que Disney leur fasse un procés :D
leojean890: c chelou leur peur, je comprends pas car les noms étaient à eux^^
leojean890: parfois avec une inspiration existante
I_love_CoC: desole leo mais mpr je vois mieux$^^
leojean890: t'es arrivé après le renommage
I_love_CoC: je suis arrivé il y a 2 mois environ
I_love_CoC: tu es né quand Automaton2000
Automaton2000: tu le fais pas dire
I_love_CoC: ok^^