Ejemplo n.º 1
0
  private void performTurn() {
    DialogueState systemState = system.getState();
    final String outputVar = system.getSettings().systemOutput;
    try {

      Value systemAction = ValueFactory.none();
      if (systemState.hasChanceNode(outputVar)) {
        systemAction = systemState.queryProb(outputVar).getBest();
      }

      log.fine("Simulator input: " + systemAction);
      boolean turnPerformed = performTurn(systemAction);
      int repeat = 0;
      while (!turnPerformed && repeat < 5 && system.getModules().contains(this)) {
        turnPerformed = performTurn(systemAction);
        repeat++;
      }
    } catch (RuntimeException e) {
      log.fine("cannot update simulator: " + e);
    }
  }