diff --git a/algorithms/a_star.py b/algorithms/a_star.py index c593f69..c18872d 100644 --- a/algorithms/a_star.py +++ b/algorithms/a_star.py @@ -45,11 +45,16 @@ class Node: return hash(self.state) -def child_node(action: Action) -> Node: - pass +def expand(node: Node) -> List[Node]: + return [child_node(node=node, action=action) for action in actions(node.state)] -def actions(state: State) -> List[str]: +def child_node(node: Node, action: Action) -> Node: + next_state = result(state=node.state, action=action) + return Node(state=next_state, parent=node, action=action) + + +def actions(state: State) -> List[Action]: pass