Reply
 
LinkBack Thread Tools Display Modes
  #1   Report Post  
Old February 8th 08, 09:41 AM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jul 2004
Posts: 834
Default Improving upon perfect computer play




Imagine that you have a computer that plays perfect chess
because it has reached the point where it is playing from a
tablebase.

The common assumption is that such a computer should choose a
line that leads to mate as quickly as possible, while the losing
side should choose a line that delays the end as long as possible.

Is this really the best way to program such a computer?
Even if it is, it doesn't help the computer to choose
between lines that lead to a win in the same number of
moves. What's the best choice in such cases?

It isn't best if the computer knows that it is playing
another perfect computer. In that case the losing side
should resign rather than dragging things out.

It does not maximize the odds of winning against a human.
The losing side might do better by choosing a line that
has the most available blunders available for the winning
side. A really advanced computer might be able to choose
a line with many available blunders that look like good
moves to a human.

It does not always lead to the shortest win against a human
for the winning side. The winning side might do better by
choosing a slighly longer line that has the many available
blunders for the losing side that lead to quick kills.

Whether the opponent is running out of time also comes
into play; In such a case the winning side might end the
game quicker by chosing unexpected but still winning moves
rather than obvious moves with obvious replies.

Even with large tablebases, there are ways to improve the
computer's play against humans.

--
Guy Macon
http://www.guymacon.com/

  #2   Report Post  
Old February 9th 08, 02:12 AM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Nov 2007
Posts: 232
Default Improving upon perfect computer play

Guy Macon wrote:
Imagine that you have a computer that plays perfect chess
because it has reached the point where it is playing from a
tablebase.

The common assumption is that such a computer should choose a
line that leads to mate as quickly as possible, while the losing
side should choose a line that delays the end as long as possible.

Is this really the best way to program such a computer?
Even if it is, it doesn't help the computer to choose
between lines that lead to a win in the same number of
moves. What's the best choice in such cases?

It isn't best if the computer knows that it is playing
another perfect computer. In that case the losing side
should resign rather than dragging things out.

It does not maximize the odds of winning against a human.
The losing side might do better by choosing a line that
has the most available blunders available for the winning
side. A really advanced computer might be able to choose
a line with many available blunders that look like good
moves to a human.

It does not always lead to the shortest win against a human
for the winning side. The winning side might do better by
choosing a slighly longer line that has the many available
blunders for the losing side that lead to quick kills.

Whether the opponent is running out of time also comes
into play; In such a case the winning side might end the
game quicker by chosing unexpected but still winning moves
rather than obvious moves with obvious replies.

Even with large tablebases, there are ways to improve the
computer's play against humans.



All of these points have been discussed ad nauseum in the quest to
solving checkers.

You can find the history, and result of many of the discussions in
One Jump Ahead. Available on Amazon.

These exact same problems came up in checkers. They are even further
down the path, because of cooks, the existing preprinted knowledge, and
because the game was weakly solved rather than just solved by tablebase.

  #3   Report Post  
Old February 9th 08, 02:54 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Dec 2007
Posts: 4
Default Improving upon perfect computer play

Yes but imagine trying to store all those positions in the tablebase!
Nearly impossible! Our technology as it stands today cannot solve
chess.
  #4   Report Post  
Old February 9th 08, 07:39 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jul 2004
Posts: 834
Default Improving upon perfect computer play




Paolo wrote:

Yes but imagine trying to store all those positions in the tablebase!
Nearly impossible!


Not needed. The tablebase allows the computer to play perfectly
from positions in the tablebase and to do so almost instantly.
Imagine a computer playing from a positon that the tablebase
says is as sure loss, against a human opponent who might not see
the win or who might blunder. The computer playing from the
losing position doesn't have to instantly pick one of the
various losing moves available. It can spend half a minute
analysing the alternatives and picking the one losing move
that it calculates to contain the most opportunities for a
human error.

Our technology as it stands today cannot solve chess.


Irrelevant. Our technology as it stands today has solved
that subset of chess that occurs after the players trade
down to six men total on the board, and my suggestions as
to inproving the chances of a computer against a human are
valid in such positions.

--
Guy Macon
http://www.guymacon.com/

  #5   Report Post  
Old February 11th 08, 09:03 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jul 2006
Posts: 1,015
Default Improving upon perfect computer play

On Feb 8, 9:41*am, Guy Macon http://www.guymacon.com/ wrote:
Imagine that you have a computer that plays perfect chess
because it has reached the point where it is playing from a
tablebase.

The common assumption is that such a computer should choose a
line that leads to mate as quickly as possible, while the losing
side should choose a line that delays the end as long as possible.

Is this really the best way to program such a computer?
Even if it is, it doesn't help the computer to choose
between lines that lead to a win in the same number of
moves. *What's the best choice in such cases?


Any of them will do. I suppose you could perhaps give them ratings
according to symmetry or other aesthetic considerations.

It isn't best if the computer knows that it is playing
another perfect computer. *In that case the losing side
should resign rather than dragging things out.


That produces strange results playing humans. Where if you play the
right move at the start of tablebase play it assumes you must know
what you are doing and promptly resigns.

It does not maximize the odds of winning against a human.
The losing side might do better by choosing a line that
has the most available blunders available for the winning
side. *A really advanced computer might be able to choose
a line with many available blunders that look like good
moves to a human.


Indeed for optimum play against a human or an imperfect computer you
want as many pinch points as possible along the game tree where the
smallest number of good lines are offered to the opponent. And in an
ideal world the right move should not be obvious.

It does not always lead to the shortest win against a human
for the winning side. *The winning side might do better by
choosing a slighly longer line that has the many available
blunders for the losing side that lead to quick kills.


If you really want to do this you need to optimise on the expectation
value of the moves to end of game. This requires that you have some
kind of model of your opponents intrinsic strength.

Whether the opponent is running out of time also comes
into play; In such a case the winning side might end the
game quicker by chosing unexpected but still winning moves
rather than obvious moves with obvious replies.

Even with large tablebases, there are ways to improve the
computer's play against humans.


Indeed. But only in the sense of ending the game a bit sooner through
unforced error by the opponent. Once you are into deterministic
tablebases the outcome is certain and fast to compute.

Regards,
Martin Brown


  #6   Report Post  
Old February 12th 08, 04:19 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Apr 2005
Posts: 2,598
Default Improving upon perfect computer play

Martin Brown wrote:
Guy Macon http://www.guymacon.com/ wrote:
It does not maximize the odds of winning against a human. The
losing side might do better by choosing a line that has the most
available blunders available for the winning side. A really
advanced computer might be able to choose a line with many
available blunders that look like good moves to a human.


Indeed for optimum play against a human or an imperfect computer you
want as many pinch points as possible along the game tree where the
smallest number of good lines are offered to the opponent. And in an
ideal world the right move should not be obvious.


I believe that `conspiracy number search' does something like this.
I'm not fully up on the details but the basic idea is to score a node
by the number of subnodes that would have to change their value in
order to alter the result of the search. I don't have time to look
into this right now but would be interested to read anything that
people might post on the subject.

For attempting to swindle with EGTBs, though, you might want to look
at the proportion of nodes rather than the absolute number. (Or,
perhaps, some slightly more complex function of the number of legal
moves and the number of winning moves.)

Even with large tablebases, there are ways to improve the
computer's play against humans.


Indeed. But only in the sense of ending the game a bit sooner
through unforced error by the opponent. Once you are into
deterministic tablebases the outcome is certain and fast to compute.


That's fine if the (perfect) computer is winning but you also need to
consider the case where it's losing. The tablebase just shrugs and
says ``Every move loses,'' but we want to come up with something
better, based on the assumption that the opponent will make mistakes.
Essentially, we want a program that plays perfectly when it can win
and attempts to swindle when it can't.


Dave.

--
David Richerby Carnivorous Incredible Toy (TM): it's
www.chiark.greenend.org.uk/~davidr/ like a fun child's toy but it'll blow
your mind and it's full of teeth!
  #7   Report Post  
Old February 13th 08, 02:01 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jul 2004
Posts: 834
Default Improving upon perfect computer play




David Richerby wrote:

Martin Brown wrote:

Guy Macon http://www.guymacon.com/ wrote:

It does not maximize the odds of winning against a human. The
losing side might do better by choosing a line that has the most
available blunders available for the winning side. A really
advanced computer might be able to choose a line with many
available blunders that look like good moves to a human.


Indeed for optimum play against a human or an imperfect computer you
want as many pinch points as possible along the game tree where the
smallest number of good lines are offered to the opponent. And in an
ideal world the right move should not be obvious.


I believe that `conspiracy number search' does something like this.
I'm not fully up on the details but the basic idea is to score a node
by the number of subnodes that would have to change their value in
order to alter the result of the search. I don't have time to look
into this right now but would be interested to read anything that
people might post on the subject.

For attempting to swindle with EGTBs, though, you might want to look
at the proportion of nodes rather than the absolute number. (Or,
perhaps, some slightly more complex function of the number of legal
moves and the number of winning moves.)

....
consider the case where [the perfect player is] losing.
The tablebase just shrugs and says "Every move loses,"
but we want to come up with something better, based on
the assumption that the opponent will make mistakes.
Essentially, we want a program that plays perfectly
when it can win and attempts to swindle when it can't.


I wasn't aware of conspiracy numbers. Fascinating idea!

From [ http://www.maths.nott.ac.uk/personal...T1/compch.html ]:

"Yet another idea is to extend by using 'conspiracy numbers.' The
conspiracy number of a node is the number of subnodes whose value
would have to change to upset the current evaluation. Crudely,
the idea is that if there are lots of ways in which you seem to
be winning, then if some of them are wrong you have a good chance
that one of them will still work, whereas if there is just one
line that seems to work, you are in trouble if it goes wrong.
So you should concentrate your efforts on the nodes with the
smallest conspiracy numbers at high levels.

and

"Complication vs. simplicity: If you are losing, then sometimes
the best plan is to battle on and on playing 'correct' moves in
the hope that your opponent will make a mistake. But sometimes
it is to seek complications, making objectively inferior moves
that nevertheless make it more likely that the opponent will
blunder. Conversely, when winning, quite often the best plan
is to 'sacrifice' some of your advantage in order to simplify
the position and prevent your opponent from having swindling
chances. Computers find this concept very difficult! An
occasional manifestation of this in chess programs occurs
when, for no apparent reason, the program throws away a rook,
say, into a totally lost position; when you analyse to find
why it did this, you discover that if it had played the
'correct' move, there was a horrendously obscure plan that
you had completely missed that would have won even more
than a rook if you had seen it. Programs need to learn
when 'I hope you miss it' is more productive than 'Oh dear,
I'm obviously losing.'"

(There are lots of other interesting comments on that page.)



--
Guy Macon
http://www.guymacon.com/

Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Now, play Chess with Human Opponents OR Computer at GetClub Site. Sanny rec.games.chess.computer (Computer Chess) 1 October 5th 07 11:58 AM
rec.games.chess.misc FAQ [2/4] [email protected] rec.games.chess.misc (Chess General) 0 March 22nd 06 05:35 AM
rec.games.chess.misc FAQ [2/4] [email protected] rec.games.chess.misc (Chess General) 0 March 7th 06 05:30 AM
rec.games.chess.misc FAQ [2/4] [email protected] rec.games.chess.misc (Chess General) 0 February 19th 06 05:44 AM
rec.games.chess.misc FAQ [2/4] [email protected] rec.games.chess.misc (Chess General) 0 October 19th 05 05:37 AM


All times are GMT +1. The time now is 09:51 AM.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2004-2019 ChessBanter.
The comments are property of their posters.
 

About Us

"It's about Chess"

 

Copyright © 2017