Chat:World/2021-08-06
eulerscheZahl: when do you sleep BlaiseEbuth?
reCurse: Now presumably
ProCoder03: for calc angle in CSB, is this correct
ProCoder03: float xDiff = x2 - x1;
float yDiff = y2 - y1; var radian = Math.Atan2((yDiff), (xDiff));
ProCoder03: i am finding angle from radian seperatly
TranTuan1: nice
ProCoder03: ????
Andres_LeM: are there sql excercises?
ProCoder03: nope ig
eulerscheZahl: that's the closest you can get here on CG https://www.codingame.com/training/easy/parse-sql-queries
BlaiseEbuth: I don't. Why?
XadeBlade: :grinning:
XadeBlade: I know almost nothing about coding, although, I do code block-based code on scratch.mit.edu
XadeBlade: is there any really super duper easy exercise that I could do to learn C#?
XadeBlade: If you want to check my games on scratch by the way, it is XadeBlade
XadeBlade: Is anyone there?
ProCoder03: For C# basics , use Microsoft Learn
ProCoder03: https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/
ProCoder03: for basics
ProCoder03: https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/
ProCoder03: for others after basic
derjack: where to learn basic?
ProCoder03: the first link
ProCoder03: after that for something like WPF or winforms app
derjack: mhm
ProCoder03: refer 2 link and browse for it
ProCoder03: *2nd
Daverino: this is lovely, apparently this teaches you to code and the first question is about fibonacci sequences
ProCoder03: ???
derjack: clash?
derjack: easy puzzles or more about 'teaching'. though this site assumes you have at least some basics of the basics
Visual: oh new features
Visual: "Select your preferred solution" but what if they bot hsuck
martinpapa69: you need to close the browser then
RickJ: What do I have to do to improve the "Coding Speed" certification on my profile? Just do any puzzles, but fast? Or do Clash Of Codes?
Westicles: Do the clash of code branch of the quest map
RickJ: ohhh okay, I see. thanks
Visual: woe, noone solved puzzle of the weak in ruby yet :(
Visual: and its such a perfect fit
derjack: be the first one
Visual: i am, thats how i know there arent
Visual: wanted to compare
BlaiseEbuth: Hey!
BlaiseEbuth: https://www.youtube.com/watch?v=bc0sJvtKrRM
ProCoder03: ??
Visual: i wonder if its worth adding views to a clip via spam if it also adds dislikes
BlaiseEbuth: Hm?
BlaiseEbuth: Who's that guy? Automaton2000, do you know him?
Automaton2000: why it works so well
BlaiseEbuth: So it's a bot? :thinking:
BlaiseEbuth: Anyway. When you're a mod making jokes, people are dumb and don't understand, and when you're a non-mod making jokes, people are dumb and treat you as a fool... -_-
BlaiseEbuth: Automaton2000, level up the debate!
Automaton2000: only need to find how to use it as a puzzle
Uljahn: Automaton2000: you are given a string with a chat joke, your task is to determine whether the author is a mod
Automaton2000: you don't need the @
BlaiseEbuth: do you?
Breyden: ignore the question mark
BlaiseEbuth: Well. I hope you'll find some.
Uljahn: it's ok to ask for help here, just don't expect the solution code
BlaiseEbuth: How do you know he need help for code? :o
Breyden: because im a lvl 3 pleb
BlaiseEbuth: And? Perhaps you need help for quantities in your cake recipe. How does he know?
Uljahn: i assume this chat is somehow CG related
BlaiseEbuth: Don't assume too much, you could be surprised... :smirk:
Westicles: Yeah, there was that suicidal guy yesterday
BlaiseEbuth: Well. I'll assume we're speaking cake. This way we have more chance to help him correctly.
TobiasA: i hate it when my bot beats everyone just to reside below the boss:cry:
BlaiseEbuth: Do a cake.
TobiasA: :cake:
TobiasA: ekac
Breyden: the cake is a lie just like what the compiler says
Breyden: wat
BlaiseEbuth: Why are you trying to compile a cake? Oo
Breyden: because cake is like a program
Westicles: Hey Blaise... Et il parait qu'"on" s'est plaint de moi. ??
BlaiseEbuth: On? Westicles?
Westicles: Oh, never mind. I was looking at the translation...
BlaiseEbuth: Oh. That's a quote.
Westicles: Yeah, I thought "we" meant me. But it was just inscrutable french
BlaiseEbuth: Nah, that's undefined.
herosnowman: I hate that in the clashes the shortest code wins, which means that there are superior languages, meanwhile vb and other beginner languages will always lose
eulerscheZahl: choose the right tool for the right problem. Of course you can complain that VB puts you at disadvantage. But I've also seen players learning Python or Ruby just for golf clashes. Or C++ for bot programming
herosnowman: hi
Humamh: how to make game easier
CrazyCoderCam: where is where you learn how to code in different languages
jacek: duolingo? :v
CrazyCoderCam: no programming languages like python, java, ruby, and go
CrazyCoderCam: ill search that
KiwiTae: CrazyCoderCam u can try codecombat
Im9: u5th45hg5wyg45y774yrhuyehfuy4hgty4g4ukgergv
BlaiseEbuth: Tsss... No mods where needed on that chat. :rolling_eyes:
Astrobytes: I kicked him.
BlaiseEbuth: No kick msg, no proof.
Scarfield: theres a message hidden in his hashed comment
Astrobytes: hey there ScarfedMessage
Scarfield: :wave:
BlaiseEbuth: ShaField
Scarfield: xD
Astrobytes: lol
Scarfield: kickstroBytes
BlaiseEbuth: up
eulerscheZahl: proof https://prnt.sc/1jw2q5h
Scarfield: any rumors about the fall challenge yet?
BlaiseEbuth: Quick photoshop eulerscheZahl :o
eulerscheZahl: i'm spreading the rumor of an escape room contest in November
Astrobytes: Only rumours that it might not be bot programming...
Scarfield: sounds like something that should be a puzzle instead then :(
BlaiseEbuth: or clashs
Scarfield: wait, you are no longer a mod Blaise?
BlaiseEbuth: Was I ?
Scarfield: in a past life maybe
Scarfield: ❤️
BlaiseEbuth: :hugging:
Scarfield: theres no new multies? has the past months been slow?
jacek: theres abalone
Astrobytes: DD
Astrobytes: Volcanoes
eulerscheZahl: i started an old one 2 days ago: dots & boxes
Scarfield: oh yea, domi ko joined the creators :) am blind apparently
eulerscheZahl: more fun than I initially expected. some thinking and not just speed optimizing
Astrobytes: a few in contribs too
eulerscheZahl: and that troll one isn't even there anymore :o
Astrobytes: It's gone?!
Scarfield: yea i remember smitsi sharing some papers on D&B, seemed pretty difficult
eulerscheZahl: we have fencing as the eternal WIP now
jacek: so you fell into d7B hole like smits?
Astrobytes: oh jeez yeah
kovi: thx for push euler
eulerscheZahl: side effects...
eulerscheZahl: i'm pruning too many moves. if i run the same code (random move ordering) multiple times, my minimax gives different scores at the same depth
eulerscheZahl: still better than no pruning :/
Scarfield: must be the highest rated WIP not to go into multi, the troll one :(
BlaiseEbuth: The castle finaly beat it...
eulerscheZahl: almost obvious if you keep it WIP for ages and prevent thus prevent it from getting approved
eulerscheZahl: lots of players will see it. combine it with the quest map that asks you to upvote a contribution
jacek: im behind the frog... should i go back to d&b :thinking:
BlaiseEbuth: Take him by surprise! :knife:
jrke: i always keep trying some thing in D&B and yes if you are not the best go for it!! ;)
jacek: but it is so mathy :(
WannaBeHum1n: anyon,e know a search algo that can be used in the coders game ?
BlaiseEbuth: Yeah someone know.
WannaBeHum1n: thanks god
BlaiseEbuth: I'm the devil, not God.
WannaBeHum1n: oh
WannaBeHum1n: so u are ugly ?
jacek: ifleton search
BlaiseEbuth: Prejudice...
jacek: prejudiceduel
BlaiseEbuth: :D
reCurse: :rolling_eyes:
jacek: :rolling_dies:
WannaBeHum1n: can u dm someone who is not in chat currently ?
eulerscheZahl: you can send a private message on the forum
WannaBeHum1n: forum ?
WannaBeHum1n: ah okk
jrke: euler finally you joined D&B
eulerscheZahl: top bar: community / forum
jrke: :smiley:
BlaiseEbuth: There's a forum?! :o
AntiSquid: JBM when is trolls vs castle released?
eulerscheZahl: yes jrke, i finally got to it. still not sure how to reduce the possible moves. complicated graphs involved and not sure how to detect redundant moves
jrke: for early game or endgame?
eulerscheZahl: like line A and B resulting in the same situation but not C even if they can be part of the same chain
eulerscheZahl: endgame
eulerscheZahl: early game is a total mystery to me
jrke: you are using chains loops right?
jrke: or just normal move
eulerscheZahl: i have some greedy filling of chains
eulerscheZahl: and undoing the last 2/3 of the chain to test what will happen if i exit early
jrke: yeah mine is kinda same
eulerscheZahl: my bot is really basic. not even 300 lines
jrke: reverting last 3 steps and minimaxing which is best giving control or taking control
eulerscheZahl: i have a minimax too
jrke: btw there are some prunings like don't open a bigger closed chain or loop if smaller one is present
jrke: like if you have 3 closed chains of value - 2, 3, 4 then opening 2 is always best
eulerscheZahl: that would require my bot to be smart enough to detect chains
eulerscheZahl: i only do that on the fly in the next deeper stage of the minimax
AntiSquid: minimax for all gamephases of D&B ?
jrke: minimaxing all endgame faces for D&B
eulerscheZahl: yes. so early on it's just 1 action for me + 1 action for opponent minimax
eulerscheZahl: minimax the entire time for me
WannaBeHum1n: how to send a dm guys xD
AntiSquid: go to discord
xxd: i'm gonna try writing my first MCTS, would normal (not ultimate) tic tac toe be a good choice
eulerscheZahl: https://prnt.sc/1jxykrj
eulerscheZahl: @ WannaBeHum1n
AntiSquid: add a jumping frog on top of those lines
eulerscheZahl: normal tic tac toe is fine. easy enough that it quickly convergates. and you as a human can verify that it's correct
xxd: alright thanks
eulerscheZahl: and it's the lowest league of UTTT
WannaBeHum1n: i dont have the new message button
WannaBeHum1n: lol
xxd: each node in a MCTS just stores #wins and #simulations right
xxd: # of wins # of simulations
AntiSquid: might be because you're a "new user" WannaBeHum1n, not sure
eulerscheZahl: shall I send you a message WannaBeHum1n?
WannaBeHum1n: i joined in april
WannaBeHum1n: so yh maybe
WannaBeHum1n: if u dont mind euler
AntiSquid: no, that is the trust level status
AntiSquid: based on your forum activity
WannaBeHum1n: oh
WannaBeHum1n: i see
WannaBeHum1n: ty for help
eulerscheZahl: i just upped your trust level from 0 to 1 ;)
eulerscheZahl: "basic user"
jrke: whats my trust level? i generally remain inactive
WannaBeHum1n: thank you <3
eulerscheZahl: jrke you are 2 - member
eulerscheZahl: next would be 3 - regular. this allows you to hide a post instantly by flagging it as spam
jrke: where can i these infos?
jrke: or this is just for mods?
eulerscheZahl: good question, not sure
ZarthaxX: is this true?
ZarthaxX: lol
eulerscheZahl: https://www.codingame.com/forum/u/jrke/summary
eulerscheZahl: Trust Level member at the top
ZarthaxX: oh but that is on forum
BlaiseEbuth: There's a forum?! :o
eulerscheZahl: of course, we were talking about the forum
reCurse: "Likes given" is a requirement for trust level lmao
eulerscheZahl: yes. even more than received
eulerscheZahl: read those about a year ago
reCurse: I think they reached the point of overengineering a long time ago
eulerscheZahl: was going back and forth between member and trusted
ZarthaxX: makes no sense :rofl:
AntiSquid: some reading can boost trust level on some forums
AntiSquid: so likes would imply you did read before you liked
AntiSquid: hopefully
eulerscheZahl: oh, the forum admin page has a convenient way to access the profile picture without digging in the web dev tools
reCurse: Why is recurse the second most searched term o.0
Astrobytes: fame has a price :D
eulerscheZahl: so you aren't #1 yet? fix it
AntiSquid: fixed your trust level jrke https://imgur.com/a/KboafMi
BlaiseEbuth: They want to verify you're not a bot.
eulerscheZahl: sus? that's Latin for "pig"
reCurse: Ah spring challenge 2021 caused the vast majority
jrke: sus?
AntiSquid: suspicious
reCurse: Admin devs have way too much time on their hands
Astrobytes: or 'suspect'
reCurse: So many reports
reCurse: And useless features lol
jrke: where can we see top searches?
eulerscheZahl: you mean the discourse devs?
reCurse: Yes
eulerscheZahl: i don't even know where you found the top searches. so much to see there
eulerscheZahl: you can't jrke. a mod/admin thing
jrke: oh
eulerscheZahl: and you are one of only 557 trust lvl2 users
eulerscheZahl: so many useless numbers
reCurse: Mods have way too much access...
jrke: cool
eulerscheZahl: that too
reCurse: It's actually ridiculous now that I take a look
Astrobytes: I thought that when I first saw the whole mod panel
reCurse: A few things actually pissing me off
Astrobytes: Doesn't seem that anyone abuses it but still
AntiSquid: not much thought given true, but same issue on other sites
eulerscheZahl: there was only this one incidence of a mod rearranging the discord channels :D
eulerscheZahl: (he thought it would be a setting just for him, not the whole server)
AntiSquid: that was very random rearranging ...
reCurse: Ok for a sec I thought mods had access to emails, false alert
eulerscheZahl: ah, now I found the top searches. i'm at #45 :trophy:
xxd: whats the #1 top search?
reCurse: python
xxd: classic
xxd: recurse is a natural second place
jacek: :notebook: :soccer:
AllYourTrees: P A P E R S O C C E R ?
reCurse: :no_entry_sign:
TheMusicalBeast_58: hekko
TheMusicalBeast_58: hello
xxd: codingame.com/faq now redirects to the playgrounds. the original faq page had my XMPP credentials. how may i find them now that the page has been redirected?
xxd: Oh, I need to use dev tools
xxd: Recommendation for the website maintainers: the "FAQ" link at the bottom when you hit the question mark at the bottom of the chatbox should redirect to https://www.codingame.com/playgrounds/40701/help-center/discussion-spaces instead of codingame.com/faq
eulerscheZahl: this chat might die anyways, moving all to discord :(
Astrobytes: No guarantee on that. Just the chat will never be upgraded/maintained.
jacek: not with that mods' attitude
**jacek :inbox_tray:
michaellan: thats too bad
michaellan: well i reckon this chat is still more active than the discord
Astrobytes: At times.
jacek: its more accessible
PatrickMcGinnisII: hate discord, only use it for gamer channels of local friends from time to time...I always end up uninstalling
AllYourTrees: same
jacek: use web one
Astrobytes: I use the web version only
jacek: im still irc guy
stilllearning2code: anyone know how to do the "boost"
jacek: https://xkcd.com/1782/
eulerscheZahl: webchat++
jacek: print " BOOST" after the coordinates
Astrobytes: lol
AllYourTrees: lol
PatrickMcGinnisII: irc...i stopped using it when youtube downloaders started working correctly
stilllearning2code: i did that but i keep getting warning with not processing all inputs
stilllearning2code: or something like that
Astrobytes: outputting twice?
Astrobytes: paste your code if you like
stilllearning2code: http://chat.codingame.com/pastebin/a2e4bd91-85db-423a-934d-597d16521503
eulerscheZahl: astro is right about double print
Astrobytes: Yep.
stilllearning2code: not sure how to correc it
Astrobytes: Also take your input reading out of the conditionals
Astrobytes: The last line. No matter which condition is satisfied you print twice.
Wontonimo: it helps if you format your code. The readability improvement really makes debugging easier.
Astrobytes: I wasn't gonna say much about that just yet ;)
stilllearning2code: http://chat.codingame.com/pastebin/3a1fc974-ebe5-45c2-a659-a4ff4cf49a47
stilllearning2code: ^something like that?
Astrobytes: There is also: while (once<1)
Astrobytes: oh wait I see you corrected that
Astrobytes: Try it out and see
stilllearning2code: couldnt win
stilllearning2code: any ideas on how to improve?
Astrobytes: But it boosts?
stilllearning2code: doesnt move at all
Astrobytes: post the full code if you can
stilllearning2code: http://chat.codingame.com/pastebin/bb79c0b7-e68e-47d3-8e93-749c6b97cdc9
Astrobytes: that ==180 looks odd?
stilllearning2code: yeah i thought its best if i could go boost in a straight line
stilllearning2code: well i mean my racer moves it only boosts very rarely
Astrobytes: if (!once && dist > someNumber) should suffice
Wontonimo: if in this area of code if (next_checkpoint_angle>90||next_checkpoint_angle<-90){
Wontonimo: never mind
Wontonimo: not in the right league for my idea
Astrobytes: Feel free to help Wontonimo, trying to debug my own mess :)
Wontonimo: well, the first thing i'd suggest is to calculate your velocity
Wontonimo: by storing your previous location
Wontonimo: velocity_x = current_x - previous_x
Wontonimo: same with y
Wontonimo: then instead of targeting the checkpoint, target checkpoint - velocity
Wontonimo: this auto corrects for drift and turn. It is part of a concept called "PID Controllers"
Wontonimo: Here is an example of another game where steering is just based on target location (first link) and then corrected by subtracting speed (second link)
Wontonimo: https://www.codingame.com/replay/574392177
Wontonimo: https://www.codingame.com/replay/574392191
Wontonimo: subtracting speed (velocity) from the target location is the only change between those two controllers
mizlan: crazy how alphazero also uses MCTS
mizlan: although with machine learning too
Gerti: yo
eulerscheZahl: hey, I got 2 wins vs Marchete and dropped him from 3rd to 7th :D
Wontonimo: poor Marchete :(
eulerscheZahl: ah, he's used to that. year-long rivalry
Wontonimo: there's various alpha--- version. I believe one uses minimax instead of mcts
Astrobytes: Only wins against miklla and MSmits really count in D&B
Wontonimo: #1 or delete, eh Astrobytes?
stilllearning2code: i won #1 with that @wontonimo
Astrobytes: lol, not quite
Astrobytes: well done stilllearning2code
Wontonimo: Awesome stilllearning2code !! way to go
stilllearning2code: couldnt have done without you guys pointing me in the right direction
stilllearning2code: here is my final code
michaellan: with the PID controller strategy?
stilllearning2code: any improvements?
Wontonimo: no don't paste full working code
Wontonimo: yeah pid
Wontonimo: hey stilllearning2code, try different values instead of target - 1 * velocity
michaellan: my friend who does robotics talked about that, but it looks too complicated
Wontonimo: try 2, 3, 4 etc
Wontonimo: for the mars lander example. the factor I used was 25
Wontonimo: perhaps tonight to put you to sleep you may want to read this paper about PID https://w3.cs.jmu.edu/spragunr/CS354_F17/handouts/pid.pdf
Wontonimo: it's the best one i've found
Wontonimo: very readable, not too technical
Astrobytes: Also, for something a tad simpler, check out 'steering behaviours'
Wontonimo: and great examples
Wontonimo: oh yeah, google "coding train steering behaviours" on youtube. Losts of great stuff there
Wontonimo: good call Astro
stilllearning2code: oh wow i used to do this in my sophomore year of college
stilllearning2code: ashamed to call myself an engineer now :'(
Wontonimo: what kind of engineer?
stilllearning2code: EE
Wontonimo: oh, just think of it in terms of resistors, capacitors, inductors and you are golden :P
Astrobytes: hehehe not wrong
Wontonimo: mechanical dampening and electrical dampening are identical
ANONYMOUS42: for steering behavior there is an online book that is really easy to understand
ANONYMOUS42: https://natureofcode.com/book/chapter-6-autonomous-agents/
ANONYMOUS42: and it has live examples
Astrobytes: that's the one that accompanies the Coding Train video series
Wontonimo: that's the coding train guy
ANONYMOUS42: yeah
Wontonimo: it's great
jacek: queen vs 2 knights, who would win
ANONYMOUS42: is this a setup for a joke?
jacek: no
jacek: https://www.codingame.com/share-replay/574398038
ANONYMOUS42: I'd image the queen
ANONYMOUS42: imagine the queen would be better
jacek: apparently it is likely a draw
Astrobytes: Depends on the king defense I guess
jacek: and already assuming im trolling :F
Astrobytes: ?
jacek: the anonymous
ANONYMOUS42: i know as much about chess as i know about programming
ANONYMOUS42: virtually nothing
michaellan: that was a cool game
ANONYMOUS42: is your name a reference to bash's xxd?
michaellan: yeah
ANONYMOUS42: cool
michaellan: i actually have never used it, only heard of it when learning about CTFs
ANONYMOUS42: i have used it for golfing before it can be useful there
michaellan: wow, mind elaborating?
ANONYMOUS42: i mean i have won CoC using it but the solutions are gone lol
ANONYMOUS42: i have used it to make a shitty perl solution for chuck norris though
ANONYMOUS42: something like this lol
ANONYMOUS42: tr -d " "|xxd -b -c1|sed "s/.*: .//;s/ .*//"|tr -d " "
ANONYMOUS42: not good at all
Astrobytes: xxd is the hex tool right?
ANONYMOUS42: yeah
Astrobytes: gotcha, sorry, been a while
jacek: hex? what a coincidence...
ANONYMOUS42: also to solve this contribution https://www.codingame.com/contribute/view/7011c3ce31cbd1ad563af76437221e8a618b
Westicles: I suspect the best solutions don't use xxd, but no idea how they do it
Westicles: for CN
ANONYMOUS42: i thought i was onto something but i ended up dissapointed
ANONYMOUS42: my perl solution ended up being 120 chars
Westicles: You can find better than that on non-golf solutions
ANONYMOUS42: yeah i know
ANONYMOUS42: i thought i was going to do it using pure bash but then just gave up and did the rest in perl
Westicles: You can start with this and all the rest in sed
Westicles: tr -d \\n|xxd -b|grep -Eo '[01]{7} '
michaellan: owo
michaellan: my perl solution for CN is 89char using unpack()
michaellan: i still am so confused how the top solutions are in C
Westicles: The C solutions are bash run with a system call
michaellan: why would that be shorter than bash itself?
Westicles: bash compressed into unicode
michaellan: omg
jacek: oh my
ANONYMOUS42: the secret's out
michaellan: i feel like my sequence of s/// operations is pretty optimal... time to port it to bash
ANONYMOUS42: i have an 89 but in ruby
Westicles: well, the secret came out on french chat in march. that is a goldmine for golf
michaellan: does perl's $& not exist in sed?
ANONYMOUS42: it does i just used it
ANONYMOUS42: oh wait i didn't read correctly
ANONYMOUS42: i don't know
michaellan: what did u misread as
michaellan: i am curious
ANONYMOUS42: i understood it as if you can use $& in perl -p for some reason
ANONYMOUS42: lol
michaellan: ah, that is way off xD
michaellan: but yeah my CN solution uses $&
ANONYMOUS42: yeah i guess i made the connection because i literally just used it
mules: ez
ANONYMOUS42: who are you BMing
ANONYMOUS42: lmao
stilllearning2code: anyone able to help understand the task for spring challenge 2021 photosynthesis game
stilllearning2code: ?
ZarthaxX: what do you need stilllearning2code
stilllearning2code: so i am not understandign what the problem statement is asking
BlaiseEbuth: To win
stilllearning2code: lol no i mean what the expected commands and possible values for the commands can be
BlaiseEbuth: Oh! You want us to read you the statement?
stilllearning2code: more like dumb it down a bit
BlaiseEbuth: Yeah... But aren't there some specific points you don't understand?
michaellan: How are opponents' moves represented in MCTS tree?
therealbeef: the first wood league only has one command i think
therealbeef: with one argument
therealbeef: not sure how to dumb that down further ;-)
BlaiseEbuth: MCTS nodes represent game states, not moves.
AllYourTrees: (so the moves are edges between nodes)
BlaiseEbuth: Yeah, but you don't represent them.
michaellan: I see
michaellan: Is it like the layers are alternating "my move" and "opponents move" at every other level?
AllYourTrees: :thumbsup:
BlaiseEbuth: More "after my move" "after his move"
michaellan: understood
mihei: hi guys, does anyone knows anything about new "examiner" achievements?
BlaiseEbuth: Yeah
michaellan: but the goal, when at "after opponent's move" node, is still to try to "win" right
BlaiseEbuth: right
michaellan: how does backpropagation work on oponents node
ANONYMOUS42: anyone know of a non stupid way to return space separated values from perl command in bash
BlaiseEbuth: You have to inverse results
michaellan: $,=" "
michaellan: so win = lose, lose = win?
BlaiseEbuth: yup
michaellan: awesome, thanks
ANONYMOUS42: nice thanks
ANONYMOUS42: wait whats that variable that is initialized to space
michaellan: $"
michaellan: i believee
ANONYMOUS42: nice thank you
ANONYMOUS42: i don't know how you remember them all lmao
ANONYMOUS42: i always have to look them up again
michaellan: i've just been learning perl recently so all this is fresh in my head
BlaiseEbuth: mihei : submit a valid solution on a puzzle -> in the result tab click "learn from the bests" -> enjoy voting...
mihei: BlaiseEbuth thanks
stilllearning2code: i am still not understanding what index value the output expecting is
ZarthaxX: what
xxd: It's nonsensical to use the same MCTS tree if I am pitting two AI's against each other right? I need to MCTS, one to try to maximize for each AI
ZarthaxX: stilllearning2code you get an explanation of inputs and outputs in statement
xxd: s/need to/need two
ZarthaxX: did you see that part stilllearning2code?
stilllearning2code: not seeing it
stilllearning2code: are we talking about the same thing?
Astrobytes: did you scroll down on the statement section?
ZarthaxX: you are not being clear tbh :P
xxd: can someone confirm my question about using two MCTS's
xxd: i just want a sanity check as i'm learning this
ZarthaxX: for what
stilllearning2code: so the satement is saying Complete index: make your large tree ont he specified cell complete its lifecycle. This removes the tree
ZarthaxX: xxd if its a turn based game 1 MCTS makes sense
xxd: oh, interesting
ZarthaxX: one level is player1 action, the other player2
ZarthaxX: like say odd depth player 1 and even player 2
ZarthaxX: so at each node you check whose turn is and check that player moves
xxd: but wouldnt the tree get explored in different manners
xxd: due to one player trying to exploit player1 wins and the other trying to exploit player2 wins
ZarthaxX: that's why you do an eval that takes into account this tho
ZarthaxX: say for player1 a win is 1, but when adding it to player2 node it's seen as a -1
xxd: oh wow
xxd: so like the backpropagation alternates -1 and 1 as it goes up?
AllYourTrees: ya
ZarthaxX: yup
ZarthaxX: think about it
ZarthaxX: im player1, i do a move, and then the result of that new state is a win for enemy, so 1 for him
ZarthaxX: i will take it as a loss, a -1
ZarthaxX: just add based on current perpsective
ZarthaxX: perspective*
Astrobytes: every depth is another players turn, every node in that level is a state resulting from available moves that can be played
BlaiseEbuth: And there's no spoon
AllYourTrees: and usually the answer is 42
AllYourTrees: not always tho
Astrobytes: -42
ZarthaxX: LOL
xxd: ha
BlaiseEbuth: ngl
Wontonimo: later Blaise
BlaiseEbuth: hm?
Wontonimo: oh, i thought you were signing off. Arn't you signing off?
BlaiseEbuth: Should I?
Wontonimo: what does ngl mean?
BlaiseEbuth: Nam Gloria Lucifer
BlaiseEbuth: :imp:
Wontonimo: oh
BlaiseEbuth: Answering to ZarthaxX 'Lucifer Our Lord'
AllYourTrees: hahahahha
xxd: when expanding in MCTS, what do you do if a child state is already terminal node
ZarthaxX: wtf hahah :P
ZarthaxX: xxd thats where the fun begins :P
ZarthaxX: you can just baqckpropagate the result as youy already know it coz its terminal tho
xxd: so i keep the node as a child, and if i hit it during selection i just backpropagate?
xxd: okay
Wontonimo: yeah
Wontonimo: no problem
Wontonimo: and that updates both the score
Wontonimo: and the count
xxd: perfect
Wontonimo: because it updates the count
Wontonimo: it increase the regret factor for the unvisited nodes
Bradltr: https://www.codingame.com/clashofcode/clash/1903103bb92cec127038fec759f43318e625f65
Wontonimo: and eventually, even if it was a really good terminal node
Wontonimo: the regret factor will be high enough that the other nodes will be explored
Wontonimo: Don't post clashes here Bradltr
xxd: regret factor is the c*sqrt(ln(N)/n_i) right
Wontonimo: yeah
xxd: i'm gonna join this clash and see if i can bonk them real good
Bradltr: You will
AllYourTrees: me too
AllYourTrees: gl
xxd: u2
Wontonimo: !I
Bradltr: Clash I posted is for https://www.twitch.tv/codinggarden
xxd: i saw his stream appear on my feed today earlier while i was testing my irc client on twitch chats :D
Bradltr: I dont know if you saw but he reviewed your solution :)
xxd: yup i saw :) not my proudest solution but i'll take a #1/40-something anyday
Astrobytes: those links appear in #clash and on the discord so no need to post them in World (or any country) chat
xxd: if everybody at high leagues is using MCTS (i assume), is the goal just to see who can squeeze more iterations in?
xxd: wait a second....
xxd: from our earlier chat where we talked about 1 and -1 backpropagation
xxd: isnt that congruent to a normal backpropagation, but having opponent use (n_i - w_i) where n_i = num simulations and w_i = num wins
xxd: use (n_i - w_i) in place of w_i
YurkovAS: xxd https://www.baeldung.com/java-monte-carlo-tree-search https://github.com/Oreshnik/MCTS_TTT
xxd: this video suggests to immediately perform rollout if n_i == 0 https://www.youtube.com/watch?v=UXW2yZndl7U but in the baeldung link it instead always chooses to expand once it hits a leaf node
xxd: i'm a bit confused which to do
xxd: i'm gonna follow the video though
XadeBlade: Hello, I'm not good at coding, so I need your help. Please tell me a really super duper easy exercise that I could do to build my knollege. Also, what is the easiest code?
xxd: am i supposed to create a new tree when my opponent makes their move? or "re-root" my tree at the current state, as in shifting the tree up one time
Westicles: Hi XadeBlade. As a first step I would recommend taking an IQ test. You need to make sure you are above 120 or so to have any chance of success
xxd: (my money is on the latter, since it's already computation thats been done)
xxd: I completely forgot about draws when implementing my MCTS ;-;
xxd: wow my MCTS correctly chooses the middle square for tic tac toe hehe
xxd: i wonder if i should incorporate symmetry into the tree branching or if that is too complicated
xxd: wow my thing consistently plays optimally once i changed my exploration parameter from sqrt(2) to 2
xxd: but this is just trivial tic tac toee
xxd: curiously, it didnt work well when it was sqrt(2)
xxd: hmm, not perfectly optimally but at least optimally for the first couple moves
martinpapa69: faking ide run limit
martinpapa69: so annoying
xxd: man my MCTS is buggy but I have no clue how to debug itt
martinpapa69: debugging an mcts is not easy at first. having a simple clean implementation helps
xxd: this is my dilemma if you care to take a look http://ix.io/3vdN
xxd: it happens every time, so its oddly consistent
xxd: i am wondering if anyone may have ideas why this might happen
xxd: i am not sure how to penalize moves that would cause the opponent to win
martinpapa69: return draw ? 0 : winner == actual_player ? 1 : -1
xxd: what if its happening because theres only a one in 4 chance that the opponent plays that move
martinpapa69: your algo will figure it out which one is the correct move if you implement it correctly
martinpapa69: hmm if encode your players like {white: 1, black -1} you can actually int eval(){return actual_player * winner};
martinpapa69: too clean
xxd: eh its not that big of a deal
xxd: i'm also doing it in python
xxd: so its pretty readable and not very long