Chat:World/2021-05-26
Notter: Should I use custom exceptions for my bot?
Smelty: o.O
Smelty: depends on your goal
Lexer31: smelty
Smelty: yes?
Lexer31: meow
Smelty: meow
master._.mind: mau
Smelty: m e o w
Smelty: pog 26second clash
micoze-stella: m
Smelty: n
Nika22: щ
Hebo: чё?
DaCapo7: can we save our code to continue later ?
Notter: What code?
Notter: DaCapo7
derjack: good morning
derjack: robo :unamused:
derjack: retrained?
AntiSquid: how dare he
ggenilson: how can I battle with a single person?
KiwiTae: ggenilson you go to them and ask them if they want to battle with you, if yes start punching each other
aCat: ggenilson in multiplayer game ide you can substitute boss with any other person with the same / lower league
aCat: there are some remove / add buttons
olaf_surgut: https://www.codingame.com/clashofcode/clash/17746526f300c144f0ae113bf788e21b9eefb54
RoboStac: jacek - yes, plus some other changes
derjack: :thinking: noice
derjack: i didnt inspire you with that cache thing, did i
RoboStac: nah, it was training before that
RoboStac: and of course the version that looked to do better falls into an msmits trap
RoboStac: :(
derjack: i relative lose more vs agade. meh the rps
babouindafrique: suce
vivibgyctu: shuuuuuuuuuuuuuuuuush
vivibgyctu: sheeeeeeeeeeeeeeeeeeeeesh
vivibgyctu: http://chat.codingame.com/pastebin/2d9885e2-abd1-4a0f-9b4e-9f693cc05a24
sprkrd: advancing leagues in coders strike back is hell. I'm clearly better than the bronze boss, but there are so many people that climbing in the leader board seems almost impossible. And I'd rather have the full set of rules before investing serious time with it >:(
Sitja: if you clearly beat the boss you would be first in the leaderboard, you don't have to wait it is pretty fast to ramp up like in one minute you can know
Morcifer: @sprkrd, isn't it just a matter of time even if a lot of people are climbing in that league? I typically found that if I'm better than the boss, by the next day I'd have advanced to the next league.
Morcifer: And since getting to bronze is relatively easy, and rules stop changing at bronze, I never had that problem...
sprkrd: In CSB you don't get the final set of rules until silver
sprkrd: the tutorial reaches up to bronze league
sprkrd: @Sitja: I do think I beat the bot most of the time, unless I'm extremely lucky on the IDE and extremely unlucky in the arena. But yeah, I'll stop crying, have some patience and/or try to find the laziest way to beat people in the middle of the ranking (already got a suggestion)
Morcifer: Oh, crap, good to know!!
One thing that might work is try to look for people's code on github and see what's their startup code, though it doesn't help getting you out of Bronze of course.
sprkrd: That would be a solution, but I'd rather pull my own weight. Pride is my sin :D
sprkrd: I was just crying to vent, I'll eventually get around it ;)
KalamariKing: what we talking about
KalamariKing: csb I take it?
sprkrd: yep
sprkrd: I saw some talk yesterday on the chat about CSB that caught my attention. Never participated in CSB before
KalamariKing: about what? using nns?
KalamariKing: we were talking abt nns a lot yesterday, with ttt
sprkrd: Actually, the conversation was about GAs
KalamariKing: yesterday?
sprkrd: Maybe it was the day before yesterday
sprkrd: But I think it was yesterday. You from US, right? Maybe you weren't awake :D
KalamariKing: must have evolved since me AntiSquid and MSmits were talking
KalamariKing: Yeah probably not lol
sprkrd: AntiSquid wasn't there, it was astrobytes
KalamariKing: ok yeah different conversation
KalamariKing: must have evolved to gas
AntiSquid: what do you need?
KalamariKing: oh hi, didn't mean to ping, sorry We were discussing yesterday's conversations
KalamariKing: Shortly after i left, it went to ga's, right
sprkrd: Yeah, sorry, didn't mean to ping either
KalamariKing: Anti I didn't ping you right? the zero-width space worked?
sprkrd: He went to his slumber again :joy:
sprkrd: Like an ancient dragon summoned on accident
derjack: :upside_down:
Kongslayer69: Is there a twitch streamer hosting clash of code live right now?
KalamariKing: Idk
KalamariKing: Probably not a clash of code, but you could check the streams tab, that little stream icon in the top right
codeing: hello everybody
KalamariKing: Hello there!
codeing: does anyone know a free api to get histical weather ?
KalamariKing: Historical?
codeing: historic
KalamariKing: Google it
KalamariKing: https://www.ecosia.org/search?q=historical+weather+api&addon=opensearch
Tessar: ecosia it
Voudrais: https://www.codingame.com/clashofcode/clash/1775021150c851471599bfcacc62292294c20a7
KalamariKing: yeah, ecosia it
Jeff_93: Hi Guys! How can I set a specific seed in editor mode?
Uljahn: in browser IDE? set mode to "Expert" in settings, thenuse "manual" tab in options
Uljahn: *then use
ErrorCookie: What medium puzzles can you recommend?
Uljahn: any classic ones
Uljahn: those with no author specified
ErrorCookie: ok thonks .(^_^).
Jeff_93: Thanks a lot, uljahn!
Uljahn: yw
MitchPlease: Hrm, Im stuck on the second test case for the temperatures exercise
MitchPlease: I have every other test case passing, but that one is messin with me
Uljahn: you mean testcase 02 "Only negative numbers"?
MitchPlease: yeah, I have everything else passing
Fashathus: Just glanced at that, looks like that's the only case where the correct answer is a negative number. I'd check how you're handling negatives
MitchPlease: but the conditoins I made to meet choosing the right temperature makes it hard for me to access those negative numbers
MitchPlease: choosing the right temperature asks me to invert a negative to a positive
wouter173: nigga
MitchPlease: so, by doing that I make it hard to actually access the negative number in the array
MitchPlease: its also in python so working in an array itself is kinda hard
Uljahn: wut
wotroe: @wouter173 pls no swear
wotroe: this is a christian server
stingalleman: @wpiter173 excuse me?
wouter173: oke
wouter173: en wie
wouter173: wie
wouter173: wie vroeg
jacek: oO
Fashathus: trying to think of a tip I could give you that wouldn't just tell you exactly how to do it
Fashathus: If you're not already I'd consider using abs() in python to help deal with negatives
RogelioMENDOZA: Though be careful with the case abs(t) = abs(current_closest_to_zero)
Fashathus: also instead of overwriting your negative values you could make a copy of the array of values in it and doing comparisons with that
MitchPlease: hmm, maybe I loop through the array and place negative values into another array?
Fashathus: that could work, just be careful you handle the -5 vs 5 case correctly then
Uljahn: MitchPlease: or you could just track min and max bounds while looping through
MitchPlease: gah im so close LOL
Fashathus: That works too, I was trying to help without just telling you exactly what to do lol
MitchPlease: yeah lol, i appreciate that
MitchPlease: the weird thing is
MitchPlease: print(min(tempArray, key=lambda x:abs(x-goalTemp)))
MitchPlease: when I use that min function and print it out both tests pass
MitchPlease: but then the conditions for handling the rest of the numbers arent met
Fashathus: What's goalTemp? isn't this always closest to 0 so the goal would always be 0?
MitchPlease: Yeap, I just made it a variable at the start
Fashathus: Not sure, I don't do a lot of python tbh
MSmits: pycharm is funny. I am trying to convert my TTT NN to use keras
MSmits: pycharm is making some "suggestions"
MSmits: Typo in word "winrate"
ZarthaxX: :rofl:
MSmits: Suggestion, replace with "ingrate"
MSmits: not kidding
MSmits: it's also suggesting to replace tanh with tan
MSmits: (as an activation function...)
reCurse: Is it suggesting to replace keras with pytorch?
MSmits: good one... no :P
reCurse: Truly dysfunctional tool then
MSmits: lol
jacek: so truly oop tool then
MSmits: still not completely clear why someone would prefer pytorch over tensorflow/keras or the other way around
MSmits: I kinda went with the majority here
reCurse: Without trolling my main reason is tensorflow has been a versioning nightmare the past few years, so no telling what it's gonna be in the next few
reCurse: Meanwhile even quite old pytorch code works out of the box
MSmits: sounds like a very good reason to me
MSmits: well I am not too invested in either so if I end up not liking it, I can easily switch
reCurse: Not too invested either but trolling is fun
MSmits: ahh true
jacek: why would mod say trolling is fun
reCurse: I mean the good natured trolling
jacek:
MSmits: if i look at the actual lines of code written for this TTT experiment the part that is Keras is very tiny. I
MSmits: the TTT part is much larger
MSmits: yo
ErrorCookie: hello human
MSmits: hi mammal
reCurse: Did you just assume my species
MSmits: nah he was talking to me I think. I shared my species before
MSmits: noone knows what you are, so secretive
reCurse: I don't know either for what it's worth
MSmits: ahh ok
MSmits: literally the only hard part to converting my code to keras is figuring out how to format the input array
MSmits: i had a python list of lists
reCurse: Tensors typically go from last dimension to first in ordering
MSmits: ah I see
reCurse: Assuming it's contiguous
reCurse: I'm also assuming tf follows the same principles
reCurse: Only fluent in pytorch
RoboStac: if you are trying to pass a single state in you'll probably need to put it in a list too as it expects batches
MSmits: http://chat.codingame.com/pastebin/f96c3b9d-5b6c-4e0d-929a-4d313504a3a9
MSmits: no, i am not putting a single state in
relay: Can you help me in my career? xd:relieved:
MSmits: the xor example had input_dim = 2
MSmits: so i figured i just put 27
KiwiTae: relay here's help o/
MSmits: X = np.array([[0,0],[0,1],[1,0],[1,1]]) y = np.array([[0],[1],[1],[0]])
ErrorCookie: KiwiTae your bird looks tasty
MSmits: I just need to make it a np array i am guessing
MSmits: prolly doesnt understand list of lists :)
reCurse: Sorry this is too specific to keras for me
MSmits: yeah it probably is
relay: o/ i don't understand how i have to prepare coding on this site...(((
reCurse: Alright BT fixed, what's next...
jacek: isnt pytorch == keras, or what am i missing here
KalamariKing: wdym
reCurse: No it's not at all
KalamariKing: pytorch and keras are different
reCurse: Keras used to be an abstraction over different ML libraries
reCurse: Now tensorflow took ownership of keras
MSmits: theano too
reCurse: So who knows if that's still really true
relay: i don't understand how i have to prepare coding on this site...(((/o
KalamariKing: I think *correct me if I'm wrong* keras is higher-level to make pytorch (but mostly tensorflow) easier
MSmits: yeah it's built on top, they say "tensorflow back end"
reCurse: I'd rather work with the library directly than try to figure out what it's actually doing behind the scene when it inevitably messes up
reCurse: But I guess tf == keras now so
reCurse: shrug
reCurse: Maybe a symptom of google overengineering or maybe a symptom I'm just a monkey
struct: re curse is your stc NN?
reCurse: No it's oldschool
struct: ok, thanks
MSmits: this is probably just his contest code
reCurse: Why
struct: just wondering, it was submited around the time you started submiting NNs
reCurse: Ah, no I was still too newbie for that back then
reCurse: I could probably make it work now
reCurse: But then I'd rather finish my puyo clone and make a bot for *that*
jacek: youre doing contribution?
reCurse: Was
reCurse: I don't know what to do next tbh
reCurse: I have zero interest to fix othello and checkers
jacek: :soccer:
jacek: fix oware
struct: amazons, non bookable
struct: ezpz
StevensGino: can GA go into top 100 of CSB?
reCurse: Yes
jacek: oh i know, onitama!
StevensGino: which algorithm you use on CSB @reCure ?
reCurse: Neural networks
StevensGino: thanks
reCurse: I am hesitating between chess, ooc and finish puyo clone
reCurse: Not inspired by :soccer:, oware, amazons and onitama sorry
jacek: if you start chess, will there be the end of this?
reCurse: Well I'd just plug totozero, see what happens and hope that's it? :P
jacek: so many ways to bitboard it
reCurse: Though I might have to squeeze the NN a bit for 50ms
jacek: im using 30ms
jacek: for some reason over that it timeouts often
jacek: could be not so granual search interruption
reCurse: Ah right the random timeouts they won't fix
reCurse: This is actually upsetting
reCurse: Doesn't it just break most 50ms games?
MSmits: not at all
jacek: works well on oware or onitama
reCurse: Hm
MSmits: I get maybe 1 in 100 timeouts using 45 ms
reCurse: Ok then
MSmits: but chess i dunno
reCurse: Maybe it happens more in intensive periods
MSmits: jacek maybe your bot runs into situations where it suddenly slurps 20 ms between checks
jacek: yeah
jacek: who made the chess. who approved it :unamused:
reCurse: Oh right, how quickly I discarded the option of jacek's code being bugged
reCurse: :P
MegaGirl: Can you guys help me understand pseudocode? My instructor returned my assignment again and i don't know what he wants.
reCurse: Not a school tutor sorry
MegaGirl: That's okay. But do you have any recommendations on where I can go to understand it more?
NotHenricDizzle: from what i understand pseudocode is supposed to represent code instead of actually being code
NotHenricDizzle: like a blueprint almost
NotHenricDizzle: "if balance is less than 100 print 'insufficent funds'" would be pseudocode
NotHenricDizzle: because it's not an actual programming language
MegaGirl: It doesn't have any syntax right?
NotHenricDizzle: yeah
Bendu: Sounds about right, yeah
jacek: https://img.devrant.com/devrant/rant/r_2315470_J5vXC.jpg
MegaGirl: Man, that's tricky cause you never really know what the instructor wants.
Bendu: Yeah, especially since psuedocode isn't an actual language, so people may have different ideas of what to write for it
Bendu: Or of what constitutes pseudocode
MegaGirl: So does that mean there is really no WRONG way to write it?
struct: if it works it works
Bendu: That's my understanding, because it is meant to be a basic outline of your program
sprkrd: there's definitely wrong ways of doing it
Fashathus: A couple things you could do. If he has a TA reach out to them as they often do a lot of the grading and may know what they want. Just send him and email saying you aren't sure why he returned your assignments and ask how to fix it.
Bendu: Yeah best advice is probably just to ask
Fashathus: My experience with professors like that is they often explained what they want once in the middle of an unrelated lecture and now expect everyone to remember
MegaGirl: Okay, well thank you all for the advice. No matter how hard it gets I will keep trying and not give up.:slight_smile:
MSmits: wow it's hard to get keras to just do a single prediction and just get a number out of it
MSmits: model.predict(np.array(arr))[0][0]
MSmits: it expects a 2D tensor and outputs one
MegaGirl: jacek, you are funny and just made my day:joy:
sprkrd: clash of call of duty?
sprkrd: you clearly were under the impression this was the google search bar, didn't you
Smelty: dhhhh
BrunoFelthes: MSmits, you was offline yesterday, but I got legend using your tips at UTTT, thank you a lot.
jacek: :tada:
BrunoFelthes: :heart_eyes:
jacek: what did work eventually
jrke: finally i coded a good tracker for opp in OOC
jrke: good winrate
jrke: just loosing due to timeout bug
ZarthaxX: or your tracker being inefficient and timeouting too
jrke: lemme track the timeout now
jacek: you can track opponent but you cant track timeout?
BrunoFelthes: jacek, was the question for me?
jacek: yes
BrunoFelthes: i changed the score to -1 to 1, with a constant equals 0, and the draw is not zero, it is less..
jacek: exploration constsnt?
BrunoFelthes: the UCT constant
BrunoFelthes: yes
jacek: so, no exploration? :scream:
BrunoFelthes: equals 1
BrunoFelthes: sorry
BrunoFelthes: :)
jacek: phew
jacek: nice
BrunoFelthes: but after the legend, i think that i found a bug, because, Almost every time, I have a clear win or lose with 3/4 rounds before the end, and my algo do not detect it... I need to build mcts solver, maybe it will be my algo better, I'm doing 20k rollouts at the starts plays...
struct: 20k for java seems good
BrunoFelthes: my tree ends with 3.5 to 4 billions nodes
jacek: billions?
struct: billions?
sprkrd: really? doesn't add up
BrunoFelthes: yes, billions
struct: impossible
struct: im sorry
BrunoFelthes: why?
struct: 1'000'000'000
struct: right?
sprkrd: 20k rollouts (upper bound, in the subsequent turns it will be less)*81 turns = ~2M nodes maximum
BrunoFelthes: hum
BrunoFelthes: no
jacek: well near the end the 'rollouts' could be in millions if he isnt using solver. but that doesnt means billions of nodes though
sprkrd: assuming a new node it'll be created in each rollout, which won't be the case either
BrunoFelthes: let me check again
sprkrd: yes, but towards the end new nodes are not created
sprkrd: the same old ones are visited over and over
struct: I create every time I do an action
struct: and I get like 15 Mill nodes per turn
BrunoFelthes: oh, you are right, it is million
BrunoFelthes: do you create 15 million nodes in 1 turn?
struct: yes but my mcts expands every action made
struct: its bad
jrke: bruno[weights] += millions - billions * lr
BrunoFelthes: who to not do it struct?
BrunoFelthes: how
struct: well if you do normal rollout
struct: it should be better
struct: expand select one and do random moves until game is over
BrunoFelthes: but every rollout, i need to expand one node, right?
struct: I expand select expand select .. until end
Wontonimo: Nice UTTT bot BrunoFelthes !
BrunoFelthes: thankyou Wontonimo
BrunoFelthes: hum, i see... Is it a kind of minimax?
struct: no, its just poorly implemented mcts :D
BrunoFelthes: hauhahua
jacek: my 'rollout' count is somewhat lower, but they are smarter ~
sprkrd: @struct actually, you're kinda doing tabular reinforcement learning :joy:
sprkrd: With no persistence between games, of course
jacek: no, hes doing expansion till the end
sprkrd: yes
sprkrd: which is why I said it's kinda like reinforcement learning
sprkrd: there is no default policy, only the tree policy
sprkrd: so it's updating for the whole state trajectory
sprkrd: it's not temporal difference for sure
sprkrd: because the target of the updates is the final result, there's no dynamic programming
sprkrd: it's be like one of the algorithms in Chapter 5 of the RL book by Sutton and Barto
struct: I think ill try uttt again
struct: should not take much time
jacek: hmm how many moves does typical backgammon game last?
jacek: would it be feasible for CG?
sprkrd: I think it should be totally feasible for CG :thinking:
jacek: less than 300 plies?
sprkrd: Not sure about the amount of moves though, but there was this algorithm called TD-gammon that nailed the game
sprkrd: (neural network)
struct: longest game was 143 shakes
struct: w/e that means
struct: i dont know if 1 shake = 1 play
struct: ah wait it was just this person longest game
struct: not overall
sprkrd: it's a good upper bound then
ddreams: well, if both players are trying to prolong the game....
sprkrd: but then there can be a hard limit of, say, 200 turns
ddreams: eventually it must end, but I think it's possible that it's extremely long
jacek: it says 55 plies average https://en.wikipedia.org/wiki/Game_complexity#Complexities_of_some_well-known_games
jacek: it could be reasonable to end in draw at 300 rounds
jacek: or count the points(?)
jacek: i dont know the game
jacek: except for td-gammon thing
sprkrd: branch factor of ~250
jacek: due to dices i presume
ddreams: Yeah, you have a score which is basically how many more steps you need to get all your pieces to the goal
sprkrd: I think those are fine stats
sprkrd: for a game
sprkrd: poker would be a good one too
sprkrd: and the top bot could earn some money in online casinos
sprkrd: another source of income for CG
sprkrd: poker outsourcing
struct: I would say yes jacek
ddreams: I don't think poker would be a good game here
struct: but I never played the game
struct: So I dont know the rules
ddreams: Backgammon would fit the format quite well, since you only play a few games with each opponent
ddreams: or just one
sprkrd: @ddreams why not?
Scarfield: you cannot draw in backgammon, first player to get all pieces off the board wins
ddreams: it's too random, unless you play the same bots for a long time
ddreams: and can exploit weaknesses in the other's
UUolfo: that would go for all dice games then?
ddreams: Backgammon is somewhat random, which is why you typically play several times
ddreams: However, a better opponent beats you every time
sprkrd: don't know enough about backgammon to judge that
sprkrd: in fact, i know exactly nothing about bg
ddreams: It's more interesting than it seems
sprkrd: i've always wanted to learn what's it about
Scarfield: its a really good game, there is a reason it has existed for so long :)
sprkrd: but never found the time
ddreams: another point in favor is that it's very easy to write a bot for it
ddreams: but hard to write a superhuman bot
ddreams: at least, it used to be
Scarfield: yea, pretty simple rules, easy to learn hard to master type of game, the dice part is probably the worst for a CG port i guess
jacek: td-gammon is superhuman and its from 90s
MegaGirl: ( ' Hello World! ); :grin:
ddreams: superhuman chess bots are from the 90's too
Scarfield: so am i
Scarfield: but im not superhuman :(
ddreams: it's hard to be
sprkrd: no need to be either
ddreams: exactly, we can write programs that are
sprkrd: better to create something that does the work for us :sunglasses:
Scarfield: if there where a backgammon multi on CG I would definately make a bot for it though
jacek: and got crushed by NN guys
Scarfield: as per usual
ddreams: ^ as is tradition
sprkrd: i think there are new interesting trends in kaggle
jacek: it would take a while tho, i havent done bot for game with random nodes
sprkrd: some kind of differentiable decision tree
sprkrd: xboost or something like that, i don't remember the name
sprkrd: maybe that'll take the place of NNs some day :D
sprkrd: all i know is a lot of people are using that like crazy
struct: just reverse the seed jacek
gon: like crazy
struct: ezpz
sprkrd: @gon did you just predict what I was going to say? :scream:
sprkrd: You just typed that milliseconds after I pressed enter
Scarfield: yea, the dice rolls should really not be somthing you could sim, then it would be another game basicly
Scarfield: and by sim i mean predict
sprkrd: reversing the seed of a prng is a whole endeavor on its own
sprkrd: I think Java uses splitmix64
sprkrd: not trivial to reverse at all
jacek: i'd use secure random
sprkrd: If you do it you just deserve to win
struct: jacek even if you use random
struct: its safe
struct: seed is 64 bits now
struct: used to be 32
struct: thats why it was reversable
jacek: i would not take chance with Random
struct: :(
sprkrd: but, even should you reverse it, you haven't quite won yet
Scarfield: thats only twice the computation though :p /s
sprkrd: you are able to predict future states, but you still have to predict the opponent's action
CodeLoverboy: goooood afternoon!
sprkrd: and come up with a better one, of course
Scarfield: true, but one massice advantage it would be though
sprkrd: yes, but i'd say if you reverse the seed you just deserve to win
ddreams: yeah, even if you only knew your own throws it would be insane
AntiSquid: in breakthrough how do i know which color i am ? do i need to check it myself?
sprkrd: even with a simple generator like LCG you'd need to do quite some work, because you're not getting the generator's output directly, but only the past die throws
Scarfield: its not in the input?
AntiSquid: no
Scarfield: then top or bot of board iirc
AntiSquid: you just get moves in input
struct: well
struct: if its none you are first
AntiSquid: oh ok
AntiSquid: thanks
AntiSquid: makes sense
struct: np
jacek: its None
jacek: and i see reBless took his time to retrain his bot
Scarfield: 0 losses
jacek: :(
sprkrd: BTW, on the same meta-level of reversing the seed, has anybody tried to win by completely breaking the game? For instance, in CSB the field is infinite. What happens if you towards the same direction at full throttle until the x coordinate or the y coordinate exceed the int boundaries?
sprkrd: if you speed towards*
ddreams: I guess you just lose
ddreams: isn't there a boundary?
sprkrd: I don't think there is
ddreams: anyway, that's pretty far, and if you managed you'd perhaps overflow
sprkrd: there's a view box with dimensions 16000x9000, but you can outside that box
jacek: and int is 2 billions
sprkrd: Yeah, I guess in this case what would happen is you teleport to the other side
ddreams: or you'd make the referee fail, which doesn't mean a win for you
sprkrd: but maybe there's something waiting to be broken out there
ddreams: you should be a security researcher then
ddreams: there's a lot of things to be broken out there
sprkrd: sometimes I ponder that option
sprkrd: but I chose a different career path :sweat_smile:
sprkrd: no turning back now
ddreams: what path did you choose?
sprkrd: robotics
AntiSquid: awesome choice
ddreams: that's a more fun path imo
sprkrd: sometimes it can be
sprkrd: however, most of the time nothing works in robotics
sprkrd: only for the demo videos
ddreams: well, have you tried any security research? :p
AntiSquid: you can fix it
sprkrd: well, there's the middle ground
sprkrd: security research for robotics
ddreams: I've done robotics too, for repairing cracks in pipes under the water where it's too dangerous for human divers
AntiSquid: robots will make you fix it ?
reCurse: The ultimate AI
jacek: reCurse anything novel you done to bt?
reCurse: No I just ported all the improvements and fixes, same as uttt
sprkrd: maybe you already know this, but a lots of robots operate with ROS (a framework for sending and receiving messages). ROS has no security whatsoever, so doing a network scan you can discover a lot of robots in research labs that you can control as you wish
AntiSquid: i know ROS
jacek: IoT, the S is for Security
AntiSquid: do you know Darpa subt challenge sprkrd ?
reCurse: Nice, I'll steal that one
sprkrd: this is going to be fixed in ROS2, I think, by 2050 when people start adopting it :joy:
AntiSquid: that's how i found out about ROS
sprkrd: AntiSquid Yeah, I know about Darpa
AntiSquid: did you try their contest then ?
AntiSquid: did you win the millions ?
sprkrd: it's the one about racing in the desert, right?
AntiSquid: no
sprkrd: which one is it then?
jacek: darpa? that military stuff?
AntiSquid: you control 3 bots and they need to cooperate to find all orange stuff in a maze
ddreams: did you guys see the formula 1 ai competition?
ddreams: https://www.wevolver.com/article/the-indy-autonomous-challenge-simulation-race
sprkrd: oh, yeah, I knew that one too, I got them mixed
AntiSquid: last one was cave and the walls were pretty funny to deal with on top of the other difficulties
sprkrd: no, haven't won millions yet :joy:
sprkrd: a workmate suggested me once to participate on that
AntiSquid: this year's the final
sprkrd: never found the time because there's always a lot of papers and deadlines...
AntiSquid: which one is the desert race ??
sprkrd: mmmh
ddreams: "Award $1,000,000 USD to the first Team, $250,000 to the second Team, and $50,000 to the third Team to cross the finish line in 25 minutes or less"
AntiSquid: i only know about dogfight and subt
sprkrd: i think it was darpa too
sprkrd: but from another year
ddreams: in October they will race the cars live
ddreams: 17th of June in a simulator
AntiSquid: exciting, time to code some if-else on CG
ddreams: Only universities are eligible though
sprkrd: ah, then we're eligible :D
AntiSquid: subterranean one was open to all
AntiSquid: is *
AntiSquid: imagine that, you have to sign up for uni to do some contests ...
sprkrd: Yeah, seems arbitrary
sprkrd: I guess hey don't want Roufus and Doufus in the contest
sprkrd: They only want TOP TIER NAMES
ddreams: the best of the best is always found toiling away in some phd-program
AntiSquid: guy and his garage winning a contest * sprkrd
sprkrd: But do phd students have the time for contests? They have to write their thesis :)
sprkrd: Like myself, I should write my thesis instead of procrastinating in CG :joy:
ddreams: that'd probably be their thesis
AntiSquid: prolly they do a mediocre/starter bot to have something to write about and then write it based on that ?
sprkrd: AntiSquid I've always advocated for that, for toppling the powerful :D
sprkrd: Gonna go back to write my thesis. Introspection hurts
ddreams: See you in five
sprkrd: ha, you know it :D
ddreams: Realism hurts
AntiSquid: steal some ideas from contest postmortems lol
sprkrd: AntiSquid Yeah, at least I try to make procrastination productive :D
sprkrd: if i'm gonna waste time, better do it learning something
reCurse: Then is it wasted time
sprkrd: i was about to write just that
sprkrd: you stole it :joy:
AntiSquid: increase depth
ddreams: increase speed
AntiSquid: to think further ahead
jacek: so deep
Andriamanitra: why am i getting 404 when i try to test this clash in IDE? https://www.codingame.com/contribute/view/1462c7bd45e5d5bc2c375166880f72a4d2fe
Andriamanitra: we just had it and i wanna know why i only got 71% after passing all the tests
jacek: i dont know. could it be because its already approved you cant test it in approval page?
Andriamanitra: i've definitely tested other contributions after they've been accepted.. although this one seems to be particularly old so maybe something's changed
jacek: oh
Andriamanitra: oh, apparently going into edit mode first lets me open the ide, nvm
jacek: oO
Andriamanitra: (the issue was that only the hidden validators check for alphabetic ordering in case of ties, if anyone was wondering)
jacek: oh my
WeiserTeufel: hello
WeiserTeufel: just testing it
ddreams: testing is important
jacek: nah, push it to production right away
jacek: on friday evening
KOTS98: Sounds good to me!
Astrobytes: Have I missed anything today?
ZarthaxX: nope astromissed
Astrobytes: Figures.
ddreams: Me, probably?
Astrobytes: Hi tho
ZarthaxX: what is the lastr achievement for optim quest map?
ZarthaxX: top 2% code golf?
ZarthaxX: please say no
Astrobytes: No. But that answer is false.
ZarthaxX: NOOOOOOOOOO
ZarthaxX: why asrtro
ZarthaxX: ;(
Astrobytes: You can do it. I dedicated most of a weekend to it.
Astrobytes: I still won't do the clash path though.
ZarthaxX: i dedicated HOURS a bit earlier just to get 200 chars in dont panic
ZarthaxX: :I
Astrobytes: Do it in multiple languages.
ZarthaxX: that's even worst...
ZarthaxX: you are not funny
ZarthaxX: wait tho, you get ranked with same lang ?
ZarthaxX: :thinking:
Astrobytes: I can't remember what counts tbh
ZarthaxX: i wanna die
ZarthaxX: ty
ZarthaxX: howdy btw
Astrobytes: Search engines and language references + codegolf stackexchange + any CG threads on golfing might help
Astrobytes: The process isn't fun but I guess there is a little bit of satisfaction at the end. Kinda like throwing up.
ZarthaxX: yeah i get you
ZarthaxX: i will do it for sure :)
ZarthaxX: will knock it out today or tomorrow
ZarthaxX: :D
Astrobytes: You got this easy, it's just tedious.
ZarthaxX: sure
ddreams: Why are you doing tedious stuff?
ZarthaxX: i wanna finish and do multis lol
ZarthaxX: the good part
ZarthaxX: ddreams idk achievements :rofl:
ddreams: I'm happy I don't care about those
jacek: i just took the answers from normal puzzles and pasted into codegolf
jacek: some of them were really shorter than my 'codegolfed' solution
Astrobytes: I did it as it was less tedious than clashes. I don't care if the quest map is incomplete, I just won't do clashes
ZarthaxX: jacek for real¡?¡¡
jacek: eeyup
ZarthaxX: automate classhes :D
ZarthaxX: clever jacek
AntiSquid: wait so if optim goal is to get top 2% then the goal post keeps moving for new peeps
ZarthaxX: would have saved me from severe headaches
ZarthaxX: AntiSquid right
ZarthaxX: it's like, painful
ZarthaxX: :D
ZarthaxX: good point
AntiSquid: why didn't they do something like that for multis to increase activity?
Astrobytes: 5% issue
AntiSquid: optim has even fewer people
Astrobytes: Anyway, ignore that. I'm losing salt.
AntiSquid: eat bananas, drink coconut water
Astrobytes: No, I mean my CG sodium levels are being deliberately reduced.
AntiSquid: joking :D
Astrobytes: I know!
Astrobytes: Also, coconut water out of anything other than an actual coconut is atrocious,
Astrobytes: *.
Astrobytes: Bananas are ok when they're a little underripe
AntiSquid: thought it's alright (coco water)
ZarthaxX: wdym by 5% issue?
AntiSquid: check my school ZarthaxX
Astrobytes: Someone else link the discussion please. I am reforming myself.
AntiSquid: https://discord.com/channels/466965651135922206/466965651135922208/798943788516900864
Astrobytes: I also looked it up, in case I was wrong. Y'know, trust but verify :P
ZarthaxX: i dont get it
UUolfo: @Astrobytes Banana water?
Astrobytes: Read that discussion ZarthaxX
ZarthaxX: Astrobytes what discussion
ZarthaxX: ohhh
ZarthaxX: that link lol
Astrobytes: The discord link squiddy posted
ZarthaxX: thought i had to check squido school there lol
AntiSquid: one day people will stop calling me a squid :'(
ZarthaxX: what's up with your school
Astrobytes: UUolfo: that can take a long walk off a short plank that's for sure :D
AntiSquid: it's a reference to that
Astrobytes: *notasquiddy
Astrobytes: just 'anti' is too vague
ZarthaxX: oh i see why the 5%
ZarthaxX: competitors are 5% of platform?
ZarthaxX: that's big anyway
ZarthaxX: :thinking:
AntiSquid: but then competitors are the most active
ZarthaxX: true
Astrobytes: :zipper_mouth:
AntiSquid: hey what do you think astro? bet there's something on your mind you'd like to share, isn't that right Automaton2000 ?
Automaton2000: i don't know how to do anything with it
Astrobytes: You cannot bait me into saltiness.
Astrobytes: I am strong. Like ox.
AntiSquid: what if you see red ?
Astrobytes: I might confuse it with green, depending on the hue and contrasting surroundings.
AntiSquid: anyways what are you up to astro ?
AntiSquid: on CG
Astrobytes: Avoiding CG mostly.
Astrobytes: When I come back I'll probably clean up on all the official multis that I never do because of board games.
AntiSquid: cool, what do you do for fun ?
Astrobytes: Code things. Play guitar.
ZarthaxX: drugs
ZarthaxX: oh sorry
Astrobytes: Hah!
Astrobytes: Not these days sadly.
ZarthaxX: i checked astro, there is a ranking per lang in code golf
ZarthaxX: :)
AntiSquid: what drugs to highlanders take ?
Astrobytes: Ah, there ya go
Astrobytes: Haggaine
Astrobytes: Anyway, I'm a Lowlander.
ZarthaxX: why are you avoiding cg astro
ZarthaxX: :c
ZarthaxX: life doesnt exist beyond cg
Astrobytes: Reducing my salt intake and output
AntiSquid: lol right, ZarthaxX you were MIA most of the time
ZarthaxX: :rofl:
ZarthaxX: that's why i was saying it mostly
AntiSquid: sneaky baer
ZarthaxX: being hypocrite :D
ZarthaxX: i have been always here tho, just dont talk nor do
AntiSquid: where are the good old trolly times gone ?
ZarthaxX: ah, lol
ZarthaxX: those were times
Astrobytes: ZarthaxX has achieved omnipresence
ZarthaxX: trolling ppl nonstop
ZarthaxX: i have become a better bear no,w hopefully
ZarthaxX: :)
AntiSquid: is LelouchV2 or something reminds me of you but his jokes are mild by comparison
AntiSquid: that*
ZarthaxX: wot
ZarthaxX: Astrobytes OmniaxX
ZarthaxX: mhmm ,that could been a good name
ZarthaxX: maybe for alt
Astrobytes: I like it!
Astrobytes: ZarthomniaxX!
ZarthaxX: oh that's nice
ZarthaxX: but sneaky
Astrobytes: It's similar to 'insomniacs', syllabically at least
ZarthaxX: i need a sneaky one, that one almost reveals my name :P
ZarthaxX: :rofl:
ZarthaxX: i have an alt, will change name later lol
AntiSquid: did it get kicked at all from chat ? your alt ?
Astrobytes: AxXiomN
AntiSquid: i need to submit an application not sure what to write @_@
Astrobytes: Your name is usually a good start.
AntiSquid: the cover letter stuff
ZarthaxX: AntiSquid no, why? :P
Astrobytes: Their name
ZarthaxX: what are you applying for????
AntiSquid: usually i paste a default long winded cover, thought i should make it shorter, there's no way anyone ever read that
AntiSquid: just another job within my little world
Astrobytes: Shorter is better. Make them want to look at your CV.
AntiSquid: diff team same department
ZarthaxX: ah okwey
ZarthaxX: gl tho :)
ZarthaxX: true
AntiSquid: thanks baer
ZarthaxX: i have a friend that feels his cv with boilerplate
ZarthaxX: fills*
Astrobytes: Explain why you're right for the position and why you want it.
Astrobytes: Simple as that. It's "PICK ME PICK ME PICK ME YEAH!"
ZarthaxX: *dont you dare reject me*
ddreams: I know where you work
ZarthaxX: lmao
ZarthaxX: :rofl:
AntiSquid: oh noes
ZarthaxX: that's a good one for this situation
MUlRA: how do you use stderr to print debug message in console?
ZarthaxX: lang?
MUlRA: C#
Astrobytes: "Hello. I sleep with your boss. Thanks for the job."
AntiSquid: it shows you in the default code any language
MUlRA: ?
AntiSquid: question mark
Astrobytes: it's in the commented part of the default code
MUlRA: found it, thanks!
Astrobytes: console.error() iirc
Astrobytes: Plus caps
Astrobytes: Anyway. See ya's tomorrow or something.
ZarthaxX: gn astro
ZarthaxX: :*
struct: gn
n-mcnally: can you see your answer history?
ZarthaxX: nope
ZarthaxX: hi Exodomaximus
BrunoFelthes: I'm trying to implement the MCTS Solver at the UTTT, but i dont know how to deal with the draw... Anyone has any reference?
**BlaiseEbuth give a & to BrunoFelthes.
sprkrd: I just treat draws as a result of 0, loses as -1, and wins as +1
sprkrd: when I used MCTS, that is. My current bot uses negamax
struct: solver is quite different though
sprkrd: what do you mean?
struct: MSmits explained it to me before but I cant remember
struct: mcts is different from mcts solver
sprkrd: Is "MCTS solver" a different concept from "MCTS"?
sprkrd: Oh, didn't know that
BlaiseEbuth: Yup, it's some variant...
sprkrd: yeah, looking at a paper describing it now
BlaiseEbuth: https://dke.maastrichtuniversity.nl/m.winands/documents/uctloa.pdf
sprkrd: yeah, it was that paper in fact
BlaiseEbuth: ^^
AntiSquid: 1001 MCTS paper nights
sprkrd: :D
sprkrd: interesting stuff this MCTS solver stuff
sprkrd: Maybe I'll give another chance to my MCTS bot some day and adapt it to use this approach
sprkrd: I see the problem with the draws
sprkrd: One non-ideal solution would be to treat draws as loses if you're the first player and as wins if you're the second (because it'd seem that it's easier to win as the first player, and the second player should be happy enough with a draw)
KyleWardle: How is the percentage score in clash of code work?
Smelty: e?
Smelty: its the amount of validators that you pass
Smelty: ex. if you passed 3/4 of validators you get 75%
KyleWardle: I passed all and it gave me 33%
KyleWardle: at least i passed all the tests given?
KyleWardle: if thats what you mean by validators
BlaiseEbuth: Nein
YurkovAS: BrunoFelthes parent is draw when: all child is solved, hasn't wins and has 1+ draws
BlaiseEbuth: Validators are different from the tests in the IDE.
Smelty: KyleWardle the test are different from validators to prevent hardcoding
Smelty: ....what blaise said
KyleWardle: so it was a reverse one so im not sure what the end goal was but i passed all unit tests, should i rate the test relevancy as poor then?
KyleWardle: Nobody in the full clash got 100%
Smelty: ...sure
BrunoFelthes: Nice YurkovAS, i will try it
Smelty: if you hardcoded it, though, then don't rate it as bad
KyleWardle: I didnt hardcode it
Smelty: because the validators are there to prevent hardcoding
Smelty: okay, then go ahead
MSmits: anyone still have questions about mcts solver?
MSmits: i got pinged
Aftaklas: print(.join(chr(ord(c)^(0x20*c.isalpha()))for c in "fE g!eF"))
Aftaklas: how does for loop work?
MSmits: c is an item in the collection that's a string
MSmits: a string consists of characters
MSmits: so each "c" is a character
MSmits: so first it does f, then E, etc.
Aftaklas: y but how does it work when c is called before the loop
MSmits: it's not called before the loop
MSmits: this is a way of writing that comes from functional programming i guess. Python does this sort of thing
MSmits: it applies whats before the loop to every item in the loop
MSmits: print(c) for c in string
MSmits: would print every character in the string
MSmits: unless i did a syntax error somewhere in there. I dont use this way of coding
struct: msmits you still use the sse instruction on uttt to check for win?
MSmits: mmh i dont know. Let me check
Notter: Should I define custom exceptions for my bot?
MSmits: http://chat.codingame.com/pastebin/0d859ef5-4a63-4a4d-b573-8ca7be1a7103
MSmits: still in there I guess
MSmits: not sure what you mean Notter
Notter: Uhhh
Notter: Like an error if I try to do something that's not allowed
Notter: By the game rules
struct: ah good
struct: its fine, I was trying and found some old snippet from you
struct: that was a little bit slower
struct: But that one is fine
MSmits: ahh ok, i think this is one you improved :P
MSmits: Notter I use debug print statements
MSmits: use whatever works I guess :)
struct: I use return _mm_movemask_epi8(result);
struct: It works
MSmits: oh ok
MSmits: I converted my TTT NN for use with TF/Keras today
struct: nice, did it work?
MSmits: yeah
MSmits: training got really fast
MSmits: but doing a single prediction got slow :P
MSmits: it's because it converts numpy array to a tensor before doing the prediction
MSmits: at least I think thats why
MSmits: it's over 10x slower than my handcoded network at prediction
struct: Still the training should make up for it
MSmits: yeah it does
MSmits: it's only annoying when I try to benchmark 1000 TTT games and it has to do like 30k predictions
MSmits: i mean once i work with a c++ inferer this doesnt matter anymore
struct: will you use gpu or cpu?
MSmits: i'm just using cpu for practice now, but I guess I'll install some tf gpu packages and such when i need to
MSmits: my gpu is suitable at least
struct: ah right you will only code the inferer on c++
MSmits: yeah i will try to use keras locally
MSmits: to train
struct: which gpu do you have?
MSmits: 1060 GTX
MSmits: not the newest but tf said it works
struct: it works yeah
MSmits: I changed my random opponent to also pick winning moves when they are available to be on the same level with nn
struct: Im just going to try to improve UTTT before going back to the book
struct: I got a bit lost
struct: on the book
MSmits: book?
MSmits: you're writing a book?
struct: No
struct: The NN book you are readin
struct: I also bought it
MSmits: ohhh
MSmits: I stopped at page 200, will probably get back to it
MSmits: the backpropagation is soooo dry
struct: poorly explained?
MSmits: no, i just think it's impossible to make that exciting :P
struct: ah
MSmits: but i get the idea
MSmits: i just felt i had enough info to get started.
MSmits: as with any topic, when you get beyond a certain point, google can fill a lot of gaps
MSmits: and Wontonimo as well :P
MSmits: been talking a lot with him
struct: I just need to take it slow
MSmits: yeah
MSmits: btw, as soon as you start trying stuff, just focus on the xor example
MSmits: great place to start
MSmits: mnist is good too i guess
MSmits: but doing ai motivates me more
MSmits: (ai for games)
struct: mnist might be more exciting to start
MSmits: mnist has a fashion set too if you like pants more than written numbers
struct: oh had no idea
struct: But I think ill stick with numbers :D
MSmits: the book goes into the pants and shirt
MSmits: guess it wanted to be original :)
struct: it provides full explanation on it?
MSmits: didnt not read that far ahead, but it has full code so i am guessing so
struct: good
MSmits: in fact, I think the book is so big because it keeps repeating the same code with new additions
struct: I understand code better than words
MSmits: the end of the book has 1 program that is like 20 pages long
struct: that is true
struct: lol
MSmits: I think this the shirt's and pants program
MSmits: is probably 1 page in keras :P
struct: The final chapter is the pants and shirts?
MSmits: I think so
struct: I guess as long as I can code something with it after I read it, its fine
MSmits: you can sure do that
ZarthaxX: mhm
ZarthaxX: i didnt get the top 2% optim achievement and im in 2%
ZarthaxX: wtf
ZarthaxX: ah nvm
ZarthaxX: it was laggy
ZarthaxX: :D
struct: ZarthaxX you going for achievements?
ZarthaxX: yes
ZarthaxX: now its time for 2% codegolf
ZarthaxX: and eventually collab legend
ZarthaxX: but i need to do a contribution lol
ZarthaxX: i guess i will leave that one for now
ZarthaxX: i just wanted to finish the quest map
struct: :D
ZarthaxX: i know, dumb
ZarthaxX: i will do uttt next i think
struct: I wanted to port 2 vs 2 bomberman
ZarthaxX: :O
ZarthaxX: dont do that lol
ZarthaxX: i want to port omnigon still
struct: But than I saw that already exists
ZarthaxX: but need to get with sdk
struct: :(
struct: https://www.pommerman.com/
ZarthaxX: yo wtf
struct: I want to make a multi agent game
struct: but no ideas
ZarthaxX: we could talk about that :P
struct: sure
ZarthaxX: we never did that contest project
ZarthaxX: ;(
struct: which project?
struct: I cant remember :thinking:
ZarthaxX: we were doing it with icebox
ZarthaxX: on the discord cg
struct: ah you and more people
struct: not we :D
ZarthaxX: right
ZarthaxX: i thought you were there too
ZarthaxX: mmmmmmmmmmmmmm
struct: nope
ZarthaxX: wait
ZarthaxX: you were there
struct: im on the discord channel
ZarthaxX: we had this capture the flag
ZarthaxX: :thinking:
ZarthaxX: the fuck
struct: I joined that channel on fall challenge
ZarthaxX: hey ctf multiplayer?
struct: maybe your idea is older
ZarthaxX: ah nvm then
ZarthaxX: was private with you lol
ZarthaxX: you could try a ctf then
struct: ah I think I remember vaguely
ZarthaxX: we could revive that
ZarthaxX: heaxgon board
ZarthaxX: :D
ZarthaxX: that can be cooperative
struct: hell no
ZarthaxX: hahahaha
ZarthaxX: code a la mode nightmare
ZarthaxX: :D
Decco: gaymer
ZarthaxX: ban
struct: I dont really enjoy coop
struct: coop with own units sure
struct: but not with other players
ZarthaxX: i meant that then
ZarthaxX: 4 player ctf?
ZarthaxX: :thinking:
ZarthaxX: maybe 3p
struct: 8p
ZarthaxX: 16p!
Decco: 32p
ZarthaxX: ban
Decco: 128p
Smelty: hi mr fruit
Wontonimo: i hope i never unlock the next achievement in CoC
Wontonimo: hi mr fruit. Who's mr fruit?
Wontonimo: lol struct, "coop with own units sure". I don't think that's coop :D
dscientist: it's me: banana lol
struct: yeah poorly worded Wontonimo
struct: I was trying to mention multi agents
Wontonimo: i thought you were being funny. turns out you are funny as a sideeffect
ZarthaxX: :rofl:
Chainman: This problem guys https://www.codingame.com/training/expert/tiling-by-squares
Wontonimo: alright, it's quite late. See ya all once the planet has rotated 1/4 way around
Smelty: cya wonton :D
Chainman: adieu
Smelty: 再见
Smelty: im dropping ranks in coc T^T