Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lab01/report.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1001,7 +1001,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.6"
"version": "3.13.2"
}
},
"nbformat": 4,
Expand Down
6 changes: 3 additions & 3 deletions lab02/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def generate_move(self, board: Board) -> move:
...

@property
def get_total_nodes(self):
def total_nodes(self):
return self._total_nodes


Expand Down Expand Up @@ -251,5 +251,5 @@ def generate_move(self, board) -> move:
return self.agent.generate_move(board)

@property
def get_total_nodes(self) -> float:
return self.agent.get_total_nodes()
def total_nodes(self) -> float:
return self.agent.total_nodes
28 changes: 16 additions & 12 deletions lab02/game.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,7 @@
LOG_STEPS = True


def main() -> None:
rules: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
10, SubgameControlHeuristic(), 10), MinTurnRule(20, LocalActivityHeuristic(), 10)]
rules2: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
3, SubgameControlHeuristic(), 5), MinTurnRule(10, LocalActivityHeuristic(), 15)]
white: Agent = Dynamic('W', rules)
black: Agent = Dynamic('B', rules2)
board: Board = Board.initialize_board(5, 6)

def game(white: Agent, black: Agent, board: Board) -> piece_type:
print("board initialized")
print(board.pretty())

Expand All @@ -36,15 +28,27 @@ def main() -> None:
print(f"{board.turn} turns taken")
print(f"{current_color} won this game!")
print(
f"white: {white._total_nodes} nodes visited, {white.total_time} spent", file=sys.stderr,
f"white: {white.total_nodes} nodes visited, {white.total_time} spent", file=sys.stderr,
flush=True)
print(
f"black: {black._total_nodes} nodes visited, {black.total_time} spent", file=sys.stderr,
f"black: {black.total_nodes} nodes visited, {black.total_time} spent", file=sys.stderr,
flush=True)
return
return current_color

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


def main() -> None:
rules: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
10, SubgameControlHeuristic(), 10), MinTurnRule(20, LocalActivityHeuristic(), 10)]
rules2: list[MinTurnRule] = [MinTurnRule(0, Random(), 1), MinTurnRule(
3, SubgameControlHeuristic(), 5), MinTurnRule(10, LocalActivityHeuristic(), 15)]
white: Agent = Dynamic('W', rules)
black: Agent = Dynamic('B', rules2)
board: Board = Board.initialize_board(5, 6)

game(white, black, board)


if __name__ == "__main__":
main()
Loading