In graph theory and computer science, the graph sandwich problem is a problem of finding a graph that belongs to a particular family of graphs and is "sandwiched" between two other graphs, one of which must be a subgraph and the other of which must be a supergraph of the desired graph.
Graph sandwich problems generalize the problem of testing whether a given graph belongs to a family of graphs, and have attracted attention because of their applications and as a natural generalization of recognition problems.
More precisely, given a vertex set V, a mandatory edge set E<sup>1</sup>, and a (potentially) larger edge set E<sup>2</sup>, a graph G = (V, E) is called a sandwich graph for the pair G<sup>1</sup> = (V, E<sup>1</sup>), G<sup>2</sup> = (V, E<sup>2</sup>) if E<sup>1</sup> â E â E<sup>2</sup>. The graph sandwich problem for property àis defined as follows:
The recognition problem for a class of graphs (those satisfying a property ÃÂ ) is equivalent to the particular graph sandwich problem where E<sup>1</sup> = E<sup>2</sup>, that is, the optional edge set is empty.
The graph sandwich problem is NP-complete when ÃÂ is the property of being a chordal graph, comparability graph, permutation graph, chordal bipartite graph, or chain graph. It can be solved in polynomial time for split graphs, threshold graphs, and graphs in which every five vertices contain at most one four-vertex induced path. The complexity status has also been settled for the H-free graph sandwich problems for each of the four-vertex graphs H.