summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/ai/fdsolver/SolverMain.java
blob: 475067566a6908182418780a335349ebacb535c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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) {
	}

}