generated from mwc/lab_tic_tac_toe
45 lines
2.4 KiB
Markdown
45 lines
2.4 KiB
Markdown
# Tic Tac Toe notes
|
|
|
|
## Checkpoint 1 Notes
|
|
|
|
Which class is responsible for each of the following behaviors?
|
|
For each, explain how the behavior is accomplished.
|
|
|
|
### Checking to see whether the game is over
|
|
The game class checks if the game is over using the is_over method.
|
|
### Determining which actions are available at a particular state
|
|
The game class also does this through the get_actions method
|
|
### Showing the board
|
|
The view class does this through the print_board method
|
|
### Choosing which action to play on a turn
|
|
The player class contains the choose_action method which allows the player
|
|
to choose whicn place to play.
|
|
|
|
## Checkpoint 2 Notes
|
|
I was able to get the game to correctly determine who the winner was. I understand that there's
|
|
an array that I'm accessing, and that indexes 0 through 9 correspond to the different spaces on the
|
|
board starting on the top left and going across the row, then down to the left of the next row, etc.
|
|
What I do not understand is what state is and why we need to use state["board"][index] to access
|
|
something on the boare
|
|
|
|
### TTT Strategy
|
|
For each of the following board states, if you are playing as X
|
|
and it's your turn, which action would you take? Why?
|
|
|
|
0 | O | O 0 | 1 | O 0 | X | 2 X | O | 2
|
|
---+---+--- ---+---+--- ---+---+--- ---+---+---
|
|
X | X | 5 3 | X | 5 X | O | O 3 | 4 | 5
|
|
---+---+--- ---+---+--- ---+---+--- ---+---+---
|
|
6 | 7 | 8 6 | 7 | O 6 | 7 | 8 6 | 7 | 8
|
|
|
|
1 - You should play in space 5, since you'll win the game.
|
|
2 - You should play in space 5 since that will block the O player from winning and also give you two in a row.
|
|
3 - You should play in space 0, since that will give you two chances to win on your next move and the other player can only block one of them.
|
|
4 - Play in space 4. This blocks the other player from using the O they placed.
|
|
|
|
### Initial game state
|
|
You can get the inital game state using game.get_initial_state().
|
|
What is the current and future reward for this state? What does this mean?
|
|
I think the current reward is 1, meaning x wins, and the future reward is 0. This means that at the beginning of the game, x who is the first player is likely to win, but after the computer tests all of it's cases, it's likely that the game will end in a draw. This makes sense to me. It wasn't too difficult to tie with the computer, however it was difficult to beat the computer.
|
|
|