4#include "downward/pdbs/types.h"
6#include "downward/task_proxy.h"
8#include "downward/utils/timer.h"
15class RandomNumberGenerator;
19class PatternCollectionInformation;
20class PatternInformation;
23compute_pdb_size(
const TaskProxy& task_proxy,
const Pattern& pattern);
24extern int compute_total_pdb_size(
25 const TaskProxy& task_proxy,
26 const PatternCollection& pattern_collection);
28extern std::vector<FactPair> get_goals_in_random_order(
29 const TaskProxy& task_proxy,
30 utils::RandomNumberGenerator& rng);
31extern std::vector<int> get_non_goal_variables(
const TaskProxy& task_proxy);
39extern std::vector<std::vector<int>> compute_cg_neighbors(
40 const std::shared_ptr<AbstractTask>& task,
43extern PatternCollectionInformation get_pattern_collection_info(
44 const TaskProxy& task_proxy,
45 const std::shared_ptr<PDBCollection>& pdbs,
46 utils::LogProxy& log);
53extern void dump_pattern_generation_statistics(
54 const std::string& identifier,
55 utils::Duration runtime,
56 const PatternInformation& pattern_info,
57 utils::LogProxy& log);
64extern void dump_pattern_collection_generation_statistics(
65 const std::string& identifier,
66 utils::Duration runtime,
67 const PatternCollectionInformation& pci,
68 utils::LogProxy& log);