Page 1 of 2

Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 2:05 am
by MikeB
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

Re: Cfish 8 121516 for the MacOS

Posted: Fri Dec 16, 2016 2:15 am
by royb
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!!

Re: Cfish 8 121516 for the MacOS

Posted: Fri Dec 16, 2016 2:33 am
by MikeB
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...

Re: Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 9:18 am
by syzygy
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...

Re: Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 10:15 am
by hgm
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'...

Re: Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 12:24 pm
by royb
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.

Re: Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 12:47 pm
by kinderchocolate
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.

Re: Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 1:00 pm
by MikeB
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

Re: Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 1:01 pm
by MikeB
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

Re: Cfish 8 121516 for the macOS

Posted: Fri Dec 16, 2016 1:17 pm
by MikeB
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.