AIToolbox
A library that offers tools for AI problem solving.
|
Classes | |
class | EpsilonPolicy |
class | Experience |
This class computes averages and counts for a multi-agent cooperative Bandit problem. More... | |
class | FlattenedModel |
This class flattens a factored bandit model. More... | |
class | LLRPolicy |
This class represents the Learning with Linear Rewards algorithm. More... | |
class | LocalSearch |
This class approximately finds the best joint action using Local Search. More... | |
struct | MakeGraph |
This class is the public interface for initializing the graph in generic code that uses the maximizers. More... | |
struct | MakeGraph< MaxPlus > |
struct | MakeGraph< ReusingIterativeLocalSearch > |
struct | MakeGraphImpl |
This class clumps all implementations that create graphs for data for certain Maximizers. More... | |
struct | MakeGraphImpl< LocalSearch, Iterable > |
struct | MakeGraphImpl< LocalSearch, QFunction > |
struct | MakeGraphImpl< VariableElimination, Data > |
class | MAUCEPolicy |
This class represents the Multi-Agent Upper Confidence Exploration algorithm. More... | |
class | MaxPlus |
This class represents the Max-Plus optimization algorithm for loopy FactorGraphs. More... | |
class | MiningBandit |
This class represents the mining bandit problem. More... | |
class | Model |
This class represents a factored multi-armed bandit. More... | |
struct | MOQFunctionRule |
This struct represents a single action/values pair. More... | |
class | MultiObjectiveVariableElimination |
This class represents the Multi Objective Variable Elimination process. More... | |
class | PolicyInterface |
Simple typedef for most of a normal Bandit's policy needs. More... | |
struct | QFunctionRule |
This struct represents a single action/value pair. More... | |
class | QGreedyPolicy |
This class implements a greedy policy through a QFunction. More... | |
class | RandomPolicy |
This class represents a random policy. More... | |
class | ReusingIterativeLocalSearch |
This class approximately finds the best joint action with Reusing Iterative Local Search. More... | |
class | SingleActionPolicy |
This class represents a policy always picking the same action. More... | |
class | ThompsonSamplingPolicy |
This class implements a Thompson sampling policy. More... | |
class | UCVE |
This class represents the UCVE process. More... | |
struct | UpdateGraph |
This class is the public interface for updating the input graph with the input data in generic code that uses the maximizers. More... | |
struct | UpdateGraph< MaxPlus > |
struct | UpdateGraph< ReusingIterativeLocalSearch > |
struct | UpdateGraphImpl |
This class clumps all implementations that update graphs with data for certain Maximizers. More... | |
struct | UpdateGraphImpl< LocalSearch, Iterable > |
struct | UpdateGraphImpl< LocalSearch, QFunction > |
struct | UpdateGraphImpl< VariableElimination, Iterable > |
struct | UpdateGraphImpl< VariableElimination, QFunction > |
class | VariableElimination |
This class represents the Variable Elimination algorithm. More... | |
Typedefs | |
using | QFunction = FactoredVector |
This represents a factored QFunction. More... | |
Functions | |
std::tuple< Action, std::vector< unsigned >, std::vector< double > > | makeMiningParameters (unsigned seed) |
This function generates the parameters for a random MiningBandit. More... | |
Variables | |
template<typename QR > | |
concept | IsQFunctionRule |
This concept models the interface for a QFunctionRule. More... | |
template<typename T > | |
concept | QFRuleRange = std::ranges::range<T> && IsQFunctionRule<std::ranges::range_value_t<T>> |
This concept represents a range of QFunctionRules. More... | |
using AIToolbox::Factored::Bandit::QFunction = typedef FactoredVector |
This represents a factored QFunction.
std::tuple<Action, std::vector<unsigned>, std::vector<double> > AIToolbox::Factored::Bandit::makeMiningParameters | ( | unsigned | seed | ) |
This function generates the parameters for a random MiningBandit.
The parameters are uniformly sampled from the following ranges:
We return a tuple containing the parameters for a MiningBandit. In particular:
seed | A random seed for a random generator to sample the parameters. |
concept AIToolbox::Factored::Bandit::IsQFunctionRule |
This concept models the interface for a QFunctionRule.
This is needed so we can consider MDP QFunctionRules as Bandit QFunctionRules, without having to use inheritance to connect them.
concept AIToolbox::Factored::Bandit::QFRuleRange = std::ranges::range<T> && IsQFunctionRule<std::ranges::range_value_t<T>> |
This concept represents a range of QFunctionRules.