Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What to do with Horizon effect?

Author: Robert Hyatt

Date: 18:55:42 11/02/98

Go up one level in this thread


On November 02, 1998 at 19:04:26, Inmann Werner wrote:

>On November 01, 1998 at 13:03:07, Inmann Werner wrote:
>
>>On October 31, 1998 at 19:53:46, Andrew Dados wrote:
>>
>>>
>>>On October 31, 1998 at 16:45:01, Inmann Werner wrote:
>>>
>>>>I have problems with "nearly mate" positions, where the opponent can do some
>>>>checks, so the mate gets beyond the horizon.
>>>>
>>>>One Example (really interesting!)
>>>>
>>>>
>>>>Position (LCTII CMB 01)
>>>>   xrxxxxkx
>>>>   xqxxbpxx
>>>>   xxxpxxpx
>>>>   xxpPxxxx
>>>>   PxNxxxxR
>>>>   xxPxxQPx
>>>>   xPxxxPKx
>>>>   xxxxxxxx
>>>>
>>>>Best: c4d6/e7d6/f3f6 white wins
>>>>
>>>>In depth 7 , my program should find the solution, but it does not! The problem
>>>>is, that black can make checks to bring the mate beyond the horizon. At each
>>>>check, I extend the search for 1 ply, but it is not enough.
>>>>
>>>>The computer thinks:
>>>>C4d6/e7d6/f3f6/b7d5+/g2h2/d6g3+!!/h2g3/d5d3+/g3h2/g8f8/    no h4h8 and black
>>>>"stands good"
>>>>7 plys plus 3 plys the checks end up at 10!!
>>>>
>>>>This things really often happen, and I am reall unhappy with it. When I tried to
>>>>extend at a check with 2 plys, this problem was solved very early. But the
>>>>overall searchdepth goes dramatically down, so the program plays worse.
>>>>On an attack, it is nearly always possible for the opponent to slow down the
>>>>attack with "senseless", but forced moves.
>>>>I thought about something like:
>>>>This is a mate in 1, therefore don“t let you disturb with "senseless " moves.
>>>>But I have no thought, how to implement such a thing.
>>>>Suggestions?
>>>>
>>>>Werner
>>>
>>>     One solution I find acceptable is whenever you make null move generate all
>>>checks at next ply even if null throws you to quiescence... that way null
>>>returns 'being mated' score - and based on that you can extend your search
>>>deeper...hopefully going beyond all delaying moves.
>>>
>>>Andrew
>>
>>I also thought about using the null move for this problems. Now my program finds
>>the move at ply eight.
>>I do not agree, that "brute force and fast" going into deeper plys is always
>>better. If you make some "nice things", maybe the program finds something one
>>ply earlier, which means "speed increasing" by factor three.
>>So its worth to think about it, but always calculate the costs.
>>I will try something with null moves and extensions, lets look what comes out.
>>
>>Werner
>
>*********
>I tried something with null move.
>
>Problem: you can make a mate with the next move, but the opponent checks you as
>long as it goes beyond the horizon.
>I now only talk about this specific problem. I think, it often occurs and know,
>that a "solution" for this problem does not stop horizon effect all.
>
>My thought: When the opponent is on move, I do a null move and one own move and
>then quiet search. If a mate occurs here, I remember it, and pass it to the next
>alpha_beta recursion which is my move. Only if a am checked at this time, I
>extend 2 moves (not only one for the check) as long as extensions are allowed.
>(Max Extensions...)
>So I only extend if I can mate in one and the opponent slides out with a check!
>There are also some limitations when doing the special null move, but there I am
>experimating.
>
>My position above then gets solved at ply 6!!!!!
>I tried some other positions with heavy threats and checks, where no real mate
>can be made (worse for my algoritm). There it slows down about 10%, because it
>looks deeper in maybe interesting things which in this case do not work.
>
>I must say, that I implemented above 3 hours ago, and 3 hours testing is not
>much, but it is worth to think about.
>
>Werner


my advice is "caution" doing this.  IE Crafty finds this at depth=10, about
10 seconds or so on my ALR.  It's not hard to make it find it at depth=6 or
7.  But would it play better in games?  No...  it is *easy* to over-extend and
find wonderful tactics but get killed positionally...



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.