![]() |
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 Subproblems. | |
| 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 Subproblems 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 Subproblems.
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().