What is the purpose of chess engines?

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Ozymandias
Posts: 1157
Joined: Sun Oct 25, 2009 12:30 am

Re: What is the purpose of chess engines?

Post by Ozymandias » Sat Nov 23, 2019 7:44 am

Ovyron wrote:
Fri Nov 22, 2019 11:57 pm
Ozymandias wrote:
Fri Nov 22, 2019 9:31 pm
When I tell people where the heating home comes from, they usually laugh, but I never knew what's laughable about killing two birds with one stone.
Because it's like using your Rocket Launcher to kill a fly. Sure, you already have the rocket launcher, and you want to kill the fly, but who's going to buy the weapon for that?
Anybody who planned to launch a rocket in the first place.

Dann Corbit
Posts: 10308
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: What is the purpose of chess engines?

Post by Dann Corbit » Sat Nov 23, 2019 8:44 am

William Herschel:
Because no one else was making mirrors of the size and magnification desired by Herschel, he determined to make his own.[43] This was no small undertaking. He was assisted by his sister Caroline and other family members. Caroline Herschel described the pouring of a 30-foot-focal-length mirror:

A day was set apart for casting, and the metal was in the furnace, but unfortunately it began to leak at the moment when ready for pouring, and both my brothers and the caster with his men were obliged to run out at opposite doors, for the stone flooring (which ought to have been taken up) flew about in all directions, as high as the ceiling. My poor brother fell, exhausted with heat and exertion, on a heap of brickbats. Before the second casting was attempted, everything which could ensure success had been attended to, and a very perfect metal was found in the mould, which had cracked in the cooling.

Antony Van Leewenhook paid a girl to grow life in her socks so he could examine them with his microscope and would stop strangers on the street and ask them if he could scrape their teeth so he could look at the germs.

So what I am saying is, "Don't bother looking for a good reason. Some of us just have a screw loose and don't know where to draw the line."
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.

Dann Corbit
Posts: 10308
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: What is the purpose of chess engines?

Post by Dann Corbit » Sat Nov 23, 2019 8:46 am

William Herschel:
Because no one else was making mirrors of the size and magnification desired by Herschel, he determined to make his own.[43] This was no small undertaking. He was assisted by his sister Caroline and other family members. Caroline Herschel described the pouring of a 30-foot-focal-length mirror:

A day was set apart for casting, and the metal was in the furnace, but unfortunately it began to leak at the moment when ready for pouring, and both my brothers and the caster with his men were obliged to run out at opposite doors, for the stone flooring (which ought to have been taken up) flew about in all directions, as high as the ceiling. My poor brother fell, exhausted with heat and exertion, on a heap of brickbats. Before the second casting was attempted, everything which could ensure success had been attended to, and a very perfect metal was found in the mould, which had cracked in the cooling.

Antony Van Leewenhook paid a girl to grow lice in her socks so he could examine them with his microscope and would stop strangers on the street and ask them if he could scrape their teeth so he could look at the germs.

So what I am saying is, "Don't bother looking for a good reason. Some of us just have a screw loose and don't know where to draw the line."
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.

chrisw
Posts: 2536
Joined: Tue Apr 03, 2012 2:28 pm

Re: What is the purpose of chess engines?

Post by chrisw » Sat Nov 23, 2019 12:36 pm

Dann Corbit wrote:
Sat Nov 23, 2019 8:46 am
William Herschel:
Because no one else was making mirrors of the size and magnification desired by Herschel, he determined to make his own.[43] This was no small undertaking. He was assisted by his sister Caroline and other family members. Caroline Herschel described the pouring of a 30-foot-focal-length mirror:

A day was set apart for casting, and the metal was in the furnace, but unfortunately it began to leak at the moment when ready for pouring, and both my brothers and the caster with his men were obliged to run out at opposite doors, for the stone flooring (which ought to have been taken up) flew about in all directions, as high as the ceiling. My poor brother fell, exhausted with heat and exertion, on a heap of brickbats. Before the second casting was attempted, everything which could ensure success had been attended to, and a very perfect metal was found in the mould, which had cracked in the cooling.

Antony Van Leewenhook paid a girl to grow lice in her socks so he could examine them with his microscope and would stop strangers on the street and ask them if he could scrape their teeth so he could look at the germs.

So what I am saying is, "Don't bother looking for a good reason. Some of us just have a screw loose and don't know where to draw the line."
Good answer, and true too, world needs loose screws. The loose screws are the ones that make the step progressions. Unfortunately for the loose screws, for every ten thousand of them, or more, only one does actually something the world eventually recognises as useful, or overthrows some prior theory or whatever. The other 9999 not. Even more unfortunately for the loose screw that makes a breakthrough, Stigler's Law usually applies:

Stigler's law of eponymy, proposed by University of Chicago statistics professor Stephen Stigler in his 1980 publication "Stigler's law of eponymy", states that no scientific discovery is named after its original discoverer.

I think someone pointed out that Stigler's Law even proves itself. Stigler was not the first person to propose Stigler's Law.

User avatar
Ovyron
Posts: 3448
Joined: Tue Jul 03, 2007 2:30 am

Re: What is the purpose of chess engines?

Post by Ovyron » Sat Nov 23, 2019 1:19 pm

chrisw wrote:
Sat Nov 23, 2019 12:36 pm
The loose screws are the ones that make the step progressions. Unfortunately for the loose screws, for every ten thousand of them, or more, only one does actually something the world eventually recognises as useful, or overthrows some prior theory or whatever.
The question is, does the world deserve it? In my experience, only taking into account the people you can count (you won't know about up to 99.999%+ of people that knows about your work bu stays silent) the splits are even:

About 1/3 of the people will be grateful and will thank you, and encourage you to do more, provide useful feedback, advice, and requests.

About 1/3 of the people will be indifferent, and won't care if you continue or halt or if you wouldn't have released anything in the first place.

The remaining 1/3 will dislike your work, will attack it, will provide negative comments about it, will tell you to dedicate your time to something else... and some will even pretend to be from the first 1/3 group, but you can tell these apart because they will offer destructive criticism, say things that hurt that would want you make to quit, and if you do a single thing that they truly like, they'll tell you to abandon every single other thing you're doing and just produce this thing they liked.

I'll call this third group "bad critics". They're useful because if all you're getting is positive feedback, it means your work hasn't gotten the attention of enough people, or if it has, it means you haven't done anything noteworthy yet. One bad critics appear, you'll know you're doing something right, or something important enough that they will attack it.

I have met some people in this this group that I've disliked so much that I'm convinced they don't deserve to see my work, and just for them, the work has gone private. That's how I ended with +26 hours of remixed music unreleased, only for family and friends that come over. One day I went to Twitch to a channel with a guy that listened to people's music and gave his opinion. Once it was my turn, I sent one of my "from scratch" songs (where I play every note by myself), while people in the chat liked it, he wasn't impressed, and focused on the technical merits of it. The melody and arrangement weren't important, and in the end I regretted sharing it at all, because it was clear he did not deserve to listen to it.

Discovering how your biggest fans really are is the most discouraging thing, so remaining private and only sharing with those that deserve it is the way to go for me.

User avatar
mclane
Posts: 16567
Joined: Thu Mar 09, 2006 5:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub
Contact:

Re: What is the purpose of chess engines?

Post by mclane » Sat Nov 23, 2019 6:10 pm

IMO it makes not much sense to open a door with a TNT bomb instead a key that fits.
After using this explosive the house is not there anymore. Ok the door is open. But it makes not much sense.

I would like to see programmers use the todays hardware to program intelligent way.

No tnt needed. Just calculating the right positions and pruning those positions that are not needed.

My old dedicated chess computers with 6502 on 5 MHz reached almost 2000 ELO with software from ed Schroeder, Dave Kittinger , Frans morsch and the spracklens. They run on battery’s.
No big mainframe needed.

I wish todays programmers would use the thousands of MHz and terrabyte of storage and rom to create an intelligent machine that is doing something senseful.

Instead they need machines with 600 watt and 2 graphic cards to catch the purpose.


Sorry I am Maybe old fashioned. But I thought chess is about knowledge.

And not about using tnt to open the door.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....

User avatar
Ovyron
Posts: 3448
Joined: Tue Jul 03, 2007 2:30 am

Re: What is the purpose of chess engines?

Post by Ovyron » Sat Nov 23, 2019 7:29 pm

mclane wrote:
Sat Nov 23, 2019 6:10 pm
Sorry I am Maybe old fashioned.
Nah, I agree with you. This good design philosophy applies for everything, for instance, websites and video sites have acquired really big resources to check themselves, so they have gotten careless about their usage, resulting in websites that require increasingly more CPU and memory to do the same thing good design was doing 10 years ago with a fraction of the resources.

If their resources were limited, they would need to design well. So a well designed chess engine is yet to come again (I picture one that plays better chess on slow hardware, being able to surpass the best alternate approaches in the fastest thing around, even if it, itself, wouldn't be able to play stronger than it does if more resources were given to it, because whatever it does, it doesn't require big resources, just like a child genius can play amazing chess without a big brain.)

chrisw
Posts: 2536
Joined: Tue Apr 03, 2012 2:28 pm

Re: What is the purpose of chess engines?

Post by chrisw » Sat Nov 23, 2019 8:41 pm

Ovyron wrote:
Sat Nov 23, 2019 1:19 pm
chrisw wrote:
Sat Nov 23, 2019 12:36 pm
The loose screws are the ones that make the step progressions. Unfortunately for the loose screws, for every ten thousand of them, or more, only one does actually something the world eventually recognises as useful, or overthrows some prior theory or whatever.
The question is, does the world deserve it?
Almost certainly not. Problem is, by withdrawing from the world, you don’t get to meet the occasional one or two that are worth it. And special people are worth the whole world. Well, I think so. The secret, my older self tells my younger self, is to be fully confident in what you are doing, have no need for praise or anything else from others, because you know what are doing is worthwhile. Social approval?! No way.

In my experience, only taking into account the people you can count (you won't know about up to 99.999%+ of people that knows about your work bu stays silent) the splits are even:

About 1/3 of the people will be grateful and will thank you, and encourage you to do more, provide useful feedback, advice, and requests.

About 1/3 of the people will be indifferent, and won't care if you continue or halt or if you wouldn't have released anything in the first place.

The remaining 1/3 will dislike your work, will attack it, will provide negative comments about it, will tell you to dedicate your time to something else... and some will even pretend to be from the first 1/3 group, but you can tell these apart because they will offer destructive criticism, say things that hurt that would want you make to quit, and if you do a single thing that they truly like, they'll tell you to abandon every single other thing you're doing and just produce this thing they liked.

I'll call this third group "bad critics". They're useful because if all you're getting is positive feedback, it means your work hasn't gotten the attention of enough people, or if it has, it means you haven't done anything noteworthy yet. One bad critics appear, you'll know you're doing something right, or something important enough that they will attack it.

I have met some people in this this group that I've disliked so much that I'm convinced they don't deserve to see my work, and just for them, the work has gone private. That's how I ended with +26 hours of remixed music unreleased, only for family and friends that come over. One day I went to Twitch to a channel with a guy that listened to people's music and gave his opinion. Once it was my turn, I sent one of my "from scratch" songs (where I play every note by myself), while people in the chat liked it, he wasn't impressed, and focused on the technical merits of it. The melody and arrangement weren't important, and in the end I regretted sharing it at all, because it was clear he did not deserve to listen to it.

Discovering how your biggest fans really are is the most discouraging thing, so remaining private and only sharing with those that deserve it is the way to go for me.

dragontamer5788
Posts: 201
Joined: Thu Jun 06, 2019 6:05 pm
Full name: Percival Tiglao

Re: What is the purpose of chess engines?

Post by dragontamer5788 » Sun Nov 24, 2019 4:16 am

Ovyron wrote:
Sat Nov 23, 2019 7:29 pm
mclane wrote:
Sat Nov 23, 2019 6:10 pm
Sorry I am Maybe old fashioned.
Nah, I agree with you. This good design philosophy applies for everything, for instance, websites and video sites have acquired really big resources to check themselves, so they have gotten careless about their usage, resulting in websites that require increasingly more CPU and memory to do the same thing good design was doing 10 years ago with a fraction of the resources.

If their resources were limited, they would need to design well. So a well designed chess engine is yet to come again (I picture one that plays better chess on slow hardware, being able to surpass the best alternate approaches in the fastest thing around, even if it, itself, wouldn't be able to play stronger than it does if more resources were given to it, because whatever it does, it doesn't require big resources, just like a child genius can play amazing chess without a big brain.)
I guess its a matter of perspective.

From my perspective, I see CPU-programmers as the "lazy" ones who leave most of the work to the chip-architect. Your CPUs spends a huge amount of energy performing speculative execution: (branch-prediction, prefetching). The CPU also cuts up the instruction stream with out-of-order execution, going as far as rearranging instructions to automatically discover parallelism. Well, that, and pipelines, super-scalar parallelism, and more.

This brings up the question: do chess programs really need speculative execution, branch prediction, memory-prefetching, or out-of-order algorithms running? All of these features cost precious energy and die-space. If the CPU "branch prediction speculation fails" and executes 15-clock cycles on the wrong if-statement branch, the energy costs associated with those ~15-instructions are still spent.

Think about the total costs: a modern Intel Skylake cores have 180 "renamed registers" and 168 "renamed vector (256-bit) registers". That's 6816 bytes of "real register space" on Skylake, despite the fact that only 16x 64-bit registers (RAX through R15) + 16x AVX registers (YMM0 through YMM15) are exposed to the programmer.

But really, think about how messed up this is. Intel Skylake gives 640-bytes of registers to the programmer, but keeps 6176-bytes for itself (aka: for Tomasulo's algorithm). This doesn't count store-buffers, reorder buffers, or pipelines either... the out-of-order execution features of a modern CPU truly costs a huge amount of resources.

-------

GPU cores are in-order with shallow pipelines. Heck, GPU cores don't even get their own instruction-pointers, you gotta share that with your fellow nearby threads (aka: Warps or Wavefronts). GPUs require the programmer to explicitly code parallelism. The "many threads" of a GPU aren't so much a feature as they are a curse: all of the features that made modern CPUs fast have been thrown away in the GPU-world.

You're given 16384-threads on the Vega64 to try to even-the-odds, but there's a reason most people still write code for CPUs. Because writing code for 1-thread (and having an extremely complicated machine automatically discover parallelism in that program) is far easier than explicitly writing parallelism across 16384x threads.

Also: the GPU core gives you 256x 32-bit registers. Without any of the reordering stuff going on, GPUs can just give the programmer and compiler plenty of space to get work done.

Post Reply