Vowpal Wabbit
Classes | Namespaces | Functions | Variables
explore_internal.h File Reference
#include "hash.h"
#include "explore.h"
#include <cstdint>
#include <stdexcept>
#include <algorithm>
#include <numeric>
#include <cstring>
#include <cmath>

Classes

union  exploration::int_float
 

Namespaces

 exploration
 

Functions

float exploration::uniform_random_merand48_advance (uint64_t &initial)
 
float exploration::uniform_random_merand48 (uint64_t initial)
 
template<typename It >
int exploration::generate_epsilon_greedy (float epsilon, uint32_t top_action, It pmf_first, It pmf_last, std::random_access_iterator_tag)
 
template<typename It >
int exploration::generate_epsilon_greedy (float epsilon, uint32_t top_action, It pmf_first, It pmf_last)
 Generates epsilon-greedy style exploration distribution. More...
 
template<typename InputIt , typename OutputIt >
int exploration::generate_softmax (float lambda, InputIt scores_first, InputIt scores_last, std::input_iterator_tag, OutputIt pmf_first, OutputIt pmf_last, std::random_access_iterator_tag)
 
template<typename InputIt , typename OutputIt >
int exploration::generate_softmax (float lambda, InputIt scores_first, InputIt scores_last, OutputIt pmf_first, OutputIt pmf_last)
 Generates softmax style exploration distribution. More...
 
template<typename InputIt , typename OutputIt >
int exploration::generate_bag (InputIt top_actions_first, InputIt top_actions_last, std::input_iterator_tag, OutputIt pmf_first, OutputIt pmf_last, std::random_access_iterator_tag)
 
template<typename InputIt , typename OutputIt >
int exploration::generate_bag (InputIt top_actions_first, InputIt top_actions_last, OutputIt pmf_first, OutputIt pmf_last)
 Generates an exploration distribution according to votes on actions. More...
 
template<typename It >
int exploration::enforce_minimum_probability (float minimum_uniform, bool update_zero_elements, It pmf_first, It pmf_last, std::random_access_iterator_tag)
 
template<typename It >
int exploration::enforce_minimum_probability (float minimum_uniform, bool update_zero_elements, It pmf_first, It pmf_last)
 Updates the pmf to ensure each action is explored with at least minimum_uniform/num_actions. More...
 
template<typename It >
int exploration::sample_after_normalizing (uint64_t seed, It pmf_first, It pmf_last, uint32_t &chosen_index, std::input_iterator_tag)
 
template<typename It >
int exploration::sample_after_normalizing (uint64_t seed, It pmf_first, It pmf_last, uint32_t &chosen_index)
 Sample an index from the provided pmf. If the pmf is not normalized it will be updated in-place. More...
 
template<typename It >
int exploration::sample_after_normalizing (const char *seed, It pmf_first, It pmf_last, uint32_t &chosen_index, std::random_access_iterator_tag pmf_category)
 
template<typename It >
int exploration::sample_after_normalizing (const char *seed, It pmf_first, It pmf_last, uint32_t &chosen_index)
 Sample an index from the provided pmf. If the pmf is not normalized it will be updated in-place. More...
 
template<typename ActionIt >
int exploration::swap_chosen (ActionIt action_first, ActionIt action_last, std::forward_iterator_tag, uint32_t chosen_index)
 
template<typename ActionsIt >
int exploration::swap_chosen (ActionsIt action_first, ActionsIt action_last, uint32_t chosen_index)
 
template<typename It >
int exploration::sample_scores (uint64_t *p_seed, It scores_first, It scores_last, uint32_t &chosen_index, std::random_access_iterator_tag)
 
template<typename It >
int exploration::sample_pdf (uint64_t *p_seed, It pdf_first, It pdf_last, float &chosen_value, float &pdf_value, std::random_access_iterator_tag)
 Sample a continuous value from the provided pdf. More...
 
template<typename It >
int exploration::sample_pdf (uint64_t *p_seed, It pdf_first, It pdf_last, float &chosen_value, float &pdf_value)
 Sample a continuous value from the provided pdf. More...
 

Variables

constexpr uint64_t exploration::CONSTANT_A = 0xeece66d5deece66dULL
 
constexpr uint64_t exploration::CONSTANT_C = 2147483647
 
constexpr int exploration::BIAS = 127 << 23u