Chess Tempo

Username:
Password:
/ Register

User Details

Username:
Blitz Rating:
Standard Rating:
Logout
December 02, 2008, 12:30:38 pm *
Welcome, Guest. Please login or register.
News: SMF - Just Installed!
 
Pages: [1]
Print
Author Topic: How to make more human like defense  (Read 430 times)
argentum
Newbie
*
Posts: 33


View Profile
« on: August 17, 2008, 05:15:42 pm »

Hi,

As you all know there is numerous problems in which the computer evaluation suggest giving material soon to avoid bigger loss later. Most comments are on the line that more human like defense would be to hang on to the material as long as possible and make problem solver see 'the point' of the combination at the end when material gain would be bigger or mate.

I was thinking how to make problem generator to generate problems such away... (btw. I have been a programmer for long time)...

Computer line is chosen as deeply looking into the line and making even material giving moves to avoid bigger loss later.

Now after identifying tactics situation in the games where there is a deep line which leads to advantage... what if the opponent moves were chosen with the criteria that has smallest disadvantage for the longest period of moves and that the bigger disadvantage would materialise just at the end.

How to do that? after identifying the tactical situation make generator choose moves with only very shallow analysis depth. So the opponent moves would try to optimise short term material balance with cost of disadvantage later.

So... deep analysis as now for identifying the situation and shallow analysis for choosing opponent moves. Would that make the opponent responses more human like.

How about trying to make a test set of problems (that have been identified by humans to have non human response) with that sort of problem generator...

Interesting idea or what?  Wink

Logged
tmr
Jr. Member
**
Posts: 58


View Profile
« Reply #1 on: August 17, 2008, 07:05:16 pm »

Doesn't this just mean that the more human move wasn't the best?  To me that is a problem with our "human way of thinking" not a problem with computer play.  I think the difference between the computer move and the human move is that the computer knows it is lost x moves out and the selected move will delay that.  The human either doesn't see the delaying move or doesn't consider playing it given the inevitable loss of more later.

At most levels I think the computer line will be better because at least then your opponent will have more work for the win rather than a nice combination to a quick finish.  Not as flashy for the problem set but probably more approaching what we'd like real life to be than what it really is.  That is the human move helps perpetuate these errors rather than help us see the possibilities past them.
Logged
argentum
Newbie
*
Posts: 33


View Profile
« Reply #2 on: August 17, 2008, 07:27:14 pm »

well... there is a lot of problems where the computer gives (for example) queen in first move to stave of mate in (for example) 4... and the problem is over. it is not sure that the attacker really saw the whole line leading to mate.

the point of the site, as I understand, is to let us humans learn more about chess problems. if the problem is over after first opponent move as computer makes the for sure losing move there is not much point to the problem. many commentators including me has pointed out in many problems that this is not a human response... make a first lucky move, computer gives the queen and it is over. how do we know that the attacker saw the whole line as computer and could have executed the attack correctly.  to make the attacker execute the attack correctly we need computer not to make the for sure losing move in first move. to make it happen the opponent moves should be chosen such a way as to prolong the fight as long as possible. that what the original suggestion is all about.


Logged
drahacikfm
Sr. Member
****
Posts: 417


View Profile
« Reply #3 on: August 17, 2008, 08:00:00 pm »

There was a long discussion on this topic of more "human defense" and how to make the generator do that, a couple months ago in this forum:

http://chesstempo.com/chess-forum/site_feedback/better_defense-t179.0.html

Making the search depth very short will not really work to make defenses more human.  Programs have all kinds of search extensions for checks, captures, threats, etc.  It is not just a simple matter of using a small search depth, but you have to also find a way to disable all the search extensions too, and that gets really messy and produces unpredictable results.  For example, Rybka running on depth 2 WILL see a mate in 5 because of the search extensions.

The best way is probably to just look at all defensive moves, count material in those variations produced by the computer, and have the problem play the defense that keeps the most material for the most moves.

For the special cases of mates, you would have to make some heuristics, such as:  it is better to allow a mate-in-4 than to lose the queen for a knight on the first move.  After making a list of those heuristics, the more "human" defenses could be chosen from all the possible moves by the computer.

But of course then those human defenses have to pass all the tests for acceptable problems (no more than 3 winning moves for the user, 1.0 difference between best and second-best user moves, etc).  You don't want to throw a problem out just because the human defense doesn't pass the tests, when the "computer" defense does.
« Last Edit: August 17, 2008, 08:05:14 pm by drahacikfm » Logged

FIDE Master Drahacik
drahacikfm
Sr. Member
****
Posts: 417


View Profile
« Reply #4 on: August 18, 2008, 11:24:55 am »

A simple algorithm for defense might be:  If the computer is down material, it takes the biggest material it can take if the user does not have mate in one move or in two moves.

At least this would take care of those problems where the user takes a piece on move one, and the computer does not recapture.
« Last Edit: August 18, 2008, 11:34:52 am by drahacikfm » Logged

FIDE Master Drahacik
richard
Administrator
Hero Member
*****
Posts: 990



View Profile
« Reply #5 on: August 19, 2008, 04:53:19 pm »

There are a few good suggestions here.  I'm on the road at the moment so I can't give this thread the reply it deserves at the moment, but hopefully I'll get back to in the next few days.

Regards,
Richard.
Logged
dougy
Newbie
*
Posts: 25


View Profile
« Reply #6 on: October 26, 2008, 03:02:55 pm »

I think it would be difficult to eradicate this problem without going through the problems by hand.  Perhaps it would be possible to allow uses to suggest an alternate reply.

The proposed algorithms seem to have some problems: eg. "...it takes the biggest material..." could result in all sorts of nonsensical sacrifices, while not playing double attacks, etc..  It's difficult to measure the "trickiness" of a move.

A frustrating situation:
(a) Identify an immediate move, move X say
(b) Discover a difficult response from the opponent after playing move X
(c) Play something else instead and get marked wrong
(d) Realise you've just failed a low-rated problem because move X does work after long analysis but it is not required to find the solution

Pedagogically unsound:  finding the right move for the wrong reason.  (eg. 48148)
Logged
richard
Administrator
Hero Member
*****
Posts: 990



View Profile
« Reply #7 on: October 26, 2008, 11:05:28 pm »

This is certainly a tricky problem to solve satisfactorily without human intervention.  In most of these "inhuman" moves situations, it can be usually be shown that the computer move is objectively the best as long as the opponent makes best play. I think the reason most people don't find that satisfactory is  they realise humans don't always produce best play, so they'd like the computer to try and make the human prove they can play the line that the "inhuman" move is (correctly given the assumption of best play) trying to avoid.

I still haven't had time to properly digest all the ideas that have been thrown around, but I suspect that while there may be some heuristics that can improve matters slightly, expecting the generator to fathom human frailty is a bit much to ask. 

I still plan to experiment further with this area of problem generation, but not until I have time to write a cleaned up version of the generator which will make a nicer base for further investigation of these types of ideas.  Unfortunately this is still a while off. 

Human intervention is also a possibility with something like user suggested lines and voting on such lines, after a certain number of votes the suggested line becomes the official line.  This could also be used to solve a few other weaknesses in the generator (such as inappropriate pruning [which is often just "inhuman" moves in disguise] and endgames that the engine can't see far enough into [i'll hopefully introduce endgame tablesbases for the next large problem verification run, but this will only help with a subset of the problematic endgame problems]).

Regards,
Richard.




Logged
uri blass
Full Member
***
Posts: 149


View Profile
« Reply #8 on: October 27, 2008, 01:28:34 am »

1)computer move is not identical to best play.
Best play is move that gives you best practical chances.

If you see that you lose the game then you do not need to choose the move that lose less material but the move that give you more practical chances.

It is practically better to allow your opponent to win the queen when you believe that there is a good chance that your opponent is going to miss it and not to allow your opponent to win a knight when you are sure that he is not going to miss the win.

2)I remember that many years ago I talked about one of my games when in analysis someone suggested that white could play a move that pins my queen and wins the game.

I replied that there is another move that is better because it is a forced mate in some moves after it(I used earlier computer analysis to find it) so she replied that her move is better because her move force immediate resignation when after the computer move I may play some moves or at least think before resigning and she was right.

It means that playing "best" moves by a computer may be a mistake even when they win if the target is to save time because there is practically a faster win by playing a move that in theory win by more moves.
Logged
richard
Administrator
Hero Member
*****
Posts: 990



View Profile
« Reply #9 on: October 27, 2008, 01:47:06 am »

1)computer move is not identical to best play.

I didn't say it was, I deliberately chose the word 'usually' here :-) There are situations as you have pointed out where it may not be the case.  The problem is that often it is a 'depends', it depends on your opponent and it depends on your own skill level.  Some moves are 'safer' than others for people at different skill levels, and this is before looking at the weaknesses inherit in computer analysis such as horizon effects etc.

Even given these situations I still stand by my statement that the computer's move is 'usually' the objectively best move, how many users on this site do you think could take games off toga in a 40/40 game?  The point of my post (which I might not have made clearly enough) was that when playing a human there are situations where the move with the best evaluation isn't the most sensible one due to (sometimes difficult to define) human factors and that it would be nice (but difficult) if the generator [or human site members]) could output (or suggest) moves that were more appropriate when playing humans.

Richard.
Logged
Pages: [1]
Print
Jump to: