Page 1 of 1

Spartan chess

Posted: Wed Nov 09, 2011 7:43 am
by Ferdy
New Spartan chess engine Sangga v1.0 is released, download here https://sites.google.com/site/deuterium ... ownloads-1.

Code: Select all

Sangga v1.0
Readme
(9-Nov-2011)


A. Introduction
Sangga is a winboard engine that can only play spartan chess. This is based on Deuterium engine that only plays normal chess. Sangga is a Filipino word for "shield" known to be an important tool for a spartan warrior. Spartan chess rules can be found here, http://www.spartanchessonline.com. You need to use the winboard graphical user interface for a more satisfying experience during game play. Winboard can be found here http://www.open-aurec.com/wbforum/viewtopic.php?f=19&t=51528.


B. Acknowledgement
Thanks to Tom Kerrigan for his work on TSCP, to H.G.Muller for the tips provided especially in the early part of the development, and to CCC fora for programming ideas.


C. Winboard commands
Important winboard commands supported are protover, new, go, force, setboard, ponder, analyze, level and time.


D. Files
This release is composed of the following
a. Sangga-v1.0.exe
b. sangga.ini
c. Sangga readme


E. Development Log
Sangga v1.0 
(9-Nov-2011)
1. Re-write evaluation from Deuterium
2. Tune LMR, null move prunning, and futility prunning.
3. Disable SEE


F. Engine internals
1. Move ordering
a. Transposition hashtable
b. Mate killers
c. Captures by Most Valuable Victim / Least Valuable Attacker (MVV/LVA)
d. Normal killers
e. Move history score

2. Search Prunnings and reductions
a. Null move prunning
b. Futility prunning
c. Bad move history prunning
d. Win eval prunning
e. Late move reductions (LMR)

3. Evaluations
a. Persian
1) Pawn passer evaluation from 5th rank to 7th rank only
2) Penalty for isolated, backward, and doubled pawns
3) Bonus for pawn duo from 3rd rank and beyond
4) Penalty for blocked pawns
5) Pawn square table
6) Knight square table
7) Bishop square table
8) Two bishops advantage
9) Bishop color interaction with pawns and hoplites
10) Rook on open files and half-open files
11) Rook king attacks on open and half-open files
12) Rook at 7th ranks
13) Queen bonus for being close to spartan kings
14) piece values, PAWN=100, KNIGHT=300, BISHOP=315, ROOK=500, QUEEN=990
15) Pieces combination attack to spartan kings
16) King safety such pawn covers

b. Spartan
1) Hoplite square table
2) Hoplite passer evaluation from 5th rank to 7th rank only
3) Penalty of blocked Hoplites
4) Bonus for Hoplites that supports Lieutenant, captain, general and warlord
5) Lieutenant square table
6) Captain square table
7) General square table
8) Bonus for General being close to persian king
9) General on the 7th rank
10) Bonus for General in open file and half-open file
11) Warlord square tables
12) Warlord bonus if close to opp king
13) Drawish eval for KQ-KK ending
14) Winning eval for KN-KW or KB-KW ending
15) Piece values, HOPLITE=100, LIEUTENANT=310, CAPTAIN=300,
GENERAL=650, WARLORD=860, KING=500 (if number of king is 2 otherwise 0) 
16) Pieces combination attack to persian king
17) King safety such as pawn covers


G. Limitations
1. No endgame tablebase
2. No Learning
3. No opening books
 

H. Todo list
1. Implement and experiment SEE
2. Add piece mobilities
3. Add support for opening books
4. Improve ending evaluations


I. Other Reference
1. Download - https://sites.google.com/site/deuteriumengine/downloads-1
Test result,

Code: Select all

Spartan Chess Gauntlet, TC 40moves/2minutes repeating
Interface: Winboard TM
Hardware: Intel i7-2600k
Setup from 4 starting games from pgn file, color reversed.
Ponder off
Test-PC, 2011.11.09
                        Score     Sangga v NebiyuCh Sjaak 26 Oberon 0 Catalyst Fairy-Ma
----------------------------------------------------------------------------------------
 1: Sangga v1.0       36.0 / 40   XXXXXXXX =1101110 11111011 11=11111 11111111 11111111
 2: NebiyuChess_1.41   2.5 /  8   =0010001 XXXXXXXX ........ ........ ........ ........
 3: Sjaak 263          1.0 /  8   00000100 ........ XXXXXXXX ........ ........ ........
 4: Oberon 0.04        0.5 /  8   00=00000 ........ ........ XXXXXXXX ........ ........
 5: Catalyst           0.0 /  8   00000000 ........ ........ ........ XXXXXXXX ........
 6: Fairy-Max 4.8R     0.0 /  8   00000000 ........ ........ ........ ........ XXXXXXXX
----------------------------------------------------------------------------------------
40 games: +23 =2 -15

Re: Spartan chess

Posted: Wed Nov 09, 2011 11:12 am
by Vinvin
Ferdy wrote:

Code: Select all

 1: Sangga v1.0       36.0 / 40   
Ouch, that hurts !
Congratulations !

Re: Spartan chess

Posted: Wed Nov 09, 2011 12:01 pm
by Evert
You wouldn't have the games available, would you?
I'd be curious to see where my evaluation is lacking (although I've changed so many things since 263 that it may not actually be that useful to me).

On a different topic, it would be interesting if there were a "variant rating list" somewhere, with ratings across different variants and overall ratings (averaged over all variants for engines playing more than one). I've been thinking about how to set that up, might be interesting to discuss if anyone else is interested.

Oh, and I'm hereby claiming the name "Leonidas" for an exclusive Spartan chess engine I'm thinking of starting. :P

Anyway, congratulations, and well done! I guess you have the first "Spartan-only" chess engine.

Re: Spartan chess

Posted: Wed Nov 09, 2011 12:49 pm
by Ferdy
Evert wrote:You wouldn't have the games available, would you?
I'd be curious to see where my evaluation is lacking (although I've changed so many things since 263 that it may not actually be that useful to me).

On a different topic, it would be interesting if there were a "variant rating list" somewhere, with ratings across different variants and overall ratings (averaged over all variants for engines playing more than one). I've been thinking about how to set that up, might be interesting to discuss if anyone else is interested.

Oh, and I'm hereby claiming the name "Leonidas" for an exclusive Spartan chess engine I'm thinking of starting. :P

Anyway, congratulations, and well done! I guess you have the first "Spartan-only" chess engine.
I have uploaded the games, and also added the 50 starting games useful for engine-engine testing.