mirror of
				https://github.com/RAIRLab/Spectra.git
				synced 2025-10-26 22:51:19 +00:00 
			
		
		
		
	More tweaks.
This commit is contained in:
		
							parent
							
								
									8d5f2464a1
								
							
						
					
					
						commit
						5cc43e4b00
					
				
					 3 changed files with 19 additions and 15 deletions
				
			
		|  | @ -6,6 +6,7 @@ import com.naveensundarg.shadow.prover.representations.value.Compound; | |||
| import com.naveensundarg.shadow.prover.representations.value.Value; | ||||
| import com.naveensundarg.shadow.prover.representations.value.Variable; | ||||
| import com.naveensundarg.shadow.prover.utils.CollectionUtils; | ||||
| import com.naveensundarg.shadow.prover.utils.Logic; | ||||
| import com.naveensundarg.shadow.prover.utils.Sets; | ||||
| 
 | ||||
| import java.util.List; | ||||
|  | @ -27,6 +28,7 @@ public class Action { | |||
|     private final Formula precondition; | ||||
| 
 | ||||
|     private int weight; | ||||
|     private final boolean  trivial; | ||||
| 
 | ||||
|     private final Compound shorthand; | ||||
| 
 | ||||
|  | @ -52,6 +54,8 @@ public class Action { | |||
| 
 | ||||
|         List<Value> valuesList = freeVariables.stream().collect(Collectors.toList());; | ||||
|         this.shorthand = new Compound(name, valuesList); | ||||
| 
 | ||||
|         this.trivial = computeTrivialOrNot(); | ||||
|     } | ||||
| 
 | ||||
|     private Action(String name, Set<Formula> preconditions, Set<Formula> additions, | ||||
|  | @ -78,6 +82,8 @@ public class Action { | |||
|                 deletions.stream().mapToInt(Formula::getWeight).sum(); | ||||
| 
 | ||||
|         this.shorthand = shorthand; | ||||
|         this.trivial = computeTrivialOrNot(); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -139,12 +145,19 @@ public class Action { | |||
|         return name; | ||||
|     } | ||||
| 
 | ||||
|     public boolean isNonTrivial() { | ||||
|         return !trivial; | ||||
|     } | ||||
| 
 | ||||
|     public boolean isNonTrivial(){ | ||||
|     public boolean computeTrivialOrNot(){ | ||||
| 
 | ||||
|         boolean case1Trivial =  Sets.subset(additions, preconditions) && deletions.isEmpty(); | ||||
| 
 | ||||
|         return !case1Trivial; | ||||
|         boolean case2Trivial =  additions.isEmpty() && deletions.stream().allMatch(x->preconditions.stream().anyMatch(y->y.equals(Logic.negated(x)))); | ||||
| 
 | ||||
|         boolean trivial = case1Trivial || case2Trivial; | ||||
| 
 | ||||
|         return trivial; | ||||
|     } | ||||
|     @Override | ||||
|     public String toString() { | ||||
|  |  | |||
|  | @ -1,11 +1,9 @@ | |||
| package edu.rpi.rair; | ||||
| 
 | ||||
| import com.naveensundarg.shadow.prover.representations.formula.Formula; | ||||
| import com.naveensundarg.shadow.prover.utils.CollectionUtils; | ||||
| import com.naveensundarg.shadow.prover.utils.Pair; | ||||
| import com.naveensundarg.shadow.prover.utils.Sets; | ||||
| 
 | ||||
| import javax.swing.text.html.Option; | ||||
| import java.util.*; | ||||
| import java.util.stream.Collectors; | ||||
| 
 | ||||
|  |  | |||
|  | @ -32,13 +32,13 @@ public class RunDemo { | |||
|             List<Problem> problems = ProblemReader.readFrom(Sandbox.class.getResourceAsStream("firstorder-completness-tests.clj")); | ||||
| 
 | ||||
|             problems.forEach(problem -> { | ||||
|                 for (int i = 0; i < 5; i++) { | ||||
|                 for (int i = 0; i < 10; i++) { | ||||
|                     prover.prove(problem.getAssumptions(), problem.getGoal()); | ||||
| 
 | ||||
|                 } | ||||
|             }); | ||||
| 
 | ||||
|             planningProblemWarmUp(); | ||||
|            planningProblemWarmUp(); | ||||
|             System.out.println("\nWARM UP DONE"); | ||||
|         } catch (Reader.ParsingException e) { | ||||
|             e.printStackTrace(); | ||||
|  | @ -88,7 +88,7 @@ public class RunDemo { | |||
|             cp.clear(); | ||||
|             cp.print(" "); | ||||
|             cp.setAttribute(Ansi.Attribute.BOLD); | ||||
|             cp.print((end - start) / 1000 + "s"); | ||||
|             cp.print((end - start) / 1000.0 + "s"); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -97,9 +97,8 @@ public class RunDemo { | |||
|     public static void planningProblemWarmUp() throws Reader.ParsingException { | ||||
| 
 | ||||
| 
 | ||||
|         for (int i = 0; i < 5; i++) { | ||||
|         for (int i = 0; i < 10; i++) { | ||||
| 
 | ||||
|             System.out.println(); | ||||
| 
 | ||||
|             List<GoalTrackingProblem> goalTrackingProblemList = (GoalTrackingProblem.readFromFile(Planner.class.getResourceAsStream("goal_management_1.clj"))); | ||||
| 
 | ||||
|  | @ -121,20 +120,14 @@ public class RunDemo { | |||
| 
 | ||||
|             goalTracker.adoptGoal(g1); | ||||
| 
 | ||||
|             System.out.print("."); | ||||
| 
 | ||||
|             goalTracker.adoptGoal(g2); | ||||
| 
 | ||||
| 
 | ||||
|             System.out.print("."); | ||||
| 
 | ||||
|             goalTracker.adoptGoal(g3); | ||||
| 
 | ||||
|             System.out.print("."); | ||||
| 
 | ||||
|             goalTracker.adoptGoal(g4); | ||||
| 
 | ||||
|             System.out.print("."); | ||||
| 
 | ||||
|             goalTracker.adoptGoal(g5); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue