Forum

Of Computer Chess

 
    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 the
    features of the Chess2U forums. To start viewing messages, select the forum that you want to visit from the selection below.

Sting SF 1.0 is available 5 5 13

View previous topic View next topic Go down  Message [Page 1 of 1]

Post on Thu Dec 08, 2011 8:28 pm by Steve.R

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;       
      }     
    }

Post on Thu Dec 08, 2011 11:28 pm by Andres

Post on Fri Dec 09, 2011 1:01 am by Bob

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)

Post on Sat Dec 10, 2011 8:45 pm by Steve.R

Post on Sat Dec 10, 2011 8:50 pm by Steve.R

A compilation of sting for linux x86-64 (by E Diaz)
http://dl.dropbox.com/u/12111100/sting.1.0_linux_x86_64

Post on Sat Dec 10, 2011 10:20 pm by Bob

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)

View previous topic View next topic Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum