Query Optimizer (Implementation) [70%]#

class GAQueryOptimizer[source]#

Bases: QueryOptimizer

Description
The Genetic Algortihm Query Optimizer tries to maximize the query scores through Differential Evolution
select(self) queries, scores[source]#
Description
Tries to find the score maximizing queries through heuristic methods.
Returns:

queries, scores

Return type:

Iterable over NDArrays, Iterable over NDArrays

class MCQueryOptimizer(query_sampler, num_tries=100)[source]#

Bases: QueryOptimizer

Description
The Monte Carlo Query Optimizer works by sampling num_tries many times and chosing one of those.
Parameters:
  • query_sampler (int) – The query sampler to use

  • num_tries – Amount of samples to get (default=100)

num_tries: int = 100#
post_init(self) None[source]#
Description
Initializes the query sampler
query_sampler: QuerySampler = NOTSET#
class MaxMCQueryOptimizer(query_sampler, num_tries=100)[source]#

Bases: MCQueryOptimizer

Description
The Maximizing Monte Carlo Query Optimizer samples num_tries many times and then choses the best queries.
Parameters:
  • query_sampler (int) – The query sampler to use

  • num_tries – Amount of samples to get (default=100)

select(self, num_queries) queries, scores[source]#
Description
Tries to find the queries with the highest scores and returns them.
Parameters:

num_queries (int) – Number of requested queries

Returns:

queries, scores

Return type:

Iterable over NDArrays, Iterable over NDArrays

Raises:

NotImplementedError

class NoQueryOptimizer(selection_criteria, query_sampler)[source]#

Bases: QueryOptimizer

Description
Selects the first queries from the query sample
Parameters:
  • selection_criteria (QuerySampler) – Scores the queries for the optimizer

  • query_sampler – Samples queries to work with

post_init(self) None[source]#
Description
Initializes the query_sampler
query_sampler: QuerySampler = NOTSET#
select(self) queries, scores[source]#
Description
Selects the first sampled queries regardless of score
Returns:

queries and associated scores scores

Return type:

queries, NDArray[float]

class ProbWeightedMCQueryOptimizer(*args: 'Any', **kwargs: 'Any')[source]#

Bases: MCQueryOptimizer

select(self, num_queries) queries, scores[source]#
Description
Tries to find the queries with the highest scores and returns them.
Parameters:

num_queries (int) – Number of requested queries

Returns:

queries, scores

Return type:

Iterable over NDArrays, Iterable over NDArrays

Raises:

NotImplementedError