|
| 1 | +game: python_hangman |
| 2 | + |
| 3 | +GameType.chance_mode = ChanceMode.EXPLICIT_STOCHASTIC |
| 4 | +GameType.dynamics = Dynamics.SEQUENTIAL |
| 5 | +GameType.information = Information.PERFECT_INFORMATION |
| 6 | +GameType.long_name = "Python Hangman" |
| 7 | +GameType.max_num_players = 1 |
| 8 | +GameType.min_num_players = 1 |
| 9 | +GameType.parameter_specification = ["max_num_incorrect_guesses", "word_list_file"] |
| 10 | +GameType.provides_information_state_string = True |
| 11 | +GameType.provides_information_state_tensor = False |
| 12 | +GameType.provides_observation_string = True |
| 13 | +GameType.provides_observation_tensor = True |
| 14 | +GameType.provides_factored_observation_string = False |
| 15 | +GameType.reward_model = RewardModel.TERMINAL |
| 16 | +GameType.short_name = "python_hangman" |
| 17 | +GameType.utility = Utility.GENERAL_SUM |
| 18 | + |
| 19 | +NumDistinctActions() = 26 |
| 20 | +PolicyTensorShape() = [26] |
| 21 | +MaxChanceOutcomes() = 1 |
| 22 | +GetParameters() = {max_num_incorrect_guesses=6,word_list_file=} |
| 23 | +NumPlayers() = 1 |
| 24 | +MinUtility() = -106.0 |
| 25 | +MaxUtility() = 126.0 |
| 26 | +UtilitySum() = None |
| 27 | +ObservationTensorShape() = [9] |
| 28 | +ObservationTensorLayout() = TensorLayout.CHW |
| 29 | +ObservationTensorSize() = 9 |
| 30 | +MaxGameLength() = 26 |
| 31 | +ToString() = "python_hangman(max_num_incorrect_guesses=6,word_list_file=)" |
| 32 | + |
| 33 | +# State 0 |
| 34 | +# Not started yet |
| 35 | +IsTerminal() = False |
| 36 | +History() = [] |
| 37 | +HistoryString() = "" |
| 38 | +IsChanceNode() = True |
| 39 | +IsSimultaneousNode() = False |
| 40 | +CurrentPlayer() = -1 |
| 41 | +InformationStateString(0) = "" |
| 42 | +ObservationString(0) = "Not started yet" |
| 43 | +ObservationTensor(0): ◯◯◯◯◯◯◯◯◯ |
| 44 | +ChanceOutcomes() = [(0,0.04), (1,0.04), (2,0.04), (3,0.04), (4,0.04), (5,0.04), (6,0.04), (7,0.04), (8,0.04), (9,0.04), (10,0.04), (11,0.04), (12,0.04), (13,0.04), (14,0.04), (15,0.04), (16,0.04), (17,0.04), (18,0.04), (19,0.04), (20,0.04), (21,0.04), (22,0.04), (23,0.04), (24,0.04)] |
| 45 | +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] |
| 46 | +StringLegalActions() = ["Chance outcome 0: apple", "Chance outcome 1: banana", "Chance outcome 2: cat", "Chance outcome 3: dog", "Chance outcome 4: egg", "Chance outcome 5: fish", "Chance outcome 6: frog", "Chance outcome 7: giraffe", "Chance outcome 8: hippo", "Chance outcome 9: jackal", "Chance outcome 10: kangaroo", "Chance outcome 11: lemon", "Chance outcome 12: monkey", "Chance outcome 13: narwhal", "Chance outcome 14: orange", "Chance outcome 15: penguin", "Chance outcome 16: pineapple", "Chance outcome 17: pizza", "Chance outcome 18: quail", "Chance outcome 19: rabbit", "Chance outcome 20: snake", "Chance outcome 21: squirrel", "Chance outcome 22: tiger", "Chance outcome 23: unicorn", "Chance outcome 24: zebra"] |
| 47 | + |
| 48 | +# Apply action "Chance outcome 20: snake" |
| 49 | +action: 20 |
| 50 | + |
| 51 | +# State 1 |
| 52 | +# Word: snake |
| 53 | +# Letters Revealed: _____ |
| 54 | +# Letters Guessed: |
| 55 | +# Num guesses: 0 |
| 56 | +IsTerminal() = False |
| 57 | +History() = [20] |
| 58 | +HistoryString() = "20" |
| 59 | +IsChanceNode() = False |
| 60 | +IsSimultaneousNode() = False |
| 61 | +CurrentPlayer() = 0 |
| 62 | +InformationStateString(0) = "20" |
| 63 | +ObservationString(0) = "Letters Revealed: _____\nLetters Guessed: \nNum guesses: 0\n" |
| 64 | +ObservationTensor(0): ◯◯◯◯◯◯◯◯◯ |
| 65 | +Rewards() = [0] |
| 66 | +Returns() = [0] |
| 67 | +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] |
| 68 | +StringLegalActions() = ["Guess letter a", "Guess letter b", "Guess letter c", "Guess letter d", "Guess letter e", "Guess letter f", "Guess letter g", "Guess letter h", "Guess letter i", "Guess letter j", "Guess letter k", "Guess letter l", "Guess letter m", "Guess letter n", "Guess letter o", "Guess letter p", "Guess letter q", "Guess letter r", "Guess letter s", "Guess letter t", "Guess letter u", "Guess letter v", "Guess letter w", "Guess letter x", "Guess letter y", "Guess letter z"] |
| 69 | + |
| 70 | +# Apply action "Guess letter n" |
| 71 | +action: 13 |
| 72 | + |
| 73 | +# State 2 |
| 74 | +# Word: snake |
| 75 | +# Letters Revealed: _n___ |
| 76 | +# Letters Guessed: n |
| 77 | +# Num guesses: 1 |
| 78 | +IsTerminal() = False |
| 79 | +History() = [20, 13] |
| 80 | +HistoryString() = "20, 13" |
| 81 | +IsChanceNode() = False |
| 82 | +IsSimultaneousNode() = False |
| 83 | +CurrentPlayer() = 0 |
| 84 | +InformationStateString(0) = "20, 13" |
| 85 | +ObservationString(0) = "Letters Revealed: _n___\nLetters Guessed: n\nNum guesses: 1\n" |
| 86 | +ObservationTensor(0): ◯◯◯◯◯◯◯◯◯ |
| 87 | +Rewards() = [1] |
| 88 | +Returns() = [1] |
| 89 | +LegalActions() = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] |
| 90 | +StringLegalActions() = ["Guess letter a", "Guess letter b", "Guess letter c", "Guess letter d", "Guess letter e", "Guess letter f", "Guess letter g", "Guess letter h", "Guess letter i", "Guess letter j", "Guess letter k", "Guess letter l", "Guess letter m", "Guess letter o", "Guess letter p", "Guess letter q", "Guess letter r", "Guess letter s", "Guess letter t", "Guess letter u", "Guess letter v", "Guess letter w", "Guess letter x", "Guess letter y", "Guess letter z"] |
| 91 | + |
| 92 | +# Apply action "Guess letter k" |
| 93 | +action: 10 |
| 94 | + |
| 95 | +# State 3 |
| 96 | +# Word: snake |
| 97 | +# Letters Revealed: _n_k_ |
| 98 | +# Letters Guessed: nk |
| 99 | +# Num guesses: 2 |
| 100 | +IsTerminal() = False |
| 101 | +History() = [20, 13, 10] |
| 102 | +HistoryString() = "20, 13, 10" |
| 103 | +IsChanceNode() = False |
| 104 | +IsSimultaneousNode() = False |
| 105 | +CurrentPlayer() = 0 |
| 106 | +InformationStateString(0) = "20, 13, 10" |
| 107 | +ObservationString(0) = "Letters Revealed: _n_k_\nLetters Guessed: nk\nNum guesses: 2\n" |
| 108 | +ObservationTensor(0): ◯◯◯◯◯◯◯◯◯ |
| 109 | +Rewards() = [1] |
| 110 | +Returns() = [2] |
| 111 | +LegalActions() = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25] |
| 112 | +StringLegalActions() = ["Guess letter a", "Guess letter b", "Guess letter c", "Guess letter d", "Guess letter e", "Guess letter f", "Guess letter g", "Guess letter h", "Guess letter i", "Guess letter j", "Guess letter l", "Guess letter m", "Guess letter o", "Guess letter p", "Guess letter q", "Guess letter r", "Guess letter s", "Guess letter t", "Guess letter u", "Guess letter v", "Guess letter w", "Guess letter x", "Guess letter y", "Guess letter z"] |
| 113 | + |
| 114 | +# Apply action "Guess letter j" |
| 115 | +action: 9 |
| 116 | + |
| 117 | +# State 4 |
| 118 | +# Apply action "Guess letter e" |
| 119 | +action: 4 |
| 120 | + |
| 121 | +# State 5 |
| 122 | +# Apply action "Guess letter w" |
| 123 | +action: 22 |
| 124 | + |
| 125 | +# State 6 |
| 126 | +# Apply action "Guess letter l" |
| 127 | +action: 11 |
| 128 | + |
| 129 | +# State 7 |
| 130 | +# Apply action "Guess letter r" |
| 131 | +action: 17 |
| 132 | + |
| 133 | +# State 8 |
| 134 | +# Apply action "Guess letter a" |
| 135 | +action: 0 |
| 136 | + |
| 137 | +# State 9 |
| 138 | +# Apply action "Guess letter d" |
| 139 | +action: 3 |
| 140 | + |
| 141 | +# State 10 |
| 142 | +# Apply action "Guess letter i" |
| 143 | +action: 8 |
| 144 | + |
| 145 | +# State 11 |
| 146 | +# Word: snake |
| 147 | +# Letters Revealed: _nake |
| 148 | +# Letters Guessed: nkjewlradi |
| 149 | +# Num guesses: 10 |
| 150 | +IsTerminal() = True |
| 151 | +History() = [20, 13, 10, 9, 4, 22, 11, 17, 0, 3, 8] |
| 152 | +HistoryString() = "20, 13, 10, 9, 4, 22, 11, 17, 0, 3, 8" |
| 153 | +IsChanceNode() = False |
| 154 | +IsSimultaneousNode() = False |
| 155 | +CurrentPlayer() = -4 |
| 156 | +InformationStateString(0) = "20, 13, 10, 9, 4, 22, 11, 17, 0, 3, 8" |
| 157 | +ObservationString(0) = "Letters Revealed: _nake\nLetters Guessed: nkjewlradi\nNum guesses: 10\n" |
| 158 | +ObservationTensor(0): ◯◯◯◯◯◯◯◯◯ |
| 159 | +Rewards() = [-101] |
| 160 | +Returns() = [-102] |
0 commit comments