Chat:Fr/2020-07-06

From CG community
Revision as of 11:00, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/9962854189979> BigUP: Je viens de pousser une personne en Gold sur MM ! :) GG me ! ;) <img src=/a/9962854189979> BigUP: Sur un mal-entendu je dois pouvoir en pous...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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"

Default avatar.png 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

Default avatar.png 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 ?

Default avatar.png JBM: c'est une possibilite

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

Default avatar.png **JBM est flatte.

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é

Default avatar.png 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 :)

Default avatar.png JBM: alors? :p

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>


Default avatar.png JBM: parce @_start == @.text?

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?

Default avatar.png JBM: c'est vraiment _start l'entry point ELF?

Default avatar.png 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

Default avatar.png JBM: je sais pas dans quel sens tu mets ton "au-dessus" :D

dbdr: au-dessus du format ELF

Default avatar.png JBM: ok

dbdr: C compile vers ELF, donc c'est au-dessus :)

Default avatar.png JBM: erf

Default avatar.png JBM: tu me provoques :p

dbdr: lache toi

dbdr: joli le erf

Default avatar.png JBM: *peut compiler vers*

dbdr: si c'est voulu

Default avatar.png JBM: euh

dbdr: (notamment)

Default avatar.png JBM: c'est voulu mais je pige pas

dbdr: et voila, le maitre a encore pinaillé

Default avatar.png 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

Default avatar.png JBM: oui, ca faisait juste comme une de ces generalites a l'emporte-piece a la m@gus

Default avatar.png JBM: ca fait longtemps que j'ai pas mis le nez dans le cambouis sur les internals des formats objet

Default avatar.png JBM: je suis rouille :(

Default avatar.png JBM: d'ailleurs faut que je me mette a rust

dbdr: qu'attends-tu?

Default avatar.png JBM: du temps, de la motive, de la dispo

dbdr: https://svgshare.com/i/Mep.svg

dbdr: ça ressemble deja plus à qqch

Default avatar.png JBM: comment tu distingues les fonctions des symboles?

dbdr: quel symboles?

Default avatar.png 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

Default avatar.png JBM: pas le temps de depecer :/

dbdr: en gros tu déassemble avec objdump

Default avatar.png JBM: mmm ok

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: oui

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

Default avatar.png JBM: oui, ca doit etre ca la question de base: t'as un besoin?

Default avatar.png 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 :)

Default avatar.png 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

Default avatar.png JBM: avec les outils standard oui

dbdr: ?

Default avatar.png JBM: je crois que le linker par defaut cherche zero coupe dans les segments, c'est tout ou rien

Default avatar.png 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?

Default avatar.png JBM: jusqu'a ce que je decouvre [...] voila ca

Default avatar.png JBM: et y'a C++ qui pete tout aussi

dbdr: comment?

Default avatar.png JBM: mais bon, c++ vient avec son linker propre

Default avatar.png JBM: les initialiseurs globaux

Default avatar.png JBM: vu de l'ext, le code se comporte differemment suivant que tu linkes ou non un objet

Default avatar.png JBM: meme sans appel depuis _main

dbdr: ils doivent bien etre appelés qq part, non?

Default avatar.png JBM: ils sont appeles specifiquement par le runtime c++

dbdr: ah OK

Default avatar.png JBM: qui doit magouiller un truc pour les detecter

dbdr: c'est du propre :D

Default avatar.png JBM: adaptation d'impedance de differents modeles de pensee :D

dbdr: __do_global_dtors_aux

dbdr: des destructeurs en C? :)

Default avatar.png JBM: c'est plutot les atexit() and co

Default avatar.png JBM: les flush

Default avatar.png JBM: etc

dbdr: bizaremment nommé. c'est sans doute partagé avec C++ dans gcc

Default avatar.png JBM: j'en suis pas convaincu

Default avatar.png JBM: enfin c++ doit se brancher dessus evidemment

Default avatar.png JBM: mais sa gestiondu cote "lib" doit etre independent (je pense)

dbdr: https://stackoverflow.com/questions/2741417/do-global-dtors-aux-in-c)

Default avatar.png Loyto: Bonjour

Default avatar.png VociNur: Yo Loyto ^^

Default avatar.png LiteApplication: Hey

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'

Default avatar.png 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) ?

Default avatar.png MusicalScone_ea99: de type*

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.

Default avatar.png 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

Default avatar.png JBM: Très calme

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

Default avatar.png 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 ...

Default avatar.png 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

Default avatar.png 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 !

Default avatar.png purple-cat: Recherche de chemins, du genre Dijkstra ?

Default avatar.png JBM: Du genre

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

Default avatar.png 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