Query Optimizer (Implementation)#
alts.modules.query.query_optimizer
- class GAQueryOptimizer[source]#
Bases:
QueryOptimizerDescriptionThe Genetic Algortihm Query Optimizer tries to maximize the query scores through Differential Evolution
- class MCQueryOptimizer(query_sampler, num_tries=100)[source]#
Bases:
QueryOptimizerDescriptionThe Monte Carlo Query Optimizer works by samplingnum_triesmany times and choosing one of those (asbtract class).- Parameters:
query_sampler (QuerySampler) – The query sampler to use
num_tries (int) – Amount of samples to get (default=100)
- num_tries: int = 100#
- query_sampler: QuerySampler = NOTSET#
- class MaxMCQueryOptimizer(query_sampler, num_tries)[source]#
Bases:
MCQueryOptimizerDescriptionThe Maximizing Monte Carlo Query Optimizer samplesnum_triesmany times and then chooses the best queries.- Parameters:
query_sampler (QuerySampler) – The query sampler to use
num_tries (int) – Amount of samples to get (default= 100)
- class NoQueryOptimizer(selection_criteria, query_sampler)[source]#
Bases:
QueryOptimizerDescriptionSelects the first queries from the query sample.- Parameters:
selection_criteria (SelectionCriteria) – Scores the queries for the optimizer
query_sampler (QuerySampler) – Samples queries to work with
- query_sampler: QuerySampler = NOTSET#
- select(self) queries, scores[source]#
- DescriptionSelects the first sampled queries regardless of score
- Returns:
queries and associated scores scores
- Return type:
queries, NDArray[float]
- class ProbWeightedMCQueryOptimizer(query_sampler, num_tries)[source]#
Bases:
MCQueryOptimizerDescriptionThe Probabilistic Weighted Monte Carlo Query Optimizer selects samples randomly with highly scored queries having a higher probability.- Parameters:
query_sampler (QuerySampler) – The query sampler to use
num_tries (int) – Amount of samples to get (default= 100)
- select(self) queries, scores[source]#
- DescriptionGives each query a relative weight exponential to their score.If the value of any weight is NaN, selects
`num_queries`queries randomly with equal probability distribution.Otherwise, selects`num_queries`queries randomly with a probability distribution equal to their weights.