1#ifndef PROBFD_PDBS_PROJECTION_OPERATOR_H
2#define PROBFD_PDBS_PROJECTION_OPERATOR_H
4#include "probfd/distribution.h"
5#include "probfd/task_proxy.h"
7#include "downward/operator_id.h"
33 template <std::ranges::input_range R>
34 requires(std::convertible_to<
35 std::ranges::range_reference_t<R>,
39 , outcome_offsets_(std::from_range, std::forward<R>(distr))
43 template <std::ranges::input_range R>
44 requires(std::convertible_to<
45 std::ranges::range_reference_t<R>,
52 std::forward<R>(distr))
56 friend bool are_equivalent(
57 const ProjectionOperator& left,
58 const ProjectionOperator& right)
60 return left.outcome_offsets_ == right.outcome_offsets_;
A convenience class that represents a finite probability distribution.
Definition task_state_space.h:27
An item-probability pair.
Definition distribution.h:20
Proxy class used to inspect a probabilistic planning task.
Definition task_proxy.h:194
Represents an operator of a projection state space.
Definition projection_operator.h:18
OperatorID operator_id
The operator ID of the task-level operator inducing this operator.
Definition projection_operator.h:23
Helper class to convert projection operators to strings.
Definition projection_operator.h:67
Represents the state space of a projection of a probabilistic planning task.
Definition projection_state_space.h:29
Namespace dedicated to probabilistic pattern databases.
Definition gzocp_heuristic.h:16
constexpr no_normalize_t no_normalize
Disambiguator tag for Distribution constructor to indicate that the probabilities are already normali...
Definition distribution.h:146
Disambiguator tag type.
Definition distribution.h:142