AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
cost_adapted_task.h
1
#ifndef TASKS_COST_ADAPTED_TASK_H
2
#define TASKS_COST_ADAPTED_TASK_H
3
4
#include "downward/tasks/delegating_task.h"
5
6
#include "downward/operator_cost.h"
7
8
namespace
tasks {
9
/*
10
Task transformation that changes operator costs. If the parent task assigns
11
costs 'c' to an operator, its adjusted costs, depending on the value of the
12
cost_type option, are:
13
14
NORMAL: c
15
ONE: 1
16
PLUSONE: 1, if all operators have cost 1 in the parent task, else c + 1
17
18
Regardless of the cost_type value, axioms will always keep their original
19
cost, which is 0 by default.
20
*/
21
class
CostAdaptedTask :
public
DelegatingTask {
22
const
OperatorCost cost_type;
23
const
bool
parent_is_unit_cost;
24
25
public
:
26
CostAdaptedTask(
27
const
std::shared_ptr<AbstractTask>& parent,
28
OperatorCost cost_type);
29
virtual
~CostAdaptedTask()
override
=
default
;
30
31
virtual
int
get_operator_cost(
int
index)
const override
;
32
};
33
}
// namespace tasks
34
35
#endif
downward
tasks
cost_adapted_task.h
Generated on Tue Jan 7 2025 for AI 24/25 Project Software by
1.12.0