Chat:World/2021-02-17

From CG community
Jump to navigation Jump to search

Default avatar.png UnkownUser2768: hi yall

FlyHead: :nerd:

Default avatar.png hosseinZK86: hi

Default avatar.png yassirsecurity: hi

Default avatar.png trashcan06: Servers fixed woohooo!

Default avatar.png yourmomsbutt: hello, has anybody here done kirk's quest?

uvBoss: yeah

uvBoss: whatup

uvBoss: u mean the labirynth?

Default avatar.png yourmomsbutt: no, sorry, I mean The Descent

uvBoss: i have done it

uvBoss: https://www.codingame.com/ide/puzzle/the-descent

uvBoss: this?

Default avatar.png yourmomsbutt: yes

uvBoss: wait let me catch up on what the puzzle is then i can help :)

Default avatar.png yourmomsbutt: i'm having trouble understanding the requirements, more precisely the input the game is providing. is that from 0 to 9? or value 0 is 100, value 1 is 85 etc ?

uvBoss: okay so

uvBoss: there are 8 "grids"

uvBoss: the game provides the height of mountain at each grid

uvBoss: u have to keep record the highest and shoot it

uvBoss: do u get it?

uvBoss: @yourmomsbutt

Default avatar.png yourmomsbutt: what do you mean by grid?

Default avatar.png yourmomsbutt: i am trying to solve it in java

Default avatar.png yourmomsbutt: if it makes any difference

uvBoss: just divisions on the screen which divides the whole thing into 8 parts

Default avatar.png yourmomsbutt: and each of these grids has a different value? grid 0 = 232, grid 1 = 540 etc?

uvBoss: yea the value is the height of the mountain

uvBoss: https://imgur.com/a/xvbRESw

Default avatar.png yourmomsbutt: aha, ok, that makes more sense now. thank you uvBoss! :raised_hands::v:

uvBoss: np ;)

Default avatar.png yourmomsbutt: http://chat.codingame.com/pastebin/20e04b8b-0167-4829-82ea-c10cf5a863e3

Default avatar.png yourmomsbutt: ok, so i had a look at the solution, and they provide the following loop


Default avatar.png yourmomsbutt: my question is, after the for loop is finished, and the largest height is found, and it goes to another iteration of the while loop, won't it basically do the same thing, considering that everything will be reset?

Default avatar.png yourmomsbutt: won't it basically print the same value over and over again?

uvBoss: nono

uvBoss: the updated values will be given every frame

uvBoss: every iteration of the while loop

uvBoss: new values will be provided

uvBoss: @yourmomsbutt

Default avatar.png yourmomsbutt: ohhh so it chooses the highest one each time

Default avatar.png yourmomsbutt: correct, it says "At the start of each game turn, you are given the height of the 8 mountains from left to right."

Default avatar.png yourmomsbutt: thank you!

uvBoss: np

Default avatar.png MelihEkici: Hi

Default avatar.png MelihEkici: can we choose the difficulty when creating a private room?

jacek: no

Default avatar.png Thran: It is usual that task are always very easy in private rooms?

SPDene: Thran if you mean a private clash of code: there's no difficulty rating for clashes, but they're all meant to be solveable in 5 minutes. other than that, it's random which ones you get

AntiSquid: Thran, what you do in private is none of our business

Wontonimo: :rofl:

AntiSquid: joke aside, no, it's random for clash afaik

Default avatar.png Milas44: ye jk jk

Default avatar.png Milas44: ._.

Default avatar.png amin_tabriz: Hi

AntiSquid: greetings

Default avatar.png hosseinZK86: Input Expected output Is HTML a programming language? No. 00110? 0.

Default avatar.png abrman: If I have a *.js function with default values, how do I call the function while using default 1st parameter but setting the 2nd one?

Default avatar.png abrman: Ahh, found it: functionName(undefined, "Foo") :)

Default avatar.png Milas44: html isnt a language

JohnnyLuke: the l stands for language

JohnnyLuke: so ...

magaiti: html is a markup language

magaiti: not a spoken or programming one

magaiti: but a language nonetheless

Default avatar.png Hinokami: hola

Peanutbutter_Warrior: gluten tag from german bread

jacek: oO

Trunks123abc: Yo

geriatric1927: Oo

MSmits: testing my new bot. I think its early game is still pretty weak, but it makes up for it somewhat in the late game

MSmits: this replay is interesting

MSmits: https://www.codingame.com/share-replay/529196969

MSmits: ply 40 -> my bot knows it lost

MSmits: ply 43 -> due to opponent mistake it's now a draw

Peanutbutter_Warrior: That game just hurts my head, I can't even play it myself

MSmits: haha yeah that's uttt

MSmits: it's gonna be top 10 at least

Peanutbutter_Warrior: noice, gl

MSmits: pretty happy with that because there are no random rollouts

Default avatar.png DJSchaffner: can i remove the notifications for people validating contributions? since i am allowed to do that i feel like it spams a little too much

Peanutbutter_Warrior: is that game solved the same way normal tic tac toe is?

MSmits: it's not solved at all

MSmits: but you can solve it from some point in the game, say ply 30 and up

MSmits: in that case it's solved similarly yeah

Default avatar.png DJSchaffner: oh nevermind i found the setting for it

Peanutbutter_Warrior: yeah, i was meaning how tic tac toe the best play for any position is known

MSmits: ah no, my bot just continuously tries to solve if it hits endgame positions and some point it succeeds

Peanutbutter_Warrior: nice job

eulerscheZahl: hi, who's up for a short quiz?

MSmits: me

MSmits: what did i win

Peanutbutter_Warrior: whats the topic?

eulerscheZahl: i grouped chat logs by user and generated word clouds

eulerscheZahl: i give you an image and you guess the user

jacek: AutomatonNN did you hear that?

MSmits: thats awesome!

AutomatonNN: why do you want to participate?

eulerscheZahl: level 1: https://imgur.com/a/nCkLnvq

Astrobytes: mk

MSmits: madknight

eulerscheZahl: that's even a reasonable answer from Automaton :o

eulerscheZahl: and yes, MK :D

eulerscheZahl: https://imgur.com/a/UXsjlNv

MSmits: the ezpz did it

jacek: this could be a puzzle

reCurse: I was going to say MK but CSB was not taking over the whole picture

reCurse: I call BS

Astrobytes: ul jahn?

eulerscheZahl: yes, it's uljahn

Astrobytes: the ye did it

eulerscheZahl: https://imgur.com/a/kqBSa90

Peanutbutter_Warrior: Dunno, but why is D in there

Peanutbutter_Warrior: D

eulerscheZahl: it's from : D

JohnathanBarbee: D

reCurse: jacek?

eulerscheZahl: the tool removes the :

eulerscheZahl: not jacek

eulerscheZahl: jacek pings automaton much more

jacek: and i dont ping myself

Astrobytes: me?

reCurse: Who elses keeps referencing D though

eulerscheZahl: it's Astrobytes

reCurse: Oh really

MSmits: oh Astrobytes is pretty neutral i guess

MSmits: no weird catchphrases

eulerscheZahl: https://imgur.com/a/f6WfigC

reCurse: Yeah removing the nick references would make this harder

jacek: AutomatonNN?

AutomatonNN: what do you mean by that?

Peanutbutter_Warrior: D

eulerscheZahl: not automaton

Default avatar.png ciel617: i do not understand anything you guys talk about lol

MSmits: darhorse?

eulerscheZahl: nope

MSmits: mmh

Astrobytes: struc t?

eulerscheZahl: hint: the 5th most talkative user within the last 10-11 months

reCurse: jacek

eulerscheZahl: db dr

MSmits: ohh ok

Astrobytes: ah, he's quite neutral too

reCurse: 5th most? He's never here

Peanutbutter_Warrior: oh damn thats a big dataset

eulerscheZahl: https://imgur.com/a/wRJ5xBw

eulerscheZahl: surprised me too. i'm going by overall text length to say 5th most

reCurse: With the big euler I would say Automaton

eulerscheZahl: yes

eulerscheZahl: that was easy

Peanutbutter_Warrior: or eulersche and he talks in 3rd person a lot

Astrobytes: yep

eulerscheZahl: https://imgur.com/a/A1kFOmo

reCurse: Ok now it's jacek

Astrobytes: jacel

Astrobytes: *k

eulerscheZahl: yes

MSmits: jacek

MSmits: yeah

MSmits: easy

eulerscheZahl: https://imgur.com/a/hB3GbgV

Astrobytes: smits

MSmits: me?

eulerscheZahl: smits

Astrobytes: I'm good at this

MSmits: nice

eulerscheZahl: https://imgur.com/a/1yzxE90

Trunks123abc: Why do they not have HTML

reCurse: useP?

eulerscheZahl: use and :P

eulerscheZahl: :P => P

reCurse: Oh.

eulerscheZahl: i blame the python library

reCurse: Always a good candidate

Astrobytes: recurse?

eulerscheZahl: correct again

Astrobytes: damn!

MSmits: nice job Astrobytes

reCurse: I'm like weasel word master so that should be easy

eulerscheZahl: https://imgur.com/a/xEJ89gt

jacek: D again

reCurse: it's :D

eulerscheZahl: an extraordinary happy user :D

struct: antisquid

Peanutbutter_Warrior: the ds just crack me up for no good reason

eulerscheZahl: not squid. 2nd most talkative user

MSmits: this users thinks everything is a game

Astrobytes: you euler?

eulerscheZahl: yes

MSmits: ahhh

reCurse: What

reCurse: I thought you'd be 1st

Astrobytes: lol

MSmits: fun quiz

eulerscheZahl: https://imgur.com/a/eYaCCOE

MSmits: now we know who is best at listening here

Astrobytes: Right I gotta run, afk a bit

eulerscheZahl: smits is chatting more than me

reCurse: Yeah was fun, thanks for that

struct: me?

eulerscheZahl: yes, struct

Astrobytes: ok that m,ust be struct

Astrobytes: saw the avx

MSmits: I am nr1 euler?

Astrobytes: later

eulerscheZahl: by text length: yes

eulerscheZahl: see you

MSmits: bye Astrobytes

MSmits: but not by messagecount?

eulerscheZahl: i don't have stats for the latter

MSmits: so I am long-winded?

MSmits: ah ok

eulerscheZahl: easy to generate but i don't have it handy

MSmits: I think I talk in waves. When I do talk, a lot of walls are incoming.

MSmits: I stop when chat is filled with bald old men

eulerscheZahl: so, any specific user you want to see? i have the 100 most active

reCurse: I'm not bald. Wait.

eulerscheZahl: i declare astro as the winner

MSmits: no it's me

MSmits: astro easily the winner

reCurse: You should now use this power for more entertainment and train a chat bot on a specific user

MSmits: btw reCurse, my new non-rollout bot only ended 10th on submit. does 50% winrate vs you in CG bench, but doesnt really stand out in other ways. Still above nagrarok though

reCurse: I still fondly remember inoryy's MK bot

reCurse: Maybe top 5 funny things to happen here

MSmits: i wasnt there then i think

reCurse: No that was a long time ago

eulerscheZahl: how could I miss that MK bot?

eulerscheZahl: :(

struct: I also missed it

reCurse: Maybe I have logs buried somewhere

reCurse: Not sure what to search for though

MSmits: did it just produce mk catchphrases?

eulerscheZahl: fix it ezpz

reCurse: It was scarily hard to distinguish from the real

eulerscheZahl: write a GA for CSB easy top 10

reCurse: It kept referencing random CSB replays with bad URLs

reCurse: Stuff like that

MSmits: that would be funny yeah

reCurse: lol I found myself referencing that bot again to you

reCurse: In 2019

reCurse: History repeats itself

eulerscheZahl: i have a bad memory then :(

MSmits: there's just too much stuff in there

Scarfield: in history?

jacek: maybe it cant avoid draws but at least tries to escape it... https://www.codingame.com/replay/529194852

MSmits: in his head

eulerscheZahl: and you are to blame most according to my stats :P

MSmits: mmh i think you zone out mostly, when i start rambling. I would be surprised if you remembered most of that

eulerscheZahl: i plead guilty :flushed:

MSmits: yeah jacek, your bot is trying to figure it out it seems

MSmits: but those states might be solved as a draw even with infinite time

MSmits: so you cant solve all draws

MSmits: i mean make them go away

jacek: yeah

jacek: but it worked here https://www.codingame.com/share-replay/529195682

MSmits: yeah, that one is definitely solved as a win

reCurse: Oh dear I found

MSmits: but you could still get stuck in repetition

reCurse: December 2016, time flies

reCurse: Not as funny as I remembered though, but still

jacek: its not perfect but ill take it

MSmits: this is not a NN jacek?

jacek: it is

struct: did you use end game tablebase at all?

MSmits: it's hard to use them in the bot itself struct because they are huge

jacek: NN can tells the position's value, and it says its good but if many moves are good it may go round in circles

jacek: no, i didnt. not in game, nor for training

reCurse: For the record I ended up ditching them altogether

reCurse: Was a fun experiment though

jacek: in learning too?

reCurse: Yeah

reCurse: It all ended up worse

reCurse: And using those is a major pain in the ass

MSmits: it took too much "space" in the NN, distorting good play in early games?

reCurse: Like seriously it's a nightmare to use

MSmits: checkers dbs are complicated

reCurse: No it's mostly due to how they're made and how to get good data out of it

jacek: similarly happen to me in bt. for training, i turned off my extended solver and it learned a little bit faster and better

reCurse: They're obviously made to store as little as possible

reCurse: But it makes any use outside their intention very complicated

MSmits: do you mean how they compress invalid states and such?

reCurse: Mostly because of this requirement: a position must not have a capturable piece if either side was to play the next move

reCurse: And they provide absolutely nothing to validate

reCurse: Took me hours to get something decent out

reCurse: And it was computationally very expensive

MSmits: oh right, because when you capture, the branching is small, you need to finish the capturing, then do the lookups

reCurse: Yes, except

reCurse: If *EITHER* side

reCurse: You can end up searching to depth 40 and still not know the answer

reCurse: Unless you do very smart prioritization

MSmits: mmh why 40? Capture chains dont go that deep do they?

reCurse: No but you can't just do minimax

reCurse: Because there will always be sequences of moves that alternate possible captures for the other side

MSmits: isnt that quiescence search?

reCurse: And even checking for repeated positions don't help

reCurse: No I repeat

reCurse: For either side

pabx06: clash of code keep asking if i am a bot wtf ?

JLukeSkywalker: you are too speedy

JLukeSkywalker: or cookies

struct: is to prevent you from becoming addicted

MSmits: i dont follow exactly reCurse, but that's ok,I'm sure I would run into the same issue if i try it and i'll remember what you said

JLukeSkywalker: you in incognito mode or something?

reCurse: It's not just a capture for the side to play

reCurse: It's also a capture if it so happened that same board would be the other side to play

MSmits: ah ok

reCurse: Quiescence is only for captures that make sense in that game, i.e. the side to move

reCurse: But both sides makes this madness

MSmits: I see

reCurse: Oh and I forgot another important detail

MSmits: when I do a endgame db everything is always done from the perspective of the player to move

reCurse: It keeps only information for one of the sides

reCurse: There is no precise way to know other than query

reCurse: So you have half the info

reCurse: Plus those invalid states

reCurse: It's extremely expensive to compute the exact information

reCurse: It's more made as a lookup in your current search

reCurse: If you don't have the info, oh well

reCurse: But if you look to train... bah

MSmits: so it's not usable in a rollout either?

MSmits: say at the end of a mcts rollout where your pieces go < 8

reCurse: It works in the context of a search if I could attach a 40gb tablebase to my bot

reCurse: It doesn't work as well in the context of a NN that tries to train against it

MSmits: because games take too long?

MSmits: or wait, because of the reward check

MSmits: backpropagation

MSmits: you need to look up

MSmits: a lot

reCurse: Well there's a bunch of reasons

MSmits: you check if the NN does the move that comes out of the DB i suppose

reCurse: First it slows down everything with becoming IO bound

MSmits: does *a* move

reCurse: Second you don't have correct information a lot of the time

reCurse: Third if I directly rely on the db during training I need a replacement at runtime

reCurse: To have a replacement at runtime I need the correct way to solve a game

reCurse: The correct way to solve a game is not something that dbs are made to answer efficiently

MSmits: heh, i think if you wanted to do a foray into retrograde analysis, you might have started with an easier game even

reCurse: I have zero interest in this, for now at least

reCurse: I found other ways to deal with endgames

MSmits: ahh ok

Default avatar.png iiAbusinq: what are good beginner coding practice exercises

JLukeSkywalker: pretty much any coding golf problem

JLukeSkywalker: you can link to the actuall puzzle from the golf screen

Scarfield: I dont see the benefit of code golf for a beginner though?

JLukeSkywalker: do the non-golf puzzle

jacek: the puzzles are easy, golfield

Scarfield: oh, makes sense

JLukeSkywalker: you can actually solve it in the golf too

JLukeSkywalker: just might not do well ranking-wise

MSmits: i did that

Scarfield: i missed your second message there :) NNcek

Scarfield: iiAbusinq so either what luke jaywalker suggested or take a look at https://www.codingame.com/training/easy

Default avatar.png iiAbusinq: Thanks all!!

reCurse: Suggesting golfing to a beginner? Is this trolling?

Default avatar.png iiAbusinq: What even is golfing? haha

MSmits: they mean that the golfing puzzles are also the easy puzzles

reCurse: I need to learn how to read

MSmits: i suggest thor, temperatures and batman to my students

reCurse: My bad

struct: Just do CG official Easy puzzles

reCurse: Or stop reading chat while multitasking

struct: thor temperatures descent horse racing

Scarfield: golfing means solving with the shortest possible script, ie. fewest characters used.

JLukeSkywalker: i just suggested it because i think those puzzles other than maybe dont panic are some of the easiest easy puzzles, and good to start with

JLukeSkywalker: you can ignore the golf part

JLukeSkywalker: solving it in the golf no matter what code length you end up with isnt detrimental at all

reCurse: Seems a roundabout way to go

reCurse: But sure

JLukeSkywalker: instead of linking a bunch of puzzles, its easier to just say 'go do the golf puzzles'

struct: Only if CG had a way to filter by success rate

reCurse: Keeping community puzzles separate would have been a start

reCurse: Instead it was made a stop

reCurse: On the plus side it dramatically reduced the number of chuck norris questions in chat

JLukeSkywalker: lol

JLukeSkywalker: for gold csb, does the winning pod have to pass through all checkpoints?

JLukeSkywalker: or can you do like a staggered divide and conquer

JLukeSkywalker: like each pod does every other

Scarfield: each pod has to do the race itself

Scarfield: each pod has to pass each CP to be more clear

JLukeSkywalker: got it

JLukeSkywalker: makes sense

Scarfield: could be an interesting puzzle though, to time and intertwine crossing the CPs with different pods

JLukeSkywalker: yeah, i was kind of hoping thats what it was

JLukeSkywalker: both are cool though, just different strategies

Scarfield: you are free to make your bot work that way xD

Default avatar.png iiAbusinq: Should all test cases be done with the same code?

JLukeSkywalker: yes

Scarfield: yes

JLukeSkywalker: when you submit it tests everything

Scarfield: bah, too slow

Default avatar.png iiAbusinq: Is it possible to add a second condition (if then)

JLukeSkywalker: yes

Default avatar.png iiAbusinq: Do I just add it?

JLukeSkywalker: as long as your code is valid code, codingame should accept it

JLukeSkywalker: with some like version exceptions, etc

Default avatar.png iiAbusinq: Musn't be valid then haha

JLukeSkywalker: want to share?

JLukeSkywalker: can paste here, big stuff will auto pastebin

Default avatar.png iiAbusinq: I'm trying the Mars Lander Episode 2

Default avatar.png iiAbusinq: Not that big, just trying to start out

Default avatar.png iiAbusinq: http://chat.codingame.com/pastebin/03e9ee8d-7903-4569-af58-3407d676ba35

Default avatar.png iiAbusinq: I'm just trying to solve the first test case, I don't understand

JLukeSkywalker: looks like the if-elses there arent stacked/indented correctly

Default avatar.png iiAbusinq: I added the else for a second time as it said I didn't provide an input in due time, but that didnt fixx it

Default avatar.png iiAbusinq: Where should I use else in this case?

JLukeSkywalker: let me try to learn lua if-elses real quick

JLukeSkywalker: unless someone on here knows already

Default avatar.png iiAbusinq: Thanks! :)

JLukeSkywalker: http://chat.codingame.com/pastebin/be575b02-2028-4851-944f-ec2d0bb08e3f

JLukeSkywalker: first indent was off from paste

JLukeSkywalker: but looks like lua if-elses should be stacked like this

Default avatar.png iiAbusinq: Ah okay, thanks I'll try it again

Default avatar.png iiAbusinq: It works, thanks!

Default avatar.png iiAbusinq: Didn't know elseif existed

JLukeSkywalker: np, gl!

JLukeSkywalker: now i know how it works too :)

Default avatar.png iiAbusinq: What's the sign for = not

Default avatar.png iiAbusinq: Is it ~=?

Lobster_Speed: n

Lobster_Speed: no

Lobster_Speed: it is '!='

Default avatar.png jonzel: it almost always is != or <>

Default avatar.png truewulfey: while(true)do end

Tee-Resa: blub

Wontonimo: if you want to make your code less readable you can go with ==!( ... )

-oa-: Man, the mars lander crashing is loud! Rip earbuds

MSmits: there's a solution for that

MSmits: :rocket:

Wontonimo: Hey @MSmits, thank for the UTTT help. Made it to Legend

MSmits: gj Wontonimo

JLukeSkywalker: gz!

MSmits: i stopped working on my non-random uttt bot with eval. I got into top 10 with it and it did well vs anyone in top 10 except karli so and toma toes, but in the end it was weaker overall. I am now trying to merge new stuff i learned with my old bot

jacek: is the log still bottleneck?

Wontonimo: mine is (nearly) random. Just the same square heuristic for opening isn't random

MSmits: ah, I did not have a rollout at all. I expanded a node, then evaluated the node, assigning a score and backpropagating that

jacek: evaluation uttt? oO

MSmits: yeah, it beat your bot :P

MSmits: it's up now if you want to test it

Wontonimo: that's what my python imp did. it worked better than my random python but still was stuck in low silver

Wontonimo: tbo, my eval was probably too simple, just placement count

MSmits: more than that jacek, i had versions that beat re curse... but it's likely RPS, most did roughly 50% vs him

MSmits: overall it just did too badly in early game, losing games it shouldn't, to weaker players

MSmits: and it never beat toma toes or kar liso

MSmits: Wontonimo, my eval is centered on calculating the likely hood of winning miniboards, to maximize both the total count of won boards and the probability of getting a line

Uljahn: so the score is float?

Imdone: Hello guys

MSmits: it is currently, i was planning on converting it to a 16 bit integer for speed

Imdone: i need help with algos

Imdone: i have a number

Imdone: i have list*

MSmits: a list of algos?

Imdone: and i need to find number which have least sum of differences with elements from list

Imdone: something like that [-3, 2, -4] -> -3

MSmits: are you doing a clash?

Imdone: [0, 2] -> 1

Imdone: nope puzzle

MSmits: loop it

Imdone: i have solution but it takes too long

Imdone: what is fastest (optimized) way to find it?

MSmits: ah

MSmits: hmm

Wontonimo: what's the puzzle?

MSmits: i can see the problem. If you have a large list, the naive solution is N^2

Default avatar.png Saad-py: whats the puzzle

Imdone: netwprk cabling

Imdone: network*

Default avatar.png Saad-py: ok

Uljahn: ah

MSmits: Imdone numbers are between what and whay?

MSmits: what are the limits?

MSmits: also are they unique?

MSmits: better link the puzzle

Default avatar.png Saad-py: https://www.codingame.com/ide/puzzle/network-cabling

Wontonimo: @Imdone are you familiar with binary search ?

MSmits: oh i solved that

Imdone: -230 ≤ x ≤ 230

Imdone: -2**30 <=x <= 2 ** 30

Wontonimo: 2^30

MSmits: I used a quicksort

Imdone: 0 < N ≤ 100000

MSmits: make sure you have a fast sorting method

Imdone: @Wontonimo i guess

MSmits: i am trying to understand my own solution :P

jacek: i am dumb... i put othello to my new training pipeline. basically copy pasted code from bt and checkers

Wontonimo: haha ... i was going t osay the same

jacek: it stopped at 30% winrate. i forgot about passing moves

jacek: it propagated bad values

MSmits: ahh

MSmits: yeah

MSmits: those are annoying

MSmits: Imdone somehow i used a median value

MSmits: if you sort the values

MSmits: and then take the median. I think it's optima?

MSmits: optimal

Wontonimo: @Imdone , step back and take a look at the whole problem and try and come up with ways to reduce the problem. For example, you know that the cable can't be above the highest house, or below the lowest house

Astrobytes: Take a look at the test cases and work through it on paper

Astrobytes: (or whiteboard, whatever)

MSmits: it's really a small solution, i tend to be very verbose in my old C# solutions, but this one is, aside from the weird house struct i did just to contain x and y and the quicksort, it's just 20 lines

Default avatar.png Saad-py: http://chat.codingame.com/pastebin/254150e2-c265-482a-a4cd-e421ebd03030

jacek: and yes, within 10 minutes it surpassed my half-day bot :v

MSmits: nice

jacek: you hilighted struct?

MSmits: it's not my fault he named himself that :p

Imdone: submitted median, worked out, thx for help

struct: You should use class

Astrobytes: heh

MSmits: ah but then it would not be immutable

jacek: or java. no structs threr

MSmits: oh wait

MSmits: C# structs arent immutable

MSmits: i always think that somehow

jacek: c# doesnt have final, sealed or whatever classes?

Wontonimo: @Imdone , the quicksort works because errors are proportional to the distance to the solution.

MSmits: not sure jacek

MSmits: euler would know

jacek: AutomatonNN ping him

AutomatonNN: hey guys i want to paste it in the beginning on this site and it works pretty well

MSmits: Imdone good to hear it worked, i was kinda surprised too as i remember

jacek: https://www.c-sharpcorner.com/article/all-about-c-sharp-immutable-classes2/

jacek: hmm it seems you have do it your own - use read only properties

MSmits: ah yeah

MSmits: my VS is always telling me to make everything read only

MSmits: it's so whiney

jacek: why dont you listen

MSmits: i probably should

jacek: or is this your wife's name

Astrobytes: :rofl:

MSmits: no, I am not married to VS

MSmits: but I think i might be cheating on her with VS :P

MSmits: spend far too much time with it

Astrobytes: wooo 1st in Clobber

jacek: because im not there yet

Astrobytes: I'm ahead of tric

MSmits: good job!

MSmits: you're on a roll today. First you speed-analyze everyone's speach patterns and then you wrecked the tric

Wontonimo: any word on if clobber is going to be 8x8 or 10x10 ?

MSmits: will be a while until we know

MSmits: i think basically if there is no need for 10x10 it will be 8x8

Astrobytes: lol yeah

Default avatar.png jonzel: brillant how batman paces like a mf from one bomb to another in this batman puzzle

Astrobytes: Will be 8x8 Wontonimo

jacek: depends if hardcore players will solve 8x8 withing CG constraints

Astrobytes: Just waiting on a boss from darkhorse now

MSmits: solving seems impossible unless there are mathematical rules you can derive that eliminate a lot of possible moves

Wontonimo: could just mess with everyone and make the board size variable and stated at startup ... 5<N<15 lol

MSmits: there have been games that did that

MSmits: especially contest games

Default avatar.png jonzel: how to a prevent this "hard coded solution"flag at the end of a puzzle

Astrobytes: Wouldn't be an issue, just trickier to bitboard

Default avatar.png jonzel: i always seem to get some false positives there

jacek: huh?

jacek: what flag

MSmits: new to me as well

Default avatar.png jonzel: this message "The validators differ from the puzzle test cases to prevent hard coded solutions. This is why you can have some fails here even if all of the tests provided in the IDE have been successfully passed.

MSmits: good message, this is true

Default avatar.png jonzel: this comes up after submitting a solution

jacek: it always shows that if you fail some puzzles

Astrobytes: It just means if you didn't pass them all, that's the reason why

jacek: or your code sucks

Default avatar.png jonzel: but I dont fail any and I dont have any hard coded solutions

jacek: so you passed all the validation tests?

jacek: maybe you forgot some edge cases

Wontonimo: you definitely missed an edge case

Astrobytes: It's not insinuating you've hardcoded anything, it's just explaining that the validators differ from the testcases, like jacek says you have probably missed an edge case.

Default avatar.png jonzel: I think so. "Play all testcases" is all green

Astrobytes: Yes but what about when you submitted?

Default avatar.png jonzel: Wait a sec

Astrobytes: Only the validator results matter on submission.

Default avatar.png jonzel: I see :-D one test fails now. Thanks for clearing that up for me

Astrobytes: No worries.

Default avatar.png finncode2010: hoi

Default avatar.png finncode2010: im new

reCurse: I have a terminology problem if it rings a bell to anyone familiar with graph theory so I know what to google...

reCurse: So you have a graph with some nodes forming a single component. You are allowed to create new edges between any 2 nodes, but each new edge should give the best minimal sum of distances of any node to any other node.

Default avatar.png finncode2010: wat

reCurse: In other words, if you have A->B->C->D->E, you should either create A->C or C->E

Default avatar.png finncode2010: wat

reCurse: Is there any term or algorithm for that

Default avatar.png finncode2010: is happen

Astrobytes: Check with euler for a fast answer, he's on discord

Default avatar.png finncode2010: hello

Default avatar.png finncode2010: ?

MSmits: ye euler is most likely to know this

Astrobytes: finncode2010: we heard you the first time.

MSmits: if i even knew an algorithm that did this it's unlikely i would know the name =/

Default avatar.png nvc-_: yoo

reCurse: The hardest part of research is figuring out the terminology to google :/

Default avatar.png iiAbusinq: Is it possible to work together on a code on this site

MSmits: true

Default avatar.png nvc-_: y is this so hard

jacek: well i did many graphs algorithms not knowing their name

MSmits: iiAbusinq you could share an ide outside CG and paste the solution here

reCurse: My bad the graph is not directed by the way

MSmits: but you're not supposed to share solutions on two accounts

MSmits: at least not in any competitive way

MSmits: simple practice puzzles are ok i think

Default avatar.png iiAbusinq: What's a good online code editor which more than one person is able to use?

MSmits: repl.it, but if you're not paying, it's public

MSmits: this is if you dont want to get involved with gith, which is of course more professional

MSmits: repli.it i nice for short python scripts

MSmits: repl.it i mean

reCurse: Oh I think I figured it out

reCurse: Thanks rubber CG

MSmits: :duck:

jacek: what is it

Astrobytes: don't leave us hanging!

Default avatar.png finncode2010: hi

jacek: is it: dissapointment? 5%?

MSmits: oh, is he working on tryangle?

MSmits: make sure to channel the disappointment reCurse

Default avatar.png finncode2010: what is happening

reCurse: I think it's any node with distance 2 that has the greatest number of reachable nodes that don't involve distance 1

reCurse: But I can't prove it I'm not mathematician

reCurse: :P

MSmits: you can't prove it to us, but your brain neurons proved it to eachother

Default avatar.png finncode2010: btw recurse is a cool name

struct: Does Prim's algorithm work?

struct: Or is it for something else?

reCurse: Oh no I'm wrong actually, forget it

reCurse: Hmm maybe struct, need to read more, thanks for the hint

Astrobytes: Yeah, aren't you trying to find minimum spanning trees?

reCurse: Well it might be slightly different

reCurse: In my problem, the optimal is a graph connecting any node to any other node

reCurse: So all distances are 1

reCurse: The idea is to find an algorithm that would minimize the sum of distances by using few new edges

reCurse: So a balance between number of edges and overall distance

reCurse: Makes sense?

struct: So you want to make it the shortest possible using the fewest edges possible?

reCurse: In other words, the minimum spanning tree is not optimal

reCurse: I could keep adding edges

reCurse: Well I think I can get something good by finding which new edge would give the best result in a greedy fashion

reCurse: So take the new edge which has the lowest sum of all distances

reCurse: Until some criteria is met

JLukeSkywalker: does anyone have a good strategy guide for code vs zombies? I can pass all the tests, but the score is meh

struct: random

Astrobytes: that seems sensible reCurse, until you can get a better answer from euler

reCurse: It just seems wasteful and the kind of problem probably already studied in some fashion

MSmits: JLukeSkywalker I used a monte carlo to get top 300 or so, then cheesed my way to (i guess) top 20 or 30, dunno what it's at now

MSmits: with optims, most of the time the validators are known and you can solve them by hand with some optimization tools to speed things up

MSmits: i guess maybe people used GA and/or SA combined with manual to do this or some smart MC

Default avatar.png RSBat: ga = genetic algorithm sa = simulated annealing?

MSmits: yes

Default avatar.png iiAbusinq: How does one use the same code to solve all text cases?

MSmits: it needs to be flexible enough for that

Wontonimo: ^

Astrobytes: Solve the general problem not the individual tests.

Scarfield: ^

Scarfield: AstroWise

MSmits: ^^

Astrobytes: lol

Astrobytes: CaretField

JLukeSkywalker: cg fudge is such a terrible puzzle for color blind people

Astrobytes: *funge - and yes it's a nightmare.

Astrobytes: I moaned but euler told me to make a PR if I was that bothered :D

Scarfield: google told me you didnt call me a carrot xD

Astrobytes: No but the wordplay was intended ;)

Scarfield: im not a carrot :'(

MSmits: dont cry

MSmits: have a :carrot:

Scarfield: xD

Astrobytes: Nope. Just a field of ^s

MSmits: mmh I am compressing the uttt top 20

JLukeSkywalker: my cg funge is a field of ^

Astrobytes: :D

MSmits: pulling high ranked down and pushing lower up

jacek: :+1:

MSmits: gonna stop submitting or Vingte will pass re curse :p

jacek: i dont mind some pushing in oware as well

MSmits: already pushed him beyond tomatoes

MSmits: ow, lemme try a submit

MSmits: oware IDE loads soooo slow

Astrobytes: Not just oware

MSmits: no i know, is there something they can do to fix this?

MSmits: all i want is a simple place to dump text

Astrobytes: Donno. It's been extra slow since last weekend loading-wise

MSmits: I see

struct: try opening it with chat disabled

struct: ?disableChat

MSmits: but then i will miss you

Astrobytes: awww

struct: I dont know where all the lag comes from

MSmits: i am guessing euler is taxing the server with his big data project

MSmits: trying to understand our speech patterns

MSmits: and such

Astrobytes: hahaha

Astrobytes: at least it explained his absense

Astrobytes: *absence

Astrobytes: Bet he's doing lots of ML stuff to get up to speed

jacek: hes making his own chat. with blackjack and hookers

Astrobytes: :D

MSmits: ohh thats it

MSmits: he's creating replacements of us

MSmits: copies

Astrobytes: Replicants!

MSmits: so that he can chat with us even at 6 am when the normal people are asleep

Astrobytes: hahahaha

Scarfield: lol

Default avatar.png RSBat: sometimes i wish i used rust instead of c++

Scarfield: 25h 20m untill mars landing :o

Default avatar.png RSBat: too much unexpected behavior in c++

Default avatar.png Explosion-Scratch: hi people

Scarfield: hey

Default avatar.png jonzel: Like what expected behaviour in cpp? I am learning for an upcoming cpp exam

Default avatar.png RSBat: the one i just encountered was int a = static_cast<const Foo>(foo).b call copy constructor of Foo

MSmits: lot's of foo

jacek: you were supposed to push me up :F

MSmits: sorry, if you look at Robo's matches, all of them are with me as player 2

MSmits: I win 100% as player 1 :P

MSmits: bad luck

MSmits: at least you have the same rank right

jacek: ok booker

MSmits: :P

JLukeSkywalker: funge hurts my head

MSmits: it's fudge

MSmits: eat healthier

JLukeSkywalker: got it to do 1-3

JLukeSkywalker: now i need to do loops

MSmits: I suggest you look here:

MSmits: https://www.rxwiki.com/slideshow/6-worst-desserts-your-health/fudge#:~:text=But%20clocking%20in%20at%20around,little%20in%20terms%20of%20health.

JLukeSkywalker: lol

jacek: #keto plx

MSmits: are you on that jacek?

jacek: i try to. at the very least fasting + low carb

jacek: good for brain

jacek: as you can see

Astrobytes: (he eats hay and fresh grass)

MSmits: sure

reCurse: Summing up all those articles and studies seems to indicate eating food is bad for you.

jacek: https://en.wikipedia.org/wiki/Inedia is the only way

JohnathanBarbee: It

jacek: and cheap

Wontonimo: 100% of people who eat food eventually die

JohnathanBarbee: ^

Wontonimo: fun fact: you can go without food for the rest of your life

reCurse: Breatharians? I'm perplexed if I'm better or worse for knowing about that.

jacek: you never know until you try it

reCurse: It's like discovering a new uncharted parcel of land in the continent of madness.

struct: Why did I google it :rolling_eyes:

reCurse: That was in the article

jacek: no need for google, i linked it

struct: ah I didnt open the article

jacek: you dont open my links? :<

reCurse: Wouldn't blame him

Astrobytes: "a new uncharted parcel of land in the continent of madness." - amazing.

struct: Is there any research why some people think like this?

Wontonimo: USA

Wontonimo: it's a whole country

Wontonimo: j/k

Astrobytes: Ancient Hindu texts are not always good to live by

jacek: i cant hear you over my third eye

Astrobytes: :P

reCurse: Can't hear about it if the proponents are dead

Wontonimo: if the third eye is in the middle of the forehead, where is the third ear?

jacek: inner ear?

JohnathanBarbee: armpit

Astrobytes: Behind your front-ear?

reCurse: Fascinating, it's true you only hear about an extra eye but not an extra nose or ear

struct: Riots happening on barcelona and madrid :/

Wontonimo: i don't have a "minds ear". Can't imagine noises

Astrobytes: My 7th nose is tingling...

jacek: Wontonimo you have aphantasia? https://en.wikipedia.org/wiki/Aphantasia

Valdez001: hello

Scarfield: why stop with food and water only, seems obvious to stop breathing as well. especially from the term "breatharianism "

Wontonimo: yes, audio and visual

jacek: i cant imagine having aphantasia

Wontonimo: @jacek but I do have a spacial sense, like visual, but it contains only concepts. There is no colour or texture

reCurse: So after the dark corners of youtube, the dark corners of wikipedia with your explorer in chief, jacek

Astrobytes: lol

Wontonimo: haha i can't imagine not

jacek: would you explore my youtube recommendations?

reCurse: No.

Astrobytes: Definitely not.

jacek: :(

struct: cat videos?

jacek: cats, dragon ball, mlp, obscure music

Astrobytes: I can do cats in moderation and obscure music. That is all.

struct: I thought mlp standed for Machine Learning P...

reCurse: multi-layer perceptron

Scarfield: problems?

jacek: multilayer perceptron. with friendship extension

Astrobytes: "multi layer perceptrons"

struct: I thought it was my little pony

reCurse: No, that meme is dead, no one watches that anymore

Astrobytes: It is. See the 'friendship extension"

jacek: stop horsing around

struct: *youtube search returned me

Astrobytes: jacek does.

reCurse: Ironically

Astrobytes: You tell yourself this.

Scarfield: xD

BlaiseEbuth: Bronies never die.

jacek: /)

Astrobytes: ...

MSmits: hold your horses.... another brony?

BlaiseEbuth: Oh MSmits ! You're here, but when ?

Wontonimo: i have no horses, and i'm certainly not holding some brony's horses

MSmits: eh always?

jacek: sounded like entrance to heisenberg joke

Astrobytes: Oh you missed it. Blame special relativity.

Astrobytes: And superchat theory.

Scarfield: maybe he came back from the future, and want to know when now is

MSmits: mmh I guess i missed it then yeah

MSmits: i do too little physics this year

MSmits: I'm slippin'

BlaiseEbuth: What's the spin of MSmits when he sleep ?

Astrobytes: It needs to be measured...

MSmits: 1/sqrt(2) * up + 1/sqrt(2) * down ?

Wontonimo: and if he sleeps quietly enough, does his instances obey the poly exclusion principle anymore

Scarfield: relative to what? and in what units [MSmits/day]

Astrobytes: *Pauli

jacek: poly?

Scarfield: pony?

MSmits: I'm not a fermion

Astrobytes: Enough HorseField!

Wontonimo: yes, pauli ...

Wontonimo: yes, the ponyexclusion

jacek: :scream:

Astrobytes: lol

Wontonimo: a Brony Einstein Concentrate

MSmits: good one :)

Astrobytes: heh

MSmits: condensate i think but sure

Astrobytes: Yes.

jacek: eeyup

Astrobytes: Joke still valid.

MSmits: agreed

Astrobytes: (imo)

MSmits: hey Astrobytes, remember when we did oware and we tried EPT depth 5 and experimented with different depths

Astrobytes: yeah

MSmits: i am doing that with UTTT now, see if it does anything

MSmits: before this i only tried straight eval or full rollout

Astrobytes: Well, when we took that to its conclusion it ended up depth 0

MSmits: sure, but in the papers they use other values, so who knows, maybe there is something to it

MSmits: worth a shot. I tried longer shots already

Astrobytes: Worth a shot I guess, you might discover something

MSmits: yeah

Astrobytes: especially eval-wise would be interesting

MSmits: well I know my eval is reasonably good, but it doesnt beat the top 10

MSmits: matches 5-10 or so

Astrobytes: Not bad though

struct: But your eval beats NN eval?

MSmits: not exactly, some versions of my bot had 55% vs re curse

MSmits: but it's highly RPS-ed I think

jacek: if your eval is reliable then 0 depth is enough

Skynse: The frontend of this site feels like it was made with javascript

Astrobytes: You're gonna be in for another few months of fitting params

MSmits: nah, it's just the one parameter for depth, the eval itself only has 2 parameters

MSmits: so 3 total

jacek: you can grid search that easily

MSmits: yeah

Astrobytes: No other heuristics to use in eval?

Wontonimo: @Skynse - what else could it be and how would if feel different if it was?

MSmits: no, it's basically like this

MSmits: the two parameters control two parts of the eval

MSmits: the part that counts expected miniboards won

MSmits: and the part that counts how much your best line of 3 counts

MSmits: the line of 3 you're farthest along with

Astrobytes: Yeah I getcha

Skynse: @Wontonimo - I've just been getting a hunch that javascript is used for the server side operations. For instance, I feel like Django would be more static, but I could be wrong

Skynse: Then again, I haven't used frontend js frameworks in conjunction with django before

Astrobytes: Well, let me know how you get on with tweaking the depth

Skynse: I want to make a startup but can't decide on whether to use django, vue.js, or both

Wontonimo: ??

MSmits: yeah, as i said, it's a long shot. If you don't hear anything, it was a bust, like so much else with uttt :)

Astrobytes: lol, gotta explore the options right

MSmits: yep

Scarfield: when is your UTTT paper due?

MSmits: ehh not sure, i do have other papers i should be working on :P

jacek: :soccer:

MSmits: have to write an introduction to a design/research paper for my studies

Astrobytes: Do it on Oware or something

MSmits: no it's supposed to be for high school education

MSmits: i am doing it for my AI course

Scarfield: lol nice one paperCek

MSmits: probably on optimization and Q-learning

Astrobytes: Ah ok

MSmits: basically travelling salesman and that 3x3 breakthroug game i forgot the name of

jacek: hexapawn?

MSmits: yeah that

jacek: but you already did it

MSmits: yeah i cheated a bit

jacek: and despite the name, there are no hexes there

MSmits: now i have to properly design it using didactic literature and all that

Astrobytes: I think the hex may refer to the fact it is 3x3 pawns...

Skynse: @Wontonimo I just re-read what I wrote earlier, and now I can see how it didn't make any sense lol

MSmits: there's 6 pawns

MSmits: i also did an octapawn self-training game

Astrobytes: +3 is what I meant

MSmits: trains itself by q-learning in 1 minute

Astrobytes: 3x3 grid, 3+3 pawns

Astrobytes: nice

jacek: table :unamused:

Wontonimo: have you tried sarsa @MSmits ?

jacek: or salsa

Wontonimo: sure, that too, i'm curious about both now

MSmits: https://trinket.io/python/c673de5c0f?outputOnly=true&runOption=run

Scarfield: Wontonimo just type a nickname to ping, no need for @.. also there is autocomplete for names: sca-> tab

MSmits: it's solved as a win for human player, so you can still win once it's done training

Wontonimo: AH! thanks Scarfield

Scarfield: np :)

Scarfield: but remember pinging is a great power, and with great power and so on

Wontonimo: Scarfield

jacek: right AutomatonNN

AutomatonNN: eulerscheZahl is there a way to see a framework to be able to check the language to say "solved"

MSmits: are you trying to cheat again AutomatonNN ?

AutomatonNN: give it his game to something interesting :P

Astrobytes: Huh. It almost made sense twice in a row.

MSmits: yeah

reCurse: Broken clock

Astrobytes: Indeed.

Astrobytes: Hm. When analogue clocks die out that phrase will go the same way as the 'broken record' phrase.

MSmits: into a nursing home?

Astrobytes: Just a minute inside your mind would be a very strange experience.

reCurse: To die out they need a cheaper alternative

Astrobytes: lol

MSmits: well i wouldn't know, I am always in here

MSmits: to me it's normal

Astrobytes: 2 * Yeah, true.

Scarfield: i wonder how much of that minute in your mind is taken up by uttt :thinking_

MSmits: mmh ok, so good news the EPT with depth gets better when I let it go deeper. Bad news, thats because when it goes deeper it does more rollouts and my rollout bot is better :P

MSmits: nice timing Scarfield

Astrobytes: Right. Not much point in that then.

Astrobytes: lol, EcksDee on point tonight

Scarfield: I wonder how big "xD" would be on those pictures euler made earlier

MSmits: he has you too i think

MSmits: he said 100 most talkative players

MSmits: I estimate you at 19

Scarfield: lol

Scarfield: thats a very specific estimate

MSmits: well i stopped short of decimals

MSmits: that would look weird

Astrobytes: Highly specific for sure

MSmits: they were pretty hard to guess most of them

Astrobytes: I still can't believe how accurately and quickly I got those

Scarfield: i hope he doesnt have a value/word estimate

MSmits: except jacek

jacek: :F

MSmits: are you doing :F now to have more variety in your next word pic jacek>

jacek: eenope

MSmits: lol

MSmits: Scarfield what is a value/word estimate?

Scarfield: like how worthwhile / word ones messages are to read

Default avatar.png Angecide: anyone have had any experience with mcts with rave statistics? basically using moves played during rollout to generate better statistics for moves when expanding and searching

Default avatar.png Angecide: I was wondering if this could have positive effect in uttt

jacek: personally i never got rave to working

jacek: but i doubt it would work in uttt

MSmits: i know of rave, but it requires parallel games having similarity. In uttt, you jump to a completely different board on every move

jacek: moves are restricted and dependent on position

MSmits: so one different move, screws up your RAVE thingy

reCurse: It doesn't have raving reviews

Default avatar.png Angecide: I see, yeah it probably makes more sense in games like go where there aren't any jumps

MSmits: could make sense in breakthrough

MSmits: not in othello

MSmits: might make sense in yavalath also

Astrobytes: "raving reviews" :door:

MSmits: it makes sense in games where the killer heuristic also works in minimax

Scarfield: yea he is on fire today xD

MSmits: correct me if i am wrong, but killer move in minimax is what rave is to mcts, kinda, sort of?

jacek: somewhat

MSmits: except killer move is probably more effective

MSmits: and less damaging when it fails, as it's just a move ordering thing and not a move value thing

Scarfield: uuh never heard of killer move, have pretty much decided on Minmax, and was considering how to sort moves earlier :)

jacek: oO

MSmits: killer move is when you save for each depth level a best moveindex

MSmits: and use that move first, even on different boards

Astrobytes: you can also use history heuristic

Scarfield: yea looked it up, and found a short and neat explanation

Astrobytes: Scarfield: https://homepages.cwi.nl/~paulk/theses/Carolus.pdf

Scarfield: have only done minmax once before, so i pretty much only know about ab pruning

Astrobytes: More in depth stuff online but that's a good start.

MSmits: I usually do negamax + AB + TT + history. I don't get more creative than that

Scarfield: uuh ty astro, but i will probably save that for after finishing my first attempt

MSmits: it's the only source i find that has a good example for combining AB with TT

MSmits: that's not a trivial thing

Astrobytes: Yeah, it's quite clear

Scarfield: have been thinking about doing TT as well, but it seems problematic with 3fold repetition and 50 move rule in the 960 chess

Astrobytes: There's that ancient website too

Astrobytes: I don't have the url handy

MSmits: Scarfield, you're right, the repetition is painful

MSmits: but it's painful even without TT

MSmits: because to have the full state, you need to basically know all prior states

Scarfield: i think i have an idea that will work fine without the TT, but my assumptions usually turn on me xD

MSmits: yup

Wontonimo: hey MSmits , I'm curious if you use Q-learning specifically or if you use SARSA or some other variant

MSmits: it's meant for education, so it's the simplest form of Q-learning. Just a table with action/state combinations

MSmits: just to expose students to simple machine learning

MSmits: they play the game by hand also, with actual pawns

Wontonimo: cool

MSmits: to see how a human learns

jacek: sounded like you teach robots

Astrobytes: nice

MSmits: lol jacek

Scarfield: "And slowly the fleshy vessel realises its mistake"

MSmits: :grin:

Scarfield: well im off, gn all :)

MSmits: gn Scarfield

Wontonimo: gn

Astrobytes: gn man, laters

JLukeSkywalker: finally have an algorithm to solve the funge prime

JLukeSkywalker: my brain hurts

JLukeSkywalker: gonna take a break, then i have to try to shove it into the 2d grid

MSmits: gj though

JLukeSkywalker: pseudo coded in python

MSmits: isn't all python pseudo code?

JLukeSkywalker: lol

JLukeSkywalker: http://chat.codingame.com/pastebin/96a3b423-d5f5-4e01-b09e-cbc3398b7fda

Valdez001: no

JLukeSkywalker: just a chunk of it

JLukeSkywalker: its so gross

MSmits: it reminds me of assembly except with a lot more parentheses

JLukeSkywalker: yeah, pretty much set it up that way instead of doing a full interpreter

MSmits: oh wait, that was actually supposed to be asm-like?

JLukeSkywalker: each one of those is a call to a function that modifies the stack

JLukeSkywalker: so yes?

MSmits: I se

MSmits: e

JLukeSkywalker: @out def app(a): global stack stack += [a]

JLukeSkywalker: like that one is the append

MSmits: I see

MSmits: this optim does seem like torture

JLukeSkywalker: defenitely

JLukeSkywalker: pretty sure my solution is gonna time out on the 9991 test case

JLukeSkywalker: maybe not

JLukeSkywalker: i think my print decorator for testing is just making it absurdly slow

MSmits: could be

elderlybeginner: Do you remember any post about scoring data structure for a bot or a contest?

MSmits: not me

elderlybeginner: some basic information how to set a scoring for a bot

MSmits: ah

MSmits: I think you mean an evaluation of a sim state?

elderlybeginner: yes, that's what I mean

MSmits: well it depends a lot on the game, but basically, it's a lot of trial and erorr

MSmits: what makes the most sense is that you try to figure out what features of the gamestate tell you the probability of a win

MSmits: collect a bunch of features

MSmits: give them parameters

MSmits: add up the features multiplied by their parameters

MSmits: and there's the score

MSmits: a useless feature will have a parameter that goes to zero when fitting

MSmits: can you give an example of a game, then i can tell you what features to evaluate (maybe)

elderlybeginner: I wonder what data structure to use. There are some parameters, some side effects

MSmits: i'm not sure what the data structure has to do with it

MSmits: evaluation is a function that returns a number

elderlybeginner: I am trying to rewrite my if/else for codebusters into some evaluation and it doesn't look clear

elderlybeginner: no sim here, just heuristics

MSmits: oh ok, i'm not really the right person to ask about aesthetics, code readability and reusability

elderlybeginner: I miss a separate file for variables and with functions it's getting kind of messy

MSmits: with a good IDE, you can collapse stuff so it's not so cluttered

Astrobytes: There are some code bundling scripts, or you could write your own if you want to separate things into files for readability

Astrobytes: You can collapse stuff in CG IDE also I think

MSmits: yeah

elderlybeginner: thanks guys, I will look into that

Astrobytes: You're using python right? It'll be easy to find or make a script for that for sure.

Default avatar.png RanDom2113: hey so I just started today, what program language should I start with?

elderlybeginner: yes, python, right now i wondering how to nicely pack: actions (stun, move, bust, release, etc) with features and multipliers for each feature

elderlybeginner: @RanDom2113 that's seems to be really tricky question :joy:

Astrobytes: :+1:

Astrobytes: MSmits: yay I'm back in Oware top 10. Not that it matters much below top 5 but hey :P

MSmits: that's pretty good though.

Astrobytes: 8th

MSmits: there's 4 nns you can ignore

MSmits: i mean it's not a level playing field with them

Astrobytes: Just trying to pull darkhorse down :D

Astrobytes: Yeah, I kinda ignore the nn's, can't compete currently

MSmits: can ignore me too, I have a book based on 9 million games :P

Astrobytes: Yeah, well, y'know :P

MSmits: biggest before this, was 3 million actually

MSmits: so it's pretty extreme

Astrobytes: Can't really just award myself a feelgood 3rd :D

Astrobytes: Yeah you really went in hard on Oware

MSmits: it's because of the NNs

Astrobytes: I know. It became a mission

MSmits: yep

MSmits: i stopped hardcountering them, just running a general book now, that works too. Cant hurt

MSmits: the previous stuff is still in there though, but they can just submit a new version and the hardcounter advantage will be gone

Astrobytes: Well the general book is about as NN-like as you're gonna get really

MSmits: without doing a NN yeah, it's at least a way to "train" locally, even if it's just for the start of the game

MSmits: the start can go quite deep with a branching of only 5 o rso

Astrobytes: darkhorse64: how is your Clobber boss?

darkhorse64: It's my next weekend project

Astrobytes: cool

darkhorse64: so not started yet

Astrobytes: All good, no rush

darkhorse64: I'll wait for 269 upvote, I want to beat trolls and castles

Astrobytes: hahaha

darkhorse64: Only 260 eft

darkhorse64: left

MSmits: #lifegoals

Astrobytes: btw, my *deliberate* oware submit tonight got 8th darkhorse64 - finally I'm chasing you again.

Astrobytes: lol MSmits

MSmits: gj Astrobytes

darkhorse64: Yes, the safety margin has decreased

Astrobytes: I'm more pleased about getting above tric twice in a day tbh

MSmits: tric is a great benchmark

Astrobytes: You know that

MSmits: i dont mean because he is the best player, even though sometimes he is, at least for a while

Astrobytes: He's not unleashed everything in clobber yet though

darkhorse64: twice. What's the other multi ?

MSmits: but because he is so stable

Astrobytes: Just Clobber darkhorse64, I'm first

Astrobytes: Yes MSmits, exactly

darkhorse64: I now understand why you want a new muti

Astrobytes: I still need to bitboard clobber though

MSmits: huh

MSmits: what else would you do

MSmits: it's a board with white and black pieces

Astrobytes: I wrote my bot in 2 hours

MSmits: it would be harder for me not to bitboard it

Astrobytes: With hardly any sleep, and a hangover

MSmits: then i would need to think about classes and whatnot

Astrobytes: On Sunday

MSmits: yeye :clap: :P

Astrobytes: classes, meh

Astrobytes: You can check the chat logs

MSmits: no I believe you

Astrobytes: I didn't wanna risk doing bit operations with a humdinger of a hangover

MSmits: sometimes you get inspired. I usually take days, but my connect 4 bot was a few hrs and got a good one right away

Astrobytes: I really need to get on amazons, and test jrk e's multi, and there are others too

MSmits: so many

Astrobytes: anyway, won't take long to bitboard clobber, it's simple

darkhorse64: Play fireworks. I enjoy my lead but we are too few

MSmits: seems to be

Astrobytes: Yes darkhorse64! That too

Astrobytes: I think that's a candidate for is it mu-zero? that they used that on?

darkhorse64: I don't think I can AVX move gen because I need left shift and right shift

darkhorse64: Clobber move gen

MSmits: you can combine left and up

MSmits: and do down and right separately

darkhorse64: Yeah, but it's only two at a time, with C4, I do all checks in one go

Astrobytes: Yeah (re Fireworks/Hanabi) MuZero

MSmits: you can run two sims at once :)

Astrobytes: darkhorse64: I don't think it'll be a bottleneck

Butanium: Hey I'm doing the fall Challenge 2020 and I have a problem : sometimes my script take to long to explore the graph so I loose because of that. I tried to implement a len limit for the exploration but it's not sufficient when I have a lot of spell to deal with. Is there a way to get how many time I have left during the prgm in order to interrupt the tree search if I have not enough time left?

darkhorse64: The more rollouts the better

MSmits: Butanium yes

darkhorse64: C++ -> chrono

Astrobytes: I was considering EPT on it but I might stick with alphabeta, we'll see

MSmits: easiest is a global variable for "timeleft"

MSmits: if it's false, you quit out of any recursive function your bot is in

MSmits: every time you enter a new function you increment an iterator. Every 100 or so iterations you check the time

Astrobytes: Just make sure you backed up your best move so far

Butanium: But how do I know how many time I have for each iteration?

MSmits: you dont need to

MSmits: you only need to know the start time

MSmits: and the current time

MSmits: when you pass a certain limit you set, you quit out of any function you're in

Butanium: ok

Astrobytes: start your timer at the beginning of each turn, if it exceeds the limit you bail

MSmits: say you get 100 ms, you quit at 95 ms

Butanium: it says I have 50 ms per turn

Astrobytes: yep, so bail out at 45

Butanium: it's pretty short :sweat_smile:

Astrobytes: Optimise ;)

MSmits: yeah but it's short for everyone

darkhorse64: EPT, vanilla MCTS, solver à la d&b, may be ml, many approaches

MSmits: clobberTime!

Astrobytes: Yes indeed. I like Clobber in that respect, I think it will be interesting.

MSmits: I'm imagining a fantasy-style orc when i say that, just fyi

darkhorse64: For the fall challenge, I don't even use all available time because a beam search depth 15 is enough

Astrobytes: hahaha

Astrobytes: got your D&D head on

MSmits: yeah

darkhorse64: I don't think Clobber will bea successful multi but I believe it's interesting for ferocious competitors

Butanium: darkhorse64 > I'm dohing BFS for now

Astrobytes: damn, I also still have to do Blocking

Astrobytes: yes exactly darkhorse64 :P

Butanium: that's why it takes that long

Astrobytes: beamsearch is definitely the way to go for that challenge iirc

darkhorse64: Yeah BFS takes too long and does not get deep enough

darkhorse64: Top Gold with a BFS, Legend with BS at least for me

Butanium: I'll try to implement a BS

Butanium: thanks for your advice !

darkhorse64: BS is a BFS where you keep only the best moves at each turn

Astrobytes: n best moves

Astrobytes: n being the beam width

darkhorse64: Selecting the best moves is the difficult part

Butanium: yes

Butanium: Idk how to select them actually

MSmits: evaluate them and sort them by score

darkhorse64: The post mortems are full of evaluatiion ideas

Butanium: you mean the potions or the spells by score?

MSmits: you dont actually have to know whats best. You just create a sum of features with parameters and then experiment

MSmits: then you will learn what works

Butanium: yes I see x)

Butanium: Also I had a question

Butanium: For the coders strike back challenge

Butanium: I went to legend

Butanium: but are you supposed to do reinforcement learning when you reach it?

MSmits: gj

Butanium: thx ^^

MSmits: not really

MSmits: unless you want to be top 5

Astrobytes: well done. What's your rank?

Butanium: 673

Butanium: I didn't change my gold league code

MSmits: so 668 more ranks to get before ML is needed

Astrobytes: And your algo?

Butanium: my algo is just 1 pod reaching the checkpoints and another trying to annoy the enemy team

Butanium: but I struggled with improving my aiming system for the annoying boy

MSmits: ah, then you'll hit a wall Butanium. The better bots in legend all use a search

Butanium: so I kinda give up

Astrobytes: no search algorithm then? You could get further even with just a random search.

MSmits: if you want, check one of my games. My pods say how many simulations are being run

MSmits: select me as opponent

Butanium: what do you mean by search algorithm

MSmits: trying moves up to 7 turns into the future and simulating the outcomne

MSmits: assuming best play from opponent, preferably

Astrobytes: Like your BFS, just searching the game tree

MSmits: CSB is not the best place to learn how to do a search

Astrobytes: That's always a relative one

MSmits: better learn it for simple boardgames, then learn how to apply it to CSB imho

MSmits: CSB has simultaneous moves

MSmits: 4 agents

MSmits: continuous action space

DomiKo: physics

MSmits: and that

Butanium: https://www.codingame.com/share-replay/529286299

Butanium: lul

Butanium: I actually have a search algorithm which just check if I will collide next turn

MSmits: ohh

MSmits: i blocked you and you timed out?

Astrobytes: Right, so you need to simulate a few more turns ahead

Astrobytes: No he didn't make the checkpoint MSmits

Astrobytes: So pod timeout, not search

MSmits: yeah because of the blocker

Butanium: yes it's my nightmare

Astrobytes: That's the job of a blocker no? :)

MSmits: imagine the top 5 blocking even better :)

Butanium: x)

Astrobytes: You've seen the info about CSB? The magu s article, the referees?

Butanium: nop

Astrobytes: One referee: https://github.com/SpiritusSancti5/codinGame/blob/master/Referees/Coders%20Strike%20Back/Referee.java

Astrobytes: Another referee: https://github.com/robostac/coders-strike-back-referee/blob/master/csbref.go

Butanium: oh yes

Butanium: that's the things to simulate outside of codingame

MSmits: but you can use it to simulate inside the game

Astrobytes: No - inside too.

Butanium: lol

Butanium: ok

MSmits: translate the code to something you can use inside your bot

Astrobytes: FR version of Magu s article: http://files.magusgeek.com/csb/csb.html

MSmits: but honestly, try your first search on a simple game, unless you really realyl like csb and it motivates you

MSmits: a full search csb bot will be 600-1000 lines

Butanium: yes I think that if I do some more coders strike back I'll do it whith an heuristic method

MSmits: brb

Butanium: Like genetics algorithm

MSmits: good idea

Astrobytes: Genetic algorithm can work sure, even just random search with some mutations can work too.

Butanium: Random search would be to test random action and see what's the best result within 8 ticks?

Astrobytes: within n ticks yep

Butanium: ok

Butanium: But for now I don't have time to do such a big project like this. So I'll just try to make my witch not timing out because it allows me to practice on my school programming langage ocaml

Astrobytes: Oh OCaml, lucky you :D

Butanium: do you have any other funny bot fighting challenge to recommend me?

Astrobytes: That's cool though, school stuff comes first

Butanium: Yes ocaml is pretty cool

Astrobytes: Just depends what you like. There are a few physics games but they're quite complex

Astrobytes: Many board games

Butanium: I didn't like the spring 2020 one

Butanium: too much agent to deal with

Astrobytes: Yeah, I didn't like that one either

Butanium: what would be your 2 best recommandation, 1 of physics challenge and another one more like a board game?

reCurse: physics: fantastic bits board: wondev woman

Astrobytes: FB easier than CSB?

reCurse: I didn't see any mention of easy in the question

darkhorse64: physics: poker chip race

DomiKo: wondev woman is really great for trying minmax

Astrobytes: Oh my bad

darkhorse64: because the sim is easier to write compared to FB

Astrobytes: Is it?

reCurse: FB is 100x easier to write a heuristic for

reCurse: Just saying

Astrobytes: ^

Butanium: ok thanks

Butanium: when I'll get time I'll give a try to those challenge

Astrobytes: I really need to get up to speed on here.

darkhorse64: I agree for the heuristics part

Astrobytes: Anyway, an omurice and a beer beckons me. Goodnight all

Butanium: cya

reCurse: "I won't submit just to drag you down" "Submits 20 times the next day" :P

reCurse: Just teasing btw

MSmits: yeah, i know.. i honestly do not have a single bot version that does better vs karliso than vs you

MSmits: I tried full rollout, EPT dept 5,10,15,20 with eval, full eval, many different ways to prune

MSmits: all better vs you than karliso

reCurse: It's ok I'm getting used to the trope of anyone else but me getting boosted in most multis :p

MSmits: hehe ok

reCurse: Wish I was kidding

MSmits: maybe your bots are too specialized at beating strong players

MSmits: compared to others anyway

reCurse: I think you could make an argument just as well for the other way around

MSmits: depends on who's submitting

MSmits: in uttt it's usually the weaker players

reCurse: Wouldn't a bot too specialized more likely to be boosted

MSmits: if you're specialized to beat karliso and he never submits, then that would not be good

MSmits: you benchmarked vs top 5 or so didnt you?

reCurse: Top 10

MSmits: ah ok

reCurse: A bot who performs very well in a specific scenario is more likely to be hit by someone weak against it

reCurse: vs a generalized bot

reCurse: IMO

reCurse: So if anything maybe my bot is too generic

MSmits: hmm could be true I guess. But karliso must also be. Everything i try against him fails

MSmits: and against everyone else i had versions that worked

MSmits: though not against all at the same time ofc

MSmits: there is plenty of RPS with a non-random bot

reCurse: Most uttt bots use random in some fashion what are you talking about

MSmits: I mean my non-random bot version

MSmits: if i use it, i get serious RPS effects

reCurse: Wouldn't you get RPS only if both bots are deterministic

MSmits: you would think so, but one is apparently enough for it to become noticable

MSmits: the best "random" bots arent that random in uttt anyway, at least karliso's isnt

reCurse: Biased random is still random

MSmits: yeah, what i mean is, the tree of good moves is muc hsmaller than the full tree

MSmits: and better bots are better at finding those

MSmits: therefore becoming more deterministic i suppose

MSmits: anyways, with the eval-only bot i had situations where i had mealc at 30% and yurko at 70% when their bots are equally strong

MSmits: not to mention you at 55% when you wreck my normal random bot

MSmits: even though my eval bot is weaker overall

MSmits: it's pretty annoying when your bot is so unreliable

MSmits: mine i mean

MSmits: so i am back to random, keeping my new solver, because solving is cool

MSmits: (though it does nothing for my winrate)

karliso: ironic. I remember I asked you about RPS effect when I was starting and you said it is negligible and I should just brutaltest. :)

MSmits: thats true

MSmits: thats what i thought back then

karliso: I think to gain consistency you need to do what others do, just better.

MSmits: mmh in uttt thats probably true

MSmits: i've seen so much rps in games where NN's dominate and minimax bots

MSmits: it's really different

karliso: I felt same in onitama.. like my minimax would beat mcts, but not win as well against mcts as someother mcts.

MSmits: yeah onitama can be like that

MSmits: when the oware nn's were a bit weaker, i could fit maybe 8 param for my eval. Some would cause me to beat robo 70% lose 30% to recurse and i would change a param by 0,01 and it would be the other way aroudn

MSmits: the nn's do this to eachother also i believe

MSmits: recurse is right when he says you need to generalize, but if you generalize and you always play the same move in the same situation then you're still deterministic and a different player that has a lucky set of params that beats this, can pull you down by chain submit

MSmits: that player could have an otherwise bad bot, not even worthy of top 10

reCurse: That's a symptom of CG's broken system, not a specific kind of bot

MSmits: if by broken you mean there's a way to be targeted by the same player over and over then you're correct

MSmits: however, any time you're pitting two players against eachother, letting them play repeated games, says very little about which is the stronger bot

reCurse: Broken as in if you tried to fit an elo curve around its multi rankings it would be pretty bad most of the time

MSmits: i think the problem is that two bots playing repeated games, covers a very very tiny portion of the total gamespace

MSmits: and to call a bot good, you want to say it knows what to do with most gamestates

MSmits: (that are likely to occur)

reCurse: You're treating of a different problem

MSmits: it's related though

reCurse: I'm strictly talking about the mapping of pairwise winrates to CG scoreboard

reCurse: That is garbage

reCurse: The other issue of trying to test a bot in generic conditions is orthogonal

MSmits: it might be garbage, but i think it's a smaller problem than the fact that most bots are deterministic and playing games with deterministic starts

reCurse: I strongly disagree

reCurse: It happens just as much with games with random maps

MSmits: you'll get different games every time then though

reCurse: The submit bias is the single strongest skew factor

reCurse: Of them all

MSmits: oh, i agree with that

MSmits: i thought you were saying something about elo

MSmits: and score

MSmits: in any case, this is not even a 5% problem, but a < 1% problem. Who cares about it except us who fight over the first few spots on each leaderboard

MSmits: if you're not in top 10, you're not likely to worry abot this

MSmits: I can see why you would though

MSmits: I would too, if i wasnt having so much fun otherwise

reCurse: I need that stupid carrot to put the work

MSmits: you need to work out how to use a different carrot

reCurse: But that's where the tough competition is

reCurse: I wouldn't give a rat's ass about uttt if it had 20 bad bots

MSmits: I share you way of looking at this but it's not 100%, part of the fun is the game itself. That's what allows me to ignore the shortcomings of CG more easily

MSmits: i can spend days on a game with 20 players if it's sufficiently interesting to me

reCurse: *bad players

reCurse: Not much fun beating your own bot

MSmits: well lets just say if trictrac, dbdr and such are there, it's fine with me. Just afew that are seriously competing

reCurse: That's why I emphasized

MSmits: no, i do agree with that. you need some competition

MSmits: I also think you and I are different about letting go of a game

MSmits: I cant let go of a game until i try every idea

MSmits: you cant let go of agame until you're nr 1

Default avatar.png jtsimmons: This site is really struggling the last week.

MSmits: it is

reCurse: It struggles at this time of the day every day

reCurse: For about uh, 30 more minutes? I forgot

MSmits: think so yeah

reCurse: MSmits: If a game is solved as a draw and your bot is the only one strong enough to do so, how should it play?

reCurse: Just had that random thought

MSmits: oh you mean the bot solved it?

MSmits: if you used mcts solver to solve it, it's easy

MSmits: you pick the move that had the highest winrate

reCurse: No I meant in a broader sense

reCurse: Ok let me rephrase

reCurse: Your bot somehow has the entire table of all game states but the initial state is solved as a draw

reCurse: How should it play

MSmits: hmm, well you would want to maximize the chance of your opponent making a mistake

reCurse: Right, so how do you determine that

MSmits: maybe do a search and calculate the fraction of moves that are mistakes, encountered in each branch

MSmits: pick the highest one

MSmits: make the path of the draw as narrow as possible

reCurse: But the narrow path could be very obvious

reCurse: Say in chess where you need to take the piece back for a trade

reCurse: You could have 30 other moves, all bad

reCurse: Narrowness is not enough to describe that

MSmits: thats true, this is similar to the friction between minimax and mcts

MSmits: mcts will do better where my argument applies

reCurse: There's something irritating me with that notion

reCurse: Not sure what

MSmits: what i just said? Might be phrased poorly

reCurse: Well with this situation in general

reCurse: Your bot could be much stronger but much weaker for it

MSmits: well I encountered a similar issue when doing the bookfight with oldjohn

MSmits: we were hitting draws

MSmits: and i could go off on a different branch he hadnt explored yet

MSmits: hard to decide what to do

MSmits: stopped being interesting at that point

reCurse: I don't see the similarity

MSmits: well you know whatever you do, it's a draw

MSmits: so you purposely try to find weird branches that are narrow and hard to find for the opponent

reCurse: That's true for bots of "equal" strength which you could argue is the case for bots booking like that

reCurse: But I'm exaggerating the notion of a stronger bot by putting it as having the entire game state known

reCurse: But it's a draw

reCurse: You should be able to exploit all other players still

reCurse: But how

MSmits: ahh ok

Default avatar.png omer123321: It's fun to watch you guys even though I don't understand a word

MSmits: lol

MSmits: i had this when trying to get out of wood 2 in D&B, i solved the full game on turn 1 as a loss

MSmits: wasnt a draw, but still, everything was a loss

MSmits: so what to do then?

reCurse: Yeah, true

MSmits: you can get out of wood 2 with like 5 lines of code and i wrote a 500 line bot that failed 2 submits

reCurse: Though I'm not sure there's enough space to help draw parallels

MSmits: yeah, well it may depend on the game

MSmits: what route is best

reCurse: Assume chess is solved as a draw, what do you play

MSmits: either you do the move counting thing i mentioned, or some kind of eval

reCurse: It really bothers me for some reason

reCurse: You should be able to win every game still

reCurse: But how do you even determine that

MSmits: you have to know what the opponent values and you dont

MSmits: if you know what he values, you know what he is likely to play and which mistakes he is likely to make

MadKnight: yea that's true automaton2000

Automaton2000: do you know the one

reCurse: Is there a generic way to evaluate the probability of a blunder

MadKnight: since i'm not a mod i can't even tab Automaton2000

Automaton2000: can you share your code please?

MSmits: well say you could fit a very good NN

MSmits: and you find the moves that are most likely to be picked by this NN but are mistakes

MSmits: i think that every version of this NN might give different results though

MSmits: also the calc time used during the game

MSmits: and other limiting factors

MSmits: i wonder if your problem has a name already

reCurse: Well it's probably some sort of game theory exploitation

MSmits: i remember jacek training a NN to beat a TTT bot and doing better than his perfect playing minimax bot

MadKnight: seen YT of a "game theorists" recently

MSmits: vs random bots

MadKnight: he explains game maths pretty well

MSmits: my point about jaceks experiment is that the NN and minimax bot both played perfectly, but the NN was able to exploit some feature about random bots to win more often

karliso: MSmits You wanted to balance uttt. One day I watched video of Anish Giri and he was asked about his reputaton of drawing a lot of games... and he said something like.. if you don't like draws don't play chess, play tac tac toe

reCurse: Yeah I got that

reCurse: I'm just thinking

reCurse: It's definitely possible that knowing too much makes you play weaker

MSmits: karliso was his point that chess has more draws?

MSmits: reCurse you migth be right

MSmits: it takes a similar, but stronger bot to properly predict and make use of opponents weaknesses... maybe

MadKnight: recurs had that exact expeirence in the witches game i think

MadKnight: and now he be like "i think it might be possible"

MSmits: ohhh, that explains why I am not nr 1 in most of those multis, too much knowledge :)

MadKnight: true

MadKnight: stop knowing too much

MadKnight: become like Automaton2000

Automaton2000: it is funny to we have country name same as animal

karliso: Most top chess games are draws.. players have various styles in chess, some take more risks some are more defensive. And decisive score is more interesting for spectators.

Default avatar.png FdevM: there is four days that i'm stuck in temperatures challenge

MadKnight: i solved it in 1 line

MSmits: ah I see

karliso: I found it curious that he said TTT, because it is draw... maybe he though UTTT

MSmits: I think he meant it that way

reCurse: I think he may have meant it as a joke

karliso: yeah :D

MadKnight: or he's new

MSmits: when people play TTT they actually often dont draw

reCurse: As in, yes, chess is more drawish than a solved draw game, deal with it

MadKnight: wait

MadKnight: FdevM or kar

MSmits: because most people dont know how to avoid losing as p2 in TTT

MadKnight: oooh ok

MadKnight: my bad

reCurse: I think anyone over 8 knows how not to lose in ttt

MSmits: you would think so, but then you dont play it for 10 yrs and you first 2 or 3 games you lose again :0

reCurse: Please read between the lines :p

MSmits: heh yes, but it's actually true, i did this in my class

MSmits: students were supposed to invent heuristics to always win

MSmits: and that included playing

MSmits: they made tons and tons of mistakes

MSmits: to always draw i mean

MadKnight: Automaton2000 stop losing

Automaton2000: so do i just have to start over

MadKnight: Automaton2000 let's make multiple people to have 100% winrate

Automaton2000: the only way to do it, but i am getting an error message

MadKnight: Automaton2000 let's say it's possible for multiple people to have 100% against each other

Automaton2000: can anyone help me with the chuck norris puzzle

MSmits: you know what bothers me about TTT reCurse, it's similar to your problem maybe. I am inclined to say player 1 has a massive advantage

MSmits: but

MSmits: it's solved as a draw

Default avatar.png FdevM: actually i'm not joking

MSmits: so is it true then?

MadKnight: FdevM yea it was my mistake

MadKnight: don't worry

MadKnight: FdevM just explain what's your problem

reCurse: TTT is too simple to be helpful here I think

reCurse: Like I said anyone that spends a bit of time in the game knows

MSmits: maybe

MSmits: true

Default avatar.png FdevM: i already did it in my other account, but i don't remember hiw to solveit

MadKnight: hmmmmmmm

MadKnight: sooo

MadKnight: what u want from u

MadKnight: s

reCurse: My brain hurts

reCurse: We assume playing for the longest loss is the best strategy when you know it's solved

reCurse: But is it

MadKnight: Automaton2000 let's keep talking in parallel

MadKnight: with other people

Automaton2000: you know your code is readable

reCurse: It's a parallel to the what to play on a draw

MSmits: hmm define longest loss though

MSmits: when using mcts i define it as requiring the most visits to sovle

MSmits: thats not necessarily the deepest lost

MadKnight: Automaton2000 i should just listen to recurse

reCurse: You know, what is proven to take the most turns to lose

MSmits: loss

Automaton2000: and it's definitely not unique to cg and you definitely need audio/video. zoom works great.

MSmits: i think my way is better then

reCurse: Can you stop spamming automaton when a conversation is happening please?

reCurse: Thanks

MSmits: requiring most visits to prove as loss

MadKnight: Automaton2000 recurs is probably right about anything more than me let's just listen to him

Automaton2000: one of the top 10

MSmits: with my new uttt solver, this is how i pick moves, and against < top 20 players i often see games where i lose, that i still draw because they make a mistake

reCurse: That seems rather anecdotal though

MadKnight: ooops

MadKnight: okay

MSmits: it is, but how else would i d o it?

reCurse: That's what I'm hurting to know

MSmits: i think there might just not be a 1 size fits all answer

MSmits: in uttt for example, there are many critical moves to avoid, to make sure you dont lose on the next turn or the turn after that

MSmits: those are easy decisions

MSmits: but for deeper stuff it depends on what the opponent "sees"

MSmits: what does he choose to explore and what might he miss

MSmits: you can only assume your opponent thinks as you do

MSmits: and then needing the most visits makes the most sense to me

MSmits: and generally i think that might also often be the deepest, or near the deepest games

reCurse: But is there a way to define generically what is more likely to be obvious

reCurse: And use that as a metric

MSmits: generically i can only refer to the PNS thing

reCurse: Or is it really all about meta-gaming and it's about constantly adapting to general trends

MSmits: you read that right?

reCurse: Yeah

MadKnight: guys i think u might have differences in how u understand what's it about

MSmits: thats the general solution i guess, at least it shows which move is hardest to solve

MSmits: its free of domain knowledge

MSmits: my uttt solver certainly isnt

MSmits: anyway, I am getting some sleep.

reCurse: gn

MadKnight: gn guys

MSmits: gn

MadKnight: now i can spam Automaton2000

Automaton2000: if they are still on the same round, the nth zombie killed's worth is multiplied by the given thrust value. ...

MadKnight: meh Automaton2000 is only fun in #fr when he spams "oui" or in "ru" when he spams that his smiley icons are broke

MadKnight: n

Automaton2000: i dont know much about it, but i have a choice

MadKnight: Automaton2000 any content at all? in #world? for the sake of the content?

Automaton2000: i mean, if you have an idea

Default avatar.png Camden272: hey guys

MadKnight: hihi

Default avatar.png Camden272: how are you

Default avatar.png Camden272: ?

MadKnight: too good

MadKnight: can't be good

MadKnight: well y'know

MadKnight: anyway

MadKnight: what are u working on ?

Default avatar.png Camden272: can you help me a little

Default avatar.png Camden272: im really new

MadKnight: finally

Default avatar.png Camden272: what?

MadKnight: yea get to your question

MadKnight: well y'know

MadKnight: i've been here for 5 years

Default avatar.png Camden272: ohh

Default avatar.png Camden272: well then

MadKnight: i just guesssed that u'd need help

Default avatar.png Camden272: so what are the basics

MadKnight: of what

Default avatar.png Camden272: that are easy to explain

MadKnight: of what

Default avatar.png Camden272: like im tryna do java

MadKnight: cringe

MadKnight: do c# instead

MadKnight: c# is like java + cool features

MadKnight: java is soooo 2003

Default avatar.png Camden272: ohh

Default avatar.png Camden272: lol

MadKnight: java was super popular in 2003

Default avatar.png Camden272: ohh

MadKnight: literally everyone decided to make their projects in java

MadKnight: and literally every single teaching thingy says that java=good

MadKnight: but that's 2003

Default avatar.png Camden272: is java and java script the same thing?

MadKnight: NO

MadKnight: don't even think about that

MadKnight: they're not even close

MadKnight: absolutely 2 different things

MadKnight: a and b

MadKnight: u can say they're both in english so that's what makes them similar

MadKnight: anyway

MadKnight: so why u wanna do java ?

Default avatar.png Camden272: idk

MadKnight: thats' the news from 2003 dude

Default avatar.png Camden272: dream does it so i decided i wanna try it

MadKnight: c# resolved all the problems

MadKnight: wat

Default avatar.png Camden272: is c# easier

MadKnight: since when does dream do java

Default avatar.png Camden272: on his dream sd

Default avatar.png Camden272: xd

Default avatar.png Camden272: channel

MadKnight: dream does cool YT vids and also does stream that they think are "too lucky" so 100% false

Default avatar.png Camden272: he said

MadKnight: where

MadKnight: gimme link

MadKnight: i'll watch and comment

Default avatar.png Camden272: bet

Default avatar.png RSBat: you need java to hack minecraft so...

MadKnight: welllll

MadKnight: their "super luck" was related to his whole stream of a ton of plays

MadKnight: and not just to a single play

MadKnight: single play was just a tiny bit lucky

Default avatar.png Camden272: https://www.youtube.com/watch?v=oHKcQ184aa8&t=97s

MadKnight: dude they literally calculated that "terrible chance" based on his 3h stream that contained a ton of separate plays

MadKnight: his "world record" would just contain a tiny bit of luck

MadKnight: if u exclude other plays

MadKnight: why would he run a 3h stream that makes his "cheat" overly visible?

MadKnight: directly

Default avatar.png Camden272: he deleted the "did dream fake his speedrun" video

MadKnight: wat

MadKnight: there are lots of those

MadKnight: from different sources

MadKnight: cmon it's dream

Default avatar.png Camden272: dreams video

Default avatar.png Camden272: from dream\

MadKnight: i don't believe he wouldn't thought that playing TONS of games on a broken version makes it obvious

MadKnight: the "terrible chance" is related to a WHOLE 3h stream

MadKnight: not just to a play

MadKnight: it contains a ton of plays

MadKnight: they say - "in his whole 3h stream he had kinda fancy chances...."

MadKnight: he could just submit a single play

MadKnight: and it wouldn't make anyone being sus of him

MadKnight: because it's just "kinda not exactly like that..."

MadKnight: Camden272 he deleted it after he tweeted the reason

MadKnight: Camden272 he wanted to stop this whole fight

Default avatar.png Camden272: ohh well then i dont have twitter

MadKnight: i saw it on YT from someone else

MadKnight: i can give u the link

MadKnight: https://www.youtube.com/watch?v=VczZCoZ21jk

Default avatar.png Camden272: do you have mincraft java edition?

Westicles: Man, these guys are petty

Default avatar.png Camden272: ALRIGHT '

Default avatar.png Camden272: ima go

Default avatar.png Camden272: bye

Default avatar.png truewulfey: man, when you see the same people go on code clash thing over and over throughout the day

Default avatar.png truewulfey: like bro "AlkhilJohn" youve been here for 16 hours straight

Westicles: that bro is a bot

Default avatar.png truewulfey: i stg then like 90% of the clash people are bots

DhevanSafaHevanafa: bots don't usually submit answers tho

Default avatar.png mitfity: bot leaves when 4+ people joins the clash