diff --git a/frontend/src/components/app.tsx b/frontend/src/components/app.tsx index 9119b6c..9757831 100644 --- a/frontend/src/components/app.tsx +++ b/frontend/src/components/app.tsx @@ -40,6 +40,7 @@ enum Strategy { Ground = 'Ground', FirstComplete = 'FirstComplete', FirstStable = 'FirstStable', + FirstStableNogood = 'FirstStableNogood', } function App() { @@ -73,7 +74,7 @@ function App() {
- Solve your ADF Problem with Style! + Solve your ADF Problem with OBDDs! @@ -101,6 +102,8 @@ function App() { {' '} + {' '} + {graph diff --git a/server/src/main.rs b/server/src/main.rs index 0e8ecb1..8f81c01 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -16,6 +16,7 @@ enum Strategy { Ground, FirstComplete, FirstStable, + FirstStableNogood, } #[derive(Deserialize)] @@ -55,6 +56,9 @@ async fn solve(req_body: web::Json) -> impl Responder { Strategy::FirstComplete => Some(adf.complete().next().unwrap()), // TODO: error handling if no such model exists! Strategy::FirstStable => Some(adf.stable().next().unwrap()), + // TODO: error handling if no such model exists! + // TODO: support more than just default heuristics + Strategy::FirstStableNogood => Some(adf.stable_nogood(adf_bdd::adf::heuristics::Heuristic::default()).next().unwrap()), }; let dto = adf.into_double_labeled_graph(ac.as_ref());