示例#1
0
  public void printRCP(String RCPName) {
    Domain dominio = null;
    DiscreteChanceNode nodo;
    NodeList list;

    if (RCPName.equalsIgnoreCase("livello_difficolta_iniziale")) {
      dominio = livello_difficolta_iniziale;
    } else if (RCPName.equalsIgnoreCase("ogni_livello")) {
      dominio = ogni_livello;
    } else if (RCPName.equalsIgnoreCase("visualizzazione_iniziale")) {
      dominio = visualizzazione_iniziale;
    }

    try {
      System.out.println("RCP: " + dominio.getFileName());
      list = dominio.getNodes();
      for (Object n : list) {
        nodo = (DiscreteChanceNode) n;
        System.out.println("Nodo: " + nodo.getName());
        for (int i = 0; i < nodo.getNumberOfStates(); i++) {
          System.out.println(nodo.getStateLabel(i) + ": " + nodo.getBelief(i));
        }
      }
      System.out.println("");
      System.out.println("");
    } catch (ExceptionHugin EH) {
      System.out.println(EH.getMessage());
    }
  }
示例#2
0
 private ModuloRCP() {
   try {
     livello_difficolta_iniziale = new Domain("livello_difficolta_iniziale.hkb");
     visualizzazione_iniziale = new Domain("visualizzazione_iniziale.hkb");
     ogni_livello = new Domain("ogni_livello.hkb");
   } catch (ExceptionHugin EH) {
     System.out.println(EH.getMessage());
   }
 }
示例#3
0
  public double getBelief(String RCPName, String NodeName, long state) {
    Domain dominio = null;
    DiscreteChanceNode nodo = null;
    double belief = -1;

    if (RCPName.equalsIgnoreCase("livello_difficolta_iniziale"))
      dominio = livello_difficolta_iniziale;
    else if (RCPName.equalsIgnoreCase("ogni_livello")) dominio = ogni_livello;
    else if (RCPName.equalsIgnoreCase("visualizzazione_iniziale"))
      dominio = visualizzazione_iniziale;

    try {
      nodo = (DiscreteChanceNode) dominio.getNodeByName(NodeName);
      belief = nodo.getBelief(state);
    } catch (ExceptionHugin EH) {
      System.out.println(EH.getMessage());
    }

    return belief;
  }
示例#4
0
  public void setEvidence(String RCPName, String NodeName, long state) {
    Domain dominio = null;
    DiscreteChanceNode nodo = null;

    if (RCPName.equalsIgnoreCase("livello_difficolta_iniziale"))
      dominio = livello_difficolta_iniziale;
    else if (RCPName.equalsIgnoreCase("ogni_livello")) dominio = ogni_livello;
    else if (RCPName.equalsIgnoreCase("visualizzazione_iniziale"))
      dominio = visualizzazione_iniziale;

    try {
      nodo = (DiscreteChanceNode) dominio.getNodeByName(NodeName);
      nodo.selectState(state);

      if (dominio.isCompiled())
        dominio.propagate(dominio.H_EQUILIBRIUM_SUM, dominio.H_EVIDENCE_MODE_NORMAL);
      else dominio.compile();

    } catch (ExceptionHugin EH) {
      System.out.println(EH.getMessage());
    }
  }