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());