New amateur chess engine Petrel

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Aleks Peshkov
Posts: 922
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia
Full name: Aleks Peshkov

New amateur chess engine Petrel

Post by Aleks Peshkov »

https://github.com/AleksPeshkov/petrel/tree/1.0
Stable (I hope). Stronger then Dumber 1.2, but obviously weaker to any more featured engine.

UCI compliant.
Able to run at 0s + 0.01s. Ponder.
Able to run with nodes limits.

Basic alpha-beta, no prunings and extensions.
PeSTO only evaluation.
Uses BLIND to sort moves in search and prune unsafe captures in QS.
Killer and counter-move heuristics.
Transposition table only for move ordering.

C++. Uses GCC/Clang vector extensions.
Implements not common board representation with incrementally updated attack tables.
Bulk legal move generation directly from attack tables.

Master branch is currently identical to branch 1.0 but can be unstable in future.
User avatar
Steve Maughan
Posts: 1296
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: New amateur chess engine Petrel

Post by Steve Maughan »

Congrats!

Quick question — what is "BLIND"

— Steve
http://www.chessprogramming.net - Juggernaut & Maverick Chess Engine
Aleks Peshkov
Posts: 922
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia
Full name: Aleks Peshkov

Re: New amateur chess engine Petrel

Post by Aleks Peshkov »

Steve Maughan wrote: Tue Aug 12, 2025 3:35 pm Quick question — what is "BLIND"
The very minimal SEE: avoid putting pieces on attacked squares.
viewtopic.php?p=947343#p947343
User avatar
Steve Maughan
Posts: 1296
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: New amateur chess engine Petrel

Post by Steve Maughan »

Aleks Peshkov wrote: Tue Aug 12, 2025 3:37 pm
Steve Maughan wrote: Tue Aug 12, 2025 3:35 pm Quick question — what is "BLIND"
The very minimal SEE: avoid putting pieces on attacked squares.
viewtopic.php?p=947343#p947343
Thanks — I hadn't come across it.
http://www.chessprogramming.net - Juggernaut & Maverick Chess Engine
User avatar
Gabor Szots
Posts: 1452
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: New amateur chess engine Petrel

Post by Gabor Szots »

Are you going to release executables?

Can you put the appropriate files under 'Releases' so that future versions can be followed?
Gabor Szots
CCRL testing group
Aleks Peshkov
Posts: 922
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia
Full name: Aleks Peshkov

Re: New amateur chess engine Petrel

Post by Aleks Peshkov »

https://github.com/AleksPeshkov/petrel/ ... s/tag/v1.0
Version 1.0.

Basic alpha-beta, no prunings and extensions.
PeSTO only evaluation.
Uses BLIND to sort moves in search and prune unsafe captures in QS.
Killer and counter-move heuristics.
Transposition table only for move ordering.
Checks for repetiions draws.

Supports time controls up to 10ms per move.
Supports Nodes limit.

Supports "perft N" command.
Bulk counting and using transposition hash of UCI option specified size.

UCI options:

option name UCI_Chess960 type check default false
option name Ponder type check default false
option name Hash type spin min 1 max 4096 default 1

Linux 64-bit binary.

Code: Select all

go depth 9
info depth 1 nodes 1 nps 47214 score cp -2 pv b1a3
info depth 1 nodes 2 nps 45996 score cp 33 pv b1c3
info depth 1 nodes 3 nps 61956 score cp 36 pv g1f3
info depth 1 nodes 20 nps 328218
info depth 2 nodes 41 nps 540590 score cp 0 pv g1f3 g8f6
info depth 2 nodes 85 nps 818362
info depth 3 nodes 154 nps 1112869 score cp 35 pv g1f3 g8f6 d2d4
info depth 3 nodes 731 nps 2302521
info depth 4 nodes 1280 nps 2609236 score cp 0 pv g1f3 g8f6 d2d4 d7d5
info depth 4 nodes 2396 nps 2480046
info depth 5 nodes 4036 time 1 nps 2920373 score cp 33 pv g1f3 g8f6 d2d4 d7d5 b1c3
info depth 5 nodes 15375 time 2 nps 5205055
info depth 6 nodes 28836 time 4 nps 5779213 score cp 0 pv g1f3 g8f6 d2d4 d7d5 b1c3 b8c6
info depth 6 nodes 64914 time 11 nps 5738205
info depth 7 nodes 111376 time 18 nps 5904839 score cp 28 pv g1f3 g8f6 d2d4 d7d5 b1c3 b8c6 c1e3
info depth 7 nodes 420895 time 61 nps 6876216
info depth 8 nodes 805967 time 115 nps 6957943 score cp 0 pv g1f3 g8f6 d2d4 d7d5 b1c3 b8c6 c1e3 c8e6
info depth 8 nodes 1557797 time 231 nps 6724388 score cp 6 pv e2e4 e7e5 g1f3 g8f6 f3e5 f6e4 b1c3 f8d6
info depth 8 nodes 2144651 time 329 nps 6511418
info depth 9 nodes 6967020 time 1036 nps 6720608 score cp 37 pv e2e4 b8c6 d2d4 e7e6 b1c3 d7d5 e4e5 f8e7 g1f3
info depth 9 nodes 16867240 time 2397 nps 7035746
info hwrites 1897530 hhits 793204 hreads 3693056 hhitratio 214
bestmove e2e4
Aleks Peshkov
Posts: 922
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia
Full name: Aleks Peshkov

Re: New amateur chess engine Petrel

Post by Aleks Peshkov »

https://github.com/AleksPeshkov/petrel/ ... s/tag/v1.1

Version 1.1 should be more stable under ultra-short time controls.

Code: Select all

go depth 9
info depth 1 nodes 1 score cp -2 pv b1a3
info depth 1 nodes 2 score cp 33 pv b1c3
info depth 1 nodes 3 score cp 36 pv g1f3
info depth 1 nodes 20
info depth 2 nodes 41 score cp 0 pv g1f3 g8f6
info depth 2 nodes 87
info depth 3 nodes 158 score cp 35 pv g1f3 g8f6 d2d4
info depth 3 nodes 737
info depth 4 nodes 1315 score cp 0 pv g1f3 g8f6 d2d4 d7d5
info depth 4 nodes 2645
info depth 5 nodes 4423 time 1 nps 3537709 score cp 33 pv g1f3 g8f6 d2d4 d7d5 b1c3
info depth 5 nodes 15954 time 2 nps 5688996
info depth 6 nodes 30343 time 5 nps 5263708 score cp 0 pv g1f3 g8f6 d2d4 d7d5 b1c3 b8c6
info depth 6 nodes 71861 time 13 nps 5520912
info depth 7 nodes 126930 time 21 nps 5772211 score cp 28 pv g1f3 g8f6 d2d4 d7d5 b1c3 b8c6 c1e3
info depth 7 nodes 445723 time 65 nps 6810230
info depth 8 nodes 870672 time 125 nps 6950713 score cp 0 pv g1f3 g8f6 d2d4 d7d5 b1c3 b8c6 c1e3 c8e6
info depth 8 nodes 1871611 time 276 nps 6777467 score cp 7 pv e2e4 d7d5 e4d5 g8f6 c2c4 c7c6 d1a4 e7e5
info depth 8 nodes 2695973 time 407 nps 6615316
info depth 9 nodes 7528499 time 1090 nps 6906602 score cp 36 pv e2e4 e7e5 g1f3 g8f6 b1c3 f8d6 d2d4 b8c6 c1e3
info depth 9 nodes 16057405 time 2197 nps 7305734
info hwrites 2091805 hhits 906227 hreads 4096441 hhitratio 221
bestmove e2e4