本文整理汇总了Java中burlap.mdp.core.action.Action.actionName方法的典型用法代码示例。如果您正苦于以下问题:Java Action.actionName方法的具体用法?Java Action.actionName怎么用?Java Action.actionName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类burlap.mdp.core.action.Action
的用法示例。
在下文中一共展示了Action.actionName方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: sample
import burlap.mdp.core.action.Action; //导入方法依赖的package包/类
@Override
public State sample(State s, Action a) {
BlockDudeState bs = (BlockDudeState)s.copy();
String aname = a.actionName();
if(aname.equals(ACTION_WEST)){
moveHorizontally(bs, -1);
}
else if(aname.equals(ACTION_EAST)){
moveHorizontally(bs, 1);
}
else if(aname.equals(ACTION_UP)){
moveUp(bs);
}
else if(aname.equals(ACTION_PICKUP)){
putdownBlock(bs);
}
else if(aname.equals(ACTION_PUT_DOWN)){
pickupBlock(bs);
}
else {
throw new RuntimeException("Unknown action " + aname);
}
return bs;
}
示例2: sample
import burlap.mdp.core.action.Action; //导入方法依赖的package包/类
@Override
public State sample(State s, Action a) {
GenericOOState gs = (GenericOOState)s.copy();
String aname = a.actionName();
if(aname.equals(HelperNameSpace.ACTION_MOVE)){
simMove(gs);
}
else if(aname.equals(HelperNameSpace.ACTION_ROTATE_LEFT)){
simRotate(gs, HelperNameSpace.RotDirection.size - 1);
}
else if(aname.equals(HelperNameSpace.ACTION_ROTATE_RIGHT)){
simRotate(gs, 1);
}
else if(aname.equals(HelperNameSpace.ACTION_AHEAD)){
simPitch(gs, 0);
}
else if(aname.equals(HelperNameSpace.ACTION_DOWN_ONE)){
simPitch(gs, HelperNameSpace.VertDirection.size - 1);
}
else if(aname.equals(HelperNameSpace.ACTION_PLACE_BLOCK)){
simPlace(gs);
}
else if(aname.equals(HelperNameSpace.ACTION_DEST_BLOCK)){
simDestroy(gs);
}
else if(aname.equals(HelperNameSpace.ACTION_CHANGE_ITEM)){
simChangeItem(gs);
}
else{
throw new RuntimeException("MinecraftModel is not defined for action " + aname);
}
return gs;
}
示例3: sample
import burlap.mdp.core.action.Action; //导入方法依赖的package包/类
@Override
public State sample(State s, Action a) {
FrostbiteState fs = (FrostbiteState)s.copy();
String aname = a.actionName();
if(aname.equals(ACTION_EAST)){
move(fs, 1, 0);
}
else if(aname.equals(ACTION_WEST)){
move(fs, -1, 0);
}
else if(aname.equals(ACTION_NORTH)){
move(fs, 0, -1);
}
else if(aname.equals(ACTION_SOUTH)){
move(fs, 0, 1);
}
else if(aname.equals(ACTION_IDLE)){
move(fs, 0, 0);
}
else{
throw new RuntimeException("Unknown action " + a.toString());
}
return fs;
}
示例4: sample
import burlap.mdp.core.action.Action; //导入方法依赖的package包/类
@Override
public State sample(State s, Action a) {
s = s.copy();
if(a.actionName().equals(CartPoleDomain.ACTION_RIGHT)){
return moveCorrectModel(s, 1);
}
else if(a.actionName().equals(CartPoleDomain.ACTION_LEFT)){
return moveCorrectModel(s, -1);
}
throw new RuntimeException("Unknown action " + a.actionName());
}
示例5: sample
import burlap.mdp.core.action.Action; //导入方法依赖的package包/类
@Override
public State sample(State s, Action a) {
s = s.copy();
if(a.actionName().equals(CartPoleDomain.ACTION_RIGHT)){
return moveClassicModel(s, 1);
}
else if(a.actionName().equals(CartPoleDomain.ACTION_LEFT)){
return moveClassicModel(s, -1);
}
throw new RuntimeException("Unknown action " + a.actionName());
}
示例6: sample
import burlap.mdp.core.action.Action; //导入方法依赖的package包/类
@Override
public State sample(State state, Action action){
//override for faster sampling
if(action.actionName().equals(TigerDomain.ACTION_LEFT) || action.actionName().equals(TigerDomain.ACTION_RIGHT)){
return this.observationReset();
}
else if(action.actionName().equals(TigerDomain.ACTION_LISTEN)){
String tigerVal = (String)state.get(TigerDomain.VAR_DOOR);
double r = RandomFactory.getMapped(0).nextDouble();
if(r < this.listenAccuracy){
if(tigerVal.equals(TigerDomain.VAL_LEFT)){
return this.observationLeft();
}
else{
return this.observationRight();
}
}
else{
//then nosiy listen; reverse direction
if(tigerVal.equals(TigerDomain.VAL_LEFT)){
return this.observationRight();
}
else{
return this.observationLeft();
}
}
}
else if(action.actionName().equals(TigerDomain.ACTION_DO_NOTHING)){
return this.observationNothing();
}
throw new RuntimeException("Unknown action " + action.actionName() + "; cannot return observation sample.");
}
示例7: probability
import burlap.mdp.core.action.Action; //导入方法依赖的package包/类
@Override
public double probability(State observation, State state,
Action action) {
String oVal = (String)observation.get(TigerDomain.VAR_HEAR);
String tigerVal = (String)state.get(TigerDomain.VAR_DOOR);
if(action.actionName().equals(TigerDomain.ACTION_LEFT) || action.actionName().equals(TigerDomain.ACTION_RIGHT)){
if(oVal.equals(TigerDomain.DOOR_RESET)){
return 1.;
}
return 0.;
}
if(action.actionName().equals(TigerDomain.ACTION_LISTEN)){
if(tigerVal.equals(TigerDomain.VAL_LEFT)){
if(oVal.equals(TigerDomain.HEAR_LEFT)){
return this.listenAccuracy;
}
else if(oVal.equals(TigerDomain.HEAR_RIGHT)){
return 1.-this.listenAccuracy;
}
else{
return 0.;
}
}
else{
if(oVal.equals(TigerDomain.HEAR_LEFT)){
return 1.-this.listenAccuracy;
}
else if(oVal.equals(TigerDomain.HEAR_RIGHT)){
return this.listenAccuracy;
}
else{
return 0.;
}
}
}
//otherwise we're in the noop
if(action.actionName().equals(TigerDomain.ACTION_DO_NOTHING)){
if(oVal.equals(TigerDomain.HEAR_NOTHING)){
return 1.;
}
else{
return 0.;
}
}
throw new RuntimeException("Unknown action " + action.actionName() + "; cannot return observation probability.");
}