Beispiel #1
0
  public static List<Pair<GreedyState, String[]>> run(GreedyState state, Oracle oracle) {
    List<Pair<GreedyState, String[]>> decisions = new ArrayList<>();

    // Add state progressions and oracle decisions
    while (!state.finished) {
      String[] decision = oracle.predictArcs(state);
      decisions.add(new Pair<>(state, decision));
      state = state.transition(decision);
    }

    // Add final state
    decisions.add(new Pair<>(state, null));

    return decisions;
  }