What is the purpose of chess engines?

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

Moderators: hgm, Rebel, chrisw

chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: What is the purpose of chess engines?

Post by chrisw »

Ovyron wrote: Tue Nov 19, 2019 6:05 pm
chrisw wrote: Tue Nov 19, 2019 5:14 pmPedantically, while white may play one move only, e4, he must have a move stored for all of blacks replies (20 moves), and after the White stored move, another move for all black replies. So now we are four ply deep or whatever and we need 500 moves stored. Keep multiplying by 30 or so every other ply, you’ll be in LaLa land shortly. No possible. Space not available.
Heh, it's curious that you brought up the Tower of Babel in your other post, because I can use something similar to prove you wrong, let me introduce you to...
Yes, it's quite exciting when one discovers that concept for the first time. One imagines one is the first discoverer and needs to tell everyone else the fascinating news.
Unfortunately, it again doesn't help your argument to shift it uselessly into yet another place where the same problems of space and time arise.
Shall we discuss Flat Earth Theory instead? One can generate way more challenging and interesting theories and arguments if one takes the Flat Earth side, just for fun. Chess solve theorising is a bit boring, really, there's just the time problem and the space problem, once past those, well, end of theories.
How about Antartica being a giant plug holding back the world's interior from falling out of the bottom of the earth?

The Library of Babel.

This guy has encoded everything that could be said ever. So on there there's a copy of our entire conversation.

Here's a link of a page that contains the text you typed in that I just quoted, and note this page already contained your text before you typed it.

The Library of Babel contains already the solution to chess and any other game you could come up with, a series of instruction of how to make a program that plays EGTB32 moves on chess positions without having to store them, and anything you can think of.

Let me demonstrate.

Since we don't have special symbols for FEN I'll make up my own chess notation. Pieces are denoted as wr wn wb wk wq wp for white and br bn bb bk bq bp for black. ee would be empty spaces. Moves will be denoted with common coordinates as starting square and ending square. We can afford to use full names for numbers instead of numbers. We don't need to specify the side to move, because we can just store what would be white's best move and black's best move if they were to move.

Suppose that from the opening position d4 (d two d four) is white's best move, and for the sake of completion, d5 (d seven d five) was black's best move (if black had to move first from the starting position). It'd look encoded like this:

Code: Select all

br bn bb bq bk bb bn br
bp bp bp bp bp bp bp bp
ee ee ee ee ee ee ee ee
ee ee ee ee ee ee ee ee
ee ee ee ee ee ee ee ee
ee ee ee ee ee ee ee ee
wp wp wp wp wp wp wp wp 
wr wn wb wq wk wb wn wr
d two d four
d seven d five
Well, before I woke up this morning this page already contained this text.

What about that position where Gusev played Qxe5 and the fastest time to find it has been 3 seconds? It'd look encoded like this:

This page shows the solution instantly. Turns out if black was to move Rxd6 would be best, who knew?

So the solution to any chess position is encoded already in the Library of Babel.

Unfortunately, all chess positions and all their playable moves are also encoded there, so you can't tell them apart, but if someone can come up with an algorithm that deleted all pages with chess positions encoded like this from the Library of Babel, except for those that have the best move from white and for black, then you'd have your EGTB32. How ironic is it that instead of having to store info about the best moves, a chess map would need us to delete all non-best moves?
dragontamer5788
Posts: 201
Joined: Thu Jun 06, 2019 8:05 pm
Full name: Percival Tiglao

Re: What is the purpose of chess engines?

Post by dragontamer5788 »

crem wrote: Sat Nov 16, 2019 5:21 pm 1. To participate in TCEC / CCCC / other competitions.

4. To analyze your games.

5. To assist opening preparation.
In the context of computer-chess, #4 and #5 seem to be the same, while #1 seems to be slightly different.

Chess-competition has strict time-controls. From 24-hour correspondence chess to 5-minute blitz, there is a strict time-limit per move. This is the defining trait of #1.

In contrast, #4 and #5 have "infinite" time, as much as the user wishes to wait for. In theory, you can spend a year analyzing a singular position (ideally, with the results being written to some kind of storage to be referenced at a later point in time). "Analyzing a game" effectively means looking for a mistake: trying to find a move where either you, or the opponent, could have made a better move.

Opening preparation is slightly different: looking for a position where opponents can more easily make a mistake (under standard time controls).

---------

I've commented in the "Hard Drive" thread that the next generation of 18TB hard drives will take over a day to write. 25-hours actually, assuming 200MB/s write speeds. As such, we can split #1 as "strictly reading from storage": there's no realistic way to use all 18TBs of future hard drives effectively even within 24-hours of correspondence chess pondering... but its more than possible to generate an index and maybe access the 0.1% of data that might be useful in a particular match.

In contrast, #4 analysis, especially #5 opening analysis (or endgame retrograde analysis) can fill up the 18TBs of hard drive data that may become useful in a competition.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: What is the purpose of chess engines?

Post by Ovyron »

chrisw wrote: Tue Nov 19, 2019 7:02 pmYes, it's quite exciting when one discovers that concept for the first time. One imagines one is the first discoverer and needs to tell everyone else the fascinating news.
Unfortunately, it again doesn't help your argument to shift it uselessly into yet another place where the same problems of space and time arise.
Shall we discuss Flat Earth Theory instead? One can generate way more challenging and interesting theories and arguments if one takes the Flat Earth side, just for fun. Chess solve theorising is a bit boring, really, there's just the time problem and the space problem, once past those, well, end of theories.
How about Antartica being a giant plug holding back the world's interior from falling out of the bottom of the earth?
So you admit defeat in the chess territory and want to explore conspiracy theory territory? No thanks. Though if you really want feel free to create a thread in the Chess Thinkers Forum and invite me over.

I have dedicated almost half of my life into building and expanding chess maps, referred to as chess trees or chess graphs, and have analyzed almost 4 million chess positions manually (that have their moves ranked from best to worst). If that means nothing to you and you'd rather discuss flat Earth, it's clear you're the wrong person to discuss chess with.
chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: What is the purpose of chess engines?

Post by chrisw »

Ovyron wrote: Wed Nov 20, 2019 7:22 am
chrisw wrote: Tue Nov 19, 2019 7:02 pmYes, it's quite exciting when one discovers that concept for the first time. One imagines one is the first discoverer and needs to tell everyone else the fascinating news.
Unfortunately, it again doesn't help your argument to shift it uselessly into yet another place where the same problems of space and time arise.
Shall we discuss Flat Earth Theory instead? One can generate way more challenging and interesting theories and arguments if one takes the Flat Earth side, just for fun. Chess solve theorising is a bit boring, really, there's just the time problem and the space problem, once past those, well, end of theories.
How about Antartica being a giant plug holding back the world's interior from falling out of the bottom of the earth?
So you admit defeat in the chess territory and want to explore conspiracy theory territory? No thanks.
Writing that, it seemed unimaginable anyone would take it as a literal suggestion to discuss Flat Earth.
Though if you really want feel free to create a thread in the Chess Thinkers Forum and invite me over.

I have dedicated almost half of my life into building and expanding chess maps, referred to as chess trees or chess graphs, and have analyzed almost 4 million chess positions manually (that have their moves ranked from best to worst).
very good, only another universe-full-of-atoms positions to go. Wake us up when we're approaching the next big bang, and tell us how you got on.
If that means nothing to you and you'd rather discuss flat Earth, it's clear you're the wrong person to discuss chess with.
It means that constraints of space and time preclude arriving at a solution based on space and/or time.
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: What is the purpose of chess engines?

Post by mclane »

Maybe you could both come back to computerchess without references into the esoterical world.
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: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: What is the purpose of chess engines?

Post by Ovyron »

chrisw wrote: Wed Nov 20, 2019 11:56 amvery good, only another universe-full-of-atoms positions to go. Wake us up when we're approaching the next big bang, and tell us how you got on.
But why? As I said, I only need the top ranked move of all positions that I'll play in my life, and those can easily fit in under 1TB.

I don't need anything on 1.f3 if nobody ever will play that move against me.

I don't need anything on 1.d4 f6 if nobody ever will play that move against me.

I can go on like this, and it turns out the positions I actually need info on are less than 40 million, and thus I'm almost 10% done of having a chess map that will cover everything I'll ever need, the other vagillion positions that some EGTB32 would contain would be useless to me.

Of course my personal chess map would be useless for anybody else, as soon as someone sees a position I will not see in my life they'd check my map and see it has nothing and they'll find it useless. But for me, I don't need more, and this isn't about me, anybody could do this and only need to have answers about the positions they will see. What is the upperbound of chess positions a person sees on their life, anyway? By fermi estimation the upperbound of the upperbound should be 400 million positions, so an individual wouldn't need more than that.

PROOF:

Suppose I quit chess tomorrow and never see a chess position again in my life. Well, it'd turn out the chess maps I built were enough for me, and I didn't need more than that, because any extra info would have been useless to me.
chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: What is the purpose of chess engines?

Post by chrisw »

Ovyron wrote: Wed Nov 20, 2019 3:20 pm
chrisw wrote: Wed Nov 20, 2019 11:56 amvery good, only another universe-full-of-atoms positions to go. Wake us up when we're approaching the next big bang, and tell us how you got on.
But why? As I said, I only need the top ranked move of all positions that I'll play in my life, and those can easily fit in under 1TB.

I don't need anything on 1.f3 if nobody ever will play that move against me.

I don't need anything on 1.d4 f6 if nobody ever will play that move against me.

I can go on like this, and it turns out the positions I actually need info on are less than 40 million, and thus I'm almost 10% done of having a chess map that will cover everything I'll ever need, the other vagillion positions that some EGTB32 would contain would be useless to me.

Of course my personal chess map would be useless for anybody else, as soon as someone sees a position I will not see in my life they'd check my map and see it has nothing and they'll find it useless. But for me, I don't need more, and this isn't about me, anybody could do this and only need to have answers about the positions they will see. What is the upperbound of chess positions a person sees on their life, anyway? By fermi estimation the upperbound of the upperbound should be 400 million positions, so an individual wouldn't need more than that.

PROOF:

Suppose I quit chess tomorrow and never see a chess position again in my life. Well, it'd turn out the chess maps I built were enough for me, and I didn't need more than that, because any extra info would have been useless to me.
DISPROOF:
Putting Descartes before the horse.
Suppose at some point and time before you quit, call it N-1, the chess maps(s) you built so far up to that point will contain all this information about chess moves you have played so far, but not information (unless by chance) about the next chess move you will encounter at time state N. Your map doesn't help you. It doesn't contain all the information you actually need, you only add that information to the map AFTER the time of needing it. And so on via N-2, N-3 back to N=1.
Your map cannot contain all the information you'll ever need, because you don't know what you might need beforehand.
  • What is the upperbound of chess positions a person sees on their life, anyway? By fermi estimation the upperbound of the upperbound should be 400 million positions, so an individual wouldn't need more than that.
This argument requires time travel.
Overlooks that the Venn diagram of these 'fermi positions that are seen after they occurred' does not necessarily overlap with 'all the positions that might occur before you started looking'. Basically you are taking a timeline of what did happen in one universe (history) and back-project claiming it is the same time line that would have/could have/did happen in all other possible futures that you could not have predicted an individual would have needed at the start time. Use of time travel to get round the time-space problem is not permitted. Still failing on the same time-space problem.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: What is the purpose of chess engines?

Post by Ovyron »

chrisw wrote: Wed Nov 20, 2019 3:50 pm This argument requires time travel.
Not really, because I don't need to have a chess map for all the positions I'll need in my life, when an opponent makes a move, I'll know what position I need, because I'm seeing it, so I just need to build the part of the chess map that I need to rank the best move at the top (what the "chess truth" would rank at the top), and play it, and I just need to do that before my time on the clock runs out.

The purpose of chess engines would then be, for those that seek the truth, to help them build the part of the chess map that would allow them to see the chess truth of the position, AKA what is the move that would maximize their lifetime performance in the position on the board where they have to play (and ONLY in that position, the rest of chess positions are irrelevant at this point, this is why you don't need to solve chess.)

And if a lucky random mover can play the top chess map move by chance, then nothing stops me from building a part of the map that allows me to see enough to rank it first, without requiring access to the solution of chess.
chrisw
Posts: 4313
Joined: Tue Apr 03, 2012 4:28 pm

Re: What is the purpose of chess engines?

Post by chrisw »

Ovyron wrote: Wed Nov 20, 2019 4:15 pm
chrisw wrote: Wed Nov 20, 2019 3:50 pm This argument requires time travel.
Not really, because I don't need to have a chess map for all the positions I'll need in my life, when an opponent makes a move, I'll know what position I need, because I'm seeing it, so I just need to build the part of the chess map that I need to rank the best move at the top (what the "chess truth" would rank at the top), and play it, and I just need to do that before my time on the clock runs out.

The purpose of chess engines would then be, for those that seek the truth, to help them build the part of the chess map that would allow them to see the chess truth of the position, AKA what is the move that would maximize their lifetime performance in the position on the board where they have to play (and ONLY in that position, the rest of chess positions are irrelevant at this point, this is why you don't need to solve chess.)

And if a lucky random mover can play the top chess map move by chance, then nothing stops me from building a part of the map that allows me to see enough to rank it first, without requiring access to the solution of chess.
Ah! I thought this was a philosophical discussion about approaching some perfect database (map) for everybody to use.

But it turns out to be about a database of your games plus a chess engine to operate on the leaf nodes in the database, at the time of meeting them, and dependent on what your opponent did to get you there.

What’s new there over ChessBase and Fritz?
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: What is the purpose of chess engines?

Post by Ovyron »

chrisw wrote: Wed Nov 20, 2019 5:12 pmAh! I thought this was a philosophical discussion about approaching some perfect database (map) for everybody to use.

But it turns out to be about a database of your games plus a chess engine to operate on the leaf nodes in the database, at the time of meeting them, and dependent on what your opponent did to get you there.
But this discussion has been never about *me*. Switch me for anybody else, and the person you switch me for would have a database that works for everything they'll need in their life. Switch me for *you*, and now it's you who would have something you couldn't tell apart from EGTB32 if you had access to them (because you'd only need covered the positions you'd check, not all of chess.)

Let me remind you how these discussions started, I was talking to Uri Blass about this, and he was claiming that this was impossible to do. The discussions turned about how it'd be impossible even in principle, to being impossible because of time constrains to being impossible because we don't have where to store them to being impossible because of time travel requirements.

But if in the end you accept it is possible for a single person (which in the examples was me) then you have to accept that it'd be possible for at least 2 persons (someone else just does what I'm doing.) And then 3.

What is the maximum number of persons that would be able to have a such database for the positions they'll see on their life?

I claim that anybody in the world that wanted to know the best move ranked in a position could have it. Not everyone in the world is going to request a position checked. Not all positions, just those requested. noobpwnftw could actually give us data about how many people have visited his site and how many positions have been queried (those where you have to click a request because the position you want information about is outside of the DB) to get an idea of the positions that would need to be checked for a chess map.

If you only fulfill the wishes of the people interested, and only about the positions that interest them, a chess map for everyone is within reach. And who knows if nobody will ever be interested in a 1.f3 f6 variation, so everyone wanting to solve chess with the tablebase approach is a fool, because we could already have solutions of some 9piece and 10piece endgames instead of trying to build a 8men monstrosity full of positions nobody will ever check.