Difference between revisions of "Type B Strategy"

From Chessprogramming wiki
Jump to: navigation, search
 
Line 49: Line 49:
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68823 B strategy is the future] by [[Thorsten Czub]], [[CCC]], November 04, 2018
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68823 B strategy is the future] by [[Thorsten Czub]], [[CCC]], November 04, 2018
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75287 Which of the many chess engines in this forum use b strategy ?] by [[Thorsten Czub]], [[CCC]], October 03, 2020
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75287 Which of the many chess engines in this forum use b strategy ?] by [[Thorsten Czub]], [[CCC]], October 03, 2020
 +
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75287&start=48 Re: Which of the many chess engines in this forum use b strategy ?] by [[Tord Romstad]], [[CCC]], October 08, 2020
  
 
=External Links=  
 
=External Links=  

Latest revision as of 22:36, 30 April 2021

Home * Search * Type B Strategy

The Type B Strategy, proposed in 1949 by Claude Shannon in his groundbreaking publication Programming a Computer for Playing Chess [1], is a selective approach to search minimax trees considering only a subset of plausible moves in contrast to the brute-force Type A strategy.

Quotes

from Shannon's Programming a Computer for Playing Chess:

From these remarks it appears that to improve the speed and strength of play the machine must:
  1. Examine forceful variations out as far as possible and evaluate only at reasonable positions, where some quasi-stability has been established.
  2. Select the variations to be explored by some process so that the machine does not waste its time in totally pointless variations.
A strategy with these two improvements will be called a type B strategy. It is not difficult to construct programs incorporating these features. For the first we define a function g(P) of a position which determines whether approximate stability exists (no pieces en prise, etc.). A crude definition might be:
                | 1 if any piece is attacked by a piece of lower value,
     g(P) =    /    or by more pieces then defences of if any check exists
               \    on a square controlled by opponent.
                | 0 otherwise.
Using this function, variations could be explored until g(P)=0, always, however, going at least two moves and never more say, 10.

Type B programs

Most early chess programs were Type B and used a selective width for a maximum amount of plausible moves to be tried. Bernstein used {7, 7, 7, 7}, later programs chose width dependent from depth, Kotok-McCarthy had {4, 3, 2, 2, 1, 1, 1, 1, 0, 0}, while Greenblatt's Mac Hack used {15, 15, 9, 9, 7, ...}, and CHAOS carried out a selective search with iterative widening. With the advent of brute-force alpha-beta, and programs like Tech, Kaissa and Chess 4.5 in the early 70s, the era of the former dominating Type B programs drew to a close. Today most programs are closer to Type A, but have some characteristics of a Type B due to selectivity.


and

See also

Forum Posts

Re: Which of the many chess engines in this forum use b strategy ? by Tord Romstad, CCC, October 08, 2020

External Links

References

Up one Level