Cfish 8 121516 for the macOS

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
MikeB
Posts: 3552
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Cfish 8 121516 for the macOS

Post by MikeB » Fri Dec 16, 2016 1:05 am

December 2016 Release of a forked Cfish (C version of Stockfish) by Ronald De Man with the UCI Ladder Options

Source and macOS exe : https://github.com/MichaelB7/Cfish/rele ... /v8-121516

For macOS, Cfish is the "fastest" Stockfish.

Code: Select all

"Ladder" is a UCI option to weaken the play of Cfish to human levels by reducing the number of  nodes (positions) Cfish sees while keeping the full strength evaluation and search functions.  At the lowest Ladder Level Rating of 1200, Cfish will play a move after searching ~ 64 nodes.  For every increase in a Ladder Level rating , it will slowly increase the nodes by about 0.7%, so that for every 100 rating point increase in the Ladder Level, it will see double the number of nodes.  At 1200, it will see ~ 64 nodes, at Ladder level 1300 it will see  about ~ 128 nodes, and so forth, so that at Ladder level 1600 it will see about 1024 nodes and at 2600 Ladder Level Rating it will see ~ 1 million nodes.   The highest is level is 2800 and it will see  ~ 4 million positions per move at a level control permitting sufficient time.  This would be about 2 seconds on my machine

"Ladder Range" will enable Cfish to play within a variable range selected at random from move to move.  A 100 to 250 Ladder Level point range is the recommended range.  but you may set that range as high you like based on your preference. Using the Ladder Range will increase variability in Cfish's play 

"Ladder Delay"  implements a non-busy sleep function that will for Cfish to use the optimum time for the  time control selected.  Ladder Level provides the user with about 1400 levels.  The idea is that the user get comfortable playing and winning at a certain level, the user can slowly increment the strength at a 10, 25 or 50 rating point increments - and climb the ladder
Happy Ladder Climbing :D
Last edited by MikeB on Fri Dec 16, 2016 1:16 am, edited 1 time in total.

royb
Posts: 519
Joined: Wed Mar 08, 2006 11:53 pm

Re: Cfish 8 121516 for the MacOS

Post by royb » Fri Dec 16, 2016 1:15 am

I wish to commend you for the implementation of the ladder idea. It is a much needed attempt to make engines playable for us humans. And the idea of having a range that the engine will work within makes the game feel much more "normal" to this patzer (some moves are a bit stronger than others; that variability is what feels more normal to me).

Thank you so much for your efforts!!

MikeB
Posts: 3552
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: Cfish 8 121516 for the MacOS

Post by MikeB » Fri Dec 16, 2016 1:33 am

royb wrote:I wish to commend you for the implementation of the ladder idea. It is a much needed attempt to make engines playable for us humans. And the idea of having a range that the engine will work within makes the game feel much more "normal" to this patzer (some moves are a bit stronger than others; that variability is what feels more normal to me).

Thank you so much for your efforts!!
Thanks Roy, appreciate the feedback. Stay tuned, more is coming...

syzygy
Posts: 4458
Joined: Tue Feb 28, 2012 10:56 pm

Re: Cfish 8 121516 for the macOS

Post by syzygy » Fri Dec 16, 2016 8:18 am

MikeB wrote:December 2016 Release of a forked Cfish (C version of Stockfish) by Ronald De Man with the UCI Ladder Options
If you fork it, then release it under a different name...

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

Re: Cfish 8 121516 for the macOS

Post by hgm » Fri Dec 16, 2016 9:15 am

It seems to me that making an engine-defined (and thus non-standard) option for something that the protocol already supports in a standard way is rather counter-productive. The normal way of doing this in UCI is using 'go nodes 64'...

royb
Posts: 519
Joined: Wed Mar 08, 2006 11:53 pm

Re: Cfish 8 121516 for the macOS

Post by royb » Fri Dec 16, 2016 11:24 am

hgm wrote:It seems to me that making an engine-defined (and thus non-standard) option for something that the protocol already supports in a standard way is rather counter-productive. The normal way of doing this in UCI is using 'go nodes 64'...
A key difference in my opinion is that the research was done to know that it was 64 nodes evaluated that equated to 1200 ELO. And 128 nodes was equivalent to 1300 ELO, etc. That makes the whole thing so much more friendly/relatable to the average person.

kinderchocolate
Posts: 411
Joined: Mon Nov 01, 2010 5:55 am
Full name: Ted Wong
Contact:

Re: Cfish 8 121516 for the macOS

Post by kinderchocolate » Fri Dec 16, 2016 11:47 am

Thanks for the update. But in your code, you can just do:

2^((x-1200)/100) * 64

where x is the rating you want. The code you have lead to floating errors.

MikeB
Posts: 3552
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: Cfish 8 121516 for the macOS

Post by MikeB » Fri Dec 16, 2016 12:00 pm

syzygy wrote:
MikeB wrote:December 2016 Release of a forked Cfish (C version of Stockfish) by Ronald De Man with the UCI Ladder Options
If you fork it, then release it under a different name...
Will do

MikeB
Posts: 3552
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: Cfish 8 121516 for the macOS

Post by MikeB » Fri Dec 16, 2016 12:01 pm

kinderchocolate wrote:Thanks for the update. But in your code, you can just do:

2^((x-1200)/100) * 64

where x is the rating you want. The code you have lead to floating errors.
+1 look for a re-release under a new name soon -headed to work now

MikeB
Posts: 3552
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: Cfish 8 121516 for the macOS

Post by MikeB » Fri Dec 16, 2016 12:17 pm

hgm wrote:It seems to me that making an engine-defined (and thus non-standard) option for something that the protocol already supports in a standard way is rather counter-productive. The normal way of doing this in UCI is using 'go nodes 64'...
You are not thinking through all the ramifications of what this does :
Simpler and more intuitive (using the GUI and ratings is something eveynody understands - the top commerical GUIs - Shredder, Fritz, Hiarcs - have this,so this is functionally that you must obviously under appreciate or you would have added it already - so I'm just filling a gap here between your GUI and the engine
Ability to randomize go nodes between x and y
Ability to change it without reloading the engine
Ability to delay the response so it's not instaneous

None of these features are available through the protocol so your argument that this is counter productive is without merit and displays a lack of understanding of desired features.

Post Reply