Chat:Fr/2020-05-30
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
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
ams12456789: oui j'ai vu ça, je vais voir si c'est ça rejoins ce que je veux faire, merci !
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 ;-)
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
JBM: chouette data sur les identifiants les plus utilises en haskell https://twitter.com/phadej/status/1266717489179869184
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
Zorg1: <:p> plutôt
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
leojean890: faut que je lise de la théorie sur ça
Zorg1: c'est de la thermo
Zorg1: Boltzman je crois
leojean890: prendre une décision avec une probabilité p
leojean890: d'accord
leojean890: thanks
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 >_<
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:
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 ?
SupergreenTony: Si y a pas moyen de le faire sur le site, c'est ce que je ferais effectivement :p
vodkatypique: re ?
dbdr: après do?
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