mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Data Fields
m::ai::SearchConfiguration< StaticConfig > Struct Template Reference

Relies on the rules of aggregate initialization More...

#include <HeuristicSearch.hpp>

Collaboration diagram for m::ai::SearchConfiguration< StaticConfig >:
[legend]

Public Types

using Subproblem = SmallBitset
 

Public Member Functions

 SearchConfiguration ()=default
 
 SearchConfiguration (SearchConfiguration &&)=default
 

Data Fields

OptField< StaticConfig::PerformCostBasedPruning, std::vector< std::pair< Subproblem, Subproblem > > > initial_plan
 Initial plan for the query.
 
OptField< StaticConfig::PerformCostBasedPruning, double > upper_bound = std::numeric_limits<double>::quiet_NaN()
 Upper bound on the cost of plans to consider.
 
OptField< StaticConfig::PerformWeightedSearch, float > weighting_factor = 1.f
 The weighting factor for the heuristic.
 
OptField< StaticConfig::PerformAnytimeSearch, uint64_t > expansion_budget = std::numeric_limits<uint64_t>::max()
 Budget for the maximum number of expansions.
 

Detailed Description

template<SearchConfigConcept StaticConfig>
struct m::ai::SearchConfiguration< StaticConfig >

Relies on the rules of aggregate initialization

Definition at line 582 of file HeuristicSearch.hpp.

Member Typedef Documentation

◆ Subproblem

template<SearchConfigConcept StaticConfig>
using m::ai::SearchConfiguration< StaticConfig >::Subproblem = SmallBitset

Definition at line 584 of file HeuristicSearch.hpp.

Constructor & Destructor Documentation

◆ SearchConfiguration() [1/2]

template<SearchConfigConcept StaticConfig>
m::ai::SearchConfiguration< StaticConfig >::SearchConfiguration ( )
default

◆ SearchConfiguration() [2/2]

template<SearchConfigConcept StaticConfig>
m::ai::SearchConfiguration< StaticConfig >::SearchConfiguration ( SearchConfiguration< StaticConfig > &&  )
default

Field Documentation

◆ expansion_budget

template<SearchConfigConcept StaticConfig>
OptField<StaticConfig::PerformAnytimeSearch, uint64_t> m::ai::SearchConfiguration< StaticConfig >::expansion_budget = std::numeric_limits<uint64_t>::max()

Budget for the maximum number of expansions.

When the budget is exhausted, search stops.

Definition at line 604 of file HeuristicSearch.hpp.

Referenced by m::ai::genericAStar< State, Expand, Heuristic, StaticConfig, Context >::search().

◆ initial_plan

template<SearchConfigConcept StaticConfig>
OptField<StaticConfig::PerformCostBasedPruning, std::vector<std::pair<Subproblem, Subproblem> > > m::ai::SearchConfiguration< StaticConfig >::initial_plan

Initial plan for the query.

Determines the cost of the upper bound for cost-based pruning. Can be used when the search does not find a plan. For Anytime A* this plan can be used when path completion does not find a cheaper plan.

Definition at line 592 of file HeuristicSearch.hpp.

Referenced by m::pe::hs::heuristic_search().

◆ upper_bound

template<SearchConfigConcept StaticConfig>
OptField<StaticConfig::PerformCostBasedPruning, double> m::ai::SearchConfiguration< StaticConfig >::upper_bound = std::numeric_limits<double>::quiet_NaN()

Upper bound on the cost of plans to consider.

More costly plans will be pruned. Defaults to NaN, expressing that no bound is given. (Usually, the search algorithm will then initialize its internal upper bound with infinity.)

Definition at line 597 of file HeuristicSearch.hpp.

Referenced by m::pe::hs::heuristic_search(), and m::ai::genericAStar< State, Expand, Heuristic, StaticConfig, Context >::search().

◆ weighting_factor

template<SearchConfigConcept StaticConfig>
OptField<StaticConfig::PerformWeightedSearch, float> m::ai::SearchConfiguration< StaticConfig >::weighting_factor = 1.f

The weighting factor for the heuristic.

Should be in (0; ∞). If a weight of 0 is anticipated, use heuristic zero instead.

Definition at line 601 of file HeuristicSearch.hpp.

Referenced by m::pe::hs::heuristic_search(), and m::ai::genericAStar< State, Expand, Heuristic, StaticConfig, Context >::search().


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