WillFlame14 / hanabi-bot

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

wrong note #220

Closed elamate closed 1 month ago

elamate commented 1 month ago

Version (PM the bot with /version): v1.4.1 Convention settings:/setall 11 Steps to reproduce or replay link:https://hanab.live/shared-replay/1167957#10 *Additional information: bot21 note: t10:r3,y3,g3 -> g3 is obviously imposible bot20 note:t10:y3,g3,p3-> what he see g3 and p3 from where p2 not even seen anywhere

bot clue elamate yellow, when card can be y3, so i assume he somehow know its y3 so i know i have y4 T12 bot21 mark y3 as r3 why?

WillFlame14 commented 1 month ago

The bots almost never use asymmetric information when interpreting clues, only common knowledge. This is the simplest way to keep the team synchronized. That's why both bots note g3 even though both g3s are in elamate90's hand.

bot20 doesn't know the colour of the 2 in their slot 4, only that it's either yellow or purple. Thus, they think that it's only common that bot21's 3 is also yellow or purple. I guess in this case, since both players can see each other's card and slot 4 is the only card that can connect other than g2, it's common what colour the cards are (so it should just be [y3, g3]), but I haven't implemented this yet.

On turn 11, bot21 knows that commonly, the identity of their 3 isn't known, so they clue y3 intending you to Sarcastic Discard if they have y3. When you don't Sarcastic Discard and give negative green to slot 2, bot21 writes r3 due to Good Touch Principle.

I think all of this is expected, with maybe a small improvement where bot20 knows bot21 won't write a p3 note.

elamate commented 1 month ago

t10 elamate give 3 it can be r3 finesse r1 r2 t12 its mark r3, so its finesse r1 and r2, so when bot21 clue blue to elamate he expect elamate play b3 as b1

WillFlame14 commented 1 month ago

Hmm, not sure I quite understand. Maybe the notes are confusing?

On turn 11, bot21 clues elamate90's y3. This immediately causes it to remove y3 from its slot 2 from Good Touch Principle, resulting in t12: [r3] note.

On turn 12, bot20 does not play r1. This proves to bot21 that elamate90 did not clue r3, so now slot 2 has no inferences, which means that something is bad touched. It resets them back to all 3s that would still be good touch, which is all 3s except y3 and g3, resulting in t13: [r3, b3, p3] note.

The blue clue to elamate90 is either a Bluff or a direct play clue, hence the t14: b1, b3 note.

I guess there is kind of a bug here in that even if you Sarcastic Discard y3 on your turn, the bot has already "lost" the information that y3 should be in slot 2. I'll try to look into that.

WillFlame14 commented 1 month ago

I guess there is kind of a bug here in that even if you Sarcastic Discard y3 on your turn, the bot has already "lost" the information that y3 should be in slot 2. I'll try to look into that.

This will be fixed in this next update, bot21 suggests discarding their own y3 on later turns now.