1#ifndef PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_SYSTEMATIC_H
2#define PROBFD_PDBS_PATTERN_COLLECTION_GENERATOR_SYSTEMATIC_H
4#include "probfd/pdbs/pattern_collection_generator.h"
5#include "probfd/pdbs/types.h"
7#include "downward/utils/hash.h"
11#include <unordered_set>
15class ProbabilisticTaskProxy;
16class ProbabilisticTask;
19namespace probfd::causal_graph {
20class ProbabilisticCausalGraph;
25class PatternCollectionGeneratorSystematic :
public PatternCollectionGenerator {
26 using PatternSet = utils::HashSet<Pattern>;
28 const size_t max_pattern_size;
29 const bool only_interesting_patterns;
30 std::shared_ptr<PatternCollection> patterns;
31 PatternSet pattern_set;
34 PatternCollectionGeneratorSystematic(
36 bool only_interesting_patterns,
37 utils::Verbosity verbosity);
39 PatternCollectionInformation generate(
40 const std::shared_ptr<ProbabilisticTask>& task,
41 const std::shared_ptr<FDRCostFunction>& task_cost_function)
override;
44 void enqueue_pattern_if_new(
const Pattern& pattern);
46 void build_sga_patterns(
47 const ProbabilisticTaskProxy& task_proxy,
48 const causal_graph::ProbabilisticCausalGraph& cg);
49 void build_patterns(
const ProbabilisticTaskProxy& task_proxy);
50 void build_patterns_naive(
const ProbabilisticTaskProxy& task_proxy);
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16
The top-level namespace of probabilistic Fast Downward.
Definition command_line.h:8