Chat:World/2020-10-07
doduyphuong: :D
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
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
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 :)
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?
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*
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
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)
zegevlier: Just beating my friend at clash of code, not much
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
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: -.-
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
Asta971: https://en.wikipedia.org/wiki/Minesweeper_(video_game)
dbdr: so you might have a bug
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
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
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
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