Chat:World/2020-06-25
Nghia64582: shortest mode is stupid idea
Nghia64582: c++,java alway lose
Nghia64582: javascript takes all
TyLuu: also python
code_maniac: Ruby as well
RehatbirSingh: hi
jacek: good morning
Tim_McSim: Hello! :)
JulisTaf: Hi ! :wink:
DieuMQ: hello
Acerbic: "shortest mode" needs a World Best with Your Language score on the results board. So if you are using some exotic lang, you can still see how well you did.
Acerbic: Stupid site, why is it asking me to prove I am not a robot AFTER EVERY match?!
LelouchVC2: it stops asking after a while
Acerbic: its like the 3rd time in a row. :(
LelouchVC2: after a long while
Acerbic: i am not hopping IPs or anything fishy...
jacek: youre clash addict
Acerbic: its not an addiction, I can stop at any time. :-P
Zerp: anyone know how to sort a list using a matrix in c#?
Zerp: i have a list of factories neutral/enemy factories and i have a given factory, that's mine. I want to sort the list by the distances from enemy/neutral factory to my factory using a distance matrix
WINWINWIN: have a get_distance method which takes two factories and returns the distance from the matrix between them
WINWINWIN: and use a quick sort just change a[i]]>a[i] to dist(a[i], req) > dist(a[j], req)
WINWINWIN: Also @JBM time is running out... take trolls vs castles out of WIP for approvval?
WINWINWIN: But if enough people dont see it during the approval phasse what happens?
Zerp: wait doesnt c# have quickSort built in where i just have to supply the function?
WINWINWIN: Code the quick sort on your own :/
struct: dont do that
struct: C# has sort ofc
Zerp: so List.Sort(dist(a[i], req) > dist(a[j], req)
Zerp: am i the only that doesnt like/ find it hard to understand microsoft's documentation?
Zerp: like all the code examples are > 150 lines
Uljahn: you should really spend some time on the basics :/
Zerp: i mean this is their example of how to use List.Sort() https://hastebin.com/ukawiqebob.c#
Uljahn: just search stackoverflow.com then
tomatoes: this example not just sort, but "sortable" objects
dbdr: Acerbic: try the golf puzzles
dbdr: JBM is playing the long game
dbdr: Troll vs Castles 2037
Zerp: would this work as comparison function so List.Sort(thisFunction)
Zerp: https://hastebin.com/eqalapapax.cpp
Uljahn: best way to figure out is to try it yourself
Uljahn: this chat is not meant for spoon-feeding i guess :/
tomatoes: maybe you want .OrderBy?
Uljahn: literally the first answer for "csharp sort" on SO
Uljahn: Automaton2000: pls teach me senpai
Automaton2000: i think it's a bug
struct: I might have a bit of free time to port chess
Uljahn: ^
struct: But not sure if I should or not
struct: I have mixed feelings on it
tomatoes: some weird modification maybe
struct: some people asked for 960
struct: Starting positions are randomized
struct: 960 stands for the number of starting positions
tomatoes: hm, i don't like this thing in tron. but don't know
Zerp: what if your compare function needs more parameters than x and y?
Zerp: https://docs.microsoft.com/en-us/dotnet/api/system.comparison-1?view=netcore-3.1
tomatoes: they're mirrored, should be fine :thinking:
Zerp: in this example they only use x and y and when calling the function doesnt even pass the parameters?
Zerp: CompareDinosByLength(string x, string y)
Zerp: the call dinosaurs.Sort(CompareDinosByLength);
RoboStac: yes, it passes that function to sort so sort can call that function with any x / y pair inside dinosaurs
Zerp: can i pass more paramets into the comparison function like this
Zerp: https://hastebin.com/eqalapapax.cpp
RoboStac: no, it can only take a function for comparing two elements that are in the structure
Zerp: is there another way to achieve the same effect of that function?
Zerp: i want to a sort a list of vertices id's depending on teir distances to a source, which is stored inside an adjacency matrix
RoboStac: the easy way is to just make dist global
RoboStac: otherwise you can probably do some sort of closure that capture s dist but I don't know enough about c# to say how to do that
tutubalin: CoC stories. Shortest mode. Trivial problem to convert hex to dec. Made 22 chars solution in Python3 just to find out that other people have already submitted it.
jacek: cool story bro
tutubalin: Urgent mode on: learn Ruby in 15 minutes.
jaheerkalanthar: :innocent::rage:
jaheerkalanthar: Hey guys im new to coding world but i love lot to code in my own way :heart_eyes:
Undaare: Hey guys if you first place in CoC please share your code! Thanks
Undaare: Hey guys if you first place in CoC pit would be very nice if you share your code! Thanks
tutubalin: i always share, even if i am on 2nd place )
Zerp: Hey guys if you're last place in CoC please DON'T share your code! Thanks
Zerp: in gitc, can a distance between two factories be 1.5? or 0.5?
tutubalin: :)
Zerp: sometimes when i hover over troops in debug mode it says ETA = 0 or sometimes 0.5
tutubalin: that awkward moment when you lose CoC because you didn't notices it's Fastest Mode and spend 10 minutes codegolfing
jrke: thats your misunderstanding tutubalin ;)
tutubalin: jrke that was another clash. you won fairly
jrke: :)
WINWINWIN: Joining the code forces contest now?
jrke: im doint halite on kaggle so can;t join codeforces
tanmaycodernovice: their IDE doesn't work with this?
tanmaycodernovice: 'dict_items' object is not reversible
tanmaycodernovice: its working fine in my ide
tanmaycodernovice: print(' '.join(str(v) for k,v in reversed(d.items())))
RoboStac: yeah, thats a python 3.8 feature and cg are on 3.7
Rynoz: :>
uvBoss: hello
uvBoss: anyone on who did the breakthrough?
uvBoss: https://www.codingame.com/multiplayer/bot-programming/breakthrough
uvBoss: or someone who knows bou minimax??
uvBoss: bout*
uvBoss: no one??: sob:
uvBoss: :sob:
uvBoss: i just need some idea on the heuristics btw
tanmaycodernovice: @DiL need help bro
twitlydoof: does codingclash has some bots?
Uljahn: ye
Hjax: uvBoss whats your question?
tanmaycodernovice: @_sensei_ please sahre ur code
uvBoss: @Hjax hello
uvBoss: cna u share some idea bout the heuristics in case no one wins?
uvBoss: and my minimax also cant go more than 3 steps deep
uvBoss: any ideas?
uvBoss: thanku for responding
pardouin: I think you should be able to re-submit in CoC if no one submitted in the meanwhile
pardouin: when you submit very fast in fast mode cause it's easy and you didnt have time to check tests and you discover a subtlety afterward it's... :/
Hjax: uvBoss what game are you playing?
uvBoss: breakthrough
pardouin: like you use floor instead of round
uvBoss: https://www.codingame.com/multiplayer/bot-programming/breakthrough
Hjax: ah, well intuitively having more pieces is better than having less pieces
uvBoss: yeah i have that
Hjax: having pieces farther along on the board is probably good
WillTheBill: Then you will get judgement from the system tests and be able to change your code based on that Pardouin
uvBoss: that too
uvBoss: xD
Hjax: many minimax searchers reward mobility, which is the number of legal moves
pardouin: sure will that's the point
uvBoss: explain
Hjax: uvBoss you give a bonus to having more legal moves, because if you have more legal moves than your opponent, you have more options to potentially outplay them
uvBoss: ohh
uvBoss: noice
uvBoss: ty
uvBoss: i m trying this one
uvBoss: anything else?
Hjax: i havent tried breakthrough, so i can only give general suggestions
uvBoss: oh oke np
pardouin: when you're in top 100 it's extremely long to imprve your rank so getting 8th for a small mistake
uvBoss: ty again
pardouin: you lose 20 places for nothing
WillTheBill: but it is part of the game to be able to validate the correctness of ones program
WillTheBill: based on the sample data
pardouin: in fast mode it's fast reading
pardouin: when a subtlety is hidden in the last example and was mentionned nowhere in the wording...
pardouin: ofc you can check all tests everytime but then you take the risk of finishing 2nd and you can lose ranks
WillTheBill: I always check every test, but given the problem description one should be able to write a correct program without any test data
uvBoss: @hjax any ideas on move ordering??
pardouin: if it's a medium problem where people will take 2-3min to write a code, you can afford losing 2 sec to check tests, but when the pb is very easy and takes 25 sec, losing 2 sec not cool
Hjax: uvBoss captures first, history heuristic
uvBoss: i do have capture first
uvBoss: but i dont understand the history heuristics?
pardouin: I know will but the problem is not always fully stated in the intro, sometimes you discover stuff afterward
uvBoss: memoization?
Hjax: whenever a move causes a cutoff at a given depth, you increment a counter for that move at that depth
Hjax: and then you order moves that have higher values in that table first
uvBoss: cutoff?? im dumb xD
Hjax: are you doing alphabeta?
uvBoss: ya
Hjax: so you know how you can quit early, if you exceed the bounds
Hjax: and not look at all the moves
uvBoss: ahh
uvBoss: yea
WillTheBill: it should be fully stated tho. If a test case is not within the possibilities of the general problem description, then the problem should not have been validated by moderators
Hjax: thats called a cutoff
uvBoss: i think i get it
uvBoss: noice
uvBoss: ty
Hjax: if you google history heuristic theres some good articles about it
uvBoss: oke let me see
WillTheBill: But i totally get your frustration. Sometimes the problems are not very well stated.
pardouin: I think i'll always wait 100% tests in the future to avoid that
pardouin: but it will be frustrating ^^
WillTheBill: Yea :)
uvBoss: and any ideas for taking advantage of the first turn time constraint?
uvBoss: its 1 sec for the first turn adn 100 for the rest
Hjax: just search for the whole time on the first move
Hjax: do you have a transposition table?
uvBoss: nope
Hjax: those are really useful, because they let you reuse info from previous searches
uvBoss: yeah i was thinkin bout it
Hjax: then when you search for 1 second on turn 1
Hjax: you see the benefit on turn 2 too
uvBoss: ahhhh noice
Uljahn: make some precalculations, LUTs, node pools
Hjax: because the table remembers
Hjax: the table can also be used for move ordering
uvBoss: its like memoization, if u have already calculated just get it
uvBoss: right?
Hjax: something like that yeah, but you need to keep track of depth too
uvBoss: okok
Hjax: if youve searched with a lower depth, the answer is not necessarily the same
uvBoss: boi this is getting real complex real fast
Hjax: but you can use the result from the lower depth search for your move ordering
Hjax: and maybe get a really fast cutoff
uvBoss: yea thats what i think really reduces calc time
uvBoss: if i can get cutoffs ezly
Hjax: yeah better move ordering is a huge improvement for alphabeta searchers
uvBoss: yea ty again
Hjax: np
Hjax: chat is very quiet today
Tim_McSim: Everybody is working hard... :D
Zerp: if im getting an timeout error without anything else
Zerp: does that mean it has to be because my code isnt optimized enough?
eulerscheZahl: or an infinite loop. both is possible
Zerp: oh right, didn't think of that
eulerscheZahl: are you Zerplin? Why the new account?
Zerp: yeah, i still have my old account just wanted to start from scratch on gitc
eulerscheZahl: i see
Hjax: oh euler is here, chat is now less dead™
Zerp: immediately regretted it when i was told you could implement f-w in one line in python xD
Acerbic: why do I have to re-do captcha after every match :(
eulerscheZahl: vs 4 lines with C# if you omit the { }. Floyd Warshall is simple in any language
eulerscheZahl: except malbolge
Zerp: hastebin doesnt seem to work for me atm :/ https://pastebin.com/EjqiT3Rm
eulerscheZahl: seems i did it a little more verbose than i remember.
eulerscheZahl: http://chat.codingame.com/pastebin/6364aed5-de13-47b7-ac99-786419b2825b
eulerscheZahl: do you know named tuples?
Zerp: dont you need them to retrieve data from functions that returns tuples?
Zerp: Tuple<int[,], int[,]> result
eulerscheZahl: nah. just a newer version of your Tuple<int[,], int[,]>
eulerscheZahl: both works, new language standard allows more syntactic sugar
eulerscheZahl: you can have this as return type:
Zerp: just got it from a SO from probably a decade ago
eulerscheZahl: (int[,] dist, int[,] next)
eulerscheZahl: the (..) is the named tuple
eulerscheZahl: then instead of Item1 and Item2 you can refer to them by name (dist, next)
Zerp: hoped you could do something like that when i realized i needed to return 2 items
eulerscheZahl: public static (int[,] dist, int[,] next) findPath(int[,] matrix, int factoryCount){
Zerp: but the tuple syntax was what i got when i searched for a solution
eulerscheZahl: at some point it's more readable to just create a new class for the return type
eulerscheZahl: the old Tuple support up to about 17 generic arguments, gets a mess
eulerscheZahl: like Tuple<int, string, byte, List<int[,]>, MyClass> theTuple
Zerp: oh, because you have to declare the types all the time
eulerscheZahl: and you forget which meaning Item1, Item2, ... have
Zerp: also don't like how you have to make a temp var to store the items, if you dont want to run the function multiple times
wlesavo: damn, i only now realised that the move that captures all the seeds in oware is not forbiden, just capturing is not happening
wlesavo: i though this is simply an illegal move
wlesavo: and im not even sure if it is worth fixing it
Zerp: think this is enough info for gitc? i have shortest dist matrix, next vertex matrix, and a matrix that predicts the next 20 turns based on troops https://www.codingame.com/share-replay/474511336
eulerscheZahl: yes, 20 turns is enough
Hjax: hey eulerscheZahl, are you familiar with mcts solver
jacek: are you not?
Hjax: well, i understand how it works, but i was reading the paper on it
Hjax: and there is a part that doesnt make sense to me
eulerscheZahl: i didn't read the paper but implemented what i expected it should be like
jacek: if this paper is about LOA, its a mess
Hjax: yes the LOA paper, is it just wrong?
eulerscheZahl: https://tech.io/snippet/UGXgTEg
Hjax: because it looks just wrong
Hjax: namely the final move selection, they say they select the move that maximizes value + 1/sqrt(rollouts)
jacek: maybe not wrong but really unreadable
Hjax: which seems to favor /less/ rollouts instead of more
Hjax: which doesnt make sense at all
jacek: maybe in this case they meant -
Hjax: minus would make way more sense
jacek: so LCB instead of UCB
Hjax: but the paper says +
Hjax: im glad im not just crazy, and the paper is in fact a mess
Hjax: because i was like "man i thought i understood this, but now im not so sure"
jacek: well if you choose the A as negative number then its alright :c
darkhorse64: All of this can be summarized: if your opponent has a winning move, you played a losing. If all your opponents moves are losing, you played a winning move. Backpropagate
darkhorse64: *losing move*
Hjax: yeah, i understand that, it was just their final action selection that confused me
Hjax: which is apparently because its just wrong
Snef: isn't it to favor shortest winning move ?
Hjax: but what does visit count have to do with winning faster
Snef: you said rollouts ?
Hjax: in mcts non solver, you usually pick the move that had the most visits, but they are picking the move that has the least visits
Snef: it makes only sense if they talk about rollout and not visits
Snef: only makes*
Hjax: i mispoke, the paper says visits
Snef: ok then it's weird
Snef: you'll try othello mcts ?
Hjax: thats what im writing
Snef: vanilla first or ept ?
Hjax: vanilla
Snef: nice i'm also doing that
Hjax: i havent written mcts before, usually i do minimax
Snef: darkhorse64 the wood boss is ept right ?
struct: Minimax seems more succesfull so far right?
struct: at least for othello
Hjax: the highest mcts is tomatoes i think?
Snef: afaik yes
Hjax: yeah it wouldnt surprise me if minimax was better, but i wanted to learn mcts
Hjax: so here i am
Hjax: unrelated question, does anyone know of any attempts to use the alphazero style networks (value + policy heads) in an alphabeta searcher?
Hjax: youd think policy would be perfect for move ordering
jacek: if that would be copatible with eval
Hjax: value head is eval, policy head is move ordering
darkhorse64: snef: the boss is mcts/random rollouts/no solver
PatrickMcGinnisII: good info darkhorse64
Snef: darkhorse64 how many rollout ?
darkhorse64: 40k
Snef: i guess i need to optimize then..
darkhorse64: think of it as the original OOC wood1.
Snef: lol
Snef: not really comparable
darkhorse64: for strength
Snef: if i want to do mcts vanilla
Snef: it's really hard to beat this boss
Astrobytes: It rekt darkhorse first time around Snef, his own monstrous creation turned against him
jacek: he didnt reduce time?
darkhorse64: Yeah, I had to resubmit
Snef: it's like imagine uttt gold boss => mcts with 50k roll out
darkhorse64: Now, if you look at my leaderboard rank, there are other monsters lurking
darkhorse64: around
Astrobytes: Yeah, this league is genuinely scary
jacek: im noob, im still at wood :c
struct: It's where your bot belongs
tomatoes: i added flag to node if it solved in either way
tomatoes: easier than mess with ifinities
jacek: Hjax btw youre not the first one to complain about paper and asking own sanity
Astrobytes: I did the same
Astrobytes: Had to ask Smits about it
Zerp: is it possible to separate vars in console.write with commas like in js? like console.log("string", var, "string", var, var);
Zerp: been using $"{var} string {var}" but i find it really slow compared to using commas
eulerscheZahl: there are some format options, but nothing as "simple" as you want
eulerscheZahl: i guess the closest would be to put all your variables into a list and the do string.Join(" ", list)
eulerscheZahl: but the string interpolation is shorter and more readable than string.Join
jacek: javascript. readable. pick one
Zerp: don't you think using comma seperation is readable?
Zerp: you can write console.log("the value of var1 is, var1, and the value of var2 is, var2")
eulerscheZahl: you forgot some "
eulerscheZahl: i did before
Zerp: it felt amazing going from c to js, going back from js to c# can feel little rough sometimes :p
Astrobytes: I'm always happier going from JS to C. JS world is a Very Odd Place.
Astrobytes: Everything. It's just... a bit strange :) I mean it's useful and all, and flexible. Just not my comfortable area
code_maniac: But it's fun learn once write everywhere 😁😜
eulerscheZahl: same: no strong typing
eulerscheZahl: i like python to write a few lines
eulerscheZahl: not that much when the code gets longer
Astrobytes: But less strange. I like python for doing bits and pieces here and there, but yeah, what euler said
Zerp: i guess, havent done a lot of projects more than a few hundred lines
eulerscheZahl: and I like Django
Astrobytes: I've only used flask
Zerp: been fighting this weird bug, just tried recreating it in a separate project. Once i did that it seemed to work as expected, so i guess i have weird typo somewhere t.t
code_maniac: Haven't used python so far. But i think in general dynamic typed languages makes it bit easy to start programming
code_maniac: I think JS has evolved a lot after ES6 earlier there was hell lot of problems, but they are some how trying to cope up with the problems which can be fixed
Hjax: JS's syntax makes me sad
Hjax: i dont have one off the top of my head, its just i find python to be more pleasant to look at in general
code_maniac: You can use prettier to have a pleasant looking code 😂 "Kidding"
ekym: everything in JS is sad
PatrickMcGinnisII: anyone try to run all possible games in othello? I was thinking the possible games would be around 2.6x10^32 realistically...so would it take like 4M years to run?
Hjax: you want to solve othello?
Hjax: good luck
jacek: its in order of magnitude of checkers which has been solved
Hjax: checkers is only weakly solved right?
Hjax: its known optimal play is a draw
Hjax: but the optimal move isnt known for all positions
PatrickMcGinnisII: Just trying to figure out an opening book, I guess a could run a local mcts ... but what depth could i shoot for without worrying about time
Astrobytes: PHP.... hmm... depth 1? :P
PatrickMcGinnisII: locally Astrobytes
PatrickMcGinnisII: gheesh
Astrobytes: depth 2 then :P
Astrobytes: :D
PatrickMcGinnisII: I went thru this with TTT, I could get depth 3 on CG, but I could get 6 on my pc w/o pullin gout my hair
Astrobytes: There's a bunch of Othello databases out there with loads of games
Astrobytes: human and computer-based games
struct: https://en.wikipedia.org/wiki/Game_complexity#Complexities_of_some_well-known_games
Hjax: othello is tricky because you cant really generate an endgame tablebase for it
Hjax: since the board gains complexity as the game goes on, rather than losing it
PatrickMcGinnisII: tx struct, let me borrow a quantum processor for a day or so - so I can kill the P SPACE
PatrickMcGinnisII: ok, if you separate the board into concentric rings... and until you own an edge square you avoid the 2nd ring. Then when you own an edge square you change up the priority to keeping it while not losing a corner, then you can just ride out the end game knowing you have an advantage
PatrickMcGinnisII: i can't do 100k sims, maybe 6k if I'm lucky
PatrickMcGinnisII: fun to think about, hard to get a hair cut
Hjax: rings?
tomatoes: yinsh flasback?
Acerbic: how in the world did they solve Power of Thor in under 60 chars... ima crying here.
Hjax: my best power of thor is 131 in python
eulerscheZahl: thor never goes north
Hjax: ^ i laughed so hard at that
Hjax: what a silly set of validators
eulerscheZahl: indeed :D
Acerbic: @eulerscheZahl so you just abuse limited testing set?
eulerscheZahl: or even call another programming language
eulerscheZahl: write a good bash solution and then do system()
eulerscheZahl: i don't know if top python solutions use that trick
eulerscheZahl: i'm stuck at 108 chars :( that's doable without system calls
Acerbic: php people just use backtick `. it goes into shell directly. cheats
Hjax: that would be useful if i had any idea how to code golf in bash
Acerbic: i am at 109 in JS now. :( Thor!
AdamB: bash FTW!
Hjax: my solution uses a while loop, which is probably sub-optimal
Hjax: i feel like optimal is probably some "\n".join list comprehension with a zip in it
Acerbic: @eulerscheZahl thx for the idea
PatrickMcGinnisII: Acerbic i never tries I always assumed CG ran in safe-mode
Acerbic: @PatrickMcGinnisII i definitely have seen someone doing $i=`cat` for reading inputs
PatrickMcGinnisII: gtg, yall have fun
Astrobytes: cya Patrick
jacek: hmm unicode counts as 1 character?
struct: y
Zerp: isnt there something like smileys counts as 2-3 unicode chars
struct: ☻
Zerp: but if you do something like .length, it's 1
Zerp: if i set a var1 equal to an object and set var2 = var1, does it make a clone or do they both manipulate the same object?
struct: they both manipulate the same
struct: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
Astrobytes: I thought Zerp was doing C# struct?
struct: ah :p
struct: I think same still applies
Zerp: i thought it created a copy
Zerp: pretty much what i was fighting with all day
Zerp: but it doesn't seem like there is an easy way to create a copy?
jacek: :F
Astrobytes: Knew there was gonna be a dbdr submit incoming
dbdr: :)
dbdr: Astrobytes, the submit watcher
Astrobytes: Nah, I saw jacek's :F, figured that was a submit from either you or tric
dbdr: oh, missed that
jacek: :s
Astrobytes: Fking hell
dbdr: also not sure what :F means
trictrac: dbdr you are on the road of a full victory wtf !!!
Astrobytes: donno either, jacek uses that and :E when things go south
Hjax: dbdr has decided to give up on losing
Hjax: this winning strategy is working much better
Astrobytes: That is one helluva submit, gg sir, gg
dbdr: I was thinking exactly that Hijax
dbdr: I decided to win :)
Hjax: what did you change?
dbdr: everything
Astrobytes: wreckingMode = true;
Astrobytes: wow
trictrac: now it's MCTS ?
Astrobytes: Seriously
dbdr: minimax
Astrobytes: Did you swallow a game database or something?!
dbdr: do you guys use books?
Hjax: tric does
Astrobytes: Not yet
trictrac: yes only openings
dbdr: how did you compute them?
dbdr: I wonder if that can hurt
dbdr: losing the same way over and over
trictrac: Yes it can drive to this behaviour
dbdr: I saw a couple of scores repeating, but not that much
jacek: in this pace were gonna solve othello in 2 weeks
dbdr: lol
Astrobytes: :D
Hjax: you cant prove dbdr hasnt already solved it
dbdr: solving requires lots of space though
dbdr: 100K won't cut it
Hjax: 100% winrate, solved game :P
Astrobytes: That really is something, what a submit
dbdr: fun thing is, if I stay at 100% winrate and spam submit, I should be able to drive everyone betlow 0, right? :D
Astrobytes: You've definitely torn us all a new one dbdr
Astrobytes: lol don't even think about it
struct: No dbdrt
struct: you will get to a point
struct: where you lose points from winning
Hjax: i like how his score says decreasing even though he hasnt lost yet
dbdr: yes, but that's quite high
dbdr: so maybe not below 0
Hjax: what? winning should never give you a negative amount, unless the rating system is broken
Hjax: limit as rating difference -> infinity, 0 rating change
struct: Ok its time to increase board size :smiling_imp:
Hjax: can you make a new league with a bigger board struct?
Hjax: then it wont fit in a nice long
struct: I could
Astrobytes: lol you can keep that
struct: But I said that I wouldn't
dbdr: it would only be a problem if two bots were drawing every match
dbdr: the two top bots
dbdr: I'm sure my bot can be beaten
Hjax: it would be funny if Astrobytes won the last game against dbdr
Hjax: would gain a ton of points
Nevykelis: Hello, im new with Haskell, and ofc im struglling with it. So maybe someone has some ideas. Im stuck in puzzles where i need to give output after one move again and again( i hope you understood me :D ) but i cant change my variables values ofc, because its haskell.
Astrobytes: lmao, that ain't gonna happen :D
trictrac: struct don't chose dbdr bot as boss we never see the 10x10 board he will be alone
dbdr: :D
struct: https://www.codingame.com/replay/474559240
struct: ouch
jacek: ?
struct: so many skips
struct: in a row
dbdr: I optimize for that, among other things
Hjax: congrats on the perfect submit
Hjax: i dont think ive ever seen that before
MSmits: grats dbdr
Astrobytes: Other than in really low wood leagues
Astrobytes: That was epic, gg sir
MSmits: is the CG cpu slower these days?
dbdr: MSmits will you join?
MSmits: yes, it is a matter of time
dbdr: cool!
MSmits: i will do it eventually
dbdr: bitboarding paradise ;)
Hjax: he just needs to finish solving uttt :P
MSmits: still finishing off schoolyear. Then have to kick some NN ass on Oware also . It;s unnatural to have 3 at the top :)
dbdr: 3 roughly equal?
MSmits: agade is a bit stronger than the others I think
Astrobytes: I think so
MSmits: from messing around with parameters
Supercoder77: php.
MSmits: i can find many configurations that beat recurse or robo, or both (narrowly), but never agade. I get at most 30%
dbdr: I'll resub the same, curious how the scores evolve
jacek: beaten by rust, wha6t a shame
MSmits: hard to test against
MSmits: how will I make an opening book vs you dbdr ? :P
dbdr: nope, I'm sending a compiled version
MSmits: ohh ok
dbdr: feel free to test in the IDE
MSmits: thats nice
MSmits: is this minimax btw?
dbdr: yes
MSmits: cool
struct: why CG is slow
struct: ...
Astrobytes: Any hints as to what you changed for this submit, roughly ofc dbdr?
jacek: i submited and progress halts
dbdr: yeah, I submitted and no game played :(
jacek: so youre last. noob.
struct: 143 submiting on CSB :(
Astrobytes: oh ffs, CSB recalc
struct: Maybe one day this will be fixed
Hjax: next contest, performance optimize the csb ref!
MSmits: the ref is not the problem is it?:
MSmits: i would guess the bots are
Astrobytes: lol struct, I posted it in the bug report
Hjax: mostly tongue in cheek
Astrobytes: As you were posting it in genera;
Astrobytes: *general
struct: It's fine
MSmits: btw, dbdr, I'm the one that suggested someone make othello, hinting that struct should do it, would be kinda odd if i then not wrote a bot :P
MSmits: just being lazy/slow
struct: So each promotion is 100 games right?
struct: 14300 games
struct: we will be stuck for a while
Hjax: what caused this?
Hjax: people got bumped above the boss?
struct: yeah
struct: or boss got below them
Astrobytes: :computer: :fire: :fire: :fire:
AntiSquid: too much CSB advertising
Hjax: how long will the server take to sort this out?
Hjax: hours?
struct: yeah
AntiSquid: 100k bots in the arena, people calling it a good tutorial, yet how many of those are still active? clearly not a fun game :p
Hjax: sad
Astrobytes: It really can't go on like this
AntiSquid: blame quid34, obviously the culprit :D
Supercoder77: bots are lame.
struct: hmm
struct: the number increased to 156
struct: I wonder if the boss is still going down
Zerp: anyone remember to selectmultiple lines / rows in the ide?
Zerp: so i can edit 2 lines at once
zakariamouhid: press alt and click in multi places
Astrobytes: ctrl+alt + up or down arrows
Astrobytes: (also)
dbdr: that changes my desktop :D
Astrobytes: You can change the key bindings
SoLiDwAtEr: Hi guys, is it a better strategy to solve puzzles test-case by test-case or try and write an algorithm to solve all test cases in one go - if you're trying to improve your problem solving skills?
Astrobytes: I *had* to disable Ctrl-S
dbdr: SoLiDwAtEr: better to solve the general case
dbdr: testcases are just examples
SoLiDwAtEr: interesting
Astrobytes: There are hidden validators to prevent you hardcoding the solution you see
Astrobytes: 14 losses in a row, then I win against tric :/
zakariamouhid: I the IDE that used here like vscode, exist in github ?
Astrobytes: yeah, Monaco
Astrobytes: (is the name)
zakariamouhid: yeah, thank you :)
Astrobytes: np
SoLiDwAtEr: okay thanks, i'm terrible at these interview tests in general
Astrobytes: Just chill, use your language knowledge and apply your brain, you'll be fine
SoLiDwAtEr: yeah i don't get it, how i struggle with the easy ones and i've got 9 years dev exp lol
SoLiDwAtEr: god i hate this stuff lol
NightScap3: dark mode would be so nice
Astrobytes: Click Settings, to your left of the screen
Astrobytes: Or Settings 'gear' icon, below chat for the chat
dbdr: https://www.codingame.com/share-replay/474595402
dbdr: gg jack
dbdr: jacek
darkhorse64: still 99%
darkhorse64: fix it
dbdr: yeah :D
dbdr: though I'll probably refactor first
pardouin: it's when you get 1st in poorly worded CoC vs 8 with only 90% that you realize you should NEVER play with bots
SoLiDwAtEr: how long should it typically take to solve easy puzzles ?
pardouin: 20 sec
SoLiDwAtEr: ah i need to improve then
pardouin: if you're talking about the "training" part, ofc some of them are longer
SoLiDwAtEr: yeah i'm talking about the practice easy puzzles like the descent and thor etc
pardouin: it should be more like ~5min then
SoLiDwAtEr: i feel like i'm taking too long to solve them but it doesn't really say how long people are taking on average to solve them, would be a nice metric to have
SoLiDwAtEr: yeah then i'm taking way too long, or thinking about them too long, takes me about 40min-1 hour
pardouin: if you need practice there are websites with easier problems
SoLiDwAtEr: thanks, i'll just keep practicing maybe i'll get quicker
pardouin: to warm you up a bit
SoLiDwAtEr: i like this one because it's kind of like playin an RPG game
SoLiDwAtEr: leveling up etc
pardouin: in CG it's often "game" oriented so only reading about the context, the rules etc is already long ^^
SoLiDwAtEr: i'm just hoping the more of these puzzles i do, the better i will get
pardouin: sure
SoLiDwAtEr: i've got 9 years dev exp but in real life it's more about design patterns than actually solving algorithms like this
SoLiDwAtEr: different mindset
pardouin: have you tried Clash of Clans ?
SoLiDwAtEr: the mobile game?
pardouin: it will be hard at first but it's funny
pardouin: sorry : clash of Code*
SoLiDwAtEr: oh no, is that in codingame?
pardouin: yes
SoLiDwAtEr: is this collaborating with other people etc?
pardouin: you compete against players /bots to solve problems as fast as possible or with as few characters as possible
SoLiDwAtEr: ah right, i won't be any good at that if it's taking me so long to do the easy puzzles lol
pardouin: well, give it a try, sometimes it's really easy
SoLiDwAtEr: sure, i will do some more of these easy puzzles first as i've only done the descent and power of thor 1 at the moment
SoLiDwAtEr: and then i might try something like clash of code
SoLiDwAtEr: or do you think that clash of code will help me improve quicker?
pardouin: you can do both
SoLiDwAtEr: :thumbsup_tone4:
badAtCoding: clash of code = fun!!!
Acerbic: to hell with this site! clash of code is fun, but doing recaptcha after EVERY MATCH is too much for me. Goodbye y'all.
Hjax: clash of code isnt the main appeal of this site in a lot of peoples opinion
simpledark: any other sites similar to clash of code guys?
Hjax: not that im aware of
LelouchVC2: not if ur based outside of The pacific ocen