Chat:Fr/2021-07-17

From CG community
Jump to navigation Jump to search

nicola: philRG, tu veux dire, pandas ?

philRG: nicola euh en fait ce serait pour trouver une fonction de répartition, comme il semble qu'il faille optimiser la répartition des cartes lors du choix du deck. Enfin là je suis en wood 2 et je viens de trouver un bug à la con

philRG: donc cap pour la wood 1

philRG: une fois en bronze je vais y réfléchir

Thyl: de base il faut pouvoir jouer contre tout type de draft avec ton draft

Thyl: donc il faut que tu puisses jouer à chaque tour

Thyl: a part si tu choisis de faire ton draft en aggro

Thyl: donc plein de petite créature qui tapent hyper vite

philRG: en fait lors de la phase DRAFT, je prends cette carte:

philRG: best_card = max(draft_board, key=lambda c: c.attack + c.defense)


philRG: draft_board est une liste de 3 cartes qui change à chaque tour de draft

Thyl: faut affiner

Thyl: moi ce que j'ai fzait

Thyl: tu crée une Classe Card

Thyl: avec une belle grosse fonction heuristique

Thyl: qui te permet d'évaluer suivant la carte

philRG: oui pas trop réfléchi pour l'instant mais oui il faut éviter d'avoir trop de grosses cartes pour ne pas perdre de tours de jeu

philRG: bon les objets sont dispos en wood 1

philRG: ça va m'occuper

philRG: ah ça monte bronze

philRG: seulement 62 bots en wood 1

Thyl: va voir du coté MTG ou Hearstone sur les conseils de deck building

philRG: ah ok merci pour le tip

philRG: MTG?

philRG: bon pas le temps de me concentrer sur les objets en wood 1 :(

philRG: ah oui quand même les nouvelles règles de Bronze :scream:

philRG: Trop de nouvelles règles d'un coup à implémenter :-(

Thyl: Magic the Gathering

Thyl: Peut-être essaye Hearstone sur ton téléphone

Thyl: ça peut te donner une très bonne idée

philRG: j'ai déjà joué à hearthstone il y a longtemps donc je connais un peu. J'ai une tablette sinon.

philRG: ah tiens on dirait qu'en bronze, il y a plus de cartes avec mana élévée

philRG: https://www.codingame.com/share-replay/570615174

Default avatar.png Eunrynome: Salut tout le monde, je suis en train d'essayer de passer gold sur Fantastic bits, mon IA me convient sauf sur la recherche du snaffle le plus proche de mon sorcier, quelqu'un aurait un lien sous la main pour comprendre comment on cherche le point le plus proche d'un autre dans un tableau 2D ? Merci !

Thyl: tu connais pythagore ???

Default avatar.png Eunrynome: Heu... j'suis peut être rouillé du coup je vois pas comment l'appliquer :')

dwarfie: :astonished:

Thyl: regarde

Thyl: tu a deux point

Thyl: ton sorcier et ton snaffle

Thyl: tu regardes quel est leur distance sur les x

Thyl: quel est leur distance sur les y

Thyl: bien sur fait attention mais tout à la valeur absolu

Default avatar.png Eunrynome: Oh bordel je viens de comprendre !

dwarfie: on s'en fiche de la valeur absolu ...

Thyl: :)

Default avatar.png Eunrynome: Merci pour le conseil, je me sent con haha

Thyl: oui

Thyl: c'est vrai

Thyl: valeur absolu vu qu'on met au carre après....

Thyl: non dis pas ça

Thyl: ça arrive

philRG: en gros sur FB il faut la combinaison qui minimise la somme des distances à parcourir

philRG: j'avais trouvé un article là-dessus: https://perso.ens-lyon.fr/ruben.staub/vrac/bash_tricks/trick_18.php

Default avatar.png Eunrynome: Ah genre tu crées "Le parcours optimal" pour chopper tous les snaffles ?

Default avatar.png Eunrynome: Je vais check, thanks

KiwiTae: il y a des adversaires qui les bougent c'est pas la bonne approche

philRG: possible j'ai pas eu le temps de poursuivre, mais au niveau mathématique c'est la meilleure solution

philRG: je pense

Default avatar.png Eunrynome: La pour l'instant ma technique est plutôt con, je crée un triangle entre mon wizard et les potos adverses, si je peux mettre un flipendo je tire, je fais pareil pour défendre avec Accio, et entre temps je me balade de snaffles en snaffles pour les lancer vers le but adverse... :x

Default avatar.png Eunrynome: (Je connais pas assez d'algo pour l'instant, du coup j'y vais au pif haha)

philRG: ah c que j'ai même utilisé encore les nouvelles règles en bronze :-)

KiwiTae: Eunrynome tu peux mettre un wizard en defense et un en attaque

philRG: s/même/même pas/

KiwiTae: je suis passéegold comme ca

Default avatar.png Eunrynome: @KiwiTae, j'ai hésité à faire ça, je vais try, c'est vrai que je me retrouve souvent avec des wizards trop agressifs et du coup je prends pas mal de but

philRG: avec les nouvelles règles du coup mon algo les prend pas en compte c sûr

philRG: merci KiwiTae :-)

Default avatar.png Eunrynome: Et tu gère les bludgers ou pour passer gold tu peux les laisser de côté et te dire "pas grave" ?

KiwiTae: ca fait un moment mais les bludgers sont utiles pour se déplacer non?

Default avatar.png Eunrynome: Ils sont assez reloud, ils te repoussent beaucoup pour l'instant j'ai pas trouvé de manière satisfaisante de gérer le truc ça donnait n'importe quoi du coup je les ignores mais je perd pas mal de point a cause de ça :/

KiwiTae: au début je faisais tout pour les eviter, mais au final on peut sen servir pour rebondir

KiwiTae: ca permet de marquer plus vite~

KiwiTae: un peu comme "shield" dans csb

Default avatar.png Eunrynome: Wow la c'est trop dur pour moi pour le moment, je vais me concentrer sur l'opti de mes déplacements et le positionnement de mes sorciers

KiwiTae: hehe bon courage

Default avatar.png Eunrynome: Thanks, merci pour le coup de main, bonne journée les gens !

philRG: hehe :-) faut y aller par étapes. Chaque nouvelle règle et ligue change le problème ;-)

philRG: Eunrynome: oui à mon souvenir, ce sont les bludgers qui me neutralisent pour mon algo de déplacement

philRG: pas quoi l'effet de rebond à la csb hehe

philRG: s/pas quoi/pas con

philRG: pour ça qu'il y a du GA sur FB, j'avais pas fait le lien hehe

Default avatar.png Eunrynome: GA, genetic ?

leojean890: les premiers font des algos génétiques ou autres algos d'optim ouais

philRG: oui sinon je vois pas comment simuler efficacement. Je suis noob en GA

philRG: après faire une fonction de simulation comme sur CSB mais pour FB

philRG: ca me paraît un peu surdimensionné en bronze ceci dit

KiwiTae: bon exercice :p

KiwiTae: https://github.com/SpiritusSancti5/codinGame/blob/master/Referees/Fantastic%20Bits/Referee.java juste copy le referee pour sim

philRG: ah Eunrynome est en Silver sur FB ok


philRG: KiwiTae: merci ça peut aider pour la détection des collisions :-) je me garde sur l'oreille ;-)

philRG: le

KiwiTae: moi je suis sur hypersonic la ~ je construis mon ide tranquillement

philRG: ah en python? pourquoi pas

philRG: j'ai un MC avec numpy mais ça coince en silver, faudrait que je le passe en Beam search car mon BFS fait timeout

philRG: après j'avais récupéré sur github un code utilisant numpy quand j'étais monté en bronze

philRG: pour m'initier à numpy et MC search

philRG: sans numpy, pas de passage en silver en python sur HS

philRG: en MC

philRG: j'ai jamais codé de Beam search jusque là...

philRG: les simulations en python, ça plafonne sur certains sujets

KiwiTae: je fais depth 4 sur code of kutulu en python

KiwiTae: c'est ur que c'est pas le bon langage pour heavy sim counts~

philRG: ah pour code of kutulu passé gold avec une fonction heuristique de 2 lignes trouvée sur un PM (depth 1 :-))

philRG: en général je dépasse pas depth 4 ou 5 en python sauf sur oware où le gameplay est simple

philRG: ça m'a initié à l'heuristique code of kutulu

philRG: sur onitama j'ai bien plafonné sur mon min-max question perfs, mais en grande partie due à des fonctions de déplacement trop coûteuses, ma première simulation en python en fait lol

philRG: on apprend en faisant

3141948: s/depth 1/depth 0/ sur kutulu

leojean890: hypersonic, je suis 330/500 legend avec un bfs depth 3 seulement hein

leojean890: en python

leojean890: en gros si tu es bloqué silver c pas à cause des perfs mais d'un bug ou un souci d'éval ?

leojean890: COK ouais gold même depth 1 ça se fait avec une éval correcte

leojean890: 59eme gold, 108eme total juste depth 1

3141948: Ok merci leojean mon bfs est en draft en fait je me souviens pas terminé

3141948: Il fait timeout mon bfs en fait

3141948: Faudra que je le recode

3141948: Bon pas mon truc car je suis parti sur un code existant pour tester le MC et pas motivé

3141948: Je préfère réfléchir à des stratégies qu'à des algorithmes de résolution

3141948: Ca va en faire tiquer certains lol

leojean890: tu timeout à quelle depth ?

leojean890: moi je pars même pas du referee, juste du statement

leojean890: non ce que t'as pas compris c'est que les premiers font stratégie+ algo de résolution ^^

leojean890: en gros si t'as juste un algo de search ça va pas marcher

leojean890: faut avoir une bonne heuristique avec

leojean890: MCTS => bons élagages

leojean890: BS ou minmax => bonne éval

leojean890: (tu peux aussi avoir des élagages dans un BFS/BS

leojean890: mais ouais si tu préfères tu peux coder des strats direct avec des if

leojean890: certains passent légende ainsi

3141948: Ah Hearthstone a été porté sur Android et iPhone en 2014

dwarfie: leojean890 ... le dieu des evals a 2 ronds qui marchent ;)

3141948: Oui c fort de passer légende avec que des ifs, mais il faut aussi des fonctions d'évaluation de chaque coup costauds pour monter légende.

3141948: Si tu es dieu, tu montes légende direct 😂

dwarfie: ou pas ... j'ai rien de mirobolant a HS ou FB ... et je suis legend

3141948: leojean890: si j'ai compris le principe mais je maîtrise pas encore bien les différents algorithmes

nicola: dans la peau.

nicola: :notes:

3141948: C pas une critique ceci dit, pas encore fluent en algorithmes de recherche

Bon[]Crayon: Salutations :ghost:

Bon[]Crayon: Automaton2000 o/

Automaton2000: ah oui tiens j'avais pas vu

Bon[]Crayon: Automaton2000 C'est toi que j'ai croisé hier ?

Automaton2000: comment ça se passe bien

Zorg1: Automaton2000, tu gères ?

Automaton2000: les regles c'est pour les faibles

Zorg1: :D

Bon[]Crayon: Automaton2000 Première règle, il est interdit de parler de tortue sur ce chat.

Automaton2000: oui t'as pas le même que celui de java

3141948: 🐢

3141948: Zorg1: 🐢

3141948: Automaton2000: 🐢

Automaton2000: je trouve le nom de la classe de b

3141948: Pardon Zorg1

philRG: bon un petit BrutalTester pour tester mes fonctions de sélection de deck Automaton2000 qu'en penses-tu?

Automaton2000: moi je suis plutôt content

philRG: je suis sur la bonne voie :-)

philRG: Merci Automaton2000 :-) tortue

Automaton2000: bah c'est un algo qui marche bien pour les contests c'est pas mal

philRG: :-)

Default avatar.png Flooven: Hello les gens

Default avatar.png Flooven: Y a t'il des puzzle de refactoring sur coding game ? :)

nicola: Quoi-t-est-ce ?

Default avatar.png Flooven: Un bout de code déjà fait que l'on doit améliorer pour qu'il soit plus lisible

nicola: On a l’inverse.

Default avatar.png Flooven: c'set à dire ?

nicola: Un bout de code que tu as déjà et que tu dois rendre le plus court possible.

Default avatar.png Flooven: Oui c'est ça que je cherche

Default avatar.png Flooven: et on trouve ça ou ? ^^' j'ai du mal a rechercher sur le site

nicola: https://www.codingame.com/multiplayer/codegolf

Default avatar.png Flooven: mercey

philRG: ah ouais BT marche pas à tous les coups

nicola: British Telecom ?

nicola: Bite Triste ?

dwarfie: Big Turista ....

philRG: Blue tester

philRG: BrutalTester 100% de win en local mais 10 places gagnées dans l'arène

philRG: c koi ces histoires de couleurs sur les objets sur LoCM

philRG: Il y a trois types d'objets: Un objet vert doit cibler une créature du joueur actif. Il lui confère un effet positif.

philRG: et patati et patata :-D

philRG: heureusement que je me mets pas tout ça dans des listes de dictionnaires de tuples

philRG: ou dans des bitboards

philRG: quoique ça doit se steak hacher

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

Automaton2000: je me souviens plus ce que je pensais

dwarfie: Automaton2000 : a une tortue peut etre ?

Automaton2000: moi il me dit que la réponse était dans le top 10 !

Robinsstudio: La réponse est toujours dans le top 10. Qu'as-tu fait à AutomatonNN ? Ça fait longtemps qu'on ne l'a pas vu. N'est-ce pas Automaton2000 ?

Automaton2000: j'ai du mal a faire la meme chose pour tout le monde a la meme place

b0n5a1: o/

Zorg1: \o

-Cile-: \o/

Remi_avec_un_i: Bonsoir