Linear-time algorithms for counting independent sets in bipartite permutation graphs

https://doi.org/10.1016/j.ipl.2017.02.002Get rights and content

Highlights

  • We propose a linear-time algorithm for counting independent sets in a bipartite permutation graph.

  • We propose a linear-time algorithm for counting maximal independent sets in a bipartite permutation graph.

  • We propose a linear-time algorithm for counting independent perfect dominating sets in a bipartite permutation graph.

Abstract

The counting of independent sets in bipartite graphs is a #P-complete problem but counting those in permutation graphs is a problem that can be solved in polynomial-time. This paper develops some linear-time algorithms for counting independent sets, maximal independent sets, and independent perfect dominating sets in the class of bipartite permutation graphs, which is the intersection class between permutation and bipartite graphs.

Introduction

Let G=(V,E) be a graph with set of vertices V and set of edges E. An independent set (abbr. IS) in a graph G is a subset D of V such that no two vertices of D are adjacent. The maximal independent set (abbr. MIS) in a graph is an IS that is not a subset of any other IS in the graph. A dominating set in a graph G is a subset D of V such that every vertex that is not in D is adjacent to at least one vertex in D. An independent dominating set in G is a set of vertices of G that is both independent and dominating in G. Since every dominating set that is independent must be maximal independent, independent dominating sets are identically maximal independent sets. An independent dominating set D is an independent perfect dominating set (abbr. IPDS) if every vertex that is not in D is adjacent to exactly one vertex in D. Let IS(G), MIS(G), and IPDS(G) be the sets of all ISs, MISs, and IPDSs in G, respectively. Then, the inclusions IPDS(G)MIS(G)IS(G) hold by definitions.

This paper studies problems that are associated with the numbers of ISs in a graph. Provan and Ball [1] proved that counting ISs is #P-complete for general graphs and remains so even for bipartite graphs. A #P problem is defined as the counting of all solutions to a given problem in NP, and the class of #P-complete problems includes the hardest problems in #P [2]. As is widely known, all exact algorithms for solving #P-complete problems have exponential time complexity, and so efficient exact algorithms for this class of problems are unlikely to exist unless P = NP. As a consequence, efficient exact algorithms can only be found for some restricted classes of graphs. The complexities of counting ISs, MISs, and IPDSs have been widely investigated on various classes of perfect graphs such as interval graphs [3], chordal graphs [4], [5], tree convex bipartite graphs [5] and tolerance graphs [6], and these complexities are shown in Fig. 1.

This paper concerns the class of bipartite permutation graphs, which is the intersection class between permutation and bipartite graphs and was previously investigated by Spinrad et al. [7]. Studies of this class are motivated by the fact that many graph problems are efficiently solved on graphs of this class. For example, algorithms for solving the edge domination problem [8], [9], the clique-width problem [10], the longest path problem [11] and the bandwidth problem [12] have been developed. Bipartite permutation graphs are useful for characterizing various mathematical objects; for example, Colley et al. [13] showed that visibility graphs of towers are bipartite permutation graphs with an added Hamiltonian cycle.

This paper provides fast and simple algorithms for counting ISs, MISs, and IPDSs in bipartite permutation graphs. All of these algorithms have a time complexity of O(|V|), where |V| is the number of vertices in the bipartite permutation graph.

Section snippets

Preliminaries

This section presents the preliminaries on which the desired algorithms depend. For a graph G=(V,E), let NG(v)={u|(u,v)E} represent the neighborhood of a vertex v in G and NG[v]={v}NG(v) represent the closed neighborhood of a vertex v in G. For vV and VV, let Gv represent the subgraph of G that is induced by the vertices of V\{v} and let GV represent the subgraph of G that is induced by the vertices of V\V.

A graph G=(V,E) with V={v1,v2,,vn} is a permutation graph if there exists a

Counting independent sets in a bipartite permutation graph

Lemma 1, Lemma 2 present dynamic programming formulations for computing the number of independent sets in a bipartite permutation graph.

Lemma 1

|IS(G(x1))|=1 and for 2in,|IS(G(xi))|=2×|IS(G(xi1))|+yΔ(xi1)|IS(G(y))|.

Proof

For any vertex v of G, each independent set D of G either contains v (in which case D\{v} is an independent set in GNG[v]) or does not contain v (in which case D is also an independent set in Gv). Therefore, Eq. (1) holds.|IS(G)|=|IS(Gv)|+|IS(GNG[v])|. Let yk be the largest vertex

Counting maximal independent sets in a bipartite permutation graph

Lemma 3, Lemma 4 present dynamic programming formulations for computing the number of maximal independent sets in a bipartite permutation graph.

Lemma 3

Let yk be the largest vertex in Δ(xi1) and |MIS(G(x0))|=1. For 1in,|MIS(G(xi))|={|MIS(G(xi1))|if Δ(xi1)=,|MIS(G(yk))|if Δ(xi1) and (xi1,yk)E,|MIS(G(xi1))|+|MIS(G(yk))|if Δ(xi1) and (xi1,yk)E.

Proof

The following three cases are considered.

Case 1: Δ(xi1)=. Since Δ(xi1)=, no vertex of Y is adjacent to xi1 in G(xi). Thus, vertex xi1 is

Counting independent perfect dominating sets in a bipartite permutation graph

Notably, an IPDS is always an MIS, but not vice versa. Lemma 5 provides an easy way to determine whether an MIS of a bipartite permutation graph is an IPDS.

Lemma 5

Let D be a subset of vertices of the bipartite permutation graph G=(X,Y,E), DX={x0v1<v2<<vsxn+1} and DY={y0u1<u2<<ut}. Then, D is an IPDS of G if and only if D is an MIS of G with NG(vi1)NG(vi)= for 2is and NG(uj1)NG(uj)= for 2jt.

Proof

(If part) Assume D is an MIS of G with NG(vi1)NG(vi)= for 2is and NG(ui1)NG(ui)= for 2j

Concluding remarks

This paper proposes simple and fast algorithms for counting (1) the independent sets, (2) the maximal independent sets, and (3) the independent perfect dominating sets in a bipartite permutation graph. All of these algorithms can be implemented in O(|V|) time, where |V| is the number of vertices in the bipartite permutation graph.

Acknowledgement

The authors would like to thank the Ministry of Science and Technology of Taiwan, for financially supporting this research under Contract No. MOST 104-2221-E-027-018.

References (13)

There are more references available in the full text version of this article.

Cited by (5)

  • Counting independent sets in cocomparability graphs

    2019, Information Processing Letters
    Citation Excerpt :

    The result of [11] for counting independent sets in bipartite permutation graphs is a special case.

  • Computing the numbers of independent sets and matchings of all sizes for graphs with bounded treewidth

    2018, Applied Mathematics and Computation
    Citation Excerpt :

    Okamoto et al. [27] provided a linear-time algorithm to compute the total number of independent sets for chordal graphs. Lin and Chen provided two algorithms to compute the total number of independent sets for some subclasses of the class of bipartite graphs [21,22]. Zhang et al. [37] presented a linear-time algorithm to compute the total number of matchings for trees.

View full text