Interface IGroundable

All Known Subinterfaces:
IPlanningOperator
All Known Implementing Classes:
ActivePursuitGoal, ComposedName, Condition, Effect, EmotionCondition, Goal, Inequality, InterestGoal, MoodCondition, Name, NewEventCondition, PastEventCondition, PredicateCondition, PropertyCondition, PropertyEqual, PropertyGreater, PropertyGreaterEqual, PropertyLesser, PropertyLesserEqual, PropertyNotEqual, RecentEventCondition, Step, Symbol

public interface IGroundable
Author:
Joao Dias Interface that specifies methods appliable to classes that can be grounded, i.e. have WellFormed Names
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Indicates if the name is grounded (no unbound variables in it's WFN) Example: Stronger(Luke,John) is grounded while Stronger(John,[X]) is not.
    void
    Applies a set of substitutions to the object, grounding it.
    void
    Applies a set of substitutions to the object, grounding it.
    void
    ReplaceUnboundVariables(int variableID)
    Replaces all unbound variables in the object by applying a numeric identifier to each one.
  • Method Details

    • ReplaceUnboundVariables

      void ReplaceUnboundVariables(int variableID)
      Replaces all unbound variables in the object by applying a numeric identifier to each one. For example, the variable [x] becomes [x4] if the received ID is 4. Attention, this method modifies the original object.
      Parameters:
      variableID - - the identifier to be applied
    • MakeGround

      void MakeGround(ArrayList<Substitution> bindings)
      Applies a set of substitutions to the object, grounding it. Example: Applying the substitution "[X]/John" in the name "Weak([X])" returns "Weak(John)". Attention, this method modifies the original object.
      Parameters:
      bindings - - A list of substitutions of the type "[Variable]/value"
      See Also:
    • MakeGround

      void MakeGround(Substitution subst)
      Applies a set of substitutions to the object, grounding it. Example: Applying the substitution "[X]/John" in the name "Weak([X])" returns "Weak(John)". Attention, this method modifies the original object.
      Parameters:
      subst - - a substitution of the type "[Variable]/value"
      See Also:
    • isGrounded

      boolean isGrounded()
      Indicates if the name is grounded (no unbound variables in it's WFN) Example: Stronger(Luke,John) is grounded while Stronger(John,[X]) is not.
      Returns:
      true if the name is grounded, false otherwise