Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::ExplorationPolicy Struct Reference

Exploration controls shared across engines. More...

#include <state_search_common.H>

Public Types

enum class  Strategy { Depth_First , Best_First }
 Traversal strategy supported by the engine. More...
 

Public Attributes

Strategy strategy = Strategy::Depth_First
 Traversal strategy.
 
MoveOrderingMode move_ordering = MoveOrderingMode::Domain
 Successor-ordering mode.
 
bool stop_at_first_solution = true
 Stop when the first goal is found.
 
bool use_killer_moves = false
 Enable experimental killer heuristic where supported.
 
bool use_history_heuristic = false
 Enable experimental history heuristic where supported.
 

Detailed Description

Exploration controls shared across engines.

Only depth-first traversal is enabled in this initial phase. The struct is intentionally small so that later phases can extend it without forcing a large hierarchy today.

Definition at line 289 of file state_search_common.H.

Member Enumeration Documentation

◆ Strategy

Traversal strategy supported by the engine.

Note
Best_First is **only implemented by Aleph::Branch_And_Bound**. Passing Best_First to Aleph::Alpha_Beta raises std::invalid_argument at runtime. When the engine type is known at compile time, the SupportsBestFirst<Engine> concept/trait (see above) can be used in templates or a static_assert to forbid Best_First for unsupported engines. However, since ExplorationPolicy::strategy can be set dynamically at runtime, this restriction cannot be enforced purely at compile time for all call sites; ensure you pass the correct strategy for the engine you are using.
Enumerator
Depth_First 

Recursive depth-first traversal (all engines).

Best_First 

Priority-guided expansion; only supported by Branch_And_Bound.

Definition at line 303 of file state_search_common.H.

Member Data Documentation

◆ move_ordering

◆ stop_at_first_solution

◆ strategy

◆ use_history_heuristic

◆ use_killer_moves


The documentation for this struct was generated from the following file: