diff options
Diffstat (limited to 'src/jrummikub/ai/fdsolver/SolverMain.java')
-rw-r--r-- | src/jrummikub/ai/fdsolver/SolverMain.java | 42 |
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) { + } + +} |