Chat:World/2021-08-16

From CG community
Revision as of 05:29, 17 August 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/54970169109216> Wontonimo: yeah, i get it <img src=/a/68885807866035> xxd: perfect for people like me ._. <img src=/a/68885807866035> xxd: honestly i dont have f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Wontonimo: yeah, i get it

xxd: perfect for people like me ._.

xxd: honestly i dont have fun while coding it up, the fun and dopamine only comes when it finally works

xxd: its like super polarizing

xxd: actually, i get dopamine from imagining it working in my head

Westicles: I thought you kids get dopamine these days from huffing your grandma's prescriptions

xxd: thats rookie stuff.

Westicles: oh nvm, I was mixing it up with serotonin

Wontonimo: that's a great insight xxd about the dopamine from imagining it working. There is a great study about that.

Default avatar.png LinhT.Nguyen: zhong wen shui ping bu cuo

Westicles: wing ding ding-a-ling

xxd: bruh

Wontonimo: english only here

Wontonimo: there are other non-english channels

Default avatar.png ChickenCoder123: hey what u guys do here now

Default avatar.png ChickenCoder123: which are the best challenges

Wontonimo: Try the Mars Lander series

Wontonimo: if you haven't

xxd: :)

Wontonimo: (turn off your volume)

xxd: yeah, mute the ab

xxd: tab*

Westicles: just curious, why the obsession with mars lander and csb?

Default avatar.png ChickenCoder123: ill try that

Default avatar.png ChickenCoder123: after this insanely confusing coc that i just got

Wontonimo: they are fun for beginners

Wontonimo: nice graphincs

Default avatar.png ChickenCoder123: ic

xxd: as a beginner i do not condone that statement

Wontonimo: haha

Default avatar.png ChickenCoder123: can u guys help with my coc

Default avatar.png ChickenCoder123: its about water levels

xxd: its active right now? no

Wontonimo: you didn't find Mars 1 fun xxd?

xxd: mars 1 doesnt count. and i spent longer than i should've solving it

xxd: kept running out of fuel :facepalm:

Default avatar.png ChickenCoder123: how do i get to the mars lander thingy

Wontonimo: https://www.codingame.com/ide/puzzle/mars-lander-episode-1

Westicles: I would think young programmers would prefer algorithms over physics problems

Wontonimo: it can also be solved as a control problem

xxd: i agree with westicles

Wontonimo: using PID

Wontonimo: oh :(

Wontonimo: i didn't know kids these days are so abstracted from the physical world

xxd: lol

Wontonimo: okay then, solve this one https://www.codingame.com/ide/puzzle/network-cabling

Wontonimo: route some cable to low rent houses

xxd: thats a cool one

Default avatar.png ChickenCoder123: it doesnt seem too hard

xxd: or this: https://www.codingame.com/training/easy/next-growing-number

Wontonimo: or this one https://www.codingame.com/ide/puzzle/the-resistance

xxd: lol

xxd: i had to solve that one in C++ since python timed out

Wontonimo: i did it in python

xxd: wow

Default avatar.png ChickenCoder123: im mars lander does rotation of +-15 degrees happen instantly?

xxd: did you use a trie?

Wontonimo: let me time it ... just a sec

Wontonimo: 0.063 seconds to complete "Long sequence, large dictionary"

xxd: darn

xxd: do you use string slicing?

xxd: or a trie

xxd: (or hash?)

Wontonimo: no. i build a large lookup of combinations so far

xxd: not sure what you mean by that

xxd: well, the good news is naive string slicing is fast enough in C++

xxd: so i sorta cheesed the problem

Default avatar.png ChickenCoder123: doesnt it just mean combinations of height and speed that output thrust?

Wontonimo: for mars lander 1? yes

Default avatar.png ChickenCoder123: hey how do i output something in like another output stream, because if i output something in standard output stream it takes that as control for my rover

Westicles: use the error stream

Default avatar.png ChickenCoder123: how

Westicles: it says in the default code

Default avatar.png ChickenCoder123: oh ok

Default avatar.png ChickenCoder123: for mars lander if power could be a float then, after speed reaches like 30 or something you could just set power to 3.711 lmao:joy:

xxd: :flushed:

Default avatar.png ChickenCoder123: is there a second part to the mars landing?

Default avatar.png ChickenCoder123: becos it said that there were three levels

Wontonimo: https://www.codingame.com/ide/puzzle/mars-lander-episode-2

Default avatar.png ChickenCoder123: thanks

xxd: its a lot harder

xxd: but YMMV

Wontonimo: don't shoot for solving all test cases quickly. if you just solve 1, feel accomplished !

ProCoder03: it took me 2 days to just solve the first one !!

Default avatar.png eggeggwe: lol, me too.

Wontonimo: Here is a physics based solution (not PID) for the first one https://www.codingame.com/replay/575819757

ProCoder03: the horrible part is, it took me 11 or 12 if elses

ProCoder03: PS: I didn't use PIDs

ProCoder03: why is optimization so difficult :crying: ??

Wontonimo: optimization of what?

ProCoder03: the optimization quest map

Wontonimo: which one are you on?

ProCoder03: the 3rd one , some code of rings

ProCoder03: wait idk anything abt brainf**k

Wontonimo: i kinda feel like my solution to Ring of Codes is a big cheesy

Wontonimo: *bit

ProCoder03: Mayan Calc is like ASCII art right???

ProCoder03: and one more what is 'Radix' ???

Wontonimo: for Code of the rings, i calculate the cost of changing every rune to the letter that is needed and then greedily pick the one with the least cost. That's it really.

ProCoder03: ohh!!!!

Wontonimo: it is dumb tbh, because it just ends up cycling between 2 runes usually

Wontonimo: a beam search would be way better

Wontonimo: i guess it is a beam search of width 1

Wontonimo: :P

Wontonimo: the Mayan Calc is a little more than ascii art

ProCoder03: Well what is a beam search ??:sweat_smile:

Wontonimo: do you know what a BFS is?

Wontonimo: or DFS ?

ProCoder03: nahh.. I am just started learning trees

Wontonimo: ok. Check this out https://www.youtube.com/watch?v=j1H3jAAGlEA

ProCoder03: thanks !!!

xxd: I watched that guys videos for GA and minimax

xxd: RIP

ProCoder03: wait do I need trees to understand search ??

KamadoTanjiro: hi

xxd: trees?

KNTK: Graphs probably

xxd: as in the data structure of a tree?

Wontonimo: yes, once you get into the weeds of it, you'll need trees

Wontonimo: ;)

ProCoder03: ohhhh....

xxd: Oh no, Code of the rings is a necessary quest checkpoint?

xxd: why are they making us do certain problems

xxd: this is pain

Wontonimo: who is making you?

RightHandElf: dopamine

RightHandElf: I should start playing cookie clicker again

Wontonimo: wow, a lot of people online suddenly. did school just start somewhere?

xxd: it's 7:44 for people in france, it seems

ProCoder03: Ig Codingame is fast becoming a place where students are there instead of school

ProCoder03: including me !!

ProCoder03: @xxd are you in high school ??

Westicles: xxd is a professor emeritus at caltech

ProCoder03: wow !!!

ProCoder03: just got confused because bcoz his profile said some school

Westicles: oh, well not really :P

xxd: westicles is trolling

derjack: good morning

Default avatar.png EvilBrocolli_1bf6: good morning

Default avatar.png TheOneCode: Why isn't it possbile to end up my code optionaly (without ranking of course)

Uljahn: because entering a clash means you agreed to compete

BryanNativel: yo

Default avatar.png TheOneCode: yeah the Code until 15minutes should go for the rank, but if you are not lead the code to the end that you can optional complete it, so that that code doesnt go to rank-system...

Uljahn: just submit it and go ahead, clash rank is a lie

derjack: life is a lie

RightHandElf: that's deep

Default avatar.png TheOneCode: conspiracy!

Default avatar.png Armin_programmer2010: hello

ProCoder03: hello @Armin_programmer2010!!!

Default avatar.png Armin_programmer2010: how can I download my source code for this site?


Default avatar.png UnnamedCodinGamer: there is a history tab, after you submit you can copy your code from there

Default avatar.png Armin_programmer2010: thanks

Default avatar.png Armin_programmer2010: hey guys I'm looking for a good python course

ProCoder03: learnpython.org

ProCoder03: or http://bedford-computing.co.uk/learning/wp-content/uploads/2015/10/Python-Cookbook-3rd-Edition.pdf

ProCoder03: if you want a book :pointup:

Default avatar.png Armin_programmer2010: thanks

ProCoder03: urw

Default avatar.png IMustFarm: hello

Default avatar.png Armin_programmer2010: hello

Default avatar.png eggeggwe: hello

Default avatar.png Armin_programmer2010: did you have a quesion @IMustFarm?

Default avatar.png TheOneCode: there is no "CodinGame" in twitch lol

Default avatar.png Armin_programmer2010: what?

Default avatar.png TheOneCode: i looked for streamer on twitch but there is no one

ProCoder03: prob there is no one streaming now !!!

Default avatar.png TheOneCode: ;(

Default avatar.png Armin_programmer2010: yeah

Default avatar.png Armin_programmer2010: :neutral_face:

Default avatar.png Armin_programmer2010: hey guys who want to join the fall challenge 2021?

Default avatar.png Armin_programmer2010: you can register in the compete option in the activity tab

Almin5k: hello

Default avatar.png Merfi: helo

Default avatar.png Armin_programmer2010: hello

Almin5k: how are you today? :)

Almin5k: Do you know arman

Default avatar.png Armin_programmer2010: good thanks

TobiasA: i can see a pattern emerging:spy:

Default avatar.png YusufEmad04: hellllllllllooooooooooo

Almin5k: bonjour

Default avatar.png Merfi: ni hao

[O-O]: come on ,where are you from

Default avatar.png GabrielFR: France

derjack: :scream:

Default avatar.png Svat623: privet vsem patzani i devochki

valentino.sm: pashol nahuy

Default avatar.png Svat623: ho-ho-ho idi suda

valentino.sm: sam idi suda ti ubludok mat' tvoyu

Astrobytes: Guys, English in the World chat please

Default avatar.png Svat623: ok

Default avatar.png Svat623: we just joking

Default avatar.png Svat623: isnt it7

Uljahn: nah, i see you swearing :smirk:

derjack: sacre bleu!

Astrobytes: Yeah, I didn't check until afterwards sadly

Default avatar.png DJUndyingKnight_b8a9: hey, can someone help me with syntax? im very new to coding :D

RightHandElf: just tweak it until the editor stops complaining

Default avatar.png DJUndyingKnight_b8a9: i tryed :<

Default avatar.png DJUndyingKnight_b8a9: elif plus_temp = 5526 and minus_temp = -273: http://chat.codingame.com/pastebin/811562ae-18ed-4e87-b581-9b6dae7502cb

Astrobytes: ==

Default avatar.png DJUndyingKnight_b8a9: ah it worked, kinda, my solution was wrong, but at least i got to the same error as before :D

Default avatar.png DJUndyingKnight_b8a9: thanks

Default avatar.png TheOneCode: Where can i find my history?

Uljahn: it's separate for each puzzle/multi, so enter browser IDE first, then it should be on the left

Almin5k: what you know about rolling down in the deep?

Q12: When your brain goes numb?

Default avatar.png Merfi: HELLOOOOO!

Almin5k: You can call that mental freeze

BryanNativel: hello i'm on Shadows of the Knight - Episode 1 it's hard x)

Default avatar.png Merfi: i just did it, very easy

Almin5k: u just have to oteeoxnee

Default avatar.png Merfi: easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy, easy,

BryanNativel: oh

BryanNativel: :'(

Almin5k: he has a frisbee

BryanNativel: ok x)

Almin5k: :sunglasses:

BryanNativel: i nerver give up so

Almin5k: keep fighting:muscle:

BryanNativel: i'm very bad in algo x) so i try lvl up

Default avatar.png Merfi: i pray for u!! and give u strength :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5: :muscle_tone5:

BryanNativel: how many time you code ?

Uljahn: Merfi: stop spamming pls

BryanNativel: :pray:

Default avatar.png Merfi: ok, sry

Almin5k: It's easy to have faith everything is going to work out, when everything is working out You see, it's much harder to have faith, when you are facing challenges in your life But that is exactly when you need to apply your faith

Almin5k: you know what i mean

Default avatar.png Merfi: thats true my friend :ok_hand:

Almin5k: thank you

BryanNativel: :ok_hand:

TobiasA: :eyes:

Broski_974: thanks fo advice

Almin5k: no problem

Almin5k: The secret of getting ahead is getting started

Broski_974: you coding since long time ?

Almin5k: No, not for long

Almin5k: but i keep grinding:muscle:

Default avatar.png Merfi: All our dreams can come true, if we have the courage to pursue them. If you can dream it, you can do it

Almin5k: wise words merfi

BryanNativel: I want work in google an leave france country xD

Almin5k: you can do it my friend, you have to dream before your dreams can come true

Default avatar.png Merfi: very trye Almin5k. If people are doubting how far you can go, go so far that you can’t hear them anymore

Default avatar.png TimothyAlexisVass: :smile:

Broski_974: x)

Broski_974: google : "best citation ":eye:

Almin5k: it comes from the hear

Almin5k: t

Broski_974: x)

Uljahn: so guys you're not really interested in coding, are you?

Broski_974: ?

Sumit-coder: ?

z7m10n: yo wassup

z7m10n: any one already working

Default avatar.png Dev-Wings: Hello good people. I have been invited to take a technical assessment for an entry developer(front end development) on this platform.If there's any heads-up you would want me to know before taking this test please let me know.

TobiasA: i don't have any but goodluck

martinpapa69: if you are first time here on this site solving some easy puzzles first might help you to get used to the platform

Default avatar.png FBF_Luis: hi dev-wings. I also found this because of a technical assessment for a company. The only thing I remember from the test is that it has nothing to do with the puzzles presented here

Default avatar.png mtagizadee: Hey everyone. How is it going?

Default avatar.png FBF_Luis: not great xD

Default avatar.png FBF_Luis: can't figure out what is wrong with my c++ code

Default avatar.png Totototo34twgrettgw: C++ is probably what is wrong

Default avatar.png Totototo34twgrettgw: :p

Default avatar.png Dev-Wings: Appreciated.I must admit this was a lot to absorb and overwhelming at first considering the amount puzzles but I get the idea.Thanks again good people for the feedback.

michaellan: C++ is gr8

Default avatar.png FBF_Luis: I bet it is, but it is not beginner friendly at all

xxd: are you getting error messages?

Default avatar.png FBF_Luis: yes, my last 20 minutes were just googling error messages

Default avatar.png FBF_Luis: I'm getting there slowly (I think)

sheaaaaaaaaa: if you start with the hardest then everything else will be easier

xxd: googling error messages is a good skill to have

Default avatar.png FBF_Luis: I started with python, but next month I'll start working for a company that asks for c++

Default avatar.png FBF_Luis: they know I'm a beginner but still chose me, so I'm doing my best until then :)

xxd: congrats man

sheaaaaaaaaa: congrats

Default avatar.png FBF_Luis: thanks ^^

Default avatar.png PybH: good luck

Default avatar.png FBF_Luis: thank you

Default avatar.png Luzon: are ya winnin son

KalamariKing: :0

KalamariKing: WOW my coc rank fell from 200 something to 1805

Default avatar.png beepbooping: nice

Default avatar.png hungryboi: hi

xxd: lol, doesnt matter TBH

xxd: I'm super close to getting mars lander working, in theory. Just have to write the fitness function

TobiasA: aay kalamari

KalamariKing: ayy someone remembers me

BlaiseEbuth: No. He's just polite.

KalamariKing: oh hey blaise

BlaiseEbuth: Who are you ?

BlaiseEbuth: :thinking:

KalamariKing: idk

KalamariKing: who am i

TobiasA: bet you don't remember me

KalamariKing: I do

KalamariKing: I remember quite a few of you

TobiasA: good

andrefpoliveira: Hey. Im finishing MARS LANDER - EPISODE 1 with 309l but I cant get the achievement. Is this normal?

TobiasA: did you submit?

andrefpoliveira: yeah

TobiasA: try and submit again

andrefpoliveira: i did 4 times xD

TobiasA: damn

BlaiseEbuth: 309l is from IDE's tests ?

andrefpoliveira: yeah. Can I see the results from the submission?

BlaiseEbuth: Don't remember, but you probably don't do so well on validators

andrefpoliveira: I thought it was the same test

andrefpoliveira: Well, will try to get a better result on the IDE

BlaiseEbuth: You can see your validators result

BlaiseEbuth: Click on 'details' in the 'results' tab

andrefpoliveira: Oh on the validator i get 294. Ok thanks!

xxd: oof.

xxd: what strategy are you using? andrefpoliveira

andrefpoliveira: Ahah its not a good one xD

andrefpoliveira: Just checking height

BlaiseEbuth: "don't crash"

andrefpoliveira: basically yeah

xxd: O _ O

andrefpoliveira: The good: http://chat.codingame.com/pastebin/9ba8c543-7dc6-447a-a678-b41d555df895

andrefpoliveira: xD

xxd: hmmm :thinking:

BlaiseEbuth: You probably get better result using speed instead of y

xxd: yeah. check if v_speed < -35 or something

andrefpoliveira: Yeah true

xxd: man im so close to solving ML i can feel it flowing thru my veins

xxd: i think my GA might be too slow tho

Default avatar.png Darius_504: how do i fix de angle in wood 2

BlaiseEbuth: ml2 or 3?

Default avatar.png Darius_504: 3

xxd: wood 2?

Default avatar.png Darius_504: yeah

xxd: since when was there leagues

AllYourTrees: whats ML?

xxd: mars lander

AllYourTrees: oooh

BlaiseEbuth: Yeah, you know, the wood2 league of THE unique multiplayer game of the site

BlaiseEbuth: xxd ml2 or ml3

xxd: all of them...?

xxd: my GA should technically work for all situations

xxd: just might not converge corretly on things like cave, wrong side

BlaiseEbuth: Even cave? Good.

xxd: technically*

xxd: in theory

xxd: i'm probably still a week from getting it

TobiasA: oh oh what about the replay can i see

xxd: im running all the tests locally on my computer right now

xxd: no replays to share, yet

TobiasA: oh

TobiasA: when you get it i would really like to see the replay

BlaiseEbuth: I only made a lazy solution for ml2 that can't work on ml3. ^^

BlaiseEbuth: One I'll do it seriously...

xxd: i think the annoying part to tweak will be the evaluation/fitness scoring function

BlaiseEbuth: In any search algorithm depending on a

eulerscheZahl: just take the fuel consumption?

BlaiseEbuth: *an evaluation function

eulerscheZahl: fuel works fine when you can ensure that you find a valid path

Default avatar.png eggeggwe: I spent a day solving a easy puzzle, and I finally did it :D

BlaiseEbuth: gg

xxd: grats

xxd: which one?

BlaiseEbuth: onboarding :3

Default avatar.png eggeggwe: temperature, I am new here.

Default avatar.png eggeggwe: it's time to solve more puzzles :3

BlaiseEbuth: Go go go eggeggwe!

dmin: im going to be honest, I can't solve temperature

dmin: i think i just cant understand the prompt lol

dmin: kinda embarrassing

BlaiseEbuth: What don't you understand?

TobiasA: aayy i'm not the only one who is bad at easy things

TobiasA: and is also embarrased about it

Default avatar.png eggeggwe: that's not a big deal, I can't in the beginning, either. I spent 2 hours to understand what should I do.ww

BlaiseEbuth: No need to be.

Wontonimo: hey, welcome eggeggwe

Wontonimo: hello regulars :wave:

Default avatar.png eggeggwe: thanks for welcome me. :D

TobiasA: hi wontonimo

Default avatar.png eggeggwe: hello to you, too. wontonimo

michaellan: hi wontonimo :)

Wontonimo: hey xxd! I was going to ask you what fitness function you are thinking of using? Probably *don't crash* is a good one

gilufin: how can I find my clash chat if i close it?

Wontonimo: it's gone dude

gilufin: bug

Wontonimo: gone for good, lost in the void

gilufin: not if I open from the alert when the clash is over

michaellan: you can use browser history

michaellan: oh wait nevermind, misread

michaellan: anyway, i'm over clashes now

gilufin: reload the page and it's back

michaellan: Wontonimo: I'm having trouble writing the distance metric

michaellan: i wanted to do the distance-along-the-surface but its much harder than i thought it to be

Wontonimo: did you try the flood fill thing I mentioned?

michaellan: right now i'm just taking (index of crash surface - index of landing surface) * some constant

michaellan: wouldnt that be slow?

michaellan: like 7k by 3k map

Wontonimo: you only have to calculate it once at startup where you have 1 sec anyway

TobiasA: wait what

michaellan: I think if I'm using GA, I'm supposed to get the answer in the very first second and then just print out the moves for the rest of the game...

michaellan: maybe thats wrong

Wontonimo: and you make it 4x4 or 10x10 granularity

TobiasA: you can use flood fill in mars lander?:hushed:

michaellan: ah of course

michaellan: what is it with me and not being able to register the fact i can downscale things

Wontonimo: and if the flood fill increments, then you have a distance field from the landing pad

michaellan: yup

michaellan: my visuaslizer is nice though

michaellan: which comforts me

TobiasA: you have a visualizer:0

TobiasA: fancy

Default avatar.png ninjadip: huh

michaellan: its super extensible

michaellan: i wrote it for CvZ

TobiasA: damn

TobiasA: you are really good at coding

michaellan: it crashed my browser when i tried uploading 670k frames though

TobiasA: what language did you use?

michaellan: JS

TobiasA: sheesh

Default avatar.png eggeggwe: well....How I save my program?

Wontonimo: ctrl-c ctrl-v

michaellan: ctrl-c alt-tab ctrl-v

Wontonimo: if it is a multi (bot battle) or a challenge

eulerscheZahl: alt-tab?

Wontonimo: then it saves every time you submit

michaellan: alt tab to go back to text editor

Wontonimo: and for multis if you send to arena it also saves every version in your history (left hand side)

eulerscheZahl: oh, that's usually ALT+2 for me. VS Code on virtual desktop #2

Wontonimo: http://chat.codingame.com/pastebin/33627748-627d-44ae-bd44-6956d539679b

Wontonimo: ^^ example of mars flood fill

Wontonimo: with increment

Default avatar.png eggeggwe: OK,so if I submit my program,I still can continue coding it next I open the program?

michaellan: damn

michaellan: why does that pastebin look so... satisfying to look at

michaellan: do you use a BFS?

michaellan: how do you get all the starting poitns

Wontonimo: no, flood fill

Wontonimo: ??

michaellan: because the input is in the form of lines

TobiasA: wait how does that even work

Wontonimo: you look for the horizontal line

Default avatar.png eggeggwe: oh wait. I got it. Thanks everyone. :D

Wontonimo: you already know how to calculate the landing pad

Wontonimo: what do you mean TobiasA?

TobiasA: last time i checked the height of the mars lander screen was larger than 12

michaellan: i think he chunked them into like 50x50-pixel blocks

michaellan: cuz it doesnt have to be super precise

TobiasA: oh makes sense

TobiasA: but damn that looks clean

michaellan: when you're floodfilling, do you have to cehck for collisions?

michaellan: with the lines

Wontonimo: i wasn't going to paste a 4x4 pixel version ... just too bug

Wontonimo: *big

michaellan: i guess the floodfill is better than distance-along-surface cuz you can get the distance metric even if you dont land in time

Wontonimo: for collision with lines, I used a polygon calculation. I added 3 lines to the surface, left, right, and bottom, such that the surface is a closed polygon

Wontonimo: then there are calculators to check if a point is inside the polygon

**michaellan is not smart enough to understand wontonimo

Wontonimo: another method is to walk along the terrain lines, and fill the grid with -1 (or watever you are using to mean crash) before the flood fill

Wontonimo: if you want a border of safety, then when you are walking along the terrain lines, don't just fill that square, but also fill the squares nearby

michaellan: how do you walk along the terrain lines though

TobiasA: bet it has to do with slope

michaellan: hmm

michaellan: OH

michaellan: you walk from one x to the next x value

TobiasA: not sure

michaellan: and then use the slope

michaellan: to get the approximate y value

TobiasA: yea that's what i was guessing

Default avatar.png JackSepticEyeSpeedISkey: hey could i have some friends?

Default avatar.png JackSepticEyeSpeedISkey: here is my escape room link https://escape.codingame.com/game-session/LMZ-W7m-TvW-jha

Wontonimo: yeah, that's one way to do it xxd

Wontonimo: you have to consider the case of vertical lines, in which case walk the y axis

michaellan: ah

oxydowe: hi, is it possible to prevent font resize in editor panel?

michaellan: wait, theres only gonna be one horizontal line

michaellan: so i think i should just walk y

Wontonimo: and instead of walking 1 x at a time, you cam walk in increments of your grid size

michaellan: this is so complciated

Wontonimo: for best results you want to walk x or y depending on which one has the least slope

Wontonimo: so that you don't skip squares

michaellan: It's *sorta* working https://imgur.com/a/CQABa3F

michaellan: not really

michaellan: i think its my fitness function thats jank

michaellan: i'm worried bc i cant run that many iterations

Wontonimo: nice. mine really improved when i calculated early crash conditions, for example

michaellan: what does that mean

Wontonimo: if 1500 units above the landing pad I know that the lander is descending so fast that it would crash no matter what, then i count it as crashing in the air where it currently is

Wontonimo: doesn't have to be 1500 units, whatever

michaellan: oh interesting

michaellan: would have never thought of that optimization

Wontonimo: otherwise you spend a lot of time searching unrecoverable crashes

michaellan: i'm not sure whether i should store my thrust and angle as floats or ints

michaellan: yeah true

Wontonimo: trying to turn sideways or speed up

Default avatar.png beepbooping: anyone know how a ruby library with the #!ruby thing

Default avatar.png beepbooping: how to import a

michaellan: are you in a shortest-mode clash right now?

Default avatar.png beepbooping: no

michaellan: the sad part is i'm probably still really far from solving ML

Default avatar.png JackSepticEyeSpeedISkey: oh ok

Wontonimo: calling it ML is really confusing. I keep thinking your are talking about Machine Learning.

TobiasA: me too:joy:

MSmits: what does he mean by ML then?

Wontonimo: Mars Lander 2 & 3

MSmits: ohhh ok

Wontonimo: using GA

MSmits: yeah don't call it ML on this chat. Half the time we talk about machine learning here :)

Wontonimo: maybe ML3 or ML23

MSmits: ye

MSmits: hey Wontonimo, I got confirmation today my oware endgame book is correct!

Wontonimo: oh! How did you do that?

jacek: by whom

MSmits: I submitted a normal (non ML) bot using the meta mcts generated book that uses the endgame book. It got 3-2 vs robo on submit

MSmits: and thats because it explores the best paths first

MSmits: aka, Robo's

MSmits: i dont win >50% though, because my bot is weaker on 36 seeds and lower

Wontonimo: why is that?

MSmits: but the fact that it wins and predicts 18 of Robo's moves tells me it's correct

MSmits: because it doesnt have hardcoded moves in the <= 36 region

Wontonimo: ah. is robos a NN ?

MSmits: it's the nr 1 NN, far better than the rest

MSmits: btw, just to be clear, i used no outside information. this is just bruteforce and meta mcts selfplay

MSmits: no counterbooking or some such, the program has no capability for it

Wontonimo: did you submit it?

MSmits: yeah, it's still 10th

MSmits: because it sucks vs weaker players (meta mcts didn't go there)

Wontonimo: ah

MSmits: i am just using this to test if the endgame book is correct though, it's a complicated process to generate it. I was worried about bugs

Wontonimo: my son tells me that fencing is like that. Train too much with the pros and noobs can take you out super easy.

MSmits: well i dont mean actual weak players. I just mean the other NN's :P

MSmits: my bot wrecks all non-NN's

Astrobytes: I only resubmitted oware 'cause martinpapa69 keeps spamming submits and pulling me down :P

martinpapa69: weaklings

Wontonimo: yeah, i know. i wasn't saying everyone else is a noob in Oware

MSmits: Marchete has brought forth a legion of bots that beat me :)

Astrobytes: Nice that it's working MSmits

Wontonimo: excellent, team effort of making you have to adapt

Wontonimo: gotta learn new tricks

MSmits: yeah, I have been putting off working on the NN part. I have no more excuses to put it off now

Astrobytes: Work?

MSmits: another week off :)

Astrobytes: Ah right, my bad

Wontonimo: I thought you had a backyard

Wontonimo: that needed fence posts and stuff

Astrobytes: that was ages ago :D

MSmits: sure, but i have these two big green bins that get emptied every 2 weeks and i fill them in like 1 day

MSmits: so i cant do this all week

MSmits: i cut down some bushes, mow some grass and that's it

MSmits: backyard slowly coming into shape though

Astrobytes: nice

Wontonimo: just gather it into big pile in the middle of the road and burn it. easy peasy

MSmits: yeah, don't think the neighbors will appreciate :)

Wontonimo: i have that same problem

Wontonimo: another way to train a NN is to have a child

Wontonimo: and if it's blond, it will be an ANN

MSmits: yeah

MSmits: artificial blonde ?

Wontonimo: Artificial NN

Wontonimo: okay, not my best joke

**Astrobytes sends a taco

Wontonimo: lol

Wontonimo: (that's me catching it)

Astrobytes: I know it ain't Tuesday but whatever :)

jacek: oO

Wontonimo: you don't know about tuesday Jacek?

Wontonimo: https://www.youtube.com/watch?v=KzbxpzKwDXA

MSmits: it's tuesday in Australia Wontonimo. Just talk to an Australian here on chat while you eat it. That covers it

Astrobytes: lol, awesome Wontonimo

martinpapa69: remembert to write horizontally mirrored letters, so they can read it

martinpapa69: ɐᴉๅɐɹʇsnɐ ɯoɹɟ ǝๅdoǝd oๅๅǝɥ

TobiasA: :joy:

JackSepticEyeSpeedISkey: Hello!!!

Wontonimo: hey JackSeptic

TobiasA: hoi

Wontonimo: Have you tried thing outside of clash of code JackSepticEyeSpeedISkey ?

Wontonimo: we were just talking about mars lander and oware

Wontonimo: https://www.codingame.com/multiplayer/bot-programming/oware-abapa

Wontonimo: https://www.codingame.com/training/medium/mars-lander-episode-2

JackSepticEyeSpeedISkey: can u guys join my escape room?

JackSepticEyeSpeedISkey: https://escape.codingame.com/game-session/syb-0B6-FZQ-Z6I

Wontonimo: no thanks

michaellan: i want to take a break from Mars Lander but on the other hand i don't think i'm too far

michaellan: one question that I keep having is, I have some metric where a higher value is worse, but I want to convert it into a metric where a higher value is better

JackSepticEyeSpeedISkey: im not good at coding yet im bad at the clash of code

michaellan: aka distance -> fitness score

michaellan: i'm not sure what I should use to convert it

michaellan: subtract the original value from a large constant?

michaellan: that's what i'm currently doing but I don't know if it's any good

TobiasA: you can do 1/distance maybe

michaellan: ah true, i didnt think of that

Wontonimo: you can optimize to lower a value

Wontonimo: or to raise a value

michaellan: true but like

michaellan: fuel: more = better; distance more = worse

Wontonimo: used fuel = worse

michaellan: damn smart

Wontonimo: used full + distance = bad

michaellan: I'm gonna probably re-write my mars lander GA from scratch

michaellan: there's just so much cognitive things to keep track of

TobiasA: i feel your struggle

TobiasA: :pray:

michaellan: :pray:

michaellan: i'm using a really suspicious method of finding intersections

michaellan: that i found on Stack overflow

michaellan: using counterclockwise checks

michaellan: WHAT?? Di_masta only needed 400 generations to converge

michaellan: bruh... I am not converging on solution after 10k :rofl:

eulerscheZahl: also depends on the population size

eulerscheZahl: that counterclockwise test for crossings is pretty common

eulerscheZahl: https://github.com/eulerscheZahl/TryAngle-Catch/blob/master/src/main/java/engine/Edge.java#L40

michaellan: coolio

eulerscheZahl: oh, lastweektonight has an IT topic this time

TobiasA: what's lastweektonight?

eulerscheZahl: https://www.youtube.com/watch?v=WqD-ATqw3js

eulerscheZahl: they have a new topic every week and talk about it for 20-25 minutes

eulerscheZahl: recent issues that are sometimes not even that well known

TobiasA: oooh it looks interesting

michaellan: I'm not getting enough dopamine from solving Mars lander, gonna try some other stuff

michaellan: for LoCM, I keep seeing something called ClosestAI/ClosetAI, I'm not sure what that is/where to find it

michaellan: it apparently has the best draft strategy

michaellan: i'm guessing thats a higher-league bot?

eulerscheZahl: closet won the contest

eulerscheZahl: would be first in the multiplayer too but never submitted

TobiasA: "I might as well be a faster idiot":joy:

TobiasA: i like that guy

TobiasA: what is LoCM?

Scarfield: Legends of Code and Magic

reCurse: Locm had significant changes in the multi so it's not clear the contest results are 1:1 /shrug

eulerscheZahl: oh right. i totally forgot about those

eulerscheZahl: just patched my bot so it wouldn't crash and called it a day

michaellan: I didnt see anybody called closet on the leaderboard

reCurse: He didn't submit in multi

eulerscheZahl: https://www.codingame.com/contests/legends-of-code-and-magic-marathon/leaderboard/global

michaellan: i'm looking at the contest leaderboard though

eulerscheZahl: sprint or marathon leaderboard?

michaellan: oh.... what's the difference?

Scarfield: did he share more than his ranking of the cards?

eulerscheZahl: wrote a post mortem

Scarfield: ok kewl

eulerscheZahl: https://www.codingame.com/forum/t/legends-of-code-magic-cc05-feedback-strategies/50996/25

eulerscheZahl: he's still occasionally active on the CG discord

Scarfield: i actually looked at my python code for LoCaM, one of the first multies i tried, damn its ugly xD

eulerscheZahl: the game doesn't deserve a nice bot code

michaellan: D:

eulerscheZahl: i'm biased. i just hated the game

michaellan: luck?

eulerscheZahl: might have been better in a shorter format. doesn't have the strategic depth to keep us busy for long

eulerscheZahl: you end up fighting over tiny differences. and RNG in draft => gameplay order has a heavy impact

Scarfield: i played some Magic back in the day, so i liked the idea of coding something playing a card game, but yea others have been saying the same as you

eulerscheZahl: anyways, good night

Scarfield: :wave:

Default avatar.png Benji-the-scripter: Hi im new

Default avatar.png Benji-the-scripter: cant code so good

Default avatar.png Benji-the-scripter: actually a noob at coding

Scarfield: hi new, im dad

Default avatar.png Benji-the-scripter: lol

Scarfield: how new though, this site kind of assumes you know the very basics. you know for loops and the like=

Default avatar.png Geiler: What should I do if I can't solve a challenge? I can't look at other people's solution because they most likely use a language I don't know

Scarfield: you cant see others solution before you have solved it yourself, but ask a specific question and you might get an answer

Scarfield: chat seems to have been a bit slow lately, so dont expect too much help :/

Default avatar.png Geiler: Alright thanks

Scarfield: what challenge are you having trouble with? :)

Default avatar.png Geiler: Right now I'm not having trouble with anything, last time I couldn't solve the "Inverse a square matrix" problem

Default avatar.png Benji-the-scripter: i cant code =(

Default avatar.png Geiler: I have looked up code on google but I hate reading other people's code

Default avatar.png Geiler: They don't use my style, name their variables single letters

Default avatar.png Benji-the-scripter: im noob

Default avatar.png Benji-the-scripter: call me noob

Scarfield: i dont know the "inverse a square matrix" problem, nothing named that here(?) but there are plenty others to choose from :)

Default avatar.png Benji-the-scripter: i have coding problems =(

Default avatar.png Geiler: Alr, thx tho

michaellan: benji why dont you get to work learning how to code

michaellan: do you write lua for roblox or something?

michaellan: thats the only demographic i know who call themselves "scripters"

Astrobytes: If you're having code problems I feel bad for you son, I got 99 problems and my scripts ain't one

Scarfield: JayZstrobytes xD

Astrobytes: Scarfoncé :D

Scarfield: LOL

Scarfield: put a ring on it

Astrobytes: I can't see your halo

Scarfield: :innocent:

Astrobytes: lol, I got nothin'

Scarfield: i have a big problem.. cant decide which multi to go for after C4

Astrobytes: I've been optimising some of my optims

Scarfield: ooh

Scarfield: i didnt even implement the idea i gave domi ko for marslander myself

Astrobytes: wasn't that quite some time ago?

Scarfield: yup

Astrobytes: lol

Astrobytes: There you go

Scarfield: xD something else caught my attention

Astrobytes: Which is...

Scarfield: not a bad idea, its a nice optim

Astrobytes: *was

Scarfield: the idea?

Astrobytes: No, what distracted you originally

Scarfield: not sure, i have bounced around the multies

Scarfield: mars lander was my first GA, so probably CvZ

Astrobytes: Yeah, I went in on FB after that Spaghetti contest and got legend, then couldn't decide on a multi so went optim

Default avatar.png Maxim251: Hurra D I did achieve mentor ranking :D I am so happy :D

Astrobytes: well done Maxim251!

Scarfield: im not like smits, i am quickly hapy enough with my bot, and move on

Scarfield: :muscle:

Astrobytes: I need to get back to breakthrough at some point, 20th or something there. But I need to do all the official CG multis

Scarfield: oh FB is not a bad choice either, only submitted some super basic stuff

Astrobytes: My bot is fairly basic, just a reflex bot

Scarfield: yea i still have plenty to even start :)

Scarfield: uuu and pcr, i need to make and todo list

Astrobytes: I misplaced mine lol

Astrobytes: Should make another I guess

Scarfield: sad times :(

Scarfield: chess, i forgot about chess

Astrobytes: Arf, yes, I still have to start that

Scarfield: its by far the largest bot i have written so far, and didnt even implement castling or en passant

martinpapa69: codinga chess sim :sleeping:

Scarfield: ye

Astrobytes: It's somewhat 'involved'

Scarfield: i made a local version that you can play against with the console, i want it to be able to beat my friend some day

Astrobytes: nice

Scarfield: yea its fun, untill he castles xD

Astrobytes: lol

Default avatar.png Maxim251: I have question, I am plaing now A*Craft, do I need use tree search? Or use hard coded choices to cgeck which direction will give more points?

Astrobytes: Something like flat Monte Carlo to start with, then simulated annealing or some kind of hill-climbing I think

Astrobytes: You can run those offline to get optimal solutions and then hardcode

Astrobytes: Or just do it online

Default avatar.png Maxim251: second question is about game information, message " 2 8 is a void cell. 15 5 is a void cell. 17 8 is a void cell. "

Default avatar.png Maxim251: that are empty space, then why I have information about that?

Astrobytes: because some maps have empty spaces in them

Astrobytes: So you kinda need to know that so you don't just walk off into space

Default avatar.png Maxim251: O my gosh, Never mind, I know why is printing that

Default avatar.png Maxim251: Is my fold. Because to know what is happenning on game and check rulles in game I did hard coded moves, now I change test case, and map is different, but hard coded moves stays... And game is printing that I try make move on empty space :X

Default avatar.png Maxim251: Sorry... :flushed:

Default avatar.png Maxim251: To day, thinking is not going so well for me :P

Astrobytes: Yeah, that won't work :)

Scarfield: gonna call it a night, cya :)

michaellan: gn

Default avatar.png ADamYuan: LEBRON

Astrobytes: gn Scarfield

Default avatar.png ADamYuan: how do i level up

AllYourTrees: kill a bunch of slimes

michaellan: wow... apparently ClosetAI's draft strategy was dominating

michaellan: did he release it anywhere or must I, too, go download 14GB of his replays :P

michaellan: ah he has a list

michaellan: maybe this list is enough to get me into silver

Default avatar.png ADamYuan: do ppl cheat in this

michaellan: in what

Default avatar.png ADamYuan: clash of code

Default avatar.png ADamYuan: cus some ppl are finishing before i read the question

michaellan: thats like asking do people shoplift the dust on the store shelves

michaellan: yeah thats probably because they are good at scanning the important parts of the input

Swyfti: how do you cheat in clash of code though? contributions are put into codingame daily

Swyfti: its really hard to cheat in coc

michaellan: i think you can write a bot to search up the corresponding contribution and grab the solution code

Swyfti: thats what clash of code bots do lol

TobiasA: i can tell swyfti is speaking from experience

michaellan: mhm

Swyfti: they grab a random solution from the past, and slams it wheither its correct or not

michaellan: oh i meant

michaellan: the actual contribution page

Rob022: use bot code to hax any computer in the world

Swyfti: l love it when the bots submit like 1000+ character solutions in shortest mode and still get it right

michaellan: so theres a 100% chance of it being correct, at least not in shortest mode

michaellan: i'm gonna see if ClosetAI's draft carries me into the next league

Swyfti: good luck

michaellan: i wish there were no items in the game

MSmits: why?

MSmits: with a good algorithm you can pretty much calculate all possible ways to play cards, almost every turn

MSmits: so it's not really limiting you in that way.

michaellan: hmm

MSmits: but of course it requires a lot more coding

MSmits: I think my bot outputs the calculation time it uses.

Default avatar.png ADamYuan: can someone spot the pattern for me input: 3 7 20 output: 1 input: 17 2 1651 output: 34 input: 4 3 5 output:2 input: 1000000000 1000000000 1000000007 output: 49

michaellan: bruh

michaellan: do your own work

Wontonimo: input 3 numbers , output 3 numbers

Wontonimo: oh , no

Wontonimo: sorry

Wontonimo: the patter is

Wontonimo: input 3 numbers, output 1 number !

Wontonimo: there you go!

Default avatar.png ADamYuan: nice man

Wontonimo: no problem!

michaellan: i actually already found it but i wont tell you

Default avatar.png ADamYuan: k

Wontonimo: that's just mean xxd

michaellan: the second case gives it away

michaellan: first and second

Wontonimo: give the person a forgiveness taco

MSmits: https://www.codingame.com/replay/539894159 xxd

MSmits: me: is my turn. en: is enemy turn

**michaellan gives ADamYuan a kid-size taco

MSmits: a sim is a sequence of actions, and it says how much calculation time is used

MSmits: in milliseconds

Wontonimo: that works, it wasn't that mean so i approve the size :D

michaellan: the screen is black for me

michaellan: nvm

BlaiseEbuth: You have a problem with black screens?

MSmits: the trick to searching the space of possible actions is to either use hashing, or to do it like me, which is to say limit the order in which you do things

michaellan: MSmits: do you have N enemy playouts for each of your playouts?

michaellan: are you using minimax or MC

MSmits: it's a sort of minimax, but it's only my turn and then his turn, so depth 2 i guess

MSmits: i assume he has no cards

MSmits: so just his creature attacks

Default avatar.png ADamYuan: ok thanks i see it now

michaellan: does minimax have to consider every permutation of actions?

michaellan: yup understood that part

MSmits: yes, but here's the thing

MSmits: dont search equivalent series of actions

michaellan: how are you only running <10 sims

MSmits: because most series of actions are equivalent

michaellan: ah

michaellan: so hash? i read that eulerscheZahl said he hashed

MSmits: if you attack creature A with B and C, then it doesnt matter if you attack first with B or first with C

MSmits: yes, you can hash, that works fine

MSmits: i didnt know how to hash back then

michaellan: but you cant do something like sort right?

michaellan: wow you've come a long way then

MSmits: yeah

michaellan: since things like breakthrough should attack last

MSmits: exactly yes

michaellan: oh nvm

michaellan: i think thats a bit easier than hashing

MSmits: i just have an inordinate amount of rules to do things in order

MSmits: many many rules

michaellan: DS:

michaellan: D:

MSmits: and exceptions

MSmits: I think maybe i have a PM of this, sec

michaellan: i think the line for me is still fuzzy between minimax and monte carlo sim here

michaellan: are you doing any sort of random playouts for your own side, or only for opponent, or neither?

MSmits: https://www.codingame.com/forum/t/legends-of-code-magic-cc05-feedback-strategies/50996/18

MSmits: read this first. And if you want, any of the other pms

MSmits: i have most of my ordering rules in there

michaellan: thank you

michaellan: whats a pm

MSmits: post mortem

MSmits: summary of your work during contest

MSmits: people who do well are kind of expected to do it and many people also just like to share

michaellan: gotcha. i've read thru a bunch already, but they mostly just raved about closetAI draft :D

MSmits: yeah, I stole it by hand

MSmits: took 4 hrs

MSmits: I just made custom games with only 2 different cards in them and checked which ones he preferred

MSmits: something like that anyways

MSmits: then euler had an automated program to mine it from replays

MSmits: or some such

xxd: mhm, i think kovi also did that too

MSmits: btw, if you're confused by the bit stuff in my pm, ignore that. I had just discovered bitboards and went a little overboard with it

xxd: hmm, you mention "Since they always remove ward (with 1 exception)"

xxd: this doesn't seem to be the case...? did the cardpool change?

MSmits: let me see the context

xxd: heres a bit more copy pasted: http://chat.codingame.com/pastebin/caa82953-2210-484c-8811-63033c5f8e07

reCurse: fwiw he's still overboard with it :P

xxd: we were talking about how you used tritboards on something yesterday

MSmits: reCurse ok ok, I am *less* overboard with it now

MSmits: tritboards on uttt yeah, to have smaller lookup arrays

MSmits: not particularly helpful, but was a fun excercise

MSmits: i still have a little bit of tritboards in my bot i think

xxd: your search is super duper complex

Swyfti: what is a tritboard?

MSmits: instead of 0 and 1 as options, you have 0 and 1 and 2

Swyfti: oh that is useful

MSmits: also expensive to calculate with

Swyfti: i can see why

MSmits: basically you can do a TTT board like this:

xxd: "When I thought of this trick, my required simcount became roughly 20x smaller and calculation time mostly rounded down to 0 ms."

xxd: hah, nice

MSmits: every square can be 0 or 1 or 2

MSmits: 0 = empty

MSmits: so you do board = 0 * 3^0 + 2 * 3^1 + 1* 3^2

Swyfti: that is some calculations right there

xxd: in my current bot i have so many lines of code that try to kill guard enemies with lethal before spamming face

Swyfti: in legends of code and magic?

xxd: do you think i should try MC or go with minimax

MSmits: mc works fine

xxd: this minimax tree and ordering actions seems so complicated

MSmits: euler did mc, his bot was almost equal to mine, he had some bad luck on the final recalc

xxd: ouch

xxd: "My bot uses a minimax, where the moves are generated randomly instead of doing a full search."

xxd: thats... MC right

Swyfti: import java.util.random;

MSmits: yeah but i guess keeping the best result somehow qualifies as it being minimax? I dunno what that was about

MSmits: you can do a staggered mc

MSmits: keeping the best result in every step

MSmits: not really minimax though

xxd: how/when do you evaluate board state

xxd: do you randomly playout along the way

MSmits: i dont

MSmits: mine is full search

xxd: oh i meant

xxd: in a staggered MC

xxd: sorry

reCurse: MC Stagger

MSmits: oh, i guess if you do it staggered, you evaluate right before choosing what to keep

xxd: I'm sorta on my honeymoon with MC/MCTS right now

xxd: ha

MSmits: i am not really that experienced with MC

xxd: okay, so you dont run like N sims on each child

xxd: o

MSmits: I only ever used it once

xxd: darn

xxd: for what?

MSmits: zombies

MSmits: before I hardcoded it

xxd: same! i used MC for that

xxd: ._.

Swyfti: monto carlo tree search?

MSmits: no just monte carlo

MSmits: no tree

Swyfti: no tree

Swyfti: ahhh

MSmits: it's one of the easiest search

xxd: i was wondering if i should also try CvZ with GA

MSmits: but also usually inferior to something else

Swyfti: easier than BFS and DFS?

xxd: apparently euler has never written a GA on codingame

xxd: inferior to what

xxd: something in particular?

MSmits: Swyfti similar

MSmits: depends on the domain

xxd: ah

MSmits: in uttt, mcts is superior

xxd: in the case of CvZ, what would be superior

MSmits: ga is definitely better than plain mc if you do it right

xxd: ooo

xxd: i am just learning GA so i maybe will try it on CvZ

xxd: i have already written simulation etc

MSmits: i never used GA. I tried some SA though

xxd: writing an evaluation/fitness function scares to no end

xxd: scares me*

xxd: ah

MSmits: SA seems cleaner

MSmits: simpler

MSmits: and often works just as well

xxd: thats what i thought too

MSmits: less hyperparams

xxd: but westicles told me its often slower than GA

reCurse: GArbage

xxd: cant argue with that logic

AllYourTrees: MSmits this is unrelated, but do you know of any ways to do MCTS solver where you prune solved nodes but without biasing the q values?

reCurse: Isn't pruning a systematic bias

xxd: you dont remove them

xxd: thats what i read in a apaper

xxd: the solver paper talks about it

AllYourTrees: yeah but i feel like theres something better than what they talk about

AllYourTrees: i feel as if you should be able to not visit solved nodes but still backup their outcomes somehow

Westicles: slow is only an issue with 50ms problems, not offline optims

reCurse: From my experience it doesn't seem necessary at all for win and loss since they are arguably infinity

reCurse: Draws however are still a mystery to me

Wontonimo: why does the evaluation/fitness function scare you so much?

Wontonimo: ^^ xxd

xxd: maybe because i've had bad experiences trying to write such functions for LoCM and mars lander

MSmits: AllYourTrees are you just talking about draws?

MSmits: https://imgur.com/a/IioPYd1

AllYourTrees: well im working on C4 so yes draws, but i kinda feel like it would apply without? like shouldn't a node with 5 proven losses be worse than a node with 3 proven losses (i guess depending on values of other nodes)

MSmits: so if you look at my picture, only backpropagate results from nodes with an average value > 0

reCurse: You already backpropped 5 losses over 3 losses

reCurse: So the bias should already be there

MSmits: no you backpropagate all

MSmits: not just losses or wins

AllYourTrees: but if you're pruning then won't the values of unpruned nodes overwhelm those after a while?

reCurse: Well the loss is very unlikely to picked again

reCurse: And the win terminates the node

reCurse: So it shouldn't really matter

reCurse: Draw is where it's icky

MSmits: my way works because generally we're talking about bad nodes right? With < 0 value

michaellan: :q!

MSmits: you can keep exploring those, without harming the parent value

AllYourTrees: hmm yeah looking at your pic now

michaellan: oops ignore that

MSmits: it will get closer to 0 only

MSmits: because you're backpropping 0

MSmits: until somehow the bad node becomes good

AllYourTrees: are you backpropping max value among siblings?

MSmits: no

MSmits: just either the result, or the 0

MSmits: depending on the average node value of the selected child

MSmits: and only when there's a solved draw sibling

MSmits: so this is an exception

MSmits: a *fix* to reduce the bias

reCurse: I don't understand your pic

xxd: im dumb do you mind giving more context to someone new to solver

MSmits: let me put it into words then

MSmits: there's a parent

MSmits: it has a solved child

MSmits: and x unsolved nodes

MSmits: some of them are bad

MSmits: if they are bad (< 0 value) their sim results are not backpropped

MSmits: but 0 is

MSmits: if they are good nodes, backprop happens as normal

MSmits: including losses

MSmits: so it's not that it only backprops wins or something

reCurse: I'm becoming so scared of uct behavior over time I have no idea how it's going to react

AllYourTrees: lol

reCurse: Every 'smart' mod I did to it resulted in tragedy

MSmits: yeah uct does some whacky stuff

MSmits: anyway, from everything i came up with, this made the most sense to me

MSmits: however, i play no games where this bias even visibly affects my results

reCurse: That's the issue for me, sense is the enemy

michaellan: whats the difference between win/loss and positive/negative value

MSmits: a win or loss is the result of a simulated game in basic mcts

MSmits: an average value is total wins - losses divided by visits

reCurse: The only sense I can make out of it empirically is the same as for solving a game

reCurse: You generally are in the right direction if the number of possibilities decrease

reCurse: UCT sort of does that through average however infuriating the concept is

MSmits: ah right, but that's not even always true. In some games with long narow branches, this performs very poorly

reCurse: In theory

MSmits: i saw this in yavalath

reCurse: In practice it still works better than if you try to account for it

reCurse: Either that or I'm stupid

reCurse: Which is very possible

MSmits: sure

MSmits: yeah most things i try to fix this made it worse also

MSmits: could be because you're easily overcompensating

reCurse: I've plotted mcts behavior and it's very maddening

MSmits: and creating new problems

MSmits: yes, it fluctuates between good and bad moves

MSmits: eventually converging on the good move

MSmits: but more visits may sometimes make it worse

MSmits: this is also true for minimax sometimes. More depth can cause you to pick a worse move

reCurse: No minimax is 100x more sensed

MSmits: but in mcts it's worse I think

MSmits: sure, it's easier to grasp it

MSmits: i agree

MSmits: i mean why it works

reCurse: I keep trying to untangle the concepts of mcts to improve them more easily and it fails

MSmits: you can reason about it

MSmits: same

reCurse: I would like to be able to explore nodes without fucking up the expected value

reCurse: But I can't

reCurse: I don't even understand how the expected value should behave

reCurse: It still makes zero sense to me that a 40k visits node can have average -0.05 below what it should be

reCurse: When 97% of its visits are on one child that has a better average

reCurse: And 3% have terrible evals

reCurse: You *should* be able to get rid of the 3%

reCurse: But nope, you can't

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

AllYourTrees: sounds like you've had some frustrating experiences with MCTS lol

reCurse: It's about as opaque as uttt

reCurse: So they're a match made in heaven

reCurse: It's more about how I read dozens of papers, did dozens of tweaks/improvements and almost all of them resulted in worse or equal performance

Swyfti: is it worth learning mcts?

BlaiseEbuth: No. Just copy/paste it.

MSmits: no, i know exactly what you mean. I stared at meta mcts a lot, which is basically mcts happening 10000x slower. So i see this a lot

Swyfti: i dont even know what it is

Swyfti: how can i copy paste it

Swyfti: its like trying to find something when you dont even know what you are trying to find

BlaiseEbuth: Just copy paste a full solution, don't look what's inside.

BlaiseEbuth: You perhaps already copied a MCTS.

AllYourTrees: from codingame import mcts mcts.play()

reCurse: Can we try not shitting up the chat when there's a good conversation going for once

AllYourTrees: recurse have you tried implementing something that you think would make things worse? :)

reCurse: Hah, I did actually

reCurse: Getting desperate

AllYourTrees: lol

reCurse: So at this point AllYourTrees I'd say just go empirically

AllYourTrees: how many bugs do you think mcts researchers have in their code they use for papers?

reCurse: It's scary actually

AllYourTrees: :scream:

reCurse: Funny you mention that

MSmits: reCurse I think maybe you're expecting more from mcts that what it can give you. You're intuition tells you it should be better, but intuition and stuff related to probability is very poorly matched

reCurse: I was looking at a paper a few days ago

reCurse: Oh, code on github

reCurse: Good, helps me understand something I wasn't clear about

reCurse: And... oh there's a major bug in the exploration part

reCurse: Like no sqrt

reCurse: ...

AllYourTrees: lmao

reCurse: Whole paper is based on those experiments

MSmits: lol...

MSmits: maybe thats why they dont often share the code used

reCurse: That's why I often only use it for inspiration without really caring for results

Default avatar.png JBM: sharing code is bad for your academic career

AllYourTrees: are you sure the original UCT authors meant to put in the sqrt? maybe they accidentally left it in there

reCurse: But for mcts it's been mostly a failure

reCurse: Apart for maybe a few minor things

reCurse: MSmits I really really want to have something closer to thompson sampling work

MSmits: The only enhancements to mcts I use are the solver, rolling out multiple children at once or not using rollouts at all

reCurse: And get rid of UCT for once

reCurse: But no luck so far

MSmits: well I'm glad you tried thomsen sampling, so i dont have to

AllYourTrees: are there "things" other than minimax/alphabeta and mcts? i only know those two main ones

reCurse: I didn't try thompson sampling itself

reCurse: I tried stuff close enough to it

MSmits: ahh ok

reCurse: The idea being to rely on observations to build a more reliable probability distribution

reCurse: And use that to have a more reliable Q

MSmits: AllYourTrees those things you mentioned are umbrellas

reCurse: But it's not working

MSmits: there are many versions of minimax/ab

MSmits: negascout

MSmits: and such

reCurse: It seems to be like gradient descent as in it requires a 'noisy' part to work better

MSmits: reCurse did you try them on equal number of iterations instead of calc time?

MSmits: in that case you may at least see the improvement

AllYourTrees: did you unit test your code?

AllYourTrees: :)

MSmits: from what i noticed with mcts "improvements" is that the performance hit usually kills the gain

reCurse: It's all tied together

MSmits: but if you try it with equal number of iterations you can at least see that it works in principle

reCurse: Assuming equal number of iterations gives better result

AllYourTrees: is there some higher level algorithm that mcts/minimax are some specific version of?

reCurse: Where do I go from there

reCurse: It's like saying a bigger NN on equal iterations works better

reCurse: Great.

MSmits: you could try to optimize. If it doesn't even give better results, you can throw the idea away

reCurse: I usually implement in a way that I'm not going to magically be able to 2x it after

MSmits: well, if you're going to try a bunch of variations on uct that give you small improvements, it helps to at least initially eliminate the performance part.

AllYourTrees: have you tried just deleting your code and creating your own algorithm from scratch? half joking/half serious

AllYourTrees: (thinking back to what msmits said about mcts not able to give you more)

reCurse: I don't see the point

MSmits: this area has been researched to death so if you do find an actual improvement it is a big find

AllYourTrees: isnt it the same point of trying all the little changes?

reCurse: The point of trying all these changes is sort of to go outside of mcts but not inventing something completely new either

reCurse: Because I really don't have more intuition than that

reCurse: I just think the assessment of Q and U would make more sense by building a probability distribution and updating it

reCurse: Instead of averaging a bunch of bad choices

reCurse: That's the basis of thompson sampling as I understand it

reCurse: That way exploring a bad node has almost zero impact on the policy

MSmits: also... doesn't it make more sense to use more advanced things than basic uct when it's not a bottleneck. I would expect some serious gain there while using a NN

MSmits: i mean obviously with a million random rollouts in uttt, any improvement is going to give a serious slowdown, but it shouldn't in your case

reCurse: Not really true

reCurse: I use small networks

MSmits: oh

reCurse: In hopes of gaining better search

MSmits: how many rollouts compared to a non-NN version? x 0.25 ?

reCurse: I have no idea how I'm supposed to answer that

MSmits: i mean, say you replaced with a simple eval

reCurse: Right now my chess bot has 85% of thinking time on NN eval

reCurse: Roughly

MSmits: ah ok

MSmits: yeah then i guess selection can still eat some

MSmits: especially with high branching

reCurse: When you start doing slightly complicated stuff in selection or backprop it shows

MSmits: in a game like oware, it should not matter

reCurse: 30% drop in nodes can be pretty bad so you need pretty good compensation

MSmits: so few moves, selection is super cheap

reCurse: That's what happened when I got fancy with distributions

MSmits: I see

reCurse: Well not 30% more like 50%

reCurse: Anyway

reCurse: Maybe it's better but I couldn't see hope in optimizing it enough

AllYourTrees: with a NN its not really searhc anymore is it? its correcting for the lack of accuracy/training in the NN? not sure if theres a valuable difference between the two

reCurse: NN is very noisy

MSmits: you average out the poor evals

AllYourTrees: like if you train enough/with enough accuracy the search part shouldn't change the policy?

MSmits: some NN evals are bad

reCurse: That's a very idealistic vision

AllYourTrees: :)

reCurse: Imagine a complicated tactical position in chess

reCurse: It would basically have to compute all the tactical variations in the NN to compensate

reCurse: It's extremely difficult

reCurse: But pair it with a simple search to see through the basic results

reCurse: And suddenly it's better

AllYourTrees: still though, with a NN (or some policy) you're just trying to search for something that proves your current policy wrong?

MSmits: it's also going to encounter boards that are somewhat rare in training

reCurse: The NN is better seen as intuition

MSmits: board-types

reCurse: Like 'this should be better'

reCurse: To guide the search

reCurse: Then the search confirms or denies it

AllYourTrees: only confirms on terminal nodes since its using its own value though right?

reCurse: No, UCT confirms it

reCurse: Maybe the root eval is good

reCurse: But search sees you lose a queen in 3

reCurse: Oh, not so good

reCurse: It's unrealistic to expect the NN to see all the possibilities, it just develops a feel for what's good and what's not

AllYourTrees: so it just needs to learn to approximate, and then also how to guide the search such that its error is correct with the search

AllYourTrees: corrected&

AllYourTrees: *

reCurse: That's for training yeah

reCurse: But it won't be perfect so inherently noisy

reCurse: I'm still rather amazed it works in minimax with nnue to be honest

reCurse: Minimax shouldn't be a good match for noisy values

AllYourTrees: yeah i still vote for you trying things that sound good if you think about them for 1 s, but any further thoughts make them seem not good

AllYourTrees: aka uct, nnue + minimax

AllYourTrees: :upside_down:

reCurse: Well trying stuff didn't work so great

reCurse: I mean the baseline is pretty solid

reCurse: Just trying to improve it further when it blunders :/

michaellan: i'm by no means familiar with NN, but is it hard to understand because the process is a black box?

MSmits: not exactly

MSmits: it's just obscure why the NN makes the decision it does

MSmits: but the process is very understandable

reCurse: At this point I find mcts more obscure than nn tbh

michaellan: i see

michaellan: lol, goodness gracious

MSmits: it's like how a biologer understands every part of a cell, but can't build it out of separate parts

reCurse: And this goes all the way back before nn with uttt

Swyfti: programming can be used anywhere

michaellan: huh

Swyfti: okay what forget what i said

michaellan: if there were some hierarchy of AI approaches, would NN be near the top?

michaellan: i feel like the top people often use NNs

reCurse: Use the right tool for the job

Swyfti: "and don't cheat if you want to be respected" - anonymous

michaellan: what cant NN do?

reCurse: Multiply two numbers

TobiasA: damn

michaellan: would NN for LoCM for example not make sense?

MSmits: NN is not a full solution usually. There's usually a lot of components that are also used when a NN is not part of the solution

MSmits: like we're talking about mcts now for a while, which you can do with a NN or without it

michaellan: oh i see

michaellan: sorry if i'm asking dumb questions

MSmits: it's not a dumb question

michaellan: i'm just too tired to code so i'm just listening to your convo

reCurse: Still in the top 5% of this chat

MSmits: NN is usually most of the work and it's a pretty new thing in the field of AI, or at least it got big recently

MSmits: <10 yrs i think?

MSmits: mcts is about 20 yrs and minimax is much much older

michaellan: oh wow

reCurse: Deep learning has a lot of hype so it obviously receives a lot of attention

reCurse: Doesn't mean it's always the best tool

michaellan: i used a NN library once for data science, but i suppose the process looks very different for bot programming and such

AllYourTrees: they've been around for decades, but the compute (and data) has blown up and made them accessible/usable

MSmits: doesnt have to be very different xxd

MSmits: depends on how you use it

MSmits: what i am trying to do with it now is probably very close to it being used in data science

michaellan: after you're done with your offline training, do you have some array like "const weights=[3234,6,26,642,462,...]" or something just squeezed together as tight as possible?

MSmits: if you're doing azero, then yeah, very different

michaellan: *when you submit to CG

AllYourTrees: yep pretty much

MSmits: xxd yeah, for code size reasons usually compressed into a long meaningless string or something

MSmits: or it's sent as a binary

MSmits: 㚟㖖޹ഥ⹍㲶䄸䆸䉦䆳ㆃᾐ䄤䆬䉦㤪䈽⊮ㄬ䈤୳ਠ䆀

michaellan: cool, thanks

MSmits: start of my oware opening book :P

michaellan: lol, nice

TobiasA: that's binary?

michaellan: unicode i think?

MSmits: it's my way of turning moves into unicode yeah

MSmits: I put 5 moves in 1 character

michaellan: darn

TobiasA: eh i think my brain is stalling

TobiasA: why does unicode look like chinese

michaellan: I wish more of the top people would stream so we could see their workflows

michaellan: or like make videos

TobiasA: exactly

michaellan: but i suppose they would be giving away secrets

reCurse: Because mandarin has the most characters

AllYourTrees: have you seen cg zero?

TobiasA: nope

MSmits: for oware it's easy, you have 6 moves and i have 1 possible "move" that just says go up the tree

AllYourTrees: marchete open sourced code to train alpha zero

MSmits: so 7 possible moves

AllYourTrees: https://www.codingame.com/playgrounds/58137/alphazero-like-implementation-for-oware-abapa-game-codingame/alphazero-like-implementation-for-oware-abapa-game

MSmits: a* 7^0 + b*7^1 + c*7^2 .... e * 7^4

MSmits: has a maximum of 16807

MSmits: fits in unicode range

reCurse: Completely useless knowledge outside CG

MSmits: yep

AllYourTrees: not so sure

TobiasA: how do you guys convert to unicode?

AllYourTrees: could be useful for embedded stuff

reCurse: No

MSmits: let me check TobiasA

reCurse: Encoding it this way actually occupies more bytes

reCurse: Counting characters is more of a java thing to do

michaellan: lol

AllYourTrees: turn float into 4 bytes, use base65536 to turn 4 bytes into unicode

reCurse: No, try it and count the bytes

AllYourTrees: oh right cause CG does the weird counting thing

MSmits: TobiasA in this case i originally had a string of numbers of 0 to 5 for oware moves and '}'for going up the tree.

MSmits: http://chat.codingame.com/pastebin/22e3d7a5-c1f4-44e9-9e9f-d245fa8599db

reCurse: bbl

MSmits: this is in C#, me converting to unicode

MSmits: i decode it back to normal in my c++ bot

michaellan: code golf finally coming in useful?

TobiasA: so that function returns the string in mandarin?

michaellan: are you at the point where you need to golf the submitted code

MSmits: TobiasA yes

MSmits: it turns 01345}123}431 etc. to that Mandarin thingy

TobiasA: hmmm that's something i can use to impress my little sister

MSmits: shrinking it by a factor of 5

michaellan: the mandarin? TobiasA

TobiasA: she would go crazy if she sees that:joy:

MSmits: in some bots I somehow get a lot of emotes in the encoded string

MSmits: like a beach chair, or sun

MSmits: or beer

michaellan: yeah my brother recently showed me a encryption strategy he thought of where he rotates the ascii value of each character

michaellan: :clap:

TobiasA: wait what did you say emotes

michaellan: emojis are in unicode

TobiasA: woah this is a whole new level

MSmits: yeah it looks really weird

michaellan: a lot of ppl argue they shouldn't be

michaellan: but i dont have the time nor energy to care

michaellan: there's a "Fast random" class in the CGZero source code, i wonder if it's worth using

michaellan: I'm currently just seeding to high-resolution time and using uniform_(int|real)_distribution

TobiasA: Msmits does is that the format your bot outputs commands or you convert it back?

MSmits: i convert it back

MSmits: have some recursive function for this

MSmits: it's a stored tree of gamestates

TobiasA: oh

MSmits: basically i start at the root

MSmits: first move is the best move from the root

MSmits: then the one after that is the best reply

TobiasA: you store your trees:scream:

TobiasA: what kind of algorithm is that

MSmits: a } sign in the original string means you go back up the tree and try a sibling move thats less good for the purpose of opponent countering

MSmits: well i used to counterbook players, but now i just automatically generate this tree locally

MSmits: it's just for the opening of the game, for fixed start games

TobiasA: oh locally

MSmits: my current oware version has just 818 of these moves

MSmits: but somehow this is enough to often take my game all the way down to 36 seeds on the board vs robo

TobiasA: is robo a bot?

MSmits: and we both seem to play perfectly according to my meta mcts

MSmits: robosta c is a player

MSmits: (nr 1 oware)

TobiasA: oh

MSmits: i stop at 36 seeds as that is where my endgame book begins locally. So my opening doesnt go deeper than that

MSmits: but because his bot is so good, he plays the same lines of play as my locally calculated tree

TobiasA: how does he do his own endgames?

MSmits: my bot is just a normal mcts + eval

MSmits: so it does that when the opening book ends

MSmits: but locally it just does a lookup

MSmits: it makes the search a lot faster

TobiasA: does robo also use an endgame book?

MSmits: dont think so

MSmits: but if you use it ingame, you cant go much further than 9 seeds

MSmits: I think apart from me it's just tric trac doing this, he has 5 or 6 seeds

MSmits: it's helpful though, it means perfect play when you get there

MSmits: these NN's would definitely be stronger if they put some endgame books in

MSmits: it's not really that much code either

TobiasA: tomorrow is going to be the first time i use MCTS

MSmits: that's cool

TobiasA: one small step for me

MSmits: try it on the simplest possible game first

TobiasA: one big step for me kind

MSmits: so you dont bug out on the sim

TobiasA: i've started trying it on uttt

MSmits: yeah uttt is a good way to get something working. The only problem is that the only way to know your bot is doing well is by the rank

MSmits: you cant tell by actual gameplay

MSmits: well unless it's *really* bad

TobiasA: thanks for the advice

MSmits: and unless of course you're a good uttt player yourself

TobiasA: gtg

MSmits: kk cya!

TobiasA: goodnight

YurkovAS: backpropagate 0 when node score < 0 and parent has solved draw?

MSmits: parent has a solved child that is a draw

MSmits: that's a way to reduce bias

MSmits: otherwise you'll continuously explore that bad node and make the parent seem strong than it really is because you're not visiting the drawn child

MSmits: stronger

MSmits: this way you're visiting the bad child, but for the tree above that point, it seems you really visited the drawn node because you're backpropagating 0

MSmits: so you get to explore a bad node, without introducing much bias

MSmits: note: I am not actually using this anywhere on CG. I use it sometimes locally in meta mcts. It doesn't help all that much

YurkovAS: thanks, I will experiment

N-ONE: jjjjjjjjkkkkkkkkkkkkkkkkkjj

Wontonimo: just me and the mods again

michaellan: and me

MSmits: I am waiting for you two to burst into an argument about avocado's vs taco's

reCurse: What about burritos

michaellan: hehe

michaellan: It seems that the official Multis are worth more CodinPoints than the community Multis, is that correct?

MSmits: xxd it depends on the number of players, to a maximum of 500

MSmits: if you're nr 1 in a 500 player game, you get the maximum

MSmits: however, because some games (like csb) have many more players, it's easier to get near the maximum

MSmits: community games don't usually reach 500 players

michaellan: Ah, that makes perfect sense

michaellan: thanks

michaellan: yeah, the equation in the help page is a bit confusing

MSmits: it is, but eventually most players stop caring about cp other than a small carrot to keep going. It's better to pick games you actually like

michaellan: Yeah, fair enough. I just want to estimate how difficult it would be to get grand master, thats my dream

michaellan: but i guess i need to focus on the small things and the CP is the side effect

MSmits: yeah focus on learning new things and apply them where it's fun

MSmits: xxd were you the one that asked about ward in locam earlier?

MSmits: "Since they always remove ward (with 1 exception)"

MSmits: I think there might be one creature that ignores ward?

MSmits: not sure...

michaellan: yeah, that was me; odd. if so i completely missed it

Default avatar.png Conclure: myes

Default avatar.png Conclure: the objectively cool chat

MSmits: no it's not that, there is some other reason for this exception

MSmits: there is an item that just removes guard

MSmits: maybe i was referring to that

MSmits: anyway, gonna go get some sleep. Ttyl

michaellan: im too lazy to look through all the cards

michaellan: gn!

Wontonimo: hey Conclure :wave:

Wontonimo: gn MSmits

Wontonimo: i must have left just before you got back on xxd

Wontonimo: hey, you still haven't fixed your gold CSB bot xxd !

Default avatar.png dkim19375: Is it just me or is shortest so frequent ;-; I got shortest mode 3 times in a row now

michaellan: fixed? Wontonimo

michaellan: i dont see anything wrong with it

michaellan: i never bothered to even code up the two-pods thing

michaellan: i sorta just left it there after i passed silver :P

michaellan: how do you know my gold bot is broken?

Wontonimo: cuz it has a score of 1.14

Wontonimo: hey, have you seen this video about Artificial Evolution / GA xxd https://www.youtube.com/watch?v=wL7tSgUpy8w

michaellan: hmm

Wontonimo: mmh?

michaellan: so if i understand correctly, the model he's training is trained only to work on that map right?

michaellan: oh thats the top comment's question

Wontonimo: yeah, i think so. now take a look at this GA which isn't learning moves, but learning the NN values https://www.youtube.com/watch?v=gnfkfUQvKDw

Wontonimo: ^^ I don't understand a thing this guy says but the video pretty much explains the whole thing and process

Wontonimo: he uses flood fill ;)

michaellan: the video is making me dizzy

michaellan: flood fill is nice

michaellan: i'm gonna try writing fitness func for mars again

Wontonimo: maybe your mutation function wasn't aggressive enough

michaellan: i think if i do the distance correctly i will be very close

michaellan: that is my gut feeling

michaellan: may i ask what size "chunks" you used for your floodfill?

michaellan: I think i'll try 50x50 first

Wontonimo: i'll look

michaellan: *another one of a gazillion hyperparameters to tune*

Wontonimo: 50

michaellan: nice

Wontonimo: wow

Wontonimo: nice call

Wontonimo: another thing to add to the fitness is landing / crashing velocity. All speed when crashing should count against the fitness

Wontonimo: hitting the landing pad at mach ridiculous should count against fitness

Wontonimo: I also tend to create a few "seeds" in a GA. Like a soft bank left, right, straight up, and drop for all time steps.

michaellan: yup, i incorpoarate speed currently

michaellan: hmm

michaellan: that sounds very difficult

michaellan: i will keep that in mind but not do that for now

michaellan: im wondering if i should use some variant on (1 / speed) or like (50 - speed)

Wontonimo: okay, as far as "difficult", let's compare it to the mutate and random functions

Wontonimo: lets say you make a function fill(degrees,thrust) which fills/makes a Genome with just that amount of degrees and thrust

Wontonimo: in your while(enough time) loop where you explore and mutate genomes,

michaellan: yeah but like what *is* a soft bank

Wontonimo: 15 degrees

michaellan: i'm unfamiliar with any of the particular physics that may accompany this

michaellan: oh

Wontonimo: 15 degrees is soft, with thrust 4

michaellan: what does "for all time steps" mean

michaellan: man i have so many questions for Di_masta but i can't reach him

Wontonimo: if your genome is the actions your lander will take for the next 20 time steps, then it is 2 lists,

Wontonimo: int thrust[20]

Wontonimo: and

Wontonimo: int angle[20]

Wontonimo: for 1 genome

michaellan: each gene in my chromosome/genome currently corresponds to 1 time step

michaellan: should i change that

michaellan: I was wondering how one could get away with a genome of length 40 when each run is normally 100+ steps...

Wontonimo: sure, you could do it struct Gene { int thrust; int angle }

struct Genome { Gene genes[20] }

Wontonimo: you could make the gene anything you want. for example, it could have a third item after thrust and angle which is repeats, which means to repeat that instructions X many times

Wontonimo: then your genome of length 20 could get your pod to 100 steps

Wontonimo: but you don't need it to do all 100 steps in one go

Wontonimo: at the end of the turn, your lander moves one turn, and you advance all the genomes 1 time step, and recalculate

michaellan: I'm somehow segfaulting before I can print something out in the first line of int main()

michaellan: i think higher powers are telling me to stop doing mars lander

Wontonimo: cool

Wontonimo: i took a break from it for a couple weeks before finishing it

michaellan: my code looks sorta nice though, I put these nice comments everywhere

reCurse: // Nice!

michaellan: lolz

Wontonimo: gn all

Wontonimo: xxd , don't dream about programming GA

RightHandElf: design a GA to dream about GAs for you

Gameonn: Checkout it once, worth 5mins of your valuable time https://medium.com/@jindal.ankit89/just-9-tasks-per-day-can-change-your-life-forever-1bbceb220d91

KamadoTanjiro: help

xxd: You've literally sent this same link before

xxd: how degenerate can you get Gameonn

michaellan: ohhhh... segfaulting before main = too much data on the stack

michaellan: RIP

michaellan: i'm super confused still

michaellan: omg... GNU g++ gives better error messages than clang++, shocker

RightHandElf: lmao, I decided to do Mars Lander 1 in every language for easy xp and now I'm not allowed to submit for a few minutes

hornymineta: yoyoyoyoyoy

hornymineta: yoyoyooyoyoy

hornymineta: whoooooooo

ProCoder03: is there any starter kit kinda sample for UTTT bronze ???

Default avatar.png super_girl_coder: hi

michaellan: I've been tempted to do the every-language thing for the achievements but i've held off for now

michaellan: theres more interesting things to pursue

RightHandElf: I just wanna get past the "get level 20" thing in the achievement tree

michaellan: do that by solving puzzles

michaellan: much more worthwhile

michaellan: though it may take longer

RightHandElf: technically, I *was* solving it

RightHandElf: it was just one puzzle being solved the same way

xxd: bruh

xxd: ProCoder0: what do you mean by starter kit?

Westicles: RightHandElf, that's how it starts out, just going after achievements. Then the sickness creeps in...

Westicles: https://chadok.info/codingame/players_puzzles.php?level=medium&commu=1&player=3354337&update=0

xxd: holy crud

xxd: that is some commitment

xxd: Escaping the cat: 0 ;)

RightHandElf: you missed "escaping the cat"

Westicles: heh heh, yeah I never liked trig much

Westicles: someday I will get that bored...

RightHandElf: on the one hand, basically any problem other than "mars lander 1" will probably require more than copying and pasting a single line with a one character difference

RightHandElf: on the other hand, the website probably won't think I'm a bot

xxd: mars lander 1 isnt even the easiest

RightHandElf: it requires absolutely zero familiarity with the language you're using tho

xxd: the thing is like with some languages, you need different approaches

xxd: like i have haskell in mind but surely theres some others

RightHandElf: maybe we have different solutions to mars lander 1

xxd: mine is an if-else

RightHandElf: I used that for some languages until I realized that it doesn't need to be synced to the inputs

xxd: what do you mean?

RightHandElf: so I just copied the default "print('0 3')" and pasted it as "print('0 4')"

xxd: i dont get what you mean

xxd: so you just output everythign at once?

RightHandElf: you can just output '0 3' and '0 4' alternating and it'll work

xxd: lol

RightHandElf: you'll get a warning message about being out of sync but it works

xxd: these are all symptoms that you need to find something better to do

RightHandElf: and if it didn't, just copy and paste the input lines

xxd: i like having few languages used

RightHandElf: I will say that my original version in python used bitwise negation to swap a variable 'a' between 0 and -1 with print(0,4+a) as the output

RightHandElf: but I didn't think that'd work well in bash

xxd: lol

xxd: you can just

xxd: tr it

xxd: tr/34/43

Westicles: It is nice seeing people's solutions in all languages. Even the clojure weirdos

xxd: my floodfill thingy: https://pasteboard.co/KgfwbDB.png

xxd: (or at least the first step of floodfill); thanks wontonimo!