[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Array to string conversion
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Undefined variable: Array
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Trying to access array offset on value of type null
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Array to string conversion
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Undefined variable: Array
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Trying to access array offset on value of type null
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Array to string conversion
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Undefined variable: Array
[phpBB Debug] PHP Notice: in file [ROOT]/includes/functions_content.php on line 77: Trying to access array offset on value of type null
SPCoding School • View topic - Hanabi
Page 1 of 1

Hanabi

PostPosted: Tue Dec 09, 2014 2:50 am
by franch
I have recently played this card game called Hanabi and all the way during the match I was thinking about network information theory.

In this game, there is a deck divided with cards divided in 5 different colors (white, red, blue, yellow and green) and each color has cards numbered from 1 to 5. Each color has 3 cards number 1, 2 cards numbers 2, 3 and 4 each and just one card number 5.

The deck has to be shuffled and then each player will receive 4 cards. They CANNOT see their own cards. Their cards have to be facing the other players. They will see only the other players' cards.

The goal of the game is to form sequences from 1 to 5 of all colors. It is a cooperative game and every player will help each other to achieve this goal.

In each turn, the player can perform one of the following actions:

1) Give information: you can choose another player and give information about their hand. But there are some restrictions. You can only tell the other player the color or the number of a card. If there is more than one card of that color (or number), you can tell the other player all the cards in their hands sharing that color/number. There is a limited number of hints the player can give (if I remember correctly, there are 8).

2) Discard a card from your hand: if you discard any card from your hand, you recover one hint that can be given to other players. For example: if the other players have given a total of 3 hints in their turns, there will only be 5 hints left to be given. If you choose to discard a card from your hand, there will be 6 hints.

3) Play a card: you put one of the cards in your hand on the table. This is the way to form sequences - playing cards from your hand. The sequences must be formed in crescent order. When you play a card, it has to be in the correct order for that color. When it is first card to be played, you just have to guess correctly that it is a number 1 card. For higher numbers, you must guess both the number and the color. An incorrect guess implies in one fuse token being placed in the game and the played card is discarded. When three such tokens are placed in the game, the players lose.

I am not sure if I was clear in the explanation, but wikipedia might help (http://en.wikipedia.org/wiki/Hanabi_%28card_game%29). It sounds confusing, but after playing a few rounds, the game becomes pretty simple. But, although it is simple, it is actually very hard. I could not win any match. It is rather common to discard some card in a way that the full sequence becomes impossible to be achieved (for example: discarding all the number 2 cards of some color).

During the matches, though, I was thinking about a possibility to express the game in some network information theory way, as each player can be considered some kind of node possessing information that is important to the other nodes at the same time that it needs information from them to decode its own information. I was wondering if such a representation of this game could lead to an algorithm that could lead to a victory.

Re: Hanabi

PostPosted: Tue Dec 09, 2014 5:37 pm
by Rafael
It seems to be a very fun game.

It might be interesting to explore the following type of strategy (if previous planning is allowed): Lets say there are 5 players each with 4 cards. Player one consumes an information card. He can tell player 2 which card he wants him to do something with by choosing one of the players, ex. if he wants player 2 to do something with his 3rd card he will give some information to the 4th player (the third he could point at). Now he has to tell player 2 what to do with the card. If he wants him to discard the 3rd card he will tell player 4 how many of a given number. If he wants him to play the 3rd card he will tell player 4 how many of a suit.

With this, he will give player 2 information on what to do and give information to some other player at the same time.