Computational Discrete Mathematics

Similar documents
Introductory Combinatorics

The Algorithm Design Manual

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

Fundamentals of Discrete Mathematical Structures

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

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

GRAPHS: THEORY AND ALGORITHMS

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

Applied Combinatorics

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

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

Graph (1A) Young Won Lim 4/19/18

Lecture 24: More Reductions (1997) Steven Skiena. skiena

Graph and Digraph Glossary

Combinatorics Summary Sheet for Exam 1 Material 2019

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

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

DS UNIT 4. Matoshri College of Engineering and Research Center Nasik Department of Computer Engineering Discrete Structutre UNIT - IV

Introduction III. Graphs. Motivations I. Introduction IV

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

Chapter 9 Graph Algorithms

Algebraic Graph Theory

Chapter 9 Graph Algorithms

CONTENTS Equivalence Classes Partition Intersection of Equivalence Relations Example Example Isomorphis

Introduction to Algorithms Third Edition

CS6702 GRAPH THEORY AND APPLICATIONS QUESTION BANK

Graph Overview (1A) Young Won Lim 5/9/18

MT5821 Advanced Combinatorics

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.

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95

Introduction to Graph Theory

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

DISCRETE MATHEMATICS

Mathematics and Statistics, Part A: Graph Theory Problem Sheet 1, lectures 1-4

2 hours THE UNIVERSITY OF MANCHESTER. 22 May :00 16:00

Graph Theory. Connectivity, Coloring, Matching. Arjun Suresh 1. 1 GATE Overflow

Basic Concepts of Graph Algorithms

Chapter 2 Graphs. 2.1 Definition of Graphs

Characterizations of graph classes by forbidden configurations

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

Chapter 9 Graph Algorithms

Algorithms. Graphs. Algorithms

MAT 7003 : Mathematical Foundations. (for Software Engineering) J Paul Gibson, A207.

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS

Reference Sheet for CO142.2 Discrete Mathematics II

LOGIC AND DISCRETE MATHEMATICS

Review for Midterm Exam

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

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Simple graph Complete graph K 7. Non- connected graph

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

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

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Algorithmic Graph Theory and Perfect Graphs

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

Domination, Independence and Other Numbers Associated With the Intersection Graph of a Set of Half-planes

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

2 hours THE UNIVERSITY OF MANCHESTER. 23 May :45 11:45

Graph Theory: Introduction

MATH 350 GRAPH THEORY & COMBINATORICS. Contents

Graphs, graph algorithms (for image segmentation),... in progress

Discrete mathematics II. - Graphs

Part II. Graph Theory. Year

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

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

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))

Packet #6: Counting & Graph Theory. Applied Discrete Mathematics

Index. stack-based, 400 A* algorithm, 325

Math 776 Graph Theory Lecture Note 1 Basic concepts

Math 170- Graph Theory Notes

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

Theorem 2.9: nearest addition algorithm

Let G = (V, E) be a graph. If u, v V, then u is adjacent to v if {u, v} E. We also use the notation u v to denote that u is adjacent to v.

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

CLASSIC DATA STRUCTURES IN JAVA

Proposition 1. The edges of an even graph can be split (partitioned) into cycles, no two of which have an edge in common.

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

Graph Theory and Applications

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

Kyle Gettig. Mentor Benjamin Iriarte Fourth Annual MIT PRIMES Conference May 17, 2014

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

Key Graph Theory Theorems

Assignment 4 Solutions of graph problems

Chapter 4. Relations & Graphs. 4.1 Relations. Exercises For each of the relations specified below:

Subject Index. Journal of Discrete Algorithms 5 (2007)

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory

Preimages of Small Geometric Cycles

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

Varying Applications (examples)

Index. C cmp;l, 126. C rq;l, 127. A A sp. B BANDWIDTH, 32, 218 complexity of, 32 k-bandwidth, 32, 218

Konigsberg Bridge Problem

Topic 10 Part 2 [474 marks]

Math.3336: Discrete Mathematics. Chapter 10 Graph Theory

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

DESIGN AND ANALYSIS OF ALGORITHMS

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

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs

Lecture 3: Recap. Administrivia. Graph theory: Historical Motivation. COMP9020 Lecture 4 Session 2, 2017 Graphs and Trees

WUCT121. Discrete Mathematics. Graphs

Transcription:

Computational Discrete Mathematics Combinatorics and Graph Theory with Mathematica SRIRAM PEMMARAJU The University of Iowa STEVEN SKIENA SUNY at Stony Brook CAMBRIDGE UNIVERSITY PRESS

Table of Contents Preface ix About Combinatorica What's Between the Covers Why Mathematica? Acknowledgments Caveat Dedication Chapter 1. Combinatorica: An Explorer's Guide 1.1 Combinatorial Objects: Permutations, Subsets, Partitions 3 Permutations and Subsets Partitions, Compositions, and Young Tableaux 1.2 Graph Theory and Algorithms 10 Representing Graphs Drawing Graphs Generating Graphs Properties of Graphs Algorithmic Graph Theory 1.3 Combinatorica Conversion Guide 32 The Main Differences Functions Whose Usage Has Changed 1.4 An Overview of Mathematica 41 The Structure of Functions Mathematical Operations List Manipulation Iteration Ten Little n-sums Conditionals Compiling Mathematica Code Chapter 2. Permutations and Combinations 2.1 Generating Permutations 55 Lexicographically Ordered Permutations Ranking and Unranking Permutations Random Permutations Minimum Change Permutations 2.2 Inversions and Inversion Vectors 69 Inversion Vectors Counting Inversions The Index of a Permutation Runs and Eulerian Numbers 2.3 Combinations 76 Subsets via Binary Representation Gray Codes Lexicographically Ordered Subsets Generatingfc-Subsets Strings 2.4 Exercises 89 Chapter 3. Algebraic Combinatorics 3.1 The Cycle Structure of Permutations 93 Odd and Even Permutations Types of Permutations Hiding Cycles Counting Cycles 3.2 Special Classes of Permutations 104 Involutions Derangements 3.3 Polya Theory 109 Permutation Groups Group Action Equivalence Classes and Orbits Cycle Index of Permutation Groups Applying P61ya's Theorem 3.4 Exercises 131

vi Computational Discrete Mathematics: Combinatorics and Graph Theory in Mathematica Chapter 4. Partitions, Compositions, and Young Tableaux 4.1 Integer Partitions 135 Generating Partitions Generating Functions and Partitions Ferrers Diagrams Random Partitions 4.2 Compositions 146 Random Compositions Generating Compositions 4.3 Set Partitions 149 Generating Set Partitions Stirling and Bell Numbers Ranking, Unranking, and Random Set Partitions Set Partitions and Restricted Growth Functions 4.4 Young Tableaux 162 Insertion and Deletion Permutations and Pairs of Tableaux Generating Young Tableaux Counting Tableaux by Shape Random Tableaux Longest Increasing Subsequences 4.5 Exercises 173 Chapter 5. Graph Representation 5.1 Data Structures for Graphs 179 The Internal Representation Edge Lists Adjacency Lists Adjacency Matrices Incidence Matrices 5.2 Modifying Graphs 192 Additions, Deletions, and Changes Setting Graph Options 5.3 Classifying Graphs 198 5.4 Displaying Graphs 200 The Vertex and Edge Options Inherited Options A Hierarchy of Options Highlighting and Animation 5.5 Basic Graph Embeddings 213 Circular Embeddings Ranked Embeddings Radial Embeddings Rooted Embeddings 5.6 Improving Embeddings 219 Translating, Dilating, and Rotating Graphs Shaking Graphs Spring Embeddings 5.7 Storing and Editing Graphs 224 5.8 Exercises 226 Chapter 6. Generating Graphs 6.1 Building Graphs from Other Graphs 231 Contracting Vertices Inducing and Permuting Subgraphs Unions and Intersections Sums and Differences Joins of Graphs Products of Graphs Line Graphs 6.2 Regular Structures 244 Complete Graphs Circulant Graphs Complete fc-partite Graphs Cycles, Stars, and Wheels Grid Graphs Interconnection Networks

Table of Contents vii 6.3 Trees 258 Labeled Trees Complete Trees 6.4 Random Graphs 262 Constructing Random Graphs Realizing Degree Sequences 6.5 Relations and Functional Graphs 269 Graphs from Relations Functional Graphs 6.6 Exercises 273 Chapter 7. Properties of Graphs 7.1 Graph Traversals 277 Breadth-First Search Depth-First Search 7.2 Connectivity 283 Connected Components Strong and Weak Connectivity Orienting Graphs Biconnected Components k- Connectivity Harary Graphs 7.3 Cycles in Graphs 294 Acyclic Graphs Girth Eulerian Cycles Hamiltonian Cycles and Paths Traveling Salesman Tours 7.4 Graph Coloring 306 Bipartite Graphs Chromatic Polynomials Finding a Vertex Coloring Edge Colorings 7.5 Cliques, Vertex Covers, and Independent Sets 316 Maximum Clique Minimum Vertex Cover Maximum Independent Set 7.6 Exercises 319 Chapter 8. Algorithmic Graph Theory 8.1 Shortest Paths 323 Single-Source Shortest Paths All-Pairs Shortest Paths Applications of All-Pairs Shortest Paths Number of Paths 8.2 Minimum Spanning Trees 335 Union-Find Kruskal's Algorithm Counting Spanning Trees 8.3 Network Flow 340 8.4 Matching 343 Maximal Matching Bipartite Matching Weighted Bipartite Matching and Vertex Cover Stable Marriages 8.5 Partial Orders 352 Topological Sorting Transitive Closure and Reduction Hasse Diagrams Dilworth's Theorem 8.6 Graph Isomorphism 363 Finding Isomorphisms Tree Isomorphism Self-Complementary Graphs

vffi Computational Discrete Mathematics: Combinatorics and Graph Theory in Mathematica 8.7 Planar Graphs 370 Testing Planarity 8.8 Exercises 372 Appendix 375 Reference Guide 376 Bibliography 447 Index 459