Implements Oscillating_Search. More...
#include <search_seq_os.hpp>
Public Types | |
typedef Search_Sequential < RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR > | parent |
typedef parent::parent | grandparent |
typedef Search_BIF< RETURNTYPE, DIMTYPE, SUBSET, CRITERION > | SearchBIF |
typedef boost::shared_ptr < SearchBIF > | PSearchBIF |
typedef boost::shared_ptr < EVALUATOR > | PEvaluator |
typedef boost::shared_ptr < CRITERION > | PCriterion |
typedef boost::shared_ptr< SUBSET > | PSubset |
Public Member Functions | |
Search_OS (const PEvaluator evaluator) | |
virtual bool | search (const DIMTYPE target_d, RETURNTYPE &result, const PSubset sub, const PCriterion crit, std::ostream &os=std::cout) |
returns found subset + criterion value | |
void | set_delta (const DIMTYPE delta) |
oscillating cycle depth | |
DIMTYPE | get_delta () const |
virtual std::ostream & | print (std::ostream &os) const |
Protected Types | |
enum | SwingPhase { RESTART = 0, DOWN = 1, RETURN_UP = 2, UP = 4, RETURN_DOWN = 8 } |
Protected Member Functions | |
virtual bool | search_one (RETURNTYPE &result, const PSubset sub, const PCriterion crit, std::ostream &os) |
standard OS initialized by sub, target dimensionality sub->get_d() | |
virtual bool | adjust_initial_subset (const DIMTYPE target_d, const PSubset sub, const PSearchBIF bif, std::ostream &os) |
if sub->get_d!=target_d, the contents of sub are either supplemented by best individual features or reduced by removing worst individual features to reach the target_d cardinality | |
Protected Attributes | |
DIMTYPE | _delta |
boost::scoped_ptr< SUBSET > | pivotsub |
boost::scoped_ptr< SUBSET > | pivot_top |
helper to prevent redundant search when OS cycle depth increases | |
boost::scoped_ptr< SUBSET > | pivot_bottom |
helper to prevent redundant search when OS cycle depth increases | |
boost::scoped_ptr< SUBSET > | inisub |
used when testing all subset sizes | |
boost::shared_ptr< SUBSET > | tmpsub |
used when testing all subset sizes | |
Private Attributes | |
bool | track |
Implements Oscillating_Search.
demo22.cpp, demo33.cpp, and demo33t.cpp.
bool FST::Search_OS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::search_one | ( | RETURNTYPE & | result, | |
const PSubset | sub, | |||
const PCriterion | crit, | |||
std::ostream & | os | |||
) | [inline, protected, virtual] |
standard OS initialized by sub, target dimensionality sub->get_d()
returns found subset + criterion value
References FST::Search_OS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::pivot_bottom, FST::Search_OS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::pivot_top, and FST::Search_Sequential< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::Step().
Referenced by FST::Search_OS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::search().