DISCRETE COMPUTATIONAL STRUCTURES CS 23022 Fall 2005 Discrete

  • Slides: 106
Download presentation
DISCRETE COMPUTATIONAL STRUCTURES CS 23022 Fall 2005 Discrete Mathematical Structures: Theory and Applications

DISCRETE COMPUTATIONAL STRUCTURES CS 23022 Fall 2005 Discrete Mathematical Structures: Theory and Applications

CS 23022 OUTLINE 1. Sets 9. Matrices & Closures 2. Logic 10. Counting Principles

CS 23022 OUTLINE 1. Sets 9. Matrices & Closures 2. Logic 10. Counting Principles 3. Proof Techniques 11. Discrete Probability 4. Algorithms 12. Congruences 5. Integers & Induction 13. Recurrence Relations 6. Relations & Posets 14. Algorithm Complexity 7. Functions 15. Graph Theory 8. Boolean Algebra & Combinatorial Circuits 16. Trees & Networks 17. Grammars & Languages Discrete Mathematical Structures: Theory and Applications

Learning Objectives q Learn about Boolean expressions q Become aware of the basic properties

Learning Objectives q Learn about Boolean expressions q Become aware of the basic properties of Boolean algebra q Explore the application of Boolean algebra in the design of electronic circuits q Learn the application of Boolean algebra in switching circuits Discrete Mathematical Structures: Theory and Applications 3

Two-Element Boolean Algebra Let B = {0, 1}. Discrete Mathematical Structures: Theory and Applications

Two-Element Boolean Algebra Let B = {0, 1}. Discrete Mathematical Structures: Theory and Applications 4

Two-Element Boolean Algebra Discrete Mathematical Structures: Theory and Applications 5

Two-Element Boolean Algebra Discrete Mathematical Structures: Theory and Applications 5

Discrete Mathematical Structures: Theory and Applications 6

Discrete Mathematical Structures: Theory and Applications 6

Discrete Mathematical Structures: Theory and Applications 7

Discrete Mathematical Structures: Theory and Applications 7

Discrete Mathematical Structures: Theory and Applications 8

Discrete Mathematical Structures: Theory and Applications 8

Two-Element Boolean Algebra Discrete Mathematical Structures: Theory and Applications 9

Two-Element Boolean Algebra Discrete Mathematical Structures: Theory and Applications 9

Two-Element Boolean Algebra Discrete Mathematical Structures: Theory and Applications 10

Two-Element Boolean Algebra Discrete Mathematical Structures: Theory and Applications 10

Discrete Mathematical Structures: Theory and Applications 11

Discrete Mathematical Structures: Theory and Applications 11

Minterm Discrete Mathematical Structures: Theory and Applications 12

Minterm Discrete Mathematical Structures: Theory and Applications 12

Discrete Mathematical Structures: Theory and Applications 13

Discrete Mathematical Structures: Theory and Applications 13

Maxterm Discrete Mathematical Structures: Theory and Applications 14

Maxterm Discrete Mathematical Structures: Theory and Applications 14

Discrete Mathematical Structures: Theory and Applications 15

Discrete Mathematical Structures: Theory and Applications 15

Discrete Mathematical Structures: Theory and Applications 16

Discrete Mathematical Structures: Theory and Applications 16

Discrete Mathematical Structures: Theory and Applications 17

Discrete Mathematical Structures: Theory and Applications 17

Boolean Algebra Discrete Mathematical Structures: Theory and Applications 18

Boolean Algebra Discrete Mathematical Structures: Theory and Applications 18

Boolean Algebra Discrete Mathematical Structures: Theory and Applications 19

Boolean Algebra Discrete Mathematical Structures: Theory and Applications 19

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 20

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 20

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 21

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 21

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 22

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 22

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 23

Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 23

Discrete Mathematical Structures: Theory and Applications 24

Discrete Mathematical Structures: Theory and Applications 24

Discrete Mathematical Structures: Theory and Applications 25

Discrete Mathematical Structures: Theory and Applications 25

Discrete Mathematical Structures: Theory and Applications 26

Discrete Mathematical Structures: Theory and Applications 26

Discrete Mathematical Structures: Theory and Applications 27

Discrete Mathematical Structures: Theory and Applications 27

Discrete Mathematical Structures: Theory and Applications 28

Discrete Mathematical Structures: Theory and Applications 28

Discrete Mathematical Structures: Theory and Applications 29

Discrete Mathematical Structures: Theory and Applications 29

Discrete Mathematical Structures: Theory and Applications 30

Discrete Mathematical Structures: Theory and Applications 30

Discrete Mathematical Structures: Theory and Applications 31

Discrete Mathematical Structures: Theory and Applications 31

Discrete Mathematical Structures: Theory and Applications 32

Discrete Mathematical Structures: Theory and Applications 32

Discrete Mathematical Structures: Theory and Applications 33

Discrete Mathematical Structures: Theory and Applications 33

Discrete Mathematical Structures: Theory and Applications 34

Discrete Mathematical Structures: Theory and Applications 34

Discrete Mathematical Structures: Theory and Applications 35

Discrete Mathematical Structures: Theory and Applications 35

Discrete Mathematical Structures: Theory and Applications 36

Discrete Mathematical Structures: Theory and Applications 36

Discrete Mathematical Structures: Theory and Applications 37

Discrete Mathematical Structures: Theory and Applications 37

Discrete Mathematical Structures: Theory and Applications 38

Discrete Mathematical Structures: Theory and Applications 38

Discrete Mathematical Structures: Theory and Applications 39

Discrete Mathematical Structures: Theory and Applications 39

Logical Gates and Combinatorial Circuits q The Karnaugh map, or K-map for short, can

Logical Gates and Combinatorial Circuits q The Karnaugh map, or K-map for short, can be used to minimize a sum-of-product Boolean expression. Discrete Mathematical Structures: Theory and Applications 40

Discrete Mathematical Structures: Theory and Applications 41

Discrete Mathematical Structures: Theory and Applications 41

Discrete Mathematical Structures: Theory and Applications 42

Discrete Mathematical Structures: Theory and Applications 42

Discrete Mathematical Structures: Theory and Applications 43

Discrete Mathematical Structures: Theory and Applications 43

CS 23022 OUTLINE 1. Sets 9. Matrices & Closures 2. Logic 10. Congruences 3.

CS 23022 OUTLINE 1. Sets 9. Matrices & Closures 2. Logic 10. Congruences 3. Proof Techniques 11. Counting Principles 4. Algorithms 12. Discrete Probability 5. Integers & Induction 13. Recurrence Relations 6. Relations & Posets 14. Algorithm Complexity 7. Functions 15. Graph Theory 8. Boolean Algebra & Combinatorial Circuits 16. Trees & Networks 17. Grammars & Languages Discrete Mathematical Structures: Theory and Applications

Learning Objectives q Learn about matrices and their relationship with relations q Become familiar

Learning Objectives q Learn about matrices and their relationship with relations q Become familiar with Boolean matrices q Learn the relationship between Boolean matrices and different closures of a relation q Explore how to find the transitive closure using Warshall’s algorithm Discrete Mathematical Structures: Theory and Applications 45

Matrices Discrete Mathematical Structures: Theory and Applications 46

Matrices Discrete Mathematical Structures: Theory and Applications 46

Matrices Discrete Mathematical Structures: Theory and Applications 47

Matrices Discrete Mathematical Structures: Theory and Applications 47

Matrices – terms : equal , square Discrete Mathematical Structures: Theory and Applications 48

Matrices – terms : equal , square Discrete Mathematical Structures: Theory and Applications 48

Matrices- terms: zero matrix, diagonal elements Discrete Mathematical Structures: Theory and Applications 49

Matrices- terms: zero matrix, diagonal elements Discrete Mathematical Structures: Theory and Applications 49

Matrices- terms: diagonal matrix, identity matrix Discrete Mathematical Structures: Theory and Applications 50

Matrices- terms: diagonal matrix, identity matrix Discrete Mathematical Structures: Theory and Applications 50

Matrices – Matrix Sum q Two matrices are added only if they have the

Matrices – Matrix Sum q Two matrices are added only if they have the same number of rows and the same number of columns q To determine the sum of two matrices, their corresponding elements are added Discrete Mathematical Structures: Theory and Applications 51

Matrices – Matrix Addition Example Discrete Mathematical Structures: Theory and Applications 52

Matrices – Matrix Addition Example Discrete Mathematical Structures: Theory and Applications 52

Matrices- Multiply a Constant x Matrix Discrete Mathematical Structures: Theory and Applications 53

Matrices- Multiply a Constant x Matrix Discrete Mathematical Structures: Theory and Applications 53

Matrices – Matrix Difference Discrete Mathematical Structures: Theory and Applications 54

Matrices – Matrix Difference Discrete Mathematical Structures: Theory and Applications 54

Matrices - Properties Commutative and Associative properties of Matrix addition Distributive property of multiplication

Matrices - Properties Commutative and Associative properties of Matrix addition Distributive property of multiplication over addition ( subtraction ) -only holds for a constant time a matrix sum (difference) Discrete Mathematical Structures: Theory and Applications 55

Matrices q The multiplication AB of matrices A and B is defined only if

Matrices q The multiplication AB of matrices A and B is defined only if the number of columns of A is the same as the number of rows of B Discrete Mathematical Structures: Theory and Applications 56

Matrices Figure 4. 1 Discrete Mathematical Structures: Theory and Applications q Let A =

Matrices Figure 4. 1 Discrete Mathematical Structures: Theory and Applications q Let A = [aij]m×n be an m × n matrix and B = [bjk ]n×p be an n × p matrix. Then AB is defined q To determine the (i, k)th element of AB, take the ith row of A and the kth column of B, multiply the corresponding elements, and add the result q Multiply corresponding elements as in Figure 4. 1 57

Discrete Mathematical Structures: Theory and Applications 58

Discrete Mathematical Structures: Theory and Applications 58

Matrices Note that the dimensions of AB are m x p. Then (AB) x

Matrices Note that the dimensions of AB are m x p. Then (AB) x C is defined and has dimensions m x q Convince yourself that A x (BC) is defined and also has dimensions m x q Discrete Mathematical Structures: Theory and Applications 59

Discrete Mathematical Structures: Theory and Applications 60

Discrete Mathematical Structures: Theory and Applications 60

Matrices – Matrix transpose q The rows of A are the columns of AT

Matrices – Matrix transpose q The rows of A are the columns of AT and the columns of A are the rows of AT Discrete Mathematical Structures: Theory and Applications 61

Matrices - Symmetric Discrete Mathematical Structures: Theory and Applications 62

Matrices - Symmetric Discrete Mathematical Structures: Theory and Applications 62

Matrices q Boolean (Zero-One) Matrices q Matrices whose entries are 0 or 1 q

Matrices q Boolean (Zero-One) Matrices q Matrices whose entries are 0 or 1 q Allows for representation of matrices in a convenient way in computer memory and for the design and implementation of algorithms to determine the transitive closure of a relation Discrete Mathematical Structures: Theory and Applications 63

Matrices q Boolean (Zero-One) Matrices q The set {0, 1} is a lattice under

Matrices q Boolean (Zero-One) Matrices q The set {0, 1} is a lattice under the usual “less than or equal to” relation, where for all a, b ∈ {0, 1}, a ∨ b = max{a, b} and a ∧ b = min{a, b} Discrete Mathematical Structures: Theory and Applications 64

Matrices – Logical Operations Note: join is the OR operation; meet is the AND

Matrices – Logical Operations Note: join is the OR operation; meet is the AND operation Discrete Mathematical Structures: Theory and Applications 65

Matrices Discrete Mathematical Structures: Theory and Applications 66

Matrices Discrete Mathematical Structures: Theory and Applications 66

Matrices – Boolean Product Discrete Mathematical Structures: Theory and Applications 67

Matrices – Boolean Product Discrete Mathematical Structures: Theory and Applications 67

Discrete Mathematical Structures: Theory and Applications 68

Discrete Mathematical Structures: Theory and Applications 68

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 69

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 69

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 70

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 70

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 71

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 71

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 72

The Matrix of a Relation and Closure Discrete Mathematical Structures: Theory and Applications 72

Discrete Mathematical Structures: Theory and Applications 73

Discrete Mathematical Structures: Theory and Applications 73

q ALGORITHM 4. 3: Compute the transitive closure q Input: M —Boolean matrices of

q ALGORITHM 4. 3: Compute the transitive closure q Input: M —Boolean matrices of the relation R n—positive integers such that n × n specifies the size of M Output: T —an n × n Boolean matrix such that T is the q transitive closure of M q 1. procedure transitive. Closure(M, T, n) q q 2. begin 3. A : = M; q 4. T : = M; q 5. for i : = 2 to n do q 6. 7. begin A : = q q 8. ∨ Mi q 9. q 10. end T : = T ∨ A; //A = Mi //T= M ∨ M 2 ∨ · · · end Discrete Mathematical Structures: Theory and Applications 74

Warshall’s Algorithm for Determining the Transitive Closure q Previously, the transitive closure of a

Warshall’s Algorithm for Determining the Transitive Closure q Previously, the transitive closure of a relation R was found by computing the matrices and then taking the Boolean join q This q method is expensive in terms of computer time Warshall’s algorithm: an efficient algorithm to determine the transitive closure Discrete Mathematical Structures: Theory and Applications 75

Warshall’s Algorithm for Determining the Transitive Closure q Let A = {a 1, a

Warshall’s Algorithm for Determining the Transitive Closure q Let A = {a 1, a 2, . . . , an} be a finite set, n ≥ 1, and let R be a relation on A. q Warshall’s algorithm determines the transitive closure by constructing a sequence of n Boolean matrices Discrete Mathematical Structures: Theory and Applications 76

Warshall’s Algorithm for Determining the Transitive Closure Discrete Mathematical Structures: Theory and Applications 77

Warshall’s Algorithm for Determining the Transitive Closure Discrete Mathematical Structures: Theory and Applications 77

Warshall’s Algorithm for Determining the Transitive Closure Discrete Mathematical Structures: Theory and Applications 78

Warshall’s Algorithm for Determining the Transitive Closure Discrete Mathematical Structures: Theory and Applications 78

Warshall’s Algorithm for Determining the Transitive Closure Discrete Mathematical Structures: Theory and Applications 79

Warshall’s Algorithm for Determining the Transitive Closure Discrete Mathematical Structures: Theory and Applications 79

Warshall’s Algorithm for Determining the Transitive Closure q ALGORITHM 4. 4: Warshall’s Algorithm q

Warshall’s Algorithm for Determining the Transitive Closure q ALGORITHM 4. 4: Warshall’s Algorithm q Input: M —Boolean matrices of the relation R q n—positive integers such that n × n specifies the size of M q Output: W —an n × n Boolean matrix such that W is the transitive closure of M q 1. procedure Warshall. Algorithm(M, W, n) q 2. begin q 3. W : = M; q 4. for k : = 1 to n do q 5. q 6. q 7. q 8. q 9. q 10. end for i : = 1 to n do for j : = 1 to n do if W[i, j] = 1 then if W[i, k] = 1 and W[k, j] = 1 then W[i, j] : = 1; Discrete Mathematical Structures: Theory and Applications 80

Discrete Mathematical Structures: Theory and Applications 81

Discrete Mathematical Structures: Theory and Applications 81

Discrete Mathematical Structures: Theory and Applications 82

Discrete Mathematical Structures: Theory and Applications 82

Learning Objectives q Learn the basic counting principles— multiplication and addition q Explore the

Learning Objectives q Learn the basic counting principles— multiplication and addition q Explore the pigeonhole principle q Learn about permutations q Learn about combinations Discrete Mathematical Structures: Theory and Applications 83

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 84

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 84

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 85

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 85

Basic Counting Principles q There are three boxes containing books. The first box contains

Basic Counting Principles q There are three boxes containing books. The first box contains 15 mathematics books by different authors, the second box contains 12 chemistry books by different authors, and the third box contains 10 computer science books by different authors. q A student wants to take a book from one of the three boxes. In how many ways can the student do this? Discrete Mathematical Structures: Theory and Applications 86

Basic Counting Principles q Suppose tasks T 1, T 2, and T 3 are

Basic Counting Principles q Suppose tasks T 1, T 2, and T 3 are as follows: q T 1 : Choose a mathematics book. q T 2 : Choose a chemistry book. q T 3 : Choose a computer science book. q Then tasks T 1, T 2, and T 3 can be done in 15, 12, and 10 ways, respectively. q All of these tasks are independent of each other. Hence, the number of ways to do one of these tasks is 15 + 12 + 10 = 37. Discrete Mathematical Structures: Theory and Applications 87

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 88

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 88

Basic Counting Principles q Morgan is a lead actor in a new movie. She

Basic Counting Principles q Morgan is a lead actor in a new movie. She needs to shoot a scene in the morning in studio A and an afternoon scene in studio C. She looks at the map and finds that there is no direct route from studio A to studio C. Studio B is located between studios A and C. Morgan’s friends Brad and Jennifer are shooting a movie in studio B. There are three roads, say A 1, A 2, and A 3, from studio A to studio B and four roads, say B 1, B 2, B 3, and B 4, from studio B to studio C. In how many ways can Morgan go from studio A to studio C and have lunch with Brad and Jennifer at Studio B? Discrete Mathematical Structures: Theory and Applications 89

Basic Counting Principles q There are 3 ways to go from studio A to

Basic Counting Principles q There are 3 ways to go from studio A to studio B and 4 ways to go from studio B to studio C. q The number of ways to go from studio A to studio C via studio B is 3 * 4 = 12. Discrete Mathematical Structures: Theory and Applications 90

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 91

Basic Counting Principles Discrete Mathematical Structures: Theory and Applications 91

Basic Counting Principles q Consider two finite sets, X 1 and X 2. Then

Basic Counting Principles q Consider two finite sets, X 1 and X 2. Then q This is called the inclusion-exclusion principle for two finite sets. q Consider three finite sets, A, B, and C. Then q This is called the inclusion-exclusion principle for three finite sets. Discrete Mathematical Structures: Theory and Applications 92

Pigeonhole Principle pigeonhole principle is also known as the Dirichlet drawer principle, or the

Pigeonhole Principle pigeonhole principle is also known as the Dirichlet drawer principle, or the shoebox principle. q The Discrete Mathematical Structures: Theory and Applications 93

Pigeonhole Principle Discrete Mathematical Structures: Theory and Applications 94

Pigeonhole Principle Discrete Mathematical Structures: Theory and Applications 94

Discrete Mathematical Structures: Theory and Applications 95

Discrete Mathematical Structures: Theory and Applications 95

Pigeonhole Principle Discrete Mathematical Structures: Theory and Applications 96

Pigeonhole Principle Discrete Mathematical Structures: Theory and Applications 96

Permutations Discrete Mathematical Structures: Theory and Applications 97

Permutations Discrete Mathematical Structures: Theory and Applications 97

Permutations Discrete Mathematical Structures: Theory and Applications 98

Permutations Discrete Mathematical Structures: Theory and Applications 98

Combinations Discrete Mathematical Structures: Theory and Applications 99

Combinations Discrete Mathematical Structures: Theory and Applications 99

Combinations Discrete Mathematical Structures: Theory and Applications 100

Combinations Discrete Mathematical Structures: Theory and Applications 100

Generalized Permutations and Combinations Discrete Mathematical Structures: Theory and Applications 101

Generalized Permutations and Combinations Discrete Mathematical Structures: Theory and Applications 101

Generalized Permutations and Combinations Consider 10 chips of 3 types ( R, W, B)

Generalized Permutations and Combinations Consider 10 chips of 3 types ( R, W, B) with 5 R, 3 W and 2 B Then, n = 10, k = 3, and n 1=5, n 2=3 and n 3 =2. The number of different arrangements of these 10 chips is: C(10, 5) * C(10 -5, 3) * C(10 -5 -3, 2) = C(10, 5) * C(5, 3) * C(2, 2) = 10! / 5!(5!) * 5!/ 3!(2!) * 2! / 2!(1!) = 10! / 5!3!2! = n!/ n 1!n 2!n 3! = 10 * 9 * 8 * 7 * 6 / (3 * 2 * 1) = 5 * 9 * 8 * 7 = 2520 Discrete Mathematical Structures: Theory and Applications 102

Generalized Permutations and Combinations Consider an 8 -bit string. How many 8 -bit strings

Generalized Permutations and Combinations Consider an 8 -bit string. How many 8 -bit strings contain exactly three 1 s ? Using the formula above, with n = 8 and k = 3, the answer is C(8, 3) = 8! / 3!(8 -3)! = 8!/ 3!5! = 8 * 7 * 6 / 3 * 2 * 1 = 56 Examples: 11100000111 00011100 01010100 etc Discrete Mathematical Structures: Theory and Applications 103

Generalized Permutations and Combinations Suppose we have x + y = 3, with x≥

Generalized Permutations and Combinations Suppose we have x + y = 3, with x≥ 0, y ≥ 0. Then n = 3, k=2 and the number of integer solutions is: C(3+2 -1, 2 -1) = C(4, 1) = 4 (0, 3) , (1, 2), (2, 1) , (3, 0) Discrete Mathematical Structures: Theory and Applications 104

Generalized Permutations and Combinations Let objects = {1, 2, 3, 4, 5}, n =

Generalized Permutations and Combinations Let objects = {1, 2, 3, 4, 5}, n = 5, r=3. Then the number of 3 -combinations of these objects ( with repetitions allowed) is C(5 -1+3, 3) = C(7, 3) = 7! / 3!(4!) = 35 111, 222, 333, 444, 555 112, 113, 114, 115 221, 223, 224 , 225 331, 332, 334, 335 441, 442, 443, 445 551, 552, 553, 554 123, 124, 125 , 134, 135, 145 234, 235, 245 345 Repeat all 3 = 5 combinations Repeat two of three = 20 combinations No repeats = 10 combinations Discrete Mathematical Structures: Theory and Applications 105

Permutations and Combinations - Rosen Discrete Mathematical Structures: Theory and Applications 106

Permutations and Combinations - Rosen Discrete Mathematical Structures: Theory and Applications 106