Changes from 090827 Highlights of changes Passer scores increased Error in KP v K ending code fixed KBP v K removed Drawish pattern recognition fixed Null Move : R=3 Futility Pruning slightly more conservative data.c connected passer scores reduced blocked passer scores reduced passer curve begins weighting passer scores earlier in game evaluate.c reduced king attraction to pawns in end reduced 'king outside of square of passer' score reduced rook behind passer score removed side to move bonus fixed 'can do no better than draw' code removed 'juggernaut' code increased passer total by 33% full_search.c futility pruning revamped (possibly more conservative) gen.c king moves no longer encouraged in end ? hash.c preserve stm in eval hash do not over write moves if have none in main hash helper.c added big_potential_caps() : returns true for particularly volatile captures added opti_cap() : basically, returns largest opponent piece history.c remove 'depth += 3' hack material.c simplified drawn and drawish patterns removed KBP v. k recognition pawn_race.c give stm bonus to one side only; no penalty for snm bonuses fixed for pawn >= fifth rank search.h R = 3 Search 2 moves before LMR No PAWN27TH or RTD extensions squies.c revamped 'delta' pruning Xpdnt_061030 ============ o cleaned out some unused data o time polling after TIMECHECK nodes. removed poll from squies() o MMV/LVA values adjusted to make Bishop > Knight o Implemented Futility pruning at depth <= 1 o Tweaked Bishop Mobility scale. Still not optimum. o Raised base Passed Pawn scale o Halved connected passer scale o Increased candidate passer scale o Increased supported passer scale o Doubled escorted passer scale o Fixed Bug in Knight trapped table o Tweaked King defect table o Increased pawn storm o Tweaked f_curve[] o Increased size of vectors o Added 'pst' command to display PST o 'test' command now runs on tests/flip.epd o implemented '8 pawn' penalty o Changed backward pawn recognition. Pawn is now blocked by *any* piece, not just pawn. o est_range(&min, &max) ['lazy eval' returns bounds on position) is more conservative o 25 cp 'lone piece' penalty applied, unless Queen o Rook or 2 minor minimum required for BAD_TRADE code [no minor for pawns bonus] o As part of new 'progressive scoring' idea, added half isolated pawn penalty o Added bonus for 2/3 passed [candidate passer] though rest of conditions not met o Added multiple seperated passer bonus to account that while pawn race fails, King cant stop > 1 pawn o Adjusted outpost values o Added 'maverick' or 'rogue' piece penalty for 'lone ranger' types o Slider attacks all revampped o Rook trapped/limited constant throughout phase of game o removed calculation of attack state of squares around king o remove back rank mate condition recognition too o game phase detirmine by (force[w]+force[b])/2 in some cases o decreased marauder bonus from 32 to 20 o ROOK_LIMITED raised from 10 to 25 o BISHOP_TRAPPED raised from 100 to 150 o raised pawn shield scores o lowered ATTACK_B from 3 to 2 o KS BONUS = (s/4)**2 - (s/4) o Search has too many changes to mention [and counting] o Turned on IID o fixed move scoring to insure capture of King is 1st, should return mate upon 1st discovery - but ... o decreased score of pawn pushes ??? o Not replacing == draft EXACT entries with UPPER/LOWER entries hmmmm? o Added stuff_pv() to think() and removed tag_pv() from search o rep2() ignores whether pos is/not in search or game o PST modified o Book is a 'little' better - repeatedly lost lines for stm not played o improved sudden death tc o 'analyze' command will work if '.' is NOT sent to update display o probe hash in quies() o PVS condition at root == best1 > rootalpha Xpdnt_061120 ============ o Added 'holes' weak squares. prelude to outpost o fixed out-a-bounds error - thanks to Dann Corbit o Added raytrace(). used to discover checks o Book now includes most A00 to E99. (>= 8 half moves) No selectivity attempted o Hashtable size is adjustable with hashsize (2^n)-1 o Added evaluation hash (ehash) set with ehashsize (2^n)-1 o Tweaks to Bishop 'immobility' and trapped knights o Tweaks to PST (pawn, bishop) o Tweaks to Passed Pawn code and King Safety (will be needing much more) o FIXED bounds over-run error discovered by Dann Corbit! o Improved? timing to prevent time loss in faster time controls, etc. o genc() now checks for capture of king and returns immediately o Added SEE. Currenty applied to all capture scores in gen() and genc() o PRIMITIVE Pondering added. Merely continues to think upon current choice