Chat:World/2021-08-03
xxd: I wonder what types of strategies reCurse uses to get 1st place in bot programming challenges
xxd: like how sophisticated can one get? neural networks / GA? or is there more
martinpapa69: https://en.wikipedia.org/wiki/AlphaZero
eulerscheZahl: https://www.codingame.com/forum/u/recurse/summary just read his top posts
xxd: thanks
eulerscheZahl: https://www.youtube.com/watch?v=BU9b445CpaM he even streamed twice
xxd: woah, nice. thanks for sharing
reCurse: Mostly just a clown though
ericlovesmath: Why is my Clash of Code score *decreasing* as I win lol
Uljahn: ericlovesmath: to encourage you not to play against too low ranks
ericlovesmath: Got it
ericlovesmath: Hi
KiwiTae: ZarthaxX o/
derjack: ;s
Jumong: cat
withab: ertuo
ansh10121012: http://chat.codingame.com/pastebin/ebee005e-8de1-4fbf-8df4-1c120fef4eb9
ansh10121012: hi howw are ya all doing
Dohmanlechx: How can I convert a char in C++ to binary? Trying to solve that Chuck Norris puzzle.
Dohmanlechx: i.e. 'C' = 1000011
KiwiTae: bitset<8>('C')
Olitoni: i actually tried to do the churck norris puzzle
Olitoni: But for some reason in the last thest one of the chars is weird in javascript
Olitoni: and it's wrong by one
Olitoni: and like it's impossible to debug
KiwiTae: i think bout 100k people solved it its possible hehe
Olitoni: but why is a random character different?
Olitoni: in the middle of the string?
Olitoni: 1 bit is wrong
Olitoni: im using the javascript ascii table
dbdr: debug it. print the steps on the console
KiwiTae: ^
Olitoni: yeah i'm doing that
Olitoni: when i put it into a binary to text converter it is correct
Olitoni: but when converted to unary 1 bit is wrong
Dohmanlechx: Thanks KiwiTae, bitset<8> binaryOf(c); worked fine. Next step is to find a way to iterate through it. I'm forcing me to practice on C++, I usually code in Kotlin and Dart otherwise :)
Maxim251: Oh my god, I did achive tree search in Ultimate tictactoe, but timming is to low, and I cand do it everytime that search, then I get another problem, I try use only one leg to check if this is win, and my code sometimes get brake, I have there such a mes, because I was trying doing everything... and I feel that I dont have energy to trying more...
Maxim251: This is that foulty code
Maxim251: http://chat.codingame.com/pastebin/12a32e1b-b336-4a03-bcf6-94584fe9cd1c
Maxim251: I think half of that code should be erased.. :/
Dohmanlechx: (note: had to change to 7 bit for the puzzle, i.e. bitset<7> binaryOf(c);)
derjack: whats your rank on UTTT
Maxim251: With normal logic, I could get working, but not everytime I will win, with tree search I can predict the best moves, but thats my problem, I dont know how correctly write it :P
Maxim251: I dont go to the rank... With that code, I don't have nothing to look there
Maxim251: struct map is a helper class, I feel that writtening code should be simpler....
Maxim251: Tree class is that main one, where supose should do tree search, but I had problems to corectly move back in that tree and chose next move to check if is win, and then move back to beginning to output that move. When on base map there are moves, I should memorise all moves from that game, and then do search tree to output the last moves. There are the most problems what I have, I cant go out more then 3 moves.
Maxim251: and my head is hurting me :P
derjack: why memorize all moves from entire tree?
Maxim251: This line "makeMove(_root.nodes.back(), _root.nodes.back().curentPlayer, another ) ; " is duing next level .. like next move, and going back from that function is muving back from that tree
Maxim251: that line after while loop " _root.points += newNode.points; " is transfering back points which means that how many wins was in that tree
Maxim251: No no, When program is going back from tree, is forgetting that moves, and only what I left is transferred points. What I mean is actual game, that actual moves should be recorded, to check another sort of moves
Maxim251: My problem lies, that I cant record moves when on board is made 3 or more moves.
Maxim251: game dont outputs board, only is outputing avaible moves... But on each step i should memorize moves step by step... Because game will not output me moves from the past.
Maxim251: https://www.codingame.com/ide/puzzle/tic-tac-toe
Maxim251: this is link to game
Maxim251: I start with simple 1 board, because tree search is for me something new, and I want learn and practice that. thats why also I did stay in wood league.
derjack: are you trying minimax or mcts
Maxim251: no, minimax is for search values in existing tree, I am earising tree because what I need is maximum points from move at the beggining
Maxim251: to know what next move to do.
Maxim251: But I was also concidering that.
Maxim251: But transfering points from end of tree to the beggining, alows me to know what first move should be dthe best
Maxim251: Yeah... I am thinking if is not better to sustain all tree in memory and use minimax insteed to check what next move should be made... Problem is that to make that tree is time consuming, and game have for first move only 1 sec.
Maxim251: This is code what tree search was working, but without outputing move.
Maxim251: http://chat.codingame.com/pastebin/3d9cf138-148c-4482-8819-3bbdc222f306
Maxim251: Problem with this code is timeout, I have to hevy code to work fast
derjack: add pragmas above the includes
derjack: #pragma GCC optimize "Ofast,unroll-loops,omit-frame-pointer,inline"
- pragma GCC option("arch=native", "tune=native", "no-zero-upper")
- pragma GCC target("rdrnd", "popcnt", "avx", "bmi2")
Maxim251: http://chat.codingame.com/pastebin/8446d21c-4d5c-4dc3-b3ac-c6943d3bcac0
Astrobytes: English in world chat please
derjack: Maxim251 write above the includes
derjack: Astrobytes dlaczego
Astrobytes: Because it's world chat. You are not helping.
derjack: im not a mod
Astrobytes: I know. Don't make me kick you.
TobiasA: :joy:
Wontonimo: good morning [system command: adjust to local timezone]
TobiasA: a good morning to you too
Wontonimo: how's it going TobiasA ?
TobiasA: I'm doing just fine hbu?
Wontonimo: yeah, good
Wontonimo: Astrobytes or derjack, either of you have any tricks for handling "ties" well in a mcts game?
Yasser: how to get buddy examiner badge?
Wontonimo: what's that?
RoboStac: after you complete a puzzle you on the results tab you can click to view other solutions and it lets you choose your favourite. Do that a few times and you get the badge
RoboStac: assuming you mean budding examiner
Wontonimo: oh
Wontonimo: i forgot about that
Wontonimo: hey Robo, do you handle ties in mcts in some special way like win/lose solver ?
RoboStac: yeah, though I'm still not sure on the best way
RoboStac: usually once a node is a solved draw I just ignore it during selection so it will send all the exploration to the moves that look worse to ensure there isn't a way to win. During backprop this lowers the parents overall scores though
Yasser: is it by upvoting RoboStac?
RoboStac: you can sort of work round this during backprop by checking if any of a nodes siblings are solved draws and backpropping a draw instead at that point but it's a bit slower
RoboStac: Yasser - no, you get two options and have to choose your favourite. It's separate to the old upvoting system
Yasser: Ah I see it's not possible to do on previous solved puzzles?
RoboStac: it is, you can just go back and open the results tab
RoboStac: you have to do it in the ide though
Yasser: Got it, thank you!
Yasser: mouse hovering in the chat on profiles doesn't work anymore? :/
RoboStac: nope, it's been reported as a bug on discord but no staff responses yet
Yasser: (╯°□°)╯︵ ┻━┻
Yasser: :sweat_smile:
Wontonimo: Thanks RoboStac. totally makes sense
Wontonimo: the part about ignoring solves during selection is interesting. I haven't implemented that.
RoboStac: without that it just selects the draw over and over and you just waste a lot of processing time not learning anything new
Dohmanlechx: Standard Output Stream: http://chat.codingame.com/pastebin/e15a0a78-d697-448a-8d0a-59a3cadf9988
Dohmanlechx: It should be 1,0,0,0,0,1,1
RoboStac: thats just the standard for indexing bits - bit 0 is the least significant bit
Dohmanlechx: Yeah just read about it. Gotta loop backward then.
AllYourTrees: the mcts solver paper talks about over/under estimation when skipping solved nodes, but they don't really do any actual analysis of it or show how much it affects things
AllYourTrees: skipping solved nodes seemed stronger when i tested it
Wontonimo: excellent, thanks
Wontonimo: i'm testing now on C4
MSmits: AllYourTrees skipping solved nodes is better, but there are ways you can control the bias
Wontonimo: oh, like what?
MSmits: say you're backpropagating a loss that was an alternative of a solved draw
Wontonimo: ah
MSmits: while going back up the tree, you check the siblings, if one of them is a solved draw, you change the result to 0
AllYourTrees: interesting
MSmits: thats one way to do it, but then you bias on wins
MSmits: the alternative is to keep backpropagating 0's until the weak nodes value exceeds 0
AllYourTrees: can you just replace values with the solution (if its better) as you back up?
MSmits: well thats one way to do it, but not necessarily
MSmits: what you can also do is for every layer, during backpropagation, check the node you went through, if it's below 0, just backprop 0
MSmits: but if it's above 0, backprop whatever result you found
MSmits: because apparently you're working on a better node now
MSmits: I'll make a picture in a sec, have to let dog out
Wontonimo: okay, so on C4 it looks like just ignoring solved wins pushed my Trueskill up about 1 point. Same ranking but a higher TS right off hop
MSmits: here's how you can deal with solved draw bias in a picture:
MSmits: https://imgur.com/a/WT2rvDU
MSmits: so only backpropagate results when it's a good node
MSmits: but do also backprop losses through that node. when you backprop, you backprop ALL
MSmits: until it becomes a bad node, then you turn off backpropagation through it, or at least, you backprop 0 to keep increasing visit count
AllYourTrees: interesting
AllYourTrees: ty for the pic!
MSmits: np, btw, i do not generally use this because there's performance overhead
AntiSquid: trademarked graphics
MSmits: and solved draw bias is almost non-existant in most games
MSmits: since draws usually solve last, except in games where early draws are possible
MSmits: so not in uttt, not in othello, not in C4 etc.
MSmits: not in yavalath either
AntiSquid: quite sure there are draw branches early on and through out the game in C4
MSmits: branches yes, but not terminal nodes
MSmits: these draw branches are very hard to solve
MSmits: so they solve last
AntiSquid: i mean once you go down that path best result will only be a draw
Wontonimo: great, thanks MSmits. nice drawing
MSmits: I guess it depends on your exploration parameter too
MSmits: from watching meta mcts too many times, i noticed draws always solve last in the games I mentioned
MSmits: unless exploration is low
MSmits: then you can dive deep into a drawn branch
AllYourTrees: i guess thats because draws need all children to be draws, whereas a a win requires 1 child to be loss, and a loss requires all children to be wins(which only require 1 child)
MSmits: thats it exactly
MSmits: well it's not 100% true due to ab pruning, but mostly true
AllYourTrees: do you have ab pruning in mcts solver?
RoboStac: that and many of these games can only draws due to no moves left so they're always the deepest branches
MSmits: i have an algorithm for ab pruning in mcts solver yes, but i dont often use it
MSmits: https://imgur.com/a/G7iT54b
MSmits: you never have to visit the pruned child
MSmits: as the top node is already a certain draw
MSmits: if the pruned child is a loss, then the top node is a draw, but if ti is a win, then the top node is also a draw
AllYourTrees: oh cool
MSmits: the middle unsolved draw never gets solved btw
MSmits: because you pruned the child
MSmits: but you can just skip it
AllYourTrees: yeah
MSmits: this is messy to code and can give problems when you reuse the mcts tree
MSmits: because you will get into situations where you're at a node that was never solved because you skipped it
BlackGriffin03: Can Some one help me , I am finding Silver league in CSB difficult
Wontonimo: sure, i'd be happy to help!
Wontonimo: i'll msg you directly
jacek: mk legacy?
MSmits: oh Wontonimo, when did you do csb?
MSmits: top 100 i see
Wontonimo: a while ago
MSmits: which is pretty good , considering the insane amount of players having done csb
Wontonimo: thanks
AllYourTrees: :eyes: jacek what you doing in C4
jacek: random resubmit
AllYourTrees: :spy:
Wontonimo: yeah, mk legacy jacek
eulerscheZahl: "when did you do" there are tooltips when you hover over the score points
eulerscheZahl: i'm getting random timeouts on submit. when i play each testcase in the IDE, everything works fine :(
eulerscheZahl: and it's always different cases that fail
eulerscheZahl: down to 25ms, now it's passing :/
jacek: optim?
eulerscheZahl: yes
jacek: sometime 30ms is too much for me
Im9: hi
woful: i forgor :skull:
altayayayay: i rember :smile:
woful: pls tell me
woful: cuz i forgor :skull:
FIVE-CYCLE: holy shit,I think i should review my C++ class...
FIVE-CYCLE: I have forgot everything...
Dohmanlechx: Someone did the Chuck Norris task recently?
I'm failing the third test, which uses the char %. The binary string is "100101" but the compiler wants "00 0 0 0 00 00 0 0 00 0 0 0". 00 in the beginning means the first letter is 0. It doesn't make sense!
Dohmanlechx: Aha, the length had to be 7...
Flaaamort: Yes: "ASCII characters (7-bit)"
MSmits: if you have problems with chuck norris, it probably has something to do with leading zeroes
MSmits: ah damn chat scrolling
Dohmanlechx: Thanks anyway :) I always have hard times with algorithms concerning binary. It's solved since a little while tho.
MSmits: hehe ok
Dohmanlechx: Quick question, can't I delete my own solutions? (When I corrected a minor error and published again...)
eulerscheZahl: others will only see your latest submitted solution (per language)
Dohmanlechx: Nice
eulerscheZahl: there was some visual bug i think. not sure if that got solved
eulerscheZahl: looked as if your old was still published but it wasn't
MSmits: eulerscheZahl, how do i fix this, if I want to open a file from a C# program:
MSmits: static string fileName = "resources\OwareSolver.exe";
MSmits: i wasn't using a folder before
reCurse: \\
MSmits: ahh ok, thanks
reCurse: or @"
eulerscheZahl: or @"string"
oxydowe: also @"resource
eulerscheZahl: (╯°□°)╯︵ ┻━┻
MSmits: thanks both :)
eulerscheZahl: or with / instead of \
MSmits: oh that works?
MSmits: I was wondering
eulerscheZahl: even works on windows
MSmits: though it was a linux thingy
eulerscheZahl: "resources" + Path.DirectorySeparatorChar + "OwareSolver.exe" :upside_down:
MSmits: lol
eulerscheZahl: i'm sure there is some Path.Join or similar as well
reCurse: ew
eulerscheZahl: so many options
reCurse: Path.Combine at least
MSmits: you know, 1 good answer would have sufficed :P
reCurse: No
MSmits: ok
eulerscheZahl: we still have to golf it and use hex codes
eulerscheZahl: i guess the / already is the golfed version
MSmits: now i have to figure out how to keep 36 filestreams open for my endgame books
MSmits: i know how to do it in c++
reCurse: The golfed version is to name it a.exe in the same folder
oxydowe: "There should be one-- and preferably only one --obvious way to do it."
reCurse: No
eulerscheZahl: do we need the .exe to pkeep it executable?
reCurse: Um.
MSmits: yes eulerscheZahl "{
oxydowe: that's python, i like to apply to other languages as well :-)
reCurse: I guess you can CreateProcess without the exe
reCurse: But that will be the only way
eulerscheZahl: that's bad golfing
MSmits: I am doubleclicking it
MSmits: oh right
reCurse: I don't think even cmd prompt will execute without
MSmits: that one i am not
MSmits: i could probably make it a dll anyways, if i knew how
eulerscheZahl: do chmod +x and run it with WLS
reCurse: ren OwareSolver.exe OwareSolver.dll
MSmits: does that work ?
reCurse: Technically yes
MSmits: never used a dll before, i figured the file would be different
reCurse: It will be mostly useless but it will work
MSmits: o
reCurse: They're both images so
eulerscheZahl: a .jar is a .iso is a .zip
MSmits: why ?
reCurse: Because sometimes you care about the format inside and sometimes you care about what is inside
MSmits: are their formats the same?
reCurse: Yes
MSmits: I see
MSmits: so the extension is just a way to tell the user what kind of content is in there
reCurse: Mostly
reCurse: But programs also use it to figure out what to do
reCurse: So not just user
reCurse: But that is also why you can have a png renamed as jpg and it still works
reCurse: Because the program may ignore the extension and just figure it out by itself
MSmits: I see
eulerscheZahl: and the file itself (at least some of them) indicate the type in the first few bytes
eulerscheZahl: like an exe starting with MZ and a zip with PK
MSmits: MZ?
eulerscheZahl: and then there is CAFEBABE as the first 4 bytes
reCurse: Well any image really
reCurse: dll start with MZ as well
eulerscheZahl: MZ after the inventor of the exe format
reCurse: Initials of some guy who did some DOS things
eulerscheZahl: mike something
eulerscheZahl: zabowski?
reCurse: shrug
reCurse: My bots start with WTF and me going /flip
eulerscheZahl: Mark Zbikowski
eulerscheZahl: (looked it up)
MSmits: you got the owski right
eulerscheZahl: you better take notes, this will be relevant in your next exam ;)
MSmits: ok, another question
MSmits: what is the C# equivalent of:
MSmits: ifstream infile; infile.open(cacheString, ifstream::binary); infile.read((char*)&(captureCache[0]), CAPTURE_CACHE_SIZE * sizeof(int8_t)); infile.close();
reCurse: Don't forget to make the exam on completely different questions
reCurse: euler that one is yours I'm lazy now
MSmits: wait thats wrong, thats reading the whole file, not really what i want
eulerscheZahl: File.ReadAllText
MSmits: infiles[seedsOnBoard].seekg(bits7 / 8, ios::beg); infiles[seedsOnBoard].read((char*)&(lookup), 2 * sizeof(uint8_t));
jacek: :thinking:
MSmits: this looks up a single result from the endgame db
reCurse: ReadAllBytes probably
reCurse: Doesn't seem like text
MSmits: it's binary
eulerscheZahl: my bad
reCurse: Though I doubt that's what he wants
eulerscheZahl: can't you just tell what you want to do without those C++ hyroglyphs?
reCurse: hieroglyphs
MSmits: i just need to read a little piece, 2 byes in some location in the file
eulerscheZahl: i'm illiterate
MSmits: i know where it is, the offset
reCurse: Open a FileStream
reCurse: Seek to the correct position
reCurse: And use that converter thing
reCurse: ugh it's been too long I did c#
MSmits: thats kind of the same as in C++, what converter thing?
reCurse: Nooot really
reCurse: using (var fs = File.Open(...))
reCurse: fs.Position =
reCurse: fs.Read the bytes
reCurse: BitConverter
reCurse: to convert bytes to type
reCurse: Fill in the blanks
MSmits: i can also just us ethe bytes directly right?
eulerscheZahl: sure
reCurse: You can also fix the array and use a pointer directly
reCurse: But I thought you'd want idiomatic c#
MSmits: meh, i dont mind, anything that works is fine.
eulerscheZahl: he doesn't even use List<T> he doesn't care about idiomatic
MSmits: i prefer working with C++ anyways, but i dont want to learn how to do a gui, so i am kinda stuck with this for now
reCurse: The state of gui sucks hard
MSmits: windows forms works and i want to spend as little time on stuff like that as i can get away with
reCurse: But qt might be worth it for you shrug
MSmits: qt?
reCurse: qt
eulerscheZahl: "cute"
MSmits: oh ok
MSmits: thanks reCurse
eulerscheZahl: notepad++ uses qt iirc
MSmits: https://www.qt.io/ ?
reCurse: yes
reCurse: I have a hard time figuring out if this or doing web through c++ rest is worse
MSmits: I have no idea, I only ever run massive 1 file programs i c++ for CG
eulerscheZahl: web has many approaches that i struggle to understand. i mean it works but why would anyone do this
reCurse: Because resources
reCurse: Still kind of debating how to do chess vis
reCurse: Web has tons of chess ui stuff
reCurse: BUT
reCurse: It's wewb
eulerscheZahl: like blazor. using C# instead of JS, great. but keeping the whole client state duplicated on the server?
MSmits: it's funny to what lengths coders go to avoid js :P
reCurse: Not even js but web in general
reCurse: It's a fucking zoo
MSmits: you make that sounds bad, but zoo's are fun
reCurse: But then I have a readymade chessboard instead of recoding it in qt
eulerscheZahl: and every year there's a dozen of new hyped frameworks
reCurse: sigh
jacek: qt? that thing made by trolltech company?
MSmits: is that where you work jacek
jacek: no :(
MSmits: aww :(
eulerscheZahl: today heise.de published an article how to write a SPA with object pascal. why would anyone want to do that?
jacek: delphi?
eulerscheZahl: pretty much. https://www.heise.de/hintergrund/Neue-Wege-ins-Web-mit-Object-Pascal-und-Visual-Studio-Code-6153125.html
eulerscheZahl: warning: German
jacek: :scream:
eulerscheZahl: https://www.codingame.com/replay/573828290 also i'm heavily overshooting at checkpoint 4 :/
MSmits: how are you approaching this optim euler?
eulerscheZahl: beam search
MSmits: is that effective here?
eulerscheZahl: dummy for scoring. -3v for the next few checkpoints to get a time
eulerscheZahl: you see how effective it is. 24th atm
MSmits: oh, not bad
eulerscheZahl: 11.2k while the top is 10.3k
MSmits: yeah thats cool
MSmits: are you hardcoding?
jrke: grt
eulerscheZahl: nope
eulerscheZahl: i'm still 1 behind jrke
jrke: :grimacing:
jacek: what test case is that
eulerscheZahl: 11 test15
jacek: oh https://www.codingame.com/replay/573841788
eulerscheZahl: that's way more convincing than what I do
jacek: youre using target x y and not degrees?
eulerscheZahl: just for output. was easier with my dummy actions -3v
eulerscheZahl: i use (-18,0,+18) x (0,200)
eulerscheZahl: do you test more options?
jacek: no just those
jrke: in that case i test less - {0, 200} and {-18, 18}
eulerscheZahl: "stdout": "EXPERT -11 200 467\n
eulerscheZahl: you lied jacek
jacek: hm?
eulerscheZahl: "in that case" you tweaked per testcase jrke?
eulerscheZahl: https://eulerschezahl.herokuapp.com/codingame/replays/analyze/?id=573841788 that's your outputs jacek
eulerscheZahl: you had a -11 degrees angle
jrke: no same for every testcase
jacek: whats wrong with that
jrke: constexpr int choice_thrusts[] = {0, 200}; constexpr int choice_angles[] = {18, -18};
jacek: you have only 2 choices?
eulerscheZahl: you told me that you test the same angles as I do jacek
eulerscheZahl: i'm confused
jrke: yeah i have only 2
jacek: (-18,+18) i thought its interval -18...18, no?
eulerscheZahl: i only test the 3 values -18,0,18
jacek: oO
jrke: i tried many choices
eulerscheZahl: jrke at least add 0?
jacek: i test all integers in that intervals
eulerscheZahl: which trusts?
jrke: i tried but not best score
jrke: lemme retry then
eulerscheZahl: EXPERT -18 173 510\
eulerscheZahl: you really have a lot of possible actions
jrke: even thrust also?
jacek: eeyup
eulerscheZahl: what algo?
jacek: GA
jacek: the number on display is generations
jacek: population 40 genomes, genome 15 actions
eulerscheZahl: and some static scoring I assume. no dummy movements
jacek: whats dummy movement
eulerscheZahl: my beam takes 1 action and then uses -3v until i've passed 4 checkpoints. measure time it takes as score
eulerscheZahl: then the standard beam thing: remove bad actions, go deeper
jrke: what depth you can go?
eulerscheZahl: no idea, let me test :D
jrke: oh
jrke: you said -3vel till 4 checkpoints right? so with what thrust always 200?
eulerscheZahl: mostly depth 5, sometimes 6
eulerscheZahl: width=50
jrke: ohk
jrke: thats grt for depth 5-6
eulerscheZahl: thrust = 200-something
jrke: mine goes 15-16 depth beam width 900
eulerscheZahl: that something depends on the angle difference
jrke: but less choice
jrke: ohk
darkhorse64: -3 might not be the best factor: depends a lot on the distance between checkpoints
eulerscheZahl: i know. but i'm bad at those heuristics :/
eulerscheZahl: for mars lander i could get some creative input from published puzzle solutions
eulerscheZahl: i even have 3 different dummies there
darkhorse64: Yeah, I should seed my GA at ML with an heuristic solution to improve convergence
jrke: do you eval at depth 1 also euler?
jrke: cause your choices are 6 and beam width 50
jrke: so you can ignore eval till depth 2
eulerscheZahl: but those are the cases where it's really few states anyways
eulerscheZahl: at the end it's 50*6. no need to cut off the initial 6 states in sim :D
jrke: is this time limit problem still there in SR?
Wontonimo: for mars lander, instead of -3v, i use -35v. it works really well
jacek: i use around 31ms and still can get occasional timeout
Wontonimo: This is -3v at work https://www.codingame.com/replay/573848553
Wontonimo: this is -35v at work https://www.codingame.com/replay/573848730
eulerscheZahl: i will stop the replay before it reaches the end
jacek: why doesnt nasa hire you
Wontonimo: :shrug:
jacek: or trolltech
Wontonimo: ah, sorry, i just jumped on the chat and thought we were talking mars lander
jacek: oh my
eulerscheZahl: :D
Wontonimo: looks like it was several different things
eulerscheZahl: mostly search race
eulerscheZahl: Illedan would be happy if he would read the chat
Wontonimo: ah. i didn't do great on that. just blindly applied my CSB bot which is optimized for chaos
Wontonimo: beam definitely sounds like a promising avenue
Illedan: hm?
Illedan: Search Race?!
Illedan: :D
jrke: :smiley: euler was correct!
jacek: master race!
Illedan: Euler doing Search Race?
eulerscheZahl: i'm ahead of you Illedan (just to make you less happy)
Illedan: :scream:
Illedan: Sogeti can wait
eulerscheZahl: we should rename it to ray-ce
jrke: btw is there any way i can make offline submit to see my score?
jrke: for optims
eulerscheZahl: download the game
eulerscheZahl: source is public
jrke: i know that
jrke: but i have to run each test case one by one?
Wontonimo: if your prediction is accurate, your code only needs the first round of input. totally run it offline
Wontonimo: no public source needed
Maxim251: In Tictactoe, I did delete 80% of my code, and I will try start it one more time
Maxim251: But this time, I will use functions bit more like on this movie : https://www.youtube.com/watch?v=IOo7UJuKsHs&list=PLTxllHdfUq4d-DE16EDkpeb8Z68DU7Z_Q&index=16
eulerscheZahl: search race has rounding. java doesn't even follow IEEE standard
Wontonimo: because it is for toasters
jrke: oh lol misread `toasters` `toaders` at first sight
Wontonimo: and someone way back in 1994 though it would be a great idea to put it in a browser. what could go wrong, a toaster controller for programming in the web
eulerscheZahl: there's even strictfp as a keyword
eulerscheZahl: if you really want to be IEEE complaint
BlaiseEbuth: lapsus
Maxim251: I still want use vectors, because I can store different amount of nodes, but using pointers, could be a lot easier... I think.
eulerscheZahl: but i'm sure Illedan never heard about that one :imp:
Wontonimo: hey Maxim251, i'm trying to peddle my flat MC tic tac toe code https://tech.io/snippet/JOG9cSV
Wontonimo: it may help you with ideas for bitboarding your UTTT code
Wontonimo: I didn't use vectors at all for UTTT, and instead used pointers in my first version that got to legend
Wontonimo: that link is a demo of solving 3x3 TTT using MC (not MCTS)
darkhorse64: you can further improve the code by issuing moves as a mask and not as a bit to set (it saves two shifts)
Wontonimo: definitely
darkhorse64: Another likely improvement is to replace the fancy avx wincheck by a table
Maxim251: Nice code, is displaying probability of the best moves....
Wontonimo: i adopted that in my C4 code, but haven't backported it to my UTTT yet
Maxim251: But You use concept of tree search?
Wontonimo: yes, that's a good note. The fancy avx is "for show". I personally don't use it and instead use a lookup.
Wontonimo: Maxim251 I use a tree search in my final bot yes. It's a Upper Confidence Tree with Monty Carlo rollouts , aka MCTS
Maxim251: I see that Uou start play code from random choices, and see how it ends, and then from that random moves calculate how many times was win, and calculate percentage of it
Wontonimo: the link i sent isn't a final bot for UTTT, but just a demo for 3x3 TTT, that shows that Monte Carlo is quite useful, even without a tree. A UCT makes it much more powerful though
Maxim251: Of cource, But that give mi another way to think about that.
Wontonimo: awesome, then it fulfilled its purpose
Wontonimo: ideas and connections
Maxim251: Heh, Your code is much smaller, then my previouse one :D My one was gigantic at the first time. Now when I know what I have problems with tree, I have better wision how coding part two should look. Or what I want to do now :)
jrke: damn my clash bot is working!
Illedan: Nope, never heard about it euler :P
Maxim251: I have now new concept... Probably it will take next 7 days to make it roon :P
jacek: mhm
Wontonimo: tell me about this clash bot jrke
FalINTOblivion0112: i am solving the puzzle of the week...
eulerscheZahl: you have a bot for clashing? great but don't use it
Astrobytes: Yeah, proof of concept achieved. Disable it.
ZarthaxX: clash of bot meaning smart one?
ZarthaxX: clash bot*
jacek: oh abalone approved
ZarthaxX: maybe it's just a bot that enters games
xxd: maybe its a twitch bot
eulerscheZahl: and then submits from a list of known solution i suppose. updating that list when someone else publishes a better one?
Wontonimo: oh, vry klvr
xxd: I'd appreciate any feedback on my Clash contribution: https://www.codingame.com/contribute/view/7206774f7c01f68b28b03316b5bca1a0a27b
ZarthaxX: oh no i just thought it got into a game and leave
Wontonimo: :D
Astrobytes: Extremely not-clever at this particular point in time.
Wontonimo: I like that
eulerscheZahl: using a clash bot is an easy way to get some new enemies. including the community manager
eulerscheZahl: enough said
Wontonimo: my plan is to just let my CoC score slowly die
eulerscheZahl: how to solve my overshooting in search race? :/
ZarthaxX: Astrobytes why?
ZarthaxX: did something new happen?
ZarthaxX: related to bots
Wontonimo: hey, have I told you about how I solved overshooting in mars lander eulerscheZahl ?
Wontonimo: haha
eulerscheZahl: we don't talk about that ZarthaxX
Astrobytes: Nothing public.
ZarthaxX: mods only?
Astrobytes: Just take it from us: don't write a clash bot and use it.
xxd: how can i see who else is from my school
ZarthaxX: nah im over with clash :P
xxd: on codingame, that is
Wontonimo: got to school
Wontonimo: i was too slow
Wontonimo: https://www.codingame.com/leaderboards/general/global?column=schoolcompany&value=SAME
Wontonimo: try that xxd
xxd: oh, through leaderboards, gotcha
Wontonimo: and then you can judge them at the same time you look them up
xxd: thanks
xxd: they're level 1 xD
jacek: a hex game approved and MSmits isnt there already? oO
KiwiTae: ZarthaxX u so nosyy :p
eulerscheZahl: and he's certainly not an ArthaxX. i haven't seen any usable dice yet ;)
eulerscheZahl: but don't worry, at the moment i'm way too lazy to touch the game anyways
ZarthaxX: i didnt get the arthaxx
ZarthaxX: we have been busy with gf :(
ZarthaxX: end of semester
Astrobytes: Art-haxX. The dice art.
eulerscheZahl: no problem
ZarthaxX: also some training camp for her
eulerscheZahl: Artistbytes can help
ZarthaxX: aaand her grandma died last week
eulerscheZahl: oh :(
ZarthaxX: and her whole family had covid too
ZarthaxX: everything has been bad
Astrobytes: Sorry to hear that Zartho, that's quite a run of bad luck. Wondered where you'd been.
eulerscheZahl: i was just nagging you a bit and you replied with a horror story
ZarthaxX: another family member died of covid three weeks ago
ZarthaxX: eulerscheZahl sorry :/
ZarthaxX: i didnt forgot tho :D
Astrobytes: Damn dude, really sorry to hear that
Wontonimo: is it really bad in South America?
ZarthaxX: Astrobytes well im personally busy with work haha
Astrobytes: :D
ZarthaxX: on top of all that
eulerscheZahl: are vaccines getting an option in Argentina already?
ZarthaxX: Wontonimo yep it sucks
ZarthaxX: i mean vaccines are being applied way more now, because we are on elections time
ZarthaxX: :D
ZarthaxX: also pfizer doses coming because we are on elections time
eulerscheZahl: here we already reached a state where we have more vaccines that people willing to get one
ZarthaxX: that has not happened here yet
ZarthaxX: government is still the problem
Astrobytes: I got my date for my second dose today, and sent off my PCR test to see if I'm covid positive or just have flu
ZarthaxX: sorry toad for the sad story, but wanted to make a summary of life
ZarthaxX: as i havent been here anyway
ZarthaxX: :P
ZarthaxX: Astrobytes nice and not nice
eulerscheZahl: i'm sorry for you. one day death will get all of us
eulerscheZahl: but that's a lot in a short timespan
ZarthaxX: but for now, we can cg
Astrobytes: :)
ZarthaxX: oh i also won a gift card for amazon
Astrobytes: #winning
eulerscheZahl: how did that happen?
ZarthaxX: there was a challenge here
eulerscheZahl: so you won by skill and not by luck?
ZarthaxX: i can win locally :rofl:
ZarthaxX: right
ZarthaxX: ended first
**eulerscheZahl is still waiting for the smart watch
eulerscheZahl: did you already receive your gift card?
ZarthaxX: still owe you that tshirt
ZarthaxX: on it
eulerscheZahl: whatwas the challenge about?
ZarthaxX: well that was the meme
ZarthaxX: chuck norris codegolf
ZarthaxX: but my solution sucked
eulerscheZahl: that's how you won the gift card?
ZarthaxX: yeah, sucks
ZarthaxX: lol
eulerscheZahl: have you seen this? https://clemg.github.io/pythongolfer/
ZarthaxX: yeah
ZarthaxX: i talked with wonto
ZarthaxX: got to 76 on contest
Astrobytes: which contest was this?
ZarthaxX: i mean challenge
eulerscheZahl: university contest?
ZarthaxX: nono
ZarthaxX: so last week was a special one
ZarthaxX: many specialized courses in uni
ZarthaxX: and many sponsors
eulerscheZahl: 76 isn't that bad. i'm at 86 on chuck norris
ZarthaxX: a sponsor did this challenge
ZarthaxX: the guy that proposed the challenge had 74 chars in cg
ZarthaxX: :rofl:
KiwiTae: im at 89 :( u guys too good
ZarthaxX: yeah 86 would have been 1st place too
eulerscheZahl: mauguignard
ZarthaxX: mine was 135 before, but with that compression could have won
ZarthaxX: yeah
ZarthaxX: i did the encoding locally with python anyway
ZarthaxX: i didnt believ in copy pasting with that tool
ZarthaxX: lol
ZarthaxX: btw toad a friend just left argentina and is now living in germany
ZarthaxX: he posted many pics, germany looks amazing
ZweiPunktFuenf: can anyone give me a pointer on how to solve "Folding a Note"? I am really lost : /
eulerscheZahl: that's a big change. completely new culture and language
ZarthaxX: totally, but i think its worth given current argentina state
eulerscheZahl: that puzzle is too new, haven't tried it. reading time
eulerscheZahl: even then i would probably opt for an English speaking country
KiwiTae: ZweiPunktFuenf just need to handle a big matrix
ZarthaxX: im pretty sure he studied german in school
ZarthaxX: i would obv opt for that alternative
ZarthaxX: :P
eulerscheZahl: wildum moved to germany too. without speaking german before
ZarthaxX: how did he manage to survive? haha
eulerscheZahl: afaik he still lives here. i've met him once. a bit before the code of ice and fire contest
ZarthaxX: oh nice!
ZarthaxX: cg meetings
BlaiseEbuth: About 75 years ago, that was some germans who lived germany for south america... :3
eulerscheZahl: *left?
BlaiseEbuth: Irregulars are for weaks.
eulerscheZahl: https://en.wikipedia.org/wiki/Adolf_Eichmann didn't help him much
eulerscheZahl: fled to argentina just to get kidnapped to israel and then executed
ZarthaxX: :/
BlaiseEbuth: Zarthou!!!
Astrobytes: Not sure that's the appropriate emoji Zartho, lol
ZarthaxX: hey blaaaais
ZarthaxX: Astrobytes wdym?
ZarthaxX: i meant to say like unfortunate
ZarthaxX: like wtf is wrong with people
ZarthaxX: :(
BlaiseEbuth: Everything?
Astrobytes: I mean you shouldn't feel sorry for a Nazi war criminal :D
ZarthaxX: oh
eulerscheZahl: you missed that part? :D
ZarthaxX: sorry i didnt read the link
ZarthaxX: im in "work"
Astrobytes: :D
ZarthaxX: haha
ZarthaxX: i take that back then
eulerscheZahl: you don't have to read the article to know what blaise was referring to
ZarthaxX: justice
ZarthaxX: i didnt understand blaise
eulerscheZahl: bad english
ZarthaxX: yeah lol
ZarthaxX: he popped randomnly and said that lol
BlaiseEbuth: Wasn't random.
ZarthaxX: sorry :(
KiwiTae: >< deeplabel is killin me gotta reinstall ocv
JoseRamonMendoza: I'm going to have a job interview in an hour. I'm here to distract myself while my interview start. I'm scary AF
KiwiTae: JoseRamonMendoza if u go for an interview u got the job. Just dont say or do anything that would make them wanna not hire u hehe
JoseRamonMendoza: Jejejeje
KiwiTae: how do you dezoom the code window lol dunno how i zoomed in
MSmits: oh I missed the daily nazi discussion
Bob_Rocks: Can someone help me with Shadows of the Knight - Episode 1
Bob_Rocks: Specifically the last test case
KiwiTae: nvm refreshed did it for me
Bob_Rocks: :|
KiwiTae: Bob_Rocks whats blocking?
FalINTOblivion0112: daily nazi discussion?
FalINTOblivion0112: whoa
MSmits: i was just kidding
FalINTOblivion0112: lol
MSmits: i scrolled up
Bob_Rocks: KiwiTae What do you mean "what's blocking" 🤔
MSmits: saw some weird shrt
MSmits: sht
FalINTOblivion0112: weird what?
KiwiTae: You need help for it
Bob_Rocks: Yes
MSmits: nvm FalINTOblivion0112 :)
Bob_Rocks: KiwiTae I was doing some testing with locating the bomb, but when I go to the bomb position it's not there.
MSmits: i wonder if the US intelligence agencies monitor this chat
KiwiTae: last testcase might be random dont hardcode the position
Bob_Rocks: I'
Bob_Rocks: I'm not hardcoding the position
Bob_Rocks: and even if it was random
Bob_Rocks: then I would be getting that position at least some of the tiem
Bob_Rocks: time
BobLob: A bit off topic, but I really agree with your username, Bob_Rocks
Bob_Rocks: Thanks BobLob lmao
MSmits: Bob_Lobs
Astrobytes: BobLobsRocks
Bob_Rocks: bruh I dont understand
BlaiseEbuth: Astrobruh
Astrobytes: BlaiseEBruh
Bob_Rocks: I'm going insane over this
vulca: @Bob_Rocks: Note that the last test case has a very large field
Bob_Rocks: Um... okay.
Bob_Rocks: I dont really see how that helps
Astrobytes: the running time
Astrobytes: Big testcases will test the efficiency of your algorithm
Bob_Rocks: It's not the efficiency that is the problem though
Bob_Rocks: whenever I go to the exact spot where the bomb is
Bob_Rocks: it's not there
Astrobytes: . . .
Shorre: What do you mean by its not there? Cant you see whats happening in the video?
vulca: What is the game information output on the console at the step before the last step?
KiwiTae: Bob_Rock the bomb is just not where u think it is
Bob_Rocks: Yes I can but it's right inside of the circle
Astrobytes: Also, what is your approach to solving it?
Bob_Rocks: I tried two different algorithms that I made
Bob_Rocks: and one went to the square where the bomb was
Bob_Rocks: and that wasn't there
Bob_Rocks: and then another went to the square to the left (which was where the input said it was)
Bob_Rocks: and it wasn't there either
Bob_Rocks: Maybe it's in a quantum state in between the two squares
Bob_Rocks: Astrobytes my approach is basically just binary search but in 2 dimensions
Astrobytes: Binary search is all you need yes, you must be doing something wrong at some step
Bob_Rocks: Thanks
Bob_Rocks: I'll keep that in mind I guess
Astrobytes: Debug it step by step
KiwiTae: 9755 2521 the bomb is there last test
KiwiTae: if that helps
BlaiseEbuth: No
KiwiTae: :joy:
BlaiseEbuth: Bombs isn't fixed for a test
Bob_Rocks: 🤔Yeah I dont think that's where it is
Bob_Rocks: it's not because I just went there
Bob_Rocks: it's because I've been going to an entirely different spot
Bob_Rocks: and I know my code is right up until really close
Astrobytes: Then your code is wrong ;)
Bob_Rocks: Yeah I know it's wrong
Bob_Rocks: thank you for the input lmao
KiwiTae: its there cause the bomb doesnt explode for me
KiwiTae: hehe
Bob_Rocks: well yeah it's randomized though
KiwiTae: real? i replayed like 10 times always end up there
Astrobytes: Randomised?
Bob_Rocks: Yeah mine too
Bob_Rocks: that's what it does for me as well
Bob_Rocks: but that's not where my bomb is
BlaiseEbuth: "or some tests, the bombs' location may change from one execution to the other: the goal is to help you find the best algorithm in all cases."
BlaiseEbuth: *for
KiwiTae: on validator maybe
Astrobytes: Oh. Been a while since I did that one.
KiwiTae: same 2016 maybe :/
KiwiTae: 200lines of c# somehow lol
Astrobytes: lol, hey, you live and learn :)
Bob_Rocks: I have like 300 lines of java
Bob_Rocks: :pensive:
Bob_Rocks: I'm so bad
Astrobytes: No, you're just stuck for the moment.
BlaiseEbuth: Stop using java, stop being bad.
Astrobytes: Log everything to stderr and work through it to see where you're going wrong
Bob_Rocks: Astrobytes I've been doing that
Bob_Rocks: I did it nevermind 🤮 I'm actually terrible
Bob_Rocks: I shorted it down to 33 lines though
Astrobytes: what was the problem?
Bob_Rocks: Everything
Bob_Rocks: I just rewrote the entire thing and probably got lucky
Astrobytes: I see
Bob_Rocks: Being stuck on a medium puzzle yikes
Astrobytes: It happens, don't worry about it.
FalINTOblivion0112: you mean the puzzle of the week?
FalINTOblivion0112: i couldnt solve it either
Astrobytes: No, it was Batman.
Astrobytes: (Shadows of the Knight)
FalINTOblivion0112: ahhh
FalINTOblivion0112: i really need help on puzzle of the week lol
Astrobytes: Haven't done it, sorry
BlaiseEbuth: Useless mod...
FalINTOblivion0112: hey astrobytes is a good mod
BlaiseEbuth: What's a good mod...
BlaiseEbuth: Anyway, I wasn't. And Astrobytes looks too much like me to be one...
BlaiseEbuth: Astrobuth
AstroHydes: I'm a mood god.
BlaiseEbuth: That's true.
Astrobytes: And I'm the good mod.
FalINTOblivion0112: AstroHydes?
FalINTOblivion0112: funny lol
Astrobytes: Yeah, it's an alt account
Astrobytes: For testing things, testing contribs, etc etc
Astrobytes: And chatting during busy contests, cause the chat gets laggy af
BlaiseEbuth: Oh, the chat is faster with your alt ?
Astrobytes: Yeah, cause it's not got the moderator list of users
BlaiseEbuth: :o
Illedan: Nice jolindien
jolindien: thanks :)
jolindien: but far from pb
Illedan: Yeah, that is another level
jolindien: yep
Astrobytes: Nice. Good job jolindien. And you Illedan.
jolindien: yes gg Illedan
Illedan: Still 24 hours
Astrobytes: + possibility of dapo
Illedan: Let's just hope pb4 thinks he is safe
Astrobytes: Whether he can wreck pb4 is another story
Astrobytes: Yeah :)
jolindien: he isn't ?
Illedan: I'm having my hopes high!
Astrobytes: hehehe
Illedan: Maybe I find the magic eval all of a sudden.
KiwiTae: staying close to budgers?
KiwiTae: gg Illedan
juma: hi! that was my first problem.
juma: I want to practice Rust but I wrote zero code so I went for the python option
CarlosAlbertoRibeiro: is the gravitaional acceleration 3.7m/s^2?
vulca: 9.8m/s/s I thought
luke123456: yes its 9.8
heloche: is anyone hiring ? I do HTML and my annual salary is USD150k
ZarthaxX: lmao, isnt that too much?
MSmits: *I do html *
MSmits: noone does html
MSmits: people code websites these days or use wordpress or something
MSmits: writing direct html seems relatively unimportant
eemsnayr: zarthaxx hit me up on nsa.gov
ZarthaxX: MSmits you can still do it anyway lmao
MSmits: well ok :P
ZarthaxX: eemsnayr aight, going buddy
ZarthaxX: i did it :c
MSmits: in fact I "do" html with my students
ZarthaxX: you see? :P
MSmits: but thats just so they know how websites work. If you do this professionally, I assume you'll always use some language to autogenerate the html
MSmits: but what do I know, I'm not a pro :P
MSmits: though if anyone is paying 150k for html, let me know
ZarthaxX: ah ye you would use a framework
ZarthaxX: like reactjs
ZarthaxX: which i still couldnt finish lol
ZarthaxX: IT salaries are high :P
yamin2000: this very hard for me , i am 2 months in programming .is it normal ?
Peached: yes
Peached: im in for like 1 year now i also struggle