AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
util.h
1#ifndef LANDMARKS_UTIL_H
2#define LANDMARKS_UTIL_H
3
4#include <unordered_map>
5#include <vector>
6
7class AxiomOrOperatorProxy;
8class OperatorProxy;
9class TaskProxy;
10
11namespace utils {
12class LogProxy;
13}
14
15namespace landmarks {
16class Landmark;
17class LandmarkNode;
18class LandmarkGraph;
19
20extern std::unordered_map<int, int> _intersect(
21 const std::unordered_map<int, int> &a,
22 const std::unordered_map<int, int> &b);
23
24extern bool possibly_reaches_lm(
25 const AxiomOrOperatorProxy& op,
26 const std::vector<std::vector<bool>>& reached,
27 const Landmark& landmark);
28
29extern AxiomOrOperatorProxy
30get_operator_or_axiom(const TaskProxy& task_proxy, int op_or_axiom_id);
31extern int get_operator_or_axiom_id(const AxiomOrOperatorProxy &op);
32
33extern void dump_landmark_graph(
34 const TaskProxy &task_proxy,
35 const LandmarkGraph &graph,
36 utils::LogProxy &log);
37}
38
39#endif