Ahriana: 21 :v hahaha
Ahriana: Nga ngố :v
Phuc123456: Putin đại đế:))
Gilad-Gur-Andelman: Share your code please
AntiSquid: what's going on ? @_@
Illedan: I guess we need to close the chat with the absence an adult..
Illedan: *of an
Kirbiby: Does anyone know how to find some documentation on how measure the % of chance an AI is better than an other given their results between N matches ?
Kirbiby: Merci pb4 ;)
Agade: Ah, the erf calculation was something else. I remember assuming a gaussian...integrating ... I wonder if I kept notes somewhere
Agade: I guess it must have been...assume the observed winrate is gaussian distributed centered on the observed winrate, and with the variance given by that "wald interval" (the p*(1-p) thing), then you want to calculate the probability that the winrate is >50% by integration which gives you some function of erf
Agade: Can probably do a better job if you find a package that lets you get the CDF of a binomial distrib
Kirbiby: I'm also trying to understand if it's the same thing done here to measure significance in optimizations : https://youtu.be/koTf7u0v41o?t=2109
Nerchio: So i guess me doing wonGames/Total games is not suboptimal for finding out if AI is better? :joy:
Nerchio: is suboptimal*
Kirbiby: I guess it's not so simple :d
Kirbiby: I'm still at the level of pushing in the arena and look if I gain rank, so don't worry
Agade: Kirbiby I don't remember this stuff too well but it looks related. The t test becomes the "z test" above ~80 games. And the z test looks to me like counting "how many sigmas" of condifence you have and comparing that to one of these z test tables which tells you something like "2 sigma is 98% confidence" . My erf function call I believe is what you use to make these tables in the first place
Agade: We would be in the case H0: mu>=50...
Agade: And then they do a division to see how many sigmas away we landed
Agade: I've a feeling it's quite related
Kirbiby: hehe, thanks for taking the time to answer, I've some reading to do now :)
Kirbiby: I feel a bit dump now, basically all this math simply means: If I observe a winrate of 55% on 10 games I can't decide anything because it could be pure luck, but I observe a winrate of 55% on 100000 games, the probability of it being pure luck is quite low, so AI0 has very good chances of being better than AI1
Uljahn: i guess 55% means just slightly better and only vs AI1, and 100k games mean that 55% is very close to "true" winrate (on infinite number of games)
dbdr: kovi #25 in FC, you fell no?
Uljahn: fall contest?
dbdr: and rec*rse #9
wlesavo: fell contest :slight_smile:
Astrobytes: fail contest!
Astrobytes: good afternoon all
dbdr: 143 in legend
dbdr: people put those PMs to good use
Astrobytes: wow, indeed
dbdr: or my boss is just weak
Astrobytes: It seemed to be doing just fine previously ;)
Astrobytes: Are you playing RAIC this year dbdr?
dbdr: I might have a quick look at one point
dbdr: euler said a simple strategy is not too much investment
Astrobytes: It's pretty decent tbh
dbdr: of course it's a trap ;)
dbdr: as in a good game?
dbdr: what's the basic strat?
tsiryJL: HI all
Astrobytes: I've not submitted yet, but mine and rush seemed to be useful before
dbf: dbdr they have quick start example only in Rust and you still are not in? :)
Astrobytes: dbdr: #Raic2020
dbdr: only in rust? :+1: :D
dbdr: that's a change
dbdr: someone must be big into rust, I remember they had a web viewer implemented in rust, quite impressive
Astrobytes: dbf: they added C++, C#, Python and Java in v0.4.0
Astrobytes: An hour ago
dbf: yep, their the only one developer is a fan of rust
dbdr: but who still uses those, Astrobytes? ;)
Astrobytes: lol, away and Rust in Peace :P
Astrobytes: tbf, the Rust starter is very easy to read
dbf: game is not bad, but I don't know what algo to use, have only IFs now :)
dbdr: bUt rUSt HaS wEIrD sYNtAx!|!
Astrobytes: lol, I think most competent non-Rustaceans would have no trouble with it. I think the biggest hurdle for people is the different way of thinking
dbdr: the funny thing, it happens to me the other way now
Astrobytes: You've become one with it now
dbdr: I just wrote some python, and I kept thinking, wait this is sloppy, ownership is all over the place
dbdr: same in Java
dbdr: yes, I'm the borrow checker :)
Astrobytes: Hey, it seems like a great way to work dbdr, I won't knock it at all
Astrobytes: makes a lot of sense
dbdr: yeah, it is. but no one language will be ideal for everyone and every task
dbdr: GC/manual memory/ownership is like static/dynamic typing
dbdr: a mix of tradeoffs and personal preferences
ZarthaxX: Astrobytes good move with the Zarthaxceans hehe
ZarthaxX: Astroceans mate
dbdr: well, I think manual memory management might fade off over time
Astrobytes: lol ZarthaxX
Astrobytes: that's quite a statement dbdr! :)
dbdr: mark my words :)
dbdr: I see it like asm vs C: once you have good optimizing compilers, why would you bother with working without a safety net for very little benefit?
dbdr: (and for the rare cases, you can do manual memory manageement in rust using unsafe blocks)
Astrobytes: Oh I get you totally, it's a very optimistic outlook! Mind you, "over time" - you didn't specify how much time so ;)
dbdr: was going to say: decades :)
Astrobytes: Yeah I think that's realistic
dbdr: next step: get rust back on top of https://www.codingame.com/multiplayer/optimization/cgfunge-prime/leaderboard :)
Astrobytes: oh wow, when were you overtaken by x evixevi?
dbdr: yes, that guy is good at optim!
dbdr: we overtook each other twice each already :D
Astrobytes: ah lol
Astrobytes: time to optimize your optimization!
dbdr: it's getting crazy :D
wlesavo: dbdr well you beat him in b'n'c :smiley:
dbdr: or rather, he didn't beat me, and several others
jacobhasnofriends: jacob is a nonce
jacobhasnofriends: help meeeeeeeeeeeee
Astrobytes: you're getting kicked
vladshouldgetlost: jacob is not
Astrobytes: vladshouldgetlost: want kicked too?
vladshouldgetlost: no thanks
Astrobytes: well shut up then
vladshouldgetlost: please can we be friends
Astrobytes: Do your schoolwork
vladshouldgetlost: im in school now
ZarthaxX: i mean he is putin, he doesnt go to school
Astrobytes: To learn. Not spam chatrooms
Astrobytes: He should putin more effort ZarthaxX
vladshouldgetlost: chatrooms are for chating
Astrobytes: not spamming nonsense
vladshouldgetlost: thanks for kicking my friend he is annoying (the one called jacob has no friends)
Astrobytes: I really don't care. Be quiet and do your schoolwork.
ZarthaxX: Astrobytes haha nice one astro, putin more effort :P
jacobhasnofriends: im back again
jacobhasnofriends: the legend returned
vladshouldgetlost: i will putin more efort
dbdr: I was going to ban :)
Astrobytes: I'm tempted
dbdr: next time
dbdr: if needed
ZarthaxX: *prepare those clicks*
Astrobytes: schoolkids, they're gonna keep doing the same thing over and over
Astrobytes: thanks, was in the RAIC channel :)
ZarthaxX: gotta ban the school ip or smth
Astrobytes: not fair on the kids who do the tasks tho Zartho
struct: thats not fair Zarthax
ZarthaxX: would love to know the percentage that does
struct: Even if its only 1 person
ZarthaxX: neither of u said spelled my name correctly ;(
ZarthaxX: struct that person can do it in his house
struct: You dont know that
ZarthaxX: oh why did i put said spelled, im wrong
struct: spelled is right?
ZarthaxX: im just kidding
Astrobytes: If you were a pirate ZarthaxX you'd be ArrrthaxX
ZarthaxX: *changes nickname*
ZarthaxX: talking about school
ZarthaxX: i put a survey for the kids of my class, to get feedback
ZarthaxX: so far 1 out of 7 said they would not do an advanced version of my course next year
ZarthaxX: and that same kid said that what he would improve for next year would be that EVERYONE puts their camara on
ZarthaxX: 12 years old objecting me that, funny
ZarthaxX: nothing relevant to my subject ;(
ZarthaxX: my internet just dies if everyone has their camara on anyway
Astrobytes: That kid can do one, don't worry
Astrobytes: The others are happy so you're winning
ZarthaxX: can do one?
ZarthaxX: yeah, im pretty ghappy with the feedback so far
Astrobytes: He can gtf
ZarthaxX: also i used this page and they are putting some AI thing for kids https://code.org/
ZarthaxX: *codingame incoming*
ZarthaxX: Astrobytes you missed the o hehe
Astrobytes: oh nice
ZarthaxX: looks like c4l robot :P
Astrobytes: No I didn't ZarthaxX, I was speaking scots: get tae f***
ZarthaxX: aight :P
Astrobytes: Man, I wish all these resources were around when I was at school
ZarthaxX: we would be so smart rn astro
ZarthaxX: instead we are calling each other by another name every day
LastRick: Man, when I was in school, there was basically nothing
Astrobytes: we had a BBC microcomputer with Logo
ZarthaxX: things were just starting
LastRick: This will show my age but during Comp Sci AP many yrs ago, a classmate and I wanted to code (in Turbo Pascal) a 2-player maze game for our final project. There's no internet, no books like this in the school library. My teacher was able to find a book somewhere and brought us photocopied pages to show us how to send data packets back and forth.
Scarfield: AnthraxX and AstroNicks
Scarfield: never too lateField
Astrobytes: Nice LastRick. My highschool only had Computer Studies, nothing about any CS concepts, just some hardware and using software, there was a little BASIC programming in the last year iirc
Astrobytes: I remember explaining the concept of the World Wide Web to my teacher in 3rd year
Astrobytes: he'd never heard of it
Scarfield: "It will never have any succes, we have phone books already"
LastRick: As hard as it is to imagine today (as I type 1s and 0s across the world), yeah, we thought that
Astrobytes: and that was mid-90s
LastRick: but you have to remember, that early web was trash
Astrobytes: Very much so
ZarthaxX: scarfo :rofl: nice names
ZarthaxX: i think astro used the anthraxx one already, but i will give u 1 point anyway
Astrobytes: a while ago, but not today, so it counts
Scarfield: yay :muscle:
Scarfield: its weird to think about the internet before google, saw something recently about one of the first companies to provide internet to people. When he started there was 200 DK domains i think xD
Scarfield: to people in DK that is
LastRick: Crazy. two hundred places to get information. Now there's too much :)
Scarfield: Age og Misinformation
Astrobytes: Hm. People look at one resource, assume it's correct and move on...
Astrobytes: *many people, not all obviously
Scarfield: I can be gullible sometimes, have seen an "The Onion" head line, not noticing its the onion, and be like whaat
LastRick: Its not all bad though. I get to code a little pod going around in circles for hours on end.
LastRick: OMG speaking of which, I just made Gold in CSB. Freaking awesome.
Astrobytes: gj man!
Astrobytes: watch out though, the inputs are different now
LastRick: thank! Yeah, saw that on the forum. But you finally get velocity, which makes up for it :smile:
Astrobytes: haha, yeah true
dbdr: https://www.codingame.com/replay/513498463 seems someone hasn't heard about brewing yet :D
LastRick: They just love learning, that's their thing
Westicles: poor deleted rockstar.
eulerscheZahl: rockstar is gone?
eulerscheZahl: i won't miss the "hii"
eulerscheZahl: strange, CG doesn't just delete profiles
eulerscheZahl: even in cases of obvious copy pasta
Westicles: They deleted the 3 approves for Sheldon's puzzle, maybe something similar
LastRick: CG is my favorite soap opera
eulerscheZahl: space maze got that poor approval process too
Westicles: oh wait, weird
eulerscheZahl: different URL, same content
struct: He isnt german anymore?
eulerscheZahl: my twin brother is gone :(
struct: Siemens members just decreased by half
eulerscheZahl: i hereby declare myself team captain for the company leaderboard of the next contest
eulerscheZahl: hm, he spammed a link to a boring clash, as he used to do here as well
eulerscheZahl: then just gone
struct: he followed me yesterday with his new account
Westicles: Well, I still have his old approval. Now just need his new one
jrke: are you creating fake company for CG?
LastRick: I'm in
jrke: so can i join siemens?
LastRick: sounds like they have an opening?
struct: first step hii
jrke: i am joining
struct: you need to solve nintendo
jrke: lemme try then
Westicles: is joining siemens the opposite of joining the resistance?
Scarfield: Viva le Siemens
Westicles: little joke for the EEs
Scarfield: read your explanation of a card JB in your contribution xD
Scarfield: i would be lost without it
reCurse: Did I miss an amazing tool or there really is no smart way to profile python?
LastRick: Ohhhhhh(m), sorry, took me a while to get that joke
YodaMaster123: What exactly is Siemens?
YodaMaster123: A university or company?
Scarfield: tried import cProfile re curse, or trolling? :)
LastRick: the latter
struct: german company
struct: Its popular in europe
reCurse: No not trolling, but it's extremely basic
LastRick: german company but theyre in the states as well
YodaMaster123: Ok, thanks :)
struct: reCurse doesnt vtune work with python?
reCurse: It knows how to resolve python callstacks?!
struct: "Line-level, call stack, time windows, hardware events"
struct: I think so
reCurse: Then it can tell me which lines and then I can try refactoring
YodaMaster123: What is the need for profiling in python? If performance is your goal you wouldn't be using Python right?
reCurse: Yeah well tell that to all those ML scientists
reCurse: All their frameworks are in python not my choice
YodaMaster123: Oh :) Like Tensorflow, Keras etc?
reCurse: But without at least callstacks or callgraphs it's hard
Uljahn: tried VTune but couldn't get detailed traces for numpy calls
eulerscheZahl: profiling python sounds like a paradox
reCurse: My GPU barely goes above 5% usage and it's annoying to sit on a single saturated python core
reCurse: But no idea where to look
eulerscheZahl: when you profile, you care about performance. and then you don't use python
reCurse: Yeah well again, not my choice to use python here
eulerscheZahl: that said i think i saw icebox doing some analysis with intelliJ
eulerscheZahl: or whatever the name of that IDE for python is
reCurse: I'm fine with tinkering but not blind
reCurse: intellij is java no?
reCurse: Hmm interesting
eulerscheZahl: jetbrains python IDE
struct: also there is pycharm
reCurse: Every time I step out of c++ and c# the lack of tooling kills me :/ Thanks for the hints though
reCurse: I'll take anything right now, there must be some hardcore afficionados out here
Uljahn: line_profiler hasn't been mentioned, right?
reCurse: Nope, checking
reCurse: Looks a bit dead, are you using it?
AshKetchum: reCurse https://www.jetbrains.com/help/pycharm/profiler.html#start-profiling
reCurse: Oh I'm starting to like the look of that
reCurse: I assume line_profiler is still working with recent versions then Uljahn?
Uljahn: i use it with CG version of py3
reCurse: Alright I got a couple of really good leads :) Thanks a lot, knew I could find good info here
Uljahn: also it seems rather alive https://github.com/pyutils/line_profiler
reCurse: google gave me that repo https://github.com/rkern/line_profiler/
reCurse: Oh of course I missed the about section on the right
reCurse: I really don't like github redesign, but I guess I'm dumb too
Joseph_Mother: we back up in dis
jacek: ask failed successfully?
Uljahn: Amirfluids: not possible, all tests are predetermined
Scarfield: ArianPunk the most common thing to forget in that puzzle is that you dont get Thors new position as input each turn, you have to keep track of that yourself
Joseph_Mother: BUNGUS CHUNGOSSSS
psparsa: hello world!
jacek: c# tests
AntiSquid: Joseph_Mother here's how to make a plumbus : https://www.youtube.com/watch?v=SWMGd_rzRdY also don't be rude to others @_@
eulerscheZahl: without clicking I expect a Rick and Morty sequence
LastRick: wheres the fun in not clicking?
jacek: yeah, he clicked, then he 'predicts' what the link is about and then say he didnt clicked
jacek: the same goes for rick rolling
VizGhar: I hate being first in bronze/silver/gold league :D
therealbeef: a regular plumbus?
VizGhar: like this one? :) https://www.thisiswhyimbroke.com/the-plumbus/
AntiSquid: 21 pounds for an obviously fake one? wtf :/
VizGhar: yeah but: Includes display stand...
VizGhar: YEEEEY first time legend :D
LastRick: well done
VizGhar: So note to self: You really just need simple algorithm and make it better
LastRick: What contest?
ZarthaxX: gz :D
VizGhar: Can somebody explain me, why the promotion isn't instant?
ZarthaxX: who klnow
LastRick: Had the same thing this morning. I made Gold for CSB but waited two hours for promotion. The note read like promotions only happen at set times each day.
VizGhar: Yeah... but for me it looks like just setting flag somewhere in database and rerun configuration against legend players
struct: old multiplayers promotions are not instant
LastRick: It makes me think that promotion is more than just switching a enumerator from "Gold" to "Legend". Maybe it moves you to a different server. Maybe that's why you can't go back down (aka demotion), it only works one way. Just a guess.
VizGhar: hmm makes sense... I'd love to read abou infrastructure behind CG.
LastRick: Wouldnt we all love to see behind the curtain? Instead we have to make do with Grandpa Euler telling us stories. about the olden days
VizGhar: :D :D :D Grandpa Euler
therealbeef: I'd be scared to look behind the curtain
therealbeef: each time i submit the first two battles are played with the previous bot :thinking:
VizGhar: huh? i dont understand... which is previous bot?
therealbeef: me previous submit
therealbeef: i print a version nr on startup after i started suspecting this
LastRick: you are saying you test your code against your previous submissions?
therealbeef: if i submit v0.18 now, the first two battle print v0.17
therealbeef: not really a problem, but it goes to show...
struct: therealbeef that is normal, the other bot could be in middle of a battle
VizGhar: maybe some binaries remains cached? But it's still strange, that the others are properly labelled
VizGhar: aha ^^ makes even more sense
therealbeef: even if i let v0.17 run all 220 battles till convergence, the first two after submission of v0.18 will print v0.17 :)
therealbeef: granted, my bot takes 10 secs to compile
therealbeef: so i think there's a race condition
therealbeef: state models are hard
DenisAkopyan: hey! Is there a standalone ide somewhere here?
DenisAkopyan: I want to test out whether reading input using my haskell code works
struct: Denis the only way is to copy the input
VizGhar: Are there additional rules on UTTT after bronze?
therealbeef: just more optimizations ahead :D
VizGhar: I've solved 3x3 tictactoe in my free time some time back using minimax... but this looks really like MCTS problem... so C/C++ is only way right? :|
VizGhar: hmm 31st place is Java :O
therealbeef: there's javas in legend and pythons
therealbeef: and im doing (stubbornly) minimax
therealbeef: but yeah, it seems you are right :)
VizGhar: heh... alright :) I have no energy for CG for next week or so :P wll see you all soon
Uljahn: therealbeef: reach legend in c++ then submit python bot or send compiled binary inside python, that's the only two ways to see python in UTTT legend i guess :pensive:
struct: Uljahn whats the highest you reached there with python?
therealbeef: Uljahn ah right, there's indeed no pythons in uttt legend
therealbeef: payback for the clash of codes i had to suffer in shortest program mode with C++ ;-)
Uljahn: struct: mid gold with just ucb1, i struggle with mcts' tree structure
therealbeef: what's ucb?
Uljahn: upper confidence bound
therealbeef: gotta try this mcts some time
Uljahn: ye, uttt fits well as mcts playground
therealbeef: that ship has sailed for me
therealbeef: started with minimax, dont feel like changing now
therealbeef: also i like the challenge
Uljahn: do you use bitboards?
therealbeef: nope, just std::arrays of enums
therealbeef: and some template meta programming
therealbeef: it's lightning fast, just not winning hehe
therealbeef: inferior algo lol
Uljahn: using a-b pruning?
therealbeef: with interative deepening
therealbeef: and sorting at higher levels
therealbeef: still thinking of trying principal variation search
therealbeef: or just throwing out worst half at every level
therealbeef: hitting look ahead depth of 8/9/10 now, and 12-15 or full in end game
KnightMoves: how are you using minimax? do you have an evaluation function? or are you only scoring end states?
therealbeef: i have heuristic function yeah
therealbeef: doing 3.7M evals per sec
therealbeef: but I think I'm not using those evals effectively (obviously)
KnightMoves: Yeah i think writing a heuristic function for UTTT is not easy, hence all the MCTS bots
therealbeef: the advantage of tuning-less or self-tuning algorithms
struct: Its too hard to eval uttt positions
therealbeef: learning by being challenged
struct: site a little bit slow?
LastRick: seems that way
struct: Is it always at the same time?
LastRick: hmmmm, good q
Rock-Lee: holy shit too slow
struct: even if my code uses no time it takes so long to start :(
struct: Seems like it is the site
struct: it is
HorseNuggets: yeah that happens on the site every once in a while
HorseNuggets: usually it's fine tho