Chat:Fr/2020-05-30

From CG community
Jump to navigation Jump to search

ReborN: Bonjour à tous en ce samedi matin

ReborN: Quand on fait un MCTS en pratique on est sensé descendre tout en bas de l'arbre pour avoir la meilleure estimation de backpropagation si je comprends bien et faire le bon move. J'ai jamais essayé de l'implémenter. En pratique (et surtout sur codingame ou on nous impose des temps d'exec assez courts) vous mettez une depth max pour backpropager j'imagine ?

Neumann: Ca dépend des jeux

ReborN: Je regarde UTTT là Je me dis que je vais pas pouvoir implémenter une depth 80 en début de partie haha

ReborN: Encore moins en python si vous voyez ce que je veux dire :D

Neumann: Ah en Python

Neumann: Oublie le MCTS tout de suite, depth cappée ou pas :D

ReborN: C'est quand même triste :'(

ReborN: C'est du au fait que faut faire un max de simulation et qu'en python on est archi limité par les perfs ?

Neumann: Le python, oui c'est assez triste

ReborN: On en reparlera quand dans 3 ans on fera tous du Django

Neumann: Tu peux faire un MCTS en Python, mais les résultats d'un MCTS ca dépend du nombre de simus que t'arrive à faire, donc ça risque de pas être ouf

ReborN: (C'est une blague)

ReborN: Yes je comprends, c'est dommage car j'ai l'impression que sur UTTT c'est une des seules approches viable..

Neumann: Ca ou minmax, dans les deux cas en Python ca va être compliqué

ReborN: Minimax tu l'implémentes en sélectionnant les k best move avec une fonction d'éval plutot que de lancer le minimax avec toutes les actions possibles j'imagine ?

Neumann: Non, toutes les actions possibles

Neumann: C'est pas un minmax sinon

ReborN: Maiiiis, au début t'as ~80 actions par joueur non ?

Neumann: Tu peux pruner avec AlphaBeta derrière, mais tu ignores aucun coup dans un premier temps

Neumann: Oui y'a parfois beaucoup de coups

ReborN: Intéressant

ReborN: Je pensais pas qu'un minimax pouvait tourner en un temps potable avec un nombre de coup pareil

ReborN: Je vais aller faire des puzzle en c++

ReborN: Ça va plus là

ReborN: J'ai l'impression d'être le clown de la bande avec mon python

Neumann: Hey, Python c'est viable dans plein de multis

Neumann: Juste pas UTTT :D

Neumann: Enfin pas UTTT si tu veux aller dans le top 100

ReborN: En soit je m'en fiche d'aller dans le top 100 ou non mais je trouve ça nul d'implémenter un truc nul même sur le papier par soucis de facilité

ReborN: L'objectif c'est aussi d'apprendre des outils

Neumann: Bah dans ce cas tu peux faire un MCTS en Python, t'auras appris comment faire

Neumann: Faut pas s'attendre à des miracles par contre

ReborN: Je vais vraiment essayer de me mettre à C++

ReborN: Ça sera pas perdu

Neumann: Ou en Java, un entre-deux

ReborN: Java je maitrise à peu près

ReborN: C'est vrai

ReborN: Je prenais du plaisir à coder sans accolade !

ReborN: :nerd:

dbdr: ReborN: essaye clojure, ya pas d'accolades ;)

ReborN: Qu'est ce que c'est que cette bête là encore

dbdr: un lisp sur la jvm

ReborN: Je jetterai un coup d'oeil

ReborN: Ce qu'il manque à Java c'est un type any :nerd:

Magus: kotlin c'est du java mais y'a moins d'accolades

dbdr: ReborN: any en Java se dit Object

ReborN: Ah oui c'est vrai qu'on a ça :D

ReborN: Je m'y résudrai pas ahah

leojean890: ReborN parfois t'as des gens très bien classés en python mais si t'as besoin de perfs pour ce que tu fais il peut être avisé d'apprendre à utiliser numpy!

leojean890: et rien n'oblige à faire un minmax théorique qui simule tout, tu peux élaguer (alpha béta, zobrisk hashing, et élagages maison) !

leojean890: mais si tu regardes les top 200 des leaderboards de chaque multi, tu aperçois que UTTT est le multi dans lequel il y a le plus difficilement des python dans le top, ensuite viennent STC et HS

leojean890: (idem js)

Magus: mais pourquoi t'aurais besoin d'un any en java en fait ?

Magus: je comprend pas trop

Default avatar.png ams12456789: Bonjour tout le monde ! J'aimerais m'entraîner sur des requêtes SQL mais je ne trouve pas d'excércices , est-ce qu'il y en a sur le site ?

Zorg1: non

Zorg1: mais t'as des exos SQL sur hackerrank même s'ils sont vite répétitif

Default avatar.png ams12456789: oui j'ai vu ça, je vais voir si c'est ça rejoins ce que je veux faire, merci !

Default avatar.png ams12456789: Je pensais que tu parlais d'une section dans codingame mais en fait non et j'ai trouvé exactement ce qu'il me fallait je te remercie @Zorg1 !

Zorg1: non je te parlais d'un site concurent en fait ;-)

Default avatar.png ams12456789: oui, je ne le connaissais pas, c'est exactement ce que je recherchais, merci encore :blush:

ReborN: Quelqu'un dispo pour que je lui PM une question de java vraiment ridicule ?

ReborN: Svp :innocent:

Neumann: y

Talchane: Vas-y ReborN ^^

ReborN: Merci Talchane, Neumann m'a apporté son aide thx :)

Talchane: Très bien, bonne journée ;)

ReborN: Et bien bonne journée à toi aussi l'ami !

Talchane: En fait, comment on fait pour level up sur ce site ?

Zorg1: on résoud des puzzles, on gravit des ligues dans les multis

Talchane: Ils sont où les puzzles ?

Zorg1: onglet entraînement

Talchane: Honnetement, je fais que des clash of code donc...

Talchane: Il fau combien d'xp environ pour level up ?

Talchane: faut*

Zorg1: c'est exponentiel, la formule est décrite dans l'aide attaché à l'affichage du niveau

Talchane: Ok merci beaucoup

Zorg1: en gros faut gagner des XP

Talchane: Bonne journée à toi

Zorg1: bonne journée a+

ReborN: Faire que des CoC en C++ faut quand même tre motivé

ReborN: Enfin pour le coup c'est certainement pas le langage qui s'y prête le plus :)

Thyl: Salut !

ReborN: Coucou

Thyl: Est-ce que qu'elqu'un pourrait m'envoyer le code de base en python pour le spring challenge?

Thyl: J'ai eu un problème

ReborN: Tu peux utiliser la fleche de refresh en haut à droite de l'ide pour le récuperer

Thyl: Merci !

ReborN: Pas de soucis :)

Daher: he guys, anyone know how to compet with only java coders in CoC

ReborN: Can't

ReborN: But you're in the wrong channel

ReborN: Here is the french one

ReborN: Switch to "Word" at the top

WhatTrickeryIsThis: https://www.youtube.com/watch?v=8IDaTNPRzAU

ReborN: :D

Zorg1: en plus CG avait organisé des concours de CoC dans un langage donné (C++, Java, Python). Mais je ne sais pas si ils vont le refaire

Magus: je crois qu'ils étaient content des sessions CoC qu'ils avaient fait (j'ai oublié le nom ... clash of war ? un truc de ce genre)

Magus: ils ont feront sans doute d'autres

Magus: non attends clash of wars c'est un jeu mobile ça lol

AdrienA: Clash of Code ?

Bon[]Crayon: War of code ?

leojean890: pas d'xp avec les optim ? juste des CP j'imagine ?

leojean890: j'avoue mon lvl 17 est qu'à base de multis vu que j'ai pas fait de puzzles encore

leojean890: je ne sais pas pk ils ont voulu faire 2 échelles d'évolution dans CG.. les XP et les CP, tout aurait pu être fusionné ;P

Neumann: Ca l'était à la base

Neumann: Ca a été split ensuite

leojean890: ah d'accord, mais pk avoir voulu splitter ?

Neumann: Pour que les CP ne soient liés qu'aux activités dites "PvP"

Neumann: Y'a pas de notion de compétition dans un puzzle solo

leojean890: ah oui d'accord

leojean890: donc xp => l'accomplissement

leojean890: CP => battre les autres ;p

Neumann: On peut voir ça comme ça oui

leojean890: mais pas d'xp en optims même si on fait 100%

Neumann: Nope

leojean890: ça pourrait :P vu qu'il y en a pour les ligues :)

leojean890: mais bon :p

Zorg1: pourquoi tu veux des XP pour avoir hardcodé A*ccraft ? :p

leojean890: non je voulais dire pour les 100% ça pourrait se tenir :P j'avais déjà 100% sans Hardcoder mais moins de CP :P

Default avatar.png JBM: chouette data sur les identifiants les plus utilises en haskell https://twitter.com/phadej/status/1266717489179869184

Default avatar.png JBM: y'a l'operateur fetiche de YannT en top 10!

leojean890: bon je commence mon SA par une heuristique : la première simu contient 1 fleche devant chaque robot s'il n'y en a pas préalablement et elle ne doit pas directement pointer sur un trou :P

leojean890: jamais utilisé haskell perso :p

Default avatar.png JBM: :p

Zorg1: <:p> plutôt

Default avatar.png JBM: c'est pas un (seul) identifiant syntaxiquement valide :/

Talchane: Woow je viens de ganger 2 niveaux d'un coup :D

Zorg1: fix ton Haskell

Alshock: coucou à tous <3 Coucou Automaton2000 et AutomatonNN

Automaton2000: le referee en local et sur cg

AutomatonNN: ds tout

Zorg1: o/

Alshock: \o

leojean890: Neumann dbdr Zorg1 pour le SA vous utilisez vraiment une seuil choisi aléatoirement entre 0 et 1 pour accepter une nouvelle simulation obtenue par mutations depuis la précédente?

leojean890: ça semble bizarre l'aléatoire entre 0 et 1

leojean890: if exp (score2 - score 1 / T) > seuil alors accepter la simu

leojean890: sinon rester sur la précédente

Zorg1: bas si score2>score1 t'accepte

leojean890: ah ouais

Zorg1: sinon exp te donne un nombre < 1

leojean890: mais je veux dire pour accepter un seuil un peu petit

dbdr: ça dépend si tu maximises ou minimises ;)

leojean890: score plus petit

leojean890: pour explorer

Zorg1: et ce nombre est de plus en plus petit quand le delta augmente et que la temperature est basse

leojean890: oui

dbdr: la fameuse erreur de signe

leojean890: mais est-ce que vous prenez un seuil tiré aléatoirement entre 0 et 1 ?

Zorg1: bah oui

leojean890: c'est ça que je pigeais pas

dbdr: c'est une façon de prendre une décision avec une probabilité p

Zorg1: voilà

leojean890: le seuil tu le tires une fois aléatoirement au début et il reste fixé ?

dbdr: rand(0, 1) < p

dbdr: non non

Zorg1: bah non tu le tire tout le temps

leojean890: ah d'accord

Default avatar.png tov: Salut

leojean890: faut que je lise de la théorie sur ça

Zorg1: c'est de la thermo

Default avatar.png tov: 1^30 = 1

Zorg1: Boltzman je crois

leojean890: prendre une décision avec une probabilité p

leojean890: d'accord

leojean890: thanks

Default avatar.png tov: Entropie

dbdr: ex si p = 0.75, ben 75% des nombres aléatoires sont plus petits que p

leojean890: pour les précisions

leojean890: ouais

leojean890: je comprenais pas pk il faudrait le générer à chaque fois

leojean890: la logique derrière ce choix

Zorg1: bah dès que tu dois choisir c'est aléatoire

leojean890: ah oui c'est aléatoire de prendre la simu ou pas

leojean890: histoire de pas rester bloqué dans un max local

leojean890: là je comprends mieux

Zorg1: oui est c'est *independant* :D

leojean890: sauf si le nouveau score est supérieur là on prend forcément

Zorg1: (des autres choix)

leojean890: vu que c'est > 1 la diff

leojean890: exp (diff) > 1 > seuil donc on prend

Zorg1: oui quand l'exp est > 1 tu prend toujours en fait

leojean890: et quand il est moins grand on prend selon une proba

Zorg1: (donc tu peux eviter de calculer l'exp)

leojean890: plus le score est grand plus il a de chances d'être pris

leojean890: logique

leojean890: et le nombre aléatoire choisi comme seuil c'est pour permettre d'explorer

leojean890: c'est comme quand on fait un AG avec une proba de survivre en fonction du score mais un seuil choisi aléatoirement comme j'ai fait hier

Zorg1: voilà si tu trouves une meilleure solution tu la gardes, sinon tu tires au dé

leojean890: avec une proba plus élevée de garder si le score est plus grand

leojean890: logique

leojean890: thanks du coup pour les expli

Zorg1: euh non, plus le delta est grand moins t'as de chance

Alshock: un score grand c'est un delta plus faible

Zorg1: oui vu comme ça

Alshock: enfin je suppose que c'est en maximisant le score

Zorg1: vu la formule, oui

leojean890: plus le delta est grand moins t'as de chance => oui je voulais dire ça

leojean890: pour un problème de maximisation

leojean890: c'est plus le nouveau score est grand mieux c'est

leojean890: cad A*C toujours donc maximisation

Alshock: A*c = B

dbdr: trouver x

Alshock: enfin une équation où il est bien caché

Zorg1: facile c'est l'âge du capitaine

Zorg1: on ne me la fait pas

Alshock: il est fort, très fort

Alshock: 58° environs

Zorg1: AlambicMan, l'homme le plus fort du monde

Alshock: j'en ai marre d'être nul et de lutter pour comprendre où dans mon code j'ai fait bouger deux fois les ennemis >_<

Default avatar.png JBM: la joie des donnees mutables

Alshock: hum, même pas en l'occurence. Enfin elles sont mutables mais je fais que des copies que ça pourrait être des frozen

Alshock: non c'est vraiment juste que je suis mauvais

Zorg1: la solution facile : tu refais bouger une troisième fois pour annuler le second mouvement

Alshock: ça me paraît un archi plan

Alshock: ah merde, c'est pas symmetrisable

Zorg1: c'est triste

Alshock: sinon je stocke où ils sont au début du tour et je les fais retourner vers leur position initiale dans l'ordre inverse de leur mouvement :thonk:

leojean890: sinon passe ton code à depth 2 et mets des print partout

leojean890: je dis depth 2 car si t'as plus que 2 c'est plus chiant de debug

leojean890: comme ça tu trouves où ça va pas

leojean890: une simu joueur, une ennemi et tu print tout

leojean890: selon l'ordre des print tu vois où ça merde

vodkatypique: mes demandes incessante sur les ecoles sont fini, j'ai été pris a l'ensimag :)

vodkatypique: c'est bien ? vaut mieux que j'attendent une reponse de l'insa lyon ou de l'utc ?

257832: pôv poussin

vodkatypique: (ensimag m'a pris en 2A, alors que ailleurs je serais (peut-etre) pris en 1A

vodkatypique: BlaiseEbuth c'est de l'humour pour dire que c'est bien ? :grimacing:

Default avatar.png SupergreenTony: Salut à tous, y a-t-il un moyen de mettre en favoris ou "pour plus tard" un entraînement qu'on souhaite réaliser par hasard?

vodkatypique: mettre la page en favoris ?

Default avatar.png SupergreenTony: Si y a pas moyen de le faire sur le site, c'est ce que je ferais effectivement :p

Default avatar.png JBM: comment es ton re

vodkatypique: re ?

dbdr: après do?

Default avatar.png JBM: il est dans un etat de decomposition B

leojean890: vodkatypique Ensimag, je dirais que tu peux prendre, ça a bonne réput et c'est sélect comme CCP :P après ça dépend de ce que tu veux faire, c'est une école d'info et maths appliquées

leojean890: je comprends pas pk tes choix sont ensimag, utc et insa lyon alors que la première est post prépa et les 2 autres post bac

vodkatypique: pck j'ai pas fait de prepa ;)

vodkatypique: je suis pris en admission sur dossier, je fini ma L3 info la

vodkatypique: leojean890

leojean890: d'acc:p

leojean890: bon bah si tu veux faire info + maths appliquées prends ensimag je dirais :p

leojean890: ou au pire regarde le programme des écoles et prend ce qui t'intéresse le +:P

vodkatypique: je vais faire ca ^^ pour l'instant l'idée c'est ensimag + mastere spé IA de ParisTech

leojean890: ça me semble intéressant :p

vodkatypique: sinon je pete un cable et je fais un doctorat pour finir prof :)

leojean890: bah fais ce qui t'intéresse ;P

vodkatypique: je verrais bien, merci des reponses ;)

leojean890: you're welcome !

Coding_4_Fun: vodkatypique > les 3 écoles sont bien, je te conseille aussi plutot de choisir en fonction du secteur qui t'intéresse, regarde les départements proposés dans les écoles

Zorg1: ah ok dans SR les positions sont tronquées pas arrondies comme dans CSB ...

Zorg1: ah tiens interdit de push :rage:

Zorg1: Automaton2000 tu peux rien y faire je parie ?

Automaton2000: voilà ce que je devrais m'en remettre

Zorg1: pov'chou Automaton2000

Automaton2000: si c'est pas la même que le mien

leojean890: Zorg1 t'as encore push plein de tests d'un coup ?:P comment on le maltraite ce serveur :P

Zorg1: pas l'impression d'être un spam pusher

Zorg1: mais ça tilte vite leur truc

Zorg1: on va dire que je suis parano mais je suppose un if (player==Zorg1) faireChier();

leojean890: oauis j'ai remarqué qu'il tilte vite

leojean890: quand je fais 3 pushs en moins de 3 min il me demande si je suis un robot:p

leojean890: et empêcher de push c'est au bout d eplus d epushs

leojean890: de*

KaloOm: comment on fait quand il faut afficher un int et desfois un float et que ca nous met un .0 à la fin de notre int ?

leojean890: si ça te derange d'avoir un .0, cast en int

KaloOm: n = int(input()) print(sum([int(i)for i in input().split()])/n)

KaloOm: par exemple quand on veut afficher la moyenne

leojean890: print(int(sum([int(i)for i in input().split()])/n))

leojean890: :P

leojean890: tu cast l'ensemble en int, t'as plus le .0

KaloOm: ouai mais la quand t'aura un .5 ca te fera un int :(

KaloOm: alors que quand cest .5 on veut laisser le .5

leojean890: et ça te dérange vraiment le .0 ?

leojean890: bah fais des if

leojean890: c'est pas un golf ton truc ?

KaloOm: bah ouai ca me valide pas la réponse

KaloOm: nan nan

KaloOm: mais je pensais qu'il y avait un truc plus simple

Neumann: Zorg1 : c'est 25 submits par tranche de 5h max

leojean890: bon bah si c'est pas un golf tu geres des cas distincts

Neumann: C'est la "grosse" limite. T'as aussi des limites intermédiaires, mais j'ai plus le détail

leojean890: Neumann ah ouais je comprends mieux le blocage que j'ai eu à 25 justement l'autre jour:P

KaloOm: ok merci !

Neumann: Et oui, c'est le moteur de BR, pas celui de CSB

leojean890: j'avais fait 25 submits en genre 2h30

leojean890: bah j'ai été bloqué 2h30

leojean890: tout s'explique:P

leojean890: ouais quand tu fais 5 submits trop vite ça te bloque

Zorg1: ok merci Neumann

Zorg1: j'ai quand même fait des trucs zarbi dans mon CSB

Zorg1: j'ai même mis des commentaires ...

leojean890: moi je commente régulièrement mes CG:P

leojean890: mais je laisse aussi les non pertinents xD

leojean890: en gros, les trucs pour m'aider à m'y retrouver et ceux pour me perdre :P

Zorg1: j'ai remplacé mon AG par un SA j'ai les mêmes résultats

Zorg1: bien

leojean890: dur

leojean890: moi jvais bientot tester mon SA dans A*C:P

leojean890: encore quelques trucs à cder

leojean890: et choisir comment faire evoluer la temp

Zorg1: bah à coder un SA c'est quand même moins le bazar qu'un AG. Pas les solutions à gérer

leojean890: en ajoutant quelques heuristiques à mon GA j'ai fait 124 => 114eme..

leojean890: ouais ça semble plus simple le SA

leojean890: mais chaud quand même d'atteindre les top

leojean890: faut avoir les bonnes heuristiques

leojean890: purée il parait que le contest A*C a duré 1 weekend ??

leojean890: les gens ont été chauds quand même

leojean890: en 1 WE j'aurais eu des classements largement moins bons que ce que j'ai eu à OOC et PAC

Zorg1: oui ça a été intense

leojean890: pour A*C

leojean890: ma premiere solution qui m'a fait passer 230eme j'ai passé 15h dessus je dirais déjà

Zorg1: A*C a quand même Automaton2000 comme auteur ;-)

Automaton2000: on peut pas dire que c'est de ma faute si vous êtes en train de faire

Alshock: des IA largement moins bonnes peut-être mais un classement largement moins bon c'est pas bien sûr

leojean890: cad mon AG version d'il y a qq mois

leojean890: bah OOC j'ai fini 72 et PAC 268..

leojean890: là en 1 weekend j'aurais pas été comme ça

leojean890: j'aurais morflé

Alshock: je veux dire par là que la difficulté que tu rencontres, les autres y font face aussi

leojean890: faudrait que je regarde le leaderboard du concours pour voir en supposant que j'aurais passé 15h en weekend combien j'aurais été avec 3600 pts

Zorg1: en fait ça allait le format du contest pour A*C

leojean890: là j'ai 7500 avec hardcode + qq changements

leojean890: heuristiques + changer les params du GA

leojean890: j'pense que ça a intéressé pas mal de brutes un challenge d'optim:p

leojean890: tourist il parait qu'il fait d'autres challenges genre gagner le google hashcode

Alshock: 272ème @leojean890

leojean890: Zorg1 en fait je suis assez lent moi :P

Alshock: enfin 271 ex-aequo

leojean890: Alshock pour A*C pour 3600 pts ?

Alshock: ouais

Alshock: https://www.codingame.com/contests/a-star-craft/leaderboard/global

leojean890: ah ok donc finalement comme pac

leojean890: thanks

leojean890: mais aurait fallu passer 15h dans le weekend

leojean890: :p

leojean890: bon, faisable:)

Alshock: ouais mais, y avait "que" 5000 personnes inscrites

leojean890: dont combien qui ont soumis ?:P

leojean890: souvent c'est genre 2000 qui submit

Zorg1: ah tiens 183 sur 2037 avec 5241 points

leojean890: pour pac 5000 submits, wow !

Alshock: bah ça je sais pas où y a l'info

Zorg1: pour A*C

leojean890: c'est le nb de personnes classées

leojean890: 2037 d'après Zorg1

leojean890: donc nb habituel:)

Zorg1: dans mon rapport a*c

leojean890: je vois:p

leojean890: bah moi le pbm c'est que je suis lent car jfais pas mal de bugs:p

Alshock: ah oui si on classe à l'envers on peut voir ça dans le leaderboard

Alshock: 2037 exactement

leojean890: je vois:p

leojean890: donc un challenge de 1 mois comme OOC ça m'arrange :p

Alshock: félicitation à doritosxxx qui a fait 1 point sur son meilleur submit

leojean890: 3 semaines ca aurait été optimal

Alshock: le problème d'OOC c'est que j'ai pas du tout accroché au concept

leojean890: clairement doritosxxx a ragequit direct, il aurait pu ne pas submit:p

leojean890: y'avait un rerun je crois

leojean890: ah ok

Alshock: nan mais y a eu plein de submit à zéro points

leojean890: moi j'ai bien aimé ooc

leojean890: ils rerun

Alshock: lui il a submit à 1 point, et en fait c'est assez dur à faire je trouve

leojean890: sur d'autres validers

leojean890: 1 pt clair

leojean890: mdr

leojean890: 1 seul robot avance d'une seule case

leojean890: d'ailleurs c'est cheloud 'avoir si peu

leojean890: normalement ils ont pas direct un trou

leojean890: prgrm qui crash maybe

Alshock: bah il suffit de timeout non ?

leojean890: oui

leojean890: sans mettre des fleches sans timeout on peut faire 100 pts au moins jpense

Alshock: mais par contre il faut que dans un cas précis il ne timeout pas au premier tour, et ne laisse qu'une tortue survivre

Zorg1: à l'époque ça avait râlé pas mal ont été classé alors qu'il n'avait rien pushé

Zorg1: je crois que CG a retiré les gens qui râlaient du classement

leojean890: ah oui

leojean890: bon ils ont rerun le code de l'ide quoi

Alshock: hum, je comprends pas trop le problème que ça a posé

leojean890: le concept de rerun le code ide j'avoue je suis pas fan

leojean890: faut rezrun le code du dernier push

Zorg1: moi non plus mais d'un seul coup pas mal de gens ont poppé pour dire qu'ils ne voulaient pas être classés

Alshock: bah c'est clairement un bug, mais j'veux dire c'est pas comme si ils avaient run un truc pas à eux

leojean890: au premier tour tu timeout difficilement sauf si bug :P

leojean890: quoi que dans A*C c'est pas un premier tour

leojean890: c'est un seul tour

Zorg1: je crois qu'il suffisait de run dans l'IDE en fait

Alshock: d'ailleurs c'est combien de temps de calcul le tour unique ?

leojean890: ah ceux qui ont testé des runs dans ide

leojean890: mais normalement c'est un submit qui implique rerun

leojean890: tour unique 1 seconde A*C

leojean890: 2 secondes code of the rings

leojean890: code vs zombies je nesias pas

leojean890: je m'y mettrai après

Zorg1: bref le bazar habituel ^^

leojean890: mais il semble plus chaud

leojean890: A*C c'est assez facile à simule

leojean890: r

Alshock: je suis incapable de finir un code je crois, je laisse des bouts de trucs en chantiers dans tous les coins

leojean890: dur à optimiser quand même

Alshock: en même temps tout est dur à optimiser

leojean890: pour certains multis j'ai carrément la flemme de faire une simu

leojean890: juste heuristiques

Alshock: puisque optimiser c'est se casser la tête par définition

leojean890: ouais

leojean890: le top est presque invincible :P

Alshock: à top vingt on est invinciiiibleuh

leojean890: mes seuls classements top 10 en multis c'est quand il y a moins de 30 personnes :P

leojean890: 10eme dans code of the realm..

leojean890: pour 28 personnes..

Alshock: j'ai été top 2 une fois, en faisant cout << int_min << endl; sur TvC :P

leojean890: après j'ai quelques top 30-40 quand il y a genre 200 personnes

leojean890: ah oui TvC mdr

leojean890: là y'a de plus en plus de gens qui me font descendre :P

leojean890: avant y'avait Vry Snef et moi en haut :P

leojean890: depuis .. pb4, dbdr ..

Alshock: j'avoue que j'ai pas regardé le leaderboard depuis un oment

leojean890: puis Zenoscave, counterbalance

leojean890: j'ai jetté un oeil :P

Alshock: ah oui

leojean890: après mon code esqt trop moyen mdr

leojean890: j'ai 2 3 if et basta ^^

Zorg1: ah d'accord JBM a rajouté des quotes au troll

Zorg1: c'est ce qu'il n'arrêtait pas de demander hier

Alshock: c'est marrant parce que le top 10 vous avez des trucs acceptables, et quand on approche le top 20 on commence déjà les infamies xD

leojean890: infamies ? quoi par ex :P

Alshock: "ascii > graphics" putain il me bute ce troll

leojean890: moi c'est pas optimal du tt en tt cas xd

leojean890: t'as laché un msg ?

Alshock: bruh, je fais un couple de GA, et je les entraîne avec deux tournois sur toute la pop... j'ai genre 20 générations par tour

leojean890: mais ça marchottait donc j'ai laissé en standby:p

Zorg1: "I found a bug in temperature" AH AH AH AH

Alshock: ce genre d'infamie

leojean890: tu fais ça dans quoi ? SR?

Alshock: dans dans TvC

leojean890: ah serieux des GA dans TVC ??

leojean890: :p

Alshock: putain "dans tes WC"

leojean890: j'avoue le jeu de mots hehe

leojean890: TidyMaze a un MCTS

leojean890: moi j'ai 3 if

leojean890: lol

leojean890: va falloir complexifier tt ça hehe

Alshock: j'en arrive au point où je soupçonne JBM d'avoir fait le pun exprès

leojean890: quand j'aurai pas la flemme :P

leojean890: pun comment ça ;P

Alshock: j'étais en mode "si c'est un pierre/feuille/ciseaux autant le faire jouer à des joueurs complets, plutôt que par move"... Bah c'était une belle idée de merde

leojean890: dans tvc le mieux c'est de prendre en compte ce que l'autre peut faire;p

leojean890: avec son nb de pierres restant

leojean890: moi jfais ça un petit peu mais assez salement ..

Alshock: ouais, mais j'sais pas je me sentais l'âme créative

leojean890: bah t'as raison de tenter des trucs hehe

Alshock: un temps j'avais même cherché à trouver les poids d'équilibres des différents moves de chaque joueur

Alshock: et de jouer mon plus gros poids... je perdais face à default

leojean890: tu l'as tryhard ce futur multi ^^

Zorg1: t'as une stratégie optimale, après je ne sais pas si c'est faisable à calculer

leojean890: faut demander à pb4 xD

leojean890: même s'il est probablement pas encore en optim:p

Alshock: pas vraiment, c'est juste que comme je les connais pas, faire des trucs "classiques" est long et chiant pour moi

leojean890: bah fais une heuristique sinon :P

leojean890: jsuis redescendu 10eme mais bon^^

Alshock: Bah c'est grosso-merdo ce que faisait mon système de poids

leojean890: les algos de recherche combinés entre eux et avec des heuristiques ça peut déboiter :P

Zorg1: il est toujours 24 mon bot et son algo à 2 balles ...

leojean890: comme disait dbdr hier, des SC et des AG combinés avec des heuristiques;P

Alshock: je suis devant Zorg1, j'ai réussi ma vie

leojean890: :p

Zorg1: nice

leojean890: moi tlm est devant moi à SR et CSB xD

leojean890: vu que j'ai pas d'ia dessus :p

Snef: fix it

leojean890: Snef t'es bien classé dans SR bravo :P

Alshock: CSB je suis gold grâce au bug et le GA que je voulais faire pour l'améliorer je crois qu'il est bugué

Snef: leojean890 merci, je comprend toujours pas pourquoi mais bon haha

leojean890: t'as un bon truc ça veut dire :P

Alshock: aaaaaaah le troll vient de me trigger

leojean890: après ne pas battre Neumann et reCurse ça reste tjr normal :P

Alshock: "(unclosed"

Snef: leojean890 c'est impossible de les battre avec un algo :p

Zorg1: moi je comprends surtout que j'ai des trucs qui buggent dans mon code CSB finalement

leojean890: bah reCurse semble pro en NN

Alshock: @Snef la fin était en trop

leojean890: donc à partir de là:P

leojean890: jcrois qu'il est first sur csb

Alshock: y a des endroits où reCurse est pas premier ?

Snef: Pas mal ouais

leojean890: quand il tryhard pas:p

Zorg1: y avait STC un temps

leojean890: j'pense quand il tryhard il monte bien tout en haut avec pb4 :P

Snef: j'ai la flemme de passé en hardcode sur SR pour passé a 10k5..

leojean890: et dbdr en optim

leojean890: simus locales :P

leojean890: Snef

leojean890: fais comme tu vx:p

leojean890: ça devient du tryhard mechant :p

Neumann: Snef : 10k6 faisable sans hardcode, gogo

Snef: Ouais je sais j'ai juste à laisser tourner mon algo toute la journée et copy paste les solutions mais bon

leojean890: reCurse j'avais jeté un oil en contest parfois il n'arrive pas premier mais c'est genre 2 ou 3

leojean890: oeil

leojean890: sinon il fait pas

Snef: Neumann je sais pas si c'est faisable pour moi :p

Neumann: Est-ce que tu init ta pop de GA avec la meilleure solution du tour précédent au moins ? En la shiftant

Snef: oui

Neumann: Moves échantillonés ?

Alshock: Neumann: question intéressée : quand tu shiftes, le dernier gène tu laisses le premier osef ou tu le randomises ?

Neumann: Genre 3 angles, 3 thrusts

Snef: Neumann non , c'est continue avec un random non uniforme

Neumann: Echantillone avec un faible nombre de coups, au moins au début de ta recherche

Neumann: Ca peut faire une bonne différence

Neumann: Alshock: J'ai un dummy pour le dernier move quand je shift

Snef: Je pensais que le random non uniforme suffirait dans le sens ou par exemple j'ai : 50% de chance d'avoir 200 thrust 20% de chande d'avoir 0 thrust 30% sur le reste

Neumann: Et pour les angles ?

Snef: pareil avec plus grosse proba sur -18 et 18

Neumann: Ok, c'est bien. Mais tentes quand même de réduire encore plus

Neumann: -18 0 18 à 0 de thrust, -18 -9 0 9 19 à 100 et 200

Neumann: Sur genre la première moitié de la recherche

Snef: et une mutation c'est juste un gene random ? ou un léger chagement sur le gene (actuellement moi c'est un random)

Neumann: 18 *

Neumann: Ca peut être les deux

Neumann: J'ai les deux

Neumann: Au début c'est un move random parmi ceux cités plus haut, et à la fin c'est du delta sur thrust/angle

Snef: Tu penses que le changement des moves pour mes solutions peux changer me depth optimale Neumann ?

Neumann: Si tu réduis les moves possibles tu dois pouvoir augmenter un peu ta depth, mais t'as déja une depth énorme

Snef: hmm ça score un peu moins bien pour l'instant, environ 10.850 sur 4 submit

Neumann: :(

Snef: raah j'ai atteint la limite déjà

Snef: après tu avais une éval assez complexe pour aller si bas ?

Neumann: Du tout

Neumann: Je l'ai changé pour ma recherche locale d'ailleurs, je vais la tester en online pour voir

Snef: en local tu n'a pas de depth non ? tu fais des solutions qui vont jusqu'a à la fin de la game ?

Neumann: Si, en local c'est la même chose qu'en online, avec une plus grande depth et plus de temps par tour

Neumann: Ah, premier submit, nouveau record online : 10587

Neumann: Cette éval marche un peu mieux

Snef: Je pensais à remplacer la distance avec le next cp par le temps estimé avant que j'y arrive mais je sais pas si ce sera mieux

Neumann: Ca parait dur à évaluer, ça va couter cher et ça apportera pas grand chose imho

Snef: ouais c'est ce que je me disais

Snef: mais je vois vraiment pas comment faire une bonne éval sincèrement

Snef: surtout qu'avec une depth assez haute j'ai l'impression que de toute façon ça aidera pas vraiment

Neumann: Y'a pas grand chose à évaluer ici

Neumann: Dans mon éval initiale j'avais que 2 paramètres

Snef: dist et nbcp j'imagine ^^

Neumann: J'en ai ajouté un 3ème ensuite

Neumann: Bon 3 alors, si tu comptes comme ça :D

Neumann: Puis 4

Snef: 4, le temps de collision avec le finish ?

Neumann: Non ca c'est déja dans "nbcp"

Neumann: Pour chaque CP d'ailleurs

Snef: ah c'est pas un entier ton nbcp ?

Neumann: Si, enfin je prends quand même en compte le timestamp de passage de CP

Snef: Ah ouais je le prend en compte que pour le finish moi

Neumann: Je devrais sans doute faire pareil

Snef: ah ouais ? j'allais tester de le mettre partout pour voir là

Neumann: Faudra que je teste plus en détail mais ça a l'air de bien moins fonctionner si je compte le timestamp uniquement sur le finish

Snef: bon faut que je devine ton dernier param maintenant

Snef: donc si je recap tu as le nombre de cp passé la distance avec le prochain cp et un ou deux param de plus ?

Neumann: Oui

Snef: un rapport avec la vitesse ?

Neumann: Rien de fou, ça reste une éval très simple

Snef: ah oui et ton éval tu 'la fait à la fin de s X tours ou a chaque tour ?

Neumann: Ca serait quoi l'interet d'évaluer à chaque tour ici ?

Neumann: A priori aucun

Snef: tu cut la simu au finish ?

Neumann: Non je continue à faire des drifts après, pour flexer

Snef: c'est du trol ? ^^

Neumann: Bah c'est pas un détail important ça :P

Snef: Ben le truc c'est que vu que je l'a cut pas il me semblait obligatoire d'avoir une mini eval chaque tour pour privilégier une solution ou je finis plus tot

Neumann: T'as dit que tu comptais le timestamp de passage du CP dans ton éval

Neumann: Pour moi le timestamp ca inclut le tour aussi

Snef: ouais mais que le timestamp du tour courant

Snef: je le conserve pas entre deux tour

Snef: en gros je donne le timestant de ma fct play à ma fct eval dans un tour c'est tout, après je conserve rien

Neumann: Sans parler de timestamp, il faut au moins privilégier un passage de CP à depth N qu'à depth N+2

Snef: ouais c'est pour ça que j'ai une éval a chaque tour ^^

Snef: mais c'est surement mieux de conserver le turn du passage pour eval qu'une seule fois a la fin

Neumann: Submit limit. J'aurais pas fait mieux que le premier push

Snef: tu fais combien à hold the line voir si mon pb est pas mal ou pas ? ^^

Neumann: 94,92 en online

Neumann: Sur 4 essais

Neumann: A peine moins en offline

Neumann: Je file, gn

Snef: je suis loin encore ^^ pb à 97 gn

IamTheSmix: salut les filles

Risotto_Nero: wesh mec bien ou quoi