Author: Robert Hyatt
Date: 08:31:52 04/12/04
Go up one level in this thread
On April 11, 2004 at 10:39:01, Ulrich Tuerke wrote:
>On April 10, 2004 at 10:29:51, Dan Andersson wrote:
>
>> There are reasons for using recursion. One of them is that the generated code
>>tends to be smaller. And that could trumph any gains made from reducing the
>>data.
>> Another one is decreasing complexity. And the ability to use induction to prove
>>an algorithm.
>
>Absolutely. A non-recursive chess program is far less readable.
>In principle one would have to build one's own stack using arrays.
>I can't see any advantage of being non-recursive.
There is one for parallel search. At any instant you can see the _entire_ tree,
where with a recursive search you can not. IE I am at ply=15 and I need to
split the tree. It is beneficial to be able to see the _entire_ tree so that I
can pick the best point to initiate the parallel search. Recursion hides those
"points"..
>
>Anyway, in one of the BYTE volumes, a program source made by Slate & Atkin had
>been published:
>
>http://www.devili.iki.fi/library/issue/240.en.html
>Creating a Chess Player, Part 2: Chess 0.5 162
>Part 1 of this series ("Creating a Chess Player", October 1978 BYT page 182) was
>an essay on human and computer skill. This month and next we present Chess 0.5,
>a program written in Pascal by Larry Atkin, who is coauthor with David Slate of
>the world champioship computer chess program Chess 4.6. This program is readily
>adaptable to presonal computers having Pascal systems such as the UCSD Pascal
>project software. Part 4 of the series will conclude with some thoughts about
>computer chess strategy.
>
>Peter W. Frey, Larry R. Atkin
>
>
>Uli
>
>
>> I often use tail recursion as a goto with values. It usually doesn't incur any
>>overhead. And increases branch prediction for some types of code like parsers,
>>regexp and interpreters.
>>
>>MvH Dan Andersson
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.