Skip to content

Commit 6635fd0

Browse files
Merge pull request #2 from lmProgramming/lab02-report
Lab02 report
2 parents b8d6369 + 49380e3 commit 6635fd0

File tree

5 files changed

+1328
-16
lines changed

5 files changed

+1328
-16
lines changed

lab01/report.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1001,7 +1001,7 @@
10011001
"name": "python",
10021002
"nbconvert_exporter": "python",
10031003
"pygments_lexer": "ipython3",
1004-
"version": "3.12.6"
1004+
"version": "3.13.2"
10051005
}
10061006
},
10071007
"nbformat": 4,

lab02/agent.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def generate_move(self, board: Board) -> move:
3131
...
3232

3333
@property
34-
def get_total_nodes(self):
34+
def total_nodes(self):
3535
return self._total_nodes
3636

3737

@@ -251,5 +251,5 @@ def generate_move(self, board) -> move:
251251
return self.agent.generate_move(board)
252252

253253
@property
254-
def get_total_nodes(self) -> float:
255-
return self.agent.get_total_nodes()
254+
def total_nodes(self) -> float:
255+
return self.agent.total_nodes

lab02/game.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,7 @@
88
LOG_STEPS = True
99

1010

11-
def main() -> None:
12-
rules: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
13-
10, SubgameControlHeuristic(), 10), MinTurnRule(20, LocalActivityHeuristic(), 10)]
14-
rules2: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
15-
3, SubgameControlHeuristic(), 5), MinTurnRule(10, LocalActivityHeuristic(), 15)]
16-
white: Agent = Dynamic('W', rules)
17-
black: Agent = Dynamic('B', rules2)
18-
board: Board = Board.initialize_board(5, 6)
19-
11+
def game(white: Agent, black: Agent, board: Board) -> piece_type:
2012
print("board initialized")
2113
print(board.pretty())
2214

@@ -36,15 +28,27 @@ def main() -> None:
3628
print(f"{board.turn} turns taken")
3729
print(f"{current_color} won this game!")
3830
print(
39-
f"white: {white._total_nodes} nodes visited, {white.total_time} spent", file=sys.stderr,
31+
f"white: {white.total_nodes} nodes visited, {white.total_time} spent", file=sys.stderr,
4032
flush=True)
4133
print(
42-
f"black: {black._total_nodes} nodes visited, {black.total_time} spent", file=sys.stderr,
34+
f"black: {black.total_nodes} nodes visited, {black.total_time} spent", file=sys.stderr,
4335
flush=True)
44-
return
36+
return current_color
4537

4638
current_color = 'B' if current_color == 'W' else "W"
4739

4840

41+
def main() -> None:
42+
rules: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
43+
10, SubgameControlHeuristic(), 10), MinTurnRule(20, LocalActivityHeuristic(), 10)]
44+
rules2: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
45+
3, SubgameControlHeuristic(), 5), MinTurnRule(10, LocalActivityHeuristic(), 15)]
46+
white: Agent = Dynamic('W', rules)
47+
black: Agent = Dynamic('B', rules2)
48+
board: Board = Board.initialize_board(5, 6)
49+
50+
game(white, black, board)
51+
52+
4953
if __name__ == "__main__":
5054
main()

0 commit comments

Comments
 (0)