A thought on originality

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

A thought on originality

Post by Dann Corbit »

One man finds a pretty math equation and puts it into his chess program. Then like a million itty-bitty workers, they smash the giant slab of marble that is "the game of chess" into magic pixie dust. We take that pixie dust (I call it that because nobody even knows how it works) and vacuum it up so we can use it. When we sprinkle the pixie dust on a chess position, the right answer pops out.

Another man labors intensively, reading books on chess and programming. He does least squares fits, levenberg-marquardt fits, and gradient descents to beautifully hone the resulting information. Again and again, term after term, he chases the same elusive goddess. Finally, he tops his beautiful meat grinder off with some whip cream and nuts and feeds a chess position into it. A pretty good answer pops out,

I'd rather have the right answer, pixie dust and all. Because that is what I am after, the right answer.
And the fact that it fell out of a math equation and is simple is not ugly. It is beautiful and somehow fundamental.
Even though the pixie dust does bother me a little bit because I don't know exactly how it works. E.g, "What is this bit of pixie dust doing?"
Response, "shrug"
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: A thought on originality

Post by maksimKorzh »

Dann Corbit wrote: Mon Jan 18, 2021 1:39 pm One man finds a pretty math equation and puts it into his chess program. Then like a million itty-bitty workers, they smash the giant slab of marble that is "the game of chess" into magic pixie dust. We take that pixie dust (I call it that because nobody even knows how it works) and vacuum it up so we can use it. When we sprinkle the pixie dust on a chess position, the right answer pops out.

Another man labors intensively, reading books on chess and programming. He does least squares fits, levenberg-marquardt fits, and gradient descents to beautifully hone the resulting information. Again and again, term after term, he chases the same elusive goddess. Finally, he tops his beautiful meat grinder off with some whip cream and nuts and feeds a chess position into it. A pretty good answer pops out,

I'd rather have the right answer, pixie dust and all. Because that is what I am after, the right answer.
And the fact that it fell out of a math equation and is simple is not ugly. It is beautiful and somehow fundamental.
Even though the pixie dust does bother me a little bit because I don't know exactly how it works. E.g, "What is this bit of pixie dust doing?"
Response, "shrug"
Seems like nowadays it's almost impossible to come up with something original unless you're a genius.
It reminds be like the classical science has been developed through the centuries - what guys like Isaac Newton
put entire life to modern students learn at school. I think something similar is happening with chess programming.
For instance I came across one of 3000+ engines on github and read from readme:
"It doesn't bring anything new but interestingly implements well settled ideas".
And that's the vast majority of modern strong engines. I mean it seems like say 20 years ago it wasn't enough
to be just a good programmer to create a truly strong engine but nowadays the strength of upcoming engines
simply reflects the level of programming skills of a developer IMO.

Are you agree Dann?

P.S. I guess all strong engines use pixie dust. For me pixie dust starts around from 2500 Elo.
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: A thought on originality

Post by Dann Corbit »

maksimKorzh wrote: Mon Jan 18, 2021 3:20 pm
Dann Corbit wrote: Mon Jan 18, 2021 1:39 pm One man finds a pretty math equation and puts it into his chess program. Then like a million itty-bitty workers, they smash the giant slab of marble that is "the game of chess" into magic pixie dust. We take that pixie dust (I call it that because nobody even knows how it works) and vacuum it up so we can use it. When we sprinkle the pixie dust on a chess position, the right answer pops out.

Another man labors intensively, reading books on chess and programming. He does least squares fits, levenberg-marquardt fits, and gradient descents to beautifully hone the resulting information. Again and again, term after term, he chases the same elusive goddess. Finally, he tops his beautiful meat grinder off with some whip cream and nuts and feeds a chess position into it. A pretty good answer pops out,

I'd rather have the right answer, pixie dust and all. Because that is what I am after, the right answer.
And the fact that it fell out of a math equation and is simple is not ugly. It is beautiful and somehow fundamental.
Even though the pixie dust does bother me a little bit because I don't know exactly how it works. E.g, "What is this bit of pixie dust doing?"
Response, "shrug"
Seems like nowadays it's almost impossible to come up with something original unless you're a genius.
It reminds be like the classical science has been developed through the centuries - what guys like Isaac Newton
put entire life to modern students learn at school. I think something similar is happening with chess programming.
For instance I came across one of 3000+ engines on github and read from readme:
"It doesn't bring anything new but interestingly implements well settled ideas".
And that's the vast majority of modern strong engines. I mean it seems like say 20 years ago it wasn't enough
to be just a good programmer to create a truly strong engine but nowadays the strength of upcoming engines
simply reflects the level of programming skills of a developer IMO.

Are you agree Dann?

P.S. I guess all strong engines use pixie dust. For me pixie dust starts around from 2500 Elo.
I guess that part of the enigma of computer chess programming is that it requires the amalgamation of well known techniques.

Anthony Cozzie quit chess programming because he felt that the winning program was nothing more than the biggest bag of tricks collected from all the existing programs.

There is a lot more than that. And I also think that the interesting part of chess programming is not the Frankenstein bolting together of a monster but the learning of "This is what Zobrish hashing is doing...", "This is what LMR is doing..."

For me, I think all chess engines are both interesting and useful, even the weakest ones. I particularly enjoy playing against a very old and weak version of the program Golem, which is so quirky it feels like you are playing a human.

There are multiple pursuits going on in chess programming.
There is the learning of different algorithms, their purpose and their function.
There is the goal of the strongest program possible.
There is the goal of the simplest program possible.
There is the goal of the most arcane program possible.
There is the goal of the best problem solver possible.
There is the goal of the best position analyzer possible.
There is a goal of an engine that can teach me how to play chess better.
There is a goal of ...

Some may or may not be mutually exclusive (e.g. can the best mate solver also be the strongest program possible?)
Chess programming is good for you if you are gaining something from it.
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: A thought on originality

Post by maksimKorzh »

Dann Corbit wrote: Mon Jan 18, 2021 3:51 pm
maksimKorzh wrote: Mon Jan 18, 2021 3:20 pm
Dann Corbit wrote: Mon Jan 18, 2021 1:39 pm One man finds a pretty math equation and puts it into his chess program. Then like a million itty-bitty workers, they smash the giant slab of marble that is "the game of chess" into magic pixie dust. We take that pixie dust (I call it that because nobody even knows how it works) and vacuum it up so we can use it. When we sprinkle the pixie dust on a chess position, the right answer pops out.

Another man labors intensively, reading books on chess and programming. He does least squares fits, levenberg-marquardt fits, and gradient descents to beautifully hone the resulting information. Again and again, term after term, he chases the same elusive goddess. Finally, he tops his beautiful meat grinder off with some whip cream and nuts and feeds a chess position into it. A pretty good answer pops out,

I'd rather have the right answer, pixie dust and all. Because that is what I am after, the right answer.
And the fact that it fell out of a math equation and is simple is not ugly. It is beautiful and somehow fundamental.
Even though the pixie dust does bother me a little bit because I don't know exactly how it works. E.g, "What is this bit of pixie dust doing?"
Response, "shrug"
Seems like nowadays it's almost impossible to come up with something original unless you're a genius.
It reminds be like the classical science has been developed through the centuries - what guys like Isaac Newton
put entire life to modern students learn at school. I think something similar is happening with chess programming.
For instance I came across one of 3000+ engines on github and read from readme:
"It doesn't bring anything new but interestingly implements well settled ideas".
And that's the vast majority of modern strong engines. I mean it seems like say 20 years ago it wasn't enough
to be just a good programmer to create a truly strong engine but nowadays the strength of upcoming engines
simply reflects the level of programming skills of a developer IMO.

Are you agree Dann?

P.S. I guess all strong engines use pixie dust. For me pixie dust starts around from 2500 Elo.
I guess that part of the enigma of computer chess programming is that it requires the amalgamation of well known techniques.

Anthony Cozzie quit chess programming because he felt that the winning program was nothing more than the biggest bag of tricks collected from all the existing programs.

There is a lot more than that. And I also think that the interesting part of chess programming is not the Frankenstein bolting together of a monster but the learning of "This is what Zobrish hashing is doing...", "This is what LMR is doing..."

For me, I think all chess engines are both interesting and useful, even the weakest ones. I particularly enjoy playing against a very old and weak version of the program Golem, which is so quirky it feels like you are playing a human.

There are multiple pursuits going on in chess programming.
There is the learning of different algorithms, their purpose and their function.
There is the goal of the strongest program possible.
There is the goal of the simplest program possible.
There is the goal of the most arcane program possible.
There is the goal of the best problem solver possible.
There is the goal of the best position analyzer possible.
There is a goal of an engine that can teach me how to play chess better.
There is a goal of ...

Some may or may not be mutually exclusive (e.g. can the best mate solver also be the strongest program possible?)
Chess programming is good for you if you are gaining something from it.
I particularly enjoy playing against a very old and weak version of the program Golem, which is so quirky it feels like you are playing a human.
Did you play versus WukongJS?
https://maksimkorzh.github.io/wukongJS/wukong.html
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: A thought on originality

Post by Dann Corbit »

not yet java is wonky on my home machine
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: A thought on originality

Post by maksimKorzh »

Dann Corbit wrote: Mon Jan 18, 2021 5:53 pm not yet java is wonky on my home machine
It's not Java, it's javascript.
You can play online in the browser - that's one the main goals!
Can't you play it in the browser???
User avatar
lithander
Posts: 881
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: A thought on originality

Post by lithander »

I don't think neural networks are quite so magical as you make them seem. If we can accept a human master player having an intuition about one position being better without him following a logical process and applying mathematical formulas consciously to arrive at that judgement then why not allow a computer to build a similar intuition through machine learning and statistics? Both acquire their intuition by the same means - by playing or reviewing a lot of games and learning to associate certain patterns they see in the position with certain outcomes.
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: A thought on originality

Post by Dann Corbit »

By magical, I mean that the file of nodes that it writes is opaque to us,

Re: "Can't you play it in the browser???"

I have javascript turned off for my browsers(the Nimda virus was javascript), but I can take my machine offline and try it.
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: A thought on originality

Post by maksimKorzh »

Dann Corbit wrote: Mon Jan 18, 2021 7:24 pm By magical, I mean that the file of nodes that it writes is opaque to us,

Re: "Can't you play it in the browser???"

I have javascript turned off for my browsers(the Nimda virus was javascript), but I can take my machine offline and try it.
I would appreciate that.
You can also play in UCI mode in whatever GUI using nodejs.
Here's installation guide:
https://github.com/maksimKorzh/wukongJS ... ocs/UCI.MD
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: A thought on originality

Post by Uri Blass »

maksimKorzh wrote: Mon Jan 18, 2021 3:20 pm
Dann Corbit wrote: Mon Jan 18, 2021 1:39 pm One man finds a pretty math equation and puts it into his chess program. Then like a million itty-bitty workers, they smash the giant slab of marble that is "the game of chess" into magic pixie dust. We take that pixie dust (I call it that because nobody even knows how it works) and vacuum it up so we can use it. When we sprinkle the pixie dust on a chess position, the right answer pops out.

Another man labors intensively, reading books on chess and programming. He does least squares fits, levenberg-marquardt fits, and gradient descents to beautifully hone the resulting information. Again and again, term after term, he chases the same elusive goddess. Finally, he tops his beautiful meat grinder off with some whip cream and nuts and feeds a chess position into it. A pretty good answer pops out,

I'd rather have the right answer, pixie dust and all. Because that is what I am after, the right answer.
And the fact that it fell out of a math equation and is simple is not ugly. It is beautiful and somehow fundamental.
Even though the pixie dust does bother me a little bit because I don't know exactly how it works. E.g, "What is this bit of pixie dust doing?"
Response, "shrug"
Seems like nowadays it's almost impossible to come up with something original unless you're a genius.
It reminds be like the classical science has been developed through the centuries - what guys like Isaac Newton
put entire life to modern students learn at school. I think something similar is happening with chess programming.
For instance I came across one of 3000+ engines on github and read from readme:
"It doesn't bring anything new but interestingly implements well settled ideas".
And that's the vast majority of modern strong engines. I mean it seems like say 20 years ago it wasn't enough
to be just a good programmer to create a truly strong engine but nowadays the strength of upcoming engines
simply reflects the level of programming skills of a developer IMO.

Are you agree Dann?

P.S. I guess all strong engines use pixie dust. For me pixie dust starts around from 2500 Elo.
I do not think it is hard to come with something original but that people usually are not interested in it.
being original does not mean being better and it even does not have to be in the default personality of an engine.

For example
I saw some mate solvers but do not see draw solvers that calculate if the side to move can force at least a draw in x plies and it is not because it is hard to do it but because programmers are not interested in it for some reason.

I do not see engines that calculate if the side to move can win material in x plies based on some material values.