![]() |
mutable
A Database System for Research and Fast Prototyping
|
A state in the search space. More...
#include <HeuristicSearchPlanEnumerator.hpp>
Data Structures | |
struct | state_counters_t |
Public Types | |
using | size_type = std::size_t |
using | actual_type = Actual |
Public Member Functions | |
const Actual * | parent () const |
template<typename PlanTable > | |
bool | is_bottom (const PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) const |
template<typename PlanTable > | |
bool | is_top (const PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) const |
double | g () const |
Returns the cost to reach this state from the initial state. | |
double | decrease_g (const Actual *new_parent, double new_g) const |
Reduces the g value of the state. | |
bool | operator== (const Base &other) const |
bool | operator!= (const Base &other) const |
bool | operator< (const Base &other) const |
template<typename Callback , typename PlanTable > | |
void | for_each_successor (Callback &&callback, PlanTable &PT, const QueryGraph &G, const AdjacencyMatrix &M, const CostFunction &CF, const CardinalityEstimator &CE) const |
Returns true iff this and other have the exact same Subproblem s. | |
template<typename Callback > | |
void | for_each_subproblem (Callback &&callback, const QueryGraph &G) const |
M_LCOV_EXCL_START void | dump (std::ostream &out) const |
void | dump () const |
actual_type & | actual () |
const actual_type & | actual () const |
Static Public Member Functions | |
static void | RESET_STATE_COUNTERS () |
static unsigned | NUM_STATES_GENERATED () |
static unsigned | NUM_STATES_EXPANDED () |
static unsigned | NUM_STATES_CONSTRUCTED () |
static unsigned | NUM_STATES_DISPOSED () |
static void | INCREMENT_NUM_STATES_GENERATED () |
static void | INCREMENT_NUM_STATES_EXPANDED () |
static void | INCREMENT_NUM_STATES_CONSTRUCTED () |
static void | INCREMENT_NUM_STATES_DISPOSED () |
static state_counters_t | STATE_COUNTERS () |
static state_counters_t | STATE_COUNTERS (state_counters_t new_counters) |
Private Attributes | |
friend | CRTPBaseType< actual_type, TParams... > |
Static Private Attributes | |
static state_counters_t | state_counters_ |
A state in the search space.
A state consists of the accumulated costs of actions to reach this state from the from initial state and a desciption of the actual problem within the state. The problem is described as the sorted list of Subproblem
s yet to be joined.
Definition at line 80 of file HeuristicSearchPlanEnumerator.hpp.
using m::pe::hs::search_states::Base< Actual >::size_type = std::size_t |
Definition at line 83 of file HeuristicSearchPlanEnumerator.hpp.
|
inlineinherited |
|
inlineinherited |
|
inline |
Reduces the g value of the state.
Definition at line 160 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inline |
Definition at line 186 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::dump().
Referenced by m::pe::hs::search_states::Base< Actual >::dump().
|
inline |
Definition at line 185 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inline |
Definition at line 179 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inline |
Returns true
iff this
and other
have the exact same Subproblem
s.
Calls callback
on every state reachable from this state by a single actions.
Definition at line 171 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inline |
Returns the cost to reach this state from the initial state.
Definition at line 155 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inlinestatic |
Definition at line 114 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_constructed, and m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inlinestatic |
Definition at line 115 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_disposed, and m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inlinestatic |
Definition at line 113 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_expanded, and m::pe::hs::search_states::Base< Actual >::state_counters_.
Referenced by m::pe::hs::expansions::BottomUpComplete::operator()(), and m::pe::hs::expansions::TopDownComplete::operator()().
|
inlinestatic |
Definition at line 112 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_generated, and m::pe::hs::search_states::Base< Actual >::state_counters_.
Referenced by m::pe::hs::expansions::BottomUpComplete::operator()(), and m::pe::hs::expansions::TopDownComplete::operator()().
|
inline |
Definition at line 141 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inline |
Definition at line 148 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inlinestatic |
Definition at line 109 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_constructed, and m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inlinestatic |
Definition at line 110 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_disposed, and m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inlinestatic |
Definition at line 108 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_expanded, and m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inlinestatic |
Definition at line 107 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_t::num_states_generated, and m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inline |
Definition at line 165 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< ConcreteType, CRTPBaseType, TParams >::actual(), and m::crtp< Actual, Base >::actual().
|
inline |
Definition at line 166 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< ConcreteType, CRTPBaseType, TParams >::actual(), and m::crtp< Actual, Base >::actual().
|
inline |
Definition at line 164 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< ConcreteType, CRTPBaseType, TParams >::actual(), and m::crtp< Actual, Base >::actual().
|
inline |
Definition at line 138 of file HeuristicSearchPlanEnumerator.hpp.
References m::crtp< Actual, Base >::actual().
|
inlinestatic |
Definition at line 106 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inlinestatic |
Definition at line 117 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_.
|
inlinestatic |
Definition at line 118 of file HeuristicSearchPlanEnumerator.hpp.
References m::pe::hs::search_states::Base< Actual >::state_counters_.
|
privateinherited |
|
staticprivate |
Definition at line 103 of file HeuristicSearchPlanEnumerator.hpp.
Referenced by m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_CONSTRUCTED(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_DISPOSED(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_EXPANDED(), m::pe::hs::search_states::Base< Actual >::INCREMENT_NUM_STATES_GENERATED(), m::pe::hs::search_states::Base< Actual >::NUM_STATES_CONSTRUCTED(), m::pe::hs::search_states::Base< Actual >::NUM_STATES_DISPOSED(), m::pe::hs::search_states::Base< Actual >::NUM_STATES_EXPANDED(), m::pe::hs::search_states::Base< Actual >::NUM_STATES_GENERATED(), m::pe::hs::search_states::Base< Actual >::RESET_STATE_COUNTERS(), and m::pe::hs::search_states::Base< Actual >::STATE_COUNTERS().