summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/ai/fdsolver/SolverMain.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/ai/fdsolver/SolverMain.java')
-rw-r--r--src/jrummikub/ai/fdsolver/SolverMain.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/jrummikub/ai/fdsolver/SolverMain.java b/src/jrummikub/ai/fdsolver/SolverMain.java
new file mode 100644
index 0000000..4750675
--- /dev/null
+++ b/src/jrummikub/ai/fdsolver/SolverMain.java
@@ -0,0 +1,42 @@
+package jrummikub.ai.fdsolver;
+
+
+public class SolverMain {
+
+ /*
+ * eingabe: liste handsteinen + liste tischsteinen
+ *
+ * foreach stein: stein id (durchlaufend nummeriert) Var<Boolean> onTable =
+ * tisch ? {true}, {true, false} Var<Integer> value = {N} Var<StoneColor>
+ * color = {C} Var<Integer> nachbarL,R = {-1, 0...steinanzahl} Var<Boolean>
+ * groupOrRun
+ *
+ * nachbarR != -1 => nachbarL[nachbarR[id]] == id nachbarL != -1 =>
+ * nachbarR[nachbarL[id]] == id
+ *
+ * nachbarR != -1 => gOR[nachbarR[id]] = gOR nachbarL != -1 =>
+ * gOR[nachbarL[id]] = gOR
+ *
+ * nachbar{R,L} != -1 => group <=> value[{R,L}] == value nachbar{R,L} != -1
+ * && group => color[{R,L}] {<,>} color // hier auch <=> ?
+ *
+ * nachbar{R,L} != -1 => run <=> color[{R,L}] == color nachbar{R,L} != -1 =>
+ * run <=> value[{R,L}] == value {+,-} 1
+ *
+ * Var<Integer> pos von {links, rechts} + constraints
+ *
+ * links + rechts >= 3
+ *
+ * foreach handstein: Var<Integer> badness = onTable ? ### (z. B. 1) : 0
+ *
+ * totalBadness = sum(all badness)
+ *
+ * foreach joker: Var<Integer> value = {-1, 1..13} Var<StoneColor> color =
+ * {F, C0..C3} onTable == false <=> value == -1 same with color
+ *
+ * joker sind sortiert
+ */
+ public static void main(String[] args) {
+ }
+
+}