Skip to content

Add King Pressure evaluation - #9

Draft
KnightStackSys wants to merge 6 commits into
mainfrom
king-pressure-eval
Draft

KnightStackSys wants to merge 6 commits into
mainfrom
king-pressure-eval

Conversation

@KnightStackSys

@KnightStackSys KnightStackSys commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Adds a team-aware handcrafted King Pressure term for 4PC Teams.

Evaluation

  • Scores pressure against both enemy kings at the team level.
  • Combines Red+Yellow or Blue+Green before scoring, so overlapping king-zone squares are not double-counted.
  • Only scores usable king-zone squares that are not occupied by the defending team.
  • Requires at least two attacking pieces and at least two covered king-zone squares before awarding positional pressure.
  • A zero piece weight cleanly disables that piece type from positional king pressure.
  • Direct king-attack bonus is tempo-aware: it is awarded only when the attacking color is the actual side to move.
  • Direct king attacks are awarded once per enemy king, since multiple checking pieces do not make a terminal king capture more valuable.
  • The term is added only to the HCE path; PhoenixNet behavior is unchanged.

Current default parameters

  • EvalKingPressurePawn = 0
  • EvalKingPressureKnight = 3
  • EvalKingPressureBishop = 3
  • EvalKingPressureRook = 4
  • EvalKingPressureQueen = 5
  • EvalKingPressureCheckBonus = 12

All parameters remain exposed through the existing UCI tuning system, appear in tuneparams, and can be tuned by Tunex.

Revision history

  • Initial version tested around -40 Elo.
  • The first selectivity revision improved to roughly -16 Elo.
  • This revision further reduces pseudo-pressure noise, makes direct king danger tempo-aware, disables pawn positional pressure by default, and lowers the remaining pressure weights.

This branch remains isolated for a fresh SPRT against main.

@KnightStackSys

Copy link
Copy Markdown
Owner Author

This is averaging around -50 elo, will do some adjustments for elo gain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant