AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
limited_pruning.h
1#ifndef PRUNING_LIMITED_PRUNING_H
2#define PRUNING_LIMITED_PRUNING_H
3
4#include "downward/pruning_method.h"
5
6namespace limited_pruning {
7class LimitedPruning : public PruningMethod {
8 std::shared_ptr<PruningMethod> pruning_method;
9 const double min_required_pruning_ratio;
10 const int num_expansions_before_checking_pruning_ratio;
11 int num_pruning_calls;
12 bool is_pruning_disabled;
13
14 virtual void
15 prune(const State& state, std::vector<OperatorID>& op_ids) override;
16
17public:
18 explicit LimitedPruning(
19 const std::shared_ptr<PruningMethod>& pruning,
20 double min_required_pruning_ratio,
21 int expansions_before_checking_pruning_ratio,
22 utils::Verbosity verbosity);
23 virtual void initialize(const std::shared_ptr<AbstractTask>&) override;
24};
25} // namespace limited_pruning
26
27#endif