WillFlame14 / hanabi-bot

A bot that plays on the hanab.live interface.
GNU General Public License v3.0
16 stars 10 forks source link

Should assign greater value to fully revealed eventually playable cards. #189

Closed flackr closed 4 months ago

flackr commented 5 months ago

Version (PM the bot with /version): v1.3.7 Convention settings: N/A

Clues 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.

WillFlame14 commented 5 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?

flackr commented 5 months ago

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.

WillFlame14 commented 5 months ago

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.

flackr commented 5 months ago

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.

flackr commented 4 months ago

I think the current valuation is in a good state with your fixes that you added to the bluff PR.