problem.java

来自「SHOP2 一个人工智能里面关于任务分解和任务规划的系统。JSHOP2是其jav」· Java 代码 · 共 61 行

JAVA
61
字号
import java.util.LinkedList;import JSHOP2.*;public class problem{	private static String[] defineConstants()	{		String[] problemConstants = new String[2];		problemConstants[0] = "y";		problemConstants[1] = "x";		return problemConstants;	}	private static void createState0(State s)	{		s.add(new Predicate(0, 0, new TermList(TermConstant.getConstant(3), TermList.NIL)));		s.add(new Predicate(1, 0, new TermList(TermConstant.getConstant(4), TermList.NIL)));		s.add(new Predicate(1, 0, new TermList(TermConstant.getConstant(3), TermList.NIL)));		s.add(new Predicate(2, 0, new TermList(TermConstant.getConstant(3), TermList.NIL)));	}	public static LinkedList<Plan> getPlans()	{		LinkedList<Plan> returnedPlans = new LinkedList<Plan>();		TermConstant.initialize(5);		Domain d = new foralltest();		d.setProblemConstants(defineConstants());		State s = new State(3, d.getAxioms());		JSHOP2.initialize(d, s);		TaskList tl;		SolverThread thread;		createState0(s);		tl = new TaskList(1, true);		tl.subtasks[0] = new TaskList(new TaskAtom(new Predicate(0, 0, TermList.NIL), false, false));		thread = new SolverThread(tl, 1);		thread.start();		try {			while (thread.isAlive())				Thread.sleep(500);		} catch (InterruptedException e) {		}		returnedPlans.addAll( thread.getPlans() );		return returnedPlans;	}	public static LinkedList<Predicate> getFirstPlanOps() {		return getPlans().getFirst().getOps();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?