Chat:World/2022-07-04
CharonXD: bruh
China-xyh: /me
**China-xyh slaps around a bit with a large fishbot
j4at: yeah i find it confusing when puzzles have ^ in them I always think they mean xor
Darleanow: hello,
Darleanow: can someone explain why the list b changes ?
Darleanow: http://chat.codingame.com/pastebin/6d37366d-c337-44cc-a1c3-2ec6836ca15d
Darleanow: https://pastebin.com/ZTHaKF5q
Darleanow: b is basically [0,0] and then [1,0] then [1,1]
j4at: cg's pastebin doesn't work
Darleanow: yeah, theres a link right under :)
j4at: okay i just wokeup. I'm blind rn :)
Darleanow: xD
Darleanow: np fam :)
Darleanow: ok it's fixed
Darleanow: if b[i]=="0":
tempres[i]="0"
Darleanow: this was the probleù
Darleanow: and i can't know why
Darleanow: so i replaced this by a counter that i set back to 0 at the end of iter
j4at: so changing tempres is changing b
Darleanow: and if i cahnge a value i +1 the counter
Darleanow: tempres=b
j4at: because they are the same list
Darleanow: tempres is a pointer to b
Darleanow: right ?
j4at: well, there is no pointers is python. But = never creates a copy of an object it just reference it
Darleanow: ik that there are no pointers, but is it considered like so ?
Darleanow: wdym by referencing it ?
Uljahn: https://www.codesansar.com/python-programming/aliasing.htm
Darleanow: thanks uljahn
Darleanow: :)
Darleanow: f=g[:]
Darleanow: something like this would word ?
Darleanow: copy() function xD
Uljahn: guess it makes a shallow copy, and you might need a deep copy sometimes
j4at: yeah that would work
j4at: there is .copy()
j4at: in this case atleast
Darleanow: deepcopy is work complex data structures
Darleanow: for*
j4at: from copy import deepcopy
j4at: f = deepcopy(g)
Darleanow: yeah ik :), but an exmaple of a complex data structure
j4at: but you don't need it in this case
Darleanow: i know ! i solved it already :p
j4at: Well, you also need to know when it is creating a new object or not, everything is a nobject in python including int, float, strings ...
j4at: http://chat.codingame.com/pastebin/618219db-578d-4cf8-90a0-7f71b0eac81c
aCat: hello
Darleanow: hey
aCat: just checking
j4at: A = 1 B = A B += 1
aCat: HOLD THE EXECTUTION!
j4at: print(A,B) # output: "1 2"
j4at: because += creates a new object
Darleanow: ok so a basic b+=0 would create a new object
j4at: well you don't need to really do that with ints because everything creates a new object
j4at: same case with all immutable objects
j4at: b = b+0; would create a new object; b = b*1 too
j4at: you really don't need to worry about int, strings, tuples at all
Darleanow: kk ty :)
j4at: also float and other types.. :)
j4at: np
Westunts: o/
aCat: test failed
aCat: chat removed :(
aCat: HOLD THE EXECUTION!
5DN1L: thanks for giving me the chance to ban you yet once again
InDeSchrank: you remember him ?
5DN1L: yes
InDeSchrank: did you miss him
5DN1L: no
InDeSchrank: why not he seems like a nice person
jacek: :upside_down:
j4at: https://www.codingame.com/share-replay/649050677
j4at: :upside_down:
j4at: needs to atleast pass struct
5DN1L: by reference or by value
j4at: huh ? both
jacek: he made 101
jacek: sub11k, noice
j4at: yeah :3
j4at: I wonder what the minimum time possiblee
jacek: at least 10359.64
j4at: bruh
jacek: you must defeat that rustian
j4at: My NN best score is about 11000. I use the best game that my NN that's why I got 10880. I can use whatever language to prove my dominance.
j4at: that my NN plays*
j4at: what language do you recommend ?
jacek: vb.net ;d
j4at: I will do :) After my NN finish training
derjack: :upside_down:
BlaiseEbuth: Eeyup
Darleanow: Hey everyone :)
Darleanow: guys, i don't understand
Darleanow: how people can solve thor in 50 chars
Darleanow: even with the golf
Mortis_666: they hardcoded the solutions
Darleanow: :o
j4at: 72 chars in Python :sunglasses:
Darleanow: 82 :p
Darleanow: i'll just harcode
Darleanow: i'll try **
Mortis_666: 61 chars in python with hardcode solution
j4at: It's kinda waste of time tho. I used 1 trick you don't to keep track of the horizontal position.
j4at: don't need*
Darleanow: Mortis, for the hardcoded one, u did something to get the case test, the u print a loc *n times?
j4at: validators are the same as test cases
j4at: you can just print lightX lightY initialTX initialTY
Mortis_666: the validators isnt same as the test case
j4at: ow
Darleanow: bruh, u litteraly have to guess it xD
j4at: yeha they are different
j4at: but you can read their names
j4at: 2nd is north and 1st is straight line
j4at: and 4th is optimal angle
Darleanow: indee
Darleanow: got the second
Darleanow: but can't send anymore kekw
Darleanow: hardcoding the first two is easy
Darleanow: but the last two is hard as hell :o
j4at: optimal angle is easy
Darleanow: not hard, looooong
j4at: nvm I misunderstood what optimal angle means :upside_down:
derjack: they change it periodically but sometimes validators dont have SW or NE
Darleanow: guys, where ca i find the weekly puzzle ?
5DN1L: https://www.codingame.com/events
Darleanow: thanks 5DN1L :)
Darleanow: glad to u see tho
5DN1L: it's now called a puzzle event, not a weekly puzzle any more
5DN1L: glad to see you too
5DN1L: no spam please
BugKiller_328: hi
BugKiller_328: to implement bitboard, is it ok to use bitset?
BugKiller_328: bitset is enough fast as int ?
BugKiller_328: to implement bitboard
struct: no
struct: its not as fast
struct: but its ok to use I gues
thiloxx: :stuck_out_tongue_closed_eyes:
j4at: any vb.net experts here ?
j4at: why Dim V As New List(Of List(Of(Integer,Integer))) From {{(1,1),(2,2)},{(1,1),(2,2)}} doesn't work ?? :/
BlaiseEbuth: :scream:
jacek: what have i done
5DN1L: you have successfully led somebody to learn vb.net
j4at: lmao
jacek: i should have told html
elie.f.asmar: For .NET 4.6.2 or lower, .NET Core 1.x, and .NET Standard 1.x you need to install the NuGet package System.ValueTuple
elie.f.asmar: Install-Package "System.ValueTuple"
j4at: hehe ? I'm using cg I can't install anything
noooooooooooooooooooooooo: Looking for puzzles that focus on OOP
Aldoggen: I hope you're not working in python. you'd be focusing on POOP then
noooooooooooooooooooooooo: Nah C++
Nikanameu: you can code everything with OOP
Nikanameu: object a + object b instead of a+b
Aldoggen: for death first search I implemented a graph class
Aldoggen: you could do that one
noooooooooooooooooooooooo: Oh cool thanks guys :)
noooooooooooooooooooooooo: I am new here
noooooooooooooooooooooooo: Hello
noooooooooooooooooooooooo: Are we able to upload our own puzzles?
struct: yes
noooooooooooooooooooooooo: So we make a suggestion for that and the community will decide if that will be added or not?
Aldoggen: you need to be a higher level to suggest things though
5DN1L: it's not just to suggest, but to actually create the puzzle itself
noooooooooooooooooooooooo: Ahh that is so cool
Aldoggen: you have full creative control, except the community won't approve it if it isn't good enough of course
5DN1L: well... :thinking:
5DN1L: let's say there are unfortunate instances
noooooooooooooooooooooooo: I actually really like that idea as I have seen other sites where they just let people post w/e they want and it just ends up with a lot of low quality stuff
Aldoggen: here you still get the occasional low-quality approved puzzle
Aldoggen: but at least they're solvable
noooooooooooooooooooooooo: Even if there are some it is definitely better to have a filter than not to have a filter
noooooooooooooooooooooooo: true
noooooooooooooooooooooooo: Also, there is no way to search the puzzles by their tags?
5DN1L: https://chadok.info/codingame/tags_list.html
noooooooooooooooooooooooo: Oh are you one of the developers?
5DN1L: i'm just a moderator
noooooooooooooooooooooooo: ahhh I see
jacek: of the chat. forever
Aldoggen: wow. I'm beating literally everyone in wood 2 in line racing
noooooooooooooooooooooooo: Thanks for the link it is super useful
5DN1L: jacek, i don't know you've become the spokesperson of CG :scream:
Aldoggen: for as long as the chat will remain, you'll be a chat mod
5DN1L: maybe i'll get fired before the chat dies
noooooooooooooooooooooooo: Haha will it be my fault xD
Aldoggen: I'm rank 1 in wood 2, and the battles are only half done lo
5DN1L: yeah, let's blame it on the new guy :smirk:
noooooooooooooooooooooooo: oh yeah blame me
noooooooooooooooooooooooo: good idea
noooooooooooooooooooooooo: :stuck_out_tongue_winking_eye:
Ollle: guys in mad pod racing the race is just a black screen
5DN1L: try refreshing or try another browser?
jacek: free trial expired
Ollle: wait there is a trial xD
Licantf: hi, anybody can help with logic gates by b0n5a1? I'm trying it in scala or Java :D
jacek: hm?
jacek: :tada: https://www.codingame.com/share-replay/649099870
Licantf: @Aldoggen, how is your solution?
Unionize: Hi, i just did a Clash and even if my formula is correct that was not correct for the last test even if others players, in different langage, used the same formula. It was JS for me, is there someone who can explain me what's the difference in JS who caused this problem ?
Aldoggen: your bots have a tendency to want to go downwards lol
Aldoggen: Licantf I don't have one right now. show me your code and I'll help you
Aldoggen: maybe do it in private chat
Aldoggen: jacek euler keeps blowing you up lol
Razerk: Hello I'm stucked in the puzzle (mad-pod-racing) where i need to change the power of the pod. I tried to put " + thrust" in the same consolelog than the x + y positions but not working. I have no clue to find the solution ..
5DN1L: what's the line of code you're using?
Razerk: console.log(nextCheckpointX + ' ' + nextCheckpointY + ' 50' ); This ?
5DN1L: yes
5DN1L: it looks all right to me
5DN1L: what do you mean by not working?
5DN1L: not beating the boss?
5DN1L: or code error?
Razerk: But now i want to add the "thrust"
jacek: no space between X and Y
5DN1L: oh
5DN1L: the number is the thrust
5DN1L: so in your example, thrust = 50
BlaiseEbuth: Fix your reading jacek
jacek: oh
Astrobytes: ezpz
Aldoggen: though there is no space between Y and thrust
5DN1L: there is
jacek: huh
Astrobytes: hehehe
5DN1L: you guys
Aldoggen: I need to fix my reading too
5DN1L: all need glasses lol
BlaiseEbuth: Use my starter, go legend
5DN1L: :nerd:
Razerk: console.log(nextCheckpointX + ' ' + nextCheckpointY + ' 50' + ' 80');
5DN1L: no
5DN1L: you put in only one thrust
5DN1L: not two
Aldoggen: the previous one was good
Astrobytes: in your first example, thrust == 50
Razerk: console.log(nextCheckpointX + ' ' + nextCheckpointY + '80');
Aldoggen: that works too, except you need a space before the 80
Razerk: the space don't work when I paste, I feel
Razerk: Report me then haha, thanks for helping btw
Astrobytes: :shrug:
Astrobytes: glad you got it working tho :)
Razerk: Huge thanks to you 5DN1L
5DN1L: oh wow, np
Razerk: yep thanks too Astro !
Aldoggen: enjoy your spot in bronze
Astrobytes: you're welcome, I think ?
Astrobytes: :D
Razerk: Thanks for your help Aldo, yep let's enjoy haha
5DN1L: not yet Bronze
BlaiseEbuth: ngl
wediaklup: chat is still here?
BlaiseEbuth: nope
wediaklup: ah ok
Astrobytes: we are but a figment of your imagination
Aldoggen: I was gonna say we executed some XSS but that works too
Astrobytes: :D
Aldoggen: my line racing bot keeps doing dumb stuff
Astrobytes: in what way?
Aldoggen: I can't articulate it. not even sure if it's dumb
Aldoggen: it's probably better than I am already
Astrobytes: searching or just the floodfilling still?
Aldoggen: okay now it just absolutely crushed these two randos https://www.codingame.com/replay/649114832
Aldoggen: I said I don't know, it's probably just a combination of my eval and an unlucky seed
Astrobytes: there are some starting positions that are unavoidable losses iirc unless your opponent(s) do something insanely stupid
Aldoggen: okay I think I should change the eval https://www.codingame.com/share-replay/649115192
Nikanameu: i am here for the chat funeral when is it takin place
Aldoggen: it's trying to annoy the enemy as much as it is trying to win now
Aldoggen: need to win a bit more and annoy a bit less
Astrobytes: gotta go do some stuff, afk a few hours, good luck with the eval tweaking!
jacek: can Automaton2000 be annoyed
Automaton2000: so i can see that it is a very good idea
Nikanameu: there is no annoying only good and bad move
Aldoggen: Automaton2000 wants to be annoyed apparently
Automaton2000: let me take a look at this
Automaton2000: do you have a real bot
Aldoggen: and I can tab complete his name again
Aldoggen: ayy this eval works a bit better https://www.codingame.com/share-replay/649115500
jacek: do submits work?
jacek: leaderboards seemed stopped
Aldoggen: I went from wood 2 to silver in line racing today
jacek: what about now
jacek: my submit stopped at 58% and i see in mad pod racing they are not moved for others
Aldoggen: it's pretty slow, but my battle progress is going up
jacek: green circle has leagues and repushed AIs from the challenge :tada:
jacek: so maybe its just slow
struct: nice im silver...
struct: :p
struct: I guess something broke on reusing it
jacek: still at 58% ;d
struct: The repushed part didnt work did itjacek?
brend0g: anyone wanna spunk on me?
brend0g: :grinning:
jacek: struct servers went green mode
Maximoo62: brend0g... what the actual frick
Maximoo62: not cool bro
Aldoggen: wow now I'm stuck at 9%
wediaklup: how do i explicitly copy an object in python?
Aldoggen: deep copy or shallow?
eulerscheZahl: json.loads(json.dumps(object))
Aldoggen: also, what kind of object?
BlaiseEbuth: ngl
Scarfield: lol the leaderboard for green circle looks broken
wediaklup: i have a class and i want to make a copy of my object
Aldoggen: wediaklup you could make a constructor for your class that accepts an object of your class
Aldoggen: I don't remember if that works
wediaklup: that should work i think
Aldoggen: you can only have one constructor, so it involves type testing your arguments or something
Aldoggen: I'd just make a class method or static method that does it
Aldoggen: Scarfield how is it broken?
BlaiseEbuth: o/ Breakfield
Scarfield: players from legend during the contest are now in silver.
Scarfield: oi blaise
Aldoggen: I've heard something about that being the highest rank currently
Aldoggen: yeah, don't know what's up with that lol
BlaiseEbuth: Where do you see that Blindfield? I saw it all normal
BlaiseEbuth: *see
Scarfield: https://www.codingame.com/multiplayer/bot-programming/green-circle/leaderboard
BlaiseEbuth: Ah yes. The legend league were drastically reduced. My bad hadn't scrolled
BugKiller_328: hi,
wediaklup: hi
BugKiller_328: minimax can be used if game will be more than 2 players ?
jacek: then it is n-max
MSmits: contest winners of green circle are in silver rank 1 and 2 with 173 people above them
Aldoggen: look up minimax for more than two players BugKiller_328
jacek: or max-n :thinking:
BlaiseEbuth: With some adaptation and concessions yes
BlaiseEbuth: A paranoid
Scarfield: i suggest to move my bot from silver to legend, to even out the mistake, should be fair
5DN1L: maybe because the bots were submitted before the import, and the original bots won't be imported in such cases?
struct: I suggest mine to be promoted to legend
struct: since its above legend bots
struct: .9
struct: :)
BugKiller_328: how are you picking the minimax VS MCTS based on the game?
struct: I always use mcts
MSmits: if you're talking about mcts with a random rollout, then it depends on the game. Really long games, or games that potentially dont end (except on turn limit) are not good with mcts
jacek: if you havent good eval use mcts
Scarfield: rule of thumb, if you can evaluate a game state reliably minimax, if you cant evaluate reliably mcts
MSmits: but there's mcts with early playout termination, where you just eval at some point, then minimax and mcts are both using eval,
jacek: evalfield
Scarfield: NNcek
eulerscheZahl: will jacek be able to beat his own boss?
struct: ah double exp
struct: nice
struct: boss is almost finishing the battles
struct: but mirrored battles are not up yet
wlesavo: oooh, nice, is this a bribe for us to forgot about chat delete? :smiley:
eulerscheZahl: boss finished, move me up
struct: oh I need to get a battle vs some1 that is on submit
struct: so I get promoted
struct: its how its working atm
struct: fight me jacek
eulerscheZahl: ah, interesting
eulerscheZahl: i'll sit it out
eulerscheZahl: everyone playing vs smits will be gone the next moment
eulerscheZahl: yay, gold
eulerscheZahl: python gold boss?
eulerscheZahl: doesn't look right
struct: I guess gold is old silver
struct: just my guess because we start at silver this time
struct: but we were supposed to be bronze
eulerscheZahl: i have the same impression
struct: yeap boss seems to weak
struct: I guess they will revert it
eulerscheZahl: jacek your boss sucks
Razovsky: man don't say that
eulerscheZahl: at least struct can make it to legend now
Razovsky: during the challenge it was horrible to beat jacek
eulerscheZahl: i'm trolling, it's not jacek's boss anymore
kovi: how some are already in legend?
BlaiseEbuth: They paid
struct: kovi people that didnt submit
struct: on this arena
struct: + broken gold boss
kovi: i c
eulerscheZahl: Q
kovi: err....what? from wood4->legend without matches?
BlaiseEbuth: smooth
Razovsky: yeah
Razovsky: easy
Razovsky: :P
eulerscheZahl: gold boss isn't broken. probably just the silver boss. which in return might make the silver boss the old bronze boss
eulerscheZahl: CG christmas
DevMarcao: just curious, for the ones who are on high level on CodingGame, do you put your profile on linkedin or in your resume? Or it doesnt change anything for tech recruiters?
Aldoggen: I've put it on all my resumes I've landed tech jobs with
Nikanameu: westiclees try harass me private forum omg
Sheeesh---: wait
Sheeesh---: how can i get back the code i used in the last competition?
eulerscheZahl: last code: from contest reports
eulerscheZahl: previous ones: your local git repo
struct: boss is now js
struct: lol
darkhorse64: Will I get promoted to Legend, then put back in Gold or even Bronze and loot XP again :yum: ?
eulerscheZahl: thank got they let the old boss submit finish before replacing it
eulerscheZahl: large legend
struct: who is this boss o.o
darkhorse64: The new one is not jacek's. There is hope for an even larger league
[CG]Thibaud: so Julien made a mistake and took another Gold bot as the boss. We'll let it as it is now.
struct: legend will be larger than gold
darkhorse64: Hmm, The JS boss looks very strong
jacek: :no_mouth:
Aldoggen: I guess they've put more work in this boss than in the game itself
Sheeesh---: the games in arena are only one side
Sheeesh---: like you fight a bot one time
struct: The game is fine
struct: and they do not need to put work on bosses
struct: Since they can choose from one of the players
Sheeesh---: not two times like in the competition
jacek: struct legend today or delete?
struct: I think it's safe
eulerscheZahl: and then CG realizes some other mistake and closes legend for the day to make a new one tomorrow
struct: lol
jacek: why they didnt do it at friday evening this time
Scarfield: why not just move the leaderboard as is, like they did the previous contests?
eulerscheZahl: because some players have already submitted again. too late for a 100% move
Viveli: hello there
struct: They just need to open a league above legend now
struct: and everything will be fixed
darkhorse64: The boss looks approximately like a 150th rank from the leaderboard
eulerscheZahl: the diamond league?
darkhorse64: maybe even less
jacek: jacek league
Scarfield: xD
darkhorse64: the imaginary league
Dapps: what a pleasant surprise. made it to legend without touching my code
eulerscheZahl: because they made a bug in boss selection
Dapps: oh.. it's not because i'm awesome
eulerscheZahl: sorry to crush your dreams
darkhorse64: Another blow in our self-esteem
5DN1L: On Discord: http://chat.codingame.com/pastebin/c7e3bc17-ebbf-4e48-888d-d0cd61fe7e91
5DN1L: oops
eulerscheZahl: and the new gold boss looks weaker than the old one
Scarfield: its almost like giving out gold medals to all participants in kids soccer
5DN1L: Illedan — @[CG] Thibaud that seems like the wrong gold boss? Too many will promote 😱
jacek: participation medals?
5DN1L: [CG] Thibaud — it's not the same but I trust Julien to have taken a proper one 🤔 it seems he did not
darkhorse64: Aren't we all kids ?
struct: its too late now
struct: legend already has 149 players
[CG]Thibaud: yep, too late. Will stay as it is
darkhorse64: :rolling_eyes:
Astrobytes: wtf
Scarfield: xD
BlaiseEbuth: :speak_no_evil:
darkhorse64: :money_mouth:
Astrobytes: :expressionless:
eulerscheZahl: are we golfing chat messages now?
jacek: oh my
Astrobytes: yes, express as much as possible with one emoji
darkhorse64: time is scarce, euler
eulerscheZahl: :pizza:
BlaiseEbuth: Scarcefield
eulerscheZahl: (i'd like to have a pizza now)
Scarfield: keyboard buttons can only handle so many presses
Scarfield: HollandaisEbuth
BlaiseEbuth: :thinking:
darkhorse64: Boss is suddenly on fire, promotion is gone
Aldoggen: we can perform puzzle of the week on the boss
Aldoggen: or is it already over?
eulerscheZahl: still weaker than the contest boss
Astrobytes: there goes my motivation again
eulerscheZahl: the puzzle of the week is a different fire Aldoggen. without boss
BlaiseEbuth: Puzzle of the weak
Aldoggen: well, I'll try to think of a better joke next time
Scarfield: its like a motivational poster; we are all legends
Astrobytes: Shame on you Aldoggen :P
Aldoggen: if everyone is a legend, no one is
BlaiseEbuth: ngl
struct: Ok now I can see that my bot was not that weak
Scarfield: why not just make it a shared 1st for everyone
struct: I must have gotten unlucky
Aldoggen: I don't understand why promotion to gold has to take so long
struct: Because submits need to finish Aldoggen
darkhorse64: 230 on going
Astrobytes: you made gold in tron Aldoggen?
Astrobytes: nice one :) Promotions to gold and legend on big multis always take ages
Astrobytes: to er, "force you to take a break" :rofl:
Aldoggen: yeah, really don't understand why lol
JohnyDaison: How did I get to Legend though? It's just a simple heuristic bot...
Aldoggen: I had ideas to improve it
Aldoggen: JohnyDaison green circle is bugged
JohnyDaison: Not enough CODE_REVIEW, eh?
eulerscheZahl: wait until you reach CSB gold and have to rewrite your whole code
Astrobytes: ah yeah, that
eulerscheZahl: CBS = mad pod racing
eulerscheZahl: did it kill your motivation?
Aldoggen: now I'm stuck at around 700 or 400 or so
Aldoggen: somehow made it there with only heuristics
Astrobytes: you can get legend with heuristics too
Aldoggen: I'll eventually try to :)
Aldoggen: but legend games are different too right?
Astrobytes: only heuristics also works for fantastic bits legend too
Astrobytes: sorry, "broomstick flyers"
Westicles: Nikanameu, what's this now?
Scarfield: for CSB i think the max thrust is changed from gold to legend, but that is the only change iirc
eulerscheZahl: 100 -> 200
eulerscheZahl: not sure if the 75ms/turn is a legend thing or everywhere
Aldoggen: pretty sure it's everywhere
Aldoggen: at least it's not instant
Aldoggen: that's what got me through the lower leagues, realizing that I should hold my thrust while my bot was turning
Scarfield: -3vel ?
Aldoggen: somehow CG has learned that I do my bot programming in java and my puzzles in python
BoBot: Hello BoBot, http://chat.codingame.com/pastebin/a0d7cd93-eebf-488c-a6b4-a98d93d4e697
Aldoggen: on top of that, those pastebin links are broken
jacek: oh my
5DN1L: Aldoggen you're speed-running on CG?
Aldoggen: I'm having fun at least
5DN1L: did you get to Level 17 in 2 weeks?
BoBot: was going to write that I got Legend in Green Circle somehow, though I was not close to it during the contest... so either they made the boss weaker or I got reaaally lucky lol
struct: but you will stay in legend
Aldoggen: 5DN1L I spent a lot of time on this site. maybe a bit too much
Scarfield: they made a mistake on picked a weaker boss bot
darkhorse64: no bugged but not the same bot
5DN1L: Aldoggen your speed is amazing
BoBot: yea, Gold is smaller than Legend now
Sheeesh---: and here i'am in wood 2
Sheeesh---: because i was late to the party
Sheeesh---: gotta go fast
mannouao: :joy:
AntoninLdn: bonjour je cherche un stage
Rikus: qquestion, are there any bots that use NN (DQN, AZ, or similar) on games that have 50ms turn limit?
0xhotdawg: mais pour what?
struct: Rikus yes
Sheeesh---: RIkus : https://forum.codingame.com/t/green-circle-feedback-strategies/196574/5
struct: Check jacek profile, most of his bots are NNs
Rikus: awesome! Ty for the info to both!
struct: and there are a few more games that have NNs at the top
jacek: yes there are
BlaiseEbuth: oO
Sheeesh---: wood 1 boss is in rank 127
Sheeesh---: lol
Wontonimo: congrats Aldoggen on your speedrun up the ranks !
jacek: :taco: struct
Wontonimo: sorry, tacobot is still unplugged
Aldoggen: Wontonimo lol thanks, I'm just having fun
jacek: fun? here? :unamused:
Wontonimo: i can't think of a better reason
Aldoggen: gold league bots everyone https://www.codingame.com/replay/649173690
eulerscheZahl: maybe some language update broke them
Aldoggen: 3 -> possibly 4 bots maybe broke them
jacek: more exp for league advancing :Tada:
Wontonimo: oh, i see you are also doing bot battles Aldoggen. very nice. I liked tron. Are you working on it now (it's called line racing)
Aldoggen: I am not working on it
Aldoggen: I just got promoted to gold and I'm looking at the battles it's doing
Wontonimo: what is your background? are you a CS student?
Aldoggen: I took some CS courses as elective courses though
Wontonimo: is programming part of the course work for math these days? Computations analysis or something?
Wontonimo: ah
Aldoggen: and there were some basic cs courses already included in the math program
Aldoggen: like a basic introduction to programming in python
Aldoggen: I did plenty of programming in a variety of languages, even outside the CS classes
Aldoggen: languages like R, matlab, python of course. I've dabbled a bit with julia.
Wontonimo: i did some matlab also. don't remember any of it
Wontonimo: gotta go. Nice meeting you Aldoggen :wave:
Wontonimo: later struct jacek
struct: cya Wontonimo
Shivzee: Neffex OP
Aldoggen: I'm currently implementing flood fill in a rectangular grid by setting elements of a twodimensional arraylist (yes, this is java). any ideas for a faster implementation?
jacek: arraylist of objects?
jacek: or primitives
Aldoggen: I guess I could make them char if that improves performance
Aldoggen: they only have length 1
jacek: so 2d array of chars
jacek: so no unneeded boxing/unboxing
Aldoggen: wow I guess that can help
Aldoggen: ideally I would build a sim (or whatever you call it) and test it
boumagik: the pushes are slow as hell
Aldoggen: it's been like this for a few hours
BlaiseEbuth: Hell is not slow. Don't tell such lies about my business or I sew you for defamation. :angry:
Sheeesh---: i mean
Sheeesh---: everyone is pushing
BlaiseEbuth: :)
Sheeesh---: soo it's normal to be slow
boumagik: Is there a contest going on ?
boumagik: I'm just trying to push my bot to legend on springchallenge 2021
5DN1L: 534 bots being computed in Green Circle
Uljahn: yep, past contest being introduced as multiplayer
boumagik: Also, can anyone confirm : in challenges introduced as multiplayer, bots you win or loose against could go up and now in ranking, and you could see an arrow up green, or down red indicating the recent tendency
boumagik: now it looks like it is fixed and never moving (for the othe bots)
boumagik: they seem to stay at their rank
Uljahn: maybe the rank change is lower than some tolerance
Uljahn: that's how trueskill works
boumagik: yes, in contest I suppose
boumagik: but in multiplayer outside of it, is it enabled ?
Uljahn: yes, but the more games you have, the less the rank change
boumagik: ok, might as well be
Uljahn: http://cgstats.magusgeek.com/app/multi-spring-challenge-2021/boumagik bots around you are kinda old, they had a lot of matches so their rank is very stable, you need to get a bunch of matches with one of them to change its rank noticably i guess
Westicles: Someone needs to approve Takuzu Solver
Westicles: https://www.codingame.com/contribute/view/18957f95843f0fd886c743c6c40f4e14aee89
boumagik: Uljahn ok thanks for the input
Westicles: We already have Sudoku, Kakuro, Shikaku, Futoshiki, Hitori, and Nurikabe so this is a big omission
jacek: :upside_down:
BlaiseEbuth: Approve it yourself
Westicles: already did
jacek: approve from your alts
BlaiseEbuth: I'm too slow
Westicles: never done that before, not going to start now
BlaiseEbuth: There's a first time for everything
Westicles: If I didn't do it when Abusing the System had 2 approvals I never will
Westicles: Hmmm, actually it is still sitting at 2-2 :thinking:
JustnTime: Damn the arena goes so slow
SatelliteMaster1337: does anyone use ruby
struct: only for golf
SatelliteMaster1337: yeah lol is it useful anymore fo ranything else?
jacek: maybe snooker
HenroLST: can someone explain to me how to reconsturct a path from a BFS with coords? i tried using a map where each coordinate was the key with its parent coord as the element but it ran too slow
5DN1L: That sounds like the right way to do it, maybe something else is the issue?
HenroLST: it worked on the simpler test case but on a test case with a longer puzzle it just didnt work
HenroLST: Lemme recode it and try again
Aldoggen: I can take a look at it in 10 mins HenroLST
jacek: woah struct in legend
struct: omg I dont have to delete now
struct: how can your submit and msmits be finished
struct: when mine was in gold before you
MSmits: I use 1 ms most turns...
struct: so do I
struct: maybe the templates are slow
MSmits: templates are never slow
struct: and take a while to compile
struct: I mean for compilation time
MSmits: sure, they dont recompile the bot for every fight do they?
MSmits: also, i too use templates
struct: Some say no some say yes
struct: an answer we will never know
struct: I guess its easy enough to test
struct: ill use C4 for it
jacek: i use 1ms at most too
jacek: surely a green contest
MSmits: you are going to break into their office with C$?
MSmits: C4?
MSmits: sounds a bit excessive
Astrobytes: :D
struct: I need to recover chat
Aldoggen: I just did the network cabling puzzle
MSmits: ahh that one
MSmits: it's a lot easier than it seems
Aldoggen: I hate how they tell you to search a minimum, but the minimum is not a minimum
jacek: hm?
BlaiseEbuth: oO
Astrobytes: Oo
Aldoggen: so my first approach was to use least squares to find the optimal height for that horizontal power line
Aldoggen: nope, doesn't pass some tests
BlaiseEbuth: overcomplicated
MSmits: isnt this just manhattan distance?
MSmits: I think you may just have misunderstood the problem
Aldoggen: I think it should at least be better defined
jacek: you dont need to understand a problem to solve it
jacek: :smirk:
HenroLST: sheesh just make a AI to solve it
Aldoggen: you would know everything about that huh jacek? ;)
jacek: :no_mouth:
Aldoggen: I'm just gonna plop an NN on it next time :)
Aldoggen: though I still don't understand how there can be manhattan distance involved
5DN1L: Aldoggen use NN to solve Onboarding first: https://www.codingame.com/training/easy/onboarding
MSmits: if they are just straight lines then manhattan and euclidean distance are the same
Aldoggen: ah, that's what you mean. thought you meant proper 2D manhattan distance
Aldoggen: okay you know what? I'm gonna learn about NN and implement a simple one to do the onboarding puzzle
5DN1L: nice
jacek: there is one in the solutions
jacek: that is if you done onboarding
5DN1L: yeah Aldoggen won't be the first person to do so
Aldoggen: I'm not trying to be the first
elie.f.asmar: is it possible to change contribution type from Classic Puzzle to clash? (Status = Pending)
struct: Im not sure actually
5DN1L: it looks like you have to make the choice initially and can't change afterwards? i'm not sure either
jacek: probably not
struct: yeah you cant
struct: ok its only compiled once
PatrickMcGinnisII: jello , it's the 4th of July... the day all us Yanks blow stuff up
Astrobytes: movie celebration day :tada:
Astrobytes: :P
PatrickMcGinnisII: I bought $400 worth of mortars
pluieciel: “Someone needs to approve Takuzu Solver”;is there something like Prolog here? I'd like to learn some logic programming if possible
PatrickMcGinnisII: going to party, total fireworks by all atendees will total over $4k
jacek: https://img-9gag-fun.9cache.com/photo/arRK20y_460s.jpg
jacek: no prolog ~
PatrickMcGinnisII: happy no taxes day, oh wait . . . c r a p
pluieciel: no clojure.core.logic either
PatrickMcGinnisII: mass shooting already today, mf
PatrickMcGinnisII: timeout test
pluieciel: 408 Request Timeout
Aldoggen: my favourite response code is still 418
BlaiseEbuth: The teapot one?
BlaiseEbuth: ^^
Aldoggen: someone probably has made a smart teapot that always returns this
darkhorse64: There is only one teapot
BlaiseEbuth: :scream:
darkhorse64: I am the teapot. This is not debatable
jacek: cna you disprove that?
Aldoggen: I'd say we have two teapots at home, but I'm afraid they're coffee thermoses
Aldoggen: or whatever those things are called
Wishbone: I'd say it's pretty easy to tell a teapot and a thermos apart.
TimeEngineer: Jacek can I know which activation function you use for your NN ?
Aldoggen: (jk. that probably sucks)
Wishbone: Teapot: http://cdn.shopify.com/s/files/1/0527/2213/9300/products/johan-och-nystrom-viva-scandinavia-classic-teapot.jpg?v=1624584843
Wishbone: Thermos: https://cdn.shopify.com/s/files/1/0552/9731/0876/products/tms-o-sk2010mdb4_front_v2_1800x1800.jpg?v=1624516304
Wishbone: Quite easy to tell apart, actually ;-)
struct: He probably uses ReLu
Aldoggen: I was gonna make a joke about being a topologist and not seeing the difference, but they're topologically different
Aldoggen: you beat me wishbone lol
Wishbone: Hehe, nitpicking is one of my primary skills :-D
jacek: TimeEngineer for hidden layers its relu
jacek: and linear for output in dqn
TimeEngineer: I tried to implement from scratch a NN to play tictactoe, but I don't know why it's so difficult
jacek: or tanh in mcts stuff
TimeEngineer: Maybe it's because Softmax + Q-learning
jacek: suprisingly tic tac toe requires plenty of layers and/or nodes to play perfectly
TimeEngineer: And GreenCircle not ?
TimeEngineer: Do you think that Softmax and Qlearning can match together ?
jacek: it doesnt play perfectly, does it?
TimeEngineer: Sorry I'm newbie in AI :sweat_smile:
jacek: but yeah, green circle is a little more complicated than tic tac toe ;v
MSmits: TimeEngineer i got TTT to 97% perfect with 1 hidden layer and something like 30 hidden nodes
jacek: hmm normally youd use linear output layer for Q-learning, as it mimics the Q-table
jacek: softmax thing is more for actor-critic and others
TimeEngineer: :thinking:
TimeEngineer: That makes sens
TimeEngineer: sense*
TimeEngineer: MSmits with which activation functions ?
MSmits: the thing is, NN's don't have to be perfect when you're playing boardgames. Generally you're using them as eval at the end of a selection phase and backpropagate the result, averaging it with many other results. Because it is averaged, it doesnt have to be perfect
MSmits: I think i used relu
MSmits: softmax for output i guess
TimeEngineer: Supervised training ?
MSmits: this is why ttt is not a great testbed. If you search deeper, you soon hit the end of the game and require no eval at all. You'll just be mcts-ing it
Westicles: PatrickMcGinnisII, I'm jealous mortars are awesome
MSmits: I did supervised yes. I labelled all reachable states with labels from minimax
jacek: value n-tuples network for tic-tac-toe, supervised from all positions, https://github.com/jdermont/tictactoe-ntuple
MSmits: yeah thats the same thing except training ntuples weights instead of nn weights
TimeEngineer: Also I noticed something, When I train a lot, my weights can overflow, is it normal ?
MSmits: what do you mean overflow?
PatrickMcGinnisII: :boom:
TimeEngineer: They become big
MSmits: mmh i did not have that issue
jacek: and you get nan?
PatrickMcGinnisII: :flip: :boom:
TimeEngineer: I don't use framework, that's why
MSmits: I didn't either
Westicles: I'm stuck in this stupid blue state where you can't even have sparklers
MSmits: well not at first
PatrickMcGinnisII: (╯°□°)╯︵ ┻━┻
struct: why 432 (8*54) weights jacek?
MSmits: i dont mind sharing my code if i can find it TimeEngineer
jacek: neither do i, i have small learning rate and i clip errors to be abs max 1
struct: [AaZZz09_.-] turn caps lock off
jacek: struct row-of 3 has 27 states. x2 for player to move. there are 8 such rows in TTT
TimeEngineer: But it seems to be possible when I see a dense layer, there are a lot of addition :thinking:
Vicvicvic: hey guys new here, i am having trouble on wood2 for next_checkpoint_angle > 90 or next_checkpoint_angle < -90: , my pod just shaking right and left and runs slow
j4at: this is my search race actor's activation function
j4at: https://i.ibb.co/TKmfqDY/Screenshot-from-2022-07-04-22-02-52.png
struct: ah I think I understand jacek
jacek: linear sin?
j4at: yeah
jacek: weird flex but ok
j4at: Normally people use tanh for ddpg. But it has bias because not the same gradient in all points
jacek: Vicvicvic do you do as said in the comments?
j4at: so you need to use custom gradient
j4at: or just use linear sin
jacek: the NN is quite sinner
TimeEngineer: Ok, thanks all I will try to implement with your recommandation jacek, I really want a dqn :smile:
jacek: at least its something you know it works
jacek: depending on the implementation and hyperparameters, it always took around 10k games to start winning over 90% against random opponent
jacek: it was like 0 0 0 0 0... and sudden spike to 99
struct: http://chat.codingame.com/pastebin/292831d4-4660-453c-bfab-8483d08dd31b
struct: this is waht you need
struct: https://github.com/asdfjkl/neural_network_chess/blob/main/chapter_05/sup_network.py#L8
struct: :D
struct: more layers
jacek: for hexapawn might as well do hashtable
MSmits: I did this
struct: might as well hard code it by hand
MSmits: https://trinket.io/python/6cd0e1872a?outputOnly=true
jacek: TimeEngineer also (maybe its obvious), if next state is other player, I use -Qmax(next_state) as target
MSmits: hexapawn with simple q-learning (hash table)
jacek: (notice the minus)
TimeEngineer: Really ?
jacek: its the move of the opponent and you want to minimize it
TimeEngineer: I used the same NN for the opponent and my nextQmax is 2 step after
jacek: oh. it could be just implementation detail
TimeEngineer: Is it a mistake, if so, why ? :thinking
j4at: the jacek way is better
Aldoggen: that's why he gets a league all for his own for green circle
Aldoggen: just below the last wood tier
j4at: because its guarantees that the opponent plays the "best" move
j4at: also it normalizes the reward
j4at: (makes it have a mean of 0)
TimeEngineer: Ah ! i made a mistake in my implementation, I give a reward of -1 in my softmax nodes xD
TimeEngineer: Thanks for the tip !
j4at: Using nextQmax 2 steps after makes it kinda on-policy. But dqn is off-policy SARSA is on-policy
jacek: oh my, i had small bug in my clash of bots sim implementation
jacek: need to train again -.-
j4at: first time ? I always make bugs in my simulations that I don't complain anymore
jacek: thats why i copied green circle referee. any bugs there are also in arena
Aldoggen: which means they are features
jacek: probably it would exploit that infinite draw glitch
j4at: My search race training script spends 50% of the time on the simulation. It's written in python and very very not optimized at all.
j4at: Maybe I should rewrite it in Cython
DomiKo: just use c++
DomiKo: Hello :D
struct: hi
jacek: then its something wrong. my NN stuff take over 90% time
DomiKo: I agree with jacek
struct: my NN takes 0% time
DomiKo: super fast
struct: got legend on green circle with it
DomiKo: I'm stuck in gold now ;(
jacek: why? i dont forbid you to get into legend
j4at: well C or C++ it all the same for such a simple simulation
j4at: I'm used to extending python using C tho
DomiKo: jacek I beat you once, and now you are stronger! Your NN learned on me
jacek: its different gold boss
struct: yeah its not jacek anymore
DomiKo: really?
struct: its a weaker boss
DomiKo: lol
DomiKo: why?
struct: no idea look at legend size
jacek: at first it was some noob boss
jacek: thats why legend is so big
struct: first it was silver boss
struct: as gold boss
Aldoggen: they could reset all the ranks
struct: Which made everyone promote
DomiKo: everyone except me...
struct: because you submited your code
DomiKo: ohhh
DomiKo: so they broke it
DomiKo: nice
j4at: I wrote self.angle = radians(degrees(self.angle) + angle)
j4at: instead of
self.angle = self.angle + radians(angle)
j4at: I was probably out of my mind when I wrote the simulation KEKW
DomiKo: it's always hard to not make mistakes
DomiKo: it's even harder to debug it
struct: I only have bugs when I read the statement
DomiKo: 143 computing people O.o
DomiKo: I see why, submits are so slow
struct: yeah it was 600 before
jacek: time to promote in csb :imp:
BlaiseEbuth: ezpz
j4at: csb ?
DomiKo: csb finally?
DomiKo: mad pod racing j4at
BlaiseEbuth: Cad Sod Bacing
j4at: Hehe Coders Strike Back. Well I will it a try, maybe! Last time training my search race NN, time to move on another game. I gave up on passing DomiKo+Recurse. I will pass struct atleast :p
struct: well I could hardcode
j4at: I'm not hardcoding tho :)
struct: didnt you say that you are using the best result your NN found for the validator?
j4at: I'm not even using the validators for training my NN
j4at: well my best NN result is 11000
j4at: but it's not deteminstic so Iso i use best games
j4at: which barely improves it
j4at: to 10800
struct: ah so you sim?
struct: or what do you mean by best games
j4at: Well Its kinda brute force. I have 2 actors after training so i mix their actions
j4at: So its kinda hardcoded but it doesn't make any difference
Illedan: 2 actors?
j4at: 2 policy NNs
Illedan: 2 different NNs? Or 2 outputs?
j4at: 2 different NNS
Illedan: hmm
Illedan: Why 2?
j4at: Its to stabilize ddpg.
DomiKo: you are using Actor Critic methode right?
j4at: ddpg
j4at: with some changes
j4at: yeah ddpg have an Actor + Critic
DomiKo: yeah I know
j4at: So when an Actor learns from a Critic that learns from an Actor. The actor can trick the critic creating a lot of noise that's why I have 2 actors and 2 critics
Illedan: ok, thx
j4at: What are you using DomiKo?
DomiKo: in search race?
j4at: yeah
DomiKo: that should be Double Dueling DQN
DomiKo: with prioritised memory replay buffer
DomiKo: I was training on random maps
j4at: discrete actions ?
DomiKo: yes
j4at: damn
j4at: what actions are using ?
DomiKo: let me check
DomiKo: [-18, -9, 0, 9, 18] x [0, 200]
j4at: bruh
j4at: you are the 13th with that :3
DomiKo: I never really tried doing it. It was a simple test before CSB
DomiKo: it that good or bad?
struct: terrible domiko
DomiKo: :sob:
struct: :)
DomiKo: * domiko crying in the corner*
j4at: well you are doing better than me. So, I can't judge you :p But yeah you should have used continuous actions
DomiKo: not in CSB
DomiKo: that's why I'm not using them here
j4at: nice
j4at: I didn't use a prioritised memory replay buffer because I didn't feel like it
DomiKo: it did a lot for me in CSB
struct: too many NN terminology for me
DomiKo: should we stop?
struct: no lol
DomiKo: from the other game. I've finally used MSmits endgame solver in Oware!
struct: for training?
DomiKo: for validation only
struct: is this the arena version?
DomiKo: I've never really known that scores for positions with only different turn could vary that much
DomiKo: firstly I used scores for position with 150 turns left and my NN was solving like 70% of them
DomiKo: but it couldn't do better
DomiKo: then I looked at score of position with 150, 100, 50, 20, 10 turns left
DomiKo: and I was really shocked
DomiKo: so now I'm training the first agent that uses number of turns left :D
DomiKo: hope it will be better
struct: so its an input?
DomiKo: yes
DomiKo: right now after 20min I can solve 78%
struct: o.o
Illedan: Where can I find that endgame solver?
struct: https://www.codingame.com/playgrounds/58572
DomiKo: from it you can create many samples
DomiKo: it should be close to 200K * 100
DomiKo: I knew that number of turns left was important, but it turns out that it's very important for boards with small amount of seeds
DomiKo: 81%!!!
struct: are you using 9 seed or more domiko?
DomiKo: only 9
DomiKo: every position with 9 or less ofc
struct: yeah
j4at: Does anyone have csb simulation ?
struct: the referee?
j4at: yeah
struct: I think it's supposed to be this
Aldoggen: it's literally in the description j4at
j4at: I can't use that tho
j4at: I need to change it and recompile
j4at: I don't know java
Aldoggen: what's wrong with it?
j4at: And I don't want to use brutaltester
struct: https://github.com/robostac/coders-strike-back-referee
struct: oh well
struct: cant help you then
struct: I dont have any referee in py
Aldoggen: do you need to change it or do you need it in python?
j4at: ah that will do thank you :)
Darleanow: hello guys
Darleanow: can, you remind me about the euler's website
HenroLST: does anyone know a good puzzle to practice simulations?
Darleanow: i forgot the url :/
struct: https://eulerschezahl.herokuapp.com/codingame/puzzles/
struct: HenroLST why not a multi?
struct: or a optimization
Darleanow: thanks struct ;à
Darleanow: :)*
struct: np
struct: I think search race is nice to learn how to sim
struct: random search can work
struct: but might be hard to get into at the start
Aldoggen: it's a bit like mad pods lol
struct: well its single player
struct: yes
struct: the physics are the same
struct: physics are here in code if you need
struct: http://files.magusgeek.com/csb/csb_en.html
Aldoggen: my mad pod code would work well for this
Aldoggen: it's more optimized for single player
j4at: There is a big gap between top 4 and the others in mad pod racing.
struct: NNs vs non NNs
j4at: I wonder if i can make it to gold league with my search race code unchanged
DomiKo: you should
struct: even probably legend
struct: you dont need collisions to get legend
BlaiseEbuth: 2 pods
struct: pod collisions I mean
Aldoggen: my mad pod code does not work in the slightes
Aldoggen: yeah, maybe I should have checked input order
j4at: struct Did you try beam search with only [0, 200] thrusts and [-18,-9,0,9,18] angles?
struct: my bot only has 5 moves
j4at: ow
struct: -18 0 18 200 -18 18 0
struct: the replay that I shared used 7 though
struct: -9 9 200 was included
SubZeRoy9: Hello
Jiry_XD: Why does clash of code have bots?
Andriamanitra: this article explains it https://www.codingame.com/blog/clash-of-code-time-has-come-for-clash/
gokubill: halo
gokubill: tôi yêu em
gokubill: i love you
gokubill: Je vous aime
HoangH7: Tau cũng yêu mi.
gokubill: I'm not gay =]]