Let be an undirected graph with vertices in its vertex set and edges in its edge set . A graph is strongly chordal if it is chordal and every even cycle of length 6 or more has a strong chord. Since the strongly chordal graphs are a subclass of the chordal graph, among many definitions of a strongly chordal graph this has a more intuitive connection with the parent class of chordal graphs, which have no induced cycle of size greater than 3. There are several NP-complete problems such as INDEPENDENT SET, CLIQUE, COLORING, CLIQUE COVER, DOMINATING SET, and STEINER TREE etc. can be solved efficiently for strongly chordal graphs. For example, the -tuple domination problem in strongly chordal graph can be solved in linear-time if a strong ordering is provided . For testing purposes, we often need to generate instances of strongly chordal graphs. While there are algorithms to recognize strongly chordal graphs, we did not find any that can generate these. In this paper we address this issue.
The following section introduces some notations and definitions. In section 3, we review an algorithm due to  for generating chordal graphs. In section 4 we list some of the characterizations of strongly chordal graphs and in section 5 we present our algorithm for the generation of strongly chordal graphs, establish its correctness and analyze its time complexity. Finally, section LABEL:conclusion ends with some concluding remarks and open problems.
A path in is a sequence of vertices , where for , is an edge of . A cycle is a closed path. The size of a cycle is the number of edges in it. A subset of is a clique if the induced subgraph is complete.
A chord of a cycle is an edge joining two non-consecutive vertices. For instance, in Figure 1(a), the edge between and is a chord. A graph is said to be chordal if it has no chordless cycles of size or more. For example, both the graphs in Figure 1 are chordal.
A graph is strongly chordal if it is chordal and every even cycle of length or more has a strong chord. Figure 1 shows an example of a chordal graph and a strongly chordal graph. The graph in Figure 1(a) is chordal but not strongly chordal because there is no strong chord (in the literature this graph is known as the Hajos graph). On the other hand, the graph in Figure 1(b) is strongly chordal with (shown in green) as a strong chord.
Let denote the neighborhood of a vertex . The closed neighborhood of a vertex , denoted by is . The degree of a vertex is .
Let be a chordal graph. A vertex is said to be simplicial if is a clique in . A simplicial (perfect elimination) ordering of the vertices of is a map such that is simplicial in the induced graph on the vertex set . A graph is chordal if and only if there exists a perfect elimination ordering of its vertices. Thus , , , , is a perfect elimination ordering of the vertices of the chordal graphs shown in Figure 1.
We have analogous definitions for a strongly chordal graph . A vertex of is said to be simple if the sets in can be linearly ordered by inclusion. An alternate definition is this. Vertices and of are said to be compatible if or . Then a vertex is simple if the vertices in are pairwise compatible. None of the vertices of the graph in Figure 1(a) is simple. Thus is not simple as the vertices and in are not pairwise compatible.
A strong elimination ordering of a graph is an ordering of such that the following condition holds: for each , , , and , if , and , and , then . Thus a graph is strongly chordal if it admits a strong elimination ordering, which is a generalization of the notion of perfect elimination ordering used to define chordal graphs. Since the graph shown in Figure 1(a) is not a strongly chordal graph, there is no strong elimination ordering available. On the oher hand, , , , , is a strong elimination ordering of the vertices of the graph shown in Figure 1(b).
For non-adjacent vertices and , a proper subset of is an separator if and lie in separate components of . It is a minimal separator if no proper subset of is an separator. is a separator in if there exists vertices and in that separates.
3 Generation of chordal graphs
In , Markenzon et al. proposed two methods for the generation of chordal graphs. The first method adds edges incrementally, while maintaining chordality. The method is simple, dispensing with the need for any auxiliary data structure. The second method adds vertices incrementally, while maintaining a perfect elimination ordering of the vertices and also a clique-tree representation of the graph. The first method generates sparse graphs, while the second one generates dense ones.
We discuss the details of the first method. It makes crucial use of the following theorem.
Let be a connected chordal graph and non-adjacent vertices of . The augmented graph is chordal if and only if is not connected where .
The number of vertices, , and the number of edges, , are the two inputs to this method. This method starts with the generation of a tree with the given number of vertices . During the generation of a tree, in every iteration either a new edge is inserted or an edge split into two edges, until the number of tree edges equals . After the tree generation phase, more edges are added. The algorithm adds a new edge, provided chordality is preserved.
After the generation of a chordal graph, a perfect elimination ordering for this graph is computed based on the algorithm, named LEX-BFS proposed in  by Rose et. al. The LEX-BFS algorithm is given below:
This perfect elimination ordering is used in the generation of strongly chordal graphs. After applying algorithm 3, the chordal graphs turns into strongly chordal graphs and the perfect elimination ordering also turns into a strong elimination ordering.
4 Characterizations of Strongly Chordal Graphs
Many different characterizations of strongly chordal graphs are extant in the literature. To make the paper self-contained, we state those that are relevant to the problem at hand. Interestingly enough, for each chracterization of a chordal graph there seems to be a corresponding characterization of a strongly chordal graph. To drive home this, we have stated the first three characterizations of strongly chordal graphs along with their chordal counterpart.
The first characterization is based on elimination ordering.
A graph is chordal if and only if it admits a perfect elimination ordering.
A graph is strongly chordal if it admits a strong elimination ordering.
The second is based on the type of a vertex.
A graph is chordal if and only if every induced subgraph has a simplicial vertex.
A graph is strongly chordal if and only if every induced subgraph of has a simple vertex.
The third pair is based on the absence of induced chordless cycles.
A graph is chordal if and only if every cycle of length greater than has an induced -chord triangle.
A graph is strongly chordal if and only if it has no chordless cycle on four vertices and every cycle on at least five vertices has an induced -chord triangle.
The next pair characterizations are based on totally balanced matrices for strongly chordal graphs only. The first characterization stated in theorem 4.7 is based on the neighborhood matrix of and the second characterization stated in theorem 4.8 is based on the clique matrix of .
The graph is strongly chordal if and only if is totally balanced.
The graph is strongly chordal if and only if is totally balanced.
The last characterization of a strongly chordal graph is this:
A graph is strongly chordal if and only if it is chordal and every even cycle of length at least in has a strong chord.
5 Algorithm for Generating Strongly Chordal Graphs
This section describes an algorithm for generating strongly chordal graphs. This algorithm takes the number of vertices, , and the number of edges, , as input. Based on this input, a chordal graph is generated using the incremental method described in section 3. Next, the chordal graph is passed as an input to the algorithm 3 for generating a strongly chordal graph by introducing some additional edges, if needed. The algorithm is based on one of the characterizations by Farber , which we have mentioned in theorem 4.7. For convenience, we restate it here:
 The graph is strongly chordal if and only if is totally balanced.
where refers to the neighborhood matrix of a graph on the vertices whose entry is if and is otherwise. The ordering of the vertices of a graph is a strong elimination ordering if and only if the matrix
is not a submatrix of the neighborhood matrix, . Algorithm 3 searches for the occurrences of
in , adding new edges to the graph
whenever the 0 entry of a -matrix is changed to a 1. The iteration continues until there is no submatrix in . After applying algorithm 3, the chordal graph turns into a strongly chordal graph and also the perfect elimination ordering turns into a strong elimination ordering.
For testing purposes, at the end of this process, a recognition algorithm 4 due to Farber  is applied to verify that the graph generated by the algorithm 3 is strongly chordal. When this algorithm terminates successfully it also generates a strong elimination ordering. A formal description of the recognition algorithm is given below:
Figure 2(a) shows an example of a chordal graph and the strongly chordal graph generated by the above algorithm from this chordal graph. The graph shown in Figure 2(a) is chordal but not strongly chordal as there is no strong chord (no edge and ) in the six cycle , , , , and , , , , . Also from the neighborhood matrix it can be seen that there two submatrices exist. According to the algorithm 3, by change those entires from to , the submatrix will not exist anymore in the or equivalently, by introducing two new edges and . Now the graph also has strong chords in the six cycles , , , , and , , , , . The resulting graph is now strongly chordal and the perfect elimination ordering , , , , , turns into strong elimination ordering.
Figure 3(a) shows another example of a chordal graph and the perfect elimination ordering is , , , , , , . The graph is also strongly chordal because there are no submatrices in the neighborhood matrix.
Algorithm 3 generates a strongly chordal graph, along with a strong elimination ordering.
We know the ordering of the vertices of a graph is a strong elimination ordering if and only if the matrix
is not a submatrix of the neighborhood matrix, and the algorithm makes sure that no such submatrices are present in . Thus the resulting graph is a strongly chordal graph.
A tree with edges is created for the given number of vertices , as such a graph is chordal. Then an additional edges are added, manintaining chordality. The time complexity of this phase is . LEX-BFS is a linear time algorithm on the given number of vertices and edges. Algorithm 3 takes time for finding the submatrices and insertion of edges. After finding all such submatrices in one round and inserting edges, the algorithm makes further rounds until there is no such submatrix present in . In the worst case, the initial graph is changed into a complete graph, which is strongly chordal. Thus the number of rounds is bounded above by and the comlexity of the entire algorithm is in .
We proposed an algorithm to generate strongly chordal graphs on vertices and edges as input. We could skip the intermediate phase of generating chordal graphs and generate strongly chordal graphs directly from trees as these are chordal. However, this does not allow us to add new edges in the tree because a tree is also strongly chordal and there is no submatrix present in the neighborhood matrix of a tree. Hence we get very sparse strongly chordal graphs, identical with the input trees. Figure 4(a) shows an example of a tree (also strongly chordal graph) and the perfect elimination ordering is , , , . The neighborhood matrix is given in Figure 4(b) from which we can see that there is no submatrix present. An interesting open problem is to generate strongly chordal graphs ab initio, skipping the intermediate phase of generating chordal graphs. This might possibly lead to a more efficient algorithm than proposed in this paper.
-  Gerard J. Chang and George L. Nemhauser. The k-domination and k-stability problems on sun-free chordal graphs. SIAM Journal on Algebraic Discrete Methods, 5(3):332–345, 1984.
-  Elias Dahlhaus, Paul D. Manuel, and Mirka Miller. A characterization of strongly chordal graphs. Discrete Mathematics, 187(1-3):269–271, 1998.
-  Martin Farber. Characterizations of strongly chordal graphs. Discrete Mathematics, 43(2-3):173–189, 1983.
-  Chung-Shou Liao and Gerard J. Chang. k-tuple domination in graphs. Inf. Process. Lett., 87(1):45–50, 2003.
-  Lilian Markenzon, Oswaldo Vernet, and Luiz Henrique Araujo. Two methods for the generation of chordal graphs. Annals OR, 157(1):47–60, 2008.
-  Donald J Rose. Triangulated graphs and the elimination process. Journal of Mathematical Analysis and Applications, 32(3):597 – 609, 1970.
-  Donald J. Rose, Robert Endre Tarjan, and George S. Lueker. Algorithmic aspects of vertex elimination on graphs. SIAM Journal on Computing, 5(2):266–283, 1976.