Manually tuned evaluation

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Manually tuned evaluation

Post by Ferdy »

maksimKorzh wrote: Sun Dec 27, 2020 5:58 pm
Ferdy wrote: Sun Dec 27, 2020 5:27 pm There is an article regarding rebel program by Ed. I am influenced by this writing as I develop Deuterium.
Also I'm a bit confused with the fact that author of 3000+ engine is taking his time to play around with my 1600 engine)
Just curious why are you interested?
I want to learn more on javascript :)
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Manually tuned evaluation

Post by maksimKorzh »

Ferdy wrote: Sun Dec 27, 2020 6:45 pm
maksimKorzh wrote: Sun Dec 27, 2020 5:58 pm
Ferdy wrote: Sun Dec 27, 2020 5:27 pm There is an article regarding rebel program by Ed. I am influenced by this writing as I develop Deuterium.
Also I'm a bit confused with the fact that author of 3000+ engine is taking his time to play around with my 1600 engine)
Just curious why are you interested?
I want to learn more on javascript :)
There are much stronger javascript engines, for instance:
Lozza: https://github.com/op12no2/lozza
tomitankChess: https://github.com/tomitank/tomitankChess
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Manually tuned evaluation

Post by Ferdy »

maksimKorzh wrote: Mon Dec 28, 2020 12:24 am
Ferdy wrote: Sun Dec 27, 2020 6:45 pm
maksimKorzh wrote: Sun Dec 27, 2020 5:58 pm
Ferdy wrote: Sun Dec 27, 2020 5:27 pm There is an article regarding rebel program by Ed. I am influenced by this writing as I develop Deuterium.
Also I'm a bit confused with the fact that author of 3000+ engine is taking his time to play around with my 1600 engine)
Just curious why are you interested?
I want to learn more on javascript :)
There are much stronger javascript engines, for instance:
Lozza: https://github.com/op12no2/lozza
tomitankChess: https://github.com/tomitank/tomitankChess
Learning from the basic implementation is more useful to me.
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Manually tuned evaluation

Post by maksimKorzh »

Ferdy wrote: Mon Dec 28, 2020 4:23 am
maksimKorzh wrote: Mon Dec 28, 2020 12:24 am
Ferdy wrote: Sun Dec 27, 2020 6:45 pm
maksimKorzh wrote: Sun Dec 27, 2020 5:58 pm
Ferdy wrote: Sun Dec 27, 2020 5:27 pm There is an article regarding rebel program by Ed. I am influenced by this writing as I develop Deuterium.
Also I'm a bit confused with the fact that author of 3000+ engine is taking his time to play around with my 1600 engine)
Just curious why are you interested?
I want to learn more on javascript :)
There are much stronger javascript engines, for instance:
Lozza: https://github.com/op12no2/lozza
tomitankChess: https://github.com/tomitank/tomitankChess
Learning from the basic implementation is more useful to me.
I'm flattered)
Thanks for your interest.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Manually tuned evaluation

Post by shinkarom »

To add my two kopecks, automated testing is kind of cheating for me. The same goes for self-trained neural networks. But can you expect anything other from an archaeopteryx like me, who thinks drag-and-dropping pieces on the board is an inferior option to selecting two squares separately.
OliverBr
Posts: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Manually tuned evaluation

Post by OliverBr »

Dann Corbit wrote: Sun Dec 27, 2020 2:47 pm OK, a program with zero lines has the largest N, but I am excluding degenerate cases.
Not necessarily true. Because a program with zero lines code would have 0 ELO, so we have:

Code: Select all

N = Elo/L => 0 divided by 0
and this is mostly not infinity while it's ok to say that 1 divided by 0 equals infinity.

Let's take your formular:

Code: Select all

N = Elo/L
then:

Code: Select all

N(0, 0) =     lim      Elo/L
          (Elo->0,L->0)
Now the result (if any) depends a lot on the functions for Elo and L.
N could be 5, too :)

see: https://en.wikipedia.org/wiki/L%27H%C3%B4pital%27s_rule
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Manually tuned evaluation

Post by Dann Corbit »

Busted, and I as a math major.
As a TA, I graded papers for 1200 first year calculus students.
I do repent in dust and ashes.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Manually tuned evaluation

Post by maksimKorzh »

Dann Corbit wrote: Thu Jan 07, 2021 6:31 pm Busted, and I as a math major.
As a TA, I graded papers for 1200 first year calculus students.
I do repent in dust and ashes.
Not sure what did you mean and is this post addressed to, but
fortunately I came up with my very first Texel's tuning implementation!
https://github.com/maksimKorzh/wukongJS ... l_tuner.py
OliverBr
Posts: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Manually tuned evaluation

Post by OliverBr »

Dann Corbit wrote: Thu Jan 07, 2021 6:31 pm Busted, and I as a math major.
As a TA, I graded papers for 1200 first year calculus students.
I do repent in dust and ashes.
Oh, I didn't want to give any offence. Of course you are aware of this as a math major.
But it's really not a well known fact.(*)

In this case I would guess that

Code: Select all

 N(0, 0) =     lim      Elo/L  =    lim    Elo'/L'   =  0/1   =   0
          (Elo->0,L->0)        (Elo->0,L->0)
using L'Hôpital's rule, assuming that each line of a program has not more than 120 characters, because this means, that dElo/dL = 0 in the neighbourhood of 0 as you need quite a number of lines of code to have an ELO at all.

(*): When a I was about about 12 years old, I was saying in school that 0/0 could be theoretically anything (including 5). This was long before even having heard about L'Hôpital.
All other pupils including the elders were mocking me. I am very sure that they still don't get it.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink