carlofazioli / cardiathena

A project to study strategies in the game of hearts, using distributed computing, AI, and data analytics.
GNU General Public License v3.0
6 stars 1 forks source link

Random Agent has no cards to play #85

Closed aphelps4 closed 4 years ago

aphelps4 commented 4 years ago

Describe the bug It seems like rarely, something causes the Random Agent to run out of cards to play. I have not determined if this is because they actually have no cards or if it is because they are receiving an encoded state that determines all their cards are cards they can not play.

To Reproduce Keep running play_hearts.py until you get "lucky" enough to see the error. I have attached the error message I got to give an idea of what is happening.

Expected behavior The agent should always have at least one card that it can play.

Screenshots errorImg

carlofazioli commented 4 years ago

@aphelps4 In order to assist in reproducibility, you can set the numpy random seed in the beginning of play_hearts. Then if you are running the games in a loop, you'll know which game it crashes on and can set a debug point before then.

aphelps4 commented 4 years ago

Update: Low-layer passes in 0 as one of its chosen cards when passing, even if it does not have it. I assume this is an error happening where we start with a list of all 0s and the final 0 does not get set to a card the agent actually owns.

aphelps4 commented 4 years ago

Fix is now on my Shooter Agent branch and will be merged into master once a basic shooter is completed.