Closed flackr closed 4 months ago
I added a precision_value
factor to clue value in v1.3.8 (ec999f7):
const precision_value = (new_touched.reduce((acc, c) => acc + c.possible.length, 0) - new_touched.reduce((acc, c) => acc + c.inferred.length, 0)) * 0.01;
However, I only expect it to matter when tiebreaking rank/colour, hence the small multiplication factor. Were there any specific goals you had in mind?
My main goal was that a bluff should have a fairly high value (nearly 2 plays) being both a finesse and a known card 1 away from playable.
The formula is 0.5 for each finesse and each play, so a bluff that touches 1 new card indeed counts as much as 2 plays (e.g. cluing two 1s), but not as much as a real finesse (which is like cluing three 1s). I guess it's hard to compare a lot of these numbers: is knowing the exact identity of a card when it's only touched by colour as good as filling in 4 other previously-clued cards in the same hand (currently 0.04 precision value vs 0.04 elim)?
Of course, this formula is lacking since it's completely independent of the game state; bluffs can be better than finesses when they can touch cards that otherwise couldn't have been touched, but I don't think the bot is going to be able to do that kind of board-state evaluation for a long time.
Yeah my general thinking was that there'd be some value to fully known non-duplicated cards, higher value for cards that are close to playable, and maybe a good score for touching critical cards so they don't have to be saved later.
I think the current valuation is in a good state with your fixes that you added to the bluff PR.
Version (PM the bot with
/version
): v1.3.7 Convention settings: N/AClues which provide full information about cards are almost as good as having playable cards (to the limit of locking hands). Adding a value for these results is especially important to encourage bluffs once #184 is landed.