Package graphplan.domain

Examples of graphplan.domain.Proposition


                  "move(b1,pu2,pu3)"};
   
    List<Proposition> planPreconds = graphplan.getPlanPreconditions(Arrays.asList(plan), description);
   
    String signatures[] = new String[] {"over(b1,pu1)","empty(pu2)","empty(pu3)"};
    Proposition propositions[] = PropositionFactory.getInstance().getPropositions(signatures);
   
    if(propositions.length != planPreconds.size()) {
      fail("Preconditions are not minimal");
    }
   
View Full Code Here


      PropositionLevel precondLevel = (PropositionLevel) graph.getGraphLevel(i-2);
      ActionLevel actionLevel = (ActionLevel) graph.getGraphLevel(i-1);
      //Then see if each proposition in the effectLevel is connected by some action
      //to the precondLevel
      for (Iterator<Proposition> iter = effectLevel.getPropositions(); iter.hasNext();) {
        Proposition proposition = iter.next();
        //If no action is connected to the effect level
        if(actionLevel.getGeneratingActions(proposition).size() == 0) {
          //We need to propagate this action to the previous level
          actionLevel.addNoop(proposition);
          precondLevel.addProposition(proposition);
View Full Code Here

   * Adds a list of propositions to an action level
   * @param propositions
   */
  public void addPropositions(List<Proposition> propositions) {
    for (Iterator<Proposition> iter = propositions.iterator(); iter.hasNext();) {
      Proposition proposition = iter.next();
      this.addProposition(proposition);
    }
  }
View Full Code Here

  public boolean visitPropositionLevel(PropositionLevel propositionLevel) {
    StringBuilder sbMutexes = new StringBuilder();
   
    sbOutput.append("Proposition Level [");
    for (Iterator<Proposition> iter = propositionLevel.getPropositions(); iter.hasNext();) {
      Proposition proposition = iter.next();
      sbOutput.append(proposition.toString());
      if(iter.hasNext()) {
        sbOutput.append(", ");
      }
     
      sbMutexes.append("   "+proposition.toString()+": ");
      for(Iterator<Proposition> j = propositionLevel.getMutexes(proposition); j.hasNext(); ) {
        Proposition mutex = j.next();
        sbMutexes.append(mutex.toString());
        if(j.hasNext()) {
          sbMutexes.append(", ");
        }
      }
      sbMutexes.append(System.getProperty("line.separator"));
View Full Code Here

     
      Element nodeElement = createNode(id, label);
      graphElement.appendChild(nodeElement);
     
      for(Iterator<Proposition> iterPre = operator.getPreconds().iterator(); iterPre.hasNext(); ){
        Proposition prop = iterPre.next();
        String target = (actionLevel.getIndex()-1)+prop.getSignature();
        Element edgeElement = createEdge(id, target);
        graphElement.appendChild(edgeElement);
      }
     
      for(Iterator<Proposition> iterEff = operator.getEffects().iterator(); iterEff.hasNext(); ){
        Proposition prop = iterEff.next();
        String target = (actionLevel.getIndex()+1)+prop.getSignature();
        Element edgeElement = createEdge(id, target);
        graphElement.appendChild(edgeElement);
      }
    }
    return true;
View Full Code Here

 
  public boolean visitPropositionLevel(PropositionLevel propositionLevel) {
    Comment comment = graphDoc.createComment("Proposition Level "+propositionLevel.getIndex());
    graphElement.appendChild(comment);
    for (Iterator<Proposition> iter = propositionLevel.getPropositions(); iter.hasNext();) {
      Proposition proposition = iter.next();
     
      String label = proposition.getSignature();
      String id = propositionLevel.getIndex()+label;
     
      Element nodeElement = createNode(id, label);
      graphElement.appendChild(nodeElement);
    }
View Full Code Here

        this.subGoalStack.pop();
      }
     
      return planFound;
    } else {
      final Proposition proposition = subGoals.iterator().next();
      subGoals.remove(proposition);
      //Get the actions that generate this proposition to search for a solution
      List<Operator> requiringActions = actionLevel.getGeneratingActions(proposition);
      for(Operator operator: requiringActions) {
        //Check if the operator has not already been selected
View Full Code Here

      String label = operator.getSignature();
      String id = actionLevel.getIndex()+label;
      this.createNode(id, label,"box");
     
      for(Iterator<Proposition> iterPre = operator.getPreconds().iterator(); iterPre.hasNext(); ){
        Proposition prop = iterPre.next();
        String target = (actionLevel.getIndex()-1)+prop.getSignature();
        createEdge(id, target);
      }
     
      for(Iterator<Proposition> iterEff = operator.getEffects().iterator(); iterEff.hasNext(); ){
        Proposition prop = iterEff.next();
        String target = (actionLevel.getIndex()+1)+prop.getSignature();
        createEdge(id, target);
      }
    }
    writer.println("}");
    return true;
View Full Code Here

    String comment = "Proposition Level "+propositionLevel.getIndex();
    writer.println("label=\""+comment+"\";");
    writer.println("a"+propositionLevel.getIndex()+" -> b"+propositionLevel.getIndex());
   
    for (Iterator<Proposition> iter = propositionLevel.getPropositions(); iter.hasNext();) {
      Proposition proposition = iter.next();
     
      String label = proposition.getSignature();
      String id = propositionLevel.getIndex()+label;
     
      createNode(id, label,"ellipse");
    }
    writer.println("}");
View Full Code Here

  private PropositionLevel initialState = null;

  @Before
  public void setUp() throws Exception {
    initialState = new PropositionLevel();
    Proposition proposition = PropositionFactory.getInstance()
        .getProposition("at(a)");
    initialState.addProposition(proposition);
    Proposition proposition2 = PropositionFactory.getInstance()
        .getProposition("~at(a)");
    initialState.addProposition(proposition2);

    OperatorFactory operatorFactory = OperatorFactory.getInstance();
    Operator operTemplate = operatorFactory.createOperatorTemplate("move(A,B)",
View Full Code Here

TOP

Related Classes of graphplan.domain.Proposition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.