THE MAXIMUM INDUCED

PROBLEM FOR SOME SUBCLASSES

OF WEAKLY CHORDAL

GRAPHS

Thesis Submitted to

The College of Arts and Science of the UNIVERSITY OF DAYTON

in Partial Fulfillment of the Requirements for The Degree

Master of Computer Science by

Chandra Mohan Krishnamurthy UNIVERSITY OF DAYTON

Dayton, Ohio December, 2009 THE MAXIMUM INDUCED MATCHING PROBLEM FOR SOME SUBCLASSES OF WEAKLY CHORDAL GRAPHS

APPROVED BY:

Barbara A. Smith, Ph.D. Dale Courte, Ph.D. Committee Member Committee Member Associate Professor, Chair and Associate Professor, Department of Computer Science Department of Computer Science

R. Sritharan, Ph.D. Advisor Associate Professor, Department of Computer Science

ii c Copyright by

Chandra Mohan Krishnamurthy All rights reserved

2009 ABSTRACT

THE MAXIMUM INDUCED MATCHING PROBLEM FOR SOME SUBCLASSES OF WEAKLY CHORDAL GRAPHS

Name: Krishnamurthy, Chandra Mohan University of Dayton Advisor: Dr. R. Sritharan

An induced matching in a graph is a set of edges such that no two edges in the set are joined by any third edge of the graph. An induced matching is maximum (MIM) if the number of edges in it is the largest among all possible induced matchings. It is known that finding the size of MIM in a graph is NP-hard even if the graph is bipartite. It is also known that the size of MIM in a or in a weakly chordal graph can be computed in polynomial time. Specifically, the size of MIM can be computed in linear time for a chordal graph and in O(m3) time for a weakly chordal graph. This work demonstrates some algorithms for the maximum induced matching problem with complexity better than O(m3) for some subclasses of weakly chordal graphs. In particular, we show that the maximum induced matching problem can be solved on hhd-free graphs in O(m2) time. Further, for two subclasses of hhd- free graphs, we show that the problem can be solved in better time than O(m2). The classes of graphs that we consider are either more general than chordal graphs or are a restriction of chordal bipartite graphs.

iii Dedicated to my parents...

Thank you Amma and Daddy. ACKNOWLEDGEMENTS

I owe my deepest gratitude to Dr. R. Sritharan, my advisor, for providing me the time and guidance throughout my graduate studies, and for directing this thesis and bringing it to its conclusion with patience and expertise. This thesis would not have been possible without his immense support.

It is a pleasure to thank the members of the thesis committee for their invaluable time and help. I would also like to thank the department of computer science and

Dr. James P. Buckley for the financial support during the summer term.

This thesis is dedicated to my parents who have always believed in me and stood by my side. Encouragement from my family and friends has been a great help towards the completion of this thesis. Further, I am indebted to my close friends for being by my side at all times. Thanks.

iv TABLE OF CONTENTS

CHAPTER

I INTRODUCTION 1

Definitionandnotation...... 1 BackgroundandMotivation ...... 2

II HHD-FREE GRAPHS 8

IntroductionandMotivation...... 8 Theorem...... 8

Implications...... 22

III A SUBCLASS OF CHORDAL BIPARTITE GRAPHS 24 Introduction...... 24 Doublylexicalordering...... 24

Perfect ordering of G∗ ...... 25

h is in region A (Re = Rh)...... 30

h is in region E (Re = Rh)...... 30

h is in region C (Ce = Ch)...... 30 h isinregionB ...... 31 h isinregionD ...... 33 Greedy coloring algorithm for G∗ ...... 45

v Correctnessofalgorithm2 ...... 47

Case1...... 47 Case2...... 57

IV A SUBCLASS OF HHD-FREE GRAPHS 64 Forbiddenconfiguration ...... 65

Perfect ordering of G∗ ...... 66 Case 1: b = d < f...... 68

Case 2: b

Case1...... 76 Case2...... 78

V SUMMARY AND CONCLUSIONS 80

Epilogue...... 80

BIBLIOGRAPHY 82

vi LIST OF FIGURES

I.1 hole,houseanddomino...... 2 I.2 Graph ...... 3 I.3 chordalandweaklychordalgraphs ...... 5

I.4 HHD-freegraphs ...... 6

II.1 house in G∗ ...... 9

II.2 Case1oflemmaII.0.2 ...... 10 II.3 Case2oflemmaII.0.2 ...... 11

II.4 Case2oflemmaII.0.2 ...... 11 II.5 Case3oflemmaII.0.2 ...... 12 II.6 Case3oflemmaII.0.2 ...... 12

II.7 Case3oflemmaII.0.2 ...... 13 II.8 Case3.1oflemmaII.0.2 ...... 14

II.9 Case3.2oflemmaII.0.2 ...... 15 II.10Case3.2oflemmaII.0.2 ...... 15 II.11Case3.2oflemmaII.0.2 ...... 16

II.12Case3.2oflemmaII.0.2 ...... 16 II.13Case3.2oflemmaII.0.2 ...... 17

II.14Case3.2oflemmaII.0.2 ...... 17 II.15 Domino in G∗ ...... 19

II.16 e2,e3,e4,e5 in G ...... 19

vii II.17Case1oflemmaII.0.3 ...... 20

II.18Case2oflemmaII.0.3 ...... 21 II.19Case4oflemmaII.0.3 ...... 21

III.1 Obstruction in M ...... 26

III.2 Obstruction in G∗ ...... 29

III.3 C4 with 3 pendents (F1 )...... 45

IV.1P...... 64

IV.2 F2 ...... 64 IV.3 Forbidden configuration in G ...... 65

IV.4Triple ...... 67 IV.5Anhhd-freegraph ...... 67

IV.6 Triple in G∗ ...... 68 IV.7 Order when g ischosen...... 69

IV.8 a, b, c and d in G...... 69 IV.9 Case 2: b = e ...... 71 IV.10 Case 2: a = e ...... 71

IV.11 Case 2.1: {a, b} ∩ {e, f} = ∅ and bf ∈ E ...... 72

viii CHAPTER I

INTRODUCTION

This chapter introduces and provides an overview of the work done in this thesis. The first section of this chapter contains some definitions and notation used and followed throughout this text. The next section provides the background for the chosen topic for this thesis. It also motivates the reasoning behind the choice of problem and techniques used to solve it. The last section provides an overview of the remaining chapters of the thesis.

Definition and notation

Finite set of vertices (V ) and finite set of edges (E) together form a graph, G =

(V,E). Two vertices x and y are said to be adjacent if xy ∈ E. The cardinality of the set E is referred to as m and the size of the set V is referred to as n. A subgraph H =(V ′,E′) of G =(V,E) is said to be an if for any pair of vertices

(x, y) such that x ∈ V ′ and y ∈ V ′, xy ∈ E′ if and only if xy ∈ E. Complement of a graph G is the graph G on the same vertices such that two vertices of G are

adjacent if and only if they are not adjacent in G. The neighborhood of a vertex v is the set of all vertices that are adjacent to v, it is denoted by N(v). A chordless path

is a sequence (v1v2...vk) of vertices such that every two consecutive vertices in the sequence are adjacent and no other pair of vertices are adjacent. A chordless path

1 2

with k vertices is denoted Pk. If the only other edge present in the sequence is v1vk then it is called an induced cycle. An induced cycle with k vertices is denoted by

Ck. An induced cycle of length ≥ 5 (Ck, k ≥ 5) is called a hole. Complement of an

on 5 vertices (P5) is called a house.A domino consists of 2 induced

cycles of length 4 which share exactly one edge. These graphs are illustrated in the Figure I.

e f f b a

e a c a d e b d

d b c c

Hole House Domino

Figure I.1: hole, house and domino

A clique is a set of vertices that induces a complete graph. Size of a clique is the number of vertices in it. The size of a largest clique in graph G is denoted

by ω(G). Chromatic number of G, denoted by χ(G), is the minimum number of colors needed to color vertices of G so that adjacent vertices do not receive the same color. An independent set of a graph is a set of pairwise nonadjacent vertices. An independent set is maximum if it is the largest among all independent sets. A 2K2 is the complement of a C4.

Background and Motivation

A matching in a graph is a set of edges such that no two of them share an

endpoint. An induced matching in a graph is a matching such that no two edges in 3

the matching are joined by any third edge of the graph; that is, an induced matching

is a matching which forms an induced subgraph. Sometimes an induced matching is also referred to as a strong matching. Consider the graph shown in the following Figure I.2.

f e c d

b

a

Figure I.2: Graph

Here, the set {ab, cf, de} is a matching but not an induced matching. On the other hand, The set {cf, de} is an induced matching.

The size of an induced matching is the number of edges in the induced matching. An induced matching is maximum if its size is the largest among all possible induced matchings. A largest matching in a graph can be computed in polynomial time [6]. In contrast, Cameron [3] and Stockmeyer and Vazirani [22] showed that finding a max- imum induced matching (MIM) is NP-hard even when the input graph is bipartite.

MIM problem refers to the problem of finding the size of a maximum induced match- ing in a graph. There is an immediate connection between the size of an induced matching and the irredundancy number of a graph [11]. On the practical side, the following is an application of induced matching for secure communication channels given by Golumbic and Lewenstein [11]. Consider a G = (X,Y,E). 4

Let X represent the broadcaster vertices and Y represent the receiver vertices. An edge represents the communication channel between a broadcaster vertex and a re- ceiver vertex. We want to select k edges ei(i = 1, ..., k) such that messages on channel i will be passed from a broadcaster in X to a receiver in Y such that it is impossible for a message broadcast on channel i to be leaked or intercepted. Similar applications exist for VLSI and network flow problems [11].

The MIM problem has been proved to be solvable in polynomial time for some restricted classes of graphs. The maximum induced matching problem was shown to be solvable in polynomial time for chordal graphs and for interval graphs by Cameron [3] and for circular-arc graphs by Golumbic and Laskar [10]. Fricke and Laskar[7] gave a linear time algorithm for induced matching problem in trees. A graph is chordal if each of its cycles on four or more vertices has a chord. In other words, it does not have any induced cycles of length ≥ 4. We omit the definitions of graph classes not directly relevant to this thesis. A graph is weakly chordal if neither the graph nor the complement of the graph has an induced cycle on five or more vertices. It is easily seen that every chordal graph is weakly chordal. A schematic is shown in Figure I.3.

It was shown in [4] that the induced matching problem on weakly chordal graphs can be solved in polynomial time (specifically, in O(m3) time where m is the number of edges in G). A common approach to solve the MIM problem on a graph G is by constructing an auxiliary graph called G∗. We review this first. To construct G∗ =(V ∗,E∗) :

1. ∀ e ∈ E add e to V ∗.

∗ 2. ∀ e1,e2 ∈ E add an edge e1e2 to E if e1 and e2 do not form a 2K2 in G. 5

Weakly chordal

Chordal

Figure I.3: chordal and weakly chordal graphs

∗ Therefore, vertices e1 and e2 are non-adjacent in G if and only if edges e1 and

e2 form a 2K2 in G. It is seen that an induced matching in G corresponds to an

independent set in G∗, and vice versa. Thus, by solving the maximum independent set problem on G∗ or the maximum clique problem on G∗ , we can solve the maximum induced matching problem on G. Note that construction of G∗ from G can be done in O(m2) time. It can also be observed that G∗ has m vertices and O(m2) edges. It was shown in [3] that if G is chordal, then G∗ is also chordal. It was shown in

[4] that if G is weakly chordal, then G∗ is also weakly chordal. A largest independent set in chordal graphs can be found in linear time [9]. Also, a largest independent set in weakly chordal graphs can be computed in O(n3) time [13]. In this work, we investigate whether the MIM problem can be solved in time better than O(m3) on a subclass of weakly chordal graphs that is more general than chordal graphs. An hhd − free graph is one which does not contain any hole, house, or a domino (Figure I) as an induced subgraph. It can be seen that all chordal graphs are hhd-free. Also, all hhd-free graphs are weakly chordal. The Figure I.4 shows the relationship between chordal, hhd-free, and weakly chordal graphs.

In chapter 2 of this thesis we show that if G is hhd-free, then G∗ is also hhd-free. It is known [15, 16] that the maximum independent set problem can be solved in linear 6

Weakly chordal

HHD− free

Chordal

Figure I.4: HHD-free graphs

time on an hhd-free graph. These facts combine to give us an O(m2) time algorithm to solve MIM problem on hhd-free graphs. We note that this is of better complexity than the current best known algorithm for MIM problem on weakly chordal graphs. The question is: can we improve the complexity even more ? In order to study this, we investigated an approach taken by Brandst¨adt and Ho´ang [2] who recently showed that the MIM problem on chordal graphs can be solved in linear time. The idea behind their algorithm is that it avoids the construction of G∗ and simulates the algorithm to find a largest independent set in G∗ on G itself. At this point, we review the ideas used to solve the largest independent set problem in hhd-free graphs. It is known that weakly chordal graphs are perfect. The class perfect graphs was first introduced by Claude Berge [12]. A graph is perfect if for every induced subgraph

H of G we have χ(H) = ω(H). In general, computing the χ(G) and ω(G) are NP- Hard [8]. But, for perfect graphs χ(G) and ω(G) can be computed in polynomial time [12]. One way to color a graph is to impose an ordering ≺ on its vertices and then step through the vertices in that order, assigning to each vertex the smallest color not used by any of its neighbors that precede it in the order. This algorithm is called greedy 7

coloring algorithm [14]. The coloring of graph G is said to be optimal if the number

of colors used is exactly equal to χ(G). An ordering ≺ of graph G where for each induced ordered subgraph (H,≺), the greedy algorithm gives an optimal coloring of H is called a perfect ordering. The graphs that admit a perfect ordering are called

perfectly orderable [14].It was shown in [5] that a graph is perfectly orderable if and

only if it admits an acyclic orientation such that no P4 abcd is oriented so that we

have a → b and d → c; a P4 oriented in such a way is called an obstruction. It is known that perfectly orderable graphs are perfect. It is also known [15] that when G

is hhd-free, G and G are perfectly orderable. Thus, a largest independent set in an hhd-free graph is computed by using a perfect order of the complement of the graph. In order to solve the MIM problem on a hhd-free graph G without constructing

G∗, one should be able to accomplish the following:

1. Compute a perfect order of G∗ without constructing G∗ or G∗.

2. Color G∗ without constructing G∗ or G∗.

In chapters 3 and 4 of this thesis we discuss how the above tasks can be accom- plished to solve the MIM problem on some special subclasses of hhd-free graphs in

O(m2) time. A chordal bipartite graph is a bipartite graph that does not contain any

Ck where k ≥ 6. Chapter 3 of this thesis deals with a restriction of chordal bipartite graphs and discusses an algorithm that solves in O(n3) time the MIM problem on such graphs. Chapter 4 of this thesis deals with a subclass of hhd-free graphs that is

more general than chordal graphs. We discuss an algorithm for MIM problem on this class of graphs that runs in O(mn) time; Subsequent to writing a draft of this thesis, the complexity of the algorithm was improved to linear time. The details appear in

the Epilogue. CHAPTER II

HHD-FREE GRAPHS

Introduction and Motivation

Recall that an hhd-free graph is one which does not contain any hole, house, or a domino as its induced subgraph. In this chapter, we show that if G is hhd-free, then G∗ is also hhd-free. Using this result, we later outline an algorithm that runs in

O(m2) time to solve the MIM problem in hhd-free graphs. This theorem is used in later chapters of this thesis to get algorithms with better complexity than O(m2) to solve the MIM problem on some subclasses of hhd-free graphs.

Theorem

Theorem II.0.1 If G is hhd-free, then G∗ is also hhd-free.

Proof : We will show that if G is hhd-free, then G∗ cannot contain a hole, house,

or a domino. In order to prove theorem II.0.1, we will prove the following facts

1. If G is hhd-free, then G∗ cannot contain a hole.

2. If G is hhd-free, then G∗ cannot contain a house.

3. If G is hhd-free, then G∗ cannot contain a domino.

8 9

e1

e2 e5

e3 e4

Figure II.1: house in G∗

An induced subgraph of G on the set {v1,v2, ..., vi} of vertices is denoted by

G[{v1,v2, ..., vi}]. e1,e2, ..., ei ∈ E means that e1 ∈ E, e2 ∈ E,.... , and ei ∈

E.e1,e2, ..., ei ∈/ E means that e1 ∈/ E, e2 ∈/ E,.... , and ei ∈/ E. In all the fig- ures in the proof an edge of G is represented by a solid line and a non-edge of G is represented by a dotted line.

Lemma II.0.1 If G is hhd-free, then G∗ cannot contain a hole.

Proof :

It was shown in [4] that if G has no induced cycles on at least k vertices, where k ≥ 4, then G∗ has no induced cycles on at least k vertices. This shows that if G∗ has a hole, then G must have an induced cycle on at least 5 or more vertices, i.e a hole. Therefore, if G is a hhd-free graph, then G∗ cannot contain a hole.

Lemma II.0.2 If G is hhd-free, then G∗ cannot contain a house.

Proof : Assume that G∗ has a house and G is hhd-free. Consider the house in G∗ as shown in the figure II.1.

Recall that each ei is an edge of G, e2 and e4 form a 2K2 in G and also e3 and e5 form a 2K2 in G. Therefore, if e2 and e3 share a vertex in G, then none of e4, e5 10

x2= x3 e2 e3 y2 y3

y5 y4 e5 e4

x4=x5

Figure II.2: Case 1 of lemma II.0.2 can share a vertex with any of e2, e3. Thus, with consideration for symmetry, we can divide the world into the following cases based on the interaction among the edges e2, e3, e4, and e5 in G.

• Case 1: e2 and e3 share a vertex in G and also e4 and e5 share a vertex in G.

• Case 2: e2 and e3 share a vertex in G and e4 and e5 do not share a vertex in G.

• Case 3: No two of e2, e3, e4, and e5 share a vertex in G.

Case 1: e2 and e3 share a vertex in G and also e4 and e5 share a vertex in G.

∗ • As e2 is not adjacent to e4 in G , we have y2y4, y2x4, x2y4, x2x4 ∈/ E.

∗ • As e3 is not adjacent to e5 in G , we have y3y5, y3x5, x3y5, x3x5 ∈/ E.

∗ • Therefore, as e2 is adjacent to e5 in G , we must have y2y5 ∈ E.

∗ • Similarly, as e3 is adjacent to e4 in G , we must have y3y4 ∈ E.

Now, the set {x2, y2, y5, x4, y4, y3} of vertices induces a hole in G contradicting our assumption that G is hhd-free. 11

x2= x3

y2 y3 e2 e3

y4 y5 e5 e4

x5 x4

Figure II.3: Case 2 of lemma II.0.2

x2= x3

y2 y3 e2 e3

y4 y5 e5 e4

x5 x4

Figure II.4: Case 2 of lemma II.0.2

Case 2: e2 and e3 share a vertex in G and e4 and e5 do not share a vertex in G.

∗ • As e2 is not adjacent to e4 in G , we have y2y4, y2x4, x2y4, x2x4 ∈/ E.

∗ • As e3 is not adjacent to e5 in G , we have y3y5, y3x5, x3y5, x3x5 ∈/ E.

∗ Since e2 is adjacent to e5, e5 is adjacent to e4, and e4 is adjacent to e3 in G , there

must be a path different from y2y3 between y2 and y3 in G[{y2, x5, y5, x4, y4, y3}]. Let the shortest of such paths be P .

1. As y2 and y3 do not have a common neighbor in {x4, y4, x5, y5}, the length of P

is greater than 2 and

2. (x2 = x3) is not adjacent to any vertex in P other than y2 and y3. 12

x2 x3

e2 e3 y3 y2

y4 y5 e5 e4

x5 x4

Figure II.5: Case 3 of lemma II.0.2

x2 x5 e2 e5 y2 y5

y3 y4

e3 e4

x3 x4 y3 y4

Figure II.6: Case 3 of lemma II.0.2

Therefore, V (P ) ∪ {x2, y2, y3} induces a hole or a house in G.

Case 3: No two of e2, e3, e4, and e5 share a vertex in G. Since e2 and e5 are adjacent in G∗, they must have at least one edge between them. Let this edge be x2x5 as shown in figure II.6.

∗ In G , e2 is adjacent to e3, e3 is adjacent to e4 and e4 is adjacent to e5. Therefore, there must be a path different from x2x5 between x2 and x5 in G such that the path contains at least one vertex of e3 and at least one vertex of e4. Let P be a shortest path of all such paths. e3 and e4 do not have any vertex in common. Hence, length of P must be greater than 2. It can be observed that G[V (P )] forms an induced cycle of size one more than the length of P else P would not be a shortest path. Therefore, if the length of P is greater than 3, then G[V (P )] is a hole. Hence, the length of P is 3 13

y2 y5 e5 e2 x2 x5

x3 x4

e4 e3

y3 y4

Figure II.7: Case 3 of lemma II.0.2

as well as the size of the induced cycle(say C) is 4. Further, C must contain at least one vertex of each edge in { e2, e3, e4, e5 } in G. No two edges of e2, e3, e4, and e5

share a vertex in G. Therefore, C must contain exactly one vertex of each edge in {

∗ e2, e3, e4, e5 }. Alternatively, it was shown in [4] that if G has an induced cycles on at least k vertices, where k ≥ 4, then there is an induced cycle on at least k vertices

in G, such that it contains at least one vertex of each edge in G that corresponds to a vertex of the cycle in G∗.

Therefore, without loss of generality, we can assume that x2x5x4x3 is a C4 in G and we have the configuration shown in figure II.7. Note that the edges shown in

figure II.7 must be present in G and the non-edges shown must be absent in G.

We divide into two subcases based on whether or not e1 and e2 share a vertex in G.

Case 3.1: e1 and e2 share a vertex: The shared vertex cannot be x2 as it will

∗ make e1 and e3 adjacent in G . Figure II.8 shows the placement of the edges in G.

Now, y1x5 ∈/ E or else G[{y1, x5, x4, x3, x2}] is a house.

Suppose x1 = y5. If x1x2 ∈/ E, then G[{x1, x5, x4, x3, x2, y1}] is a domino. If x1x2 ∈ E, then G[{y1, x5, x4, x3, x2}] is a house. Therefore, we can assume that 14

y5 y2=y1 x1

e5 e2 x2 x5

x3 x4 e4 e3

y3 y4

Figure II.8: Case 3.1 of lemma II.0.2 x1 =6 y5.

• x3y1, x4y1, x1x3, x1x4 ∈/ E as e1 is not adjacent to any of e3 and e4.

• Suppose, x1x5 ∈ E. If x1x2 ∈ E, then G[{x1, x5, x4, x3, x2}] is a house. If

x1x2 ∈/ E, then G[{x1, y1, x2, x3, x4, x5}] is a domino. Therefore, x1x5 ∈/ E.

• Suppose, x2y5 ∈ E.

– y5x4 ∈ E; otherwise, G[{y5, x5, x4, x3, x2}] is a house.

– y1y5 ∈/ E; otherwise, G[{y1, y5, x4, x3, x2}] is a house.

– Suppose, x1y5 ∈ E. If x1x2 ∈ E, then G[{x1, y5, x4, x3, x2}] is a house. If

x1x2 ∈/ E, then G[{x1, y5, x4, x3, x2, y1}] is a domino. Therefore, x1y5 ∈/ E.

∗ – Now, e1 and e5 form a 2K2 in G .

Therefore, x2y5 ∈/ E.

• y5x4 ∈/ E; otherwise, G[{y5, x5, x2, x3, x4}] is a house.

• y1y5 ∈/ E; otherwise, G[{y1, y5, x5, x4, x3, x2}] is a domino.

• x1y5 ∈/ E; otherwise, G[{y1, x1, y5, x5, x2}] is a hole. 15

y1 e1 x1 y5 y2

e5 e2 x2 x5

x3 x4 e3 e4

y3 y4

Figure II.9: Case 3.2 of lemma II.0.2

y1 e1 x1 y5 y2

e5 e2 x2 x5

x3 x4 e3 e4

y3 y4

Figure II.10: Case 3.2 of lemma II.0.2

• Now, e1 and e5 form a 2K2 in G.

Therefore, e1 and e2 cannot share a vertex in G.

Case 3.2: e1 and e2 do not share a vertex: Now if x1 = y5, then it is the same as the case 3.1 due to symmetry. Therefore, we can assume that x1 =6 y5.

∗ • x3y1, x4y1, x1x3, x1x4 ∈/ E as e1 is not adjacent to any of e3 and e4 in G .

• If y1x2 ∈ E, then we have the subgraph shown in figure II.10. Observe that if

y1x2 ∈ E or x1x2 ∈ E, then arguments from case 3.1 can be used. Therefore,

y1x2 ∈/ E and x1x2 ∈/ E.

• Suppose y1y2 ∈ E. 16

y1 e1 x1 y5 y2

e5 e2 x2 x5

x3 x4 e3 e4

y3 y4

Figure II.11: Case 3.2 of lemma II.0.2

y1 e1 x1 y5

e5 y2 x5

x3 x4 e3 e4

y3 y4

Figure II.12: Case 3.2 of lemma II.0.2

– we have the subgraph shown in figure II.11.

– Suppose y2x5 ∈ E.

∗ y2x3 ∈ E; otherwise, G[{y2, x5, x4, x3, x2}] is a house.

∗ y1x5 ∈/ E; otherwise, G[{y1, x5, x4, x3, y2}] is a house.

∗ x1x5 ∈/ E; otherwise, G[{y1, x1, x5, x4, x3, y2}] is a domino.

∗ Now consider the subgraph in figure II.12.

∗ Suppose y2y5 ∈ E.

· y5x4 ∈ E; otherwise, G[{y5, y2, x3, x4, x5}] is a house.

· Now consider figure II.13.

· y1y5 ∈/ E; otherwise, G[{y1, x5, x4, x3, y2}] is a house.

· x1y5 ∈/ E; otherwise, G[{y1, x1, y5, x4, x3, y2}] is a domino. 17

y1 e1 x1

y2 y5

x3 x4 e3 e4

y3 y4

Figure II.13: Case 3.2 of lemma II.0.2

y1 e1 x1 y5 y2

e5 e2 x2 x5

x3 x4 e3 e4

y3 y4

Figure II.14: Case 3.2 of lemma II.0.2

· Now, e1 and e5 form a 2K2 in G.

Therefore, y2y5 ∈/ E.

∗ Now, y5x4 ∈/ E; otherwise, G[{y2, x3, x4, y5, x5}] is a house.

∗ Now, y1y5 ∈/ E; otherwise, G[{y1, y5, x5, x4, x3, y2}] is a domino.

∗ x1y5 ∈/ E; otherwise, G[{y1, x1, y5, x5, y2}] is a hole or a house depend-

ing on whether or not y2x1 ∈ E.

∗ Now, e1 and e5 form a 2K2 in G.

Therefore, y2x5 ∈/ E

– Suppose x2y5 ∈ E.

∗ Consider figure II.14.

∗ x4y5 ∈ E; otherwise, G[{y2, y5, x4, x3, x2}] is a house. 18

∗ y2y5 ∈/ E; otherwise, G[{y2, y5, x4, x3, y2}] is a house.

∗ y1y5 ∈/ E; otherwise, G[{y2, y1, x5, x4, x3, x2}] is a domino.

∗ x1x5 ∈/ E; otherwise, G[{y2, y1, x1, x5, x2}] is a house or a hole based

on whether or not y2x1 ∈ E.

∗ x1y5 ∈/ E; otherwise, G[{y2, y1, x1, y5, x5, x2}] is a hole.

∗ Now, e1 and e5 form a 2K2 in G.

Therefore, x2y5 ∈/ E.

– x4y5 ∈/ E; otherwise, G[{y2, y5, x4, x3, x2}] is a house.

– y1x5 ∈/ E; otherwise, G[{y1, x5, x4, x3, x2, y2}] is a domino.

– y2y5 ∈/ E; otherwise, G[{y2, y5, x5, x4x3, x2}] is a domino.

– y1y5 ∈/ E; otherwise, G[{y1, y5, x5, x2, y2}] is a hole.

– x1x5 ∈/ E; otherwise, G[{y1, x1, x5, x2, y2}] is a hole or house based on

whether or not y2x1 ∈ E.

– x1y5 ∈/ E; otherwise, G[{y1, x1, y5, x5, x2, y2}] is a hole.

– Now, e1 and e5 form a 2K2 in G.

Therefore, y1y2 ∈/ E.

• Due to symmetry, if x1y2 ∈ E, then a similar argument holds . Therefore,

x1y2 ∈/ E.

• Now, e1 and e2 form a 2K2 in G.

This concludes case 3.

Thus, if G is hhd-free, then G∗ cannot contain a house. 2 19

e1 e6

e2 e5

e3 e4

Figure II.15: Domino in G∗

y2 y5 e5 e2 x2 x5

x3 x4

e4 e3

y3 y4

Figure II.16: e2,e3,e4,e5 in G

Lemma II.0.3 If G is hhd-free, then G∗ cannot contain a domino.

Proof : Assume G∗ has a domino and G is hhd-free. Consider the domino in G∗ as shown in the figure II.15.

As discussed in the proof of lemma II.0.2, no two of the edges e2, e3, e4, and e5 share an end point and there is a C4 in G that contains exactly one vertex of each of e2, e3, e4, and e5. Similarly, no two of the edges e1, e2, e5, and e6 share an end point

and there is a C4 in G that contains exactly one vertex of each of e1, e2, e5, and e6.

Assume that the edges e2, e3, e4, and e5 are configured in G as shown in Figure II.16.

Clearly, none of e1 and e6 can:

1. be an edge in Figure II.16. 20

y1 y6 e1 e6 x1 x6

e2 e5 x2 x5 y2 y5

x3 x4

e4 y3 e3 y4

y3 y4

Figure II.17: Case 1 of lemma II.0.3

2. share an end point with any edge in Figure II.16.

As noted earlier, there is a C4 in G that contains exactly one vertex of each of e1, e2, e5, and e6. Assume x1 and x6 are on this C4 corresponding to e1 and e6. We divide the world into four cases based on the other two vertices present on this C4.

Case 1: x2 and x5 are on the C4.

The edges e1, e2, e3, e4, e5, and e6 are as shown in Figure II.17. Due to the

∗ adjacencies of e1, e2, e3, e4, e5, and e6 in G , x1x3, x1x4, x3x6, x4x6 ∈/ E. Clearly,

G[{x1, x2, x3, x4, x5, x6}] is a domino. This concludes Case 1.

Case 2: x2 and y5 are on the C4.

The edges e1, e2, e3, e4, e5, and e6 are as shown in Figure II.18. If x5x6 ∈ E, then it is the same as case 1. Hence, assume x5x6 ∈/ E. x5x1 ∈/ E as e1 and e5 form a 2K2 in G. Now, G[{x1, x2, x5, y5, x6}] is a house. This concludes Case 2. 21

y1 y6 e1 e6 x1 x6

y5

e5 e2 x5 y2 x2

e3 e4 y3 x3 x4 y4

Figure II.18: Case 2 of lemma II.0.3

y1 y6 e1 e6 x1 x6

y2 y5 e2 e5

x2 x5

e3 e4 y3 x3 x4 y4

Figure II.19: Case 4 of lemma II.0.3

Case 3: y2 and x5 are on the C4.

Due to symmetry, this is the same as case 2.

Case 4: y2 and y5 are on the C4.

The edges e1, e2, e3, e4, e5, and e6 are as shown in Figure II.19. If x1x2 ∈ E and

x6x5 ∈ E, then argument in case 1 applies. Suppose, exactly one of x1x2 and x6x5 is in

E. Without loss of generality, assume x1x2 ∈ E and x6x5 ∈/ E. x2y5 ∈/ E, otherwise, 22

argument in case 2 applies. Now, G[{x1, x2, x5, y5, x6}] is a hole. Therefore, x1x2 ∈/ E and x6x5 ∈/ E. y2x5 ∈/ E, otherwise, G[{x1, y2, x5, y5, x6}] is a house. Symmetrically, x2y5 ∈/ E. Now, G[{x1, y2, x2, x5, y5, x6}] is a domino. This concludes case 4. Therefore, if G is hhd-free, then G∗ cannot contain a domino. 2

Proof for theorem II.0.1.

1. By lemma II.0.1 if G is hhd-free, then G∗ cannot contain a hole.

2. By lemma II.0.2 if G is hhd-free, then G∗ cannot contain a house.

3. By lemma II.0.3 if G is hhd-free, then G∗ cannot contain a domino.

Therefore, If G is hhd-free, then G∗ is also hhd-free. 2

Implications

The size of a largest independent set of an hhd-free graph can be computed in linear time [15, 16]. Using this fact and the Theorem II.0.1, we can observe that the Algorithm 1 solves the MIM problem on an hhd-free graph G.

Algorithm 1 to solve the MIM problem on an hhd-free graph. Input: An hhd-free graph G. Output: Size of the maximum induced matching in G. Begin Step 1. Construct G∗ from G. Step 2. Compute the size of a largest independent set in G∗. End

Note that the construction of G∗ takes O(m2) time. We use the algorithm shown in [15, 16] to find the size of a largest independent set in G∗. Recall from the definition of G∗ that it has m vertices and O(m2) edges. Hence, the cost of step 2 is O(m+m2)= O(m2). Therefore, Algorithm 1 runs in O(m2) time. 23

Theorem II.0.2 If G is hhd-free, then the MIM problem can be solved in O(m2) time. CHAPTER III

A SUBCLASS OF CHORDAL BIPARTITE

GRAPHS

Introduction

A chordal bipartite graph is a bipartite graph that does not contain any Ck where k ≥ 6. Therefore, chordal bipartite graphs are hole-free and house-free. But a domino is a chordal bipartite graph. In this chapter, we discuss how the MIM problem can be solved for chordal bipartite graphs with some restrictions in O(n3) time. V.V. Lozin in [17] provides an algorithm that runs in O(n3) time to solve the MIM problem on some restriction of bipartite graphs. But the class of graphs dealt with in [17] is incomparable to the class of graphs dealt with in this chapter.

Doubly lexical ordering

If G is bipartite then the vertices of G can be colored using 2 colors. An adjacency matrix can be written considering vertices of one color as the rows and other vertices as columns. Such an adjacency matrix is called a bipartite adjacency matrix. Each row (or column) can be considered as binary representation of a number with the right-most (or bottom-most) entry as the most significant bit. A bipartite adjacency matrix is said to be in doubly lexical order if all the columns are in non-decreasing

24 25

order from left to right, and all rows are in non-decreasing order from top to bottom.

A. Lubiw [20] showed that a doubly lexical ordering of the bipartite adjacency matrix of a chordal bipartite graph is Γ-free (i.e., contains no Γ). A Γ in a matrix M is the following submatrix of M,

 1 1       1 0 

R. Paige and R.E. Tarjan [21] showed that a doubly lexical ordering of a bipartite adjacency matrix can be computed in O(mlogn) time, where m is the number of 1 entries (or edges in the graph). J. Spinrad [19] showed that such an ordering can be computed in O(n2) time which is faster on dense graphs.

Perfect ordering of G∗

Let M be the bipartite adjacency matrix of G, where G is a chordal bipartite

∗ graph. Every edge in G forms a 2K2 in G. In M, the configuration of each 2K2 of

G is either

 1 0       0 1 

or

 0 1       1 0 

∗ Recall that each 1 entry in M is an edge in G and a vertex in G . Let Rx and Cx 26

be the row number and column number of a 1 entry x in M. Consider an ordering

(<∗) of the 1 entries of M (or the vertices of G∗ ) such that, x <∗ y provided

1. Rx < Ry, or

2. Rx = Ry but Cx

Consider, one such M corresponding to a chordal bipartite graph.

 0 0 1a 0 0     ′   1b 1b 0 0 1         1d 1 1 01         0 0 0 11         0 0 11c 1         0 1 1 11 

Clearly, M is in doubly lexical order and M does not contain any Γ. Now, orienting every edge xy in G∗ where x<∗ y as x → y results in an obstruction shown in Figure

III.1.

a d

b c

Figure III.1: Obstruction in M

The above example [1] shows that if G is a chordal bipartite graph, then <∗ may not be a perfect ordering of G∗ . But, it can be seen that G contains a domino marked by the ∗ in the matrix below. 27

 0 0 1a 0 0     ′   1b 1b∗ 0 0∗ 1∗         1d 1 1 0 1         0001 1         0 0∗ 1 1c∗ 1∗         0 1∗ 1 1∗ 1∗ 

Therefore, we investigated whether <∗ gives a perfect ordering of G∗ when G is a chordal bipartite graph that does not contain a domino. Throughout the thesis we refer to a chordal bipartite graph which does not contain a domino as CBPD graph. A CBPD graph does not contain any hole, house, or a domino. Hence, a CBPD graph is also a n hhd-free graph.

Now, consider the following bipartite adjacency matrix M1.

 0 0 0 a       0 b 0 0         c 1 0 1         0 0 d 1 

Clearly, M1 corresponds to a graph which is CBPD and M1 is Γ-free but not a doubly lexical ordering. M1 also contains an obstruction shown in Figure III.1. Thus, it is necessary that the bipartite adjacency matrix of a CBPD graph is in doubly lexical order for <∗ to be a perfect ordering of G∗ .

Note that a CBPD graph does that contain any hole, house, or domino, i.e., a 28

CBPD graph is also a hhd-free graph. Hence, from Theorem II.0.1 it follows that if

G is a CBPD graph, then G∗ is an hhd-free graph. Algorithm 1 can be used to solve the MIM problem on CBPD graphs in O(m2) time. For better complexity we must be able to obtain a perfect order of G∗ and color G∗ without constructing G∗ .

Property III.0.1 Consider a (0/1) matrix M in doubly lexical order. Suppose, M contains a column Ck as shown below:

Ck

Ri 1

Rj 0

Then, as Rj is below Ri, there must be a column Cl to the right of Ck as shown below:

Ck Cl

Ri 1 0

Rj 0 1

We use this property, applied to rows as well as to columns of M. We refer to a Γ

 b c       a 0 

as ”a, b, c is a Γ”.

Theorem III.0.3 Suppose G is a CBPD graph and M is a bipartite adjacency matrix of G. If M is in doubly lexical order, then <∗ is a perfect ordering of G∗ . 29

Proof Let G be a CBPD graph and M be its bipartite adjacency matrix in doubly

lexical order. Hence, M does not contain any Γ. Suppose <∗ is a not a perfect ordering of G∗ . Then, orienting every edge xy in G∗ where x <∗ y as x → y results in at least one obstruction. Consider a resulting obstruction as shown in figure III.2.

e h

f g

Figure III.2: Obstruction in G∗

Due to symmetry we can assume that Re ≤ Rh in M. With respect to the position of e in M, h can be in any one of the five regions as shown below.

E ... e ... A

. . . D ... C ... B

∗ Note that it follows from the definition of < that Re < Rf and Rh < Rg hold.

Let X1 be the entry at M[Rh,Ce] and X2 be the entry at M[Re,Ch]. Note that the relationship between e and h implies at least one of X1 or X2 must be 1. Similarly, let Y1 be the entry at M[Rf ,Ch] and Y2 be the entry at M[Rh,Cf ]. Note that the relationship between h and f implies at least one of Y1 or Y2 must be 1. Similarly, because of the relationship between e and g, at least one of Z1 or Z2 must be a 1. 30

h is in region A (Re = Rh) Consider a the row containing g.

e ... h

X ... 0 −− > row − contains − g

∗ Since, the entry at (Rh,Cg) is a zero (as h is adjacent to g in G ), X has to be a 1 (as e is not adjacent to g in G∗ ). This gives us a Γ contradicting our assumption.

Therefore, h cannot be in region A.

h is in region E (Re = Rh) Consider a the row containing f.

h ... e

X ... 0 −− > row − contains − f

∗ Since, the entry at (Re,Cf ) is a zero (as e is adjacent to f in G ), X has to be a 1 (as h is not adjacent to f in G∗ ). This gives us a Γ contradicting our assumption.

Therefore, h cannot be in region E.

h is in region C (Ce = Ch) The following are the two cases based on the position of g with respect to e. Cg

1 e

0 h g 0 31

Now, g, 1,e is a Γ. Ce

e 1 h 0 0 g

Now, h,e, 1 is a Γ. Therefore, h cannot be in region C.

h is in region B

The position of h with respect to e is fixed i.e. Rh > Re, Ch > Ce. g can be placed in 4 places. Following are the cases based on position of g with respect to e and h. Cg

Y2 e X2

0 X1 h

g Y1 0

• If Y1 = 0, then Y2 = 1 making g,Y2,e a Γ. Therefore, Y1 = 1.

• If X1 = 1, then Y1, X1,h is a Γ. Therefore, X1 = 0

• If X2 = 1, then Y1,e,X2 is a Γ. Therefore, X2 = 0

• Now, e is adjacent to h, a contradiction. 32

Ce

e Y2 X2

X1 0 h

Y1 g 0

• If Y1 = 1, then X2 = 0 to avoid Y1,e,X2 becoming Γ. Now, X1 = 1 which

makes Y1, X1,h a Γ.

• If Y1 = 0, then Y2 = 1. This makes X1 = 0 to avoid X1,e,Y2 becoming a Γ.

Now, X2 = 1 which makes g,Y2, X2 a Γ.

• Now, Y1 cannot be 0 or 1 which is not possible.

Ce

e X2 Y2

X1 h 0

Y1 0 g

• If Y1 = 1, then X2 = 0 to avoid Y1,e,X2 becoming Γ. Now, X1 = 1 which

makes Y1, X1,h a Γ.

• If Y1 = 0, then Y2 = 1. This makes X1 = 0 to avoid X1,e,Y2 becoming a Γ.

Now, X2 = 1 which makes h, X2,Y2 a Γ.

• Now, Y1 cannot be 0 or 1 which is not possible. 33

Cg = Ce

e 1 0 h g 0

• It contains a Γ g,e, 1, a contradiction.

Therefore, h cannot be in region B.

h is in region D The configuration of e and h is as follows.

X2 e

h X1

∗ Since e is not adjacent to h in G at least one of X1 and X2 must be a 1 entry. If

X1 = 0, then X2 = 1 and h, X2,e is a Γ. Therefore, X1 = 1. Following are the cases based on position of f with respect to h. Rf = Rh: f and h are in the same row

X2 = 1 e

h X1 = 0 −− > row − contains − f

If f and h are in the same row, then X1 =0 because of e and f. Therefore, X2 = 1.

Now, h, X2,e is a Γ. Therefore, f and h cannot be in the same row.

Rh < Rf : f is below h We can break this case into following subcases based on the position of f with respect to e 34

1. Cf

(a) Ch

X2 0 e

h Y2 X1 = 1

Y1 f 0

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• Now, f,Y2, X1 is a Γ.

(b) Cf

0 X2 e

Y2 h X1 = 1

f Y1 0

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• Now, f,Y2, X1 is a Γ.

(c) Cf = Ch

X2 e

h X1 = 1 f 0

• Now, f,h,X1 is a Γ.

2. Ce

(a) Rf < Rg : f is above g.

i. Cg = Ce

X2 e 0

h X1 = 1 Y2

Y1 0 f 0 g 0

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• Now, g, X1,Y2 is a Γ.

ii. Ce

X2 e Z2 0

h X1 = 1 0 Y2

Y1 0 0 f

0 Z1 g 0

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• Z1 = 0 else Z1, X1,Y2 is a Γ. Therefore, Z2 = 1.

• Now, X1,e,Z2 is a Γ.

iii. Ce

X2 e 0 Z2

h X1 = 1 Y2 0

Y1 0 f 0

0 Z1 0 g

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1. 36

• Z1 = 0 else Z1, X1,Y2 is a Γ. Therefore, Z2 = 1.

• Now, X1,e,Z2 is a Γ.

iv. Cg

Z2 X2 e 0

0 h X1 = 1 Y2

0 Y1 0 f

g 0 Z1 0

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• If Z1 = 0, then Z2 = 1 making g, Z2,e a Γ. Therefore, Z1 = 1.

• Now, Z1, X1,Y2 is a Γ.

v. Ch

X2 Z2 e 0

h 0 X1 = 1 Y2

Y1 0 0 f

0 g Z1 0

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• If Z1 = 0, then Z2 = 1 making g, Z2,e a Γ. Therefore, Z1 = 1.

• Now, Z1, X1,Y2 is a Γ.

Therefore, f cannot be above g.

(b) Rg < Rf : f is below g. 37

i. Cg

Z2 X2 e 0

0 h X1 = 1 Y2

g 0 Z1 0

0 Y1 0 f

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• If Z1 = 0, then Z2 = 1 making g, Z2,e a Γ. Therefore, Z1 = 1.

• Now, Z1, X1,Y2 is a Γ.

ii. Ch

iii. Ce

X2 e Z2 0

h X1 = 1 0 Y2

0 Z1 g 0

Y1 0 0 f

• Y1 = 0 else Y1,h,X1 is a Γ. Therefore, Y2 = 1.

• Z1 = 0 else Z1, X1,Y2 is a Γ. Therefore Z2 = 1.

• Now, X1,e,Z2 is a Γ.

iv. Ce

Therefore, f cannot be below g.

Thus, f cannot be below h.

Rf < Rh: h is below f The following are the cases based on the position of f with respect to e and h.

1. Ce

(a) Ce

X2 e 0

Y2 0 f

h X1 = 1 Y1

0 Z1 0 −− > row − contains − g

• Y1 = 1 else h,Y2, f is a Γ.

• Z1 = 0 else Z1, X1,Y1 is a Γ. Therefore, Z2 = 1.

• Now, X1,e,Z2 is a Γ.

(b) Cg

X2 e 0

Y2 0 f

h X1 = 1 Y1

0 Z1 0 −− > row − contains − g

• Y1 = 1 else h,Y2, f is a Γ.

• Z1 = 1 else g, Z2,e is a Γ.

• Now, Z1, X1,Y1 is a Γ.

(c) Cg = Ce 39

X2 e 0

Y2 0 f

h X1 = 1 Y1 0 g 0

∗ • Now, g and h are not adjacent in G as X1 = 1.

2. Ch

(a) Ce = Cg

X2 0 e

Y2 f 0

h Y1 X1 = 1 0 0 g

∗ • Now, g and h are not adjacent in G as X1 = 1.

(b) Cg

X2 0 e

Y2 f 0

h Y1 X1 = 1

0 0 Z1 −− > row − contains − g

• Y1 = 1 else h,Y2, f is a Γ.

• Z1 = 1 else g, Z2,e is a Γ. 40

• Since M is in doubly lexical order, consider a column as shown below.

X2 0 e A

Y2 f 0 B

h Y1 = 1 X1 = 1 C

0 0 Z1 = 1 D

• A = 0 and B = 1 due to property III.0.1.

• C = 1 else Y1,f,B is a Γ.

• D = 1 else Z1, X1,C is a Γ.

• Now, we are left with

X2 0 e 0

∗ ∗ ∗ Y2 f 0 1

h 1∗ 1∗ 1∗ 0 0∗ 1∗ 1∗

• Submatrix marked by * forms a domino in G, contradicting the as- sumption that G is CBPD .

(c) Ce

X2 0 e

Y2 f 0

h Y1 X1

0 0 Z1 −− > row − contains − g

• X1 = 1 else h, X2,e is a Γ.

• Y1 = 1 else h,Y2, f is a Γ.

• Z2(Re,Cg) = 0 else h, X2, Z2 is a Γ. Therefore, Z1 = 1. 41

• Since M is in doubly lexical order, consider a column as shown below.

X2 0 e A

Y2 f 0 B

h Y1 = 1 X1 = 1 C

0 0 Z1 = 1 D

• A = 0 and B = 1 due to property III.0.1.

• C = 1 else Y1,f,B is a Γ.

• D = 1 else Z1, X1,C is a Γ.

• Now, we are left with

X2 0 e 0

∗ ∗ ∗ Y2 f 0 1

h 1∗ 1∗ 1∗ 0 0∗ 1∗ 1∗

• Submatrix marked by * forms a domino in G, contradicting the as- sumption that G is CBPD .

3. Cf

(a) Ce = Cg

0 X2 e

f Y2 0

Y1 h X1 = 0 0 0 g 42

• Since X1 = 0 (edge hg), X2 = 1. Now, h, X2,e is a Γ.

(b) Cg

0 X2 e

f Y2 0

Y1 h X1

0 0 Z1 −− > row − contains − g

• X1 = 1 else h, X2,e is a Γ.

• Z1 = 1 else g, Z2,e is a Γ.

• Since M is in doubly lexical order, consider a column as shown below.

0 X2 e A

f Y2 0 B

Y1 h X1 = 1 C

0 0 Z1 = 1 D

• A = 0 and B = 1 due to property III.0.1.

• C = 1 else, Y1,f,B is a Γ when Y1 =1 or h,Y2, B is a Γ when Y2 = 1.

• D = 1 else Z1, X1,C is a Γ.

• Now,

i. if Y1 = 1, we have

0 X2 e 0

∗ ∗ ∗ f Y2 0 1

1∗ h 1∗ 1∗ 0∗ 0 1∗ 1∗ 43

ii. if Y2 = 1, we have

0 X2 e 0 f 1∗ 0∗ 1∗

∗ ∗ ∗ Y1 h 1 1

0 0∗ 1∗ 1∗

• Submatrix marked by * forms a domino in G, contradicting the as-

sumption that G is CBPD .

(c) Ce

0 X2 e

f Y2 0

Y1 h X1

0 0 Z1 −− > row − contains − g

• X1 = 1 else h, X2,e is a Γ.

• Z2 = 0 else X1,e,Z2 is a Γ. Therefore, Z1 = 1.

• Since M is in doubly lexical order, consider a column as shown below.

0 X2 e A

f Y2 0 B

Y1 h X1 = 1 C

0 0 Z1 = 1 D

• A = 0 and B = 1 due to property III.0.1.

• C = 1 else, Y1,f,B is a Γ when Y1 =1 or h,Y2, B is a Γ when Y2 = 1.

• D = 1 else Z1, X1,C is a Γ. 44

• Now,

i. if Y1 = 1, we have

0 X2 e 0

∗ ∗ ∗ f Y2 0 1

1∗ h 1∗ 1∗ 0∗ 0 1∗ 1∗

ii. if Y2 = 1, we have

0 X2 e 0

f 1∗ 0∗ 1∗

∗ ∗ ∗ Y1 h 1 1

0 0∗ 1∗ 1∗

• Submatrix marked by * forms a domino in G, contradicting the as-

sumption that G is CBPD .

Therefore, f cannot be below h.

From 3.5.1, 3.5.2, and 3.5.3 it follows that h cannot be in region D.

Since h cannot be placed in any of the 5 regions, the above obstruction is not

present in the orientation of G∗ . Hence, <∗ is a perfect ordering of G∗ . 2

Corollary III.0.1 If G is a CBPD graph, then perfect order of G∗ can be computed in O(min(n2, mlogn)).

Greedy coloring algorithm for G∗ 45

Recall that each 1 entry in M is an edge in G and a vertex in G∗ . Assigning a color to a vertex in G∗ is the same as assigning a color to a 1 entry in M. From theorem III.0.3, <∗ is a perfect ordering of G∗ . Hence, we can find the size of maximum induced matching in G by greedy coloring of 1 entries in M.

Let the graph shown in figure III.3 be called F1 .

Figure III.3: C4 with 3 pendents (F1 )

If G is a CBPD graph which does not contain F1 as an induced subgraph, then algorithm 2 gives a greedy coloring for G∗ . 46

Algorithm 2 Color the entries of M Input: M - bipartite adjacency matrix of a CBPD graph G that does not contain F1 as an induced subgraph. M has r rows and c columns and is in doubly lexical order. Output: Matrix C such that C[i, j] is the color assigned to 1 entry M[i, j]. RowMax[i] - used to hold the maximum color used in row i. ColumnMax[i] - used to hold the maximum color used in column i. for R= 1 to r do for C= 1 to c do if M[R,C] = 1 then A ← {} B ← {} for i ← 1 to R - 1 do if M[i,C] = 0 then A ← A ∪ {RowMax[i]} end if end for for j ← 1 to n do if M[R, j] = 0 then B ← B ∪ {ColumnMax[i]} end if end for Color[R,C] ← smallest color ∈/ A ∩ B if Color[R,C] > RowMax[R] then RowMax[R] ← Color[R,C] end if if Color[R,C] > ColumnMax[C] then ColumnMax[C] ← Color[R,C] end if end if end for end for 47

Correctness of algorithm 2

Theorem III.0.4 If G is a CBPD graph which does not contain F1 as an induced subgraph, then algorithm 2 produces a greedy vertex coloring of G∗ .

Proof of theorem III.0.4.

If the algorithm 2 does not produce a greedy coloring of G∗ , then at least one of the following is true.

1. A vertex is assigned a color already assigned to a neighbor before it in the perfect order.

2. A vertex is not assigned the smallest color not assigned to a neighbor before it

in the perfect order.

Case 1 A vertex is assigned a color already assigned to a neighbor before it in the perfect

order. This means that some 1 entry of M, which makes a 2K2 with another 1 entry

in M already assigned a color Y , is also assigned the color Y . Let y1 be the first

incorrectly colored entry. Let y2 be the earliest entry that was assigned the color Y

and forms a 2K2 with y1. In M, the configuration of y1 and y2 is either

 y2 0       0 y1 

or

 0 y2       y1 0  48

This case is possible in algorithm 2 only when Y∈ / A ∩ B while coloring y1.

Therefore, Y∈ / A or Y∈ / B.

1. Suppose Y∈ / A . Then RowMax[Ry2 ] = Z and Therefore, there is an 1 entry

(say z) in row Ry2 that was assigned the color Z. Clearly, as color of y2 is Y ,

RowMax[Ry2 ] ≥ Y . Further, Y∈ / A. Therefore, Z>Y .

Now, there must be an 1 entry (say y3) above y2 that forms a 2K2 with z and

assigned the color Y (as Y < Z) and y1 is the first entry incorrectly colored.

(a) Suppose Cy2

• We have the submatrix shown below.

U y3

y2 0 < − − row − has − z

• If U = 1, then y2, U, y3 is a Γ. Therefore, U = 0.

• Now, y2 is wrongly colored and y1 is the not the first wrongly colored entry as opposed to our assumption.

• Therefore, Cy3

(b) Suppose Cy3

• We have the submatrix shown below.

y3 U1 U2

0 y2 0

U3 0 y1 49

• If U1 = 0, then y2 is wrongly colored. Therefore, U1 = 1.

• If U2 = 1, then y2, U1, U2 is a Γ. Therefore, U2 = 0.

• If U3 = 1, then U3, y3, U1 is a Γ. Therefore, U3 = 0.

• Now, y3 is an earlier choice than y2.

• Therefore, Cy1

(c) Suppose Cy3

• We have the submatrix shown below.

y3 U2 U1

0 0 y2

U3 y1 0

• If U1 = 0, then y2 is wrongly colored. Therefore, U1 = 1.

• If U2 = 1, then y1, U2, U1 is a Γ. Therefore, U2 = 0.

• If U3 = 1, then U3, y3, U1 is a Γ. Therefore, U3 = 0.

• Now, y3 is an earlier choice than y2.

• Therefore, Cy1

(d) Now, Cy1

• We have the submatrix shown below.

U2 y3 U1

0 0 y2

y1 U3 0

• If U1 = 0, then y2 is wrongly colored. Therefore, U1 = 1. 50

• If U2 = 1, then y1, U2, U1 is a Γ. Therefore, U2 = 0.

• If U3 = 1, then U3, y3, U1 is a Γ. Therefore, U3 = 0.

• Now, y3 is an earlier choice than y2.

Therefore, Y ∈ A.

2. Suppose Y∈ / B. Then ColumnMax[Cy2 ] = Z and Therefore, there is an 1

entry (say z) in column Cy2 that was assigned the color Z. Clearly, as color of

y2 is Y , ColumnMax[Cy2 ] ≥ Y . Further, Y∈ / B. Therefore, Z>Y .

Now, there must be an 1 entry (say y3) above y1 that forms a 2K2 with z and

assigned the color Y (as Y < Z).

• Suppose Ry2 < Ry3 .

(a) Suppose Cy3

– We have the submatrix as shown below.

U y2

y3 0

0 z

– If U = 1, then y3, U, y2 is a Γ. Therefore, U = 0.

– Now, y3 is the first wrongly colored entry, not y1.

(b) Suppose Cy2

– We have the submatrix as shown below.

y2 U

0 y3

z 0

– If U = 1, then z, y2, U is a Γ. Therefore, U = 0.

– Now, y3 is the first wrongly colored entry, not y1.

Therefore, Ry3 < Ry2 .

• Suppose Cy3

(a) Suppose Cy1

– We have the submatrix as shown below.

U1 y3 0

0 U2 y2

y1 U3 0

– If U2 = 0, then y2 is the first wrongly colored entry, not y1. There-

fore, U2 = 1.

– If U3 = 1, then U3, U2, y2 is a Γ. Therefore, U3 = 0.

– If U1 = 1, then y1, U1, y3 is a Γ. Therefore, U1 = 0.

– Now, y3 is an earlier choice than y2.

(b) Suppose Cy3

– We have the submatrix as shown below.

y3 U1 0

U2 0 y2

U3 y1 0

– If U2 = 0, then y2 is the first wrongly colored entry, not y1. There-

fore, U2 = 1.

– If U3 = 1, then U3, U2, y2 is a Γ. Therefore, U3 = 0.

– If U1 = 1, then U2, y3, U1 is a Γ. Therefore, U1 = 0.

– Now, y3 is an earlier choice than y2.

(c) Suppose Cy3

– We have the submatrix as shown below.

y3 0 U1

U2 y2 0

U3 0 y1

– If U2 = 0, then y2 is the first wrongly colored entry, not y1. There-

fore, U2 = 1.

– If U3 = 1, then U3, U2, y2 is a Γ. Therefore, U3 = 0.

– If U1 = 1, then U2, y3, U1 is a Γ. Therefore, U1 = 0.

– Now, y3 is an earlier choice than y2.

Therefore, Cy2

• Now, suppose Ry2 < Rz. 53

– We have the submatrix as shown below.

0 y3

y2 U

z 0

– If U = 1, then z, y2, U is a Γ. Therefore, U = 0.

– Now, y2 is the first wrongly colored entry, not y1.

Therefore, Rz < Ry2 .

• Now, we have the submatrix as shown below.

0 y3 z 0

y2 U

y1 can be placed in 3 places.

(a) Suppose Cy1

– We have the submatrix as shown below.

U1 0 y3

U2 z 0

0 y2 U3

y1 0 U4

– If U2 = 1, then y1, U2, z is a Γ. Therefore, U2 = 0.

– If U3 = 0, then y2 is the first wrongly colored entry, not y1. There- 54

fore, U3 = 1.

– If U4 = 0, then U1 = 1 otherwise, y3 is an earlier choice than y2.

Now, y1, U1, y3 is a Γ. Therefore, U4 = 1.

– Since M is in doubly lexical order, consider a column as shown below. U1 0 y3 A

U2 z 0 B

0 y2 U3 C

y1 0 U4 D

– A = 0 and B = 1 due to property III.0.1.

– C = 1 else y2,z,B is a Γ.

– D = 1 else U4, U3,C is a Γ.

– Now, we are left with

U1 0 y3 0 1 z∗ 0∗ 1∗

0 y2∗ 1∗ 1∗

y1 0∗ 1∗ 1∗

– Submatrix marked by * forms a domino in G, contradicting the assumption that G is CBPD .

(b) Suppose Cy2

– We have the submatrix as shown below.

0 U1 y3

z U2 0

y2 0 U3

0 y1 U4

– If U2 = 1, then y2,z,U2 is a Γ. Therefore, U2 = 0.

– If U3 = 0, then y2 is the first wrongly colored entry, not y1. There-

fore, U3 = 1.

– If U4 = 0, then U1 = 1 otherwise, y3 is an earlier choice than y2.

Now, y1, U1, y3 is a Γ. Therefore, U4 = 1.

– Since M is in doubly lexical order, consider a column as shown below. 0 U1 y3 A

z U2 0 B

y2 0 U3 C

0 y1 U4 D

– A = 0 and B = 1 due to property III.0.1.

– C = 1 else y2,z,B is a Γ.

– D = 1 else U4, U3,C is a Γ. 56

– Now, we are left with

0 U1 y3 0 z∗ 0 0∗ 1∗

y2∗ 0 1∗ 1∗

0 y1 1∗ 1∗

– Submatrix marked by * forms a domino in G, contradicting the assumption that G is CBPD .

(c) Suppose Cy2

– We have the submatrix as shown below.

0 y3 U1

z 0 U2

y2 U3 0

0 U4 y1

– If U2 = 1, then y2,z,U2 is a Γ. Therefore, U2 = 0.

– If U3 = 0, then y2 is the first wrongly colored entry, not y1. There-

fore, U3 = 1.

– If U4 = 0, then U1 = 1 otherwise, y3 is an earlier choice than y2.

Now, U3, y3, U1 is a Γ. Therefore, U4 = 1.

– Since M is in doubly lexical order, consider a column as shown 57

below. 0 y3 A

z 0 B

y2 U3 C

0 U4 D

– A = 0 and B = 1 due to property III.0.1.

– C = 1 else y2,z,B is a Γ.

– D = 1 else U4, U3,C is a Γ.

– Now, we are left with

0 y3 0

z∗ 0∗ 1∗

y2∗ 1∗ 1∗

0∗ 1∗ 1∗

– Submatrix marked by * forms a domino in G, contradicting the assumption that G is CBPD .

Therefore, Y ∈ B.

This concludes case 1.

Case 2 A vertex is not assigned the smallest color not assigned to a neighbor preceding it in the perfect order. This means an for some 1 entry y in M, suppose the smallest color not assigned to a neighbor of y that precedes it in perfect order is X, but y was assigned color Y . Given case 1, we have X

algorithm, X ∈ A ∩ B. Let xc be the entry responsible for X ∈ A and xr be the entry responsible for X ∈ B. y does not form a 2K2 with any of xr or xc.

• Suppose xc is to the right of y.

U xc y 0

If U = 0, then y and xc form a 2K2. Therefore, U = 1. Now, y, U, xc is a Γ.

Therefore, xc is to the left of y.

• Now, we have xc to the left of y.

xc U 0 y

• We break the world into 3 subcases based on the position of xr’s column.

1. xr is to the left of xc.

(a) Suppose xr is below xc.

– We have the submatrix as shown below.

R1 xc U1

xr R2 0

U2 0 y

– U1 = 1 and U2 = 1 as y does not form a 2K2 with any of xr or xc.

– If R1 = 1, then U2,R1, xc is a Γ. Therefore, R1 = 0.

– If R2 = 1, then U2, xr,R2 is a Γ. Therefore, R2 = 0. 59

– Now, xc and xr form a 2K2.

(b) Suppose xr is above xc.

– We have the submatrix as shown below.

xr R1 0

R2 xc U1

U2 0 y

– U1 = 1 and U2 = 1 as y does not form a 2K2 with any of xr or xc.

– If R1 = 1, then U2, xr,R1 is a Γ. Therefore, R1 = 0.

– If R2 = 1, then U2,R2, xc is a Γ. Therefore, R2 = 0.

– Now, xc and xr form a 2K2.

2. xr is to the right of xc and xr is to the left of y.

(a) Suppose xr is below xc.

– We have the submatrix as shown below.

xc R1 U1

R2 xr 0

0 U2 y

– U1 = 1 and U2 = 1 as y does not form a 2K2 with any of xr or xc.

– If R1 = 1, then xr,R1, U1 is a Γ. Therefore, R1 = 0.

– If R2 = 1, then R2, xc, U1 is a Γ. Therefore, R2 = 0.

– Now, xc and xr form a 2K2.

(b) Suppose xr is above xc. 60

– We have the submatrix as shown below.

R1 xr 0

xc R2 U1

0 U2 y

– U1 = 1 and U2 = 1 as y does not form a 2K2 with any of xr or xc.

– If R2 = 0, then R1 = 1. Now, xc,R1, xr is a Γ. Therefore, R2 = 1.

– Now, if R1 = 1, then the above submatrix corresponds to a domino.

Therefore, R1 = 0.

– Since M is in doubly lexical order, consider another column (C1)

as shown below. C1 can be anywhere to the right of column 1.

1 2 3 ... C1

a R1 xr∗ 0∗ ... A∗

b xc R2∗ U1∗ ... B∗

c 0 U2∗ y∗ ... C∗

– B = 0 and C = 1 due to property III.0.1 applied in row b and row

c.

– If A = 1, then the submatrix marked by ∗ is a domino. Therefore, A = 0.

– Now, The above submatrix corresponds to the graph shown in

figure III.3.

3. xr is to the right of y. 61

(a) Suppose xr is above xc.

– We have the submatrix as shown below.

R1 0 xr

xc U1 R2

0 y U2

– U1 = 1 and U2 = 1 as y does not form a 2K2 with any of xr or xc.

– If R2 = 0, then R1 = 1. Now, xc,R1, xr is a Γ. Therefore, R2 = 1.

– Now, if R1 = 1, then the above submatrix forms a domino. There-

fore, R1 = 0.

– Since M is in doubly lexical order, consider another column (C1)

as shown below. C1 can be anywhere to the right of column 1.

1 2 3 ... C1

a R1 0∗ xr∗ ... A∗

b xc U1∗ R2∗ ... B∗

c 0 y∗ U2∗ ... C∗

– B = 0 and C = 1 due to property III.0.1 applied on row b and row

c.

– If A = 1, then the submatrix marked by ∗ forms a domino. There- fore, A = 0.

– Now, The above submatrix corresponds to graph F1 .

(b) Suppose xr is below xc. 62

– We have the submatrix as shown below.

xc U1 R1

R2 0 xr

0 y U2

– U1 = 1 and U2 = 1 as y does not form a 2K2 with any of xr or xc.

– If R2 = 1, then R2, xc, U1 is a Γ. Therefore, R2 = 0.

– Now, if R1 = 0, then xc and xr form a 2K2. Therefore, R1 = 1.

– Since M is in doubly lexical order, consider another column (C1)

as shown below. C1 can be anywhere to the right of column 1.

1 2 3 ... C1

a xc U1∗ R1∗ ... A∗

b R2 0∗ xr∗ ... B∗

c 0 y∗ U2∗ ... C∗

– A = 0 and C = 1 due to property III.0.1 applied on row a and row c.

– If B = 1, then the submatrix marked by ∗ forms a domino. There-

fore, B = 0.

– Now, The above submatrix corresponds to graph F1 .

This concludes case 2.

Therefore, if G is a CBPD graph which does not contain F1 as an induced sub- 63

graph, then Algorithm 2 produces a greedy coloring for G∗ .2

Since, Algorithm 2 gives us a greedy coloring of G∗ and < is a perfect order of G∗ , the coloring is optimal. Note that for H, χ(H)= ω(H). Further, the size of a maximum independent set in H = ω(H). Therefore, The size of MIM in G, or the size of a maximum independent set in G∗, is equal to χ(G∗ ),i.e, the largest entry in the matrix Color[]. Algorithm III.0.4 runs in O(n3) time.

Theorem III.0.5 If G is a CBPD graph which does not contain F1 as an induced subgraph, then the MIM problem can be solved on G in O(n3) time. CHAPTER IV

A SUBCLASS OF HHD-FREE GRAPHS

P is a graph consisting of a C4 with a fifth vertex adjacent to exactly one vertex of

the C4 as shown in Figure IV.1. The graph shown in Figure IV.2 is a graph consisting

of a C4 with a fifth vertex adjacent to exactly three vertices of the C4. We refer to the graph shown in Figure IV.2 be F2 .

Figure IV.1: P

Figure IV.2: F2

Consider a class of graphs that does not contain a hole, house, P , or F2 . We call

64 65

this class of graphs as C . This class of graphs are more general than chordal graphs.

A graph in C is also an hhd-free graph. This chapter demonstrates how the maximum induced matching problem can be solved on such graphs in O(mn) time.

Forbidden configuration

Consider the configuration of vertices in G as shown in Figure IV.3. The edges in G are represented by solid lines and the non-edges in G are represented by dotted lines. Other edges may or may not be present in G.

c d

b a

x

Figure IV.3: Forbidden configuration in G

Lemma IV.0.4 If G is a graph in C , then G does not contain the forbidden config- uration.

Proof of lemma IV.0.4

If bx ∈ E and dx ∈ E, then we have a F2 If bx∈ / E or dx∈ / E, then we have a house.

If bx∈ / E and dx∈ / E, then we have a P.

Therefore, If G is a graph in C , then G does not contain the forbidden configura- tion. 66

If G contains the forbidden configuration shown in Figure IV.3, then we say x is

in forbidden configuration with the cycle abcd.

Perfect ordering of G∗

Algorithm 3 LBFS Input: graph G. Output: ordering σ = v1v2 ...vn of vertices of G. assign the label ∅ to each vertex. for i = n downto 1 do pick an unnumbered vertex w with the largest label. vi = w. for each unnumbered neighbor x of w do append i to the label of x. end for end for

It was shown in [16] that if G is hhd-free, then the LBFS ordering of G is the

perfect ordering of G.

Given the output σ of LBFS (Algorithm 3) on graph G, we say “vi

(P∗) For vertices a, b, c ∈ V as shown in Figure IV.4, if a

call the set {a, b, c} as a triple.

It was shown in [16] that G is an hhd-free graph if and only if all LBFSs of G are semiperfect elimination orderings. Hence, if < is a LBFS ordering of G, then there is no P4 (v1av2v3) such that a

a b c

Figure IV.4: Triple

Let < be a ordering on vertices in G. Consider a ordering (<∗) on vertices in G∗ such that ab <∗ cd when either

1. b

2. b = d and a

Consider a graph (G) as shown is Figure IV.5. This graph does not contain any hole, house, or a domino. Hence, it is an hhd-free graph. It can also be seen that

∗ ∗ x2 < x1 < y1 < y2 < y3 < y4 < y5 is a LBFS ordering of G. But x1y1 < x2y2 <

∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ x1y2 < x1y3 < y1y3 < x1y4 < y2y4 < y3y4 < y1y5 < y2y5 < y3y5 < y4y5 is not

∗ ∗ a LBFS ordering of G as x1y1, x2y2, y1y3 is a triple in G and there is no e such that

∗ ∗ y1y3 < e in G and e is adjacent to x2y2 but not adjacent to x1y1.

y3

y4

y2 y5 x2

x1 y1

Figure IV.5: An hhd-free graph

This example shows that if G is hhd-free, then <∗ may not be a LBFS ordering

∗ of G . Note that the example contains both P as well as F2 as an induced subgraph. 68

Theorem IV.0.6 If G is a graph in C and < is a LBFS ordering of G, then <∗ is a LBFS ordering of G∗.

Proof of theorem IV.0.6 Let G be a graph in C and < be a LBFS ordering of G. Suppose <∗ not be a

LBFS ordering of G∗. Then <∗ contains a triple as shown in Figure IV.6 and there is no vertex X in G∗ such that ef <∗ X, (cd,X) ∈ E∗, and (ab, X) ∈/ E∗.

ab cd ef

Figure IV.6: Triple in G∗

Assume that a < b, c

Case 1: b = d < f. Now, if a = e then ef is adjacent to cd in G∗. Therefore, a =6 e. As cd not adjacent to ef in G∗, eb, bf∈ / E. Based on the position of e in < we have the following cases.

• Suppose e < b.

– Now e, b, f is a triple. Therefore, choose g such that gb ∈ E and ge∈ / E.

We have the configuration shown in Figure IV.7.

– If a b such that he ∈ E and ha∈ / E. Since ab is adjacent to ef in G∗, at least one of ae or af ∈ E. If

ae∈ / E, then af ∈ E making a middle of a P4 (bafe). Therefore, ae ∈ E. 69

e b=d f g

Figure IV.7: Order when g is chosen

Now, if bh∈ / E, then a is in middle of P4 (baeh). Therefore, bh ∈ E. Now,

g is in the forbidden configuration with the cycle bhea.

– Therefore, e

– Since ab is adjacent to ef in G∗, at least one of ae or af ∈ E. If af∈ / E,

then ae ∈ E making e middle of a P4 (feab). Therefore, af ∈ E. Now, abf is a triple. Therefore, choose h such that hb ∈ E and ha∈ / E. Now,

If fh∈ / E, then a is in middle of P4 (fabh). Therefore, fh ∈ E. Now, e is in the forbidden configuration with the cycle fabh.

Now, we can assume b

• – Now, we have the configuration shown in Figure IV.8.

a b=d e f

Figure IV.8: a, b, c and d in G. 70

– As ab is adjacent to ef in G∗, we must have either ae ∈ E or af ∈ E.

– If ae ∈ E and af∈ / E, then a is in the middle of P4 (baef).

– If ae∈ / E and af ∈ E, then a is in the middle of P4 (bafe).

– Therefore, ae ∈ E and af ∈ E.

– Now, a, b, f is a triple. Choose g > f such that gb ∈ E and ga∈ / E.

– If eg∈ / E, then a is in the middle of P4 (eabg). Therefore eg ∈ E.

– Now, f is in the forbidden configuration with the cycle eabg.

This concludes Case 1.

Case 2: b

• Suppose b = e. We have the configuration shown in Figure IV.9. Now, b, d, f is a triple. Choose g > f such that gd ∈ E and gb∈ / E. If ag ∈ E, then a is in the

middle of P4 (dagd). Therefore ag∈ / E. Now, if ad∈ / E, then gd is X since gd is adjacent to cd but not adjacent to ab in G∗. Therefore, ad ∈ E. Now, a, b, d is a triple. Choose h>d such that hb ∈ E and ha∈ / E. Now, if hd∈ / E, then

a is in the middle of P4 (dabh). Therefore, hd ∈ E. Now, g is in the forbidden configuration with the cycle dabh.

• Hence, a = e.

• We have the configuration shown in Figure IV.10.

• Now, a,d,f is a triple. Choose g > f such that gd ∈ E and ga∈ / E. 71

a b=e d f

Figure IV.9: Case 2: b = e

a=e b d f

Figure IV.10: Case 2: a = e

• Suppose bd ∈ E. If bf∈ / E, then a is in the middle of P4 (fabd). Therefore,

bf ∈ E. Now, b, d, f is a triple. Choose h > f such that hd ∈ E and hb∈ / E. If

fh∈ / E, then a is in the middle of P4 (fbdh). Therefore, fh ∈ E. Now, a is in

forbidden configuration with the cycle fbdh. Therefore, bd∈ / E.

• Now, if bg∈ / E, then gd is X since gd is adjacent to cd but not adjacent to ab in G∗. Therefore, bg ∈ E.

• Suppose bf∈ / E. If fg ∈ E, then a is in the middle of P4 (fabg). If fg∈ / E, then d is in forbidden configuration with the cycle gfab. Therefore, bf ∈ E.

• Now, b, d, f is a triple. Choose h > f such that hd ∈ E and hb∈ / E. Now, if

ah ∈ E, then a is in middle of a P4 (bahd). Therefore, ah∈ / E. Now, hg is X 72

in G∗.

Therefore, ab and ef do not share a vertex.

• Suppose bf ∈ E.

– We have the configuration shown in Figure IV.11

a b d f

Figure IV.11: Case 2.1: {a, b} ∩ {e, f} = ∅ and bf ∈ E

– b, d, f is a triple. Choose g > f such that gd ∈ E and gb∈ / E.

– Suppose ag ∈ E. a, b, g is a triple. Choose h>g such that hb ∈ E

and ha∈ / E. If gh∈ / E, then a is in middle of a P4 (gabh). Therefore,

gh ∈ E. If fg∈ / E, then f is in forbidden configuration with the cycle bagh. Therefore, fg ∈ E. If bd∈ / E, then d is in forbidden configuration with

the cycle gabf. Therefore, bd ∈ E. Now, e is in forbidden configuration with the cycle fgdb.

Therefore, ag∈ / E.

– Suppose fg∈ / E. If bd ∈ E, then b is in the middle of a P4 (fbdg).

Therefore, bd∈ / E. If ad ∈ E, then a is in the middle of a P4 (badg).

Therefore, ad∈ / E. Now, dg is X in G∗. Therefore, fg ∈ E. 73

– If bd ∈ E, then a is in forbidden configuration with the cycle bdgf.

Therefore, bd∈ / E.

– If ad ∈ E, then a is in the middle of P4 (badg).

Therefore, ad∈ / E.

Now, dg is X in G∗.

Therefore, bf∈ / E.

• Suppose be ∈ E.

If bd ∈ E, then either e or b is in the middle of P4 (febd). Therefore, bd∈ / E.

1. e

– Now, e,d,f is a triple. Choose g > f such that gd ∈ E and ge∈ / E.

– Suppose bg ∈ E. If fg∈ / E, then either e or b is in the middle of P4 (febg). Therefore, fg ∈ E. Now, d is in forbidden configuration with

the cycle gbef. Therefore, bg∈ / E.

– If ad∈ / E and ag∈ / E, then dg is X in G∗. If ad ∈ E and ag∈ / E,

then a is in the middle of P4 (badg). If ad∈ / E and ag ∈ E, then a is

in the middle of P4 (bagd). Therefore, ad ∈ E and ag ∈ E.

– Now, a,e,g is a triple. Choose the rightmost h>g such that he ∈ E and ha∈ / E.

– Suppose ae∈ / E. If a

in the middle of P4 heba. Therefore, ae ∈ E. 74

– If hd∈ / E, then either e or a is in the middle of P4 (head). Therefore,

hd ∈ E.

– Now, g is in forbidden configuration with the cycle daeh.

2. d

– Now, b, d, e is a triple. Choose g>e such that gd ∈ E and gb∈ / E.

– If ad∈ / E and ag∈ / E, then dg is X in G∗. If ad ∈ E and ag∈ / E,

then a is in the middle of P4 (badg). If ad∈ / E and ag ∈ E, then a is

in the middle of P4 (bagd). Therefore, ad ∈ E and ag ∈ E.

– Now, a, b, g is a triple. Choose h>g such that hb ∈ E and ha∈ / E.

– If hg∈ / E, then a is in the middle of P4 (gabh). Therefore, hg ∈ E.

– Now, d is in forbidden configuration with the cycle ghba.

Therefore, be∈ / E.

• Suppose af∈ / E. ae ∈ E to make ab adjacent to ef in G∗. Now, either a or e

is in the middle of P4 (baef). Therefore, af ∈ E.

• Now, a, b, f is a triple. Choose g>h such that gb ∈ E and ga∈ / E.

• If fg∈ / E, then a is in the middle of P4 (fabg). Therefore, fg ∈ E.

• Now, e is in forbidden configuration with the cycle fgba.

This concludes case 2. Therefore, if G is a graph in C and < is a LBFS ordering of G, then <∗ is a LBFS ordering of G∗. 2 75

Corollary IV.0.2 If G is a graph in C , a perfect order of G∗ can be computer in linear time.

Coloring of G∗ .

Algorithm 4 Color G∗ Input: < - a LBFS ordering of a graph G in C , G. Output: Array Color such that Color[e] is the color assigned to edge e of G. Max[i] - stores the highest color used on edges ending at i. for i ← 1 to n do Max[i] ← 0 end for for i ← 1 to n do marked[i] ← 0 end for Make a list (L) of edges of G according to <∗. for Every edge in L do A ← {} for all v ∈ N(x) ∪ N(y) such that v < y do marked[v] ← 1 end for for i ← 1 to y do if marked[i] = 0 then A ← A ∪ {Max[i]} end if end for C ← smallest color ∈/ A Color[xy] ← C if C >Max[y] then Max[y] ← C end if for all v ∈ N(x) ∪ N(y) such that v < y do marked[v] ← 0 end for end for 76

Theorem IV.0.7 If G is graph in C , then Algorithm 4 produces a greedy vertex coloring of G∗ .

Proof of theorem IV.0.7.

If the Algorithm 4 does not produce a greedy coloring of G∗ , then at least one of the following is true.

1. A vertex is assigned a color already assigned to a neighbor before it in the perfect order.

2. A vertex is not assigned the smallest color not assigned to a neighbor before it in the perfect order.

Case 1 Suppose a vertex is assigned a color already assigned to a neighbor before it in the

perfect order. Let edge vivj (vi

If vivj was given color C1, then there is another edge which was also assigned a color

C1. Let vlvk (vl < vk)be the earliest edge that was assigned the color C1 and forms

a 2K2 with vivj. Since vlvk was colored before vivj, vk < vj. As vk was not marked

and C1 ∈/ A, Max[vk] =6 C1. Let Max[vk] = C2. Clearly, as Color[vlvk] = C1,

C2 >C1. There must be an edge (vzvk and vz

of vivj, vzvk was correctly assigned the color C2. Therefore, there must be an edge

vbvc colored C1 such that vc

1. vc

2. vbvk ∈/ E. 77

3. vcvk ∈/ E.

There must be at least one edge between vbvc and vlvk in G otherwise vlvk is the first edge incorrectly colored.

1. vbvl ∈ E and vcvl ∈/ E.

Now, either vb or vl is in the middle of P4 (vcvbvlvk).

2. vbvl ∈/ E and vcvl ∈ E.

Now, if vl < vb, then vl is in the middle of P4 (vcvbvlvk). Therefore, vb < vl. Further,

• If vcvj ∈ E, then either vc or vl is in the middle of P4 (vjvcvlvk). Therefore,

vcvj ∈/ E.

• Suppose vcvi ∈ E. If vl < vi, then either vc or vl is in the middle of P4

(vivcvlvk). Therefore, vi < vl. Now, either vc or vi is in the middle of P4

(vjvivcvl). Therefore, vcvi ∈/ E.

• If vbvj ∈ E, then vb is in the middle of P4 (vlvcvbvk). Therefore, vbvj ∈/ E.

• If vbvi ∈ E, then either vb or vi is in the middle of P4 (vcvbvivj). Therefore,

vbvi ∈/ E.

Now, vbvc is a better choice than vlvk.

3. vbvl ∈ E and vcvl ∈ E.

• If vcvj ∈ E, then either vc or vl is in the middle of P4 (vjvcvlvk). Therefore,

vcvj ∈/ E. 78

• Suppose vcvi ∈ E. If vl < vi, then either vc or vl is in the middle of P4

(vivcvlvk). Therefore, vi < vl. Now, either vc or vi is in the middle of P4

(vjvivcvl). Therefore, vcvi ∈/ E.

• If vbvj ∈ E, then either vb or vl is in the middle of P4 (vjvbvlvk). Therefore,

vbvj ∈/ E.

• If vbvi ∈ E, then either vb or vi is in the middle of P4 (vjvivbvc). Therefore,

vbvi ∈/ E.

Now, vbvc is a better choice than vlvk.

This concludes Case 1.

Case 2 Coloring of vertices of G∗ is proper but a vertex is not assigned the smallest color not assigned to a neighbor before it in the perfect order. Suppose an edge vivj (vi

assigned color C2. Assume vivj does not make 2K2 with any of the edges colored with

C1 and C1 < C2. As vivj was assigned C2, C1 ∈ A. There is an edge vkvl (vk < vl)

such that Color[vkvl]= C1, vlvi ∈/ E, and vlvj ∈/ E.

Suppose vkvj ∈ E. Now, vk,vl,vj is a triple. Choose y>vj such that yvl ∈ E and

yvk ∈/ E. Now, if yvj ∈/ E, then vk is in the middle of the P4 (vjvkvly). Therefore,

yvj ∈ E. Now, vi is in forbidden configuration with the cycle vjvkvly.

Therefore, vkvj ∈/ E.

Since vkvl and vivj do not form a 2K2, vivk ∈ E. Now, either vk or vi is in the

middle of P4 (vlvkvivj). This concludes case 2. Therefore, if G is a graph in C , then Algorithm 4 produces a greedy vertex coloring G∗ . 2. 79

Algorithm 5 to solve the MIM problem on a graph in C . Input: Graph G ∈ C. Output: Size of the maximum induced matching in G. Begin Step 1. Run LBFS on G to get <. Step 2. Use Algorithm 4 with ordering <. End

Since, Algorithm 4 gives us a greedy coloring of G∗ and < is a perfect order of G∗ , the coloring is optimal. Note that for perfect graph H, χ(H)= ω(H). Further, the size of a maximum independent set in H = ω(H). Therefore, The size of MIM in G, or the size of a maximum independent set in G∗, is equal to χ(G∗ ),i.e, the largest entry in the matrix Color[m].

Step 1 of Algorithm 5 can done in linear time [18]. Step 2 runs in O(mn) time. Therefore overall complexity of Algorithm 5 is O(mn). Therfore, Algorithm 5 runs in O(mn) time.

Theorem IV.0.8 If G is a graph in C , then the MIM problem can be solved on G in O(mn) time.

The reader is referred to the Epilogue for further improvement to this algorithm. CHAPTER V

SUMMARY AND CONCLUSIONS

An induced matching in a graph is a set of edges such that no two edges in the set are joined by any third edge of the graph. An induced matching is maximum (MIM)

if the number of edges in it is the largest among all possible induced matchings. It is known that finding the size of MIM in a graph is NP-hard even if the graph is

bipartite. It is also known that the size of MIM in a chordal graph or in a weakly chordal graph can be computed in polynomial time. Specifically, the size of MIM

can be computed in linear time for a chordal graph and in O(m3) time for a weakly chordal graph. This work demonstrates some algorithms for the maximum induced matching problem with complexity better than O(m3) for some subclasses of weakly

chordal graphs. We showed that the MIM problem can be solved on hhd-free graphs in O(m2) time. We also considered a subclass of weakly chordal graphs that is more

general than chordal graphs and provided an algorithm that runs in O(mn) time to solve the MIM problem. We also considered a restriction of chordal bipartite graphs

and provided an algorithm that runs in O(n3) time to solve the MIM problem.

Epilogue

Since the thesis draft was written there are more things to report. We observed that the MIM problem can be solved in linear time on a graph in C . We observed

80 81

that when G is a graph in C , G∗ is a chordal graph. However, this fact alone is not sufficient to use the linear time algorithm by Brandst¨adt and Ho´ang [2] on G. Brandst¨adt and Ho´ang [2] showed that a maximum independent set in G∗ can be computed in linear time by looking at G given a perfect elimination scheme of G∗.

Due to Theorem IV.0.6 in this thesis we can compute a LBFS ordering of G∗ in linear time. It also known that LBFS ordering of a chordal graph is a perfect elimination

scheme of the graph [18]. Hence, from Theorem IV.0.6 and the linear time algorithm by Brandst¨adt and Ho´ang [2] the MIM problem can be solved in linear time when G

is in class C . We also observed that if only P or only F2 is restricted in an hhd-free graph, then <∗ may not give a LBFS ordering of G∗. However, When G is hhd-free either G∗ or G∗ might not be a chordal graph. For

∗ example when G is a C4 with one pendant on each vertex, G is not chordal graph.

∗ Also, when G is 2P3, G is not a chordal graph. Therefore, the work in this thesis

may extend to some larger classes than C . BIBLIOGRAPHY

[1] A. Abueida, Personal communication.

[2] A. Brandst¨adt and C. T. Ho`ang, Maximum Induced Matchings for Chordal Graphs in Linear Time, Algorithmica, 52 (2008), 440-447.

[3] K. Cameron, Induced matchings, Discrete Appl. Math, 24 (1989), 97-102.

[4] K. Cameron, R. Sritharan, and Y. Tang, Finding a maximum induced matching

in weakly chordal graphs, Discrete Mathematics, 266 (2003), 133-142.

[5] V. Chv´atal, Perfectly ordered graphs, in Topics on Perfect Graphs,Ann. Discrete Math., 21 (1984), 63-65

[6] J. Edmonds, Paths, trees, and flowers, Canadian Journal of Mathematics, 17 (1965), 449-467.

[7] G. Fricke, R.C. Laskar, Strong matchings on trees, Congr. Numer., 89 (1992), 239-243.

[8] M. Garey and D.S. Johnson, Computer Intractability: A Guide to theory of

NP-completeness, Freeman. San Francisco, (1979).

[9] F. Gavril, Algorithms for minimum coloring, maximum clique, minimum covering

by cliques, and maximum independent set of a chordal graph, SIAM Journal on Computing, 1, (1972) 180-187.

82 83

[10] M.C. Golumbic, R.C. Laskar, Irredundancy in circular arc graphs, Discrete Appl.

Math., 44 (1993), 79-89.

[11] M.C. Golumbic and M. Lewenstein, New results on induced matchings, Discrete Appl. Math., 101 (2000), 157-165.

[12] M. Gr¨otschel, Lov´asz, and A.Schrijver, Polynomial alogorithms for perfect graphs, North-Holland Math. Stud., 88 (1984), 325-356.

[13] R.B. Hayward, J.P Spinrad, and R. Sritharan, Improved algorithms for weakly chordal graphs, ACM Transactions on Algorithms, no. 2, 14 (2007), 19.

[14] C. T. Ho`ang, Prefectly orderable graphs: a survey, Perfect graphs, Wiley-

Intersci. Ser. Discrete Math. Optim.,(2001), 139-166

[15] C. T. Ho`ang and N. Khouzam, On brittle graphs, Journal of , 12

(1988), 391-404

[16] B. Jamison, S. Olariu, On semi-perfect elimination, Adv Appl. Math., 9 (1988), 364-376.

[17] V.V. Lozin, On maximum induced matchings in bipartite graphs, Information Processing Letters, 81 (2002), 7-11.

[18] D. J. Rose, R. E. Tarjan, and G. S. Leuker, Algorithmic aspects of vertex elimi- nation on graphs, SIAM Journal on Computing, 5, (1976) 266-283.

[19] Jeremy P. Spinrad, Doubly Lexical Ordering of Dense Matrices, Inform. Pro-

cessing Letters, 45 (1993),No. 5, 229-235 84

[20] A. Lubiw, Doubly Lexical Orderings of Matrices, SIAM Journal on Computing,

16 (1987), 854-879

[21] R. Paige, R.E. Tarjan, Three Partition Refinement Algorithms, SIAM Journal on Computing, 16 (1987), 973-989

[22] L.J. Stockmeyer and V.V. Vazirani, NP-completeness of some generalizations of the maximum matching problem, Information Processing Letters, 15 (1982),

14-19.