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

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