Chat:World/2022-02-03

From CG community
Jump to navigation Jump to search

YCSVenom: how can i check back my recent clashes

YCSVenom: so i can solve them comfortably without time

5DN1L: Search here, YCSVenom https://eulerschezahl.herokuapp.com/codingame/puzzles/

5DN1L: No way to look for just the ones you had in clashes though

V1kt0rCZ: Hello

YCSVenom: that's really cool thanks bro

5DN1L: :)

Default avatar.png dodek: wasup

Aymend: Hey

iLikeHoney: there should be a button that leads you directly to the next puzzle without going back to the puzzles list

5DN1L: There is no "next" puzzle to speak of. You can choose whatever puzzle you want to solve in whatever order

iLikeHoney: there is a default order tho. So far I solved the puzzles in the order they were given to me

5DN1L: What default order?

iLikeHoney: the tutorial one, the mountains, the thor ragnarok, the temperature

iLikeHoney: now I m at the mars lander

5DN1L: That is not a default order... that is just the usual order...

5DN1L: and even those can be solved in any order

iLikeHoney: I know, I know

iLikeHoney: so there is a order :relieved:

5DN1L: any order isn't an order, but i'll stop here

iLikeHoney: i was referring to the 'usual order', but I'll stop here too

5DN1L: Automaton2000 give me an order

Default avatar.png Automaton2000: you can check the forum

5DN1L: good idea

Default avatar.png CAL22: what's boy ?????

Default avatar.png CAL22: my mother is hot

VictorSaucisson: I agree

5DN1L: your spam is unwelcome

5DN1L: you're warned

5DN1L: CAL22

VictorSaucisson: when ?

Default avatar.png CAL22: sory it's my friends

5DN1L: no excuse

5DN1L: next time you're kicked

Default avatar.png CAL22: ah yes

Default avatar.png xxXDeveloperXxx: Lol

Default avatar.png CAL22: ok

YCSVenom: is "Better than >99%" is the most that you can get from skill test?

5DN1L: Your suggestion is...?

YCSVenom: i mean is there 100%?

[CG]Thibaud: no

iLikeHoney: the most you can get is to solve the entire test

YCSVenom: i solved all correctly

YCSVenom: it*

iLikeHoney: than that's all that matters

iLikeHoney: congrats

iLikeHoney: then*

YCSVenom: thanks

One-Six: I think I finally completely understood how Lua's file:read() behaves

5DN1L: Oh, One-Six, what have you discovered?

One-Six: I've been using io.read('n') to quickly read a number; but, if after that line of number are lines of input data, and I simply use io.read() again, I always got a empty line first before I got the rest of the data

5DN1L: ah ok

One-Six: I overlooked the fact that when reading only a number, Lua will just stop the "cursor" immediately after the end of number, before the newline character

One-Six: thus resulting in that extra unwanted newline

5DN1L: but if all the lines contain just numbers, would that still read unwanted newlines?

One-Six: lemme check

One-Six: I know Lua is assume the number may have spaces around them, I think it will treat newlines as whitespaces and ignore them if it's all numbers

5DN1L: yup, i think that's how it works

One-Six: yep, looks like it

One-Six: but if I need to read string after numbers, I should've done number=io.read('n','l') to read and discard that extra newline

One-Six: now, last time I got stumped by this, I tried io.read('nl') in desperation and somehow that worked that one time....??? Now that I tested this in isolation, looks like 'nl' behave exactly like 'n'

5DN1L: haha interesting

One-Six: 'nl' isn't legal by the official reference manual anyway though, so I will just assume it's some undocumented quirkiness

lunarfirefly: :grin:

lunarfirefly: is this webchat cross-connected to the discord server?

lunarfirefly: :o

Default avatar.png ifDevequaltrue: No it isn't.

ycsvenom: why am i receiving the skill test result on my old email even though i have changed it before the skill test!?

5DN1L: [CG]Thibaud may be able to answer you

ycsvenom: is he around?

ycsvenom: or i should get to him?

5DN1L: He seems to be online

Default avatar.png Armia_Evil: :hamburger:

Yourjs: hi I am ujjwal panchware from india

DCVolo: Hi, how do i disable the IDE "local popup help frame" ?

DCVolo: (the hover thing)

5DN1L: Not sure what you refer to. What does it say?

DCVolo: the inner frame from CG IDE that is shown only when i hover my mouse over a function , variable etc

5DN1L: Look for SETTINGS on the left hand side of the IDE page

5DN1L: then maybe adjusting the Editor configuration there may help

DCVolo: it's too often misplaced, instead of being on top of the variable function, it's placed based on the cursor and so most of the time i can't access my code and click on that frame :/

DCVolo: already took a look at that, there is nothing about this

5DN1L: change editor.hover.enabled to False?

DCVolo: I didnt have that line yet, seems to be working fine, thank you ! :)

5DN1L: oh great :D

H7KZ: hey i missed you 5DN1L

H7KZ: are you there?

5DN1L: don't miss me.

5DN1L: just be good.

H7KZ: Oh I do miss you

H7KZ: I will ask my teacher if we can play :) uwu

5DN1L: play a clash, don't play in the chatroom

H7KZ: why couldnt we

H7KZ: :(

H7KZ: you mean

5DN1L: this is not a playroom

5DN1L: this is a chatroom

H7KZ: you are right, we are not playing.. we are chatting

H7KZ: why are you so mad

5DN1L: i'm too busy to chat with you.

5DN1L: You behave well

5DN1L: No disruption, then all's fine

H7KZ: you can trust me ;) uwu

Default avatar.png Big.Tom: suii

Default avatar.png Big.Tom: suiiii

BadBurger: not that awsome at math, is atan2 what i want if i want to know what angle point2 is to point1?

BadBurger: or atan2*pi

BadBurger: no thats not it

5DN1L: Try testing the function with some pairs of (delta_x, delta_y) to see if it fits your purpose

5DN1L: note that atan2 outputs radians, not degrees

Fasader: don't you need 3 points to get an angle?

5DN1L: i think he means the angle of the direction

BadBurger: yeah angle of direction

BadBurger: trying this but.. somethings is off

BadBurger: var dx = (ship.x - landing_pad_locations[0][0])

   var dy = (ship.y - landing_pad_locations[0][1])
   var ang = Math.atan2(dy, dx) * 180 / 3.1415

BadBurger: ah, it didnt pastebin it.

5DN1L: i think you need at least 5 lines to pastebin

5DN1L: what's off?

BadBurger: trying to draw a line on that angle but it misses target. maybe my drawline is off

BadBurger: this is the code to draw line from mars lander to landingpad, im doing a graphic sim

BadBurger: http://chat.codingame.com/pastebin/09ef8da9-31d0-4c28-96c3-6d2cc4bcd332

DaNinja: dx = targetx - shipx

5DN1L: Why use 3.1415 on one hand and Math.PI on the other hand?

BadBurger: i changed it to check if its faster

BadBurger: thx daninja, il try that

DaNinja: x = cos(a) * r; y = sin(a) * r

BadBurger: this code, gives me x: -5928 y: -920

BadBurger: and landing pad location = 4000, 150, 5500, 150

BadBurger: http://chat.codingame.com/pastebin/812b259b-3cdd-4290-a72a-ff422b788b9a

DaNinja: dont convert atan2 to degrees, leave it as radians

BadBurger: dam i should have paid attention math in school.

BadBurger: yay it worked, thx

DaNinja: cool

Elena.: Hey, does anyone know how to make this any shorter?

Elena.: http://chat.codingame.com/pastebin/2656179b-c78b-45f9-8ae2-d7b975ea5406

struct: https://clemg.github.io/pythongolfer/

Elena.: Invalid syntax ;/

Elena.: and unexpected EOF

jacek: oO

WhaIe: @Elena. Instead of list(z()), you can write [*z()]

struct: oh no idea then

Elena.: @Whale Thanks ^^

Elena.: @struct it does seem to work in my IDE but not in codingame

Elena.: I managed to fix it by doing what @Whale suggested and then putting it through Python Golfer again lol

Elena.: Thanks for the help ^^

jacek: maybe it created unreadable unicode char

Wontonimo: Whale, that list conversion is a new one. totally makes sense but i've never seen it before

5DN1L: https://medium.com/understand-the-python/understanding-the-asterisk-of-python-8b9daaa4a558

5DN1L: I use the * too. For example, answer = [], then put all the required output in it, and finally print(*answer)

5DN1L: then there's your output with spaces in between each item

5DN1L: print(*[4, 5, 6]) => 4 5 6

Elena.: That's how I usually use it too. Haven't used it to unpack a generator

Elena.: quite neat

5DN1L: yup

Wontonimo: the #clash channel has seen more usage ;) that's cool

5DN1L: nice

Wontonimo: my world chat bot went offline last night once my server (personal laptop) went to sleep.

struct: you have a chat bot?

5DN1L: yes, see it in action #wontotest (it's working in this channel too)

struct: whats the bot name? maybe its still offline

5DN1L: the automated reply comes from Wontonimo's account

5DN1L: it's not a separate account

struct: I need to ping him then?

BlaiseEbuth: Mean that the bot can kick/ban... :scream:

struct: ah its a moderator bot

5DN1L: yup

5DN1L: now responding to clash links only

Killuaa: what script behind u,bot?

Astrobytes: nice bot, I approve

Astrobytes: does it warn and kick on repeat offences?

5DN1L: Not yet I think. More features to be added :D

Astrobytes: Cool. Very handy :)

5DN1L: :thumbsup: to Wontonimo

Astrobytes: For sure. Nice work.

Astrobytes: also, hi everyone

Astrobytes: struct: how are you getting on with the derivatives?

struct: im restarting now

Astrobytes: cool, get some rest?

struct: yes

Astrobytes: nice one. I think you'll be fine with it.

struct: yeah it doesnt seem like hard math

struct: you jsut need to undertand it

Astrobytes: It's easier than it looks

BlaiseEbuth: f and f' are on boat, f fall in the water, what does f'?

ninjadip: fall out of water

ninjadip: or float/fly up

ninjadip: is the compliment to it's x,y,z or to it's state? like does the opposite become drier if one is wet? or just move opposite

BlaiseEbuth: Oo

BlaiseEbuth: f and f' are on boat, f fall in the water, what does f'? -> It derives

Astrobytes: :door:

**BlaiseEbuth is already far away...

Astrobytes: lol

electrogiant: hello

ninjadip: heller

electrogiant: if i dont get the answer to a clash of code how do I find it out ?

ninjadip: pray

electrogiant: :sob:

struct: https://eulerschezahl.herokuapp.com/codingame/puzzles/

ninjadip: thought your name said electrojoint at first with my terrible eyes

ninjadip: does anyone hard a hard time knowing when a problem is "naturally recursive" ?

ninjadip: have a hard time..*

Wontonimo: like what?

struct: what is naturally recurisve?

ninjadip: some video i was watching about when to use recursive functions, it said when the problem is naturally recursive

ninjadip: something about if the work can be split naturally

ninjadip: without it looking forced

ninjadip: that's when to use recursion vs iteration

ninjadip: just have a hard time thinking what's naturally recursive

therealbeef: fractals?

ninjadip: or when to use a recursive solution vs iteration. as i've only done recursion once or twice as an example in class

ninjadip: in relation to coding problems therealbeef, not anything

ninjadip: is there any advice anyone can offer on when to use them? or not

therealbeef: depth first search

Astrobytes: I guess if you're using a stack in an iterative process you can use recursion if you have the stack space and time isn't a problem

ninjadip: recursion doesn't equal more processing time per se

Astrobytes: I meant in terms of time complexity, sortry

Astrobytes: *sorry

BlaiseEbuth: Use recursion when you need to explore parallel possibilities with different evolution of the same initial values. aka a tree

Astrobytes: I don't think I ever heard the term 'naturally recursive'

ninjadip: ah

ninjadip: ty BlaiseEbuth

ninjadip: that makes sense

ninjadip: so anything tree like, or with in depth permutations

ninjadip: Astrobytes time to code should be less if you are using the right one. I had this crazy long iteration function in tic tac toe, now in recursion it's 1/10 of the size

Astrobytes: time as a function of input size, I mean

Astrobytes: the recursive code will indeed be shorter, that's another good reason to use it if you have the stack space

helpmefindaname: is there a way to play a clash again (in a sandbox mode/alone) after you saw it online?

darkhorse64: something is natural when you don't know how to explain or justify it

ninjadip: hm

5DN1L: helpmefindaname Search here: https://eulerschezahl.herokuapp.com/codingame/puzzles/

Wontonimo: +1 darkhorse64

helpmefindaname: thank you

darkhorse64: It was the favorite word for one of our "Président de la République". Everytime he said something dubious, it was "natural"

darkhorse64: he was saying ... Poor English

ninjadip: sounds more like unnatural lol

Astrobytes: which one? When I hear 'dubious' I think Sarkozy

darkhorse64: Chirac

Astrobytes: lol, not much better

jacek: oh my https://i.redd.it/nsuxcsijxkf81.jpg

Astrobytes: oh dear

darkhorse64: :rofl:

Wontonimo: love it. there's a good message there

Astrobytes: Yep. You can build anything with lego, not just the model on the box

Astrobytes: :P

Wontonimo: ninjadip , all recursion can be converted into a loop with a stack or queue

Astrobytes: ^ what I said earlier in a less succinct way

ninjadip: Wontonimo i know that they are interchangeable, was asking more when to use one vs the other and i think i got it. just to use it more to have it as a viable option for me against future problems

ninjadip: i heard it makes nearly identical machine code,

Wontonimo: i maybe use recursion too much. personally i like it for problems that are a loop with stack management.

Wontonimo: idk about that

struct: I never use recursion

Wontonimo: recursion will use "The Stack"

jacek: even for minimax?

ninjadip: just waht some youtuber said

struct: i dont use miimax

struct: minimax

Wontonimo: which is way smaller than allocatiing a stack

Astrobytes: ^ hence my "if you have enough stack space" comment

Astrobytes: recursion is nice on paper

Astrobytes: and quite elegant at times in practice

ninjadip: and sometimes very nice in code too

Astrobytes: yep

ninjadip: that's what i was trying to say ealier, if the code looks natural in a recursion then it's a good fit

ninjadip: is what i had gathered from this video

ninjadip: if it looks forced you should be using iteration and vice versa

ninjadip: if you are using iteration and using a recursion style solving process you're code will reflect that

struct: I guess thats why he mentioned natural

Wontonimo: for this problem https://www.codingame.com/ide/puzzle/paving-with-bricks

Wontonimo: i started with recursion

Wontonimo: bad mistake

Wontonimo: switched to a stack with a loop and it was way faster

Wontonimo: and looks cleaner tbh

Wontonimo: breaking out of a loop is faster than breaking out of a deep recursion

Astrobytes: if time complexity and stack size isn't an issue it's fine to use recursion, otherwise don't - even if it seems a good fit (unless it's a pre-set exercise you have to do)

ninjadip: can someone help me explain the first line of output on this?

ninjadip: http://chat.codingame.com/pastebin/e70d0198-98ac-49a3-9677-c98d0c7ec368

ninjadip: http://chat.codingame.com/pastebin/92b52d32-cb89-4282-97ff-bb7d8758207e

ninjadip: trying to figure out that first line of output as 0, instead of 100 000 000

ninjadip: duh i think i see it

ninjadip: too big for container

ninjadip: /data type

Astrobytes: hm?

ninjadip: tryin to set this uint16_t to 0b100 000 000 and i'm getting 0

Astrobytes: ah

ninjadip: i thought it was big enough for that

struct: because you are only showing 8 bits?

struct: ah

struct: didnt read everything

struct: sorry

Astrobytes: well, that is correct struct

Astrobytes: as in it won't show 0

Astrobytes: (when you use bitset<16>)

[CG]Thibaud: hey Astro, struct and others

struct: hi

[CG]Thibaud: shared this earlier in #fr, the Spring Challenge 2022 will take place at the end of April and will be an AI challenge

struct: o.o

struct: nice

[CG]Thibaud: official comm will happen when the artwork is ready

struct: feel free to contact me if you need a tester

Astrobytes: :tada:

Astrobytes: Hi Thibaud

Astrobytes: that's great to hear, thanks :)

[CG]Thibaud: A new hope :grin:

Astrobytes: hehehehe

darkhorse64: is this a clue ? :angel:

darkhorse64: just kidding

Magus: The next theme will be star wars !

Magus: Oh wait, they can't anymore

Astrobytes: :P

darkhorse64: valerian & laureline is cheaper

Astrobytes: Space Fights

therealbeef: mad space cowboys

struct: oh it will be 3D

Astrobytes: that would be interesting

**Magus thinks about his Firefox dying with a 2d viewer ...

Magus: Yeah ... 3d would be interesting

Astrobytes: lol right

Magus: Firefox will finally lives up to his name and really be on fire

Astrobytes: :D

struct: finally some good news

struct: We need to bring back euler

Astrobytes: I've passed the message on

struct: :thumbsup:

MeDev: it doesn't fit to bitset<8>

Wontonimo: wow, thanks for the heads up [CG]Thibaud !

jacek: phew

struct: jacek rank 1 next contest

jacek: in 1 submit

struct: or delete

Default avatar.png Jackalattack777: sup

Wontonimo: and if you do get it in 1 submit, you have to make a long winded explination about how you are taking a long break

struct: im already training my NN for next contest

struct: gl

jacek: GGP NN?

darkhorse64: muzero NN

struct: it will be knighttrough to follow the breakthrough success

darkhorse64: not sure you will get as many players although it should not be hard to write a bot for it

struct: its a copy paste basicly

darkhorse64: but you need a new eval

darkhorse64: ?

struct: my bt eval is mediocre

struct: I could probably just eval the material and get away with it

darkhorse64: 12th when I am 25th not too bad

struct: do you use mcts there darkhorse64?

struct: my bot only does well because it solves quite early

darkhorse64: mcts-ept

darkhorse64: I should use the early win code you posted

struct: did you save it?

darkhorse64: :wink:

struct: I would share it again if it was needed :p

struct: im sure there is some stuff that can be done to check wins from 5th row but its not trivial

Default avatar.png JoeZhang123: Chat sectionkj,,bvmfhyyyyyytgbnjhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvnhgvbnhgvbnhgvvvvvvvvvvvvvvhgvbhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvbnhgvvhvvhvhvhvvhvhvvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvvhvhvhvvhvhvhvhvhvhvhvhvhvvvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvhvvvhvhvhvhvhvhvhvhvhvvhvhvhvhvh

5DN1L: no spam please

5DN1L: you're warned, JoeZhang123

5DN1L: next time you spam you'll be kicked out

Default avatar.png JoeZhang123: Sorry. I was just playing around and accidentally hit enter. It wont happen again

Lambert_W_Function: good morning people

BadBurger: marslander, how would a math expression look that calculated how many steps it would take to slow the ship down? adding it to score evaluate

Wontonimo: for mars 1 ?

BadBurger: i can only sim it but it seems like a waste of processing time

BadBurger: ....no

Wontonimo: so, what do you want to calculate exactly?

Wontonimo: slow down in the Y direction ?

Wontonimo: to a stop?

BadBurger: im working on marslander 3, gave up on it couple years ago, but got back into programming here

Wontonimo: yeah, mars 3 was hard for me. took a month

BadBurger: yeah, to calc my speed, and gravity, and how many steps it would be required to stop with thrust 4

Wontonimo: there is physics for that V^2 = 2aS

Wontonimo: where V is velocity a is acceleration S is distance

Wontonimo: solving for S, is V^2 / 2a

BadBurger: thx

Wontonimo: and since at most you can apply 4-3.711 m/s acceleration

Wontonimo: it is S = V^2 / (2*(4-3.711))

Wontonimo: in the Y direction only

Wontonimo: if your angle is Zero

Wontonimo: that doesn't give time

eulerscheZahl: struct 04:58PM finally some good news We need to bring back euler

BadBurger: nice, thx, yeah Y only is enough, im adding this to score eval, so if its impossible to land safely, it discards that sim instance

eulerscheZahl: i've spotted a toad signal

BadBurger: hi euler, long time ago, i see you have not got bored yet :D

emh: I wish there was an optimization puzzle for approximately calculating the number of maximal independent sets in a graph. and I wish to possess the #1 solution :) . probably a randomized algorithm

Wontonimo: if you want to solve for time then the formula to use is S = 1/2at^2 + vt and solve for t

Wontonimo: make the puzzle emh and they will come

eulerscheZahl: hi BadBurger, actually i did. haven't coded a bot since the last contest

emh: Wontonimo hehe. not sure I have the energy. at least right now

BadBurger: thx for your help wontonimo

BadBurger: okay, about contests, anyone know when the next starts? they used to be blast, but only for a fresh one,

Wontonimo: the Spring Challenge 2022 will take place at the end of April and will be an AI challenge

Wontonimo: posted early today by Thibaud

BadBurger: ai challenge as in controlling a bot or something im not good enough to join? :D

BadBurger: like machine learning

jacek: like multiplayer game

BadBurger: ah yeah, those were fun as h.. last contest i played, i think it was the cars that needed to suck oil

eulerscheZahl: that was in 2018

eulerscheZahl: mean max

eulerscheZahl: is it still mean max?

BadBurger: yeah, it was awesome, i remember you there euler, and the russian.

eulerscheZahl: recar did well, we were in the lead for a while

eulerscheZahl: then the other overtook

eulerscheZahl: https://www.codingame.com/contests/hypersonic since when can we see the contest announcements again?

struct: hi euler

eulerscheZahl: hi tobou

struct: wdym by contest announcements?

eulerscheZahl: did you click my link? it's the full contest page with prizes and all

struct: it was always visible?

eulerscheZahl: oh, took me just shy of 6 years to spot that

jacek: :older_man:

eulerscheZahl: astro just told me about a clash moderation bot, now I want to see it in action. https://www.codingame.com/clashofcode/clash/220680522ec6f1b70a1d7ad95395ef9d5fc2326

wontonimo: [automated] hey eulerscheZahl, dont paste those links here. Use the channel #clash

eulerscheZahl: :D

eulerscheZahl: now add a counter to detect repeated violations

struct: watchout 2nd time is a ban

eulerscheZahl: let me see

eulerscheZahl: https://www.codingame.com/clashofcode/clash/220680522ec6f1b70a1d7ad95395ef9d5fc2326

struct: ;D

wontonimo: [automated] hey eulerscheZahl, dont paste those links here. Use the channel #clash

eulerscheZahl: oh

eulerscheZahl: you lied to me

**struct bans euler

eulerscheZahl: go ahead. next time i'm online, the chat will have been rebooted

struct: lol

struct: the bot will have a ban list

struct: and ban everyone once it joins

Rebollo: Guys someone mentioned here in the chat that I was allocating the node one-by-one and it would be better to allocate man at the same time..

Rebollo: But I dindt get how to do that

Rebollo: I dont remember aalso who told me that

struct: do you want to allocate all at the same time?

eulerscheZahl: big static array?

eulerscheZahl: "allocate man" are you playing 9 men's morris?

Rebollo: Its a tree where I am controlling the possible paths of golf balls to the holes

struct: struct Tree { Node* nodes; }; Node* Tree::nodes = new Node[46'000'000]();

struct: a wait

struct: I forgot static

struct: struct Tree { static Node* nodes; }; Node* Tree::nodes = new Node[46'000'000]();

eulerscheZahl: is that ' in the number valid code now?

struct: yes

eulerscheZahl: interesting. I know about _ in other languages

Rebollo: why ou choose this number?

Rebollo: 46'000'000

eulerscheZahl: are you trolling me again?

Astrobytes: and it's encouraged to make use of the '

struct: im not euler

struct: Rebollo its the max number of nodes I can allocate

jacek: trolling? who? Automaton2000?

struct: or close to it due to ram size

Default avatar.png Automaton2000: you will love it have a good evening

eulerscheZahl: that's for chars. C++ re-purposing things again

struct: also works like this 0b'000'000'000

struct: I think

eulerscheZahl: https://koukia.ca/digit-separators-in-c-7-0-8280b5317fdf

eulerscheZahl: that's what I know from C#

Rebollo: And insnt it a memory wast if I am not using all of them?

Astrobytes: it does struct, yes

struct: well i dont know if i will use all of it

struct: yeah but the ' cant be right after the b

struct: I just tried to be sure

Rebollo: AAnd where this limit number come from?

struct: 768MB

struct: limit for all CG machines

Rebollo: nnice to know thanks

Astrobytes: euler, with C++ it's been like that since C++14

Astrobytes: at least

eulerscheZahl: i learned C++11 at university, i'm that old

Astrobytes: I initially learned a bit pre c++11, I'm *that* old

struct: just wait until you see modern c++ code

Astrobytes: 20 looks interesting

eulerscheZahl: my first was turbo pascal with an editor that didn't support the use of a mouse. my teacher at school was that old

struct: o.o

Rebollo: nice

struct: rebollo care about static though

struct: if you have multiple trees

struct: all will be sharing the same nodew

struct: nodes*

struct: I think better way to do this is just

Astrobytes: I learned to type (officially, in school) on old IBM machines with 5¼-inch (actually floppy) floppy disks, school didn't have much of a budget

struct: struct Tree{ vector<Node*> nodes(46'000'000); };

struct: the memory will be allocated once you create the tree

struct: at least I hope it will

eulerscheZahl: i never learned proper typing. using my own system to this day

Rebollo: thankYou I will do that

Rebollo: how about programming in punched cards?

eulerscheZahl: i can type blindly but not utilizing all 10 fingers

Astrobytes: it was necessary to learn this way to pass the business studies course, I had my own way already by that age

Rebollo: My mother used to programming using cards where you do a hole on it to create the rules aand give it to the teacher

Rebollo: next dy he come back with dump

Astrobytes: this was the class where we had to type to the rhythm of Boney M songs

Astrobytes: Rebollo, punchcards! Nice!

Rebollo: I probably caan´t write aa Hello Worl with this method

Rebollo: imagine how differente waas the coding processing

Astrobytes: I'm sure you could if you learned ;)

Rebollo: You have to caare bout all the limitations of resources aas well

Rebollo: soo nice my mother used to coding in FORTRAN

Astrobytes: To be honest, the world would be a better place if everybody programmed as if they had very limited resources

Rebollo: right!!

Astrobytes: Systems might be a little more efficient for a start!

jacek: like on CG?

Astrobytes: I don't mean cramming everything into weird unicode characters

eulerscheZahl: read a news recently, microsoft recommending that you keep your computer online for at last 2h without interrupt so it can download updates

struct: ?

Astrobytes: 2. Hours.

eulerscheZahl: and 6 to install

struct: must be for W11 or something

struct: My pc doesnt support it

Astrobytes: lol what

Astrobytes: Same struct

eulerscheZahl: read like it doesn't continue the download but completely restarts it

struct: This seems like a thing that happened to 1 person and made it to the news

eulerscheZahl: https://www.heise.de/news/Microsoft-Updates-Zu-kurze-Online-Zeit-verhindert-Installation-6344845.html

Astrobytes: updates always run fast on my windows box

Mrs.GloriaZindlebocker: I used to cut a little notch into my floppies to make them double sided

Rebollo: My mother, 50 years ago, created a statiscs program the output the probality of finding crude/petroleum in a certaing place

Astrobytes: lol at the notch cutting, forgot about that

Astrobytes: Rebollo: that is pretty awesome

Astrobytes: sad it's about fossil fuels but still a cool program and achievement

Rebollo: Quantitative Method in Oil Drilling

Rebollo: amaazing

Astrobytes: Was her thesis project or work?

Rebollo: octoral edgree thesis

Rebollo: Doctoral Degree

Astrobytes: Excellent. Your mother is awesome

Rebollo: in Quantitaative Methods

Rebollo: She is

Rebollo: Unfortunaattlly my dad didd not "aloow" her to work

Astrobytes: Damn, that's sad man.

Astrobytes: "Traditional values"

Rebollo: yes

jacek: computers then wouldnt fit in kitchen anyway

Rebollo: 50 years ago in brazil

Astrobytes: back in your box jacek

Rebollo: How aabout in your country?

Rebollo: Was the same 50 eyars ago?

Astrobytes: yes Rebollo, your mother was pushing boundaries for sure. And yes, still is to some degree for people of a certain age or upbringing

jacek: wah, computers here 50 years ago!?

Astrobytes: There are people I went to school with and younger who believe a woman should be in the kitchen only, sigh

Rebollo: One computer occupied like a big room

Rebollo: AAre you guys professional coders? I am a BI consultant,. Basic create maanagement reports using SQL, an frontends like PowerBI, Tableau an etc..

Rebollo: Working for Intel at the moment

Rebollo: as Contractor

eulerscheZahl: i'm getting paid for coding. but as a single developer in a department that does other stuff (CAD design)

eulerscheZahl: i do all from windows desktop to web development as we see need

Astrobytes: Hobby coder here

MrAnderson: Former coder here, moved on to more of an architect

helpmefindaname: I am a data scientist/ML-Engineer

jacek: android developer :scream:

Rebollo: http://chat.codingame.com/pastebin/c3eb9f2e-ddaa-46f1-8403-d79632f4d26b

Rebollo: In this case

Rebollo: Can I just initiaalize the node in the constructor?

Rebollo: nodes*

struct: its already initialized

Rebollo: where?

struct: once you do

struct: int main(){ Tree tree; }

struct: all the 46M will be initialized

struct: I think

struct: or its before im not sure how it works

struct: I just know it does

Rebollo: but where is this guy?

Rebollo: objectsNode* Tree::nodes = new objectsNode[46'000'000]();

Rebollo: outside the struct, in the main?

struct: just outside the struct

struct: also outside of the main

Rebollo: wow

eulerscheZahl: right after your header includes

eulerscheZahl: and after the struct definition of course

Rebollo: what if I move it to the Tree contructor? Why you choose doiing like thaat?

Rebollo: like

Rebollo: http://chat.codingame.com/pastebin/0c462873-f6db-4bd0-9d30-e11fd153c265

Rebollo: Hum, because they can be use indepentetly to the tree right

Rebollo: And I crete just once

Rebollo: I got it

eulerscheZahl: rubber duck debugging at its finest

Rebollo: no no I think I don´t

struct: the code you pasted here before should work fine

struct: but I would not use 46M

struct: since your objectsData is probably bigger than 16 bytes

Rebollo: But why you suggest to have "nodes" (plural") inside the tree once a need only to track the root reference and thigs like that?

Rebollo: why a vector of nodes inside the tree?

eulerscheZahl: the children of each node

eulerscheZahl: where to expand to

struct: yeah I expand on the tree

struct: it depends on your code

struct: You can also just make a global variable

Rebollo: their position on the vector, in this case has a meaning or not necessarily?

Rebollo: Or keep using linked lists?

struct: well its your choice how to keep track of it

Rebollo: cause I have like pointers to "right", "left", "down", "up", "parent" and "next"

Rebollo: in the Noe

Rebollo: Node

eulerscheZahl: not sure what they mean and how they differ

eulerscheZahl: up vs parent?

Rebollo: let me make aa diagram one sec

eulerscheZahl: down? the tree gets wider at each level

struct: I think he is solving the golf puzzle

struct: winamax

Rebollo: They represents the possible Paths

eulerscheZahl: oh right. i got that and forgot it again

Rebollo: firtMovemment can be represent any direction

Rebollo: second asa well

Rebollo: aand so on

eulerscheZahl: no MCTS, sorry

Rebollo: Is this solution riddiculous?

Rebollo: What would be your strategies?

eulerscheZahl: bruteforce the hell out of it

eulerscheZahl: worked for me

eulerscheZahl: https://i.imgur.com/gKEsyM8.png where did the pictures go?

struct: no idea

eulerscheZahl: also: switched to flameshot for screenshots. pretty handy as it's not a browser addon so i can screenshot everything and it can upload directly to imgur :)

eulerscheZahl: do you have the pictures?

struct: on incognito it doesnt show for me

eulerscheZahl: funny

struct: you dont like shareX?

eulerscheZahl: i don't know shareX

struct: ah I think its windows only

eulerscheZahl: used lightshot before but more often than not the upload got stuck as the server was unreachable

struct: flameshot looks to have nice features too

Rebollo: http://chat.codingame.com/pastebin/de04d007-17fc-4ce3-9c7c-d99e4715ed4f

Rebollo: each node has 4 child wich represents the direction RDLU

Rebollo: And to make easy to navigate in the tree

Rebollo: trey have also next(same level move)

Rebollo: and parent(go baackwrds)

Rebollo: Each ball has it own tree

Rebollo: I an golf game

Rebollo: Once I reach a node that I cant go annywhere I go back

Rebollo: till I find I possible way to the hole

Rebollo: But different balls can find the same hole, and it is not possible, so I need to test some combinaatios till each ball has found one hole and all holes has been found

Rebollo: seems easy but..not for me

Rebollo: I tried recursion

Rebollo: And things get crazy

Rebollo: It inverts everything

Rebollo: never will undertand the recursion behavior

Scarfield: there is a lot of bad material explaining recursion out there, found a good article, but cant find it again :'(

Rebollo: always use factor

Rebollo: ALWAYS

jacek: to find recursion you need to find recursion first

Scarfield: factor?

Astrobytes: factorisation

Scarfield: !?

Astrobytes: yep

Rebollo: factorial

Rebollo: like 10!

Astrobytes: ^

Rebollo: AALWAYSSS

Astrobytes: factorial is what I meant

Scarfield: i like you knew what i meant with !? xD

Astrobytes: hehehe

Astrobytes: Spring challenge is bot programming Scarfield :tada:

Scarfield: i just found out there is an interactive demo of smash the code

Scarfield: YUS!

Astrobytes: End of April, formal announcement when artwork is completed

Scarfield: how do you know, it doesnt say on the page

struct: no annoucement yet but thibaud said it on the chat

jacek: can we trust him?

struct: yes

struct: he was the one that said the fall challenge was a escape

struct: and that was true

Scarfield: nice! i am sure its solely because of my 1 forum post

Astrobytes: obviously ;)

struct: what did you post?

Rebollo: can I get the return "description" as string?

Rebollo: ENUM*

Rebollo: like :

Astrobytes: as in enum to string?

Rebollo: enum Direction : int { UP = 0, RIGHT, DOWN, LEFT };

Rebollo: aaan get "LEFT"

Scarfield: there was a small thread where a few of us cried about escape as contest

Astrobytes: Not currently in C++, you'll have to write your own code to do that

struct: just do if else

struct: in a function where you pass the enum

struct: or something

Astrobytes: or a switch

Rebollo: wow

Rebollo: have to suplicaate the object maybe

Rebollo: create a vector of texts

Astrobytes: well, a simple array would be enough, then you could do enumStringArray[LEFT] and get "LEFT"

Scarfield: did not expect bot programming contest, am actually kinda stoked, will make sure to tell CG staff that as well

Rebollo: yes

Rebollo: Ill do that

Astrobytes: FWIW I think they're fully aware of our thoughts on the matter Scarfield :D

struct: Theyll need to do some work on the announcemenet

Astrobytes: wdym struct?

struct: probably lost a few registrations due to the previous contest being an escape

struct: basicly you could register right after contest ended

Astrobytes: ah right, heh heh, indeed

struct: before

Scarfield: true, but i voiced my dissapointment at escape contest, it only seems fair to voice that im happy with bot programming

Astrobytes: Also true Wisefield

Scarfield: i didnt register untill a few moments ago

Scarfield: I am very wise in the ways of science

Astrobytes: Not registered as of yet, going euler style this time around

struct: ill register to pump the numbers

Default avatar.png stocklog_: is there any like normal (not game) puzzles

Default avatar.png stocklog_: or is it only clash of code?

Astrobytes: hundreds, under Practice in the top menu

Alshock: There are bots versus, and solo puzzle

Astrobytes: Also bot programming, optimisation and code golf in multiplayer

Alshock: not sure what you call "a game"

Astrobytes: hi Alshock

Alshock: hi Astrobytes

Astrobytes: happy for the contest?

Astrobytes: lol, just saw discord, that'll be a 'yes'

Alshock: yep, I'll make sure to have time for this one, I usually just skip them and work on the bots afterwards

Astrobytes: lol, definitely make the most of it while it's happening. Who knows if / when there will be another :D

Default avatar.png anneonyme: hello is there any way to send a private message to someone?

struct: click their name

struct: or follow each other and then you have that option on your profile

Default avatar.png anneonyme: thx dude

Mrs.GloriaZindlebocker: they only care about MAU here. as long as you drop in once a month to complain, all is well

jacek: MIAU?

Mrs.GloriaZindlebocker: monthly active users

jacek: oh my

Jayarrowz: Why does comments count as char count

Jayarrowz: i've lost like 10 times due to comments

Jayarrowz: :{

Default avatar.png Zsu: imagine java code against python for the shortest mode...

jacek: imagine bringing knife to a gun fight...

Default avatar.png Zsu: kinda :D

Scarfield: https://xkcd.com/1890/

Astrobytes: classic

Manchi_o6o7: Hey guys. Has someone tips how to get a remote internship?

Wontonimo: you asked me yesterday

Jayarrowz: Imagine python against c# if we had a benchmark mode

Jayarrowz: :)

Manchi_o6o7: I know, but it is not bad to get advice if someone has direct experience about internships and recruiting

Default avatar.png Derek_DSouza: hi

struct: HI

Default avatar.png pablodev: Hi Manchi im waiting response for internship too

Default avatar.png pablodev: (not remote)

BadBurger: not too happy with my marslander algo, i have made a good path finder that draws a good path to landingpad with 300xy interval

BadBurger: did a visual offline sim for it. but im not too happy with how ive implemented the lander to follow the path.

BadBurger: probably could improve alot by making a better scoring system. but is there anything i can read to get some better ideas of how to get the lander to follow a path i have as xy coordinates

BadBurger: ?

BadBurger: maybe its kinda broad question.

Wontonimo: what is your scoring heuristic?

Wontonimo: you probably are not using straight line distance

Wontonimo: cuz otherwise you'll crash into the side of the cave

Wontonimo: i made a grid, where each grid square represents about 20x20 coordinates, and I flood fill that, going around the cliff outcrop

Wontonimo: the flood fill keeps incrementing, so it is a distance lookup

Wontonimo: if i crash into a wall, i look up the flood fill distance to get the heuristic score

BadBurger: im using the lander2 maps since im still building some fundametnals. my scoring is a mess, but it favours the path for scoring, but has some ngative modifiers, such as speeds. i sim 200 ships at a time for 10loops, and pick the best ship, it takes that ship as starter point, and loops 10 frames again.

BadBurger: sometimes it sticks to the path like a train, but sometimes like a headless chicken

BadBurger: the path os qiuite smooth curved, with alot of points, it gives better score the closer it follows the path.

Wontonimo: i don't have a path, i have a distance field, and a landing error. crash off the pad and the landing error is largest. crash on the landing pad but not too bad, the error is a bit bad

Wontonimo: don't make it to the landing pad, the error is less than a crash, but just

Wontonimo: total heuristic score is distance (using flood fill) and landing error

BadBurger: yeah i have finished 50% on mars lander 4 with just a small sim and ifs, but im enjoying creating this but i feel im not that educated in different algos and have a lack of math expressions

Wontonimo: lander 4?

BadBurger: 3, lol

Wontonimo: can you send me a replay of both the caves ? By seeing the behaviour i may be able to suggest something

BadBurger: i dont use that code, and i made it 4years ago on python2.7 wich is no longer supported in cg, its on python3 but python 2.7 cont have same syntax

Wontonimo: ah

BadBurger: and the current im doing locally, i built a graphical sim

BadBurger: so i can understand pathfinding and bots better

BadBurger: or behaviour

Wontonimo: do you have something working for mars 1 ?

Wontonimo: that you can share?

BadBurger: aint marslander 1 just a single row puzzle?

Wontonimo: optimize it! use the least amount of fuel possible. here is mine https://www.codingame.com/replay/606574054

Wontonimo: and that way you know that your landing algo is bang on

Wontonimo: so, how much fuel does your lander have left?

BadBurger: il do marslander1 now and check if i get close to you

Wontonimo: 300 is the target, anything higher is just gravy

Wontonimo: try to land with a vertical speed that you set. My lander is set to land with 39m/s, the absolute highest allowed

darkhorse64: 321 is the best I could do

Default avatar.png thaturkey: hello

Default avatar.png dmuraco: hello

ElJafar: yo

Wontonimo: wow, you beat me by a large margin

struct: hi Wontonimo I seem to have finished derivatives and partial derivatives

struct: It seems easier now

wontonimo: [automated] hey there struct

struct: o.o

Wontonimo: haha

Wontonimo: i forgot i make that automated response

Wontonimo: so, now that you know about derivatives, you can rest assured that you'll probably not ever need to use it

struct: o.o

Wontonimo: but it will help with understanding

Wontonimo: like knowing basic assembly

struct: Yeah

struct: its more like to understand how it works right?

Wontonimo: yeah

Wontonimo: and that will already put you km ahead of others who just use libraries

struct: the partial is to measure how much one input affects the output right?

Wontonimo: i'm actually not even all that knowledgable of partials. tell me more about it

Wontonimo: oh, maybe i am and i forgot the name

Wontonimo: that's when you only do parts at a time

Default avatar.png CCampa: what's sup yo

Default avatar.png CCampa: someone tryna slide answers?

struct: yeah its similar to derivatives you just have to do for each independent input

struct: so if you have f(a,b,c) you need to do for each one

Wontonimo: oh funny, i just helped my daughter with partial derivatives last week. totally forgot the name of it

Wontonimo: yeah, it's a good method for break down a problem

struct: tomorrow ill dive down into backprop, was gonna be today but i wanted to understand this well

Wontonimo: youll beat me to it!!! OMG :scream:

struct: beat on what?

Wontonimo: still havent applied my NN knowlage to CG

struct: oh but you already understand them

Wontonimo: but not at CG optmi level

struct: im sure you can do it

struct: you even have muzero has a source if you want

Wontonimo: im just lazy

struct: maybe you just do it too often that you dont have motivation to do it here

Wontonimo: no, what it is is that I know it's actually quite a bit of work to get the whole pipeline going

Wontonimo: and there isn't much visible progress until it is all done

struct: you dont need to write the training part do you?

Wontonimo: and i'm kinda in an immediate gratification mood these days

struct: you can just use some framework

Wontonimo: yeah, for sure. definitely would use tensorflow

Wontonimo: I'm not completely ignoring my machine learning background. I'm actually really stoked about my lates contrib to puzzles

Wontonimo: very much ML and data science

Default avatar.png CCampa: this man triple texted

Wontonimo: i'll kick myself, thanks

Wontonimo: /kick wontonimo

Wontonimo: struct , are you going to test out your first NN bot on oware ?

struct: probably breakthrough

Default avatar.png Jerryh12: Won when are you gonna test talking to some girls

Alshock: I hate to admit it but I tried to make a simple NN on Oware (to stay below 100k without any trick)... Well it's not THAT bad, it's just worse than my MCTS :sob:

Default avatar.png Jerryh12: :nerd:

Wontonimo: how long did you train and what approach did you use? all 1hot like jacek ?

WellyBelly: "I hate to admit it but I tried to make a simple NN on Oware (to stay below 100k without any trick)... Well it's not THAT bad, it's just worse than my MCTS" :nerd:

struct: How about you tell us what you did WellyBelly?

Default avatar.png Jeff12123: welly has done alot throughout his life

Default avatar.png Jeff12123: look how old that man is hes about to die

WellyBelly: im 80 years old

WellyBelly: i fought in wwII

WellyBelly: Nam

WellyBelly: Iraq

WellyBelly: 9/11

Default avatar.png Jeff12123: L

Wontonimo: stop spamming

Default avatar.png Jeff12123: im joking sorry

Default avatar.png Jeff12123: thanky ou for ur service

Wontonimo: hey Alshock, can you share any insight into how long you trained, size of data set, architecture of NN ?

Default avatar.png Jeff12123: whats nn

Default avatar.png Juicer24: :triumph: pussy repellant

Wontonimo: Juicer, you've been kicked for 10 min

Default avatar.png Jeff12123: :rage: not cool dude

Wontonimo: you are welcome to come back if you behave

Astrobytes: haven't you got this automated yet?! :D

**e_fishel slaps Juicer24 around a bit with a large fishbot

Wontonimo: this is a public chat. respectful behaviour is manditory

Default avatar.png dmuraco: lmfao

Alpha.Queen: ???

Default avatar.png dmuraco: homie said p**** repellent

Wontonimo: okay, there are a lot of new people here

Astrobytes: I see I dipped into the webchat at the worst possible time

Wontonimo: let me give everyone who is under level 5 a warning now

Default avatar.png dmuraco: facts let em know big boss man

Default avatar.png Juicer24: yo

Wontonimo: keep it coding related or on topic

Default avatar.png Juicer24: we live

Default avatar.png dmuraco: ^^

WellyBelly: U tell these youngins wontonimo

Default avatar.png dmuraco: lmfao

Wontonimo: Juicer24 has been kicked for 10 min

Alpha.Queen: um i got that part

Default avatar.png dmuraco: what a legend

Default avatar.png dmuraco: wontonimo hit the griddy

Alpha.Queen: and i was here for what he said but still y

Default avatar.png Jeff12123: fr wontonimo the goat

Wontonimo: sigh... okay. that was all your warnings. talk about code or get kicked.

struct: or banned

Default avatar.png Jeff12123: ok

struct: whoever types fsater

Default avatar.png Jeff12123: so wellybelly have you completed a project on NN

Default avatar.png dmuraco: how to code bot that hits the griddy?

Default avatar.png dmuraco: sorry

Wontonimo: dmuraco you have been kicked for 10 min. you are welcome to come back if you behave

Default avatar.png Juicer24: what c++ youtubers do you guys like to watch? trying to learn more

WellyBelly: Jeff I have not completed a project on NN.

Wontonimo: watch "the coding train" for programming know how if you are learning

WellyBelly: But i flew a chopper in nam

Wontonimo: WellyBelly has been kicked

Alpha.Queen: ummmm so I have a question

Default avatar.png Juicer24: but wasnt it related to coding?

ninjadip: mirror: yes, you're the prettiest, meanest alphaqueen in the land

Default avatar.png Juicer24: anyways what do you guys think the hardest part of machine learning

Alpha.Queen: Fuck you asshole

Default avatar.png Juicer24: yo kick her

Astrobytes: If anyone actually *does* want a decent C++ youtuber, there's OneLoneCoder aka javidx9 aka David Barr. Also does fun things like robotics, has his own game/graphics lib (and terminal graphics too), discord server is fun

Default avatar.png Juicer24: how about you actually get some *bitches*

Default avatar.png Juicer24: it was fun

Wontonimo: Juicer24 has been banned

Wontonimo: bans are permanent

Astrobytes: And the queen one?

Wontonimo: just kicked

ninjadip: lol

Wontonimo: struct beat me to it

ninjadip: now she's yelling at me privately

Wontonimo: now banned

ninjadip: told me it's my fault she got kicked

struct: well now she is banned

Astrobytes: with these kind of kids, ban early to avoid ruining chat

Wontonimo: +1

ninjadip: thinking back.. i'm surprised i wasn't banned. hopefully i wasn't that bad

Astrobytes: others are more tame, you can usually tell after a couple of sentences

Wontonimo: and it was getting good to. it totally ruined the vibe

ASM_MOV_INT: that's it... i'm learning python

ninjadip: yes! and my good vibes had just started.. working all day, doing online homework, and then that .. ugh

ninjadip: hey, she said sorry to me

ASM_MOV_INT: ... my vibes are from watching hazard communication in the workplace video and test

ninjadip: everyone

ASM_MOV_INT: i need a clash or .... dozen

Astrobytes: ASM_MOV_INT :rofl:

ninjadip: i explained the obvious reference to a children's tale, and said she's sorry and gets it now

ninjadip: lol

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

Brody_The_Vegan: @everyone

ASM_MOV_INT: :grinning:

Brody_The_Vegan: ?mute admis

Brody_The_Vegan: :snake:

Default avatar.png dmuraco: wontonimo thanks man you rerailed the train it was going out of bounds

Wontonimo: hey dmuraco, you haven't gotten high in any bot battle yet. have you taken a look at them? Perhaps give Tron or Botters of the Galaxy a try

Default avatar.png dmuraco: uhhhh ill check it out

Wontonimo: https://www.codingame.com/multiplayer/bot-programming/line-racing <-- this is Tron

struct: Wontonimo any reason why you mentioned oware?

Wontonimo: turn left, right

Wontonimo: oh, i thought that was generally regarded as the starter NN multi

Default avatar.png dmuraco: when things are hard I just quit so we'll see

struct: ah I see

Wontonimo: idk, i havent even tried 1 so I couldn't say which multi would be the easiest to apply NN to

struct: I thought about bt because I have a bit of experience with it and its an easy game too see if AI is doing well or not

Wontonimo: +1

Default avatar.png dmuraco: Neural Network?

Wontonimo: yes

Default avatar.png dmuraco: ohhhh

Default avatar.png dmuraco: those are cool

Default avatar.png dmuraco: used one of them doo hickeys to predict stock prices didnt work tho

Wontonimo: no. that's not a good idea. using a NN to predict a random number generator isn't going to do much.

struct: might aswell run rand()

Default avatar.png dmuraco: LoL yeah was just experimenting

Wontonimo: i was the lead dev at a hedge fund in 2008. fun times.

Default avatar.png dmuraco: i laughed at that

Default avatar.png dmuraco: what did you work on

Wontonimo: machine learning to predict SMP500, intra minute trades

Astrobytes: Ugh. Hope you disinfected your brain after working for those crooks.

Wontonimo: yeah, crooks is right. the whole industry is crooks selling to crooks

Astrobytes: 100%

Astrobytes: We're just currency to that world.

Astrobytes: anyway, cya all later

Wontonimo: cya

Default avatar.png dmuraco: sorry i was busy getting 3rd place in coc flex

Wontonimo: hey Struct, what is your plan for training your NN. What is your training data going to be?

struct: no idea yet

Wontonimo: it's tricky

Default avatar.png dmuraco: wontonimo what language did you use at hedge fund

Wontonimo: i think

struct: I only read 8 chapters out of 22

Wontonimo: java

struct: The first are really basic

Wontonimo: so, if the NN training is supervised then it becomes easy, but what is the supervised data?

Default avatar.png dmuraco: what kind of machine learning model did you use

Wontonimo: self play is a option , but then you can easily have model collapse

Wontonimo: probably just DNN dmuraco

struct: well i dont really have supervised data for breakthrough

Wontonimo: aka fully connected layers

Wontonimo: you can generate supervised data. i was thinking of this a long time ago and after talking with Jacek he confirmed that it works for him

Default avatar.png dmuraco: gotcha

Wontonimo: you use your current MCTS (or whatever search) to predict a score for the current board

Wontonimo: that becomes your training set. if your NN can estimate that in 1ms what your MCTS took 100ms to generate, then huge win.

Wontonimo: you can then use the NN in a negamax way to see much further into the future than the MCTS could

struct: makes sense

Wontonimo: what search are you using for BT atm?

struct: mcts

Wontonimo: i don't see how self play can be used for training

Wontonimo: easily

struct: isnt marchete muzero self training?

Wontonimo: is that the article he wrote or is that a whole code that he hhas shared?

struct: in the article

struct: "A pure self-learning AI, it only learns by playing against itself (or previous NN versions). For the whole training it never competes against any other AI bot (only itself), neither any kind of expert knowledge, opening books or anything."

struct: also no domain knowledge

Wontonimo: yeah, i get that

struct: I dont think his code has the training part

Wontonimo: i'm just fuzzy on how to extract and apply data for a learning signal

struct: yeah i also have no idea yet

Wontonimo: i'm clear on how to do unsupervised learning to do things like autoencoders and embeding layer generation

struct: yeah one thing that confuses me the most is

struct: that the initial state is very different from the ending state

struct: How can NN even train sucesfully for that

struct: The weights will be the same

struct: But I guess that also apply to other things that NNs can do

Wontonimo: i can imagine that you use a recording of the whole game play. all the moves for the winning player become part of the positive training set and all the move for the losing player become part of the negative training set. seems cheap though and i'd be surrprised if it worked

struct: If I figure it out Ill let you know :p

therealbeef: Indeed Wontonimo that's how I did it. all the game states on the way to a victory are good and on a way to a loss are bad

Wontonimo: OH !

Wontonimo: and do you have a decay, like earlier moves have less weight, and moves right before the end move have the most weight?

therealbeef: I didn't make a really successful bot with it (probably due to bad choice of search algo), but it does improve it's strength over time

therealbeef: yes

Wontonimo: awesome! thanks for sharing !!

therealbeef: gane states in the beginning of a match are probably less predictable

therealbeef: but that depends on the type of game maybe

Wontonimo: what multi have you used NN in therealbeef ?

therealbeef: spring2021

Wontonimo: solid gold. nice

Wontonimo: what search did you use after the NN was trained

therealbeef: alpha beta

therealbeef: which is probably a bad choice

Wontonimo: no, i hear that works well with NN

therealbeef: but i had no exprience with mcts yet back then

struct: also the game should be tricky

Wontonimo: what depth, and is it just value, or value and policy?

therealbeef: i trained just game state eval, no policy

Josdel: tacos

Wontonimo: value, cool. jacek has been pretty positive about using just value/eval also

Josdel: hello guys

Josdel: all fine?

Wontonimo: tacos? read my bio Josdel

Josdel: yep....

Josdel: how do you write in red?

therealbeef: i think alpha beta requires very fast eval due to the way it searches, so funnily the bot i started with has super simple NN (but fast) and i never managed to beat it after changing to a more complex CNN

Wontonimo: i have a magic marker

Wontonimo: jk. text will appear in red when it has your name in it

Josdel: Wontonimo hello

Josdel: hmm

therealbeef: i think mcts searches smarter so it can deal with slower eval maybe

Wontonimo: yup, it worked. sadly my auto reply didn't kick off

Josdel: careful man

Wontonimo: did you add pruning to alphabeta?

Wontonimo: must have otherwise it would be minimax

Wontonimo: dumb question on my end

Wontonimo: i'm wondering if NN value would work with Beam search

therealbeef: sure why not :)

therealbeef: it basically replaces a handwritten heuristic

Wontonimo: but better

therealbeef: but also slower

therealbeef: there's a tradeoff

therealbeef: if a game is so simple you can handwrite a super fast eval, it might be better

Wontonimo: did you use any intrinsics to speed up and parallelize the matrix calculations?

therealbeef: yes

struct: avx?

Wontonimo: :scream_cat:

therealbeef: yes, 8 float vectors

struct: how many hidden layers?

therealbeef: hehe the submitted bot has only 1 hidden layer ;) the re-designed bot had like 8 orso and it couldn't beat the single hidden layer one

struct: maybe the 8 one was too slow

therealbeef: but please take my experiences with a pinch of salt; this was my first try with NN on CG

struct: if you ran it for the same iterations it would probably beat the other one

struct: ofc

therealbeef: yes i think so

struct: Im sure if you tried in other game you probably would have more success

struct: you only saw 1 NN at the top on the contest afterall

Wontonimo: 8 hidden layer? That is bordering on untrainable without tricks like resnet layers or batchnormalization.

therealbeef: i think it can be very tricky to choose exactly the kind of network architecture that trades off speed and quality

therealbeef: i did use relu activation everywhere

POEJordanJ: Hm

therealbeef: and when inspecting the weights in the first layer graphically, it did seem like it is looking for patterns such as having two big trees that can never shadow each other

struct: was reading the marchete tutorial and now one hots make sense to me

Wontonimo: :tada:

struct: at least one part of it :p

Wontonimo: that is a beast of a tutorial

struct: too many terms I dont know yet

Wontonimo: i totally messed up an explanation of gradient descent yesterday (or was it the day before?) here on world chat

Wontonimo: it was so bad... i'd like to go back and delete that chat history

struct: do not worry :p

Wontonimo: so, i've got this bot on here. it looks for clash links and when people say hi to me. I was thinking of adding some kind of gamification ...

struct: to play vs him?

Wontonimo: no, here on world chat

Wontonimo: i was thinking of the "golden taco of the hour" award. the way it worrks is anyone can say "I nominate ____ for the golden taco award"

Wontonimo: and the bot keeps track of who gets the most nomination for that hour and awards them 1

Wontonimo: reporting how many they have accumulated in their life time

Wontonimo: 1 per hour at most

Wontonimo: thoughts?

struct: hmm I dont think chat is active enough for it

Wontonimo: per day?

struct: would probably be better yeah

struct: with hour it would just spam too much I think

Wontonimo: true

Wontonimo: can't nominate twice

Wontonimo: nor yourself

Astrobytes: I like that idea

struct: I'm out for the night

struct: gn everyone

Wontonimo: gn

Astrobytes: gn, I'm not far off, in bed, on the laptop

Wontonimo: gn also

Astrobytes: just finishing these last few lines of code :P

Wontonimo: on what?

Astrobytes: right now UTTT, but earlier was practising my javascript

Wontonimo: for roguer path ;)

Astrobytes: indeed :)

Wontonimo: yeah

Wontonimo: are you going to submit uttt before hheading off to sleep?

Astrobytes: nah, just finishing the sim, only started it properly last night in bed lol

Wontonimo: your last submit was about 2 years ago :scream_cat:

Astrobytes: yep, it was a rainy day multi for me, I find it a touch boring

Wontonimo: use MC for the first search. you'll knock off the logic for MC in no time and it'll throw you up to gold

Wontonimo: here is my MC example https://tech.io/snippet/LiWPxTS

Astrobytes: Was thinking to go full MCTS

Wontonimo: well YEAH of course

Astrobytes: all good, I can write MCs with my eyes closed ;)

Wontonimo: MCTS all the way. but MC is 1/10th the effort and will get you to top Gold if your sim is optimized

Wontonimo: plus, the rollout is completely reusable for MCTS

Astrobytes: I'll see tomorrow when I get round to that part

Wontonimo: am i pushing MC too much :rolling_eyes: ... probably eh?

Wontonimo: night

Astrobytes: lol nah, it's the first port of call in most problems usually

Astrobytes: anyway, yes, gn :)

therealbeef: what's MC?

jacek: monte carlo

therealbeef: is that like MCTS without expansion?

jacek: yes. flat monte carlo

jacek: for each move simulate 1000 (or so) games and choose one with heighest wins

Default avatar.png BaseMcfly: How do you see your solved puzzles/solutions from practice mode?

jacek: they should be at the bottom

Wontonimo: hey jacek, when did you get on? have you been lurking for a while?

Wontonimo: could have used your $0.02 a while ago about NN training in self play

Wontonimo: that's my round about way of saying I missed you :grin:

jacek: im a bit sick so i got up earlier

Wontonimo: what kind of sick? no the covid i hope. just something simple

jacek: sore throat and headache. typical common cold

jacek: but fortunately no rhintis

Wontonimo: that's good

Wontonimo: i'm tired. heading off to sleep. see ya later. get well soon

Josdel: bye bye

Josdel: :hand_splayed:

jacek: mods asleep, let's troll

ETET: ?

ETET: How long have you all been learning code?

jacek: since early teens, off and on about 20 years ~

ASM_MOV_INT: probably since a year or so before 6th grade... and i'm 48 now, so....

ASM_MOV_INT: :joy:

Default avatar.png Punkp: When I was 14... now I am 50 ...

ASM_MOV_INT: i had a texas instruments computer at very young age, don't remember how old, but I do remember in 6th grade I got an apple iic for christmas, and I was programming in BASIC on the Texas Instruments