An unweighted simple undirected graph with a vertex set and an edge set is called a pairwise compatibility graph (PCG, for short) if there exist a tree with edges weighted by non-negative reals and two non-negative real numbers and such that: the leaf set of is , and two vertices are adjacent in if and only if the distance between and in is at least and at most . The tree is also called a pairwise compatibility tree (PCT, for short) of the graph . The same tree can be a PCT of more than one PCG. Figure 1 shows an edge-weighted tree and two PCGs for with and respectively. The concept of PCG was first introduced by Kearney et al.  to model evolutionary relationships among a set of organisms in bioinformatics. However, it is a challenging problem to construct a pairwise compatibility tree for a given graph. Recognition and characterization of PCGs became interesting problems in graph theory recently.
Not every graph is a PCG. Yanhaona, Bayzid and Rahman  constructed the first non-PCG, which is a bipartite graph with 15 vertices. Later, an example with 8 vertices was found in . This is the smallest non-PCG, since it has been checked that all graphs with at most seven vertices are PCGs . Currently no polynomial-time algorithm is known to the problem of testing whether a given graph is a PCG or not. It is widely believed that recognizing PCGs is NP-hard [7, 8].
In the literature, there are several contributions to recognizing some subclasses of PCG. It is not difficult to see that every tree is a PCG . Every cycle with at most one chord has also been shown to be a PCG . Other subclasses of graphs currently known as PCGs are power graphs of trees , threshold graphs , triangle-free outerplanar 3-graphs , a special subclasses of split matrogenic graphs , Dilworth 2 graphs [3, 4], the complement of a forest , the complement of a cycle  and so on. Some conditions for a graph not being a PCG have also been developed [8, 9, 13, 10]. However, there is still few known method for generating PCGs and PCTs with complicated structures.
In this paper, we will give more necessary and sufficient conditions for PCG. The first one is related to cut-vertices, where we show that a graph is a PCG if and only if each biconnected component of it is a PCG. The second one is about a pair of vertices with the same neighbors, called “twins.” We will show some conditions under which we can add a copy of a vertex into a PCG so that and form twins to get another PCG. One of our results answers an open problem on “true twins” . These properties provide simple reductions rules, by which we can reduce some graph into a smaller graph to check if it is a PCG and find more subclasses of PCGs as well as non-PCGs with an arbitrary large size. For examples, our results imply that complete -partite graphs, cacti, and some other graphs are subclasses of PCG.
Let a graph stand for an unweighted simple undirected graph with sets and of vertices and edges, respectively. An edge with end-vertices and is denoted by . For a graph , let and denote the sets of vertices and edges in , respectively, and let be the set of neighbors of a vertex in and let . Two vertices and in a graph are true twins (resp., false twins) if (resp., ). For a subset , let denote the graph obtained from by removing vertices in together with all edges incident to vertices in , where for a vertex may be written as . Let denote the graph induced by a subset , i.e., .
A vertex is called a cut-vertex if deleting it increases the number of connected component of the graph. A graph is biconnected if it has no cut-vertex. Note that a graph consisting of a single edge is biconnected. A biconnected component in a graph is a maximal biconnected subgraph. A cactus is a connected graph in which any two simple cycles have at most one vertex in common. Note that each biconnected component of a cactus is either a cycle or an edge. A graph is called a complete -partite graph if the vertex set can be partitioned into disjoint non-empty vertex subsets such that no two vertices in the same subset are adjacent whereas any two vertices from different subsets are adjacent. A complete -partite graph with subsets with is denoted by .
Let be a tree. A vertex in a tree is called an inner vertex if it is incident to at least two edges and is called a leaf otherwise. Let denote the set of leaves in the tree . An edge incident to a leaf in is called a leaf edge of . For a subset of vertices, let denote a minimal subtree of subject to the condition that any two vertices remain connected in . Note that for a given subset , the minimal subtree is unique.
An edge-weighted graph is defined to be a pair of a graph and a non-negative weight function . For a subgraph of , let denote the sum of edge weights in .
Let be an edge-weighted tree. For two vertices , the distance between them is defined to be , i.e., the sum of weights of edges in the path between and in .
For a tuple of an edge-weighted tree and two non-negative reals and , define to be the simple graph such that, for any two distinct vertices , if and only if . We define to be an empty set if . Note that is not necessarily connected. For a subset , let be a function such that , , where we regard as null if .
A graph is called a pairwise compatibility graph (PCG, for short) if there exists a tuple such that is isomorphic to the graph , where we call such a tuple a pairwise compatibility representation (PCR, for short) of , and call a tree in a PCR of a pairwise compatibility tree (PCT, for short) of . We call and the lower and upper bounds of a PCR.
3 Some Structures on PCR
We start to review the following property, which has been frequently used in literature. The correctness of it immediately follows from the definition of PCG.
Let be a PCR of a graph . For any subset , the tuple is a PCR of the induced graph .
A PCR of a PCG is called non-singular if contains at least three vertices, , and holds for all edges .
Let be a PCG with at least two vertices. Then admits a non-singular PCR. Given a PCR of , a non-singular PCR of can be constructed in linear time.
Proof. Let be a PCG with and be an arbitrary PCR of . We will construct a non-singular PCR of by four steps below.
First, if there is a non-leaf edge such that , we can shrink it by identifying the two end-vertices of it. The resulting graph is still a tree, a leaf in the original is still a leaf in this tree, and the distance between any two vertices in the tree remains unchanged. So the new tree is still a PCT of the graph . Now we assume that the edge weight of any non-leaf edge in the tree is positive.
By assumption of , it holds that . Next if , then we subdivide the unique edge in with a new inner vertex so that in the new tree obtained by subdividing the edge . It is easy to see that the new tuple is still a PCR of , and . In the following we assume that a PCT has at least three vertices.
In a PCR with , each path between two leaves contains exactly two leaf edges. As for the third step, if for some leaf edge or , then we can change all leaf edge weights and positive if necessary, by increasing the weight of each leaf edge by a positive real and increasing each of and by . The resulting tuple is a PCR of the same graph . Now all of edge weights, and are positive.
Finally, if the lower and upper bounds are same, i.e., , then we augment the upper bound to by choosing a sufficiently small positive real so that every two leaves and in such that still satisfies . Obviously the resulting tuple with is a PCR of the same graph and satisfies .
After executing the above four steps, we can get a non-singular PCR of the graph . Furthermore, all the four steps can be done in linear time.
A PCR of a PCG is called normalized if , , holds for all edges , and holds for all leaf edges in . We have the following lemmas.
Let be a PCG with at least two vertices. Then there is a positive constant with such that for any real with , admits a normalized PCR with . Given a PCR of , such a normalized PCR of can be constructed in linear time.
Proof. By Lemma 2, we know that a non-singular PCR of can be constructed in linear time. For , where , let be any real such that . To prove the lemma, it suffices to show that a normalized PCR can be constructed in linear time.
Let be the positive real such that , where holds. We increase the weight of each leaf edge in by , which increases the weight of each path between two leaves in by . We scale the weight in the tuple so that the lower and upper bounds become and 1; i.e., we divide by the weight of each edge in and each of and . This results in a tuple of such that for each leaf edge in .
Most of our arguments are based on normalized PCR, since it will be helpful for us to simplify some proofs.
4 Properties on Induced Subgraphs of PCGs
In this section, we derive some sufficient conditions for induced subgraphs of a PCG to remain PCGs, and show how to reduce a PCG to smaller PCGs or construct a larger PCG (resp., non-PCG) from a given PCG (resp., non-PCG). For this, we first review the case when an induced subgraph of a PCG is a connected component of the graph.
Components. It is known that a graph is a PCG if and only if each connected component of it is a PCG. The only if part trivially follows from Lemma 1. The if part is also easy to see: choose an inner vertex from the PCT of a PCR of each connected component of , where we assume that for all PCRs, and join the inner vertices to a new vertex with an edge weighted by a positive real to get a single tree whose leaf set is . We easily see that the resulting tree is a PCT for a PCR to , showing that is a PCG. It would be natural to consider similar properties on 2-edge-connected components (resp., biconnected components) of graphs with bridges (resp., cut-vertices). In fact, we show that the above property also holds for biconnected components.
Let a graph consist of biconnected components , . Then is a PCG if and only if each biconnected component of is a PCG.
Proof. The only if part trivially follows from Lemma 1. To show the if part, it suffices to consider the case where consists of two PCG graphs and such that .
Now we join the two PCRs by replacing the leaf edge in with a new inner vertex and three edges , and setting their weights by , and , respectively. See Figure 2(b) for an illustration of the operation. Let denote the resulting edge-weighted tree, and let be the graph . We will show that is isomorphic to the graph .
Since for each leaf edge in with and , we see that for any pair of vertices and . This implies that . Obviously for each and any pair , it holds that if and only if . Therefore is isomorphic to , and is a PCG.
Lemma 4 is a powerful tool to construct PCGs. We can use it to ‘join’ small PCGs into a large PCG to find new subclasses of PCGs. An edge or a single cycle has been shown to be a PCG , and a cactus is a graph with each biconnected component being a cycle or an edge. By simply applying Lemma 4, we see the next.
Every cactus is a PCG.
A special case of cacti (where each biconnected component is a cycle) was shown to be a subclass of PCG . However, by using Lemma 4, we can greatly simplify the proofs . Furthermore, Lemma 4 can be used to construct PCGs of more complicated structures.
Twins. Since twins have similar structures, we are interested to know wether PCG remains close under the operation of adding a twin of a vertex. This problem has been considered by Calamoneri et al. . They found that this property holds for false twins and raised the case for true twins as an interesting open problem. We will answer their question by exploring the property of true twins.
For false twins, the following lemma has been proven . We show that this can be proven by using normalized PCR.
Let be a graph with false twins and . Then is a PCG if and only if is a PCG.
Proof. The only if part trivially follows from Lemma 1. We show the if part assuming that is a PCG. By Lemma 3, we know that there is a normalized PCR of . We replace the leaf edge in with a new leaf and a new inner vertex and three edges , and , setting their weights by and . Let denote the resulting edge-weighted tree. Since , is not an edge in the graph . For any other leaf , it holds ; and for any leaves , it holds . Therefore is a PCR of .
Lemma 6 can also be used to construct PCGs. Based on Lemma 4, we can construct large PCGs having cut-vertices. By using Lemma 6, we can increase the connectivity of PCGs. For example, for each cut-vertex in a PCG, we can add a false twin of it to the graph to get another PCG. Lemma 6 also implies the following result.
Every complete -partite graph is a PCG.
Note that for a complete -partite graph, if we iteratively delete a vertex in a pair of false twins as long as false twins exist, finally we will get a clique of vertices. It is trivial that a clique is a PCG. By Lemma 6, we know that any complete -partite graph is a PCG. In fact, complete -partite graphs contain many interesting graphs. For examples, is a -wheel, is an octahedron, is a -fan, is a -cone, is a circulate graph , and so on. Some of them have been shown to be PCGs by using different techniques in the literature.
Next, we consider true twins. In fact, the statement in Lemma 6 for true twins is no longer correct because there is an example of a non-PCG such that deleting a vertex in true twins results in a PCG.
The graph in Figure 3(a) has only seven vertices. This is a PCG since it has been proved that any graph with at most seven vertices is a PCG . The graph in Figure 3(b) is obtained from the graph by a copy of vertex so that and form true twins in . The graph has been shown to be a non-PCG .
We show that a non-PCG remains to be a non-PCG after removing one of three true twins.
Let be a graph with three true twins and , i.e., . Then is a PCG if and only if is a PCG.
Proof. The only if part trivially follows from Lemma 1. We show the if part assuming that is a PCG. Let be a PCR of , where . We will construct a PCR of .
Let be the middle point of the path between and in , i.e., is an inner vertex or an interior point on an edge such that .
We add to as a new leaf creating a new edge between and in to construct a tree with . We set the edge weight . If is an interior point on an edge in , then we subdivide into two edges and setting their weights so that and is still the middle point of the path between and in . For all other edges in , we set . Note that . To prove that is a PCR of , it suffices to prove that for each vertex , is equal to for or , which implies that if and only if . Recall that if and only if by assumption of .
Let , where we assume without loss of generality that , which means that the path between and passes through in , as illustrated in Figure 2(c). Hence holds, as required.
Lemma 8 implies that a PCG with true twins and can be augment to a larger PCG with any number of new vertices so that every two vertices and , form true twins.
In this paper, we have introduced some reduction rules on PCGs. By using these rules, we can find more subclasses of PCG and simplify some arguments in previous papers. Also the reduction rules can be used to find a class of non-PCGs by constructing lager non-PCGs from a given non-PCG in a similar way. All graphs with at most seven vertices are known to be PCGs, and a non-PCG with eight vertices has been found. To find all non-PCGs with vertices, the reduction rules can be used to eliminate graphs with false twins or cut-vertices from the class of simple graphs with vertices, because such graphs are reduced to graphs with at most seven vertics which are all PCGs. It is interesting to find more reduction rules on PCG.
-  T. Calamoneri, D. Frascaria, B. Sinaimeri, All graphs with at most seven vertices are pairwise compatibility graphs, The Computer Journal, 56(7) (2013) 882–886
-  T. Calamoneri, E. Montefusco, R. Petreschi, B. Sinaimeri, Exploring pairwise compatibility graphs, Theoret. Comput. Sci., 468 (2013) 23–36
-  T. Calamoneri, R. Petreschi, On pairwise compatibility graphs having Dilworth number two, Theoret. Comput. Sci., 524 (2014) 34–40
-  T. Calamoneri, R. Petreschi, On pairwise compatibility graphs having Dilworth number , Theoret. Comput. Sci., 547 (2014) 82–89
-  T. Calamoneri, R. Petreschi, B. Sinaimeri, On relaxing the constraints in pairwise compatibility graphs, in WALCOM: Algorithms and Computation, Md. S. Rahman and S.-i. Nakano, eds., LNCS 7157, Springer, Berlin, Heidelberg, 2012, 124–135
-  T. Calamoneri, R. Petreschi, B. Sinaimeri, On the pairwise compatibility property of some superclasses of threshold graphs, Discrete Math. Algorithms Appl., 5(2) (2013), article 360002
-  T. Calamoneri, B. Sinaimeri, Pairwise compatibility graphs: A survey, SIAM Review 58(3)(2016) 445–460
-  S. Durocher, D. Mondal, Md. S. Rahman, On graphs that are not PCGs, Theoret. Comput. Sci., 571 (2015) 78–87
-  Md. I. Hossain, S. A. Salma, Md. S. Rahman, D. Mondal: A necessary condition and a sufficient condition for pairwise compatibility graphs, J. Graph Algorithms Appl. 21(3) (2017) 341–352
-  S. Mehnaz, Md. S. Rahman, Pairwise compatibility graphs revisited, in Proceedings of the 2013 International Conference on Informatics, Electronics Vision (ICIEV), 2013, 1–6
-  P. E. Kearney, J. I. Munro, D. Phillips, Efficient generation of uniform samples from phylogenetic trees, in: Algorithms in Bioinformatics, G. Benson and R. Page, eds., LNCS 2812, Springer, Berlin, Heidelberg, 2003, 177–189
-  S. A. Salma, Md. S. Rahman, Md. I. Hossain, Triangle-free outerplanar 3-graphs are pairwise compatibility graphs, J. Graph Algorithms Appl., 17 (2013) 81–102
-  N. M. Yanhaona, M. S. Bayzid, M. S. Rahman, Discovering pairwise compatibility graphs. J. Appl. Math. Comput., 30 (2010) 479–503
-  M. N. Yanhaona, K. S. M. T. Hossain, Md. S. Rahman, Pairwise compatibility graphs, J. Appl. Math. Comput., 30 (2009) 479–503