@Override public SADomain generateDomain() { SADomain domain = new SADomain(); MCModel smodel = new MCModel(this.physParams.copy()); if(tf == null){ tf = new ClassicMCTF(physParams.xmax); } if(rf == null){ rf = new GoalBasedRF(tf, 100, 0); } FactoredModel model = new FactoredModel(smodel, rf, tf); domain.setModel(model); domain.addActionType(new UniversalActionType(ACTION_FORWARD)) .addActionType(new UniversalActionType(ACTION_BACKWARDS)) .addActionType(new UniversalActionType(ACTION_COAST)); return domain; }