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 PDBS_PATTERN_COLLECTION_GENERATOR_DISJOINT_CEGAR_H
2#define PDBS_PATTERN_COLLECTION_GENERATOR_DISJOINT_CEGAR_H
3
4#include "downward/pdbs/pattern_generator.h"
5
6namespace utils {
7class RandomNumberGenerator;
8}
9
10namespace pdbs {
11/*
12 This pattern collection generator uses the CEGAR algorithm to compute a
13 disjoint pattern collection for the given task. See cegar.h for more details.
14*/
15class PatternCollectionGeneratorDisjointCegar
16 : public PatternCollectionGenerator {
17 const int max_pdb_size;
18 const int max_collection_size;
19 const double max_time;
20 const bool use_wildcard_plans;
21 std::shared_ptr<utils::RandomNumberGenerator> rng;
22
23 virtual std::string name() const override;
24 virtual PatternCollectionInformation
25 compute_patterns(const std::shared_ptr<AbstractTask>& task) override;
26
27public:
28 PatternCollectionGeneratorDisjointCegar(
29 int max_pdb_size,
30 int max_collection_size,
31 double max_time,
32 bool use_wildcard_plans,
33 int random_seed,
34 utils::Verbosity verbosity);
35};
36} // namespace pdbs
37
38#endif