From 4dd5e07d0291a4ae28ab2a723e2ee8a0f8943c3f Mon Sep 17 00:00:00 2001 From: Thomas Knoll Date: Thu, 28 Sep 2023 13:58:09 +0200 Subject: [PATCH] added model type inference --- main.cpp | 2 +- util/Grid.cpp | 9 +++++++++ util/Grid.h | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp index 88caa41..60fcdad 100644 --- a/main.cpp +++ b/main.cpp @@ -167,7 +167,7 @@ int main(int argc, char* argv[]) { //grid.printToPrism(std::cout, prism::ModelType::MDP); std::stringstream ss; // grid.printToPrism(file, configurations ,prism::ModelType::MDP); - grid.printToPrism(ss, configurations ,prism::ModelType::MDP); + grid.printToPrism(ss, configurations , gridOptions.getModelType()); std::string str = ss.str(); grid.applyOverwrites(str, configurations); file << str; diff --git a/util/Grid.cpp b/util/Grid.cpp index e47ea2f..0b9fd23 100644 --- a/util/Grid.cpp +++ b/util/Grid.cpp @@ -2,6 +2,15 @@ #include +prism::ModelType GridOptions::getModelType() const +{ + if (agentsWithView.size() > 1) { + return prism::ModelType::SMG; + } + + return prism::ModelType::MDP; +} + Grid::Grid(cells gridCells, cells background, const GridOptions &gridOptions, const std::map &stateRewards) : allGridCells(gridCells), background(background), gridOptions(gridOptions), stateRewards(stateRewards) { diff --git a/util/Grid.h b/util/Grid.h index c869945..1ac8965 100644 --- a/util/Grid.h +++ b/util/Grid.h @@ -15,6 +15,8 @@ struct GridOptions { std::vector agentsWithProbabilisticBehaviour; std::vector probabilitiesForActions; bool enforceOneWays; + + prism::ModelType getModelType() const; }; class Grid {