Vowpal Wabbit
Classes | Namespaces | Enumerations | Functions | Variables
search.cc File Reference
#include <float.h>
#include <string.h>
#include <math.h>
#include <memory>
#include "vw.h"
#include "rand48.h"
#include "reductions.h"
#include "gd.h"
#include "search_sequencetask.h"
#include "search_multiclasstask.h"
#include "search_dep_parser.h"
#include "search_entityrelationtask.h"
#include "search_hooktask.h"
#include "search_graph.h"
#include "search_meta.h"
#include "csoaa.h"
#include "active.h"
#include "label_dictionary.h"
#include "vw_exception.h"

Go to the source code of this file.

Classes

struct  Search::prediction
 
struct  Search::auto_condition_settings
 
struct  Search::scored_action
 
struct  Search::action_repr
 
struct  Search::action_cache
 
struct  Search::search_private
 
struct  Search::final_item
 

Namespaces

 Search
 

Enumerations

enum  Search::SearchState {
  Search::INITIALIZE, Search::INIT_TEST, Search::INIT_TRAIN, Search::LEARN,
  Search::GET_TRUTH_STRING
}
 
enum  Search::RollMethod {
  Search::POLICY, Search::ORACLE, Search::MIX_PER_STATE, Search::MIX_PER_ROLL,
  Search::NO_ROLLOUT
}
 

Functions

std::string Search::neighbor_feature_space ("neighbor")
 
std::string Search::condition_feature_space ("search_condition")
 
std::ostream & Search::operator<< (std::ostream &os, const scored_action &x)
 
std::ostream & Search::operator<< (std::ostream &os, const action_cache &x)
 
void Search::free_key (unsigned char *mem, scored_action)
 
void Search::clear_cache_hash_map (search_private &priv)
 
void Search::clear_memo_foreach_action (search_private &priv)
 
std::string Search::audit_feature_space ("conditional")
 
bool Search::need_memo_foreach_action (search_private &priv)
 
int Search::random_policy (search_private &priv, bool allow_current, bool allow_optimal, bool advance_prng=true)
 
int Search::select_learner (search_private &priv, int policy, size_t learner_id, bool is_training, bool is_local)
 
bool Search::should_print_update (vw &all, bool hit_new_pass=false)
 
bool Search::might_print_update (vw &all)
 
bool Search::must_run_test (vw &all, multi_ex &ec, bool is_test_ex)
 
float Search::safediv (float a, float b)
 
void Search::to_short_string (std::string in, size_t max_len, char *out)
 
std::string Search::number_to_natural (size_t big)
 
void Search::print_update (search_private &priv)
 
void Search::add_new_feature (search_private &priv, float val, uint64_t idx)
 
void Search::del_features_in_top_namespace (search_private &, example &ec, size_t ns)
 
void Search::add_neighbor_features (search_private &priv, multi_ex &ec_seq)
 
void Search::del_neighbor_features (search_private &priv, multi_ex &ec_seq)
 
void Search::reset_search_structure (search_private &priv)
 
void Search::search_declare_loss (search_private &priv, float loss)
 
template<class T >
void Search::cdbg_print_array (std::string str, v_array< T > &A)
 
template<class T >
void Search::cerr_print_array (std::string str, v_array< T > &A)
 
size_t Search::random (std::shared_ptr< rand_state > &rs, size_t max)
 
template<class T >
bool Search::array_contains (T target, const T *A, size_t n)
 
void Search::add_example_conditioning (search_private &priv, example &ec, size_t condition_on_cnt, const char *condition_on_names, action_repr *condition_on_actions)
 
void Search::del_example_conditioning (search_private &priv, example &ec)
 
size_t Search::cs_get_costs_size (bool isCB, polylabel &ld)
 
uint32_t Search::cs_get_cost_index (bool isCB, polylabel &ld, size_t k)
 
float Search::cs_get_cost_partial_prediction (bool isCB, polylabel &ld, size_t k)
 
void Search::cs_set_cost_loss (bool isCB, polylabel &ld, size_t k, float val)
 
void Search::cs_costs_erase (bool isCB, polylabel &ld)
 
void Search::cs_costs_resize (bool isCB, polylabel &ld, size_t new_size)
 
void Search::cs_cost_push_back (bool isCB, polylabel &ld, uint32_t index, float value)
 
polylabelSearch::allowed_actions_to_ld (search_private &priv, size_t ec_cnt, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost)
 
void Search::allowed_actions_to_label (search_private &priv, size_t ec_cnt, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost, const action *oracle_actions, size_t oracle_actions_cnt, polylabel &lab)
 
template<class T >
void Search::ensure_size (v_array< T > &A, size_t sz)
 
template<class T >
void Search::push_at (v_array< T > &v, T item, size_t pos)
 
action Search::choose_oracle_action (search_private &priv, size_t ec_cnt, const action *oracle_actions, size_t oracle_actions_cnt, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost)
 
action Search::single_prediction_notLDF (search_private &priv, example &ec, int policy, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost, float &a_cost, action override_action)
 
action Search::single_prediction_LDF (search_private &priv, example *ecs, size_t ec_cnt, int policy, float &a_cost, action override_action)
 
int Search::choose_policy (search_private &priv, bool advance_prng=true)
 
bool Search::cached_item_equivalent (unsigned char *const &A, unsigned char *const &B)
 
bool Search::cached_action_store_or_find (search_private &priv, ptag mytag, const ptag *condition_on, const char *condition_on_names, action_repr *condition_on_actions, size_t condition_on_cnt, int policy, size_t learner_id, action &a, bool do_store, float &a_cost)
 
void Search::generate_training_example (search_private &priv, polylabel &losses, float weight, bool add_conditioning=true, float min_loss=FLT_MAX)
 
bool Search::search_predictNeedsExample (search_private &priv)
 
void Search::foreach_action_from_cache (search_private &priv, size_t t, action override_a=(action) -1)
 
action Search::search_predict (search_private &priv, example *ecs, size_t ec_cnt, ptag mytag, const action *oracle_actions, size_t oracle_actions_cnt, const ptag *condition_on, const char *condition_on_names, const action *allowed_actions, size_t allowed_actions_cnt, const float *allowed_actions_cost, size_t learner_id, float &a_cost, float)
 
bool Search::cmp_size_t (const size_t a, const size_t b)
 
bool Search::cmp_size_t_pair (const std::pair< size_t, size_t > &a, const std::pair< size_t, size_t > &b)
 
size_t Search::absdiff (size_t a, size_t b)
 
void Search::hoopla_permute (size_t *B, size_t *end)
 
void Search::get_training_timesteps (search_private &priv, v_array< size_t > &timesteps)
 
void Search::free_final_item (final_item *p)
 
void Search::run_task (search &sch, multi_ex &ec)
 
void Search::verify_active_csoaa (COST_SENSITIVE::label &losses, v_array< std::pair< CS::wclass &, bool >> &known, size_t t, float multiplier)
 
void Search::advance_from_known_actions (search_private &priv)
 
template<bool is_learn>
void Search::train_single_example (search &sch, bool is_test_ex, bool is_holdout_ex, multi_ex &ec_seq)
 
void Search::adjust_auto_condition (search_private &priv)
 
template<bool is_learn>
void Search::do_actual_learning (search &sch, base_learner &base, multi_ex &ec_seq)
 
void Search::end_pass (search &sch)
 
void Search::finish_multiline_example (vw &all, search &sch, multi_ex &ec_seq)
 
void Search::end_examples (search &sch)
 
bool Search::mc_label_is_test (polylabel &lab)
 
void Search::search_initialize (vw *all, search &sch)
 
void Search::ensure_param (float &v, float lo, float hi, float def, const char *str)
 
void Search::handle_condition_options (vw &all, auto_condition_settings &acset)
 
void Search::search_finish (search &sch)
 
v_array< CS::labelSearch::read_allowed_transitions (action A, const char *filename)
 
void Search::parse_neighbor_features (std::string &nf_string, search &sch)
 
base_learnerSearch::setup (options_i &options, vw &all)
 
float Search::action_hamming_loss (action a, const action *A, size_t sz)
 
float Search::action_cost_loss (action a, const action *act, const float *costs, size_t sz)
 

Variables

search_task * Search::all_tasks []
 
search_metatask * Search::all_metatasks []
 
constexpr bool Search::PRINT_UPDATE_EVERY_EXAMPLE = false
 
constexpr bool Search::PRINT_UPDATE_EVERY_PASS = false
 
constexpr bool Search::PRINT_CLOCK_TIME = false
 
uint32_t Search::AUTO_CONDITION_FEATURES = 1
 
uint32_t Search::AUTO_HAMMING_LOSS = 2
 
uint32_t Search::EXAMPLES_DONT_CHANGE = 4
 
uint32_t Search::IS_LDF = 8
 
uint32_t Search::NO_CACHING = 16
 
uint32_t Search::ACTION_COSTS = 32
 
uint64_t Search::conditional_constant = 8290743