Chat:Fr/2020-07-06
BigUP: Je viens de pousser une personne en Gold sur MM ! :) GG me ! ;)
BigUP: Sur un mal-entendu je dois pouvoir en pousser 2/3 de plus
dbdr: gg BigUP
BigUP: et de 2 ! ;)
dbdr: h, j'ai mal lu, tu passes pas?
BigUP: dbdr, oui, je pousse... ;) mais ne passe pas
BigUP: Et de 3 ! ;)
BigUP: cup_of_tea: gg ! :)
dbdr: BigUp pousse mais ne passe pas comme le roseau qui plie mais ne rompt qu'en cas de coup dur
BigUP: J'ai un mauvais winrate contre le boss :(, j'ai tendance a terminer 3eme sur un match contre le boss et le Boss 2eme
Magus: Salut tout le monde et Automaton2000
Automaton2000: et tu peux même pas savoir si tu as besoin de la ligne en trop
BigUP: et de 4 ...
leojean890: mdr courage, change un magic number :P
BigUP: leojean890, non j'ai un vehicule qui doit etre mal géré je pense... mais la j'ai a peu pres le niveau pour passer gold
leojean890: bah moi mon MM est large pire que le tien hehe
BigUP: court passage devant le Boss a 50% ...
leojean890: mais si t'es "juste" parfois juste changer un number fait la diff :P
BigUP: Ca y est Gold ! :) GG me ! ;)
SeebOmega: :beer:
BigUP: 214eme ... Juste derriere Vry, comme d'hab ! ;)
pardouin: o/
pardouin: les puzzles où tu dois vérifier des conditions sur une entrée en 2D et on te donne UN exemple, en 1D
-_-
pardouin: https://www.codingame.com/ide/puzzle/organic-compounds
pardouin: le truc a pas l'air dur en plus, faut juste comprendre la question quoi
dbdr: le testcase 01?
pardouin: oui je crois que je vais print tous les testscases pour mieux piger
pardouin: on dit même pas dans l'énoncé s'il peut y avoir des atomes d'oxygene
pardouin: bon y'a pas de O apparemment, déjà ça simplifie les choses
pardouin: ça coûte quand même rien de dire dans l'énoncé "n + la somme des m adjacents doit être égal à 4"
JBM: et puis se plaindre ca coute quand meme moins que d'aider
pardouin: j'avoue que je râle facilement :)
pardouin: mais je maintiens qu'on n'est pas censé découvrir l'énoncé d'un problème en affichant tous les testscases :p
JBM: et si tu le disais a un endroit ou c'est utile plutot que de te prouver a toi-meme que t'as raison non mais
dbdr: une ligne c'est en 2D (aussi)
pardouin: pinailleurs
pardouin: !
pardouin: tu veux dire laisser un commentaire JBM ?
pardouin: On peut mettre une note mais je sais pas pour les commentaires
pardouin: je vais pas mal le noter, j'ai trouvé ça original et rigolo
pardouin: juste dommage que l'énoncé ne soit pas plus explicite
dbdr: > pinailleur JBM m'a tout appris
dbdr: le callgraph de /bin/true: https://svgshare.com/i/Mf7.svg
dbdr: il a pas de _start?
dbdr: ah c'est peut-etre parce qu'il est strippé
JBM: ou parce que _start n'est pas considere comme une fonction par l'outil qui a genere ca?
dbdr: l'outil je l'ai écrit :)
dbdr: ─➤ objdump -d /bin/true|grep -i start 0000000000401180 <__libc_start_main@plt>:
4013f4: e8 87 fd ff ff callq 401180 <__libc_start_main@plt>
dbdr: non, l'entry point est un peu apres le début de .text
dbdr: mais oui, pour avoir les nom de fonctions c'est pas possible si c'est strippé, si?
JBM: c'est vraiment _start l'entry point ELF?
JBM: pas directement effectivement
dbdr: ╰─➤ readelf -h /bin/true |grep Entry
Entry point address: 0x4013d0
dbdr: non, c'est une addresse arbitraire
dbdr: C utilise _start il me semble, c'est au niveau au-dessus
dbdr: et c'est perdu par strip. enfin c'est ma théorie
JBM: je sais pas dans quel sens tu mets ton "au-dessus" :D
dbdr: au-dessus du format ELF
dbdr: C compile vers ELF, donc c'est au-dessus :)
dbdr: lache toi
dbdr: joli le erf
dbdr: si c'est voulu
dbdr: (notamment)
JBM: c'est voulu mais je pige pas
dbdr: et voila, le maitre a encore pinaillé
JBM: quand vous aussi pinaillerez, vous aurez beaucoup moins de soucis de debug
dbdr: mais c'est formellement vrai que C compile vers ELF. j'ai pas dit *que* vers ELF
dbdr: tout à fait
JBM: oui, ca faisait juste comme une de ces generalites a l'emporte-piece a la m@gus
JBM: ca fait longtemps que j'ai pas mis le nez dans le cambouis sur les internals des formats objet
JBM: d'ailleurs faut que je me mette a rust
dbdr: qu'attends-tu?
JBM: du temps, de la motive, de la dispo
dbdr: https://svgshare.com/i/Mep.svg
dbdr: ça ressemble deja plus à qqch
JBM: comment tu distingues les fonctions des symboles?
dbdr: quel symboles?
JBM: genre _start _init, surement _DYNAMIC aussi
dbdr: mon point de départ c'était ça:
dbdr: http://chat.codingame.com/pastebin/7aa40a2a-d4c4-4392-8144-cfc78d56e0aa
dbdr: trouvé sur SO
dbdr: ce qui est brillant je trouve
dbdr: (j'en avait trouvé un autre super compliqué et qui moulinait pendant une heure)
dbdr: apres j'ai réécrit la logique en python pour faire des choses en plus
dbdr: mais je m'appuie toujours sur objdump pour une bonne partie
JBM: pas le temps de depecer :/
dbdr: en gros tu déassemble avec objdump
JBM: oui donc pas vraiment de fonctions
dbdr: qui annote les appels avec les symboles
dbdr: après je gère les pointeurs de fonctions stockés dans un .data spécial
JBM: bon je decouvre svgshare.com du coup
dbdr: parce que mon exemple utilise ça
dbdr: ça je l'ai fait tout seul :)
dbdr: avec les pointeurs de fonctions, la distinction fonction/data est pas forcément pertinente
dbdr: et en théorie je peux aussi etre intéressé par quelle fonction utilise quelle data
dbdr: oui, je découvre aussi svgshare, c'est bien que ça existe
dbdr: après ya surement du bruit et/ou des trucs qui manquent
dbdr: je ferai ce dont j'ai besoin comme ça vient
JBM: oui, ca doit etre ca la question de base: t'as un besoin?
JBM: amha le pb general [a ecrire] de ce genre d'outil est simplement l'adequation "vue fonctionnelle" du call graph a "vue assembleur" de l'objet
dbdr: CG, comme souvent au départ :)
JBM: les symboles aident bien, mais il y a surement des cas tordus
dbdr: je voulais comprendre ce qui faisait entre certains symboles dans le binaire, pour minimiser la taille
dbdr: là a priori je suis capable de trouver des trucs inutilisés automatiquement
dbdr: les oter je pense que c'est chaud
dbdr: mais si je mets des zeros, ça devrai compresser à presque rien
JBM: avec les outils standard oui
dbdr: ?
JBM: je crois que le linker par defaut cherche zero coupe dans les segments, c'est tout ou rien
JBM: ca m'avait toujours paru un peu leger (notamment avec le comportement par defaut des linkers sous DOS)
dbdr: oui. du coup ya une option pour faire un segment par fonction, je crois :)
dbdr: mais il doit y avoir de la magie pour les appels indirects, non?
JBM: jusqu'a ce que je decouvre [...] voila ca
JBM: et y'a C++ qui pete tout aussi
dbdr: comment?
JBM: mais bon, c++ vient avec son linker propre
JBM: les initialiseurs globaux
JBM: vu de l'ext, le code se comporte differemment suivant que tu linkes ou non un objet
JBM: meme sans appel depuis _main
dbdr: ils doivent bien etre appelés qq part, non?
JBM: ils sont appeles specifiquement par le runtime c++
dbdr: ah OK
JBM: qui doit magouiller un truc pour les detecter
dbdr: c'est du propre :D
JBM: adaptation d'impedance de differents modeles de pensee :D
dbdr: __do_global_dtors_aux
dbdr: des destructeurs en C? :)
JBM: c'est plutot les atexit() and co
dbdr: bizaremment nommé. c'est sans doute partagé avec C++ dans gcc
JBM: enfin c++ doit se brancher dessus evidemment
JBM: mais sa gestiondu cote "lib" doit etre independent (je pense)
dbdr: https://stackoverflow.com/questions/2741417/do-global-dtors-aux-in-c)
Thyl: Yo !
Bob: pika
Bob: amis des gens dont la vie va devenir plus intense, bien le bonjour
Bob: Automaton2000, tortue à toi
Automaton2000: perso je pense que je vais te donner une idée
Bob: vas-y Automaton2000, je t'attends
Automaton2000: salut tout le monde et Bob
Bob: o/ Automaton2000, bisou
Automaton2000: il y a un moyen de savoir si c'est une bonne stratégie
Thyl: Salut !
Thyl: petit question
Bob: yop
Thyl: Dans un Monte Carlo Tree search
Thyl: comment vous faites pour mettre un comportement au joueur adverses?
Thyl: Vous faites une recherche en profondeur
Thyl: ?
dbdr: oui, le Tree ça implique que c'est en profondeur
dbdr: sinon c'est just Monte Carlo
Thyl: Sur mon algo
Thyl: j'ai deux classe
Thyl: Une qui simule un coup
Thyl: Une autre qui évalu mon coup
Thyl: Celle qui simule un coup et un générateur yield
Thyl: pour voir en profondeur avec la boucle for
Thyl: sauf que quand je veux mettre un comportement à l'adversaire
Bob: ben euh un comportement au joueur adverse, faut que tu codes le jeu de son coup à lui
Bob: a priori
Thyl: j'ai peur de tomber sur un truc sans fin du genre
Thyl: :
Bob: idéalement j'imagine que tu mets un dummy qui va jouer un coup plausible sans que ça prenne des plombes à calculer
Thyl: Qu'est-ce qu'un dummy ?
Bob: une pseudo-IA pas très intelligente
Thyl: Ouais mais du coup je prend le risaue de pas allez voir là où il faut...
Neumann: Dans un MCTS tu explores l'arbre des coups alternés
Thyl: Ok !
Bob: ou alors tu peux sans doute même faire durandom vu que c'est du MC
Neumann: Donc les tiens, et les siens
Bob: par essence, tu prends le risque de ne pas aller où il faut
Bob: du coup cest pertinent pour l'adversaire autant que pour toi
Bob: c'est l'évaluation de la position finale qui fera remonter les bonnes branches
Thyl: Je peux vous envoyez le code ?
Bob: oh moi j'y connais rien c'est pas la peine :)
Bob: tout ce que je sais faire c'est des paquets de ifs :D
Thyl: :grinning:
Bob: je comprends les grandes lignes mais c'est tout
Thyl: Par contre je crois que je me suis gouré
Thyl: c'est pas du MTS
Bob: mais tu peux toujours poster le code ici, il se trouvera bien quelques trolls pour te répondre
Thyl: http://chat.codingame.com/pastebin/f71971e4-c2bc-4208-b8ac-4f4a29949be0
Thyl: Bonne chance....;)
Bob: j'ai quand même bricolé un GA dans un coin juste pour voir si je savais encore le faire
Thyl: qu'est ce qu'un GA
Thyl: ???
Bob: algo génétique
Thyl: A ok
Bob: et j'ai fait un genre de bruteforce BFS pour smash the code qui n'avait pas si mal fonctionné
Thyl: Et t'y arrive ?
Bob: oui ça va
Bob: j'en avais fait un il y a 25 ans en école
Thyl: ça fait long...
Bob: Code vs Zombies est un bon puzzle pour se faire la main sur ce genre d'algo parce que tu n'as pas à simuler de coup de l'adversaire
leojean890: ou A*craft :)
Thyl: pas bête...
Thyl: Yo leojean890
leojean890: (les optims)
leojean890: yo:)
Bob: et un AG vraiment simple, même pas optimisé en perf et avec juste le score final en guise d'éval, ça donne déjà d'excellents résultats
Thyl: encore faut-t-il savoir le faire...
leojean890: ouais dans certains jexu ça marche bien :p
leojean890: jeux
Thyl: Si vous connaissez des articles où des vidéos je suis preneur
leojean890: j'ai fait ça avec wikipédia moi :P
Bob: tiens
Bob: https://tech.io/playgrounds/334/genetic-algorithms/history
Thyl: :grinning:
Thyl: Cool merci !
Bob: je suis reparti de ça pour faire mon AG de CvZ
Bob: c'est parfaitement expliqué
Thyl: J'ai trouvé sur youtube
leojean890: dans le PM de Magus sur CSB aussi ;p
Thyl: une video de quelqu'un
Thyl: un exemple hyper simple de problème à résoudre en AG
Thyl: j'y connaissais
Thyl: rien
Thyl: maintenan tj'entrevoie un truc
Thyl: :grinning:
Thyl: Le post Mortem de Magus est juste géniale
Thyl: @Magus
leojean890: CVZ j'ai fait des simus purement aléatoires, pas AG perso :P enfin soit des déplacements aléatoires ou foncer vers un zombie choisi aléatoirement
leojean890: mais manifestement le GA de Bob me défonce vu qu'il est 46eme et moi 233:P
Bob: bon il y a du spam push aussi hein :)
Bob: sur le Rectangle, il a un petit tiers de chances d'échec
Bob: ça m'est arrivé de voir un meilleur score refusé à cause de ça
Thyl: Je viens de penser à un truc pour mon algo
leojean890: rectangle mon prgrm parvient même pas à sauver un humain donc j'utilise autre chose, c'est mon level bête noire ;P
Thyl: je vais faire tour par tour pour la simu
Thyl: un tour adv un tour moi
Thyl: +simple
Thyl: :grinning:
Bob: leojean890: j'ai vaguement hésité à hardcoder une sécurité pour assurer le Rectangle mais en fait j'attache trop peu d'importance à ce puzzle pour que ça en vaille la peine :)
Bob: Thyl : reste qu'il faut toujours bien que tu décides un coup l'autre d'une manière ou d'une autre
leojean890: ah ok, tu veux dire que tu scores bien là dessus ?
leojean890: ah non tu accordes peu d'importance dessus
leojean890: donc c'est pas celui qui t'apporte de super combos
leojean890: peu d'importance à code vs zombies tu veux dire ;)
leojean890: bah moi j'avais un algo simple qui se contente de sauver les humains que j'appliquais partout au début et je l'applique que dans le cas du rectangle now
Thyl: Merci les gars j'ai fait un truc hyper correcte grâce à vous !
Thyl: :grinning:
Bob: gg
Donfreddy: slt
Bob: t nn pls t n's ps d vlls sr tn clvr ?
BigUP: Mouhaha !! MDR ! EDf qui justifie "un vaste plan d'économie" à cause du Corona Virus !!! ;) Ils devraient également dire que si l'EPR ne marche pas et coute 3 fois (4 fois maintenant ?) le prix initial c'est à caus edu Corona également ! ;)
pardouin: sometimes the variable names in the stub are very long, so I usually shorten them - here I'm doing a calendar problem, I see then line: source_day_of_week, source_month, source_day_of_month = input().split()
pardouin: So I replaced with : sodow, sm, sodom = input().split()
pardouin: and then I realized ^^""""
pardouin: mauvais canal !
pardouin: ton problème Bob, ta faute !
leojean890: mdr:P
Thyl: Soir'
MusicalScone_ea99: excusez moi quand vous utilisez une variable de tyep Scanner comme tel, Scannet sc = new Scanner(System.i,) , c la même chose que Scanner in = new Scanner(System.in) ?
pardouin: JBM le spécialiste du Java n'est pas là
pardouin: que dis-je, l'apôtre du Java
257832: C'est une variable, tu la nomme comme tu veux.
MusicalScone_ea99: d'accord merco
Zorg1: o/à tous et à Automaton2000 & AutomatonNN
Automaton2000: je crois qu'il a un bon ratio contre le boss
AutomatonNN: vous avez une idée de comment tu peux faire un truc par langage aussi ?
Bon[]Crayon: Bonsoir
Bon[]Crayon: Bonsoir AutomatonNN
AutomatonNN: Quelqu'un a deja utilisé le puzzle de la communauté de la communauté de codingame ?
Bon[]Crayon: Bonsoir Automaton2000
Automaton2000: je n'ai jamais réussi à faire un truc genre
Bon[]Crayon: AutomatonNN J'ai déjà utilisé le bot du chat du contest :robot:
AutomatonNN: salut Automaton2000
Bon[]Crayon: AutmatonNN :snowman:
Bon[]Crayon: AutomatonNN :snowman:
AutomatonNN: reutilisable en haut de contest c'est pas trop compliqué de faire un truc la plus simple de ton code
Bon[]Crayon: AutomatonNN Mon code du code est complexe.
AutomatonNN: Donc faut que tu me parles de ton code Automaton2000
Zorg1: c'est calme ici
Bon[]Crayon: Trop calme ?
leojean890: trop CALM
leojean890: chips bon crayon ;)
pardouin: o/
Zorg1: \o
pardouin: j'ai commencé Game of Drone vite fait
Zorg1: alors tes impressions ?
leojean890: mdr t'as commencé 1 multi par jour là?;P
leojean890: moi je suis décu de mes portages en C++:P
Zorg1: il try harde pour être #1
leojean890: #1 du site ?:P
leojean890: c tellement chaud à atteindre :P
JBM: C'est qu'une question de gestion des priorités
leojean890: moi pour ça faudrait que je passe de 60k CP à 180k :P mais chaud car les dernières places dans chaque sujet sont hard :P
pardouin: en fait j'ai un classement tout naze à cause des combats de bots
pardouin: alors j'essaye au moins de me positionner sur chacun
leojean890: t'as surtout tryhard COC et golf toi :P
pardouin: déjà ne serait-ce que argent ou or sur chaque truc
Zorg1: déjà passer gold à CSB. ça fait 4000 CP en gros vu le monde sur le multi
leojean890: moi je fais les sujets par ordre d'amusement et en fct de la volonté du moment ;P
pardouin: sinon en parallèle j'essaye de faire tous les entraînements
leojean890: bonne chance pour code royale et BOTG alors ;)
leojean890: ils sont plutôt chauds ;P
pardouin: là j'ai gold csb et tron
leojean890: (entre autres ;))
leojean890: csb -3vel powaa
pardouin: code royale et botg c'est chaud de passer silver ?
leojean890: je trouve, après pour certains ça va :P
leojean890: botg j'ai même pas essayé mais tlm dit ça
Zorg1: BotG c'est un multi compliqué
Zorg1: Code Royal gold ça va
leojean890: code royale j'pense que je manque de motiv aussi et d'idées et pas envie de simu (ce serait chaud !)
leojean890: code royale juste passer silver c'est top 300 / 3000 :P
leojean890: pas inatteignable après :P
pardouin: je vais faire en priorité les trucs avec des règles basiques sans trop de paramètres
pardouin: les commu ont l'air cool mais ça rapport pas de points je pense
pardouin: en tout cas j'avais bien aimé bandas
Zorg1: j'ai une heuristique sur CR qui casse pas les briques mais c'est gold. Ah seulement 170 gold sur CR
leojean890: ça en rapporte moins s'il y a moins de 500 personnes
leojean890: moi je fais ceux que j'aime bien, même si ça rapporte peu ;P
Zorg1: pardouin : évite BotG alors si t'aimes les règles basiques ...
leojean890: CR ouais gros manque d'idées et de mtiv pour ma part
leojean890: c'est mon pire avec MM je dirais niveau proportion rank;P
leojean890: (dans ceux avec + de 1000 personnes)
leojean890: ah crystal rush aussi j'ai du mal tiens :P
leojean890: enfin j'suis silver mais mauvaise proportion rank ;P
leojean890: CR super chaud à simuler mais certains ont de bonnes heuristiques
leojean890: dans les communautaires, y'a vindinium qui rapporte un peu plus de CP, car plus de membres
BigUP: leojean890, MM a été un de mes pires pendant pas mal de temps, mais la finalement je m'en sort pas trop mal
leojean890: ouais tu as dit ça ce matin :P
leojean890: moi je suis genre 300 bronze, 750 total un truc du genre :P
leojean890: je prends pas encore en compte l'huile aussi ;P
BigUP: leojean890, j'avais une gestion assez moisie des vehicules autre que le reaper, la c'est mieux pour le DOOF
leojean890: je me suis pas trop investi disons
BigUP: leojean890, s'il y a de l'huile je regarde si je peux aller ailleur
leojean890: moi j'utilise pas les power des autres que doof
leojean890: pas les grenades par ex
leojean890: ouais s'il y a de l'huile, viser une autre flaque
leojean890: c'est dans ma todo :P
BigUP: leojean890, j'ai fini par simuler les déplacements du Reaper. Gestion de collision avec les vehicules et les zone ( eau, huile, etc...)
leojean890: déjà j'ai fait, s'il y a des positions avec une superposition de flaques j'y vais prioritairement (enfin un compromis entre flaque la plus proche - superposition)
leojean890: car superposition = +2 par tour, mais parfois vautmieux aller au plus proche
BigUP: mais je ne gère pas les rebonds élastics. Le reste au mieux je calcul la position d'apres et puis c'est tout
leojean890: donc des magic numbers..
leojean890: mon destroyer va sur le tanker le plus proche de mon reaper
leojean890: et le doof poser de l'huile vers le reaper le plus éloigné de moi
leojean890: pas de simu perso :p
BigUP: leojean890 ha ? +2 par tour !?? j'ai jamais fait gaffe a ca. moi je réduit le nombre de zone en additionnant le water des zones qui se superposent
Zorg1: j'arrive même pas à piger mon heuristique ...
leojean890: ouais c pas con, mais quand elles se superposent, faut être situé à eur intersection, n'est ce pas ;P
leojean890: genre si 2 zones se croisent mais t'es pas à l'intersection ça apporte que +1 right ?:P
BigUP: leojean890, j'attaque le reaper le plus proche de mon Doof, et priorise les déplacement vers le reaper qui a le plus gros score
leojean890: et ouais comme toi je voulais viser d'autres zones s'il y a de l'huile mais pas fait :P
leojean890: ah ouais je vois
leojean890: pour être #1 :P
leojean890: alors que moi c'était le plus éloigné de mon reaper pour pas le pourrir mais c ptet une bad idea :)
BigUP: leojean890, dans ma simu je change de flaque s'il n'y a pas d'obstacles (detection de collision avec un autre véhicule)
leojean890: ah ouais j'avais fait un check des obstacles mais j'en ai rien fait de top :P
BigUP: d'une manière générale, c'est mon cas principal, le reaper va vers la flaque qu'est dispo sans collision
leojean890: j'avais essayé un truc du genre
leojean890: mais ça marchait mal avec mon implem
leojean890: inplem
BigUP: leojean890, faut simuler completement les déplacements du reaper
leojean890: ouais pour éviter les obstacles
leojean890: qui se trouvent sur sa route même en intermédiaire
leojean890: p'tet j'aurai la motiv pour ça someday :)
BigUP: leojean890, t'as déjà tout avec SR et CSB
leojean890: j'avoue :P
leojean890: bah pour SR je suis parti de la simu de magus et j'ai fait un SA
leojean890: d'ailleurs ça marche mieux quand on augmente la proba de mutation des depths élevées vis à vis des court terme
BigUP: surtout que la les véhicule n'ont quasi pas d'inertie, donc meme si tu te plante sur les arondi et des trucs comme ca, c'est pas une catastrophe
leojean890: j'ai gagné genre 300 pts avec ça
leojean890: cf dbdr : pk vouloir prendre du temps à optimiser les depths faibles alors que tu les as déjà optimisées pendant plusieurs tours avant ;P
Zorg1: je ne simule rien, même pas le reaper
Zorg1: par contre j'ai une fonction d'éval cheloue
leojean890: bah t'as une bonne heuristique :p
Zorg1: m'ouais j'arrive pas à comprendre ce que je voulais faire :thinking:
leojean890: oublié ?:P ça date ?:)
BigUP: Zorg1, j'avais pas une grosse différence entre mon code qui simule et celui qui ne simulait pas, mais ca m'a quand meme aidé
Zorg1: ça doit être mon code de contest avec deux ou trois modifs
BigUP: peut-etre meme, j'aurais juste bien géré mon Doof, j'aurais réussi a passer
Zorg1: bigup : t'as de la chance, à chaque fois que j'embrayais la simu c'était minable
leojean890: et mon portage de oware et othello en c++ pour augmenter la depth du minmax n'ont pas trop porté leurs fruits
leojean890: juste gagné genre 2 de ELO
leojean890: oware je suis passé de 38 à 33 mais en corrigeant un bug
leojean890: je suis voisin de ranking de Zorg1 dans oware;p
Zorg1: super être passé en C++ pour être l'égal d'un bot en lua :p
leojean890: je m'investis + quand c'est un contest j'trouve d'ailleurs, sinon j'ai tendance à switcher tlt de multi :P
leojean890: t'as vu xD
leojean890: mais pareil dans othello;o
Zorg1: othello je sens que je vais rester à mon random avec un vague score
leojean890: j'étais à 27.5 de ELO et je suis à 29.5 en passant de depth 3 à 8 (pas atteinte souvent le 8)
leojean890: le 8 )
leojean890: car je stop quand le temps est écoulé ;P
leojean890: en minmax aussi
Zorg1: t'es en C++ sur othello ?
leojean890: le boss est à 33 de ELO
leojean890: ouais je viens de transcrire
leojean890: j'ai transcrit oware python cpp puis othello
leojean890: et j'vais surement faire pareil pour STC
leojean890: (esperer trouver de bons combos :p)
Zorg1: bah python si tu veux faire bcp de simus ...
purple-cat: Salut la commu, j'ai une question. J'ai jamais touché en multi et je me demandais est ce que les challenges en entrainement sont une bonne préparation pour du multi ?
Zorg1: pas vraiment je dirais
leojean890: bah ouais je suis en python sur STC et il est assez prio à changer (et UTTT)
leojean890: "entrainement" c'est pas le même genre de puzzles que les multis
purple-cat: Vaut mieux donc se lancer directement sur le multi alors ?
leojean890: si c'est ton objectif je dirais oui
Zorg1: bah le mieux c'est encore d'essayer
darkhorse64: Les puzzles de recherche de chemin sont à faire parce cet algo est utile dans pas mal de multis
Zorg1: ah ah le fameux BFS ...
leojean890: ah oui j'avoue:p
leojean890: BFS ça sert dans 1 multi sur 2:)
BigUP: c'est vrai que ca fait +2 par tours lorsque les flaques sont superposées !
purple-cat: Recherche de chemins, du genre Dijkstra ?
Zorg1: plutôt BFS
leojean890: BigUP seulement si t'es à l'intersection, right ?:P
Zorg1: j'en ai codé un à presque tous les multis
darkhorse64: BFS, Floofill, A*, Dijkstra, DFS
leojean890: BFS ouais un multi sur 2 voir +
BigUP: leojean890, oiu, la c'etait le cas
leojean890: BigUP mais du coup si 2 sont superposées mais t'es pas à l'inter ça marche pas j'pense, j'ai fait un calcul pour avoir un pt de l'inter du coup
leojean890: DFS aussi ça peut servir ouais
BigUP: ok
Zorg1: je regarde des replays de MM, je me souvenais plus que c'était vite embouteillé la map
leojean890: A* pour orienter les noeuds parcourus et optimisés ouais
purple-cat: BFS je connaissais pas, c'est tout ce qui est sur les arbres ?
leojean890: optimiser l'ordre*
leojean890: =parcours en largeur
leojean890: DFS=en profondeur
Zorg1: BFS dans le cas où tous les coûts de déplacement sont les mêmes c'est utile pour le plus court chemin
Zorg1: c'est généralement le cas
leojean890: ouais souvent
pardouin: bfs en gros c'est de la propagation
pardouin: c'est un cas particulier de dijkstra où toutes ls aretes sont de poids 1
pardouin: très utilisé sur les grilles du coup, et comme la plupart des jeux sont sur des grilles...
BigUP: je cherche de l'inspiration sur Smash the Code pour scorer correctement mes positions
leojean890: t'as lu l PM de pb4 ?:P
leojean890: le *
BigUP: je ne pense pas, ou bien il y a longtemps
leojean890: il donne quelques idées à ce sujet
leojean890: mais il n'entre pas dans les détails, ça semble chaud à faire bien
BigUP: le systeme de scoring de magus est pas mal
leojean890: j'ai pas lu son PM
BigUP: https://www.codingame.com/forum/t/smash-the-code-feedback-strategy/1512/5
BigUP: en fait, meme dans smash the code, il faut que je fasse un BFS ...
leojean890: ouais pour gérer les blocs qui se détruisent :p
leojean890: un par bloc qui tombe (sauf si c'est la même composante connexe)
BigUP: la ca va etre pour scorer mes positions