Page 3 of 10

Re: New engine releases

Posted: Fri Mar 02, 2018 5:01 pm
by Norbert Raimund Leisner
Yesterday Skiull 0.4 x64 was available, but today this edition disappeared. I wrote an email to Tony, but can send to you this version of course.

Norbert

Re: New engine releases

Posted: Fri Mar 02, 2018 8:48 pm
by tttony
Guenther wrote:not yet mentioned:

Code: Select all

Dumb 1.1
Trappist rev36 (new) => discovered and compiled by 'linuxchess'
Skiull 0.4
Don't use the 0.4, it has a bug in the move stage :oops:, right now I'm testing it with the fix, I will publish it when the bug it's gone

Re: New engine releases

Posted: Wed Mar 21, 2018 11:45 am
by Guenther
not yet mentioned:

Code: Select all

Monolith 0.4
Devel 2.0000
RuyDos 1.1.6 (*dev version)
Nemorino 4.09 (*dev version)

Re: New engine releases

Posted: Thu Mar 22, 2018 11:12 am
by Sergio Martinez

Re: New engine releases

Posted: Thu Mar 22, 2018 1:37 pm
by CMCanavessi
SzG wrote:Abbess 2018.02.07

Zevra 1.8.3 r636
Zevra is already on 1.8.4 for a while

Re: New engine releases

Posted: Fri Mar 23, 2018 4:36 am
by tpoppins
Yes! It's like a litttle Christmas every time for the bored ppl running rating lists. Instead of testing same-old-same-old for months at a time there's something new and fresh every day. Simply wonderful.

Re: New engine releases

Posted: Thu Mar 29, 2018 4:16 am
by tmokonen
I don't think I have seen the newest version of Hedgehog (1.804) mentioned here.

http://sdchess.ru/download_engines.htm

Re: New engine releases

Posted: Sat Mar 31, 2018 1:23 pm
by Guenther

Code: Select all

Detroid 0.9 released 10 days ago
https://github.com/ViktorC/DETROID/releases

A few infos:
- it has a working own GUI now, but with the command -u it still can play under any GUI (sth like this: 'java -jar Detroid09.jar -u')
- Here at least the java.exe uses around 750MB despite being set to 256MB in the uci options/GUI
- setting ownbook to false works correctly in the uci options
- it still spikes up to 75% cpu usage in the beginning (= 3 threads) of the game sometimes, but it does not happen often later in the game (when 1 thread is specified)

Last not least it was released as version 0.9, but it calls itself 1.0 and the jar file also is named 1.0.

a single test game vs. Aice_0992 (no books)
[pgn][Event "RWBC"]
[Site "CAPPUCCINO"]
[Date "2018.03.31"]
[Round "-"]
[White "Detroid_09"]
[Black "AICE 0.99.2 "]
[Result "1/2-1/2"]
[TimeControl "40/240"]
[Annotator "1. +0.37 1... -0.21"]

1. Nf3 {+0.37/13} d5 {-0.21/11 10} 2. e3 {+0.59/14 5} Nf6 {-0.20/11 8} 3.
Bb5+ {+0.45/15 8} Bd7 {+0.00/10 6} 4. Qe2 {+0.23/15 9} e6 {+0.04/11 11} 5.
Bxd7+ {+0.09/14 3} Nbxd7 {+0.17/11 9} 6. a4 {+0.21/15 9} Bd6 {+0.53/10 11}
7. a5 {+0.37/15 5} e5 {+1.11/11 8} 8. O-O {+0.32/13 3} O-O {+0.91/11 8} 9.
g3 {+0.19/12 7} e4 {+1.25/10 6} 10. Ne1 {+0.15/13 2.4} Ne5 {+1.30/9 6} 11.
a6 {+0.57/13 6} b6 {+0.95/10 7} 12. d4 {+1.37/14 3} Ng6 {+1.09/11 4} 13.
Nc3 {+1.72/14 2.5} Qd7 {+1.06/11 6} 14. Nb5 {+1.68/14 2.9} Bb4 {+1.29/10 4}
15. Ra4 {+1.47/13 2.5} Be7 {+1.40/11 4} 16. Bd2 {+1.34/14 3} c6
{+1.13/10 3} 17. Nc3 {+1.58/16 5} Bd6 {+1.10/10 4} 18. f3 {+1.31/14 4} exf3
{+1.11/9 3} 19. Rxf3 {+1.31/14 3} Rae8 {+1.13/9 5} 20. Nd3 {+1.22/14 4} Ne4
{+1.17/9 5} 21. Rf1 {+0.85/13 2.8} c5 {+1.29/9 4} 22. dxc5 {+1.43/12 5}
Nxc3 {+1.12/9 2.4} 23. Bxc3 {+1.33/14 2.9} Qxa4 {+1.03/9 3} 24. cxd6
{+1.13/15 7} Qc6 {+0.94/9 5} 25. Qd2 {+1.64/12 3} Re6 {+1.17/9 5} 26. Nb4
{+2.39/14 4} Qxd6 {+1.18/10 5} 27. Nxd5 {+2.19/14 3} Qc6 {+1.16/9 4} 28.
Qd4 {+2.29/13 6} f6 {+1.29/9 5} 29. Rd1 {+2.12/12 3} Kh8 {+1.28/9 5} 30. h4
{+2.20/12 4} Rd8 {+1.55/9 5} 31. e4 {+2.01/14 7} Ne5 {+1.54/8 2.7} 32. Rf1
{+1.24/14 7} Qc8 {+1.62/9 6} 33. Qf2 {+1.11/14 11} Nd7 {+1.47/9 6} 34. Qf5
{+1.93/12 4} Rde8 {+1.38/9 8} 35. Rf4 {+1.27/12 8} b5 {+1.75/9 5} 36. Kg2
{+0.99/12 8} Rxa6 {+1.85/9 5} 37. h5 {+0.49/13 8} Rae6 {+1.86/9 5} 38. h6
{+0.47/13 10} g6 {+1.31/11 8} 39. Qg4 {+0.27/15 10} Qc6 {+1.36/10 6} 40.
Qf3 {+0.49/15 12} Kg8 {+1.36/8 0.7} 41. Kh1 {+0.49/13 2.9} f5 {+1.69/9 7}
42. exf5 {+0.61/12 2.5} Rd6 {+1.48/10 12} 43. fxg6 {+0.46/13 3} Qxd5
{+1.04/10 8} 44. Qxd5+ {+0.14/15 4} Rxd5 {+0.60/10 2.0} 45. Rf7
{+0.02/16 6} Re2 {+0.66/11 6} 46. Rg7+ {+0.00/15 7} Kf8 {+0.15/13 10} 47.
Bb4+ {-0.21/15 3} Nc5 {+0.00/13 8} 48. Bxc5+ {+0.00/14 7} Rxc5 {+0.03/13 9}
49. gxh7 {-0.36/15 4} Rh5+ {+0.00/15 6} 50. Kg1 {-0.36/1 0.2} Rxh6
{+0.42/15 8} 51. Rg8+ {-0.21/15 3} Kf7 {+0.42/13 4} 52. h8=Q {-0.46/18 5}
Rxh8 {+0.40/14 8} 53. Rxh8 {-0.48/19 4} Rxc2 {+0.38/12 4} 54. b4
{-0.46/18 5} Kg6 {+0.28/12 7} 55. Rh4 {-0.38/15 2.9} Rb2 {+0.40/13 5} 56.
Rf4 {-0.33/21 4} Kh6 {+0.42/13 4} 57. Re4 {-0.32/18 3} Kh5 {+0.37/13 5} 58.
Re5+ {-0.25/20 6} Kg4 {+0.26/13 12} 59. Rxb5 {-0.25/20 9} Ra2 {+0.18/13 6}
60. Kf1 {-0.26/19 8} Kxg3 {+0.18/13 4} 61. Ke1 {-0.08/18 5} Kf4
{+0.09/13 5} 62. Kd1 {-0.13/18 3} Ke3 {+0.09/12 3} 63. Rd5 {-0.13/19 4} Rg2
{+0.06/11 4} 64. Kc1 {-0.08/18 9} Rg4 {+0.13/12 5} 65. b5 {-0.07/18 5} Rg7
{+0.09/12 3} 66. Kb2 {+0.00/19 5} Ke4 {+0.01/12 5} 67. Rh5 {+0.00/23 7} Kd4
{+0.02/12 4} 68. Ka3 {+0.00/23 7} Kc4 {+0.03/11 3} 69. Ka4 {+0.00/23 6} Rb7
{+0.02/11 2.9} 70. Rh4+ {+0.54/18 4} Kc5 {+0.00/12 4} 71. Rh5+ {+0.44/18 9}
Kb6 {+0.00/13 5} 72. Rh6+ {+0.96/24 4} Kc5 {+0.00/15 4} 73. Rc6+
{+0.96/28 7} Kd5 {+0.00/13 6} 74. Ka5 {+0.96/26 6} Rf7 {+0.00/14 7} 75. Ka6
{+0.96/25 8} Re7 {+0.00/13 5} 76. Rc1 {+0.96/25 17} Kd4 {+0.00/13 8} 77.
Rc8 {+0.96/21 6}
{User adjudication} 1/2-1/2[/pgn]

Re: New engine releases

Posted: Sun Apr 01, 2018 9:48 am
by Sergio Martinez

Re: New engine releases

Posted: Sun Apr 01, 2018 11:19 am
by Guenther
Sergio Martinez wrote:New engine, Pleco:

http://kirill-kryukov.com/chess/discuss ... 26e0bf5821
Well the readme says it is inspired by Stockfish, which is no problem in itself...
...but if one looks at the eval it seems almost just being copied over from SF w/o mentioning a word about the origin of the source.

IMHO that is not koscher.

just an example:

https://github.com/sfleischman105/Pleco ... ch/eval.rs

Code: Select all

const CENTER: BitBoard = BitBoard((FILE_D | FILE_E) & (RANK_4 | RANK_5));
const QUEEN_SIDE: BitBoard = BitBoard(FILE_A | FILE_B | FILE_C | FILE_D);
const CENTER_FILES: BitBoard = BitBoard(FILE_C | FILE_D | FILE_E | FILE_F);
const KING_SIDE: BitBoard = BitBoard(FILE_E | FILE_F | FILE_G | FILE_H);

const KING_FLANK: [BitBoard; FILE_CNT] = [QUEEN_SIDE, QUEEN_SIDE, QUEEN_SIDE, CENTER_FILES, CENTER_FILES, KING_SIDE, KING_SIDE, KING_SIDE];

const KING_ATTACKS_WEIGHT: [i32; PIECE_TYPE_CNT] = [0, 0, 78, 56, 45, 11, 0, 0];


const MOBILITY_BONUS: [[Score; 32]; PIECE_TYPE_CNT] = [
[   Score::ZERO; 32], // No Piece
[   Score::ZERO; 32], // Pawns
[   Score(-75,-76), Score(-57,-54), Score( -9,-28), Score( -2,-10), Score(  6,  5), Score( 14, 12), // Knights
    Score( 22, 26), Score( 29, 29), Score( 36, 29), Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO
],
[   Score(-48,-59), Score(-20,-23), Score( 16, -3), Score( 26, 13), Score( 38, 24), Score( 51, 42), // Bishops
    Score( 55, 54), Score( 63, 57), Score( 63, 65), Score( 68, 73), Score( 81, 78), Score( 81, 86),
    Score( 91, 88), Score( 98, 97), Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO
],
[   Score(-58,-76), Score(-27,-18), Score(-15, 28), Score(-10, 55), Score( -5, 69), Score( -2, 82), // Rooks
    Score(  9,112), Score( 16,118), Score( 30,132), Score( 29,142), Score( 32,155), Score( 38,165),
    Score( 46,166), Score( 48,169), Score( 58,171), Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO
],
[   Score(-39,-36), Score(-21,-15), Score(  3,  8), Score(  3, 18), Score( 14, 34), Score( 22, 54), // Queens
    Score( 28, 61), Score( 41, 73), Score( 43, 79), Score( 48, 92), Score( 56, 94), Score( 60,104),
    Score( 60,113), Score( 66,120), Score( 67,123), Score( 70,126), Score( 71,133), Score( 73,136),
    Score( 79,140), Score( 88,143), Score( 88,148), Score( 99,166), Score(102,170), Score(102,175),
    Score(106,184), Score(109,191), Score(113,206), Score(116,212), Score::ZERO,    Score::ZERO,
    Score::ZERO,    Score::ZERO
],
[   Score::ZERO; 32], // King
[   Score::ZERO; 32]  // All piece
];

const KING_PROTECTOR: [Score; PIECE_TYPE_CNT] = [Score(0,0), Score(0,0), Score(-3, -5), Score(-4, -3), Score(-3, 0), Score(-1, 1), Score(0,0), Score(0,0)];

// Outpost[knight/bishop][supported by pawn] contains bonuses for minor
// pieces if they can reach an outpost square, bigger if that square is
// supported by a pawn. If the minor piece occupies an outpost square
// then score is doubled.
const OUTPOST: [[Score; 2]; 2] = [
[ Score(22, 6), Score(36,12) ], // Knight
[ Score( 9, 2), Score(15, 5) ]  // Bishop
];


const ROOK_ON_FILE: [Score; 2] = [Score(20, 7), Score(45, 20)];

// ThreatByMinor/ByRook[attacked PieceType] contains bonuses according to
// which piece type attacks which one. Attacks on lesser pieces which are
// pawn-defended are not considered.
const THREAT_BY_MINOR: [Score; PIECE_TYPE_CNT] = [
    Score(0, 0), Score(0, 0), Score(0, 33), Score(45, 43), Score(46, 47), Score(72, 107), Score(48, 118), Score(0, 0)
];

const THREAT_BY_ROOK: [Score; PIECE_TYPE_CNT] = [
    Score(0, 0), Score(0, 0), Score(0, 25), Score(40, 62), Score(40, 59), Score(0, 34), Score(35, 48), Score(0, 0),
];

// ThreatByKing[on one/on many] contains bonuses for king attacks on
// pawns or pieces which are not pawn-defended.
const THREAT_BY_KING: [Score; 2] = [Score(3, 62), Score(9, 138) ];

// Passed[mg/eg][Rank] contains midgame and endgame bonuses for passed pawns.
// We don't use a Score because we process the two components independently.
const PASSED: [[Value; RANK_CNT]; 2] = [
    [ 0, 5,  5, 31, 73, 166, 252, 0 ],
    [ 0, 7, 14, 38, 73, 166, 252, 0 ]
];

// PassedFile[File] contains a bonus according to the file of a passed pawn
const PASSED_FILE: [Score; FILE_CNT] = [
Score(  9, 10), Score( 2, 10), Score( 1, -8), Score(-20,-12),
Score(-20,-12), Score( 1, -8), Score( 2, 10), Score(  9, 10)
];

const RANK_FACTOR: [i32; RANK_CNT] = [ 0, 0, 0, 2, 6, 11, 16, 0];

// Assorted bonuses and penalties used by evaluation
const MINOR_BEHIND_PAWN: Score = Score( 16,  0);
const BISHOP_PAWNS          : Score = Score(  8, 12);
const LONG_RANGED_BISHOP     : Score = Score( 22,  0);
const ROOK_ON_PAWN           : Score = Score(  8, 24);
const TRAPPED_ROOK          : Score = Score( 92,  0);
const WEAK_QUEEN            : Score = Score( 50, 10);
const CLOSE_ENEMIES         : Score = Score(  7,  0);
const PAWNLESS_FLANK        : Score = Score( 20, 80);
const THREAT_BY_SAFE_PAWN     : Score = Score(192,175);
const THREAT_BY_RANK         : Score = Score( 16,  3);
const HANGING              : Score = Score( 48, 27);
const WEAK_UNOPOSSED_PAWN    : Score = Score(  5, 25);
const THREAT_BY_PAWN_PUSH     : Score = Score( 38, 22);
const THREAT_BY_ATTACK_ON_QUEEN : Score = Score( 38, 22);
const HINDER_PASSED_PAWN     : Score = Score(  7,  0);
const TRAPPED_BISHOP_A1H1    : Score = Score( 50, 50);


// Penalties for enemy's safe checks
const QUEEN_SAFE_CHECK: i32  = 780;
const ROOK_SAFE_CHECK: i32   = 880;
const BISHOP_SAFE_CHECK: i32 = 435;
const KNIGHT_SAFE_CHECK: i32 = 790;
https://github.com/official-stockfish/S ... aluate.cpp

Code: Select all

constexpr Bitboard QueenSide   = FileABB | FileBBB | FileCBB | FileDBB;
  constexpr Bitboard CenterFiles = FileCBB | FileDBB | FileEBB | FileFBB;
  constexpr Bitboard KingSide    = FileEBB | FileFBB | FileGBB | FileHBB;
  constexpr Bitboard Center      = (FileDBB | FileEBB) & (Rank4BB | Rank5BB);

  constexpr Bitboard KingFlank[FILE_NB] = {
    QueenSide,   QueenSide, QueenSide,
    CenterFiles, CenterFiles,
    KingSide,    KingSide,  KingSide
  };

  // Threshold for lazy and space evaluation
  constexpr Value LazyThreshold  = Value(1500);
  constexpr Value SpaceThreshold = Value(12222);

  // KingAttackWeights[PieceType] contains king attack weights by piece type
  constexpr int KingAttackWeights[PIECE_TYPE_NB] = { 0, 0, 78, 56, 45, 11 };

  // Penalties for enemy's safe checks
  constexpr int QueenSafeCheck  = 780;
  constexpr int RookSafeCheck   = 880;
  constexpr int BishopSafeCheck = 435;
  constexpr int KnightSafeCheck = 790;

#define S(mg, eg) make_score(mg, eg)

  // MobilityBonus[PieceType-2][attacked] contains bonuses for middle and end game,
  // indexed by piece type and number of attacked squares in the mobility area.
  constexpr Score MobilityBonus[][32] = {
    { S(-75,-76), S(-57,-54), S( -9,-28), S( -2,-10), S(  6,  5), S( 14, 12), // Knights
      S( 22, 26), S( 29, 29), S( 36, 29) },
    { S(-48,-59), S(-20,-23), S( 16, -3), S( 26, 13), S( 38, 24), S( 51, 42), // Bishops
      S( 55, 54), S( 63, 57), S( 63, 65), S( 68, 73), S( 81, 78), S( 81, 86),
      S( 91, 88), S( 98, 97) },
    { S(-58,-76), S(-27,-18), S(-15, 28), S(-10, 55), S( -5, 69), S( -2, 82), // Rooks
      S(  9,112), S( 16,118), S( 30,132), S( 29,142), S( 32,155), S( 38,165),
      S( 46,166), S( 48,169), S( 58,171) },
    { S(-39,-36), S(-21,-15), S(  3,  8), S(  3, 18), S( 14, 34), S( 22, 54), // Queens
      S( 28, 61), S( 41, 73), S( 43, 79), S( 48, 92), S( 56, 94), S( 60,104),
      S( 60,113), S( 66,120), S( 67,123), S( 70,126), S( 71,133), S( 73,136),
      S( 79,140), S( 88,143), S( 88,148), S( 99,166), S(102,170), S(102,175),
      S(106,184), S(109,191), S(113,206), S(116,212) }
  };

  // Outpost[knight/bishop][supported by pawn] contains bonuses for minor
  // pieces if they occupy or can reach an outpost square, bigger if that
  // square is supported by a pawn.
  constexpr Score Outpost[][2] = {
    { S(22, 6), S(36,12) }, // Knight
    { S( 9, 2), S(15, 5) }  // Bishop
  };

  // RookOnFile[semiopen/open] contains bonuses for each rook when there is
  // no (friendly) pawn on the rook file.
  constexpr Score RookOnFile[] = { S(20, 7), S(45, 20) };

  // ThreatByMinor/ByRook[attacked PieceType] contains bonuses according to
  // which piece type attacks which one. Attacks on lesser pieces which are
  // pawn-defended are not considered.
  constexpr Score ThreatByMinor[PIECE_TYPE_NB] = {
    S(0, 0), S(0, 31), S(39, 42), S(57, 44), S(68, 112), S(47, 120)
  };

  constexpr Score ThreatByRook[PIECE_TYPE_NB] = {
    S(0, 0), S(0, 24), S(38, 71), S(38, 61), S(0, 38), S(36, 38)
  };

  // ThreatByKing[on one/on many] contains bonuses for king attacks on
  // pawns or pieces which are not pawn-defended.
  constexpr Score ThreatByKing[] = { S(3, 65), S(9, 145) };

  // PassedRank[Rank] contains a bonus according to the rank of a passed pawn
  constexpr Score PassedRank[RANK_NB] = {
    S(0, 0), S(5, 7), S(5, 13), S(32, 42), S(70, 70), S(172, 170), S(217, 269)
  };

  // PassedFile[File] contains a bonus according to the file of a passed pawn
  constexpr Score PassedFile[FILE_NB] = {
    S(  9, 10), S(2, 10), S(1, -8), S(-20,-12),
    S(-20,-12), S(1, -8), S(2, 10), S(  9, 10)
  };

  // PassedDanger[Rank] contains a term to weight the passed score
  constexpr int PassedDanger[RANK_NB] = { 0, 0, 0, 2, 7, 12, 19 };

  // KingProtector[PieceType-2] contains a penalty according to distance from king
  constexpr Score KingProtector[] = { S(3, 5), S(4, 3), S(3, 0), S(1, -1) };

  // Assorted bonuses and penalties
  constexpr Score BishopPawns        = S(  8, 12);
  constexpr Score CloseEnemies       = S(  7,  0);
  constexpr Score Connectivity       = S(  3,  1);
  constexpr Score CorneredBishop     = S( 50, 50);
  constexpr Score Hanging            = S( 52, 30);
  constexpr Score HinderPassedPawn   = S(  8,  1);
  constexpr Score KnightOnQueen      = S( 21, 11);
  constexpr Score LongDiagonalBishop = S( 22,  0);
  constexpr Score MinorBehindPawn    = S( 16,  0);
  constexpr Score PawnlessFlank      = S( 20, 80);
  constexpr Score RookOnPawn         = S(  8, 24);
  constexpr Score SliderOnQueen      = S( 42, 21);
  constexpr Score ThreatByPawnPush   = S( 47, 26);
  constexpr Score ThreatByRank       = S( 16,  3);
  constexpr Score ThreatBySafePawn   = S(175,168);
  constexpr Score TrappedRook        = S( 92,  0);
  constexpr Score WeakQueen          = S( 50, 10);
  constexpr Score WeakUnopposedPawn  = S(  5, 25);