import java.lang.*; import java.util.*; /** Interface for a state space that can be traversed by applying operators. */ public interface Traversable { /** Return state obtained by applying op. null if op is not valid here. */ public State applyOperator(String op); /** Return cost of applying op. */ public float costOf(String op); /** Get all operators valid from this state. */ public ArrayList validOperators(); }