Booot

From Chessprogramming wiki
Revision as of 11:57, 2 February 2019 by GerdIsenberg (talk | contribs)
Jump to: navigation, search

Home * Engines * Booot

Ukrainian folk costume
featuring Russian boots [1]

Booot,
an UCI compliant open source chess program written in Delphi 6 by Alex Morozov. Booot determines sliding piece attacks with rotated bitboards and applies PVS with all common search improvements such as null move pruning, late move reductions and IID. Booot 6.1, released in October 2016, comes with lazy SMP and a completely redesigned evaluation function [2].

Tournament Play

Booot played the 1st Computer Chess Championship of CIS Countries, the CCT9 and CCT10, and the CPT 2010 and CPT 2011, the WCCC 2011, the ICT 2013, the IGT 2015, where it became runner-up behind Pedone, and the IGT 2016, again second place behind Chiron.

Photos & Games

WCCC2011-Booot-Junior.JPG

WCCC 2011, Booot vs Junior, Amir Ban and Alex Morozov [3]

[Event "WCCC Tilburg 2011"]
[Site "Tilburg"]
[Date "2011.11.21"]
[Round "5"]
[White "Booot"]
[Black "Junior"]
[Result "0-1"]

1. Nf3 Nf6 2. c4 g6 3. Nc3 Bg7 4. g3 O-O 5. Bg2 d6 6. O-O e5 7. d3 Nc6 8.
Rb1 a5 9. a3 h6 10. b4 axb4 11. axb4 Be6 12. Nd2 Rb8 13. b5 Ne7 14. Ba3 Qd7
15. Ra1 Bh3 16. Qb3 h5 17. Nf3 Bxg2 18. Kxg2 Nf5 19. e4 Nd4 20. Nxd4 exd4
21. Ne2 c5 22. Bc1 Ra8 23. Ra2 Rfb8 24. Bf4 Ng4 25. h3 Ne5 26. Bxe5 Bxe5
27. f4 Bg7 28. f5 h4 29. gxh4 Qd8 30. fxg6 fxg6 31. Rf4 Be5 32. Rg4 Qf6 33.
h5 Kh7 34. Rxa8 Rxa8 35. Rxg6 Qf7 36. Ng3 Bxg3 0-1

Code snippets

This is how Booot generates bishop attacks with rotated bitboard lookups in v4.15.1 [4]

Function BishopsMove(from: integer) : bitboard;
var
    indx : integer;
    temp :bitboard;
  begin
    indx:=(AllDh1 shr Dsh1[from]) and MaskDh1[from];
    temp:=RBDh1[from,indx];
    indx:=(AllDa1 shr Dsa1[from]) and MaskDa1[from];
    temp:=temp or RBDa1[from,indx];
    Result:=temp;
  end;

...and inlined in v5.1.0 [5]

Function BishopMovesBB(Square : Tsquare;var Board:Tboard):TBitBoard;inline;
 begin
  result:=RotatedBh1[square,((Board.AllBh1 shr ShiftBh1[square]) and MaskBh1[square])]
       or RotatedBa1[square,((Board.AllBa1 shr ShiftBa1[square]) and MaskBa1[square])];
 end;

Forum Posts

External Links

References

  1. Image 2007 in Mokre by Silar, Russian boot from Wikipedia
  2. Booot 6.1 released by Alex Morozov, CCC, October 18, 2016
  3. Photo by Gerd Isenberg
  4. attacks.pas v4.15.1 from Booot from WBEC Ridderkerk
  5. attacks.pas v5.1.0 from Booot from WBEC Ridderkerk

Up one Level