game: blackjack

GameType.chance_mode = ChanceMode.EXPLICIT_STOCHASTIC
GameType.dynamics = Dynamics.SEQUENTIAL
GameType.information = Information.IMPERFECT_INFORMATION
GameType.long_name = "Blackjack"
GameType.max_num_players = 1
GameType.min_num_players = 1
GameType.parameter_specification = []
GameType.provides_information_state_string = False
GameType.provides_information_state_tensor = False
GameType.provides_observation_string = True
GameType.provides_observation_tensor = False
GameType.provides_factored_observation_string = False
GameType.reward_model = RewardModel.TERMINAL
GameType.short_name = "blackjack"
GameType.utility = Utility.GENERAL_SUM

NumDistinctActions() = 2
PolicyTensorShape() = [2]
MaxChanceOutcomes() = 52
GetParameters() = {}
NumPlayers() = 1
MinUtility() = -1.0
MaxUtility() = 1.0
UtilitySum() = None
MaxGameLength() = 12
ToString() = "blackjack()"

# State 0
# Non-Ace Total: 0 0 Num Aces: 0 0, Chance Player
IsTerminal() = False
History() = []
HistoryString() = ""
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Non-Ace Total: 0 0 Num Aces: 0 0, Chance Player\n"
ChanceOutcomes() = [{0, 0.019230769231}, {1, 0.019230769231}, {2, 0.019230769231}, {3, 0.019230769231}, {4, 0.019230769231}, {5, 0.019230769231}, {6, 0.019230769231}, {7, 0.019230769231}, {8, 0.019230769231}, {9, 0.019230769231}, {10, 0.019230769231}, {11, 0.019230769231}, {12, 0.019230769231}, {13, 0.019230769231}, {14, 0.019230769231}, {15, 0.019230769231}, {16, 0.019230769231}, {17, 0.019230769231}, {18, 0.019230769231}, {19, 0.019230769231}, {20, 0.019230769231}, {21, 0.019230769231}, {22, 0.019230769231}, {23, 0.019230769231}, {24, 0.019230769231}, {25, 0.019230769231}, {26, 0.019230769231}, {27, 0.019230769231}, {28, 0.019230769231}, {29, 0.019230769231}, {30, 0.019230769231}, {31, 0.019230769231}, {32, 0.019230769231}, {33, 0.019230769231}, {34, 0.019230769231}, {35, 0.019230769231}, {36, 0.019230769231}, {37, 0.019230769231}, {38, 0.019230769231}, {39, 0.019230769231}, {40, 0.019230769231}, {41, 0.019230769231}, {42, 0.019230769231}, {43, 0.019230769231}, {44, 0.019230769231}, {45, 0.019230769231}, {46, 0.019230769231}, {47, 0.019230769231}, {48, 0.019230769231}, {49, 0.019230769231}, {50, 0.019230769231}, {51, 0.019230769231}]
LegalActions() = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]
StringLegalActions() = ["Deal:0", "Deal:1", "Deal:2", "Deal:3", "Deal:4", "Deal:5", "Deal:6", "Deal:7", "Deal:8", "Deal:9", "Deal:10", "Deal:11", "Deal:12", "Deal:13", "Deal:14", "Deal:15", "Deal:16", "Deal:17", "Deal:18", "Deal:19", "Deal:20", "Deal:21", "Deal:22", "Deal:23", "Deal:24", "Deal:25", "Deal:26", "Deal:27", "Deal:28", "Deal:29", "Deal:30", "Deal:31", "Deal:32", "Deal:33", "Deal:34", "Deal:35", "Deal:36", "Deal:37", "Deal:38", "Deal:39", "Deal:40", "Deal:41", "Deal:42", "Deal:43", "Deal:44", "Deal:45", "Deal:46", "Deal:47", "Deal:48", "Deal:49", "Deal:50", "Deal:51"]

# Apply action "Deal:1"
action: 1

# State 1
# Non-Ace Total: 2 0 Num Aces: 0 0, Chance Player
IsTerminal() = False
History() = [1]
HistoryString() = "1"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Non-Ace Total: 2 0 Num Aces: 0 0, Chance Player\n"
ChanceOutcomes() = [{0, 0.019607843137}, {2, 0.019607843137}, {3, 0.019607843137}, {4, 0.019607843137}, {5, 0.019607843137}, {6, 0.019607843137}, {7, 0.019607843137}, {8, 0.019607843137}, {9, 0.019607843137}, {10, 0.019607843137}, {11, 0.019607843137}, {12, 0.019607843137}, {13, 0.019607843137}, {14, 0.019607843137}, {15, 0.019607843137}, {16, 0.019607843137}, {17, 0.019607843137}, {18, 0.019607843137}, {19, 0.019607843137}, {20, 0.019607843137}, {21, 0.019607843137}, {22, 0.019607843137}, {23, 0.019607843137}, {24, 0.019607843137}, {25, 0.019607843137}, {26, 0.019607843137}, {27, 0.019607843137}, {28, 0.019607843137}, {29, 0.019607843137}, {30, 0.019607843137}, {31, 0.019607843137}, {32, 0.019607843137}, {33, 0.019607843137}, {34, 0.019607843137}, {35, 0.019607843137}, {36, 0.019607843137}, {37, 0.019607843137}, {38, 0.019607843137}, {39, 0.019607843137}, {40, 0.019607843137}, {41, 0.019607843137}, {42, 0.019607843137}, {43, 0.019607843137}, {44, 0.019607843137}, {45, 0.019607843137}, {46, 0.019607843137}, {47, 0.019607843137}, {48, 0.019607843137}, {49, 0.019607843137}, {50, 0.019607843137}, {51, 0.019607843137}]
LegalActions() = [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]
StringLegalActions() = ["Deal:0", "Deal:2", "Deal:3", "Deal:4", "Deal:5", "Deal:6", "Deal:7", "Deal:8", "Deal:9", "Deal:10", "Deal:11", "Deal:12", "Deal:13", "Deal:14", "Deal:15", "Deal:16", "Deal:17", "Deal:18", "Deal:19", "Deal:20", "Deal:21", "Deal:22", "Deal:23", "Deal:24", "Deal:25", "Deal:26", "Deal:27", "Deal:28", "Deal:29", "Deal:30", "Deal:31", "Deal:32", "Deal:33", "Deal:34", "Deal:35", "Deal:36", "Deal:37", "Deal:38", "Deal:39", "Deal:40", "Deal:41", "Deal:42", "Deal:43", "Deal:44", "Deal:45", "Deal:46", "Deal:47", "Deal:48", "Deal:49", "Deal:50", "Deal:51"]

# Apply action "Deal:15"
action: 15

# State 2
# Non-Ace Total: 5 0 Num Aces: 0 0, Chance Player
IsTerminal() = False
History() = [1, 15]
HistoryString() = "1, 15"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Non-Ace Total: 5 0 Num Aces: 0 0, Chance Player\n"
ChanceOutcomes() = [{0, 0.020000000000}, {2, 0.020000000000}, {3, 0.020000000000}, {4, 0.020000000000}, {5, 0.020000000000}, {6, 0.020000000000}, {7, 0.020000000000}, {8, 0.020000000000}, {9, 0.020000000000}, {10, 0.020000000000}, {11, 0.020000000000}, {12, 0.020000000000}, {13, 0.020000000000}, {14, 0.020000000000}, {16, 0.020000000000}, {17, 0.020000000000}, {18, 0.020000000000}, {19, 0.020000000000}, {20, 0.020000000000}, {21, 0.020000000000}, {22, 0.020000000000}, {23, 0.020000000000}, {24, 0.020000000000}, {25, 0.020000000000}, {26, 0.020000000000}, {27, 0.020000000000}, {28, 0.020000000000}, {29, 0.020000000000}, {30, 0.020000000000}, {31, 0.020000000000}, {32, 0.020000000000}, {33, 0.020000000000}, {34, 0.020000000000}, {35, 0.020000000000}, {36, 0.020000000000}, {37, 0.020000000000}, {38, 0.020000000000}, {39, 0.020000000000}, {40, 0.020000000000}, {41, 0.020000000000}, {42, 0.020000000000}, {43, 0.020000000000}, {44, 0.020000000000}, {45, 0.020000000000}, {46, 0.020000000000}, {47, 0.020000000000}, {48, 0.020000000000}, {49, 0.020000000000}, {50, 0.020000000000}, {51, 0.020000000000}]
LegalActions() = [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]
StringLegalActions() = ["Deal:0", "Deal:2", "Deal:3", "Deal:4", "Deal:5", "Deal:6", "Deal:7", "Deal:8", "Deal:9", "Deal:10", "Deal:11", "Deal:12", "Deal:13", "Deal:14", "Deal:16", "Deal:17", "Deal:18", "Deal:19", "Deal:20", "Deal:21", "Deal:22", "Deal:23", "Deal:24", "Deal:25", "Deal:26", "Deal:27", "Deal:28", "Deal:29", "Deal:30", "Deal:31", "Deal:32", "Deal:33", "Deal:34", "Deal:35", "Deal:36", "Deal:37", "Deal:38", "Deal:39", "Deal:40", "Deal:41", "Deal:42", "Deal:43", "Deal:44", "Deal:45", "Deal:46", "Deal:47", "Deal:48", "Deal:49", "Deal:50", "Deal:51"]

# Apply action "Deal:45"
action: 45

# State 3
# Non-Ace Total: 5 7 Num Aces: 0 0, Chance Player
IsTerminal() = False
History() = [1, 15, 45]
HistoryString() = "1, 15, 45"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Non-Ace Total: 5 7 Num Aces: 0 0, Chance Player\n"
ChanceOutcomes() = [{0, 0.020408163265}, {2, 0.020408163265}, {3, 0.020408163265}, {4, 0.020408163265}, {5, 0.020408163265}, {6, 0.020408163265}, {7, 0.020408163265}, {8, 0.020408163265}, {9, 0.020408163265}, {10, 0.020408163265}, {11, 0.020408163265}, {12, 0.020408163265}, {13, 0.020408163265}, {14, 0.020408163265}, {16, 0.020408163265}, {17, 0.020408163265}, {18, 0.020408163265}, {19, 0.020408163265}, {20, 0.020408163265}, {21, 0.020408163265}, {22, 0.020408163265}, {23, 0.020408163265}, {24, 0.020408163265}, {25, 0.020408163265}, {26, 0.020408163265}, {27, 0.020408163265}, {28, 0.020408163265}, {29, 0.020408163265}, {30, 0.020408163265}, {31, 0.020408163265}, {32, 0.020408163265}, {33, 0.020408163265}, {34, 0.020408163265}, {35, 0.020408163265}, {36, 0.020408163265}, {37, 0.020408163265}, {38, 0.020408163265}, {39, 0.020408163265}, {40, 0.020408163265}, {41, 0.020408163265}, {42, 0.020408163265}, {43, 0.020408163265}, {44, 0.020408163265}, {46, 0.020408163265}, {47, 0.020408163265}, {48, 0.020408163265}, {49, 0.020408163265}, {50, 0.020408163265}, {51, 0.020408163265}]
LegalActions() = [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51]
StringLegalActions() = ["Deal:0", "Deal:2", "Deal:3", "Deal:4", "Deal:5", "Deal:6", "Deal:7", "Deal:8", "Deal:9", "Deal:10", "Deal:11", "Deal:12", "Deal:13", "Deal:14", "Deal:16", "Deal:17", "Deal:18", "Deal:19", "Deal:20", "Deal:21", "Deal:22", "Deal:23", "Deal:24", "Deal:25", "Deal:26", "Deal:27", "Deal:28", "Deal:29", "Deal:30", "Deal:31", "Deal:32", "Deal:33", "Deal:34", "Deal:35", "Deal:36", "Deal:37", "Deal:38", "Deal:39", "Deal:40", "Deal:41", "Deal:42", "Deal:43", "Deal:44", "Deal:46", "Deal:47", "Deal:48", "Deal:49", "Deal:50", "Deal:51"]

# Apply action "Deal:38"
action: 38

# State 4
# Non-Ace Total: 5 17 Num Aces: 0 0, Player's Turn
IsTerminal() = False
History() = [1, 15, 45, 38]
HistoryString() = "1, 15, 45, 38"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Non-Ace Total: 5 17 Num Aces: 0 0, Player's Turn\n"
Rewards() = [0.0]
Returns() = [0.0]
LegalActions() = [0, 1]
StringLegalActions() = ["Hit", "Stand"]

# Apply action "Hit"
action: 0

# State 5
# Non-Ace Total: 5 17 Num Aces: 0 0, Chance Player
IsTerminal() = False
History() = [1, 15, 45, 38, 0]
HistoryString() = "1, 15, 45, 38, 0"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Non-Ace Total: 5 17 Num Aces: 0 0, Chance Player\n"
ChanceOutcomes() = [{0, 0.020833333333}, {2, 0.020833333333}, {3, 0.020833333333}, {4, 0.020833333333}, {5, 0.020833333333}, {6, 0.020833333333}, {7, 0.020833333333}, {8, 0.020833333333}, {9, 0.020833333333}, {10, 0.020833333333}, {11, 0.020833333333}, {12, 0.020833333333}, {13, 0.020833333333}, {14, 0.020833333333}, {16, 0.020833333333}, {17, 0.020833333333}, {18, 0.020833333333}, {19, 0.020833333333}, {20, 0.020833333333}, {21, 0.020833333333}, {22, 0.020833333333}, {23, 0.020833333333}, {24, 0.020833333333}, {25, 0.020833333333}, {26, 0.020833333333}, {27, 0.020833333333}, {28, 0.020833333333}, {29, 0.020833333333}, {30, 0.020833333333}, {31, 0.020833333333}, {32, 0.020833333333}, {33, 0.020833333333}, {34, 0.020833333333}, {35, 0.020833333333}, {36, 0.020833333333}, {37, 0.020833333333}, {39, 0.020833333333}, {40, 0.020833333333}, {41, 0.020833333333}, {42, 0.020833333333}, {43, 0.020833333333}, {44, 0.020833333333}, {46, 0.020833333333}, {47, 0.020833333333}, {48, 0.020833333333}, {49, 0.020833333333}, {50, 0.020833333333}, {51, 0.020833333333}]
LegalActions() = [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51]
StringLegalActions() = ["Deal:0", "Deal:2", "Deal:3", "Deal:4", "Deal:5", "Deal:6", "Deal:7", "Deal:8", "Deal:9", "Deal:10", "Deal:11", "Deal:12", "Deal:13", "Deal:14", "Deal:16", "Deal:17", "Deal:18", "Deal:19", "Deal:20", "Deal:21", "Deal:22", "Deal:23", "Deal:24", "Deal:25", "Deal:26", "Deal:27", "Deal:28", "Deal:29", "Deal:30", "Deal:31", "Deal:32", "Deal:33", "Deal:34", "Deal:35", "Deal:36", "Deal:37", "Deal:39", "Deal:40", "Deal:41", "Deal:42", "Deal:43", "Deal:44", "Deal:46", "Deal:47", "Deal:48", "Deal:49", "Deal:50", "Deal:51"]

# Apply action "Deal:49"
action: 49

# State 6
# Non-Ace Total: 15 17 Num Aces: 0 0, Player's Turn
IsTerminal() = False
History() = [1, 15, 45, 38, 0, 49]
HistoryString() = "1, 15, 45, 38, 0, 49"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
ObservationString(0) = "Non-Ace Total: 15 17 Num Aces: 0 0, Player's Turn\n"
Rewards() = [0.0]
Returns() = [0.0]
LegalActions() = [0, 1]
StringLegalActions() = ["Hit", "Stand"]

# Apply action "Stand"
action: 1

# State 7
# Non-Ace Total: 15 17 Num Aces: 0 0, Player's Turn
IsTerminal() = False
History() = [1, 15, 45, 38, 0, 49, 1]
HistoryString() = "1, 15, 45, 38, 0, 49, 1"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
ObservationString(0) = "Non-Ace Total: 15 17 Num Aces: 0 0, Player's Turn\n"
Rewards() = [0.0]
Returns() = [0.0]
LegalActions() = [0, 1]
StringLegalActions() = ["Hit", "Stand"]

# Apply action "Hit"
action: 0

# State 8
# Non-Ace Total: 15 17 Num Aces: 0 0, Chance Player
IsTerminal() = False
History() = [1, 15, 45, 38, 0, 49, 1, 0]
HistoryString() = "1, 15, 45, 38, 0, 49, 1, 0"
IsChanceNode() = True
IsSimultaneousNode() = False
CurrentPlayer() = -1
ObservationString(0) = "Non-Ace Total: 15 17 Num Aces: 0 0, Chance Player\n"
ChanceOutcomes() = [{0, 0.021276595745}, {2, 0.021276595745}, {3, 0.021276595745}, {4, 0.021276595745}, {5, 0.021276595745}, {6, 0.021276595745}, {7, 0.021276595745}, {8, 0.021276595745}, {9, 0.021276595745}, {10, 0.021276595745}, {11, 0.021276595745}, {12, 0.021276595745}, {13, 0.021276595745}, {14, 0.021276595745}, {16, 0.021276595745}, {17, 0.021276595745}, {18, 0.021276595745}, {19, 0.021276595745}, {20, 0.021276595745}, {21, 0.021276595745}, {22, 0.021276595745}, {23, 0.021276595745}, {24, 0.021276595745}, {25, 0.021276595745}, {26, 0.021276595745}, {27, 0.021276595745}, {28, 0.021276595745}, {29, 0.021276595745}, {30, 0.021276595745}, {31, 0.021276595745}, {32, 0.021276595745}, {33, 0.021276595745}, {34, 0.021276595745}, {35, 0.021276595745}, {36, 0.021276595745}, {37, 0.021276595745}, {39, 0.021276595745}, {40, 0.021276595745}, {41, 0.021276595745}, {42, 0.021276595745}, {43, 0.021276595745}, {44, 0.021276595745}, {46, 0.021276595745}, {47, 0.021276595745}, {48, 0.021276595745}, {50, 0.021276595745}, {51, 0.021276595745}]
LegalActions() = [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 50, 51]
StringLegalActions() = ["Deal:0", "Deal:2", "Deal:3", "Deal:4", "Deal:5", "Deal:6", "Deal:7", "Deal:8", "Deal:9", "Deal:10", "Deal:11", "Deal:12", "Deal:13", "Deal:14", "Deal:16", "Deal:17", "Deal:18", "Deal:19", "Deal:20", "Deal:21", "Deal:22", "Deal:23", "Deal:24", "Deal:25", "Deal:26", "Deal:27", "Deal:28", "Deal:29", "Deal:30", "Deal:31", "Deal:32", "Deal:33", "Deal:34", "Deal:35", "Deal:36", "Deal:37", "Deal:39", "Deal:40", "Deal:41", "Deal:42", "Deal:43", "Deal:44", "Deal:46", "Deal:47", "Deal:48", "Deal:50", "Deal:51"]

# Apply action "Deal:5"
action: 5

# State 9
# Non-Ace Total: 15 23 Num Aces: 0 0, Player's Turn
IsTerminal() = True
History() = [1, 15, 45, 38, 0, 49, 1, 0, 5]
HistoryString() = "1, 15, 45, 38, 0, 49, 1, 0, 5"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = -4
ObservationString(0) = "Non-Ace Total: 15 23 Num Aces: 0 0, Player's Turn\n"
Rewards() = [1.0]
Returns() = [1.0]
