I had a quick general question about aspiration windows and the improvement they provide over alpha-beta with a full window.
Does search with aspiration windows only improve over alpha-beta with a full window if move ordering for the latter is not perfect?
I've always just assumed the narrower window cut off more nodes, period, but the other day I started trying to come up with example trees where aspiration windows improved over alpha beta with a full window and perfect move ordering, and couldn't.
I'm probably missing something obvious, but I thought I'd ask here.
Thanks!
Conceptual question on aspiration windows
Moderators: hgm, Rebel, chrisw
-
- Posts: 188
- Joined: Sun Dec 25, 2016 4:59 pm
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Conceptual question on aspiration windows
Indeed, with perfect move ordering aspiratio (or PVS, which is a sort of interal auto-aspiration) gains you nothing at all. It is only a device to ameliorate the impact of poor move ordering.
I have always had the feeling that it is a rather blunt tool, tryig to do something from the root which could be done more subtly in every (PV) node. Basically you wat to cover yourself from a situation where the score of a hash move drops eormously, and that the search then starts to work very hard to also push the other moves below this new score (for which he existing cut moves in their sub-trees were sorely inadequate), only to discover after it has done that to some dozen that it has an alternative move that scored early as high as the move that flunked out. With aspiration you sort of anticipate that, not going to great lengths pushing down the score of other moves all the way to that of the first (but just by the width of the aspiration window), gambling on it that one of them will score above that.
I have always had the feeling that it is a rather blunt tool, tryig to do something from the root which could be done more subtly in every (PV) node. Basically you wat to cover yourself from a situation where the score of a hash move drops eormously, and that the search then starts to work very hard to also push the other moves below this new score (for which he existing cut moves in their sub-trees were sorely inadequate), only to discover after it has done that to some dozen that it has an alternative move that scored early as high as the move that flunked out. With aspiration you sort of anticipate that, not going to great lengths pushing down the score of other moves all the way to that of the first (but just by the width of the aspiration window), gambling on it that one of them will score above that.
-
- Posts: 4052
- Joined: Thu May 15, 2008 9:57 pm
- Location: Berlin, Germany
- Full name: Sven Schüle
Re: Conceptual question on aspiration windows
I think that is wrong, at least for an engine with any kind of pruning. Even with perfect move ordering aspiration windows can be a gain since you usually get smaller trees than without aspiration windows by pruning more frequently on extreme scores. The amount of success of aspiration windows seems to depend more on how often you need to do a research after failing high or low at the root. But that is not related much to move ordering.hgm wrote:Indeed, with perfect move ordering aspiratio (or PVS, which is a sort of interal auto-aspiration) gains you nothing at all. It is only a device to ameliorate the impact of poor move ordering.
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Conceptual question on aspiration windows
No. You only get smaller trees when the move ordering is not perfect. In PVS this is very easy to see: the first branch you search is the PV, and any side branch is then searched with a null window, and will fail low against it. The null window is at the PV score, which should lie within the aspiration window in order not to create an unecessary fail so that the window would actually hurt you. If the PVS null window is inside the aspiration window, the limits of the latter are never used anywhere.
-
- Posts: 188
- Joined: Sun Dec 25, 2016 4:59 pm
Re: Conceptual question on aspiration windows
Ok, that makes good sense.
Thanks much for the replies!
Thanks much for the replies!
-
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Conceptual question on aspiration windows
Does aspiration search conflict or duplicate a PVS search? Many engines use both aspiration and PVS. Here are some interesting results for comparison. For a depth of 12 from the root position, the following nodes were counted with aspiration and PVS turned on/off. The results conclude that PVS seems useless when combined with aspiration and it be would nice to compare results from a different engine.hgm wrote:I have always had the feeling that it is a rather blunt tool, trying to do something from the root which could be done more subtly in every (PV) node.
Code: Select all
Search Iteration = 12
ASPIRE on PVS off
Total Nodes = 3167490
ASPIRE on PVS on
Total Nodes = 3167470
ASPIRE off PVS on
Total Nodes = 4002109
ASPIRE off PVS off
Total Nodes = 8470410
-
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Conceptual question on aspiration windows
Post script fix: There is a mistake. After re-testing the data the results should read:D Sceviour wrote:Does aspiration search conflict or duplicate a PVS search? Many engines use both aspiration and PVS. Here are some interesting results for comparison. For a depth of 12 from the root position, the following nodes were counted with aspiration and PVS turned on/off. The results conclude that PVS seems useless when combined with aspiration and it be would nice to compare results from a different engine.hgm wrote:I have always had the feeling that it is a rather blunt tool, trying to do something from the root which could be done more subtly in every (PV) node.
Code: Select all
Search Iteration = 12 ASPIRE on PVS off Total Nodes = 3167490 ASPIRE on PVS on Total Nodes = 3167470 ASPIRE off PVS on Total Nodes = 4002109 ASPIRE off PVS off Total Nodes = 8470410
Code: Select all
ASPIRE on PVS on
Total Nodes = 3142999
ASPIRE on PVS off
Total Nodes = 3167490
ASPIRE off PVS on
Total Nodes = 4002109
ASPIRE off PVS off
Total Nodes = 8470410
-
- Posts: 4052
- Joined: Thu May 15, 2008 9:57 pm
- Location: Berlin, Germany
- Full name: Sven Schüle
Re: Conceptual question on aspiration windows
Maybe this test should be repeated for a variety of different positions, not just the root position.