unbbayes.prs.bn
Class SingleEntityNetwork

java.lang.Object
  extended by unbbayes.prs.Network
      extended by unbbayes.prs.bn.SingleEntityNetwork
All Implemented Interfaces:
Serializable, Graph
Direct Known Subclasses:
ProbabilisticNetwork

public class SingleEntityNetwork
extends Network
implements Serializable

Class that represents a generic network.

Version:
2006/09/11
Author:
Rommel Carvalho, Michael Onishi
See Also:
Serialized Form

Field Summary
protected  List<Edge> arcosMarkov
          Lista de edgeList utilizada no processo de transformaÔøΩÔøΩo.
protected  List<Edge> copiaArcos
           
protected  ArrayList<Node> copiaNos
          CÔøΩpia dos nÔøΩs sem os nÔøΩs de utilidade.
protected  boolean createLog
          Indica se o log deve ser criado ou nÔøΩo.
protected  ArrayList<Node> decisionNodes
          NÔøΩs de decisÔøΩo utilizado no processo de transformaÔøΩÔøΩo.
protected  boolean firstInitialization
           
protected  HierarchicTree hierarchicTree
           
protected  JunctionTree junctionTree
          Armazena handle do objeto ÔøΩrvore de JunÔøΩÔøΩo associado ao Grafo.
protected  NetworkCompilationLogManager logManager
          Faz o processamento do log de compilaÔøΩÔøΩo.
protected  ArrayList<Node> oe
          Ordem de eliminaÔøΩÔøΩo dos nÔøΩs.
protected  double radius
           
protected static ResourceBundle resource
          Load resource file from this package
 
Fields inherited from class unbbayes.prs.Network
edgeList, id, name, nodeIndexes, nodeList, nodeNameChangedListener
 
Constructor Summary
SingleEntityNetwork(String name)
          ConstrÔøΩi um novo grafo sem nÔøΩs nem edgeList.
 
Method Summary
protected  void arvoreForte()
          Faz o processo de constituiÔøΩÔøΩo da ÔøΩrvore de junÔøΩÔøΩo - Frank Jensen
protected  void associateCliques()
          Faz a associaÔøΩÔøΩo dos NÔøΩs a um ÔøΩnico clique com menos espaÔøΩo de est.
protected  void clearAdjacents()
          DestrÔøΩi a lista de adjacentes de cada nÔøΩ do grafo.
protected  void cliques()
          Faz o processo de identificaÔøΩÔøΩo dos Cliques
protected  void compileJT(JunctionTree jt)
          Monta ÔøΩrvore de junÔøΩÔøΩo a partir do grafo.
protected  void copyMarginal()
           
protected  int getCliqueIndex(ArrayList<Node> listaNos, ArrayList<Node> alpha)
          SUB-FUNÔøΩÔøΩO do mÔøΩtodo arvoreForte
 ArrayList<Node> getDescriptionNodes()
           
 ArrayList<Node> getExplanationNodes()
           
 HierarchicTree getHierarchicTree()
           
 String getLog()
           
 ArrayList<Node> getNodesCopy()
          Return a copy of the nodes (without utility nodes).
 double getRadius()
           
 void initialize()
          Inicia as crenÔøΩas da ÔøΩrvore de junÔøΩÔøΩo.
 boolean isBN()
          Returns true if this network has only discrete probabilistic nodes, i.e.
 boolean isCreateLog()
          Gets the createLog.
 boolean isHybridBN()
          Returns true if this network is hybrid, in other words, if it has at least one continuous node.
 boolean isID()
          Returns true if this network is a Influence Diagram
protected  void makeAdjacents()
           
protected  void makeAdjacentsListForNodeListElements()
          Build the adjacent list of each node in nodeList (then adjacent list contains all nodes that is or father or child of the origin node)_.
protected  void makeLog()
           
protected  boolean minimumWeightElimination(ArrayList<Node> auxNos)
          Sub-rotina do mÔøΩtodo triangula.
protected  void moralize()
          Faz o processo de moralizaÔøΩÔøΩo da rede.
 float PET()
          Retorna a probabilidade estimada total da ÔøΩrvore de junÔøΩÔøΩo associada.
 void resetEvidences()
           
 void resetNodesCopy()
          Reset the copy of the nodes.
protected  void restoreMarginais()
           
 void setCreateLog(boolean createLog)
          Sets the createLog.
 void setFirstInitialization(boolean firstInitialization)
          Sets the firstInitialization.
 void setHierarchicTree(HierarchicTree hierarchicTree)
           
 void setRadius(double radius)
           
protected  void sortCliqueNodes()
          Ordena os nÔøΩs dos cliques e dos separadores de acordo com a ordem de eliminaÔøΩÔøΩo.
protected  void sortDecisions()
          SUB-FUNÔøΩÔøΩO do mÔøΩtodo verificaConsistÔøΩncia que verifica se existe uma ordenaÔøΩÔøΩo total das decisÔøΩes.
 void updateEvidences()
          Chama o mÔøΩtodo da ÔøΩrvore de junÔøΩÔøΩo para atualizar evidÔøΩncias.
protected  void updateMarginais()
           
 void verifyConectivity()
          Verifica a conectividade da rede.
protected  void verifyConsistency()
          Verifica integridade como grafo direcionado acÔøΩclico / conexo e coesÔøΩo.
 void verifyCycles()
          Verify if this network has cycle.
protected  void verifyPotentialTables()
          SUB-FUNÔøΩÔøΩO do mÔøΩtodo verificaConsistÔøΩncia que verifica a consistencia das tabelas de potenciais dos nÔøΩs do grafo.
protected  void verifyUtility()
          SUB-FUNÔøΩÔøΩO do mÔøΩtodo verificaConsistÔøΩncia que verifica se todos os nÔøΩs de utilidade nÔøΩo contÔøΩm filhos.
 
Methods inherited from class unbbayes.prs.Network
addEdge, addNode, clearEdges, clearNodes, getEdge, getEdges, getId, getName, getNode, getNodeAt, getNodeCount, getNodeIndex, getNodeIndexes, getNodes, hasEdge, hasEdge, removeEdge, removeNode, setName, setNodeIndexes, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

resource

protected static ResourceBundle resource
Load resource file from this package


hierarchicTree

protected HierarchicTree hierarchicTree

firstInitialization

protected boolean firstInitialization

decisionNodes

protected ArrayList<Node> decisionNodes
NÔøΩs de decisÔøΩo utilizado no processo de transformaÔøΩÔøΩo.


radius

protected double radius

logManager

protected NetworkCompilationLogManager logManager
Faz o processamento do log de compilaÔøΩÔøΩo.


arcosMarkov

protected List<Edge> arcosMarkov
Lista de edgeList utilizada no processo de transformaÔøΩÔøΩo.


createLog

protected boolean createLog
Indica se o log deve ser criado ou nÔøΩo.


oe

protected ArrayList<Node> oe
Ordem de eliminaÔøΩÔøΩo dos nÔøΩs.


copiaNos

protected ArrayList<Node> copiaNos
CÔøΩpia dos nÔøΩs sem os nÔøΩs de utilidade. Utilizado no processo de transformaÔøΩÔøΩo.


copiaArcos

protected List<Edge> copiaArcos

junctionTree

protected JunctionTree junctionTree
Armazena handle do objeto ÔøΩrvore de JunÔøΩÔøΩo associado ao Grafo.

Constructor Detail

SingleEntityNetwork

public SingleEntityNetwork(String name)
ConstrÔøΩi um novo grafo sem nÔøΩs nem edgeList.

Method Detail

getDescriptionNodes

public ArrayList<Node> getDescriptionNodes()

getExplanationNodes

public ArrayList<Node> getExplanationNodes()

makeAdjacentsListForNodeListElements

protected void makeAdjacentsListForNodeListElements()
Build the adjacent list of each node in nodeList (then adjacent list contains all nodes that is or father or child of the origin node)_.


makeAdjacents

protected void makeAdjacents()

clearAdjacents

protected void clearAdjacents()
DestrÔøΩi a lista de adjacentes de cada nÔøΩ do grafo.


verifyCycles

public final void verifyCycles()
                        throws Exception
Verify if this network has cycle.

Throws:
Exception - If this network has a cycle.

verifyConectivity

public final void verifyConectivity()
                             throws Exception
Verifica a conectividade da rede.

Throws:
Exception - se a rede for disconexa.

moralize

protected void moralize()
Faz o processo de moralizaÔøΩÔøΩo da rede.


setCreateLog

public void setCreateLog(boolean createLog)
Sets the createLog.

Parameters:
createLog - The createLog to set

compileJT

protected void compileJT(JunctionTree jt)
                  throws Exception
Monta ÔøΩrvore de junÔøΩÔøΩo a partir do grafo.

Throws:
Exception

resetEvidences

public void resetEvidences()

isID

public boolean isID()
Returns true if this network is a Influence Diagram

Returns:
Returns true if this network is a Influence Diagram, false otherwise.

isHybridBN

public boolean isHybridBN()
Returns true if this network is hybrid, in other words, if it has at least one continuous node.

Returns:
Returns true if this network is hybrid (continuous and discrete nodes).

isBN

public boolean isBN()
Returns true if this network has only discrete probabilistic nodes, i.e. simple BN.

Returns:
Returns true if this network has only discrete probabilistic nodes, i.e. simple BN.

updateMarginais

protected void updateMarginais()

cliques

protected void cliques()
Faz o processo de identificaÔøΩÔøΩo dos Cliques


sortCliqueNodes

protected void sortCliqueNodes()
Ordena os nÔøΩs dos cliques e dos separadores de acordo com a ordem de eliminaÔøΩÔøΩo.


makeLog

protected void makeLog()

associateCliques

protected void associateCliques()
Faz a associaÔøΩÔøΩo dos NÔøΩs a um ÔøΩnico clique com menos espaÔøΩo de est. que contenha sua famÔøΩlia


arvoreForte

protected void arvoreForte()
Faz o processo de constituiÔøΩÔøΩo da ÔøΩrvore de junÔøΩÔøΩo - Frank Jensen


getCliqueIndex

protected int getCliqueIndex(ArrayList<Node> listaNos,
                             ArrayList<Node> alpha)
SUB-FUNÔøΩÔøΩO do mÔøΩtodo arvoreForte


minimumWeightElimination

protected boolean minimumWeightElimination(ArrayList<Node> auxNos)
Sub-rotina do mÔøΩtodo triangula. Elimina os nÔøΩs do grafo utilizando a heurÔøΩstica do peso mÔøΩnimo. Primeiramente elimina os nÔøΩs cujos adjacentes estÔøΩo ligados dois a dois. Depois se ainda houver nÔøΩs no grafo, elimina-os aplicando a heurÔøΩstica do peso mÔøΩnimo.

Parameters:
auxNos - Vetor de nÔøΩs.

verifyConsistency

protected void verifyConsistency()
                          throws Exception
Verifica integridade como grafo direcionado acÔøΩclico / conexo e coesÔøΩo. Com a saÔøΩda ÔøΩ possÔøΩvel saber quais erros especificamente ocorreram caso algum ocorra.

Throws:
Exception

getHierarchicTree

public HierarchicTree getHierarchicTree()

setHierarchicTree

public void setHierarchicTree(HierarchicTree hierarchicTree)

setRadius

public void setRadius(double radius)

getRadius

public double getRadius()

verifyPotentialTables

protected void verifyPotentialTables()
                              throws Exception
SUB-FUNÔøΩÔøΩO do mÔøΩtodo verificaConsistÔøΩncia que verifica a consistencia das tabelas de potenciais dos nÔøΩs do grafo.

Throws:
Exception

verifyUtility

protected void verifyUtility()
                      throws Exception
SUB-FUNÔøΩÔøΩO do mÔøΩtodo verificaConsistÔøΩncia que verifica se todos os nÔøΩs de utilidade nÔøΩo contÔøΩm filhos.

Throws:
Exception

sortDecisions

protected void sortDecisions()
                      throws Exception
SUB-FUNÔøΩÔøΩO do mÔøΩtodo verificaConsistÔøΩncia que verifica se existe uma ordenaÔøΩÔøΩo total das decisÔøΩes. Isto ÔøΩ, se existe um caminho orientado entre as decisÔøΩes.

Throws:
Exception

getNodesCopy

public ArrayList<Node> getNodesCopy()
Return a copy of the nodes (without utility nodes).

Returns:
A copy of the nodes (without utility nodes).

resetNodesCopy

public void resetNodesCopy()
Reset the copy of the nodes. It is usually due to changes in the network.


getLog

public String getLog()

isCreateLog

public boolean isCreateLog()
Gets the createLog.

Returns:
Returns a boolean

updateEvidences

public void updateEvidences()
                     throws Exception
Chama o mÔøΩtodo da ÔøΩrvore de junÔøΩÔøΩo para atualizar evidÔøΩncias.

Throws:
Exception

initialize

public void initialize()
                throws Exception
Inicia as crenÔøΩas da ÔøΩrvore de junÔøΩÔøΩo.

Throws:
Exception

copyMarginal

protected void copyMarginal()

restoreMarginais

protected void restoreMarginais()

setFirstInitialization

public void setFirstInitialization(boolean firstInitialization)
Sets the firstInitialization.

Parameters:
firstInitialization - The firstInitialization to set

PET

public float PET()
Retorna a probabilidade estimada total da ÔøΩrvore de junÔøΩÔøΩo associada.

Returns:
probabilidade estimada total da ÔøΩrvore de junÔøΩÔøΩo associada.


Copyright © 2001-2010 University of Brasilia - UnB. All Rights Reserved.