diff --git a/open_spiel/integration_tests/playthroughs/spades.txt b/open_spiel/integration_tests/playthroughs/spades.txt new file mode 100644 index 0000000000..668932472b --- /dev/null +++ b/open_spiel/integration_tests/playthroughs/spades.txt @@ -0,0 +1,1245 @@ +game: spades + +GameType.chance_mode = ChanceMode.EXPLICIT_STOCHASTIC +GameType.dynamics = Dynamics.SEQUENTIAL +GameType.information = Information.IMPERFECT_INFORMATION +GameType.long_name = "Partnership Spades" +GameType.max_num_players = 4 +GameType.min_num_players = 4 +GameType.parameter_specification = ["mercy_threshold", "num_tricks", "score_partnership_0", "score_partnership_1", "use_mercy_rule", "win_threshold"] +GameType.provides_information_state_string = False +GameType.provides_information_state_tensor = False +GameType.provides_observation_string = True +GameType.provides_observation_tensor = True +GameType.provides_factored_observation_string = False +GameType.reward_model = RewardModel.TERMINAL +GameType.short_name = "spades" +GameType.utility = Utility.GENERAL_SUM + +NumDistinctActions() = 66 +PolicyTensorShape() = [66] +MaxChanceOutcomes() = 52 +GetParameters() = {mercy_threshold=-350,num_tricks=2,score_partnership_0=0,score_partnership_1=0,use_mercy_rule=True,win_threshold=500} +NumPlayers() = 4 +MinUtility() = -230.0 +MaxUtility() = 230.0 +UtilitySum() = None +ObservationTensorShape() = [578] +ObservationTensorLayout() = TensorLayout.CHW +ObservationTensorSize() = 578 +MaxGameLength() = 56 +ToString() = "spades()" + +# State 0 +# S +# H +# D +# C +# S S +# H H +# D D +# C C +# S +# H +# D +# C +IsTerminal() = False +History() = [] +HistoryString() = "" +IsChanceNode() = True +IsSimultaneousNode() = False +CurrentPlayer() = -1 +ObservationString(0) = "S none\nH none\nD none\nC none\n" +ObservationString(1) = "S none\nH none\nD none\nC none\n" +ObservationString(2) = "S none\nH none\nD none\nC none\n" +ObservationString(3) = "S none\nH none\nD none\nC none\n" +ObservationTensor(0): zeros(578) +ObservationTensor(1): zeros(578) +ObservationTensor(2): zeros(578) +ObservationTensor(3): zeros(578) +ChanceOutcomes() = [(0,0.0192308), (1,0.0192308), (2,0.0192308), (3,0.0192308), (4,0.0192308), (5,0.0192308), (6,0.0192308), (7,0.0192308), (8,0.0192308), (9,0.0192308), (10,0.0192308), (11,0.0192308), (12,0.0192308), (13,0.0192308), (14,0.0192308), (15,0.0192308), (16,0.0192308), (17,0.0192308), (18,0.0192308), (19,0.0192308), (20,0.0192308), (21,0.0192308), (22,0.0192308), (23,0.0192308), (24,0.0192308), (25,0.0192308), (26,0.0192308), (27,0.0192308), (28,0.0192308), (29,0.0192308), (30,0.0192308), (31,0.0192308), (32,0.0192308), (33,0.0192308), (34,0.0192308), (35,0.0192308), (36,0.0192308), (37,0.0192308), (38,0.0192308), (39,0.0192308), (40,0.0192308), (41,0.0192308), (42,0.0192308), (43,0.0192308), (44,0.0192308), (45,0.0192308), (46,0.0192308), (47,0.0192308), (48,0.0192308), (49,0.0192308), (50,0.0192308), (51,0.0192308)] +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() = ["C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "CT", "CJ", "CQ", "CK", "CA", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "DT", "DJ", "DQ", "DK", "DA", "H2", "H3", "H4", "H5", "H6", "H7", "H8", "H9", "HT", "HJ", "HQ", "HK", "HA", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "ST", "SJ", "SQ", "SK", "SA"] + +# Apply action "H5" +action: 29 + +# State 1 +# S +# H 5 +# D +# C +# S S +# H H +# D D +# C C +# S +# H +# D +# C +IsTerminal() = False +History() = [29] +HistoryString() = "29" +IsChanceNode() = True +IsSimultaneousNode() = False +CurrentPlayer() = -1 +ObservationString(0) = "S none\nH 5\nD none\nC none\n" +ObservationString(1) = "S none\nH none\nD none\nC none\n" +ObservationString(2) = "S none\nH none\nD none\nC none\n" +ObservationString(3) = "S none\nH none\nD none\nC none\n" +ObservationTensor(0): zeros(578) +ObservationTensor(1): zeros(578) +ObservationTensor(2): zeros(578) +ObservationTensor(3): zeros(578) +ChanceOutcomes() = [(0,0.0196078), (1,0.0196078), (2,0.0196078), (3,0.0196078), (4,0.0196078), (5,0.0196078), (6,0.0196078), (7,0.0196078), (8,0.0196078), (9,0.0196078), (10,0.0196078), (11,0.0196078), (12,0.0196078), (13,0.0196078), (14,0.0196078), (15,0.0196078), (16,0.0196078), (17,0.0196078), (18,0.0196078), (19,0.0196078), (20,0.0196078), (21,0.0196078), (22,0.0196078), (23,0.0196078), (24,0.0196078), (25,0.0196078), (26,0.0196078), (27,0.0196078), (28,0.0196078), (30,0.0196078), (31,0.0196078), (32,0.0196078), (33,0.0196078), (34,0.0196078), (35,0.0196078), (36,0.0196078), (37,0.0196078), (38,0.0196078), (39,0.0196078), (40,0.0196078), (41,0.0196078), (42,0.0196078), (43,0.0196078), (44,0.0196078), (45,0.0196078), (46,0.0196078), (47,0.0196078), (48,0.0196078), (49,0.0196078), (50,0.0196078), (51,0.0196078)] +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, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51] +StringLegalActions() = ["C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "CT", "CJ", "CQ", "CK", "CA", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "DT", "DJ", "DQ", "DK", "DA", "H2", "H3", "H4", "H6", "H7", "H8", "H9", "HT", "HJ", "HQ", "HK", "HA", "S2", "S3", "S4", "S5", "S6", "S7", "S8", "S9", "ST", "SJ", "SQ", "SK", "SA"] + +# Apply action "H2" +action: 26 + +# State 2 +# Apply action "H9" +action: 33 + +# State 3 +# Apply action "S4" +action: 41 + +# State 4 +# Apply action "C7" +action: 5 + +# State 5 +# Apply action "D2" +action: 13 + +# State 6 +# Apply action "SJ" +action: 48 + +# State 7 +# Apply action "S2" +action: 39 + +# State 8 +# Apply action "H4" +action: 28 + +# State 9 +# Apply action "DK" +action: 24 + +# State 10 +# Apply action "H7" +action: 31 + +# State 11 +# Apply action "D3" +action: 14 + +# State 12 +# Apply action "CQ" +action: 10 + +# State 13 +# Apply action "S7" +action: 44 + +# State 14 +# Apply action "DQ" +action: 23 + +# State 15 +# Apply action "H6" +action: 30 + +# State 16 +# Apply action "SQ" +action: 49 + +# State 17 +# Apply action "HK" +action: 37 + +# State 18 +# Apply action "C4" +action: 2 + +# State 19 +# Apply action "S8" +action: 45 + +# State 20 +# Apply action "C8" +action: 6 + +# State 21 +# Apply action "D8" +action: 19 + +# State 22 +# Apply action "HJ" +action: 35 + +# State 23 +# Apply action "SK" +action: 50 + +# State 24 +# Apply action "C9" +action: 7 + +# State 25 +# Apply action "C6" +action: 4 + +# State 26 +# Apply action "S5" +action: 42 + +# State 27 +# Apply action "CT" +action: 8 + +# State 28 +# Apply action "C3" +action: 1 + +# State 29 +# Apply action "C5" +action: 3 + +# State 30 +# Apply action "H8" +action: 32 + +# State 31 +# Apply action "H3" +action: 27 + +# State 32 +# Apply action "HT" +action: 34 + +# State 33 +# Apply action "SA" +action: 51 + +# State 34 +# Apply action "CK" +action: 11 + +# State 35 +# Apply action "C2" +action: 0 + +# State 36 +# Apply action "D7" +action: 18 + +# State 37 +# Apply action "D9" +action: 20 + +# State 38 +# Apply action "HQ" +action: 36 + +# State 39 +# Apply action "ST" +action: 47 + +# State 40 +# Apply action "HA" +action: 38 + +# State 41 +# Apply action "DA" +action: 25 + +# State 42 +# Apply action "D6" +action: 17 + +# State 43 +# Apply action "CA" +action: 12 + +# State 44 +# Apply action "S9" +action: 46 + +# State 45 +# Apply action "S6" +action: 43 + +# State 46 +# Apply action "CJ" +action: 9 + +# State 47 +# Apply action "D4" +action: 15 + +# State 48 +# Apply action "D5" +action: 16 + +# State 49 +# Apply action "DJ" +action: 22 + +# State 50 +# Apply action "DT" +action: 21 + +# State 51 +# Apply action "S3" +action: 40 + +# State 52 +# S Q9 +# H AT54 +# D 75 +# C Q9873 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 65 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 0 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q9873\n" +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 65\n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ4\n" +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n" +ObservationTensor(0): binvec(578, 0x2000000000000004720a00c22024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(1): binvec(578, 0x20000000000000018041ae004181000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(2): binvec(578, 0x20000000000000020504501d8208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(3): binvec(578, 0x200000000000000808b001201c52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65] +StringLegalActions() = ["Nil", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"] + +# Apply action "11" +action: 63 + +# State 53 +# S Q9 +# H AT54 +# D 75 +# C Q9873 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 65 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +# +# North East South West +# 11 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 1 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q9873\n\nNorth East South West \n11 " +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 65\n\nNorth East South West \n11 ?" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ4\n\nNorth East South West \n11 " +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n\nNorth East South West \n11 " +ObservationTensor(0): binvec(578, 0x2001000000000004720a00c22024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(1): binvec(578, 0x20010000000000018041ae004181000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(2): binvec(578, 0x20010000000000020504501d8208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(3): binvec(578, 0x200100000000000808b001201c52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65] +StringLegalActions() = ["Nil", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"] + +# Apply action "Nil" +action: 52 + +# State 54 +# S Q9 +# H AT54 +# D 75 +# C Q9873 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 65 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +# +# North East South West +# 11 Nil +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 2 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q9873\n\nNorth East South West \n11 Nil " +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 65\n\nNorth East South West \n11 Nil " +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ4\n\nNorth East South West \n11 Nil ?" +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n\nNorth East South West \n11 Nil " +ObservationTensor(0): binvec(578, 0x2001200000000004720a00c22024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(1): binvec(578, 0x20012000000000018041ae004181000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(2): binvec(578, 0x20012000000000020504501d8208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(3): binvec(578, 0x200120000000000808b001201c52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [52, 53, 54] +StringLegalActions() = ["Nil", "1", "2"] + +# Apply action "2" +action: 54 + +# State 55 +# S Q9 +# H AT54 +# D 75 +# C Q9873 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 65 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +# +# North East South West +# 11 Nil 2 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 3 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q9873\n\nNorth East South West \n11 Nil 2 " +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 65\n\nNorth East South West \n11 Nil 2 " +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ4\n\nNorth East South West \n11 Nil 2 " +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n\nNorth East South West \n11 Nil 2 \n?" +ObservationTensor(0): binvec(578, 0x2001200020000004720a00c22024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(1): binvec(578, 0x20012000200000018041ae004181000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(2): binvec(578, 0x20012000200000020504501d8208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(3): binvec(578, 0x200120002000000808b001201c52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65] +StringLegalActions() = ["Nil", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"] + +# Apply action "6" +action: 58 + +# State 56 +# S Q9 +# H AT54 +# D 75 +# C Q9873 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 65 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +# +# North East South West +# 11 Nil 2 6 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 0 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q9873\n\nNorth East South West \n11 Nil 2 6 " +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 65\n\nNorth East South West \n11 Nil 2 6 " +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ4\n\nNorth East South West \n11 Nil 2 6 " +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n\nNorth East South West \n11 Nil 2 6 " +ObservationTensor(0): binvec(578, 0x1001200020000804720a00c22024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(1): binvec(578, 0x10012000200008018041ae004181000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(2): binvec(578, 0x10012000200008020504501d8208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +ObservationTensor(3): binvec(578, 0x100120002000080808b001201c52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [1, 5, 6, 7, 10, 16, 18, 28, 29, 34, 38] +StringLegalActions() = ["C3", "C7", "C8", "C9", "CQ", "D5", "D7", "H4", "H5", "HT", "HA"] + +# Apply action "C7" +action: 5 + +# State 57 +# S Q9 +# H AT54 +# D 75 +# C Q983 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 65 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 +# +# Tricks taken: +# +# North East South West +# 0 0 0 0 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 1 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 65\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ4\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804320a00c22024040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(1): binvec(578, 0x10012000200008018041ae004181000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(2): binvec(578, 0x10012000200008020504501d8208000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(3): binvec(578, 0x100120002000080808b001201c52000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004002001000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [3, 4] +StringLegalActions() = ["C5", "C6"] + +# Apply action "C5" +action: 3 + +# State 58 +# S Q9 +# H AT54 +# D 75 +# C Q983 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 6 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 +# +# Tricks taken: +# +# North East South West +# 0 0 0 0 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 2 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 6\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ4\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804320a00c22024040000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(1): binvec(578, 0x10012000200008008041ae004181100000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(2): binvec(578, 0x10012000200008020504501d8208000000000000000000000000000400000000000100000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(3): binvec(578, 0x100120002000080808b001201c52000000000000004000000000001000000000000000000000000000000000000000000000000000000000000000000000000000008004002001000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [2, 9, 11] +StringLegalActions() = ["C4", "CJ", "CK"] + +# Apply action "C4" +action: 2 + +# State 59 +# S Q9 +# H AT54 +# D 75 +# C Q983 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 6 +# S J5 +# H QJ987 +# D QT6 +# C KJ +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 +# +# Tricks taken: +# +# North East South West +# 0 0 0 0 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 3 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 6\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationString(3) = "S KT8432\nH 63\nD 43\nC AT2\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 0 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804320a00c22024040000000000010000000000002000000000000000000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(1): binvec(578, 0x10012000200008008041ae004181100000000000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(2): binvec(578, 0x10012000200008000504501d8208200000000000000000000000000400000000000100000000000000000000000000000000000000000000000000000000000000008004002001000) +ObservationTensor(3): binvec(578, 0x100120002000080808b001201c52000000000000004000000000001000000000000200000000000000000000000000000000000000000000000000000000000000008004002001000) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [0, 8, 12] +StringLegalActions() = ["C2", "CT", "CA"] + +# Apply action "CA" +action: 12 + +# State 60 +# S Q9 +# H AT54 +# D 75 +# C Q983 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C T2 C 6 +# S J5 +# H QJ987 +# D QT6 +# C KJ +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# +# Tricks taken: +# +# North East South West +# 0 0 0 1 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 3 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 6\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(3) = "S KT8432\nH 63\nD 43\nC T2\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804320a00c22024000000000000000000000000000000000000000000000000000004000000000001000000000000200000000000000080000000008004002000800) +ObservationTensor(1): binvec(578, 0x10012000200008008041ae004181000000000000000000000000000000000000000000000000000010000000000002000000000000000800000000004000000000008004002000800) +ObservationTensor(2): binvec(578, 0x10012000200008000504501d8208000000000000000000000000000000000000000000000000000020000000000000008000000000040000000000010000000000008004002000800) +ObservationTensor(3): binvec(578, 0x1001200020000808083001201c52000000000000000000000000000000000000000000000000000000080000000000400000000000100000000000020000000000008004002000800) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [0, 8, 14, 15, 27, 30] +StringLegalActions() = ["C2", "CT", "D3", "D4", "H3", "H6"] + +# Apply action "D4" +action: 15 + +# State 61 +# S Q9 +# H AT54 +# D 75 +# C Q983 +# S KT8432 S A76 +# H 63 H K2 +# D 3 D AKJ982 +# C T2 C 6 +# S J5 +# H QJ987 +# D QT6 +# C KJ +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 +# +# Tricks taken: +# +# North East South West +# 0 0 0 1 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 0 +ObservationString(0) = "S Q9\nH AT54\nD 75\nC Q983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 6\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(3) = "S KT8432\nH 63\nD 3\nC T2\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804320a00c22024000000000000000000000000000000000000000000100000000004000000000001000000000000200000000000000080000000008004002000800) +ObservationTensor(1): binvec(578, 0x10012000200008008041ae004181000000000000000000000000000001000000000000000000000010000000000002000000000000000800000000004000000000008004002000800) +ObservationTensor(2): binvec(578, 0x10012000200008000504501d8208000000000000000010000000000000000000000000000000000020000000000000008000000000040000000000010000000000008004002000800) +ObservationTensor(3): binvec(578, 0x1001200020000808082001201c52000100000000000000000000000000000000000000000000000000080000000000400000000000100000000000020000000000008004002000800) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [16, 18] +StringLegalActions() = ["D5", "D7"] + +# Apply action "D7" +action: 18 + +# State 62 +# S Q9 +# H AT54 +# D 5 +# C Q983 +# S KT8432 S A76 +# H 63 H K2 +# D 3 D AKJ982 +# C T2 C 6 +# S J5 +# H QJ987 +# D QT6 +# C KJ +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 D7 +# +# Tricks taken: +# +# North East South West +# 0 0 0 1 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 1 +ObservationString(0) = "S Q9\nH AT54\nD 5\nC Q983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(1) = "S A76\nH K2\nD AKJ982\nC 6\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(3) = "S KT8432\nH 63\nD 3\nC T2\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804320800c22024000020000000000000000000000000000000000000100000000004000000000001000000000000200000000000000080000000008004002000800) +ObservationTensor(1): binvec(578, 0x10012000200008008041ae004181000000000000000000000000000001000000000000020000000010000000000002000000000000000800000000004000000000008004002000800) +ObservationTensor(2): binvec(578, 0x10012000200008000504501d8208000000000000000010000000000000200000000000000000000020000000000000008000000000040000000000010000000000008004002000800) +ObservationTensor(3): binvec(578, 0x1001200020000808082001201c52000100000000000002000000000000000000000000000000000000080000000000400000000000100000000000020000000000008004002000800) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [13, 19, 20, 22, 24, 25] +StringLegalActions() = ["D2", "D8", "D9", "DJ", "DK", "DA"] + +# Apply action "D8" +action: 19 + +# State 63 +# S Q9 +# H AT54 +# D 5 +# C Q983 +# S KT8432 S A76 +# H 63 H K2 +# D 3 D AKJ92 +# C T2 C 6 +# S J5 +# H QJ987 +# D QT6 +# C KJ +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 D7 D8 +# +# Tricks taken: +# +# North East South West +# 0 0 0 1 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 2 +ObservationString(0) = "S Q9\nH AT54\nD 5\nC Q983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(1) = "S A76\nH K2\nD AKJ92\nC 6\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(2) = "S J5\nH QJ987\nD QT6\nC KJ\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationString(3) = "S KT8432\nH 63\nD 3\nC T2\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 \n\nTricks taken:\n\nNorth East South West\n0 0 0 1 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804320800c22024000020000000000001000000000000000000000000100000000004000000000001000000000000200000000000000080000000008004002000800) +ObservationTensor(1): binvec(578, 0x10012000200008008040ae004181000010000000000000000000000001000000000000020000000010000000000002000000000000000800000000004000000000008004002000800) +ObservationTensor(2): binvec(578, 0x10012000200008000504501d8208000000000000000010000000000000200000000000010000000020000000000000008000000000040000000000010000000000008004002000800) +ObservationTensor(3): binvec(578, 0x1001200020000808082001201c52000100000000000002000000000000100000000000000000000000080000000000400000000000100000000000020000000000008004002000800) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [17, 21, 23] +StringLegalActions() = ["D6", "DT", "DQ"] + +# Apply action "DT" +action: 21 + +# State 64 +# Apply action "HQ" +action: 36 + +# State 65 +# Apply action "H6" +action: 30 + +# State 66 +# Apply action "H4" +action: 28 + +# State 67 +# Apply action "H2" +action: 26 + +# State 68 +# Apply action "CK" +action: 11 + +# State 69 +# Apply action "CT" +action: 8 + +# State 70 +# Apply action "CQ" +action: 10 + +# State 71 +# Apply action "C6" +action: 4 + +# State 72 +# Apply action "DQ" +action: 23 + +# State 73 +# Apply action "D3" +action: 14 + +# State 74 +# Apply action "D5" +action: 16 + +# State 75 +# Apply action "D9" +action: 20 + +# State 76 +# Apply action "H7" +action: 31 + +# State 77 +# Apply action "H3" +action: 27 + +# State 78 +# Apply action "HT" +action: 34 + +# State 79 +# Apply action "HK" +action: 37 + +# State 80 +# Apply action "DK" +action: 24 + +# State 81 +# Apply action "D6" +action: 17 + +# State 82 +# Apply action "C2" +action: 0 + +# State 83 +# Apply action "H5" +action: 29 + +# State 84 +# Apply action "D2" +action: 13 + +# State 85 +# Apply action "SJ" +action: 48 + +# State 86 +# Apply action "S2" +action: 39 + +# State 87 +# Apply action "S9" +action: 46 + +# State 88 +# Apply action "HJ" +action: 35 + +# State 89 +# Apply action "S8" +action: 45 + +# State 90 +# Apply action "HA" +action: 38 + +# State 91 +# Apply action "DA" +action: 25 + +# State 92 +# S Q +# H +# D +# C 983 +# S KT43 S A76 +# H H +# D D J +# C C +# S 5 +# H 98 +# D +# C J +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 D7 D8 DT +# HQ H6 H4 H2 +# CK CT CQ C6 +# DQ D3 D5 D9 +# H7 H3 HT HK +# DK D6 C2 H5 +# D2 SJ S2 S9 +# HJ S8 HA DA +# +# Tricks taken: +# +# North East South West +# 0 2 5 2 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 3 +ObservationString(0) = "S Q\nH none\nD none\nC 983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(1) = "S A76\nH none\nD J\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(2) = "S 5\nH 98\nD none\nC J\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(3) = "S KT43\nH none\nD none\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804300000000004000000000000000000000000000000000000000000000000000000000000020000000004000000000000001000000000000000408001000100400) +ObservationTensor(1): binvec(578, 0x1001200020000800000020000181000000000000000000000000000000000000000000000000000000000040000000000000010000000000000004000000000020008001000100400) +ObservationTensor(2): binvec(578, 0x10012000200008000400000c0200000000000000000000000000000000000000000000000000000000000000100000000000000040000000000200000000040000008001000100400) +ObservationTensor(3): binvec(578, 0x1001200020000800000000000c12000000000000000000000000000000000000000000000000000000000000000400000000002000000000400000000000000100008001000100400) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [40, 41, 47, 50] +StringLegalActions() = ["S3", "S4", "ST", "SK"] + +# Apply action "ST" +action: 47 + +# State 93 +# S Q +# H +# D +# C 983 +# S K43 S A76 +# H H +# D D J +# C C +# S 5 +# H 98 +# D +# C J +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 D7 D8 DT +# HQ H6 H4 H2 +# CK CT CQ C6 +# DQ D3 D5 D9 +# H7 H3 HT HK +# DK D6 C2 H5 +# D2 SJ S2 S9 +# HJ S8 HA DA +# ST +# +# Tricks taken: +# +# North East South West +# 0 2 5 2 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 0 +ObservationString(0) = "S Q\nH none\nD none\nC 983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(1) = "S A76\nH none\nD J\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(2) = "S 5\nH 98\nD none\nC J\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(3) = "S K43\nH none\nD none\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804300000000004000000000000000000000000000000000000000000000000001000000000020000000004000000000000001000000000000000408001000100400) +ObservationTensor(1): binvec(578, 0x1001200020000800000020000181000000000000000000000000000000000000010000000000000000000040000000000000010000000000000004000000000020008001000100400) +ObservationTensor(2): binvec(578, 0x10012000200008000400000c0200000000000000000000000000100000000000000000000000000000000000100000000000000040000000000200000000040000008001000100400) +ObservationTensor(3): binvec(578, 0x1001200020000800000000000c02000000000001000000000000000000000000000000000000000000000000000400000000002000000000400000000000000100008001000100400) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [49] +StringLegalActions() = ["SQ"] + +# Apply action "SQ" +action: 49 + +# State 94 +# S +# H +# D +# C 983 +# S K43 S A76 +# H H +# D D J +# C C +# S 5 +# H 98 +# D +# C J +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 D7 D8 DT +# HQ H6 H4 H2 +# CK CT CQ C6 +# DQ D3 D5 D9 +# H7 H3 HT HK +# DK D6 C2 H5 +# D2 SJ S2 S9 +# HJ S8 HA DA +# ST SQ +# +# Tricks taken: +# +# North East South West +# 0 2 5 2 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47, 49] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47, 49" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 1 +ObservationString(0) = "S none\nH none\nD none\nC 983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(1) = "S A76\nH none\nD J\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(2) = "S 5\nH 98\nD none\nC J\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(3) = "S K43\nH none\nD none\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804300000000000000000000000400000000000000000000000000000000000001000000000020000000004000000000000001000000000000000408001000100400) +ObservationTensor(1): binvec(578, 0x1001200020000800000020000181000000000000000000000000000000000000010000000000000400000040000000000000010000000000000004000000000020008001000100400) +ObservationTensor(2): binvec(578, 0x10012000200008000400000c0200000000000000000000000000100000000000004000000000000000000000100000000000000040000000000200000000040000008001000100400) +ObservationTensor(3): binvec(578, 0x1001200020000800000000000c02000000000001000000000000040000000000000000000000000000000000000400000000002000000000400000000000000100008001000100400) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [43, 44, 51] +StringLegalActions() = ["S6", "S7", "SA"] + +# Apply action "S6" +action: 43 + +# State 95 +# S +# H +# D +# C 983 +# S K43 S A7 +# H H +# D D J +# C C +# S 5 +# H 98 +# D +# C J +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 D7 D8 DT +# HQ H6 H4 H2 +# CK CT CQ C6 +# DQ D3 D5 D9 +# H7 H3 HT HK +# DK D6 C2 H5 +# D2 SJ S2 S9 +# HJ S8 HA DA +# ST SQ S6 +# +# Tricks taken: +# +# North East South West +# 0 2 5 2 +IsTerminal() = False +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47, 49, 43] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47, 49, 43" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = 2 +ObservationString(0) = "S none\nH none\nD none\nC 983\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(1) = "S A7\nH none\nD J\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(2) = "S 5\nH 98\nD none\nC J\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationString(3) = "S K43\nH none\nD none\nC none\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 \n\nTricks taken:\n\nNorth East South West\n0 2 5 2 \n" +ObservationTensor(0): binvec(578, 0x1001200020000804300000000000000000000000400000000001000000000000000000000000001000000000020000000004000000000000001000000000000000408001000100400) +ObservationTensor(1): binvec(578, 0x1001200020000800000020000081000000000010000000000000000000000000010000000000000400000040000000000000010000000000000004000000000020008001000100400) +ObservationTensor(2): binvec(578, 0x10012000200008000400000c0200000000000000000000000000100000000000004000000000010000000000100000000000000040000000000200000000040000008001000100400) +ObservationTensor(3): binvec(578, 0x1001200020000800000000000c02000000000001000000000000040000000000100000000000000000000000000400000000002000000000400000000000000100008001000100400) +Rewards() = [0, 0, 0, 0] +Returns() = [0, 0, 0, 0] +LegalActions() = [42] +StringLegalActions() = ["S5"] + +# Apply action "S5" +action: 42 + +# State 96 +# Apply action "C8" +action: 6 + +# State 97 +# Apply action "S7" +action: 44 + +# State 98 +# Apply action "CJ" +action: 9 + +# State 99 +# Apply action "SK" +action: 50 + +# State 100 +# Apply action "S4" +action: 41 + +# State 101 +# Apply action "C3" +action: 1 + +# State 102 +# Apply action "SA" +action: 51 + +# State 103 +# Apply action "H8" +action: 32 + +# State 104 +# Apply action "DJ" +action: 22 + +# State 105 +# Apply action "H9" +action: 33 + +# State 106 +# Apply action "S3" +action: 40 + +# State 107 +# Apply action "C9" +action: 7 + +# State 108 +# S Q9 +# H AT54 +# D 75 +# C Q9873 +# S KT8432 S A76 +# H 63 H K2 +# D 43 D AKJ982 +# C AT2 C 65 +# S J5 +# H QJ987 +# D QT6 +# C KJ4 +# +# North East South West +# 11 Nil 2 6 +# +# N E S W N E S +# C7 C5 C4 CA +# D4 D7 D8 DT +# HQ H6 H4 H2 +# CK CT CQ C6 +# DQ D3 D5 D9 +# H7 H3 HT HK +# DK D6 C2 H5 +# D2 SJ S2 S9 +# HJ S8 HA DA +# ST SQ S6 S5 +# C8 S7 CJ SK +# S4 C3 SA H8 +# DJ H9 S3 C9 +# +# Tricks taken: +# +# North East South West +# 1 3 5 4 +# +# Score: N/S -130 E/W -39 +IsTerminal() = True +History() = [29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47, 49, 43, 42, 6, 44, 9, 50, 41, 1, 51, 32, 22, 33, 40, 7] +HistoryString() = "29, 26, 33, 41, 5, 13, 48, 39, 28, 24, 31, 14, 10, 44, 23, 30, 49, 37, 2, 45, 6, 19, 35, 50, 7, 4, 42, 8, 1, 3, 32, 27, 34, 51, 11, 0, 18, 20, 36, 47, 38, 25, 17, 12, 46, 43, 9, 15, 16, 22, 21, 40, 63, 52, 54, 58, 5, 3, 2, 12, 15, 18, 19, 21, 36, 30, 28, 26, 11, 8, 10, 4, 23, 14, 16, 20, 31, 27, 34, 37, 24, 17, 0, 29, 13, 48, 39, 46, 35, 45, 38, 25, 47, 49, 43, 42, 6, 44, 9, 50, 41, 1, 51, 32, 22, 33, 40, 7" +IsChanceNode() = False +IsSimultaneousNode() = False +CurrentPlayer() = -4 +ObservationString(0) = " S Q9\n H AT54\n D 75\n C Q9873\nS KT8432 S A76\nH 63 H K2\nD 43 D AKJ982\nC AT2 C 65\n S J5\n H QJ987\n D QT6\n C KJ4\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 S5 \nC8 S7 CJ SK \n S4 C3 SA H8 \n DJ H9 S3 C9 \n\nTricks taken:\n\nNorth East South West\n1 3 5 4 \n\nScore: N/S -130 E/W -39" +ObservationString(1) = " S Q9\n H AT54\n D 75\n C Q9873\nS KT8432 S A76\nH 63 H K2\nD 43 D AKJ982\nC AT2 C 65\n S J5\n H QJ987\n D QT6\n C KJ4\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 S5 \nC8 S7 CJ SK \n S4 C3 SA H8 \n DJ H9 S3 C9 \n\nTricks taken:\n\nNorth East South West\n1 3 5 4 \n\nScore: N/S -130 E/W -39" +ObservationString(2) = " S Q9\n H AT54\n D 75\n C Q9873\nS KT8432 S A76\nH 63 H K2\nD 43 D AKJ982\nC AT2 C 65\n S J5\n H QJ987\n D QT6\n C KJ4\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 S5 \nC8 S7 CJ SK \n S4 C3 SA H8 \n DJ H9 S3 C9 \n\nTricks taken:\n\nNorth East South West\n1 3 5 4 \n\nScore: N/S -130 E/W -39" +ObservationString(3) = " S Q9\n H AT54\n D 75\n C Q9873\nS KT8432 S A76\nH 63 H K2\nD 43 D AKJ982\nC AT2 C 65\n S J5\n H QJ987\n D QT6\n C KJ4\n\nNorth East South West \n11 Nil 2 6 \n\nN E S W N E S\nC7 C5 C4 CA \n D4 D7 D8 DT \n HQ H6 H4 H2 \n CK CT CQ C6 \n DQ D3 D5 D9 \n H7 H3 HT HK \n DK D6 C2 H5 \n D2 SJ S2 S9 \n HJ S8 HA DA \n ST SQ S6 S5 \nC8 S7 CJ SK \n S4 C3 SA H8 \n DJ H9 S3 C9 \n\nTricks taken:\n\nNorth East South West\n1 3 5 4 \n\nScore: N/S -130 E/W -39" +ObservationTensor(0): binvec(578, 0x801200020000800000000000000000000000000000000000000000000000000000000000000000001000000000000000020000000000000004000000000000008004000800100100) +ObservationTensor(1): binvec(578, 0x801200020000800000000000000000000000000000000000000000000000000000000000000000000000200000000000000040000000000000080001000000000004000800100100) +ObservationTensor(2): binvec(578, 0x801200020000800000000000000000000000000000000000000000000000000000000000000000000000000400000000000000800010000000000000000200000004000800100100) +ObservationTensor(3): binvec(578, 0x801200020000800000000000000000000000000000000000000000000000000000000000000000000000000008000100000000000000002000000000000000400004000800100100) +Rewards() = [-130, -39, -130, -39] +Returns() = [-130, -39, -130, -39]