diff --git a/src/pomdp/tracker.cpp b/src/pomdp/tracker.cpp index 63c9d33..cffae0e 100644 --- a/src/pomdp/tracker.cpp +++ b/src/pomdp/tracker.cpp @@ -8,6 +8,8 @@ template using SparsePomdp = storm::models::sparse::Pomdp using SparsePomdpTracker = storm::generator::BeliefSupportTracker; template using NDPomdpTrackerSparse = storm::generator::NondeterministicBeliefTracker>; +template using NDPomdpTrackerDense = storm::generator::NondeterministicBeliefTracker>; + void define_tracker(py::module& m) { py::class_> tracker(m, "BeliefSupportTrackerDouble", "Tracker for BeliefSupports"); @@ -20,6 +22,11 @@ void define_tracker(py::module& m) { sbel.def_property_readonly("risk", &storm::generator::SparseBeliefState::getRisk); sbel.def("__str__", &storm::generator::SparseBeliefState::toString); sbel.def_property_readonly("is_valid", &storm::generator::SparseBeliefState::isValid); +// +// py::class_> dbel(m, "DenseBeliefStateDouble", "Belief state in dense format"); +// dbel.def("get", &storm::generator::ObservationDenseBeliefState::get, py::arg("state")); +// dbel.def_property_readonly("risk", &storm::generator::ObservationDenseBeliefState::getRisk); +// dbel.def("__str__", &storm::generator::ObservationDenseBeliefState::toString); py::class_> ndetbelieftracker(m, "NondeterministicBeliefTrackerDoubleSparse", "Tracker for belief states and uncontrollable actions"); ndetbelieftracker.def(py::init const&>(), py::arg("pomdp")); @@ -29,5 +36,17 @@ void define_tracker(py::module& m) { ndetbelieftracker.def("track", &NDPomdpTrackerSparse::track, py::arg("observation")); ndetbelieftracker.def("obtain_beliefs", &NDPomdpTrackerSparse::getCurrentBeliefs); ndetbelieftracker.def("obtain_last_observation", &NDPomdpTrackerSparse::getCurrentObservation); + ndetbelieftracker.def("reduce",&NDPomdpTrackerSparse::reduce); + + +// py::class_> ndetbelieftrackerd(m, "NondeterministicBeliefTrackerDoubleDense", "Tracker for belief states and uncontrollable actions"); +// ndetbelieftrackerd.def(py::init const&>(), py::arg("pomdp")); +// ndetbelieftrackerd.def("reset", &NDPomdpTrackerDense::reset); +// ndetbelieftrackerd.def("set_risk", &NDPomdpTrackerDense::setRisk, py::arg("risk")); +// ndetbelieftrackerd.def("obtain_current_risk",&NDPomdpTrackerDense::getCurrentRisk, py::arg("max")=true); +// ndetbelieftrackerd.def("track", &NDPomdpTrackerDense::track, py::arg("observation")); +// ndetbelieftrackerd.def("obtain_beliefs", &NDPomdpTrackerDense::getCurrentBeliefs); +// ndetbelieftrackerd.def("obtain_last_observation", &NDPomdpTrackerDense::getCurrentObservation); +// ndetbelieftrackerd.def("reduce",&NDPomdpTrackerDense::reduce); } \ No newline at end of file