AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
pattern_collection_generator_disjoint_cegar.h
1#ifndef PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_DISJOINT_CEGAR_H
2#define PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_DISJOINT_CEGAR_H
3
4#include "probfd/pdbs/pattern_collection_generator.h"
5
6#include <memory>
7
8// Forward Declarations
9namespace utils {
10class RandomNumberGenerator;
11}
12
13namespace probfd::pdbs {
14class SubCollectionFinderFactory;
15}
16
17namespace probfd::pdbs::cegar {
18class FlawFindingStrategy;
19} // namespace probfd::pdbs::cegar
20
21namespace probfd::pdbs {
22
23class PatternCollectionGeneratorDisjointCegar
24 : public PatternCollectionGenerator {
25 const bool use_wildcard_policies_;
26 const bool single_goal_;
27 const int max_pdb_size_;
28 const int max_collection_size_;
29 const double max_time_;
30 std::shared_ptr<utils::RandomNumberGenerator> rng_;
31 std::shared_ptr<SubCollectionFinderFactory> subcollection_finder_factory_;
32 std::shared_ptr<cegar::FlawFindingStrategy> flaw_strategy_;
33
34public:
35 explicit PatternCollectionGeneratorDisjointCegar(
36 bool use_wildcard_policies,
37 bool single_goal,
38 int max_pdb_size,
39 int max_collection_size,
40 double max_time,
41 std::shared_ptr<utils::RandomNumberGenerator> rng,
42 const std::shared_ptr<SubCollectionFinderFactory>&
43 subcollection_finder_factory,
44 const std::shared_ptr<probfd::pdbs::cegar::FlawFindingStrategy>&
45 flaw_strategy,
46 utils::Verbosity verbosity);
47
48 PatternCollectionInformation generate(
49 const std::shared_ptr<ProbabilisticTask>& task,
50 const std::shared_ptr<FDRCostFunction>& task_cost_function) override;
51};
52
53} // namespace probfd::pdbs
54
55#endif // PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_DISJOINT_CEGAR_H
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16