AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
pattern_collection_generator_multiple_cegar.h
1#ifndef PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_MULTIPLE_CEGAR_H
2#define PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_MULTIPLE_CEGAR_H
3
4#include "probfd/pdbs/pattern_collection_generator_multiple.h"
5
6#include <memory>
7#include <unordered_set>
8#include <utility>
9
10namespace probfd::pdbs::cegar {
11class FlawFindingStrategy;
12}
13
14namespace probfd::pdbs {
15
16class PatternCollectionGeneratorMultipleCegar
17 : public PatternCollectionGeneratorMultiple {
18 std::shared_ptr<cegar::FlawFindingStrategy> flaw_strategy_;
19 const bool use_wildcard_policies_;
20
21 ProjectionTransformation compute_pattern(
22 int max_pdb_size,
23 double max_time,
24 const std::shared_ptr<utils::RandomNumberGenerator>& rng,
25 const ProbabilisticTaskProxy& task_proxy,
26 const std::shared_ptr<FDRSimpleCostFunction>& task_cost_function,
27 const FactPair& goal,
28 std::unordered_set<int>&& blacklisted_variables) override;
29
30public:
31 explicit PatternCollectionGeneratorMultipleCegar(
32 std::shared_ptr<probfd::pdbs::cegar::FlawFindingStrategy> flaw_strategy,
33 bool use_wildcard_policies,
34 int max_pdb_size,
35 int max_collection_size,
36 double pattern_generation_max_time,
37 double total_max_time,
38 double stagnation_limit,
39 double blacklist_trigger_percentage,
40 bool enable_blacklist_on_stagnation,
41 bool use_saturated_costs,
42 std::shared_ptr<utils::RandomNumberGenerator> rng,
43 utils::Verbosity verbosity);
44};
45
46} // namespace probfd::pdbs
47
48#endif // PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_MULTIPLE_CEGAR_H
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16