Applied Combinatorics

Similar documents
Introductory Combinatorics

About the Author. Dependency Chart. Chapter 1: Logic and Sets 1. Chapter 2: Relations and Functions, Boolean Algebra, and Circuit Design

CS6702 GRAPH THEORY AND APPLICATIONS QUESTION BANK

4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting...

Introduction to. Graph Theory. Second Edition. Douglas B. West. University of Illinois Urbana. ftentice iiilil PRENTICE HALL

Computational Discrete Mathematics

Discrete Mathematics SECOND EDITION OXFORD UNIVERSITY PRESS. Norman L. Biggs. Professor of Mathematics London School of Economics University of London

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

r=1 The Binomial Theorem. 4 MA095/98G Revision

F falling factorial, 11. father, 139. Ferris wheel, 112. Fibonacci numbers, 34, 36, 224, , 277. finite automaton, deterministic, 191.

Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest. Introduction to Algorithms

Notation Index. Probability notation. (there exists) (such that) Fn-4 B n (Bell numbers) CL-27 s t (equivalence relation) GT-5.

MATH 363 Final Wednesday, April 28. Final exam. You may use lemmas and theorems that were proven in class and on assignments unless stated otherwise.

Notation Index 9 (there exists) Fn-4 8 (for all) Fn-4 3 (such that) Fn-4 B n (Bell numbers) CL-25 s ο t (equivalence relation) GT-4 n k (binomial coef

Fundamentals of Discrete Mathematical Structures

MT365 Examination 2007 Part 1. Q1 (a) (b) (c) A

Introduction to Algorithms Third Edition

GRAPHS: THEORY AND ALGORITHMS

The Algorithm Design Manual

DISCRETE MATHEMATICS

Graph and Digraph Glossary

Combinatorics Summary Sheet for Exam 1 Material 2019

Department of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I

Discrete mathematics , Fall Instructor: prof. János Pach

Graph Theory and Applications

Brief History. Graph Theory. What is a graph? Types of graphs Directed graph: a graph that has edges with specific directions

Student Name and ID Number. MATH 3012 Final Exam, December 11, 2014, WTT

1. Consider the 62-element set X consisting of the twenty-six letters (case sensitive) of the English

Preface MOTIVATION ORGANIZATION OF THE BOOK. Section 1: Basic Concepts of Graph Theory

Theorem 2.9: nearest addition algorithm

Anany Levitin 3RD EDITION. Arup Kumar Bhattacharjee. mmmmm Analysis of Algorithms. Soumen Mukherjee. Introduction to TllG DCSISFI &

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

BHARATHIDASAN ENGINEERING COLLEGE NATTARAMPALLI Department of Science and Humanities CS6702-GRAPH THEORY AND APPLICATION

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms

4. (a) Draw the Petersen graph. (b) Use Kuratowski s teorem to prove that the Petersen graph is non-planar.

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

Algebraic Graph Theory

Chapter 9 Graph Algorithms

Elements of Graph Theory

Part II. Graph Theory. Year

Jörgen Bang-Jensen and Gregory Gutin. Digraphs. Theory, Algorithms and Applications. Springer

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

Varying Applications (examples)

Graphs and Hypergraphs

LOGIC AND DISCRETE MATHEMATICS

Reference Sheet for CO142.2 Discrete Mathematics II

CLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION

Introduction to Graph Theory

quanüfied Statements; valid well-formed formulas; comparison of propositional and predicate wffs. Exercises

1. A busy airport has 1500 takeo s perday. Provetherearetwoplanesthatmusttake o within one minute of each other. This is from Bona Chapter 1 (1).

FINAL EXAM SOLUTIONS. 1. Consider the 9-element set X consisting of the five letters {a, b, c, d, e} and the four digits

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

Contents. 1 Introduction. 2 Searching and Traversal Techniques. Preface... (vii) Acknowledgements... (ix)

Virtual University of Pakistan

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS

CS388C: Combinatorics and Graph Theory

Topic 10 Part 2 [474 marks]

Preface... 1 The Boost C++ Libraries Overview... 5 Math Toolkit: Special Functions Math Toolkit: Orthogonal Functions... 29

Review for Midterm Exam

Unlabeled equivalence for matroids representable over finite fields

Key Graph Theory Theorems

Analysis of Algorithms

Zhibin Huang 07. Juni Zufällige Graphen

1. a graph G = (V (G), E(G)) consists of a set V (G) of vertices, and a set E(G) of edges (edges are pairs of elements of V (G))

A Survey of Mathematics with Applications 8 th Edition, 2009

The Probabilistic Method

Subject Index. Journal of Discrete Algorithms 5 (2007)

Basic Graph Theory with Applications to Economics

MT365 Examination 2017 Part 1 Solutions Part 1

Classic Graph Theory Problems

Worksheet for the Final Exam - Part I. Graphs

Week 12: Trees; Review. 22 and 24 November, 2017

Random strongly regular graphs?

STUDENT NUMBER: MATH Final Exam. Lakehead University. April 13, Dr. Adam Van Tuyl

Graphs and Algorithms 2015

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Graph Theory

Graphs and Algorithms 2016

14 More Graphs: Euler Tours and Hamilton Cycles


Foundations of Discrete Mathematics

5105 BHARATHIDASAN ENGINEERING COLLEGE

Lecture 1: Examples, connectedness, paths and cycles

Graph theory. Po-Shen Loh. June We begin by collecting some basic facts which can be proved via bare-hands techniques.

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

PATTERN CLASSIFICATION AND SCENE ANALYSIS

Graph Theory. Part of Texas Counties.

Student Name and ID Number. MATH 3012, Quiz 3, April 16, 2018, WTT

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

DESIGN AND ANALYSIS OF ALGORITHMS

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

IMO Training 2008: Graph Theory

1. Let n and m be positive integers with n m. a. Write the inclusion/exclusion formula for the number S(n, m) of surjections from {1, 2,...

Lecture Notes on GRAPH THEORY Tero Harju


An Introduction to Combinatorics and Graph Theory. David Guichard

Introduction III. Graphs. Motivations I. Introduction IV

Graphs and trees come up everywhere. We can view the internet as a graph (in many ways) Web search views web pages as a graph

Support Vector. Machines. Algorithms, and Extensions. Optimization Based Theory, Naiyang Deng YingjieTian. Chunhua Zhang.

Transcription:

Applied Combinatorics SECOND EDITION FRED S. ROBERTS BARRY TESMAN LßP) CRC Press VV^ J Taylor & Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group an informa business A CHAPMAN & HALL BOOK

Contents Preface Notation xvii xxvii 1 What Is Combinatorics? 1 1.1 The Three Problems of Combinatorics 1 1.2 The History and Applications of Combinatorics 8 References for Chapter 1 13 PART I The Basic Tools of Combinatorics 15 2 Basic Counting Rules 15 2.1 The Product Rule 15 2.2 The Sum Rule 23 2.3 Permutations 25 2.4 Complexity of Computation 27 2.5 r-permutations 32 2.6 Subsets 34 2.7 r-combinations 35 2.8 Probability 41 2.9 Sampling with Replacement 47 2.10 Occupancy Problems 51 2.10.1 The Types of Occupancy Problems 51 2.10.2 Case 1: Distinguishable Balls and Distinguishable Cells... 53 2.10.3 Case 2: Indistinguishable Balls and Distinguishable Cells.. 53 2.10.4 Case 3: Distinguishable Balls and Indistinguishable Cells.. 54 2.10.5 Case 4: Indistinguishable Balls and Indistinguishable Cells. 55 2.10.6 Examples 56 2.11 Multinomial Coefficients 59 2.11.1 Occupancy Problems with a Specified Distribution 59 2.11.2 Permutations with Classes of Indistinguishable Objects... 62 2.12 Complete Digest by Enzymes 64 Vll

Vlll Contents 2.13 Permutations with Classes of Indistinguishable Objects Revisited.. 68 2.14 The Binomial Expansion 70 2.15 Power in Simple Games 73 2.15.1 Examples of Simple Games 73 2.15.2 The Shapley-Shubik Power Index 75 2.15.3 The U.N. Security Council 78 2.15.4 Bicameral Legislatures 78 2.15.5 Cost Allocation 79 2.15.6 Characteristic Functions 80 2.16 Generating Permutations and Combinations 84 2.16.1 An Algorithm for Generating Permutations 84 2.16.2 An Algorithm for Generating Subsets of Sets 86 2.16.3 An Algorithm for Generating Combinations 88 2.17 Inversion Distance Between Permutations and the Study of Mutations 91 2.18 Good Algorithms 96 2.18.1 Asymptotic Analysis 96 2.18.2 NP-Complete Problems 99 2.19 Pigeonhole Principle and Its Generalizations 101 2.19.1 The Simplest Version of the Pigeonhole Principle 101 2.19.2 Generalizations and Applications of the Pigeonhole Principle 103 2.19.3 Ramsey Numbers 106 Additional Exercises for Chapter 2 Ill References for Chapter 2 113 3 Introduction to Graph Theory 119 3.1 Fundamental Concepts 119 3.1.1 Some Examples 119 3.1.2 Definition of Digraph and Graph 124 3.1.3 Labeled Digraphs and the Isomorphism Problem 127 3.2 Connectedness 133 3.2.1 Reaching in Digraphs 133 3.2.2 Joining in Graphs 135 3.2.3 Strongly Connected Digraphs and Connected Graphs 135 3.2.4 Subgraphs 137 3.2.5 Connected Components 138 3.3 Graph Coloring and Its Applications 145 3.3.1 Some Applications 145 3.3.2 Planar Graphs 151 3.3.3 Calculating the Chromatic Number 154 3.3.4 2-Colorable Graphs 155

Contents ix 3.3.5 Graph-Coloring Variants 159 3.4 Chromatic Polynomials 172 3.4.1 Definitions and Examples 172 3.4.2 Reduction Theorems 175 3.4.3 Properties of Chromatic Polynomials 179 3.5 Trees 185 3.5.1 Definition of a Tree and Examples 185 3.5.2 Properties of Trees 188 3.5.3 Proof of Theorem 3.15 188 3.5.4 Spanning Trees 189 3.5.5 Proof of Theorem 3.16 and a Related Result 192 3.5.6 Chemical Bonds and the Number of Trees 193 3.5.7 Phylogenetic Tree Reconstruction 196 3.6 Applications of Rooted Trees to Searching, Sorting, and Phylogeny Reconstruction 202 3.6.1 Definitions 202 3.6.2 Search Trees 205 3.6.3 Proof of Theorem 3.24 206 3.6.4 Sorting 207 3.6.5 The Perfect Phylogeny Problem 211 3.7 Representing a Graph in the Computer 219 3.8 Ramsey Numbers Revisited 224 References for Chapter 3 228 4 Relations 235 4.1 Relations 235 4.1.1 Binary Relations 235 4.1.2 Properties of Relations/Patterns in Digraphs 240 4.2 Order Relations and Their Variants 247 4.2.1 Defining the Concept of Order Relation 247 4.2.2 The Diagram of an Order Relation 250 4.2.3 Linear Orders 252 4.2.4 Weak Orders 254 4.2.5 Stable Marriages 256 4.3 Linear Extensions of Partial Orders 260 4.3.1 Linear Extensions and Dimension 260 4.3.2 Chains and Antichains 265 4.3.3 Interval Orders 270 4.4 Lattices and Boolean Algebras 274 4.4.1 Lattices 274 4.4.2 Boolean Algebras 276 References for Chapter 4 282

X Contents PART II The Counting Problem 285 5 Generating Functions and Their Applications 285 5.1 Examples of Generating Functions 285 5.1.1 Power Series 286 5.1.2 Generating Functions 288 5.2 Operating on Generating Functions 297 5.3 Applications to Counting 302 5.3.1 Sampling Problems 302 5.3.2 A Comment on Occupancy Problems 309 5.4 The Binomial Theorem 312 5.5 Exponential Generating Functions and Generating Functions for Permutations 320 5.5.1 Definition of Exponential Generating Function 320 5.5.2 Applications to Counting Permutations '.... 321 5.5.3 Distributions of Distinguishable Balls into Indistinguishable Cells 325 5.6 Probability Generating Functions 328 5.7 The Coleman and Banzhaf Power Indices 333 References for Chapter 5 337 6 Recurrence Relations 339 6.1 Some Examples 339 6.1.1 Some Simple Recurrences 339 6.1.2 Fibonacci Numbers and Their Applications 346 6.1.3 Derangements 350 6.1.4 Recurrences Involving More than One Sequence 354 6.2 The Method of Characteristic Roots 360 6.2.1 The Case of Distinct Roots 360 6.2.2 Computation of the kth Fibonacci Number 363 6.2.3 The Case of Multiple Roots 364 6.3 Solving Recurrences Using Generating Functions 369 6.3.1 The Method 369 6.3.2 Derangements 375 6.3.3 Simultaneous Equations for Generating Functions 377 6.4 Some Recurrences Involving Convolutions 382 6.4.1 The Number of Simple, Ordered, Rooted Trees 382 6.4.2 The Ways to Multiply a Sequence of Numbers in a Computer 386 6.4.3 Secondary Structure in RNA 389

Contents XI 6.4.4 Organic Compounds Built Up from Benzene Rings 391 References for Chapter 6 400 7 The Principle of Inclusion and Exclusion 403 7.1 The Principle and Some of Its Applications 403 7.1.1 Some Simple Examples 403 7.1.2 Proof of Theorem 6.1 406 7.1.3 Prime Numbers, Cryptography, and Sieves 407 7.1.4 The Probabilistic Case 412 7.1.5 The Occupancy Problem with Distinguishable Balls and Cells 413 7.1.6 Chromatic Polynomials 414 7.1.7 Derangements 417 7.1.8 Counting Combinations 418 7.1.9 Rook Polynomials 419 7.2 The Number of Objects Having Exactly m Properties 425 7.2.1 The Main Result and Its Applications 425 7.2.2 Proofs of Theorems 7.4 and 7.5 431 References for Chapter 7 436 8 The Polya Theory of Counting 439 8.1 Equivalence Relations 439 8.1.1 Distinct Configurations and Databases 439 8.1.2 Definition of Equivalence Relations 440 8.1.3 Equivalence Classes 445 8.2 Permutation Groups 449 8.2.1 Definition of a Permutation Group 449 8.2.2 The Equivalence Relation Induced by a Permutation Group. 452 8.2.3 Automorphisms of Graphs 453 8"3 Burnside's Lemma 457 8.3.1 Statement of Burnside's Lemma 457 8.3.2 Proof of Burnside's Lemma 459 8.4 Distinct Colorings 462 8.4.1 Definition of a Coloring 462 8.4.2 Equivalent Colorings 464 8.4.3 Graph Colorings Equivalent under Automorphisms 466 8.4.4 The Case of Switching Functions 467 8.5 The Cycle Index 472 8.5.1 Permutations as Products of Cycles 472 8.5.2 A Special Case of Polya's Theorem 474 8.5.3 Graph Colorings Equivalent under Automorphisms Revisited 475

xii Contents 8.5.4 The Case of Switching Functions 476 8.5.5 The Cycle Index of a Permutation Group 476 8.5.6 Proof of Theorem 8.6 477 8.6 Polya's Theorem 480 8.6.1 The Inventory of Colorings 480 8.6.2 Computing the Pattern Inventory 482 8.6.3 The Case of Switching Functions 484 8.6.4 Proof of Polya's Theorem 485 References for Chapter 8 488 PART III The Existence Problem 489 9 Combinatorial Designs 489 9.1 Block Designs 489 9.2 Latin Squares 494 9.2.1 Some Examples 494 9.2.2 Orthogonal Latin Squares 497 9.2.3 Existence Results for Orthogonal Families 500 9.2.4 Proof of Theorem 9.3 505 9.2.5 Orthogonal Arrays with Applications to Cryptography... 506 9.3 Finite Fields and Complete Orthogonal Families of Latin Squares.. 513 9.3.1 Modular Arithmetic 513 9.3.2 Modular Arithmetic and the RSA Cryptosystem 514 9.3.3 The Finite Fields GF(p*) 516 9.3.4 Construction of a Complete Orthogonal Family ofnxn Latin Squares if n Is a Power of a Prime 519 9.3.5 Justification of the Construction of a Complete Orthogonal Family if n = p k 521 9.4 Balanced Incomplete Block Designs 525 9.4.1 (b,v,r, fc,a)-designs 525 9.4.2 Necessary Conditions for the Existence of (b,v,r, k, A)-Designs 528 9.4.3 Proof of Fisher's Inequality 530 9.4.4 Resolvable Designs 532 9.4.5 Steiner Triple Systems 533 9.4.6 Symmetric Balanced Incomplete Block Designs 536 9.4.7 Building New (b, v, r, &, A)-Designs from Existing Ones... 537 9.4.8 Group Testing and Its Applications 539 9.4.9 Steiner Systems and the National Lottery 542 9.5 Finite Projective Planes 549 9.5.1 Basic Properties 549

Contents хш 9.5.2 Projective Planes, Latin Squares, and (v, k, A)-Designs... 553 References for Chapter 9 558 10 Coding Theory 561 10.1 Information Transmission 561 10.2 Encoding and Decoding 562 10.3 Error-Correcting Codes 567 10.3.1 Error Correction and Hamming Distance 567 10.3.2 The Hamming Bound 570 10.3.3 The Probability of Error 571 10.3.4 Consensus Decoding and Its Connection to Finding Patterns in Molecular Sequences 573 10.4 Linear Codes 582 10.4.1 Generator Matrices 582 10.4.2 Error Correction Using Linear Codes 584 10.4.3 Hamming Codes 587 10.5 The Use of Block Designs to Find Error-Correcting Codes 591 10.5.1 Hadamard Codes 591 10.5.2 Constructing Hadamard Designs 592 10.5.3 The Richest (n,d)-codes 597 10.5.4 Some Applications 602 References for Chapter 10 605 11 Existence Problems in Graph Theory 609 11.1 Depth-First Search: A Test for Connectedness 610 11.1.1 Depth-First Search 610 11.1.2 The Computational Complexity of Depth-First Search... 612 11.1.3 A Formal Statement of the Algorithm 612 11.1.4 Testing for Connectedness of Truly Massive Graphs 613 11.2 The One-Way Street Problem 616 11.2.1 Robbins' Theorem 616 11.2.2 A Depth-First Search Algorithm 619 11.2.3 Efficient One-Way Street Assignments 621 11.2.4 Efficient One-Way Street Assignments for Grids 623 11.2.5 Annular Cities and Communications in Interconnection Networks 625 11.3 Eulerian Chains and Paths 632 11.3.1 The Königsberg Bridge Problem 632 11.3.2 An Algorithm for Finding an Eulerian Closed Chain 633 11.3.3 Further Results about Eulerian Chains and Paths 635 11.4 Applications of Eulerian Chains and Paths 640 11.4.1 The "Chinese Postman" Problem 640

xiv Contents 11.4.2 Computer Graph Plotting 642 11.4.3 Street Sweeping 642 11.4.4 Finding Unknown RNA/DNA Chains 645 11.4.5 A Coding Application 648 11.4.6 De Bruijn Sequences and Telecommunications 650 11.5 Hamiltonian Chains and Paths 656 11.5.1 Definitions 656 11.5.2 Sufficient Conditions for the Existence of a Hamiltonian ' Circuit in a Graph 658 11.5.3 Sufficient Conditions for the Existence of a Hamiltonian Cycle in a Digraph 660 11.6 Applications of Hamiltonian Chains and Paths 666 11.6.1 Tournaments 666 11.6.2 Topological Sorting 669 11.6.3 Scheduling Problems in Operations Research 670 11.6.4 Facilities Design 671 11.6.5 Sequencing by Hybridization 673 References for Chapter 11 678 PART IV Combinatorial Optimization 683 12 Matching and Covering 683 12.1 Some Matching Problems 683 12.2 Some Existence Results: Bipartite Matching and Systems of Distinct Representatives 690 12.2.1 Bipartite Matching 690 12.2.2 Systems of Distinct Representatives 692 12.3 The Existence of Perfect Matchings for Arbitrary Graphs 699 12.4 Maximum Matchings and Minimum Coverings 702 12.4.1 Vertex Coverings 702 12.4.2 Edge Coverings 704 12.5 Finding a Maximum Matching 706 12.5.1 M-Augmenting Chains 706 12.5.2 Proof of Theorem 12.7 707 12.5.3 An Algorithm for Finding a Maximum Matching 709 12.6 Matching as Many Elements of X as Possible 714 12.7 Maximum-Weight Matching 716 12.7.1 The "Chinese Postman" Problem Revisited 717 12.7.2 An Algorithm for the Optimal Assignment Problem (Maximum-Weight Matching) 718 12.8 Stable Matchings 724 12.8.1 Gale-Shapley Algorithm 726

Contents xv 12.8.2 Numbers of Stable Matchings 727 12.8.3 Structure of Stable Matchings 729 12.8.4 Stable Marriage Extensions 731 References for Chapter 12 735 13 Optimization Problems for Graphs and Networks 737 13.1 Minimum Spanning Trees 737 13.1.1 Kruskal's Algorithm 737 13.1.2 Proof of Theorem 13.1 740 13.1.3 Prim's Algorithm 741 13.2 The Shortest Route Problem 745 13.2.1 The Problem 745 13.2.2 Dijkstra's Algorithm 748 13.2.3 Applications to Scheduling Problems 751 13.3 Network Flows 757 13.3.1 The Maximum-Flow Problem 757 13.3.2 Cuts 760 13.3.3 A Faulty Max-Flow Algorithm 763 13.3.4 Augmenting Chains 764 13.3.5 The Max-Flow Algorithm 768 13.3.6 A Labeling Procedure for Finding Augmenting Chains... 770 13.3.7 Complexity of the Max-Flow Algorithm 772 13.3.8 Matching Revisited 773 13.3.9 Menger's Theorems 776 13.4 Minimum-Cost Flow Problems 785 13.4.1 Some Examples 785 References for Chapter 13 792 Appendix: Answers to Selected Exercises 797 Author Index 833 Subject Index 841