Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: All shortest paths & other flood-fill based algorithms

Author: Heiner Marxen

Date: 08:56:41 09/14/02

Go up one level in this thread


On September 14, 2002 at 10:42:55, Gerd Isenberg wrote:

>On September 14, 2002 at 08:48:36, Steffan Westcott wrote:
>
>>On September 14, 2002 at 04:33:22, Gerd Isenberg wrote:
>>
>>>So if you found a asp-bitboard with only one bit set, you really found a
>>>bottleneck - great.
>>
>>
>>Gerd,
>>
>>This is not true. To locate bottlenecks, you must consider all paths, not just
>>the shortest ones. This fact means a square may have several path lengths
>>leading to it, so we can't use the ideas in AllShortestPaths().
>>
>>However, if we define a bottleneck to be a square (or several squares) that all
>>valid paths must go through, then we have a simple test for a proposed
>>bottleneck :
>>
>>---- CUT HERE ----
>>
>>bool IsBottleneck(BitBoard sq1, BitBoard sq2, BitBoard mask,
>>                  BitBoard bottleneck)
>>{
>>    return !SquaresAreConnected(sq1, sq2, mask & ~bottleneck);
>>}
>>
>>---- CUT HERE ----
>>
>>ie. we constrict the mask and test if all the valid paths break.
>>
>>Cheers,
>>Steffan
>
>Yes, you are right. But at least a bottleneck for the shortest path, may be a
>strong indication that there is a "real" bottleneck,

It is much more:  every "real" bottleneck is also a shortest path bottleneck.
Hence, the above bottleneck test done on all single bit intermediate bitboards
exactly detects all real bottlenecks.  Cute!

Cheers,
Heiner



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.