Draft:Graph difference

Graph difference or Structural difference is defined as a measure of the number of modifications required to transform an input graph into another. Graph difference is not unique and depends upon the distance measure used. Distance Measures proposed for computing graph difference include Gernet distance, Graph edit distance , and Wasserstein distance.

Problem of computing graph difference is equivalent to computing the Maximum Common Subgraph and is NP-Complete.

Applications
Graph differencing algorithms are used in applications that use graph models such as pattern recognition, machine learning, software configuration management, version control, model-based development, bioinformatics, and cheminformatics.

In model-based development, attributed graph differencing between two versions of a model (e.g., Simulink models, UML diagrams, state charts, etc.) represented as attributed graphs, aid in the indentification of changes such as additions, deletions, and modifications from one version of the model to another.

In pattern recognition and machine learning, Graph representation learning computes graph difference to extract features encoding structural information of the underlying graph and discover new patterns.

In biological systems, such as protein interaction networks, graph difference is computed to discover molecular properties such as therapeutic properties.