mirror of
https://github.com/RAIRLab/Spectra.git
synced 2024-11-08 18:50:35 -05:00
Checking if an action is non-trivial
This commit is contained in:
parent
079af81ce0
commit
8d5f2464a1
5 changed files with 16 additions and 8 deletions
6
pom.xml
6
pom.xml
|
@ -36,6 +36,8 @@
|
|||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
</properties>
|
||||
</project>
|
|
@ -140,6 +140,12 @@ public class Action {
|
|||
}
|
||||
|
||||
|
||||
public boolean isNonTrivial(){
|
||||
|
||||
boolean case1Trivial = Sets.subset(additions, preconditions) && deletions.isEmpty();
|
||||
|
||||
return !case1Trivial;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return shorthand.getArguments().length == 0? name: shorthand.toString();
|
||||
|
|
|
@ -15,8 +15,8 @@ import java.util.stream.Collectors;
|
|||
public class DepthFirstPlanner implements Planner {
|
||||
|
||||
|
||||
private static int MAX_DEPTH = 4;
|
||||
private static boolean EXHAUSTIVE_TILL_MAX_DEPTH = true;
|
||||
private static int MAX_DEPTH = 3;
|
||||
private static boolean EXHAUSTIVE_TILL_MAX_DEPTH = false;
|
||||
|
||||
public static int getMaxDepth() {
|
||||
return MAX_DEPTH;
|
||||
|
@ -77,7 +77,7 @@ public class DepthFirstPlanner implements Planner {
|
|||
Set<Plan> allPlans = Sets.newSet();
|
||||
boolean atleastOnePlanFound = false;
|
||||
|
||||
for (Action action : actions) {
|
||||
for (Action action : actions.stream().filter(Action::isNonTrivial).collect(Collectors.toSet())) {
|
||||
|
||||
Optional<Set<Pair<State, Action>>> nextStateActionPairs = Operations.apply(background, action, start);
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
package edu.rpi.rair.utils;
|
||||
|
||||
import com.diogonunes.jcdp.color.ColoredPrinter;
|
||||
import com.diogonunes.jcdp.color.api.Ansi;
|
||||
import com.naveensundarg.shadow.prover.Sandbox;
|
||||
|
@ -12,6 +11,7 @@ import edu.rpi.rair.Goal;
|
|||
import edu.rpi.rair.GoalTracker;
|
||||
import edu.rpi.rair.Plan;
|
||||
import edu.rpi.rair.Planner;
|
||||
import edu.rpi.rair.utils.GoalTrackingProblem;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
@ -39,7 +39,7 @@ public class RunDemo {
|
|||
});
|
||||
|
||||
planningProblemWarmUp();
|
||||
System.out.println("WARM UP DONE");
|
||||
System.out.println("\nWARM UP DONE");
|
||||
} catch (Reader.ParsingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
(in ?person ?room2)
|
||||
(open (door ?room2))]
|
||||
:additions [(in ?person ?room1)]
|
||||
:deletions [(in ?person ?room1)]
|
||||
:deletions [(in ?person ?room2)]
|
||||
})
|
||||
(define-action keepDoorClosed [?actor ?room]
|
||||
{:preconditions [(robot ?actor)
|
||||
|
|
Loading…
Reference in a new issue