Problems with Shaman

50 views
Skip to first unread message

max2...@gmail.com

unread,
Jun 20, 2018, 5:23:14 PM6/20/18
to The Hearthstone-AI Competition
Hello,
I have problems with the deck "CardClass.SHAMAN". The framework hangs regularly (about once in 5000 games) when I use the deck. Then nothing happens on the output in the terminal and the process memory fills up without end.
This even happens when I use the random agents that are given. So I don't think it's my agent.
The error "The given key was not present in the dictionary" occurs frequently in the terminal on this deck.
Is there anything I can do to prevent this behavior from happening?

Then I would also have to ask which decks my agent has to play against as a Bachelor student. Do I understand correctly that I can choose a deck and my agent has to play with this deck against the 3 decks "CardClass.SHAMAN, CardClass.MAGE and CardClass.WARRIOR".

And if I want to participate in the competition, then my agent has to be able to play all 3 decks + 1 unknown?
Many greetings

Adil Ahsan

unread,
Jun 21, 2018, 5:22:51 AM6/21/18
to The Hearthstone-AI Competition
The error "The given key was not present in the dictionary" occurs frequently in the terminal on this deck.

I assume you're using the simulator to simulate future moves and it occurs on the line where you access the task in the dictionary containing action-successor board pair.

In case that is true, read on, else ignore this post. Essentially, there are a set of invalid occurrences that can happen when you simulate a board.

1. It generates a successor board, with the correct action as the key that you had applied for testing (correct case)
2. It generates a null board, but the key is the correct action that you had applied for testing (invalid case)
3. It generates a null board, and the key is not even the one you had applied for testing (another invalid case)
4. It might also happen that it generates a valid successor board, with a key that you didn't apply (would be an invalid case, I didn't particularly care about this so I didn't check)

So you can add checks for validity, like if dictionary contains the action you had applied, and checks like if the board state is null, do something.

The framework hangs regularly (about once in 5000 games) when I use the deck. Then nothing happens on the output in the terminal and the process memory fills up without end.

Does this happen roughly around the same time as when you check it? Did you try pausing it in this state to see which line it was stuck on? For my case, it sometimes happens that when i scroll up the console to look up the results, it sometimes gets stuck in the write console line... Wasn't debilitating enough for me to consider looking for a solution...
Message has been deleted

max2...@gmail.com

unread,
Jun 21, 2018, 7:26:58 AM6/21/18
to The Hearthstone-AI Competition
Thank you for the detailed answer. Unfortunately, this problem has nothing to do with the simulation. It even happens when I let the RandomAgent play against the RandomAgend.
It doesn't always happen after the same time. Sometimes after 500 games and sometimes after 10000.

I now pressed pause once when it hung up. It happens in line 56 in the file GameStats.cs. It's weird, because it only happens with the shaman and in the line is only the output.

dockhorn....@gmail.com

unread,
Jun 21, 2018, 9:59:13 AM6/21/18
to The Hearthstone-AI Competition
Hi, we will always simulate mirror matchups, because the matchups betweens different decks are not inherently fair.
So if you pick the Warrior deck we will simulate 100 games against the random agent also playing the warrior deck.
We will check against random and randomlate agent.

dockhorn....@gmail.com

unread,
Jun 21, 2018, 10:00:41 AM6/21/18
to The Hearthstone-AI Competition
Do not worry too much about the error. In the worst case we will start 1 game at a time and just aggregate the result of 100 games.
Reply all
Reply to author
Forward
0 new messages