mirror of
				https://github.com/RAIRLab/Spectra.git
				synced 2025-10-26 22:51:19 +00: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…
	
	Add table
		Add a link
		
	
		Reference in a new issue