Marek Kwiatkowski wrote:Sting SF is open source code software (thread) based on Stockfish (2.1.1) without exe-files.
Sting SF is to help detect, impossible to find or time consuming for engines, sacrifices.
Unfortunately, but just Stockfish is very weak to find difficult sacrifices and thus is not a good tool to make any analysis.
Sting SF project should very help you to get a reliable result in analysis.
Sting SF uses the option : “Sacrifice detection” (0 – 8, 8 = default, 0 = disabled).
BTW. I tested a strength (Sacrifice detection = 8). Sting seems to be stronger than Stockfish.
www.free.of.pl/c/ccintorun/g/sting.rar
The difference in the code - my idea - is below:
- Code:
// Step extra (after step 7) - detection of good sacrifices.
if ( depth >= 8 * ONE_PLY
&& SacrificeDetection // default option = 8
&& !ss->skipSacrificeDetection
&& pos.captured_piece_type() != PIECE_TYPE_NONE
&& !Root
&& beta < VALUE_KNOWN_WIN)
{
Value q;
if ((ss-1)->captureValue != VALUE_NONE) q = -(ss-1)->captureValue;
else if (tte && tte->depth() >= 8 * ONE_PLY) q = ss->eval;
else q = ss->eval = qsearch<PV>(pos, ss, -VALUE_INFINITE, VALUE_INFINITE, DEPTH_ZERO));
TT.store(posKey, VALUE_NONE, VALUE_TYPE_NONE, DEPTH_NONE, ttMove, ss->eval, ss->evalMargin);
Depth d = depth - depth/10;
int i = 0;
Value step = PawnValueMidgame / SacrificeDetection;
Value v = q;
while (true)
{
ss->captureValue = v;
Value rAlpha = Min(alpha, v + step);
if (rAlpha == alpha && d <= depth) break;
if (d >= depth + depth/10) rAlpha = alpha;
Value rBeta = rAlpha == alpha ? beta : rAlpha + 1;
ss->skipSacrificeDetection = true;
v = search<PvNode>(pos, ss, rAlpha, rBeta, d);
ss->skipSacrificeDetection = false;
i++;
if (v > rAlpha && d >= depth)
{
if (v > alpha) return v;
if (v >= PawnValueMidgame + step)
{
Value bonus = Min(QueenValueMidgame, (v - q) / step * (i * i * SacrificeDetection));
if (v + bonus > alpha)
{
TT.store(posKey, VALUE_NONE, VALUE_TYPE_NONE, DEPTH_NONE, ss->bestMove, ss->eval, ss->evalMargin);
return v + bonus;
}
}
}
if (v <= rAlpha) return v;
d = d + ONE_PLY;
}
}
Welcome to Chess2U - The Ultimate Computer Chess Forum!
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post and use all thefeatures of the Chess2U forums. To start viewing messages, select the forum that you want to visit from the selection below.
- Code:
Games Completed = 500 of 500 (Avg game length = 30.507 sec)
Settings = RR/32MB/4000ms+200ms/M 700000cp for 7 moves, D 150 moves/EPD:E:\LittleBlitzer\openings.epd(4000)
Time = 3916 sec elapsed, 0 sec remaining
1. Stockfish 2.1.1 JA 290.5/500 168-87-245 (L: m=87 t=0 i=0 a=0) (D: r=171 i=42 f=19 s=2 a=11) (tpm=232.8 d=14.2 nps=1018406)
2. Sting SF 111208 209.5/500 87-168-245 (L: m=168 t=0 i=0 a=0) (D: r=171 i=42 f=19 s=2 a=11) (tpm=235.7 d=13.4 nps=945812)
Sting 1.0 JA
(Windows/Linux/Android - 64/32 bit)
http://dl.dropbox.com/u/5047625/sting-10-ja.zip
http://cl.ly/CU8g/sting-10-ja.zip
(Windows/Linux/Android - 64/32 bit)
http://dl.dropbox.com/u/5047625/sting-10-ja.zip
http://cl.ly/CU8g/sting-10-ja.zip
A compilation of sting for linux x86-64 (by E Diaz)
http://dl.dropbox.com/u/12111100/sting.1.0_linux_x86_64
http://dl.dropbox.com/u/12111100/sting.1.0_linux_x86_64
- Code:
Games Completed = 500 of 500 (Avg game length = 30.694 sec)
Settings = RR/32MB/4000ms+200ms/M 700000cp for 7 moves, D 150 moves/EPD:E:\LittleBlitzer\openings.epd(4000)
Time = 3950 sec elapsed, 0 sec remaining
1. Stockfish 2.1.1 JA 295.5/500 171-80-249 (L: m=80 t=0 i=0 a=0) (D: r=189 i=34 f=19 s=1 a=6) (tpm=231.9 d=14.2 nps=1016178)
2. Sting SF JA 1.0 204.5/500 80-171-249 (L: m=171 t=0 i=0 a=0) (D: r=189 i=34 f=19 s=1 a=6) (tpm=237.3 d=13.4 nps=967757)
Permissions in this forum:
You cannot reply to topics in this forum

Home