Difference between revisions of "Minimax (program)"

From Chessprogramming wiki
Jump to: navigation, search
 
Line 2: Line 2:
  
 
'''Minimax''',<br/>
 
'''Minimax''',<br/>
a didactic [[:Category:Open Source|open source chess program]] written in [[Basic|QuickBASIC]] by [[Dieter Steinwender]] and [[Chrilly Donninger]], which appeared 1995 in Steinwender's and [[Frederic Friedel|Friedel's]] German book ''Schach am PC'' <ref>[[Dieter Steinwender]], [[Frederic Friedel]] ('''1995'''). ''Schach am PC, Bits und Bytes im königlichen Spiel''. Markt und Technik Buch 1995, ISBN: 978-3-87791-522-6 (German)</ref>. The program is apparently based on Donninger's 1994 [[C]] program with the same name , and a program published by Steinwender in [[Computerschach und Spiele]] 1984 <ref>[http://www.stmintz.com/ccc/index.php?id=286508 qBASIC Chess program - from 1984 by Dieter Steinwender] by [[Michael Byrne|Mike Byrne]], [[CCC]], February 23, 2003</ref>. Minimax features a [[Mailbox]] board representation with offset [[Move Generation|move generation]], [[Aspiration Windows|aspiration]] [[Alpha-Beta|alpha-beta]] search within an [[Iterative Deepening|iterative deepening]] framework. Minimax has been converted to a [[WinBoard]] chess engine by [[Thomas McBurney]] in 2003 <ref>[http://home.pacific.net.au/%7Etommyinoz/minimax.html Minimax in BASIC] converted to [[WinBoard]] by [[Thomas McBurney]]</ref>. [[Martin Bauer]] ported Minimax to [[Delphi]] and further applied enhancements for the [[UCI]] compliant [[DelphiMax]].
+
a didactic [[:Category:Open Source|open source chess program]] written in [[Basic|QuickBASIC]] by [[Dieter Steinwender]] and [[Chrilly Donninger]], which appeared 1995 in Steinwender's and [[Frederic Friedel|Friedel's]] German book ''Schach am PC'' <ref>[[Dieter Steinwender]], [[Frederic Friedel]] ('''1995'''). ''Schach am PC, Bits und Bytes im königlichen Spiel''. Markt und Technik Buch 1995, ISBN: 978-3-87791-522-6 (German)</ref>. The program is apparently based on Donninger's 1994 [[C]] program with the same name , and a program published by Steinwender in [[Computerschach und Spiele]] 1984 <ref>[http://www.stmintz.com/ccc/index.php?id=286508 qBASIC Chess program - from 1984 by Dieter Steinwender] by [[Michael Byrne|Mike Byrne]], [[CCC]], February 23, 2003</ref>. Minimax features a [[Mailbox]] board representation with offset [[Move Generation|move generation]], [[Aspiration Windows|aspiration]] [[Alpha-Beta|alpha-beta]] search within an [[Iterative Deepening|iterative deepening]] framework. Minimax has been converted to a [[WinBoard]] chess engine by [[Thomas McBurney]] in 2003 <ref>[http://web.archive.org/web/20160313043530/http://home.pacific.net.au/~tommyinoz/minimax.html Minimax in BASIC] converted to [[WinBoard]] by [[Thomas McBurney]] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine], March 2016)</ref>. [[Martin Bauer]] ported Minimax to [[Delphi]] and further applied enhancements for the [[UCI]] compliant [[DelphiMax]] <ref>[http://web.archive.org/web/20160307143139if_/http://bauer-schweitzer.de/index.html?minimax/index_minimax.html Bauer & Schweitzer - Webdesign, Software, Shareware, Freeware, EDV - MiniMAX and DelphiMax] (German, [https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine], March 2016)</ref>.
  
 
=Mailbox=
 
=Mailbox=
Line 84: Line 84:
  
 
=External Links=
 
=External Links=
* [http://home.pacific.net.au/%7Etommyinoz/minimax.html Minimax in BASIC] converted to [[WinBoard]] by [[Thomas McBurney]]
+
* [http://web.archive.org/web/20160313043530/http://home.pacific.net.au/~tommyinoz/minimax.html Minimax in BASIC] converted to [[WinBoard]] by [[Thomas McBurney]] ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine], March 2016)
* [http://www.septober.de/chess/index.htm SEPTOBER - Informationen zu Computerschach] by [[Herbert Marquardt]] has Minimax Screenshot
+
* [http://web.archive.org/web/20160307143139if_/http://bauer-schweitzer.de/index.html?minimax/index_minimax.html Bauer & Schweitzer - Webdesign, Software, Shareware, Freeware, EDV - MiniMAX and DelphiMax] (German, [https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine], March 2016)
* [http://www.bauer-schweitzer.de/index.html?minimax/index_minimax.html Bauer & Schweitzer - Webdesign, Software, Shareware, Freeware, EDV - MiniMAX and DelphiMax] by [[Martin Bauer]] (German)
 
  
 
=References=  
 
=References=  

Latest revision as of 21:11, 1 April 2020

Home * Engines * Minimax

Minimax,
a didactic open source chess program written in QuickBASIC by Dieter Steinwender and Chrilly Donninger, which appeared 1995 in Steinwender's and Friedel's German book Schach am PC [1]. The program is apparently based on Donninger's 1994 C program with the same name , and a program published by Steinwender in Computerschach und Spiele 1984 [2]. Minimax features a Mailbox board representation with offset move generation, aspiration alpha-beta search within an iterative deepening framework. Minimax has been converted to a WinBoard chess engine by Thomas McBurney in 2003 [3]. Martin Bauer ported Minimax to Delphi and further applied enhancements for the UCI compliant DelphiMax [4].

Mailbox

Initial Position in Basic

CONST BrettDim% = 119  ' Dimension des erweiterten Schachbrettes

DIM SHARED Grundstellung(BrettDim%) AS INTEGER

FOR i% = 0 TO BrettDim%
   READ Grundstellung(i%)
NEXT i%

DATA 100,100,100,100,100,100,100,100,100,100
DATA 100,100,100,100,100,100,100,100,100,100
DATA 100, 2 , 4 , 3 , 5 , 6 , 3 , 4 , 2 ,100
DATA 100, 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,100
DATA 100, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100
DATA 100, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100
DATA 100, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100
DATA 100, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,100
DATA 100,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,100
DATA 100,-2 ,-4 ,-3 ,-5 ,-6 ,-3 ,-4 ,-2 ,100
DATA 100,100,100,100,100,100,100,100,100,100
DATA 100,100,100,100,100,100,100,100,100,100

and the same Mailbox in C [5]:

#define BRETT_DIM    120  /* Dimension des erweiterten Schachbrettes  */

/**
*** Figuren. Schema: _
**/
#define S_K   -6          /* Kennung fuer Schwarze Figuren */
#define S_D   -5
#define S_S   -4
#define S_L   -3
#define S_T   -2
#define S_B   -1
#define LEER   0          /* Leeres Feld */
#define W_B    1          /* Kennung fuer weisse Figuren */
#define W_T    2
#define W_L    3
#define W_S    4
#define W_D    5
#define W_K    6
#define RAND 100          /* Umrandung des Schachprogrammes */

/**
*** Grundstellung auf 10x12 Brett
**/
const int GrundStellung[BRETT_DIM] =  {
RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,
RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,
RAND,W_T, W_S ,W_L ,W_D ,W_K ,W_L ,W_S ,W_T, RAND,
RAND,W_B, W_B ,W_B ,W_B ,W_B ,W_B ,W_B ,W_B, RAND,
RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND,
RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND,
RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND,
RAND,LEER,LEER,LEER,LEER,LEER,LEER,LEER,LEER,RAND,
RAND,S_B ,S_B ,S_B ,S_B ,S_B ,S_B ,S_B ,S_B, RAND,
RAND,S_T, S_S ,S_L ,S_D ,S_K ,S_L ,S_S ,S_T, RAND,
RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,
RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND,RAND};

See also

Forum Posts

External Links

References

  1. Dieter Steinwender, Frederic Friedel (1995). Schach am PC, Bits und Bytes im königlichen Spiel. Markt und Technik Buch 1995, ISBN: 978-3-87791-522-6 (German)
  2. qBASIC Chess program - from 1984 by Dieter Steinwender by Mike Byrne, CCC, February 23, 2003
  3. Minimax in BASIC converted to WinBoard by Thomas McBurney (Wayback Machine, March 2016)
  4. Bauer & Schweitzer - Webdesign, Software, Shareware, Freeware, EDV - MiniMAX and DelphiMax (German, Wayback Machine, March 2016)
  5. minimax - c-source, see MiniMAX und seine Derivate by lovo, Schachfeld.de, June 24, 2009 (German)

Up one Level