search_algorithms
Values
pub fn a_star(
get_next_states get_next_states: fn(state) -> List(state),
get_next_cost get_next_cost: fn(state, state) -> Int,
approx_remaining_cost approx_remaining_cost: fn(state) -> Int,
is_found is_found: fn(state) -> Bool,
initial_state initial_state: state,
) -> Result(#(Int, List(state)), Nil)
A*
pub fn a_star_assoc(
get_next_states get_next_states: fn(state) -> List(
#(state, Int),
),
approx_remaining_cost approx_remaining_cost: fn(state) -> Int,
is_found is_found: fn(state) -> Bool,
initial_state initial_state: state,
) -> Result(#(Int, List(state)), Nil)
A* w/ associated transition costs
pub fn breadth_first(
get_next_states get_next_states: fn(state) -> List(state),
is_found is_found: fn(state) -> Bool,
initial_state initial_state: state,
) -> Result(List(state), Nil)
Breadth First Search
pub fn depth_first(
get_next_states get_next_states: fn(state) -> List(state),
is_found is_found: fn(state) -> Bool,
initial_state initial_state: state,
) -> Result(List(state), Nil)
Depth First Search
pub fn dijkstra(
get_next_states get_next_states: fn(state) -> List(state),
get_next_cost get_next_cost: fn(state, state) -> Int,
is_found is_found: fn(state) -> Bool,
initial_state initial_state: state,
) -> Result(#(Int, List(state)), Nil)
Dijkstra
pub fn dijkstra_assoc(
get_next_states get_next_states: fn(state) -> List(
#(state, Int),
),
is_found is_found: fn(state) -> Bool,
initial_state initial_state: state,
) -> Result(#(Int, List(state)), Nil)
Dijkstra w/ associated transition costs