Chat:World/2021-08-06

From CG community
Jump to navigation Jump to search

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

Default avatar.png AndyFromTheWPC: sad

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?

Default avatar.png alocpronoob: ayo

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

Default avatar.png Daverino: this is lovely, apparently this teaches you to code and the first question is about fibonacci sequences

ProCoder03: ???

derjack: clash?

Default avatar.png Daverino: yea

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

Default avatar.png darthinvader666: hey

Default avatar.png Jothegeier: hey

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 @

Default avatar.png Breyden: i need help guys?

BlaiseEbuth: do you?

Default avatar.png Breyden: yes

Default avatar.png Breyden: ignore the question mark

BlaiseEbuth: Well. I hope you'll find some.

Default avatar.png Breyden: thanks for the input

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

Default avatar.png PikaYuhno: jenny

Default avatar.png 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.

Default avatar.png mdxyasir: hello

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

Default avatar.png JohnMelvin: hi

herosnowman: hi

Default avatar.png Humamh: how to make game easier

Default avatar.png CrazyCoderCam: where is where you learn how to code in different languages

jacek: duolingo? :v

Default avatar.png Humamh: lmao

Default avatar.png CrazyCoderCam: lmao

Default avatar.png CrazyCoderCam: no programming languages like python, java, ruby, and go

Default avatar.png Valariael: openclassroom ?

Default avatar.png 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

Default avatar.png mkkhell: ey

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

Default avatar.png stilllearning2code: anyone know how to do the "boost"

Default avatar.png stilllearning2code: ?

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

Default avatar.png stilllearning2code: i did that but i keep getting warning with not processing all inputs

Default avatar.png stilllearning2code: or something like that

Astrobytes: outputting twice?

Astrobytes: paste your code if you like

Default avatar.png stilllearning2code: http://chat.codingame.com/pastebin/a2e4bd91-85db-423a-934d-597d16521503

eulerscheZahl: astro is right about double print

Astrobytes: Yep.

Default avatar.png 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 ;)

Default avatar.png stilllearning2code: http://chat.codingame.com/pastebin/3a1fc974-ebe5-45c2-a659-a4ff4cf49a47

Default avatar.png 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

Default avatar.png stilllearning2code: couldnt win

Default avatar.png stilllearning2code: any ideas on how to improve?

Astrobytes: But it boosts?

Default avatar.png stilllearning2code: doesnt move at all

Astrobytes: post the full code if you can

Default avatar.png stilllearning2code: http://chat.codingame.com/pastebin/bb79c0b7-e68e-47d3-8e93-749c6b97cdc9

Astrobytes: that ==180 looks odd?

Default avatar.png stilllearning2code: yeah i thought its best if i could go boost in a straight line

Default avatar.png 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