Chat:World/2020-07-06
WINWINWIN: TejasTheGReat usually going through connections like your parents` friends etc is good. Else you may have to contact companies and apply.
Imsure1200q: what happens if you tie with someone in coc
LelouchVC2: u both go into a death match
Imsure1200q: dangerous
Imsure1200q: is NoopatJntsu a bot
LelouchVC2: yes
LelouchVC2: says in his profile
Imsure1200q: he
Thomascat1: Hey coders!
Imsure1200q: coders
wlesavo: strike
Nixerrr: :regional_indicator_b::regional_indicator_a::regional_indicator_c::regional_indicator_k:
Astrobytes: He lives!
_Dark_Angel_: Hello Thomascat1!!!
Thomascat1: Hi _Dark_Angel_
WINWINWIN: Hi
Thomascat1: whaddup
Astrobytes: Hey WINWINWIN
WINWINWIN: Hey Astrobytes
Imsure1200q: Hee hee
WINWINWIN: Oh. Hi Imsure1200q
Imsure1200q: hi
Imsure1200q: ?
WINWINWIN: Astrobytes is that where you all learnt othello minimax from?
karliso: othello is minimax or mcts game?
WINWINWIN: Not sure how to tell, havent learnt mcts fully
Astrobytes: Not seen that before WINWINWIN
Astrobytes: karliso, mostly it's minimax, but tomatoes is having some success with MCTS (with EPT)
Astrobytes: dbd r is top and has multi prob cut
Astrobytes: WINWINWIN looks like the guy in that paper combined MCTS, alphabeta and NN
WINWINWIN: MCTS handles a larger branching better right?
karliso: Depends
trunghautt: du du an do so tanh dinh
Astrobytes: trunghautt English please this is World chat
Uljahn: tanh is legit btw
Astrobytes: lol
WINWINWIN: :/ google translate changed his message to ":travelling to the countryside"
Imsure1200q: yes im too lazy to solve go competition
wlesavo: country code take me home
Astrobytes: To the tests, where I go wrong
wlesavo: West east south, and never north
Astrobytes: (lol) Take me home, country coooode
Uljahn: :clap:
Astrobytes: :bow:
Imsure1200q: too bad, you're already in quarantine
jacek: i think i found a name for what im doing https://www.chessprogramming.org/Best-First_Minimax_Search
jacek: though im using UCB for selection
Astrobytes: MCab
Astrobytes: Or something
Astrobytes: Are you also using that for Oware now jacek?
jacek: yes
Astrobytes: Nice, was a good improvement
jacek: i think this is roughly equivalent for mcts with 0 depth EPT if you use eval directly instead of propagating win/lose
Astrobytes: Yeah it seems on par with it
jacek: so im using this in three Os: othello, oware, onitama
Astrobytes: Useful alg-O
struct: What made you discover this?
struct: Othello?
jacek: i started fiddling with mcts, for othello, yes
jacek: i have rather mature eval now, so why not
jacek: i surprised its quite stable given very volatile nature of othello
tomatoes: ninja doing ninja things
ninja252esko: http://chat.codingame.com/pastebin/c29fc441-c401-4944-92d2-42bfc91a0265
Schmaenajel: what
Schmaenajel: gf
Schmaenajel: gg
Schmaenajel: lmao
Schmaenajel: hg
Schmaenajel: h
Schmaenajel: Why is this shit lagging so hard
WINWINWIN: ninja252esko is that the codingame sponsored challenge?
Astrobytes: looks like it, yeah
Hjax: so many submits Astrobytes
Hjax: pushed me above the ninja
Astrobytes: Playing around when I should really be working Hjax :D
Astrobytes: oh hey, Marchete joined us
struct: oh it was fast
struct: I saw him at wood 2
jacek: legend in 1 submit?
DuongCongSon: who is play clash of code?
Marchete: :D
Marchete: still not enough
struct: wood 1 seems to strong
Hjax: isnt Marchete good at these sorts of games
Hjax: *im in danger*
Astrobytes: It's certainly a challenging league, which is fine
Marchete: board games? no
Marchete: I barely have opening books and stuff
Hjax: rank 4, im going to say youre good at everything
Marchete: not really
Hjax: :P
Astrobytes: Didn't see you around for a while Marchete
Marchete: yes
Astrobytes: All good?
Marchete: I connect sometimes, but in stalker mode
Astrobytes: :)
Marchete: :eyes:
Sylte: https://www.google.com/search?q=noob+definition
Washier: Nice work Astrobytes
Astrobytes: Nah, it's no better than earlier. The one at last place was broken
Astrobytes: thx anyway tho :)
Marchete: dbd_r is minimax, or smth fancier?
Washier: haha, ok, interesting
Astrobytes: yeah, minimax but he uses multi probcut
Astrobytes: Very well
tomatoes: +
Marchete: "multi probcut" another invented acronym I need to read about...
CiBou: heyy can someone explain to me (cause i'm new in this site) how does it work, what can we do here and how ?
Astrobytes: You'll find it on chessprogramming Marchete
Marchete: CiBou this site is for competitive programming and puzzles
Marchete: it doesn't learn you to code
Marchete: it's more about solving problems, creating AI's that compete against other AI's, etc.
WINWINWIN: Of course there are excellent resources to learn here, it`s just that learning is not the primary focus
Uljahn: why do you need explanation when you can explore things by yourself? click the unclickable, solve the unsolvable :upside_down:
Uljahn: btw is Automaton2000 ded yet?
Automaton2000: so you could try to use it
Uljahn: ah that's just for ru channel
Hjax: did Automaton2000 speak russian in the ru channel?
Automaton2000: with a list of all possible moves in a row
Uljahn: yes, when online
dbdr: CiBou: https://www.chessprogramming.org
dbdr: a rabiit hole :)
Washier: indeed
AntiSquid: hello wonderful people, how's it going?
TheSpiffiest: Man if this site could throw in some networking problems it would be perfect training for a job. :)
TheSpiffiest: I'm learning so much looking at the finished code from others when I'm done.
TheSpiffiest: Full Stack, so everything
TheSpiffiest: Screen to metal
heavygabriel: bruh you should see my code in temperatures
heavygabriel: also I'm running in optimisation errors
TheSpiffiest: Still learning, but big interviews this week so rying to stay sharp
heavygabriel: now I'm trying to figure out why doesn't my data save
TheSpiffiest: Google and Amazon... kinda stressed I'm gonna flub it
heavygabriel: since it always stays the same
heavygabriel: you're lucky that you can get interviews though
TheSpiffiest: Can you save data on here?
heavygabriel: no but I mean like passing data
heavygabriel: you know when you do a loop and want to have data outside of that loop?
TheSpiffiest: right
heavygabriel: it doesn't do that
TheSpiffiest: rust?
TheSpiffiest: I don't know... I usually swap languages when I run into stuff that doesn't work the way I want it to
nitekat: I'm new to Python and I try to play CoC only using Python, tbh I learnt a lot funny and effective ways to solve problem by others sharing their code, so maybe... a weird and also a funny way to learn new language lol
TheSpiffiest: python is lazier about that, javascript too
TheSpiffiest: I've been playing using Bash
TheSpiffiest: it's silly
TheSpiffiest: Ruby for code golf though, you can always drop a few chars
TheSpiffiest: but C# should have no problem with variables outside a for loop. Possibly if they are static class level, but if defined inside a function it shouldn't matter
heavygabriel: it's a double loop
heavygabriel: IE it has do first
Hjax: Astrobytes its interesting that your stronger submits seem to do worse against me
Astrobytes: Nothing works in my submits the way I think it's going to :P
heavygabriel: ok so foreach gives the last instance or something, so that shit doesn't save
Hjax: are you just tweaking your eval?
Astrobytes: Not just eval no, trying a few things out
Astrobytes: As you may have noticed, I've been mostly unsuccessful so far :D
Hjax: keep pushing me up please :P
Hjax: no i lost one D:
struct: Still no NN :(
struct: I wanted to know if it would work
jacek: put a bounty on NN
struct: 10€ to whoever gets 1st with NN
jacek: how can you verify? dbdr could say his bot is NN
eulerscheZahl: i'm not even sure if i recognize a NN when i see one
TheSpiffiest: CodinGame is way better than HackerRank, but Amazon uses HackerRank for interviews... you guys gotta get your sales team or something talking to them. :)
struct: I will trust the player
eulerscheZahl: like the story behind the name of linear programming
jacek: hm?
eulerscheZahl: for classic puzzles i even prefer hackerrank. animated puzzles and multiplayer games is where CG shines
eulerscheZahl: hm? hm?
Astrobytes: So Uncle Euler, tell us the story behind the name of linear programming
struct: jacek if you get rank you just need to tell me its NN
struct: I will believe
eulerscheZahl: oh it's actually more of a mathematical than a programming problem. but programming got more funding at that time
eulerscheZahl: so just call it "programming", as those in charge won't understand it anyways
Astrobytes: Ah right, isn't that same as the dynamic programming term
eulerscheZahl: or did I confuse the story of those two?
Astrobytes: No I think they're both along the same lines
jacek: is this like a story of jacek programming?
eulerscheZahl: entertain us jacek :popcorn:
jacek: its simply writing random code until it works
eulerscheZahl: there's the infinite monkey theorem
Astrobytes: Surely applies to algorithms too
eulerscheZahl: yeah, we already modified it to the infinite MK theorem
eulerscheZahl: one MK getting first at CSB
Astrobytes: lol
Astrobytes: in jacek's case it's the Infinite Pony Theorem
jacek: IPT eh
Astrobytes: Sounds legit
heavygabriel: it's called voodoo coding
jacek: when will fim++ be on CG? https://esolangs.org/wiki/FiM++
heavygabriel: it's what I do everytime I'm stuck
eulerscheZahl: not before Vala
eulerscheZahl: can you install it on https://www.ponyos.org/ ?
Astrobytes: Dear god
eulerscheZahl: wow, it's version 6 already, still actively developed
eulerscheZahl: the first time i heard about it was version 4. even installed it in a VM because i was curious
heavygabriel: is it lightweight?
Astrobytes: "What are people saying about PonyOS?" is great
heavygabriel: but can it run on arm64?
eulerscheZahl: "PonyOS works on many different machines" just try it
dbdr: is PonyOS wrintten in Pony?
dbdr: https://www.ponylang.io/
struct: Why does CG have D but not Pony?
Astrobytes: Or FiM as jacek pointed out
dbdr: probably more (fake) demand
dbdr: but Pony looks more interesting
Harphazi: hello guys, I have a question please. which best langage for games
Hjax: depends on the game, and what youre good at
Hjax: python is really approachable and fine for some games
Hjax: but if you need more performance, something like C++ is better
struct: *rust
dbdr: *pony
Uljahn: *D
Astrobytes: VB 4.0
dbdr: :door:
Wendys: i suck at clash of code
Hjax: if you need more performance but arent masochistic enough to use C++
Hjax: i recommend Rust
Harphazi: thank you guys im appreciate
TheSpiffiest: I'm falling in love with Rust, but every so often I just go do something in Python because I need it done in 5 minutes :)
dbdr: by the way, well done on finishing your Rust bot Hijax!
Hjax: thanks dbdr :D
Hjax: ended up with a nice performance bump
struct: Now use AVX
struct: for even more
dbdr: I agree TheSpiffiest, , I also like python for such short scripts
Harphazi: what is your opinion about GoDot engine
Astrobytes: It was nice when I could test against Hjax in the IDE... :P
Hjax: :D
Astrobytes: Harphazi, I have a friend who uses it a lot (Godot), it's pretty solid afaik
Hjax: its kind of silly that ide runs bots in debug mode when you are challenging bots that arent yours
eulerscheZahl: too bad that #if DEBUG doesn't work anymore for C# :(
Hjax: if it makes you feel any better, i cant test against anyone
Astrobytes: :D
Astrobytes: It's quite an annoying situation really
Astrobytes: But hey, not the end of the world
Hjax: i need to set up my self play stuff
eulerscheZahl: which CG planned to address right after the last contest
struct: Hjax you can do what dbdr does
Hjax: what does he do
eulerscheZahl: release more compilation everywhere, even in the IDE
Astrobytes: Send a binary?
struct: Yeah
Astrobytes: mode euler?
eulerscheZahl: ?
Hjax: you said more instead of mode
Astrobytes: "release more compilation everywhere"
Astrobytes: RELEASE MOAR COMPILATIONS
eulerscheZahl: i'm just paraphrasing a discord discussion how CG plans to tackle the issue
eulerscheZahl: oh
eulerscheZahl: mode
Hjax: :D
Astrobytes: Compilations, asa far as the eye can see
jacek: discord? see, another mlp reference
Astrobytes: *as far
Hjax: how do i send a binary for rust?
Astrobytes: Mail it to France first
Astrobytes: :P
struct: I dont know Hjax
struct: I guess you could ask dbdr
eulerscheZahl: place it in the rain for a year
TheSpiffiest: Lol - Clash of Code - every player got 0%
TheSpiffiest: first time I've seen that
eulerscheZahl: faster if you add salt
Astrobytes: lol euler
dbdr: Hijax: there is https://github.com/Agade09/CG-Send-Binary
dbdr: as-is or for inspiration
eulerscheZahl: with unicode for larger binaries
Hjax: rust in debug mode seems to be about as fast as python
Hjax: release mode is 70x faster roughly
dbdr: 70x between debug and release, wow
Hjax: well i get 7k rollouts turn 1 in ide, and 500k on submit
dbdr: I saw 40x for one algo, and I thought that was a worst case situation
dbdr: hm, it might not be perfectly linear
dbdr: each time you go deeper, rollouts are shorter
dbdr: though you need time to go through the tree, but so it's different, one way or another
Hjax: im using EPT
Hjax: all of my rollouts are the same size
dbdr: oh true
dbdr: right
dbdr: probably depends a lot on the structure of the code as well
Hjax: as someone completely new to rust, i make no claims about my code quality
Hjax: it compiles and the borrow checker doesnt blow up, so im happy
dbdr: e.g. if you have many small functions (one instruction), not inlining in debug mode will be more expensive
dbdr: it's not even about quality
dbdr: it's just that the speed factor depends on many things
Hjax: oh i have one really small function
Hjax: its just a unsafe _pdep_u64 block, used in my move gen
dbdr: don't worry about it
dbdr: wow, that's cool!
Hjax: i get a lot of speedup out of being able to use BMI2 i think
Hjax: just because of pdep
dbdr: popcount too?
Hjax: ah true, also popcount
Astrobytes: pdep for actual move gen or just to pick one from the generated moves?
Hjax: the latter, but its kind of part of move gen
Astrobytes: yeah cool, just clarifying :)
TheSpiffiest: I gotta learn them words
Hjax: i considered trying to make my move gen faster, but i dont think i spent much time in it at all
Astrobytes: It's probably not a bottleneck
dbdr: don't guess, measure ;)
Hjax: i dont early terminate if my state doesnt change, i still run all 7 iterations
Hjax: yeah i need to go set up my environment properly if i want to debug / benchmark rust
Hjax: havent done that yet
dbdr: by the way any C/C++ debugger/profiler should also be fine with rust
Hjax: dont have one of those either
dbdr: right, just saying there are options :)
tomatoes: clion debugger and valgrind as profiler works fine
tomatoes: on macos
Hjax: i downloaded the clion trial, and it said i had to set up mingw or cygwin toolchains
Hjax: and i didnt bother yet
Hjax: my bot can win games from the IDE to be fair https://www.codingame.com/replay/475894290
dbdr: I think IntelliJ is the free version of Clion, essetially
Hjax: yeah, but intellij doesnt have native debugging support
Astrobytes: yeah yeah yeah :P
Hjax: unless you buy the ultimate version
Hjax: intellij is meant for java development
dbdr: originally
dbdr: https://intellij-rust.github.io/
Astrobytes: (yeah yeah'ing at your IDE replay btw)
Pierre-OlivierMorin: How do you import the whole thing to the ide?
Hjax: "In CLion, you get even more: fully-fledged debugger, CPU profiler, and Valgrind memcheck. "
dbdr: right
eulerscheZahl: and Kotlin of course
Pierre-OlivierMorin: lets say i want to code on visual studio 2019
dbdr: https://blog.rust-lang.org/images/2020-03-RustSurvey/31-editor-using.svg
Hjax: that game is amusing Astrobytes, i give you all 4 corners and win somehow
struct: Visual studio for c++
Astrobytes: Because my bot is shit currently Hjax :D
struct: VSCode with wsl for rust should be nice right?
eulerscheZahl: why is sublime more popular than atom?
Hjax: i really dont like atom
dbdr: probably be nice since many peple use it, struct ;)
dbdr: I can only speak for vim
RoboStac: eulerscheZahl - because lots of people hate electron apps due to resource usage
Hjax: vscode feels much snappier than atom, despite them both using electron
RoboStac: yeah, I prefer vscode
Hjax: i dont really know what atom did
Hjax: but it always just feels so sluggish to me
Hjax: major turn off
RoboStac: struct - does #1 in wood 2 with an NN count as proving NN can work?
Astrobytes: Oh crap, here comes robo :)
Hjax: oh no
Hjax: go away robo
eulerscheZahl: hm, didn't think about that... tried sublime and it kept telling me that i should upgrade to the paid version, so i got annoyed
eulerscheZahl: was still working, just the message
Hjax: whats the boss at
Astrobytes: Yeah, I ditched Sublime for vscode for that reason
RoboStac: boss is 35.51
Hjax: wow it climbed back up
Hjax: i had it at like 33 when i promoted
RoboStac: sorry, 33.51
Hjax: ah ok
Hjax: so you are about to promote
RoboStac: yeah
Hjax: youve been working on a NN? :O
Hjax: fancy, out of my league lol
RoboStac: for the past hour or so, yeah :)
Astrobytes: May the Lord have mercy on our bots
Hjax: ... hour
Hjax: youre not human
Astrobytes: Same alphazero approach robo?
RoboStac: I mean 99% of it was already written
RoboStac: just had to swap the game rules out from breakthrough for othello
RoboStac: and I stole them from https://www.hanshq.net/othello.html#moves
jacek: youre doing NN for breakthrough?
dbdr: what about training time?
RoboStac: well, it's still running. I just submitted as soon as I beat the boss
jacek: mining othello coins eh
Astrobytes: :D
Hjax: i think im about to lose a rank
Astrobytes: If the previous ones are anything to go by we're all about to be crushed. Will be fun to see it up against dbdr
RoboStac: it's only really worked amazingly on oware
RoboStac: breakthrough / yava didn't go too well
Hjax: how long did it take you to develop initially
Astrobytes: That's still your best one huh?
jacek: i still dont get whats 'policy'
jacek: NN outputs are possible moves?
dbdr: I need a reason to work on improvements ;)
Hjax: nn outputs are a probability for each square on the board
Hjax: at least in alphazero
Hjax: for policy
struct: oh no
struct: I will lose 10€ :(
RoboStac: the policy in AZ is to guide the MCTS - its basically an explore factor for each move. Theres also a value for how good the current state is
jacek: i mean more technically
jacek: its NN with multiple output nodes?
RoboStac: yeah
Hjax: the output is the whole board
RoboStac: 64 policy outputs and a single value output
struct: Robo you have bugs though
jacek: so 65 output nodes?
RoboStac: (yes, I know I could filter the middle ones but I'm really lazy)
struct: https://www.codingame.com/replay/475896605
Hjax: youre using PUCT then RoboStac?
struct: you had 1 possible move
RoboStac: the pass moves have been a real pain
RoboStac: why can't people just lose instead :(
jacek: that would be original reversi eh
dbdr: hard to chose between 1 move
struct: :D
Hjax: im ready for the NN apocalypse
Hjax: yeah whenever you pass you timeout
dbdr: the nnapocalypse
Hjax: end of an era, for any TCEC fans here
Astrobytes: AZocalypse
dbdr: Hijax, what happened with TCEC?
Hjax: people joked a lot that it was the end of the (minimax) era
Hjax: when all of the alphazero style engines started showing up
struct: Stockfish still won :(
struct: vs lc0
Hjax: it did, several times
Hjax: it won a superfinal the other day
struct: yeah I only saw superfinal
Astrobytes: Total beast
struct: Then I saw stockfish vs komodo
Hjax: that was a really good super final
struct: komodo won 3 games out of 100
Hjax: and fish won like, 30 or 40 lol
Astrobytes: oof
Astrobytes: Oh robo working his way up Wood 1
Hjax: 2-2 against me so far
inoryy: great job, RoboStac
Hjax: inoryy can smell new neural networks
inoryy: lol
Hjax: and comes to offer congrats
Astrobytes: :smile:
inoryy: NN sense is tingling
jacek: so youre always losing when pass move happens eh
struct: not always
jacek: :scream: https://www.codingame.com/share-replay/475897986
Hjax: i was just watching that game
Hjax: how long until its done training RoboStac?
Hjax: when will the network be saturated
Hjax: oh boy a new submit
RoboStac: hopefully will fix passes crashing
Hjax: how long does the network take to train
Hjax: when will we see the full strength monster network
RoboStac: no idea, its more of a wait and see kind of thing
struct: Does it only self train?
RoboStac: oware is pretty much done after an hour, but yavalath takes longer
RoboStac: yes
Hjax: you got another pass crash
Hjax: against Astrobyte s
Astrobytes: Yasss a win
Astrobytes: :P
Hjax: pass crash against me, but i was in a won position
RoboStac: ah yes, checking if the enemy made more than 2 moves won't detect single passes
Hjax: teapot has 100% winrate against RoboSta c
Hjax: all hail teapot
eulerscheZahl: and teapot == boss. how did robo even promote?
Astrobytes: No, current teapot is not boss
Astrobytes: That was Old Teapot
dbdr: old teapot make better tea
dbdr: *teapots
Astrobytes: 'tis true
Astrobytes: Oh a legit win! https://www.codingame.com/replay/475900255
struct: Now we wait
Hjax: era not ended yet
LelouchVC2: Matrix has been destroyed
darkhorse64: the teapot is a kind of cerberus (two heads only), top of Wood2 and bottom of wood1. No one has been able to to take his place
Astrobytes: :D
Hjax: theres only two bots robo hasnt defeated yet
Hjax: teapot and dbd r
struct: lol
Astrobytes: epic
dbdr: TIL there's a middle finger emote in the CG forum, and its code is :fu: :D
eulerscheZahl: 🖕
Hjax: ✌️
dbdr: eulerscheZahl abusing unicode ;)
eulerscheZahl: and it doesn't even look like the middle finger if you don't know it
dbdr: btw I saw you retook global #1 today
eulerscheZahl: could be a thumb with a rotated hand too
dbdr: with +500 CP
eulerscheZahl: my bandas was crashing
dbdr: any submit, or just fluctuations?
dbdr: ah ok
eulerscheZahl: allocated 3e7 nodes
eulerscheZahl: language update broke it, so i reduced the number
eulerscheZahl: no idea why. less efficient memory handling on .net Core? :thinking:
eulerscheZahl: also: I was second with exactly 1 point difference yesterday
dbdr: lol
dbdr: possible, allocating a very large array will be very sensitive on how it's implemented
eulerscheZahl: 6 large arrays
dbdr: ah, SOA instead of AOS :)
eulerscheZahl: struct of array, array of struct?
dbdr: yeah
eulerscheZahl: sorry for the ping :flushed:
dbdr: https://en.wikipedia.org/wiki/AoS_and_SoA
eulerscheZahl: http://chat.codingame.com/pastebin/e1a63166-1c07-488c-a191-70c6cb7761dc
eulerscheZahl: i lied, only 4 arrays
LelouchVC2: imsooo saadddd
LelouchVC2: it was the last 8 seconds and i accidently typed "second" instead of "first"
LelouchVC2: I would have gotten 100% on the clash and been first :(
LuckyDaffyDuck: Java solution with only 3 lines of code :wink:
Schmaenajel: ey
AhmedMasry: To be the first in the site
AhmedMasry: I've to compete for one month and be the first every time or that is'nt enough ? :grimacing:
Zenoscave: are there othello leagues?
Zenoscave: (on phone)
Hjax: yes, wood 2 and 1
Hjax: 13 people in wood 1 right now
Zenoscave: Cool
Zenoscave: thx
LelouchVC2: AhmedMasry
LelouchVC2: If you're talking about Clashing, it probably won't get you further than 5000
LelouchVC2: I rank 1st/2nd 90%+ of the time, and after 8000, rank only trickles up
Hjax: solution, play multis instead of clash
BravenJuliet: i think java is best language programming in the world.
LelouchVC2: You thought wrong
BravenJuliet: Code python is very short but difficult to understand
bdlance: @LelouchVC2 are you talking about Clash of Code rank?
bdlance: Your Clash of Code rank is 388th
LelouchVC2: No, i meant overall rank