Fairy-Max 4.8_O released

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27895
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fairy-Max 4.8_O released

Post by hgm »

hgm wrote:But unfortunately there is no support for analysis mode in Fairy-Max. ... Perhaps I should add this, one of these days.
Well, I thought I might as well do it now. So I just pushed a patch to the repository that does support analysis. (No periodic updates, however. And no exclusion of moves.)
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Fairy-Max 4.8_O released

Post by MikeB »

hgm wrote:
hgm wrote:But unfortunately there is no support for analysis mode in Fairy-Max. ... Perhaps I should add this, one of these days.
Well, I thought I might as well do it now. So I just pushed a patch to the repository that does support analysis. (No periodic updates, however. And no exclusion of moves.)
Thank you. Will grab it tonight when I get home.
User avatar
hgm
Posts: 27895
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fairy-Max 4.8_O released

Post by hgm »

Actually move exclusion works too, now! 8-)

(Except that in Seirawan Chess it would not distinguish between moves with and without gating, and exclude/include all such moves together. But that seems only a minor defect.)
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: Fairy-Max 4.8_O released

Post by JoshPettus »

Awesome! And you are absolutely right. Fairy-max is a lot of fun to play against. :)
User avatar
hgm
Posts: 27895
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fairy-Max 4.8_O released

Post by hgm »

Note I still had to fix a bug there. XBoard occasionally sends several in/exclude commands at once, when you click 'tail' in the exclusion header to in or exclude all non-listed moves. It then sends an 'exclude all', followed by 'include' commands for every enabled (+) move in the list, or the other way around.

Problem was that if the engine reads the first ('include all') command, the library input handler for stdin apparenly puts all the following commands in the input buffer, where the routine that polls for input cannot see them. So it would always resume analyzing after having treated only one command, (and not the command that arrived, but the first one from the buffer). By specifying unbuffered input this problem is now solved.
User avatar
hgm
Posts: 27895
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fairy-Max 4.8_O released

Post by hgm »

Another small improvement: to remove the game history (which Fairy-Max stores in the hash table) after undo, to prevent the position(s) you just moved back from will be seen as a rep draw, Fairy-Max no longer clears the entire hash table, but only the positions from the game history. This allows you to take back moves in analysis without losing the result of the position you just analyzed, thus being able to propagate its score backwards along the game.

I also equiped it with in-search rep-draw detection. I am not sure if that works properly, however; when I set up a position from which it can force a perpetual check, it does eventually find the draw in the search (which before was impossible, and draws would be seen only when it could force a return to a position that already occurred in the game-history). But it takes a suspiciously high depth before the score suddenly drops to 0. But perhaps that is normal, and caused by screening of the repetition by hash cutoffs.

[d]1kr2brq/6n1/8/8/8/4Q3/4PPP1/5K2 w - - 0 1

Code: Select all

 20	 -0.04 	30.1M  	0:27.52	e3b6 b8a8 b6a6 a8b8 a6b6 
 19	 -0.02 	23.9M  	0:22.18	e3b6 b8a8 b6a6 a8b8 a6b6 
 18	 -0.02 	21.1M  	0:19.88	e3b6 b8a8 b6a6 a8b8 a6b6 
 17	 -0.10 	19.4M  	0:18.42	e3b6 b8a8 b6a6 a8b8 a6b6 
 16	 -0.08 	18.3M  	0:17.47	e3b6 b8a8 b6a6 a8b8 a6b6 
 15	 -0.06 	17.8M  	0:16.96	e3b6 b8a8 b6a6 a8b8 a6b6 
 14	 -0.04 	17.4M  	0:16.65	e3b6 b8a8 b6a6 a8b8 a6b6 
 13	 -0.02 	17.1M  	0:16.41	e3b6 b8a8 b6a6 a8b8 a6b6 
 12	 -11.52 	11.4M  	0:10.95	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7b6 c4b3 b6c7 
 11	 -11.51 	4.38M  	0:04.18	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7b6 c4b3 b6a7 
 10	 -11.49 	1.04M  	0:01.00	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7d7 c4b5 d7c7 
  9	 -11.48 	365608	0:00.37	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7d7 c4a4 d7c7 
  8	 -11.52 	93606  	0:00.11	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7d7 c4a4 c8c6 a4a7 c6c7 a7a4 c7c6 
  7	 -11.55 	27044  	0:00.04	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7b7 c4e4 b7c7 
  6	 -11.56 	8775    	0:00.01	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7d7 c4a4 c8c6 e2e4 
  5	 -11.64 	4849    	0:00.01	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 b5c4 c7d7 c4d4 
  4	 -11.64 	2024    	0:00.00	e3b6 b8a8 b6a6 a8b8 a6b5 b8c7 e2e4 
  3	 -11.63 	675      	0:00.00	e3b6 b8a8 b6a6 a8b8 e2e4 
  2	 -11.85 	374      	0:00.00	e3b6 b8a8 g2g4 
  2	 -12.00 	177      	0:00.00	e3g3 c8c7 e2e4 
  2	 -12.24 	82        	0:00.00	e3f3 f8d6 
  2	 -12.25 	27        	0:00.00	g2g4 f8d6 
  1	 -12.06 	11        	0:00.00	g2g4 
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Fairy-Max 4.8_O released

Post by MikeB »

HG - just want to take moment and thank you for latest changes. I have recompiled the latest FairyMax source and renamed it "micromax" (fairymax does not quite do it justice).

Image

25Kb size, sees over 1M nps in normal chess and close to 1M nps in Gothic Chess and the other variants. I also compiled "N.E.G. 1.2", renamed it "Speedy" and the exe size is down to 8kb. Both of these are for the Mac, would you mind if make the available to the public via dropbox? Speedy is perfect for teaching children how to play chess ( or not how to play the chess- the main thing is they can learn the moves and still have chance to win).

Mike

Image
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Fairy-Max 4.8_O released

Post by MikeB »

also downloaded Joker and running it on the Mac under wine - I can see it is much stronger engine than Fairy Max.
User avatar
hgm
Posts: 27895
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fairy-Max 4.8_O released

Post by hgm »

Nice logo, but the black-on-black text below the name is totally unreadable on my display. Perhaps you should make that text blue, to at least provide some color-contrast.

And yes, you can do with it whatever you want; Fairy-Max is public domain. I don't know if I did put an explicit licence specification in the N.E.G. source, but that should be public domain too.

The main weakness of N.E.G. that jumps out once you know it (and really makes the impression of being below its average abilities) is its total naivity against (soft) pins. People quickly learn to exploit that by pinning pieces against a Queen, and then offering them some cheap material, like Pawn or minor, to lure them away and collect that Queen.

Perhaps I will fix that one day, statically identifying X-ray attacks on unprotected or more-valuable piece, and penalizing all off-ray moves with the blocking piece by the value of the pin-root, or the value difference with the pinner. Then its play would make a more balanced impression, and indeed be a very good sparring partner for novices.