Chat:World/2020-10-07

From CG community
Jump to navigation Jump to search

doduyphuong: :D

Default avatar.png BrokenKitten_d58: ????

Default avatar.png BrokenKitten_d58: hi hi

Allis: @Jef808 Which one?

Allis: Just checked your profile out of curiosity. There aren't any bots following you, but you're following four. :sweat_smile:

Jef808: Lol you're right I was following bots how did this happen :flushed: Now I'm I'm thinking I didn't check if this person wasn't just trolling with his profile nvm :grin: :flushed:

Phurinat: lol

Stilgart: eulerscheZahl: you are killing my perfect haskell solving actually (86% for space maze, sokoban not started yet) :)

MSmits: space maze is notorious for being hard to solve within the time limit

MSmits: it's probably possible with slow languages if you use a really efficient algorithm

Default avatar.png matamasa: hello

MSmits: hi

jacek: good morning

jacek: so, how many plies solved in oware

jacek: Automaton2000 why onitama is so hard

Automaton2000: yeah, but it doesn't look like that for the next contest will be a lot slower

Default avatar.png PrivatePirate_33ce: Hi, im a beginner can i ask how can you explain the code for the power of thor episode 1

Q12: Hey, can somebody help me solve a problem that connected to arrays reference in ANEO Sponsored Puzzle? I looked in google and nothing helps me to solve it.

KiwiTae: sure

KiwiTae: Q12 whats your issue?

jacek: PrivatePirate_33ce theres hint on the left

MSmits: hi jacek, i dont have plies solved, unless you mean the end game book. In that case I have a 4GB database of all 15 seed states for all 200 turns ( the result may be different on different turns)

MSmits: so any state with 15 seeds or less I solved

MSmits: but the meta mcts search goes 50 plies deep in some cases

MSmits: the book makes my bot unstable though, sometimes i have 90% winrate vs recurse and then i search 1 ply deeper and i go down to 10%

MSmits: there is a lot of "1 mistake = loss" going on

MSmits: I am currently trying some negamax versions for onitama and maybe later othello, breakthrough etc. Since I finally found out how to do transpositions effectively

jacek: mhm

Zenoscave: euler how many moves per turn do you output in 2048?

jacek: woah what a discount https://www.amazon.de/Apple-Mac-Pro-Wheels-Kit/dp/B0875VYRPB?language=pl_PL&tag=pepperpl09-21

AntiSquid: zeno first in 2048 already? :o

AntiSquid: Zenoscave Automaton2000

Automaton2000: what do you want to make it a bit more

darkhorse64: Nearly 500K points per test ! How many moves does it take to score so much

darkhorse64: ?

AntiSquid: didn't really get into this, but do i need to reverse the random gen myself to predict it? :/

TrapRNotGay: do any of you guys know how to input a c-optimization flag into the online console?

Westicles: #pragma GCC optimize "O3,omit-frame-pointer,inline"

TrapRNotGay: thank you, my code still timed out, but thanks either way.

wlesavo: AntiSquid there is a link to git hub

AntiSquid: darkhorse64 is using same strategy as me?

darkhorse64: I would not call it a strategy but yes. Next step is to write the engine and maybe start choosing moves with MC

darkhorse64: Yes, you need to read the referee to mimic tile generation but hey, it's not the MeanMax sim

darkhorse64: ULR > UDLR

sunksuperset370: hello

sunksuperset370: does any one know how you can get past collision in coders strike back

sunksuperset370: i am bronze league

sunksuperset370: :thinking:

darkhorse64: You mean, do you have inputs that describe collisions ? The answer is no

sunksuperset370: nono

Shadowtick: hello everyone

sunksuperset370: i created a code that will check if the opponent is in between me and the checkpoint

sunksuperset370: if it is i will log for the opponent

sunksuperset370: if not i will log for the check point

Shadowtick: wow that's neat

sunksuperset370: but the whole thing is just logging 0, 0

sunksuperset370: i had to remove the thrust function if the angle of my pod is off

sunksuperset370: to increase thrust or decreace it

Shadowtick: I don't know if I could code that

sunksuperset370: nono

sunksuperset370: its just checking if the x and the y positions are in which spot

sunksuperset370: if

Shadowtick: but I did make something neat in p5.js

sunksuperset370: xpod me> xpod op

sunksuperset370: or ypod me< ypod op

darkhorse64: My advice: aim as fast as possible to the next checkpoint. Ignore oppoents

Shadowtick: ok

sunksuperset370: its just a lot of those

MSmits: you can get to gold without worrying about collisions

sunksuperset370: i did that before but the opponent is doing the same thing

Shadowtick: wanna see something I made in p5.js?

MSmits: do it better :)

sunksuperset370: i am colliding with the oppoenent and my pod get knocked off course

MSmits: there are 10 line bots that can get to gold. All that matters is making the turns efficiently

Shadowtick: oof

MSmits: other stuff becomes important in legend... maybe top gold

Shadowtick: I still am stuck in wood 2 league

MSmits: yeah, actually, playing coders strikes back heuristically isn't so much about being a good coder

MSmits: more about finding the right heuristic to use for the turns

MSmits: it's hit and miss

MSmits: if you know you're a good coder already, you'll make more progress in other multis maybe

MSmits: a crappy coder that just finds the right if else heuristic can beat you to gold quickly. I got to gold with a 200 line program that was way overkill for what it was meant to do

Shadowtick: I know but I just don't know how to put in the if (nextCheckpointAngle > 90) or (nextCheckpointAngle < -90) without it messing up my pod's speed and not letting it move at all

AntiSquid: been practicing all the good coding standards in CSB IDE, comments and code maintainability and readability and now MSmits says it's not what good coders do :( Automaton2000

Automaton2000: is there a way to add a new opponent

jacek: also CSB requires physics :c

MSmits: good coders just find the right if else heuristic :P

MSmits: yeah that could be a barrier

MSmits: both if you know a lot of physics (overcomplicating things) or if you dont know any

MSmits: hey jacek, if you use transpositions for your negamax bots, do you also make your own hash table?

MSmits: or do you use some builtin like unordered set/map

DomiKo: I have a problem with 2048 :(

DomiKo: When i submit my long string

DomiKo: CG crash :((

MSmits: thats not a problem, that means you won CG

jacek: MSmits i use unordered_map

DomiKo: but that's only 5K chars

MSmits: ahh ok, i have found that it's really easy to make your own hashtable and it's many times faster

MSmits: often when i put in an unordered map/set, I halved my overall performance

MSmits: really big hit

MSmits: i did this 1st in my D&B local solver and it solved in half the time

MSmits: compared to unordered set

jacek: when new D&B bot?

MSmits: meh, i got the solver done, but its a lot of work getting it into a live both, will end up being 3k lines total :(

MSmits: i will do it

MSmits: but not soon

MSmits: live bot

MSmits: basically what it will do is solve at 50 plies or so

MSmits: maybe 45 or so for easy endgames

MSmits: no idea what kind of logic to use to place lines before this, but hopefully that wont matter

Shadowtick: it's hard for me because I don't use if-else statements much because I don't understand it that much

MSmits: understand if else?

MSmits: if (hungry) Eat();

MSmits: else Sleep();

MSmits: my dog can do it

Shadowtick: I know how it works I just don't understand how to use it that

MSmits: ah ok

MSmits: well you could have two output possibilities, one with power 0 and one with power 100

MSmits: based on some if heuristic

Shadowtick: ok

MSmits: it's hard to give you any specific advice on coders strikes back, it's a weird game like that

Shadowtick: but you haven't seen my code to see what it looks like right now

MSmits: either you do heuristics and then I'd mostly be telling you physics stuff, or you simulate the entire game and use a search algorithm and then it's just a LOT of coding

MSmits: maybe you can google some simple CSB examples?

Shadowtick: I am just gonna send you my code so you can see what it looks like

MSmits: other people have put their code online (Even though you're not supposed to)_

jacek: :scream:

MSmits: dont know what else to say about csb... dont want to give away the -3vel

darkhorse64: give away Magus CSB article to get Legend instead of Gold

MSmits: yeah but to use that properly, you need to be a pretty good coder already

MSmits: at least know what you're doing

darkhorse64: I learned AG with inoryy starter. Now, I know the implementation can be improved

MSmits: ah, I never learned it

jacek: AG?

Astrobytes: algorithme génétique

MSmits: That's GA in French

MSmits: apparently :P


MSmits: everything is better in French

jacek: w00t

MSmits: so maybe if you do CSB in AG you can make top 10 :P

Astrobytes: even the French for 'flea' sounds great

darkhorse64: Even on the chat do I have a f***g French accent

Astrobytes: :D

MSmits: yep

jacek: eeyup

Danotris: I understand the theory behind AG, but using it in practice is another story

MSmits: same

MSmits: I'm pretty sure I can write a SA

MSmits: which you should learn before GA anyway

MSmits: cuz it's way easoer

Danotris: SA ?

MSmits: easier

jacek: AS?

MSmits: simulated annealing

darkhorse64: recuit simulé in French

jacek: annealing simmulaté?

jacek: oh

darkhorse64: means nothing

MSmits: SA just has a single solution and you're replacing it randomly with other candidates.

Astrobytes: in Polish that's: wjckwcd cjkrwd

jacek: i did GA, never did SA, and i was playing around with PSO

MSmits: you should replace your keyboard Astrobytes

Astrobytes: :P

Astrobytes: did you get anywhere with PSO jacek?

darkhorse64: SA = MC with an improved selection ?

jacek: nah, PSO is just more localized GA

Astrobytes: maybe better to be used in conjunction with something else

darkhorse64: Never wrote an SA. I need some pseudo code to understand it

darkhorse64: I use GA for search race but it does not work very well compared to the results I have with CvZ

Astrobytes: darkhorse64: https://rosettacode.org/wiki/Simulated_annealing

wlesavo: i had SA and GA for NS, and that GA never worked properly while SA gave quite an ok results

wlesavo: since than i have SA in almost all the optims ive tried :slight_smile:

jacek: i learn by examples. what i really hate is when they give you example with only.1 parameter. how do i choose 2 or more candidate parameters?

jacek: im slow learner, even if i figured out 2 parameters, i would need examples with 3 parameters, 4 parameters... then maybe ill get the idea

wlesavo: just add couple more mutations

darkhorse64: Thanks Astrobytes. Pseudo-code, explanation and samples, all I need to climb the optim LB again

Astrobytes: darkhorse64: it's basically to avoid getting stuck in local optima, higher initial temperature means probability of accepting a suboptimal solution is higher, you jump around in the search space a bit more, as it 'cools' the probability of selecting a suboptimal solution decreases

Astrobytes: (essentially)

wlesavo: cooling rate is the most painful thing in SA, sometimes i just do an e-greedy

darkhorse64: Yeah, I suspect I am stuck in a local minimum at SR

wlesavo: also random number of mutations helps quite a bit

Astrobytes: Yeah it can be tricky to fit

Astrobytes: anyway, out for a bit. See you all later

MSmits: bye Astrobytes

MSmits: what is SR again?

darkhorse64: bye

darkhorse64: Searh Race

darkhorse64: *Search*

MSmits: ahh ok

eulerscheZahl: Zenoscave :rage:

MSmits: eulerscheZahl :heart_eyes:

MSmits: what did zenoscave do?

eulerscheZahl: share a replay zeno, i'm curious how hard it's lagging on load

eulerscheZahl: https://www.codingame.com/multiplayer/optimization/2048/leaderboard

MSmits: why is westicles not 1st and where is dbdr?

eulerscheZahl: it got approved yesterday evening

MSmits: mystery solved

dbdr: MSmits: did you see who is 1st on D&B?

MSmits: no

jacek: not me :(

MSmits: some crazy gu

dbdr: it's https://en.wikipedia.org/wiki/R%C3%A9mi_Coulom

jacek: HIM?

jacek: *FOLLOW*

MSmits: oh

dbdr: "n 2006, Rémi Coulom described the application of the Monte Carlo method <https://en.wikipedia.org/wiki/Monte_Carlo_method> to game-tree search <https://en.wikipedia.org/wiki/Game-tree_search> and coined the term Monte Carlo tree search <https://en.wikipedia.org/wiki/Monte_Carlo_tree_search>"

eulerscheZahl: seems more likely than this Remi https://www.youtube.com/user/nqtv

MSmits: nah, i think it's that guy, he must have time leftover

MSmits: it's him

MSmits: https://twitter.com/Remi_Coulom

jacek: "The AlphaZero algorithm works for many board games, but not for Dots and Boxes"

jacek: oh my

eulerscheZahl: "my entry should be easy to beat" i'll translate that: dbdr your bot sucks

MSmits: if it doesnt solve at 50 plies in, then it should be easy to beat yes

dbdr: yay, I'm on twitter :D

MSmits: this game really requires an endgame solver

MSmits: I played with @CodinGame

recently, and I love it! I can't believe I discovered it so late, and recommend it to all the game programmers. I may hire my next employee there. I reached rank 286 at Clash of Code ;-) I'll be wasting some of my lockdown time there.

MSmits: jacek, go clash

MSmits: maybe you will find him there :)

jacek: im 266th

jacek: im better than remi

MSmits: indeed

dbdr: learned something about alphago from a screenshot, which is not disclosed in research papers :D

MSmits: nice

jacek: and hes only silver in Artificial Intelligence :thinking:

jacek: what a noob

darkhorse64: We should invite him to play Yavalath

jacek: he has breakthrough bot

MSmits: wait, what why yavalath

MSmits: dont touch that leaderboard, it's been perfected

darkhorse64: CG will be happy to know it has such an illustrious member

MSmits: yeah

MSmits: it's kinda cool. Good advertising on twitter also

dbdr: he has a company, curious what his business model is

MSmits: maybe his business model is, I am already rich, i code fun stuff

dbdr: "We licence our AI systems to Unbalance <http://www.unbalance.co.jp/>, a Japanese game publisher." found it

MSmits: ah ok

dbdr: he was assistant uni professor

dbdr: not the way to get rich ;)

MSmits: true

dbdr: MSmits: is Lille far from where you live?

MSmits: yeah

jacek: looks like tulips and daisies will be on contest

dbdr: well, you might still be the closest. just need to go through belgium :)

dbdr: I did not realize Lille was so close to the border

dbdr: looks like the made a detour to keep Lille in France :D

Shadowtick: is anyone here food with javascript and could possibly help me with my coders strike back code?

dbdr: javascript is not part of a healthy diet ;)

dbdr: MSmits, what happened to your D&B bot?

Shadowtick: Well I'm more used to javascript since I always used p5.js

MSmits: sec :phone:

dbdr: was joking about the typo. what's your problem Shadowtick?

Scarfield: you have a second phone? sus

dbdr: eulerscheZahl: yes, it sucks, just less than all the others except Remi's :)

Default avatar.png d_ramdom_guy: reyktfuljk

MSmits: dbdr

MSmits: my solver is done (locally)

MSmits: 1 in a million endgames i cant solve in 100 ms

MSmits: most of the rest i can solve in less than 1 ms

MSmits: but putting the solver in a bot is a lot of work

MSmits: endgames start at ply 55 or so, so all games should be solved from that point, or a few plies earlier, if i extend the negamax

MSmits: also i live in a northern corner of my country, so not near Lille :)

MSmits: so anyway, not sure when i will make it into a real D&B bot. I am doing some negamax experiments for other games currently. Games where mcts type solutions seem worse

dbdr: which games?

MSmits: i want to try onitama, othello and checkers for sure

MSmits: maybe breakthrough

MSmits: I never could make a good negamax before because i couldnt get TT + ab right, but i fixed that

MSmits: onitama should be nice because I put the full state in 64 bit

jacek: w00t

jacek: what about cards

MSmits: also

MSmits: takes 5 bit

MSmits: 5 bit for cards, 25 bit per player for pieces, then I think 3 bit per wizard to say which of the pieces is the wizard

MSmits: 3*2 + 25*2 + 5 = 61 bit

dbdr: 3 bits wasted :(

MSmits: yeah :(

jacek: 5 bits for cards?

MSmits: yeah there are only 30 ways to distribute 5 cards among 2 players

MSmits: with 1 card in the center

jacek: oh my

jacek: thats math

MSmits: yes :P

jacek: :(

MSmits: http://chat.codingame.com/pastebin/b5d2b298-f3e6-4bf3-ae39-798725f8fc17

jacek: welp

MSmits: weird

AntiSquid: still broken

MSmits: http://chat.codingame.com/pastebin/91fc1c3b-e034-488a-9122-39f775418dba

AntiSquid: use pastebin website

MSmits: kk

AntiSquid: k

eulerscheZahl: kkk

jacek: :scream:

eulerscheZahl: wait...

MSmits: https://pastebin.com/6bdXwrcP

dbdr: eulerscheZahl: 1st warning ;)

jacek: thats germany for ya

AntiSquid: blame the frogs

jacek: oh right, i was thinking how could you fit 5 16 different cards

dbdr: frogs are french, toads are german

MSmits: yeah i dont put that in the state

MSmits: i connect the 0,1,2,3,4 to the card

MSmits: so it's a separate array

MSmits: some complicated precalc stuff takes care of this

dbdr: oh, Zenoscave took over eulerscheZahl at 2048

MSmits: basically i lookup a card with a position to find a moveboard, which has bits set for each reachable cell

dbdr: scores in millions. we might discover how many bits CG uses :D

AntiSquid: where do the serious bots start at ? for 2048

Illedan: > 15 mill

dbdr: lol

jacek: getting to 2048 in single game is about 20k?

MSmits: I think they keep going after that?

jacek: of course

MSmits: ah ok, havent tried the game myself

jacek: not even by hand?

MSmits: your bots are keeping me too busy in other games

MSmits: i think once or twice

eulerscheZahl: 2 1-star reviews already

MSmits: why?

dbdr: :O

eulerscheZahl: what's the treshhold agaig for garbage collection?

eulerscheZahl: again*

dbdr: are multis ejected automatically like puzzles?

MSmits: when the bag is full, you dump it

eulerscheZahl: i think it applies for all community contributions

MSmits: wait, when are they ejected?

jacek: by remi?

dbdr: those ratings look like US politics. 2 five stars, 2 one star

eulerscheZahl: :D

Illedan: haha

MSmits: eulerscheZahl you didn't make a twitter post did you?

eulerscheZahl: i'm not on twitter :P

MSmits: ah ok good

eulerscheZahl: we can share replays now without spoiling. there's a random testcase

eulerscheZahl: https://www.codingame.com/share-replay/491533999 not my best run but loading already gets laggy

dbdr: A MULTI THE LIKES OF WHICH WE'VE NEVER SEEN!!!

MSmits: people say it's the best

dbdr: yeah, laggy

MSmits: very

jacek: so unoptimized

eulerscheZahl: so many states to display

Illedan: That is a brilliant thing euler. About the sharing random testcases :D

eulerscheZahl: also proves that you didn't hardcode

dbdr: one frame lasts one minute :D

eulerscheZahl: an evening-filling program to watch

eulerscheZahl: if you watch it in normal speed, that replay will run for more than 3h btw

Illedan: xD

AntiSquid: how did you compress all that info in the replay?

eulerscheZahl: wrote my own serializer

eulerscheZahl: and visualization partially without the SDK

eulerscheZahl: the replay from above without the static content that CG adds has about 10kB only

eulerscheZahl: wait, i was looking at the wrong part

eulerscheZahl: 72kB with output and error stream

eulerscheZahl: good enough to allow more

eulerscheZahl: but somehow the side shift with <> becomes unicode in the json, didn't consider that

eulerscheZahl: now we have \u003c instead of <

eulerscheZahl: how inefficient :(

jacek: struct would never allow that

eulerscheZahl: struct would also reimplement the tile spawn instead of serializing that too

Illedan: Not heard from struct?

Shadowtick: ...

AntiSquid: ...

Scarfield: have you asked MadKnight, he might know if struct has been on discord?

jacek: or AutomatonNN

Q12: Can I bold letters in a comment to contribution? and if yes than how?

Illedan: ctrl+b? never tried

Illedan: Hm, didnt work. nvm

Illedan: Seems to be plain text, unless you can add markdown syntax

Illedan: Sorry for the notif euler, didn't work though :D

Q12: Ok, thanks

eulerscheZahl: there is no formatting in the puzzle comments

Q12: Why not adding?

eulerscheZahl: brings little value?

Q12: understand

eulerscheZahl: you have formatting in the contribution itself

Q12: I know, thanks :relaxed:

Illedan: (╯°□°)╯︵ ┻━┻

eulerscheZahl: what's wrong Illedan?

Illedan: Swapped x and y while looping for finding tile to spawn at

eulerscheZahl: classic

DomiKo: what is the easiest way to parse output strings in 2048?

DomiKo: i reached limit so fast :(

Illedan: Hardcoding?

Default avatar.png melchi: :eggplant:

DomiKo: i have string of lenght 10K for each testcase :/

Illedan: Part of the puzzle ;)

DomiKo: I guess I have to learn how to use something like base65K

eulerscheZahl: you might have to split that 10k into multiple turns. i don't know if there is a limit for chars per turn

eulerscheZahl: probably, CG has a limit for everything

DomiKo: there is limit for CG crash

Illedan: xD

DomiKo: when I have to mamy moves in one turn

DomiKo: chrome instantly BOOMMM

DomiKo: but 100K chars limit

DomiKo: is problem here :(

eulerscheZahl: i had that discussion with dbdr yesterday. my point of view: you won't be able to hardcode everything

DomiKo: that's really got point for that puzzle

Shadowtick: ...

MSmits: hmm, doesn't 2048 have a lot of symmetry?

MSmits: maybe the best moves are repeated

MSmits: and you can take a current state, simplify it to the smallest version of that state and then look it up... not sure, havent tried it myself

MSmits: then again, 16 cells and a lot of possible values of each cell...

eulerscheZahl: i think the way to go if you want to hardcode: have some cheap heuristic for online solving. and hardcode the turns where it fails

MSmits: makes sense

AntiSquid: Shadowtick what's up with the "..." dots ? O_O

AntiSquid: O__O

MSmits: actually eulerscheZahl, that's how all my opening books works

Shadowtick: I'm just not gonna question anything that is going on here

eulerscheZahl: interesting

MSmits: except you replace cheap heuristics with search

eulerscheZahl: a search that will reliably find the best action

MSmits: well most of the time yeah

Shadowtick: AntiSquid its because I am confused about what I just stumbled into

MSmits: or it goes deep enough that the search can take over and do good enough moves to win reliably

AntiSquid: and if 100 users did that we'd just have ... every line .

MSmits: Shadowtick you can always ask

eulerscheZahl: ...

MSmits: but the answers will cause more questions

eulerscheZahl: ̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤

AntiSquid: or you could make your spam more varied and creative than just 3 dots

AntiSquid: /ban euler

MSmits: he just did that :P

MSmits: can't ban someone for doing what you asked :P

Shadowtick: I know but I am just not gonna ask because I much rather fix the bug that is happening on my screen right now

AntiSquid: learned it from reddit MSmits

MSmits: aha

AntiSquid: Shadowtick this ̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤̤ bug?

AntiSquid: lol kaggle silver ...

Shadowtick: here I will make a whiteboard on whiteboard fox to show you

Illedan: ./clear

AntiSquid: still have to figure what makes accurate predictions

Saaalikh: hello

Shadowtick: https://r2.whiteboardfox.com/2189217-4189-3971 here it is

MSmits: I am not a bug!

Shadowtick: no not you

MSmits: you just marked my name in blue and said I am a bug :P

AntiSquid: Shadowtick "There is nothing wrong with your television set. Do not attempt to adjust the picture. We are controlling transmission. If we wish to make it louder, we will bring up the volume."

Shadowtick: I am not on a tv

Shadowtick: I am my chromebook

AntiSquid: it's a twilight zone reference @_@

Einwickler: Cheers guys

jacek: hm

jacek: everyone can see what i draw on that whiteboard?

Shadowtick: yes

jacek: oops

Shadowtick: but you cant erase anyone else's drawings

Shadowtick: jacek I can make one for us to draw

jacek: nah

dbdr: Illedan, how did you manage to do 50k?

dbdr: my depth 0.5 did 97k :)

eulerscheZahl: what score does random give?

dbdr: I suspect 50k now :)

Shadowtick: you can hit options and type it in text

eulerscheZahl: Console.WriteLine("UDRL"[random.Next(4)]); 27k for that

dbdr: sim is a bit annoying

jacek: beautiful https://i.imgur.com/H3dRPJm.png

Astrobytes: Pure art.

jacek: collective mind of CG

AntiSquid: ULR is the 39.9k eulerscheZahl

darkhorse64: ULR > UDLR because you must keep the high values in a line

eulerscheZahl: Console.WriteLine("ULR"[random.Next(3)]); 27k too

dbdr: #define GOOD_RANDOM true

AntiSquid: no random

eulerscheZahl: yeah, i got that

eulerscheZahl: i'm just surprised that it works better than random

jacek: print ULR over and over?

eulerscheZahl: because the game will ignore invalid actions and end the turn right then and there

eulerscheZahl: so you may have valid actions left but U isn't one of them

eulerscheZahl: in that case you won't get any more points

AntiSquid: ya but most of the time that sequence will work perfectly fine . see? domain specific knowledge, wasted enough time on that game to know this tiny bit of useless info

eulerscheZahl: :D

jacek: You have reached the maximum of submissions in a row. Please try again in a few minutes.

jacek: :c

eulerscheZahl: did you farm language awards?

jacek: just spam submit random actions

eulerscheZahl: the default code gives a point. except for clojure timing out

AntiSquid: is there a bug with clojure in general or only on this puzzle?

eulerscheZahl: i think it's a general issue

dbdr: imagine spam submitting and being last ;)

jacek: :c

jacek: not anymore

dbdr: race to the bottom :D

dbdr: gg kovi

jacek: but i cant get lower now eh

kovi: optim game...

eulerscheZahl: he has to defend the #3 on the global optim leaderboard

dbdr: kovi: change min to max ;)

eulerscheZahl: and might already hate the contribution :D

kovi: #2

eulerscheZahl: oh, congrats

kovi: changes each day

kovi: between me and marchete

dbdr: everyday? :O

dbdr: optim is less volatile than multi

dbdr: are you optimizing?

kovi: we are close

darkhorse64: just like the global lb ?

kovi: no submissions from us last months

dbdr: lol

jacek: cant improve something optimal

eulerscheZahl: onitama = puzzle of the week => more players => toad wins points (royale has no onitama bot)

kovi: others submitting changes the minimal difference

dbdr: eulerscheZahl, was it expensive?

darkhorse64: onitama +40 players and counting

Ahmed_Salah7: fuck

jacek: oO

darkhorse64: +400 points for karliso

darkhorse64: onitama: domiko trying to play a card that does not belong to him

AntiSquid: thief

darkhorse64: ban

Zenoscave: pew pew pew

darkhorse64: #91 on 108 not bad for a crashing bot

kovi: nice score zenoscave on 2048

Zenoscave: thanks kovi :)

Illedan: Offline Zeno?

Zenoscave: nope ;)

Illedan: Nice :)

darkhorse64: How many moves per turn ?

Astrobytes: Beastly score!

Zenoscave: I think that submit was 30?

Illedan: And you lost at turn 600?

Zenoscave: I usually fill up before 600

darkhorse64: Nice search

DomiKo: darkhorse64 that's default code

Illedan: interesting

eulerscheZahl: Zenoscave play the random test and share a replay

Zenoscave: ok one sec.

Illedan: 10 GB later..

Zenoscave: maybe several seconds...

darkhorse64: DomiKo: you can do better

DomiKo: I guess I can

DomiKo: but after 2048

eulerscheZahl: copy-paste the boss from github

kovi: 1x1sec + 600x50ms?

eulerscheZahl: you got the numbers wrong kovi

kovi: 599?

eulerscheZahl: a single frame can have multiple actions of 500ms each

eulerscheZahl: with a total replay length of several hours :D

jacek: huh

Zenoscave: 465 x 32 actions https://www.codingame.com/replay/491556450

kovi: i meant time in search

Zenoscave: oh yeah 465 x 50ms then

eulerscheZahl: 2h 4min

Zenoscave: hey that one made a 32768 cool

eulerscheZahl: and the font gets smaller so it fits in :)

kovi: knowing the random ahead is a big advantage to playing by hand

Zenoscave: yeah I like that touch eulerscheZahl

eulerscheZahl: giving the random is the only way to allow for that high amount of interactions

kovi: i understand

AntiSquid: what's with the random empty chat opening ? something trying to fish for info on requests?

Zenoscave: broke 15M

kovi: nice

Astrobytes: impressive sir!

Astrobytes: Donno AntiSquid, seems related to external clients somehow, reported it last week

Zenoscave: It was a pain getting the seed working. was casting to an int at one point

Shadowtick: hi

Zenoscave: damn magic auto-sizing

Shadowtick: who here has heard of dead by daylight mobile before?

AntiSquid: i don't see the appeal in that game

AntiSquid: really dull

Shadowtick: well I did the funniest thing in dead by daylight mobile

Shadowtick: I put traps around all the generators then waited for some survivor to work on one and they got trapped

Shadowtick: isnt it smart

AntiSquid: i prefer an actual story

AntiSquid: the gore shouldn't be the story and usually it's pointless anyway

Shadowtick: well then let me get the whole lore to the whole game and its characters

AntiSquid: no. dont.

Shadowtick: would you rather read all that

AntiSquid: no

Shadowtick: I feel bad for the huntress though

Shadowtick: she couldn't save her mother when she was just a child that's sad

Shadowtick: I feel bad for her not being able to save her

Shadowtick: anyways imma stop talking about dbd/dead by daylight

AntiSquid: there are better horror stories out there

Shadowtick: no not to many that I really

Shadowtick: really like*

Default avatar.png MichaelKilbane: ayyy

Shadowtick: I never knew the huntress in dead by daylight was russian

Shadowtick: 🤯 my mind is blown

auguluk: hello

PatrickMcGinnisII: So a couple people just had to beat me on the leaderboard eh eulerscheZahl

Shadowtick: check out what I made on ms paint

Shadowtick: https://imgur.com/jOKA3PO

PatrickMcGinnisII: u killed imgur

Shadowtick: I made that with a technique that I know how to use

Shadowtick: and Imma make some draw some to get better

eulerscheZahl: but you got the 2048 tile PatrickMcGinnisII

PatrickMcGinnisII: My code is fairly barebones, a few more minor improvements maybe i cab get over 1M points, but I'm almost maxed out with PHP

eulerscheZahl: choose the right tool

PatrickMcGinnisII: at depth 6. Maybe without the invalid move checker too, i dunno

eulerscheZahl: you wouldnt climb the mount everest with running shoes either

kovi: slowly running out of ideas on depth0

PatrickMcGinnisII: It's not about can I do it, it's about would I enjoy the climb?

PatrickMcGinnisII: kovi, heuristics aren't gonna do it , its a crunch and munch optim

Astrobytes: If it were Everest: no. Base camp is bad enough in hiking boots. So just use C :P

PatrickMcGinnisII: yea, you don't need OOP, just slows it down actually

Default avatar.png zegevlier: Helloooo

Laminator: What uppppppp

eulerscheZahl: oh, Illedan with a 5M score

Astrobytes: nice

PatrickMcGinnisII: ahh, here's a 4096 https://www.codingame.com/replay/491583044

Illedan: :)

eulerscheZahl: so, what's your scoring PatrickMcGinnisII?

eulerscheZahl: how do you choose the next action

Astrobytes: Patrick, you gotta beat Zeno's 32768

Illedan: eulerscheZahl, can you add a NOUI mode :P to instantly view the end result?

Illedan: WHAT 8mill score, but 2 testcases failed

Illedan: lolol

eulerscheZahl: technically: yes I can disable the viewer

eulerscheZahl: but don't you want hours of high quality entertainment for free?

Astrobytes: lol

PatrickMcGinnisII: scoring...is the actual score. I traverse everything unless it's an Invalid Move (which is if the board has changed)

Default avatar.png zegevlier: Just beating my friend at clash of code, not much

Default avatar.png zegevlier: lmaoo

Zenoscave: PatrickMcGinnisII I only do depth 6

PatrickMcGinnisII: I keep the best at every node, which is kinda slow

PatrickMcGinnisII: Zenoscave seriously?

Zenoscave: yup

Illedan: :)

PatrickMcGinnisII: just counting number of merges?

Astrobytes: C++ master race PatrickMcGinnisII :P

Zenoscave: monotone is your key

PatrickMcGinnisII: must be a trick

Zenoscave: Illedan are you coming for my spot?

Illedan: Yeah.

PatrickMcGinnisII: well when u detrmine next drop spot you do have to count open squares

Illedan: Gimme 10 min

Zenoscave: How long do I have :(

Zenoscave: Of course PatrickMcGinnisII

Zenoscave: it is used in the RNG algo

eulerscheZahl: i only score the board state

eulerscheZahl: the number in the top left corner gives the highest score

eulerscheZahl: the one below has the 2nd highest scoring factor and so on

Illedan: (╯°□°)╯︵ ┻━┻

Illedan: I lost because I gave no action -.-

Zenoscave: well fix it

Zenoscave: ezpz

Illedan: Wonder how that happen

Illedan: hmm

Illedan: true

PatrickMcGinnisII: the biggest # being dumped into a corner would seem to be a higher probability of success

Illedan: Ah LOL

Illedan: bug

Illedan: yeah

Illedan: I do it online btw

eulerscheZahl: updated. print a "-" in your move line and the viewer is off

PatrickMcGinnisII: eulerscheZahl does an invalid move being detected by referee dump the rest of the input moves behind it?

eulerscheZahl: yes partick

Illedan: ezpz ^^

Shadowtick: I finished my drawing

Shadowtick: https://i.imgur.com/2TzcNp1.png its the crying child from fnaf

Zenoscave: (╯°□°)╯︵ ┻━┻

Zenoscave: MY LEAD

Illedan: :P

Astrobytes: Shadowtick: any chance you could just spout random rubbish somewhere else?

eulerscheZahl: my 2nd place

eulerscheZahl: (╯°□°)╯︵ ┻━┻

PatrickMcGinnisII: 5460 nodes at depth 6, does that sound right?

Astrobytes: oof nice Illedan

Zenoscave: let's get our places back eulerscheZahl

PatrickMcGinnisII: 16M, wtf

Shadowtick: it's not rubbish ;-;

eulerscheZahl: make toad great again

eulerscheZahl: 5460 nodes sounds like you need pruning

PatrickMcGinnisII: just trying to gigure out why I can't get to depth 7

eulerscheZahl: but i get your number too using a calculator

eulerscheZahl: i only keep the best 50 at each depth

PatrickMcGinnisII: I am recursive at the moment as well

eulerscheZahl: but don't listen to me, the fish knows more

dbdr: shouldn't it be 4^6 = 4096?

eulerscheZahl: 4^6+4^5+4^4+...

PatrickMcGinnisII: +4^5+4^4

PatrickMcGinnisII: lol

kovi: nice illedan

PatrickMcGinnisII: Illedan isn't talking

Illedan: What do you want me to talk about?

PatrickMcGinnisII: Someone go plant a cam in Oslo ;)

eulerscheZahl: the number shifting app

Astrobytes: :smirk:

Illedan: I'm stuck waiting 1 min at every testcase just to get the frikkin viewer, where the whole webpage freezez

Illedan: -.-

eulerscheZahl: did you read my comment?

eulerscheZahl: eulerscheZahl 08:04PM updated. print a "-" in your move line and the viewer is off

Illedan: OH

Illedan: :D

Illedan: every round?

eulerscheZahl: once is enough

eulerscheZahl: you can also print -UULDR

Shadowtick: imma just go and draw some more

eulerscheZahl: it's also written in the statement if you reload the puzzle

Illedan: Still slow :P

Astrobytes: Still faster than dev time for the number shifting app :P

Illedan: hahaha

Illedan: Ok

Illedan: Damn, getting a random timeout or something on submit -.-

Shadowtick: oof

Illedan: https://imgur.com/a/PnQrLbF

Illedan: .....

eulerscheZahl: but a nice score

Astrobytes: that score tho

eulerscheZahl: "Still slow :P" he confessed to fake news

Illedan: Yeah, now I accept it

Illedan: thx :)

PatrickMcGinnisII: Do i really have to use a different browser, this one has got to be hacked

Illedan: My filecopy failed me :P

eulerscheZahl: so non-presidential of you to just accept it

kovi: gah, dbdr improved

Illedan: lol

dbdr: a rounding error for Illedan ;)

dbf: breaking news: raic is without t-shits this time :(

Illedan: :(

eulerscheZahl: noooo

Astrobytes: good. T-shirts would be so much better :P

eulerscheZahl: hoodies?

dbf: no hoodies

Astrobytes: "without t-shits "

Illedan: Time to win then..

eulerscheZahl: in the past the tshirt+hoodie was my main point of motivation

eulerscheZahl: as the games tend to be unnecessarily complex for my taste

Astrobytes: but what about a t-shit?

dbf: they mentioned that there will be some monetary prizes and stuff like promo-codes so you have a chance to get a discount in some food delivery service :)

eulerscheZahl: meh

Astrobytes: covid-conscious

eulerscheZahl: i don't care about money. i want something that i can't buy in a shop

Illedan: Agreed

Astrobytes: I'll send you a small drawing of a toad if you want

Astrobytes: Can sign it too

dbf: yep, but I'm not sure what is an issue: problems with delivery or budget reduction

eulerscheZahl: via paint and imgur?

Astrobytes: No - real paper

jacek: how about computer olympiad? https://icga.org/?page_id=3131

Astrobytes: And framed too

jacek: though im not sure how this works

Astrobytes: using Ludii eh

jacek: the one that invented yavalath :?

dbf: so wash your raic t-shirts in carefull mode now

Astrobytes: Yeah, must be a variant of it jacek

PatrickMcGinnisII: using the open square count as best at depth 6 scored lower for me

jacek: use n-tuples [solved]

eulerscheZahl: just score the number at each cell with a different factor

eulerscheZahl: top left * large number cell below * slightly smaller number

eulerscheZahl: not perfect but give it a try

dbdr: ignoring empty cells?

eulerscheZahl: well, illedan has twice my score

eulerscheZahl: and that icga doesn't even have UTTT. bad site

eulerscheZahl: while CG modified the original rules of the game

Astrobytes: Posted it in external contests

PatrickMcGinnisII: hmmm eulerscheZahl, yea just tried that, it encourages board to get filled, lol

PatrickMcGinnisII: how to compensate for empty cells

PatrickMcGinnisII: hmmm

eulerscheZahl: it does not encourage that

eulerscheZahl: if you have a factor difference > 2 between each cell

eulerscheZahl: score = grid[0,0]; score *= 3; score += grid[1,0]; score *= 3; ...

PatrickMcGinnisII: $newsc=($tsc[0]<<16)+(($tsc[1]+$tsc[4]+$tsc[5])<<8)+(($tsc[2]+$tsc[6]+$tsc[8]+$tsc[9]+$tsc[10])<<4)+

                   ($tsc[3]+$tsc[7]+$tsc[11]+$tsc[12]+$tsc[13]+$tsc[14]+$tsc[15]);

dbdr: lol, I had forgotten to call spawn() :D

eulerscheZahl: not gonna read that mess

Shadowtick: imagine a uno reverse card in a uno reverse card that is in a uno reverse card and that uno reverse card is in a uno reverse card

eulerscheZahl: nice one dbdr :D

dbdr: oh, and now I reach 600 turns so I waste points

eulerscheZahl: ille just swapped x and y

Illedan: I forgot spawn before that

Default avatar.png FuriousT: is there a way to play previous leagues again?

eulerscheZahl: print a - to disable the viewer btw

eulerscheZahl: only one way FuriousT: create a new account

Illedan: -.-

Default avatar.png FuriousT: figured. thanks for the info

Illedan: Reached 600 steps and there was still moves to do :(

eulerscheZahl: unless you are SaiksyApo. he can go up and down as he wants

PatrickMcGinnisII: top left * 65536 + next squares out*256 + next squares out*16...I'm doing it wrong

eulerscheZahl: how many actions to you print per frame Illedan?

Illedan: Dynamic

eulerscheZahl: interesting

PatrickMcGinnisII: 600! ok, loading my gun

eulerscheZahl: got there too when i was just printing 10 actions each time

Illedan: eulerscheZahl, can you print the score on each round in game information?

Illedan: As I have no viewer, I can only see it if I win

Illedan: :P

eulerscheZahl: not today anymore

Illedan: Ok

eulerscheZahl: not a valid spelling https://xkcd.com/2250/

eulerscheZahl: are you normal or weird? how shall I tell?

Astrobytes: lol

Illedan: Just weird

jacek: oK

eulerscheZahl: topcoder testing in production? https://www.topcoder.com/challenges/00d8d7ab-eed1-4e99-b548-54d579ba333b

PatrickMcGinnisII: O.K.

Astrobytes: and 6 registrants...

eulerscheZahl: how about a minesweeper puzzle (not optim) as a next project? random testcase but only 1 or 2. so you may have to submit a few times. but not that much if your program is good

jacek: i never understood minesweeper

dbdr: PatrickMcGinnisII: I got 1M with depth 6

Default avatar.png Asta971: https://en.wikipedia.org/wiki/Minesweeper_(video_game)

dbdr: so you might have a bug

Default avatar.png Asta971: @jacek

jacek: oO

PatrickMcGinnisII: i got the basic of what eulerscheZahl was talking about, its neat to watch https://www.codingame.com/replay/491597234

dbdr: 1M with score as eval

dbdr: so theoretically that should lead to the same score, apart from ties in decisions

PatrickMcGinnisII: I notice I have alot of ties

dbdr: what I wonder with euler's method is, how do you deal with the top left being empty after moving down?

kovi: my greedy is also using topleft tendency

dbdr: do you score the top left of non-empty squares? or just get 0 for it?

Astrobytes: I guess since you know the next spawn point you can take that into account, unlike playing by hand

Default avatar.png MeMBuK: salın beni sq

Default avatar.png MeMBuK: sw

Default avatar.png MeMBuK: aq

Astrobytes: MeMBuK: English in World chat please

dbdr: kovi: maybe just because of ties and move order?

kovi: yes, i programmed it that way

kovi: basicly that is the way i solve

kovi: manually

PatrickMcGinnisII: dbdr at depth 6, the top left would never be 0 w/ his eval

dbdr: what if you move it down or right?

dbdr: or you just avoid that?

kovi: me? i only do that as a last resort. or when there is a huge benefit

PatrickMcGinnisII: i stopped checking scores at lower depths, just passed them on

Astrobytes: Oh, sorry, I misread. I would have thought scoring would remain the same for topleft, since that's where you aim to be keeping your highest tile

kovi: of course i dont peek at random for now, just like with real game

PatrickMcGinnisII: I still don't have a solution that will beat my 900k

Illedan: Damn GC is killing me

Illedan: -.-

Astrobytes: makes a change from CG I guess

PatrickMcGinnisII: oh i kept the actual score, the eval only happens at last branch

Default avatar.png MeMBuK: salın beni amk

PatrickMcGinnisII: the eval could be the tiebreaker i guess

Astrobytes: MeMBuK: second time, English in World chat please

Illedan: :tada:

Illedan: :D

dbdr: nice Illedan

dbdr: hint: don't use GC ;)

Illedan: Yeah

Astrobytes: oof yeah, well played

Illedan: I have to optimize some part

Illedan: LINQ might not be the best in my tight loop

dbdr: :stuck_out_tongue_winking_eye:

dbdr: wait, there is a random seed in validators too?

Illedan: -.-

Illedan: Dammit

Illedan: Who approved this thing

Illedan: Shouldnt be

Illedan: according to the contribution

dbdr: the names is there

PatrickMcGinnisII: the eval as a tiebreaker worked well

dbdr: https://i.snipboard.io/lijqIS.jpg

PatrickMcGinnisII: 2.4% improvement

dbdr: get that million!

PatrickMcGinnisII: got another 21k, still at 984k, under a 1M

Astrobytes: almost there ;)

PatrickMcGinnisII: Illedan 19M? seriously

Illedan: Damn serious

PatrickMcGinnisII: how long does it run on your machine to get to 1800 moves?

PatrickMcGinnisII: *chuckle*

Illedan: Didnt try

PatrickMcGinnisII: To get higher depth I think I'm gonna have to use a SplHeap, and I think that's gonna slow it down too much

PatrickMcGinnisII: ok, so at every decision, there are 0 to 8 merges

PatrickMcGinnisII: you can't ignore the moves with 0 merges

PatrickMcGinnisII: but i think you can ignore 2 moves with consecutive 0 merges

PatrickMcGinnisII: that train of thought fails me thinks

jacek: splheap?

PatrickMcGinnisII: php heap

jacek: so its just heap, not so fancy version of it

The_Auditor: breaking 100k requires actual thinking

PatrickMcGinnisII: 100 lines of code for 900k

The_Auditor: 3 if - 63k

PatrickMcGinnisII: ULR over and over

The_Auditor: not reading the board

The_Auditor: a bit more complicated ULR gets stuck faster

Illedan: 600 lines for 19 mill

PatrickMcGinnisII: i was just saying the overhead of almost 1M is pretty easy at 100 lines

kovi: i also started with 3 ifs for 70k

Illedan: Damn

Illedan: I had 8 ifs for my initial 50k

Illedan: -.-

kovi: but getting 100k seems to be tough without "playing"

kovi: i have slowed down especially now reaching max# submission

Illedan: Spamming at 100k?

kovi: nah, just slowly improving

dbdr: spam detection seems very sensitive

dbdr: https://i.snipboard.io/38d2BH.jpg

dbdr: and I still cannot

jacek: rust :pensive:

dbdr: you need a trigger warning? ;)

PatrickMcGinnisII: Imma have to rewrite for non-recursive solution, depth 10 is attainable

MSmits: with beamsearch, any depth is attainable

dbdr: depth 10 in PHP? I doubt it

MSmits: beamwidth = 1

MSmits: doable

Illedan: lol

dbdr: I mean full search

MSmits: eww

PatrickMcGinnisII: I can get depth 6 with most any of the complicated games...it's that next one that will never happen for me on CG.

PatrickMcGinnisII: when u joiinin' the leaderboard MSmits?

MSmits: probably not this year

Illedan: Wow

Illedan: Where is your time at?

MSmits: I've got many things on my list already

MSmits: i mean for CG

MSmits: but also study/work

Illedan: And I just got confirmed we are getting a new Kitchen the week before the next contest :scream: hopefully able to focus some

MSmits: CG I have negamax rewrites for some boardgames, D&B bot, want to try some more stuff for uttt etc.

MSmits: for study/work I need to write an AI course

MSmits: it's basically my "thesis"

MSmits: have to write educational material and test it

MSmits: i have this framework my colleague wrote for online learning that's quite good. Has a code runner and everything

MSmits: I can design my own courses in that

Illedan: :tada:

MSmits: still difficult to do this for students without much programming skill

MSmits: but I was thinking a lot of monkey see/monkey do

MSmits: step by step BFS algo etc.

Illedan: :)

PatrickMcGinnisII: MSmits 100 lines of code...gets u in top 6

PatrickMcGinnisII: lol

Illedan: Divide and conquer

Illedan: 20 mill :dance:

MSmits: what do you mean Illedan?

MSmits: divide and conquer?

PatrickMcGinnisII: his leaderboard in 2048

MSmits: ah ok good job Illedan

MSmits: seems a good game for you

Illedan: Divide and conquer for learning students

Illedan: Divide the problem, look at smaller parts

Illedan: understand it

MSmits: ah yes

jacek: the solving by hand and hardcoding is getting out of hand

MSmits: this is normal right:

MSmits: http://chat.codingame.com/pastebin/34a2b777-8aab-445a-b0d3-44c1d058084d

Zenoscave: wonder if branch and bound would work here :thinking:

MSmits: for negamax

PatrickMcGinnisII: he said he not hardcoding, but i don't believe it

Illedan: http://chat.codingame.com/pastebin/f0db103c-d12a-41e8-a87d-6a78d59e71f3

MSmits: ah crap not working

MSmits: Search Depth: 1 Score: 8420 Search Depth: 2 Score: -2380 Search Depth: 3 Score: 7620 Search Depth: 4 Score: -1780

jacek: invalid paste id? yeah its completely normal phenomenom for negamax

MSmits: the pos/neg switching

Illedan: 65536 got :)

MSmits: with different depths

MSmits: horizon effect

Zenoscave: my bitboard only works up to 32768 :/

kovi: optimal solution? nice

jacek: depends on eval. does it balance for tempo?

MSmits: it does, but it's my eval from mcts version

MSmits: so badly fitted

jacek: some fluctuations can occur

PatrickMcGinnisII: no uint zeno?

MSmits: i call it a "turn bonus"

MSmits: apparently thats tempo

MSmits: something i discovered when doing oware, the guy that just made a move gets a bonus

jacek: well if you compare evens and odds only, they do not differ much

MSmits: yeah

Zenoscave: I bit pack

Zenoscave: PatrickMcGinnisII

jacek: for NN, i have de facto "2 NNs" depending whos turn now

Zenoscave: each tile is a nybble

MSmits: both players have a different NN?

Zenoscave: smistiNN

MSmits: hah, I never made one

MSmits: i think I can explain to students how it works though

jacek: its NN for the one player, but depending whos turn is now, different inputs to fire

jacek: instead of making additional input for currentPlayer

MSmits: ah ok

Zenoscave: I never added alpha-beta or pruning to 2048 /flip

Zenoscave: (╯°□°)╯︵ ┻━┻

PatrickMcGinnisII: a word for every square, not sure how that packs

dbdr: alpha-beta Zenoscave? it's not a 2 player...

MSmits: he's his own worst enemy

Zenoscave: lol i need sleep

Zenoscave: but i should prune

PatrickMcGinnisII: oh each board position is just a power of 2

MSmits: thats why euler said beamsearch

dbdr: alpha-alpha

Zenoscave: lol

MSmits: it's a simple form of pruning

jacek: maximax?

dbdr: yeah

jacek: well, the game is your enemy

PatrickMcGinnisII: so 4 bits a square x 16 = 64 bits

dbdr: only with random events

Zenoscave: hmmmm might need to look into pruning. does just using UDR work?

Shadowtick: imma say my name in Korean just for fun

MSmits: go for it

MSmits: just don't do it more than once

PatrickMcGinnisII: is 64 bits an unsigned long or an unsigned long long?

Zenoscave: ull

PatrickMcGinnisII: been too long, tx

Default avatar.png HD-162826: :stuck_out_tongue:

MSmits: is that compiler specific?

Zenoscave: machine

Zenoscave: not compiler

MSmits: ah

MSmits: so weird

jacek: if you do bit things, it doesnt matter. only for printing

Hjax: do people do minimax for 2048? not mcts?

MSmits: minimax makes no sense

Zenoscave: Beam search it turns out

MSmits: single player mcts can be done, but i guess beamsearch is better

Hjax: replace minimax with *iterative search

Zenoscave: lol yeah

Hjax: do you explore the whole tree

Zenoscave: expectimax has good results i read

Zenoscave: I did in my last solution

Shadow_freddy: my name in korean is spelled like this

Hjax: because i feel like mcts would work quite well

MSmits: Hjax I don't think that would ever work for a game like this unless it is solvable

Shadow_freddy: 그림자 프레디

jacek: once again, tuples http://www.cs.put.poznan.pl/wjaskowski/pub/papers/Szubert2014_2048.pdf

MSmits: full search i mean

Zenoscave: Hjax we're given the rng and seed

Zenoscave: MSmits ^

Shadow_freddy: well actually it isnt because there is no language that spells shadowtick in their own letters

MSmits: sure, but that's not the same as having unlimited time Zenoscave

Hjax: i feel like you could do some like, successive low depth full searches, pick the one that maximizes your heuristic, and launch a new search from the new node

Zenoscave: good idea

jacek: so... beam search?

Zenoscave: try it! let us know!

Hjax: like run a depth 5 search, pick your favorite outcome, launch a new depth 5 search from the new parent

Hjax: that isnt really beam search is it?

Zenoscave: sounds like chokudai

MSmits: jacek maybe that beamsearch that expands its width, given more time

MSmits: i forget the name

jacek: as i understand, beam search is search with limited options (width)

Hjax: so what im describing isnt that i think

MSmits: it's basically, search the next level, keep x best states

MSmits: sometimes you can keep all states for a very long time

MSmits: in hypersonic, i get beyond depth 20 easily, keeping all states

jacek: or use jacekmax and get ∞

Hjax: how many turns is 20 million score?

Hjax: or 1 million for that matter

Shadowtick: ята ятадеза ора ора ора ора ора ора ора ора

MSmits: Hjax euler shared a replay earlier that took 3 hrs to play out

Hjax: three HOURS

MSmits: yes

Hjax: :joy:

MSmits: wasnt even his best score

Hjax: thats incredible

Shadowtick: wow

PatrickMcGinnisII: he said he keeps top 50

Shadowtick: I wanna see that

MSmits: yeah he did some work compressing the replay, 1 replay frame is many turns

PatrickMcGinnisII: i think keeping top 16 is more realistic

Shadowtick: oof

MSmits: top 50 what PatrickMcGinnisII?

Shadowtick: the ultimate uno reverse card

PatrickMcGinnisII: top 50 board states, dunno the depth

dbdr: Hjax: if you pick a best node and search from there, what are you going to learn?

Shadowtick: here is the ultimate uno reverse card https://i.imgur.com/AX15ODx.png

dbdr: your first move is fixed at that point

MSmits: PatrickMcGinnisII it's really not that bad, if you get top 50, you only make 200 new states for each depth right?

MSmits: make 200 new states, keep 50, make 200 new ones, keep 50 etc.

Shadowtick: I did some photoshopping with ms paint

MSmits: you can probably keep far more than 50

MSmits: thousands even, if you do it offline

PatrickMcGinnisII: not in php, too consuming

PatrickMcGinnisII: shhhh, hardcoders are listening

PatrickMcGinnisII: crap, gtg

MSmits: bye

Shadowtick: ok byeeeeee

PatrickMcGinnisII: glhf

Shadowtick: I am at rank 647 in wood league 2

Shadowtick: but I can't put in the if nextCheckpointAngle because it makes my pod stop moving

Shadowtick: how would I fix it?

AntiSquid: read your code more carefully

Shadowtick: ok?

AntiSquid: JUST DO IT!

MSmits: :scream_cat:

Shadowtick: I said ok? since I am probably not gonna notice it

AntiSquid: tough

AntiSquid: then live with the consequences

dbdr: AntiSquid you deserted D?

AntiSquid: was just fooling around wanted to check something random and then it work unexpectedly

Shadowtick: welp Imma remove the if nextCheckpointAngle part then

Shadowtick: so then I dont have to deal with it not moving

Illedan: score: 960660 On one testcase :D

DomiKo: I reached 700K

DomiKo: 900K must be nice

DomiKo: congrats

Illedan: 700k should give you scores around mine I guess

Illedan: You solving it offline?

DomiKo: yap

Illedan: aha

DomiKo: 10mln is coming

Illedan: NIce

Illedan: At 900k points I need 22k moves :O

MadKnight: AntiSquid he put 'or' outside of ()

MadKnight: like this: if (a) or (b)

DomiKo: yap

DomiKo: 11MLN

DomiKo: here

Illedan: No more problems with submission size? Is there 1 random testcase too?

DomiKo: i have bad scores like 150K sometimes

Illedan: Same

DomiKo: yea random one

Illedan: Same code that gave me 900k, gave me 160k now -.-

DomiKo: for me is like 2K points

DomiKo: :(((

Illedan: Oh, so you have to include a solver :P

DomiKo: I didn't have time to make it work only for 50ms

Illedan: I'm off, bye

DomiKo: bye

Laminator: Always nice when I forget it's shortest mode

AnyaA: hi

MadKnight: hihi

MadKnight: say hi Automaton2000

Automaton2000: i haven't played it yet

The_Auditor: AutomatonNN be nice, introduce yourself

The_Auditor: :( he was a nice fella

Zenoscave: does anyone know where the chokudai search code is?

PatrickMcGinnisII: no idea

Laminator: Is that some weird ongoing joke?

Zenoscave: no it's a beam search variation that I can't find the source for

PatrickMcGinnisII: I'm putting in beam search right now, my depth 6 score of 984k isn't gonna cut it for very long

PatrickMcGinnisII: I think my stuff can handle a depth 5 search 3 times for a total of 15 moves per turn

PatrickMcGinnisII: instead of depth 6, once

PatrickMcGinnisII: but i didn't try it, too late...working on beam

PatrickMcGinnisII: zeno, found a tuple one on giuthub

PatrickMcGinnisII: https://github.com/imos/icfpc2018/blob/master/chokudai/Program.cs

Zenoscave: YES

MadKnight: AutomatonNN

PatrickMcGinnisII: Automaton2000 kicked him

Automaton2000: don't you need to add a few more