In graph theory, a __moral graph__ is used to find the equivalent undirected form of a directed acyclic graph. It is a key step of the junction tree algorithm, used in belief propagation on graphical models - wikipedia
The moralized counterpart of a directed acyclic graph is formed by adding edges between all pairs of non-adjacent nodes that have a common child, and then making all edges in the graph undirected.
Equivalently, a moral graph of a directed acyclic graph is now connected to its Markov blanket. The name stems from the fact that, in a moral graph, two nodes that have a common child are required to be ''married'' by sharing an edge.
> __Parents:__ Markov blanket, Graph theory
Moralization may also be applied to mixed graphs, called in this context "chain graphs". In a chain graph, a connected component of the undirected subgraph is called a chain. Moralization adds an undirected edge between any two vertices that both have outgoing edges to the same chain, and then forgets the orientation of the directed edges of the graph.
# Sections
# See also