Hypergraph
any graphical model can be associated with a hypergraph, where X is the set of nodes and H is the scopes of the functions in F, namely H = {}. Therefore, the dual graph of the hypergraph of a graphical model associates a node with each function’s scope and an arc with each 2 nodes corresponding to scopes
Primal Graph
The Primal Graph of a graphical model is an undirected graph that has variables as its vertices and an edge connects any two variables that appear in the scope of the same function
- is an effective way to capture the structure of the knowledge. In particular, graph separation is a sound way to capture conditional independencies relative to probability distributions over directed and undirected graphical models
- in the context of directed acyclic graphs & Bayesian Networks, primal graphs are also called moral graphs
- in the context of probabilistic graphical models, primal graphs are also called i-maps (independence maps)
- in the context of relational databases, primal graphs capture the notion of embedded multi-valued dependencies (EMVDs)
All advanced algorithms for graphical models exploit their graphical structure. Besides the primal graph, other graph depictions include hyper-graphs, dual graphs, and factor graphs
Graph Depictions
the arcs of the primal graph do not provide a one to one correspondence with scopes. Hypergraphs and dual graphs are representations that provide such one-to-one correspondence
Hypergraph
a hypergraph is a pair 𝓗 = {𝐕, 𝐒} where:
- 𝐕 = {𝑣1, …, 𝑣n} is a set of nodes
- 𝐒 = {𝑆1, …, 𝑆l} is a set of subsets of 𝐕 called hyperedges (e.g. every 𝑆𝑖⊆𝐕)
a related representation that converts a hypergraph into a regular graph is the dual graph
for example, the figure to the right depicts a hypergraph 𝓗 = {𝐕, 𝐒} where:
- 𝐕 = {A, B, C, D, E, F}
- 𝐒 = {{A,B,C}, {C,D,E}, {E,F,A}, {A,C,E}}
Primal Graph
a hypergraph 𝓗 = {𝐕, 𝐒} can be mapped to a primal graph 𝓗primal = {𝐕primal, 𝐄primal} where:
- 𝐕primal as its set of nodes
- 𝐄primal as a set of edges for any two nodes are connected if they appear in the same hyperedge 𝑆1
for example, the figure to the right depicts a primal graph 𝓗primal where:
- 𝐕primal = {A, B, C, D, E, F}
- 𝐄primal = {{A,B}, {A,C}, {B,C}, {C,D}, {C,E}, {D,E}, {E,F}, {A,E}, {A,F}}
Dual Graph
a hypergraph 𝓗 = {𝐕, 𝐒} can be mapped to a dual graph 𝓗dual = {𝐕dual, 𝐄dual} where:
- 𝐕dual = 𝐒
- in other words, the nodes of the dual graph are the hyperedges 𝐒 = {𝑆1, …, 𝑆l} in 𝓗
- (𝑆i, 𝑆j) ∈ 𝐄primal iff 𝑆i ∩ 𝑆j≠ ∅
- in other words, there exist an edge between 2 nodes if the intersection between their corresponding hyperedges is not empty
for example, the figure to the right depicts a dual graph 𝓗dual where:
- 𝐕dual = {{ABC}, {CDE}, {EFA}, {ACE}}
- 𝐄dual = {{ABC,CDE}, {ABC,EFA}, {ABC,ACE}, {CDE,EFA}, {CDE,ACE}, {EFA,ACE}}
Dual Graph - Variants
- Cluster Graphs - a relaxed Dual Graph, where nodes can be combined and edges removed as long as it satisfies the cluster graph properties
- Cluster Trees - a cluster graph with no cycles
Factor Graph
a hypergraph 𝓗 = {𝐕, 𝐒} can be mapped to a factor graph 𝓗factor = {𝐕variable, 𝐕function, 𝐄factor} where:
- 𝐕variablevariable nodes = 𝐕
- 𝐕function function nodes = 𝐒
- (𝑣𝑖, 𝑆𝑗) ∈ 𝐄factor iff 𝑣𝑖∊𝑆𝑗
- in other words, each function node is connected to all the variable nodes appearing in the scope
