Supported by rigorous math and computer science foundations, Combinatorial and Algorithmic Mathematics: From Foundation to Optimization provides a from-scratch understanding to the field of optimization, discussing 70 algorithms with roughly 220 illustrative examples, 160 nontrivial end-of-chapter exercises with complete solutions to ensure readers can apply appropriate theories, principles, and concepts when required, and Matlab codes that solve some specific problems. This book helps readers to develop mathematical maturity, including skills such as handling increasingly abstract ideas, recognizing mathematical patterns, and generalizing from specific examples to broad concepts.
Starting from first principles of mathematical logic, set-theoretic structures, and analytic and algebraic structures, this book covers both combinatorics and algorithms in separate sections, then brings the material together in a final section on optimization. This book focuses on topics essential for anyone wanting to develop and apply their understanding of optimization to areas such as data structures, algorithms, artificial intelligence, machine learning, data science, computer systems, networks, and computer security.
Combinatorial and Algorithmic Mathematics includes discussion on: - Propositional logic and predicate logic, set-theoretic structures such as sets, relations, and functions, and basic analytic and algebraic structures such as sequences, series, subspaces, convex structures, and polyhedra- Recurrence-solving techniques, counting methods, permutations, combinations, arrangements of objects and sets, and graph basics and properties- Asymptotic notations, techniques for analyzing algorithms, and computational complexity of various algorithms- Linear optimization and its geometry and duality, simplex and non-simplex algorithms for linear optimization, second-order cone programming, and semidefinite programming
Combinatorial and Algorithmic Mathematics is an ideal textbook resource on the subject for students studying discrete structures, combinatorics, algorithms, and optimization. It also caters to scientists across diverse disciplines that incorporate algorithms and academics and researchers who wish to better understand some modern optimization methodologies.
Table of Contents
About the Author xiii
Preface xv
Acknowledgments xvii
About the Companion Website xxi
Part I Foundations 1
1 Mathematical Logic 3
1.1 Propositions 3
1.2 Logical Operators 6
1.3 Propositional Formulas 15
1.4 Logical Normal Forms 24
1.5 The Boolean Satisfiability Problem 29
1.6 Predicates and Quantifiers 30
1.7 Symbolizing Statements of the Form "All P Are Q" 37
2 Set-Theoretic Structures 51
2.1 Induction 51
2.2 Sets 54
2.3 Relations 59
2.4 Partitions 64
2.5 Functions 65
3 Analytic and Algebraic Structures 77
3.1 Sequences 77
3.2 Summations and Series 81
3.3 Matrices, Subspaces, and Bases 87
3.4 Convexity, Polyhedra, and Cones 91
3.5 Farkas' Lemma and Its Variants 95
Part II Combinatorics 103
4 Graphs105
4.1 Basic Graph Definitions 106
4.2 Isomorphism and Properties of Graphs 113
4.3 Eulerian and Hamiltonian Graphs 118
4.4 Graph Coloring 122
4.5 Directed Graphs 125
5 Recurrences 133
5.1 Guess-and-Confirm 133
5.2 Recursion-Iteration 136
5.3 Generating Functions 138
5.4 Recursion-Tree 140
6 Counting149
6.1 Binomial Coefficients and Identities 149
6.2 Fundamental Principles of Counting 154
6.3 The Pigeonhole Principle 161
6.4 Permutations 163
6.5 Combinations 166
Part III Algorithms 179
7 Analysis of Algorithms 181
7.1 Constructing and Comparing Algorithms 182
7.2 Running Time of Algorithms 189
7.3 Asymptotic Notation 199
7.4 Analyzing Decision-Making Statements 211
7.5 Analyzing ProgramsWithout Function Calls 213
7.6 Analyzing Programs with Function Calls 219
7.7 The Complexity Class NP-Complete 224
8 Array and Numeric Algorithms 241
8.1 Array Multiplication Algorithms 241
8.2 Array Searching Algorithms 244
8.3 Array Sorting Algorithms 248
8.4 Euclid's Algorithm 253
8.5 Newton's Method Algorithm 255
9 Elementary Combinatorial Algorithms 267
9.1 Graph Representations 267
9.2 Breadth-First Search Algorithm 270
9.3 Applications of Breadth-First Search 273
9.4 Depth-First Search Algorithm 277
9.5 Applications of Depth-First Search 279
9.6 Topological Sort 283
Part IV Optimization 293
10 Linear Programming 295
10.1 Linear Programming Formulation and Examples 296
10.2 The Graphical Method 302
10.3 Standard Form Linear Programs 309
10.4 Geometry of Linear Programming 311
10.5 The Simplex Method 320
10.6 Duality in Linear Programming 339
10.7 A Homogeneous Interior-Point Method 347
11 Second-Order Cone Programming 363
11.1 The Second-Order Cone and Its Algebraic Structure 363
11.2 Second-Order Cone Programming Formulation 368
11.3 Applications in Engineering and Finance 370
11.4 Duality in Second-Order Cone Programming 375
11.5 A Primal-Dual Path-Following Algorithm 379
11.6 A Homogeneous Self-Dual Algorithm 386
12 Semidefinite Programming and Combinatorial Optimization 395
12.1 The Cone of Positive Semidefinite Matrices 395
12.2 Semidefinite Programming Formulation 399
12.3 Applications in Combinatorial Optimization 401
12.4 Duality in Semidefinite Programming 405
12.5 A Primal-Dual Path-Following Algorithm 408
Exercises 417
Notes and Sources 418
References 418
Appendix A Solutions to Chapter Exercises 421
References 487
Bibliography 489
Index 501