These features (e.g.delaying response) are not available through the protocol, because they are GUI tasks, which should not concern the engine. Btw, there actually are UCI standard option UCI_LimitStrength /UCI_Elo that are supposed to fulfil these functions.
I have no idea what you mean by "randomizing nodes between x and y", or why it would be useful to do that.
Cfish 8 121516 for the macOS
Moderators: hgm, Rebel, chrisw
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
-
- Posts: 4889
- Joined: Thu Mar 09, 2006 6:34 am
- Location: Pen Argyl, Pennsylvania
Re: Cfish 8 121516 for the macOS
Will look into LimitStrength.hgm wrote:These features (e.g.delaying response) are not available through the protocol, because they are GUI tasks, which should not concern the engine. Btw, there actually are UCI standard option UCI_LimitStrength /UCI_Elo that are supposed to fulfil these functions.
I have no idea what you mean by "randomizing nodes between x and y", or why it would be useful to do that.
Randomizing nodes between x and y - limits strength with more variability in play. Appreciate your response - I will try a different apporach using limit strength - any addional info on limitstrength- or is a just a pretty straightforward spin type option ?
-
- Posts: 454
- Joined: Mon Nov 01, 2010 6:55 am
- Full name: Ted Wong
Re: Cfish 8 121516 for the macOS
Michael,
The Stockfish code has skill levels implemented, it's done by randomly selecting a move from multi-pv. The code is not available in Cfish because Ronald didn't port it. Search "#if 0" in search.c, and you will see it. Maybe you can help him?
The Stockfish code has skill levels implemented, it's done by randomly selecting a move from multi-pv. The code is not available in Cfish because Ronald didn't port it. Search "#if 0" in search.c, and you will see it. Maybe you can help him?
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Cfish 8 121516 for the macOS
UCI specs say this:
Code: Select all
* = UCI_LimitStrength, type check, should be false by default,
The engine is able to limit its strength to a specific Elo number,
This should always be implemented together with "UCI_Elo".
* = UCI_Elo, type spin
The engine can limit its strength in Elo within this interval.
If UCI_LimitStrength is set to false, this value should be ignored.
If UCI_LimitStrength is set to true, the engine should play with this specific strength.
This should always be implemented together with "UCI_LimitStrength".
-
- Posts: 4889
- Joined: Thu Mar 09, 2006 6:34 am
- Location: Pen Argyl, Pennsylvania
Re: Cfish 8 121516 for the macOS
Thanks Ted - apprieciate your input. Will stick with the variable nodes apporach but using it with the limitstrength option. That is very clever coding , but that is limited in levels and I'm not fond of using sub optimal move due to scoring value randomness as opposed to simply not seeing the optimal move due to a node/search limitation. I have played with both and I prefer the latter- attribute it to personal preference , not knocking the work that was done there.kinderchocolate wrote:Michael,
The Stockfish code has skill levels implemented, it's done by randomly selecting a move from multi-pv. The code is not available in Cfish because Ronald didn't port it. Search "#if 0" in search.c, and you will see it. Maybe you can help him?
-
- Posts: 74
- Joined: Tue Nov 15, 2016 1:19 pm
- Location: Cheshire, England
Re: Cfish 8 121516 for the macOS
Hi guys
What is needed is a handicapping system that plays like a human, I gather this is difficult, we have open source stockfish which is superb and produces a super strong engine, but it would be good if we had some sort of open source program to produce a human type engine, with human styles and believable handicapping systems,different personalities etc.
As far as handicapping is concerned engines need to play sub optimal moves ( which they do), but not miss easy moves that even a beginner wouldnt miss, (which they often dont).
Thanks
What is needed is a handicapping system that plays like a human, I gather this is difficult, we have open source stockfish which is superb and produces a super strong engine, but it would be good if we had some sort of open source program to produce a human type engine, with human styles and believable handicapping systems,different personalities etc.
As far as handicapping is concerned engines need to play sub optimal moves ( which they do), but not miss easy moves that even a beginner wouldnt miss, (which they often dont).
Thanks
-
- Posts: 4889
- Joined: Thu Mar 09, 2006 6:34 am
- Location: Pen Argyl, Pennsylvania
Re: Cfish 8 121516 for the macOS
Thank you HGM.hgm wrote:UCI specs say this:Code: Select all
* = UCI_LimitStrength, type check, should be false by default, The engine is able to limit its strength to a specific Elo number, This should always be implemented together with "UCI_Elo". * = UCI_Elo, type spin The engine can limit its strength in Elo within this interval. If UCI_LimitStrength is set to false, this value should be ignored. If UCI_LimitStrength is set to true, the engine should play with this specific strength. This should always be implemented together with "UCI_LimitStrength".