DISCRETE COMPUTATIONAL STRUCTURES CS 23022 Fall 2005 Discrete
- Slides: 106
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 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 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 4
Two-Element Boolean Algebra Discrete Mathematical Structures: Theory and Applications 5
Discrete Mathematical Structures: Theory and Applications 6
Discrete Mathematical Structures: Theory and Applications 7
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 10
Discrete Mathematical Structures: Theory and Applications 11
Minterm Discrete Mathematical Structures: Theory and Applications 12
Discrete Mathematical Structures: Theory and Applications 13
Maxterm Discrete Mathematical Structures: Theory and Applications 14
Discrete Mathematical Structures: Theory and Applications 15
Discrete Mathematical Structures: Theory and Applications 16
Discrete Mathematical Structures: Theory and Applications 17
Boolean Algebra Discrete Mathematical Structures: Theory and Applications 18
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 21
Logical Gates and Combinatorial Circuits Discrete Mathematical Structures: Theory and Applications 22
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 25
Discrete Mathematical Structures: Theory and Applications 26
Discrete Mathematical Structures: Theory and Applications 27
Discrete Mathematical Structures: Theory and Applications 28
Discrete Mathematical Structures: Theory and Applications 29
Discrete Mathematical Structures: Theory and Applications 30
Discrete Mathematical Structures: Theory and Applications 31
Discrete Mathematical Structures: Theory and Applications 32
Discrete Mathematical Structures: Theory and Applications 33
Discrete Mathematical Structures: Theory and Applications 34
Discrete Mathematical Structures: Theory and Applications 35
Discrete Mathematical Structures: Theory and Applications 36
Discrete Mathematical Structures: Theory and Applications 37
Discrete Mathematical Structures: Theory and Applications 38
Discrete Mathematical Structures: Theory and Applications 39
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 42
Discrete Mathematical Structures: Theory and Applications 43
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 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 47
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: diagonal matrix, identity matrix Discrete Mathematical Structures: Theory and Applications 50
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- Multiply a Constant x Matrix Discrete Mathematical Structures: Theory and Applications 53
Matrices – Matrix Difference Discrete Mathematical Structures: Theory and Applications 54
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 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 = [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
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
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 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 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 operation Discrete Mathematical Structures: Theory and Applications 65
Matrices Discrete Mathematical Structures: Theory and Applications 66
Matrices – Boolean Product Discrete Mathematical Structures: Theory and Applications 67
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 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 72
Discrete Mathematical Structures: Theory and Applications 73
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 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 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 78
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 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 82
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 85
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 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 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 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 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 shoebox principle. q The Discrete Mathematical Structures: Theory and Applications 93
Pigeonhole Principle Discrete Mathematical Structures: Theory and Applications 94
Discrete Mathematical Structures: Theory and Applications 95
Pigeonhole Principle Discrete Mathematical Structures: Theory and Applications 96
Permutations Discrete Mathematical Structures: Theory and Applications 97
Permutations Discrete Mathematical Structures: Theory and Applications 98
Combinations Discrete Mathematical Structures: Theory and Applications 99
Combinations Discrete Mathematical Structures: Theory and Applications 100
Generalized Permutations and Combinations Discrete Mathematical Structures: Theory and Applications 101
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 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≥ 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 = 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
- Discrete computational structures
- Biology homology
- Absorption law logic equivalence
- Cs 584
- 2110200
- Discrete structures
- Discrete structures
- Discrete structures
- Jeannette m. wing computational thinking
- Computational chemistry branches
- Computational fluid dynamics
- Computational graph backpropagation
- Crl alliance medical
- Fluid dynamics
- Cmu computational biology
- "computational thinking"
- Usc neuroscience undergraduate
- Fundamentals of computational neuroscience
- Computational diagnostics
- The computational complexity of linear optics
- Nibib.nih.gov computational
- Computational reflection
- Computational methods in plasma physics
- Computational intelligence tutorial
- Centre for computational medicine
- The computational complexity of linear optics
- Computational sustainability scope
- Computational creativity market trends
- Computational problem solving examples
- Grc computational chemistry
- Slo computational thinking
- Computational intelligence ppt
- Computational fluid dynamics
- Computational graph
- Computational photography uiuc
- Computational fluid dynamics
- C6748 architecture supports
- Standard deviation computational formula
- Standard deviation computational formula
- Computational approaches
- Columbia computational linguistics
- Tu bergakademie freiberg computational materials science
- Computational engineering and physical modeling
- Arma gravi numero violentaque bella parabam
- Computational irreducibility
- Turing machine
- Leerlijn computational thinking
- Computational photography uiuc
- Chomsky computational linguistics
- Integrated computational materials engineering
- Computational thinking
- Using mathematics and computational thinking
- Computational fluency
- Computational chemistry aws
- Computational thinking jeannette wing
- Computational neuroethology
- What is computational thinking?
- Maysam mousaviraad
- Amortized time complexity
- Computational math
- On the computational efficiency of training neural networks
- Formal vs informal fallacy
- Barefoot computing login
- Ece 570 purdue
- Characteristics of computational thinking
- Jeannette m. wing computational thinking
- Computational geometry
- Computational demand
- Computational thinking jeannette wing
- Computational mathematics
- Xkcd computational linguistics
- Computational fluid dynamic
- Abstraction computational thinking
- Straight skeleton
- Computational linguist jobs
- Computational security
- Computational pharmacology
- Computational model
- Ideal gas vs perfect gas
- Integrated computational materials engineering
- Computational linguistics olympiad
- Computational sustainability subjects
- Computational lexical semantics
- Computational thinking flowchart
- Sp computational formula
- Computational biology: genomes, networks, evolution
- Computational thinking algorithms and programming
- 2005 - 1969
- 4725 de 2005
- Change data capture sql server 2005
- 02.02.2005 nasa
- دبي 2005
- Regulatory reform (fire safety) order 2005 article 8 to 23
- 22.05.2005 lunaf
- Vremechko 2005-11-28
- Copyright 2005
- Mtdf 2005-10
- Mental capacity act easy read
- Peraturan pemerintah no 58 tahun 2005
- Formula gillies
- Amc8 2001
- Informe técnico 2005-2016-servir/gpgsc
- Dts sql server 2005
- 2005
- Pearson
- Copyright 2005
- Reportable irregularity template