Check out Glinski's Hexagonal Chess, our featured variant for May, 2024.

Enter Your Reply

The Comment You're Replying To
H. G. Muller wrote on Sat, Sep 22, 2012 09:33 PM UTC:
I made some enhancements to Fairy-Max, to make it pay attention to lack of
mating potential and pair bonuses. This was relatively easy, because it
already contained code to keep a count of the total number of pieces (for
the baring rule in Shatranj) as well as of each piece type (for Spartan
Chess' King counts). So I now added a list of pair bonuses to the piece
info, and each time when after capture there is an odd number of that piece
type, I add the pair bonus for that piece type to the score. I let it
initialize the pair bonus to 1/8 of the piece value if the piece is
'obviously color bound', which for B (325cP) would give 40 cP, which is
about right.

No idea how this would work for other pieces, but this can be tested now.
Interesting candidates would be the Clobberer pieces BD and FAD, which are
worth about a Rook, and Adjutant (BDD), which is worth about 7 (IIRC).

Recognizing lack of mating potential is a bit trickier. I did not have a
very fast algorithm for that, it must loop over piece types to see what
each side has. But as a fast filter I can use the Pawn count of the side
that is ahead: if it is 2 or larger there is no need to worry about lack of
mating potential in your pieces.

The way I evaluate 'drawish' endings is like this:
1) If the leading side has no Pawns, its advantage is divided by 2.
2) If he has one Pawn, and the opponent has Pieces, (non-Pawns!), we assume
the weakest piece is traded for the Pawn.
3) If the strong side has no Pawns and not more than 2 Pieces, and the weak
side not more than one piece, we recognize some cases that are dead draws,
and divide the advantage by a further 2 (if a Pawn has to be traded away
first) or 4 (if the strong side is already Pawnless). The recognized cases
are:
3a) Less than 350cP advantage in Piece material, and no minors with mating
potential. This catches cases like 2 minors vs 1, R vs minor, R+minor vs R,
Q+minor vs Q, but not Q+minor vs RN or RN+minor vs BN
3b) The strong side has only one piece, and it is color bound (seen by the
pair bonus). This catches a lone BD or Adjutant vs weak stuff, which can
easily have an advantage 350.
3c) A 'defective pair', like two Knights. I encode this by giving such a
piece type an insignificantly small negative pair bonus, specified
explicitly in the piece description file. (Mating potential in a minor is
likewise encoded by an insignificantly small positive pair bonus for the
piece.)

So advantages in drawish endings are divided by 2, 4 or 8, so the leading
side will try to avoid them. E.g. KNNK would normally be 2*325 = +750; the
factor 8 trims this to 94, i.e. less than a Pawn, so the program  would
prefer KPK. KNK would score only +47.

I am now running some tests of thei new program ('Pair-o-Max') against
the old Fairy-Max, to see if this extra knowledge would make it indeed play
stronger.

Edit Form
Conduct Guidelines
This is a Chess variants website, not a general forum.
Please limit your comments to Chess variants or the operation of this site.
Keep this website a safe space for Chess variant hobbyists of all stripes.
Because we want people to feel comfortable here no matter what their political or religious beliefs might be, we ask you to avoid discussing politics, religion, or other controversial subjects here. No matter how passionately you feel about any of these subjects, just take it someplace else.
Quick Markdown Guide

By default, new comments may be entered as Markdown, simple markup syntax designed to be readable and not look like markup. Comments stored as Markdown will be converted to HTML by Parsedown before displaying them. This follows the Github Flavored Markdown Spec with support for Markdown Extra. For a good overview of Markdown in general, check out the Markdown Guide. Here is a quick comparison of some commonly used Markdown with the rendered result:

Top level header: <H1>

Block quote

Second paragraph in block quote

First Paragraph of response. Italics, bold, and bold italics.

Second Paragraph after blank line. Here is some HTML code mixed in with the Markdown, and here is the same <U>HTML code</U> enclosed by backticks.

Secondary Header: <H2>

  • Unordered list item
  • Second unordered list item
  • New unordered list
    • Nested list item

Third Level header <H3>

  1. An ordered list item.
  2. A second ordered list item with the same number.
  3. A third ordered list item.
Here is some preformatted text.
  This line begins with some indentation.
    This begins with even more indentation.
And this line has no indentation.

Alt text for a graphic image

A definition list
A list of terms, each with one or more definitions following it.
An HTML construct using the tags <DL>, <DT> and <DD>.
A term
Its definition after a colon.
A second definition.
A third definition.
Another term following a blank line
The definition of that term.