Download Matrices - Computer Science

Document related concepts

Renormalization wikipedia , lookup

Theoretical ecology wikipedia , lookup

Scalar field theory wikipedia , lookup

Mathematics of radio engineering wikipedia , lookup

Mathematical economics wikipedia , lookup

Theoretical computer science wikipedia , lookup

Mathematical physics wikipedia , lookup

Transcript
DISCRETE COMPUTATIONAL
STRUCTURES
CS 23022
Fall 2005
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
Learning Objectives
Learn about Boolean expressions
Become aware of the basic properties of
Boolean algebra
Explore the application of Boolean algebra in the
design of electronic circuits
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
 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
Learning Objectives
Learn about matrices and their relationship with
relations
Become familiar with Boolean matrices
Learn the relationship between Boolean matrices
and different closures of a relation
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
 Two matrices are added only if they have the same number
of rows and the same number of columns
 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
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
 Let A = [aij]m×n be an m ×
n matrix and B = [bjk ]n×p
be an n × p matrix. Then
AB is defined
 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
 Multiply corresponding
elements as in Figure 4.1
Discrete Mathematical Structures: Theory and Applications
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
 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
Boolean (Zero-One) Matrices
Matrices whose entries are 0 or 1
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
 Boolean (Zero-One) Matrices
 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
 ALGORITHM 4.3: Compute the transitive closure
 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
transitive closure of M
 1. procedure transitiveClosure(M,T,n)
 2. begin
 3.
A := M;
 4.
T := M;
 5.
for i := 2 to n do
 6.
begin
 7.
A :=
//A = Mi
 8.
∨ Mi
T := T ∨ A;
//T= M ∨ M2 ∨ · · ·
 9.
end
 10. end
Discrete Mathematical Structures: Theory and Applications
74
Warshall’s Algorithm for Determining the
Transitive Closure
Previously, the transitive closure of a relation R was
M R then
found by computing the matrices
and
taking the Boolean join
n
This 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
Let A = {a1, a2, . . . , an} be a finite set, n ≥ 1, and
let R be a relation on A.
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
 ALGORITHM 4.4: Warshall’s Algorithm
 Input: M —Boolean matrices of the relation R
 n—positive integers such that n × n specifies the size of M
 Output: W —an n × n Boolean matrix such that
W is the transitive
closure of M
 1. procedure WarshallAlgorithm(M,W,n)
 2. begin
 3.
W := M;
 4.
for k := 1 to n do
 5.
 6.
 7.
 8.
 9.
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;
 10. end
Discrete Mathematical Structures: Theory and Applications
80
Discrete Mathematical Structures: Theory and Applications
81
Discrete Mathematical Structures: Theory and Applications
82
Learning Objectives
Learn the basic counting principles—
multiplication and addition
Explore the pigeonhole principle
Learn about permutations
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
 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.
 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
Suppose tasks T1, T2, and T3 are as follows:
T1 : Choose a mathematics book.
T2 : Choose a chemistry book.
T3 : Choose a computer science book.
Then tasks T1, T2, and T3 can be done in 15, 12, and
10 ways, respectively.
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
 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 A1, A2,
and A3, from studio A to studio B and four roads, say B1, B2, B3,
and B4, 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
 There are 3 ways to go from studio A to studio B and 4
ways to go from studio B to studio C.
 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
 Consider two finite sets, X1 and X2. Then
 This is called the inclusion-exclusion principle for two finite sets.
 Consider three finite sets, A, B, and C. Then
 This is called the inclusion-exclusion principle for three finite sets.
Discrete Mathematical Structures: Theory and Applications
92
Pigeonhole Principle
The pigeonhole principle is also known as the Dirichlet
drawer principle, or the shoebox principle.
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 n1=5, n2=3 and n3 =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!/ n1!n2!n3!
= 10 * 9 * 8 * 7 * 6 / (3 * 2 * 1 * 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 1s ?
Using the formula above, with n = 8 and k = 3, the answer is C(8,3).
C(8,3) = 8! / 3!(8-3)! = 8!/ 3!5! = 8 * 7 * 6 / 3 * 2 * 1 = 56
Examples: 11100000 00000111 00011100 01010100 etc
Discrete Mathematical Structures: Theory and Applications
103
Generalized Permutations and Combinations
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)
y
Suppose we have x + y = 3, with x≥ 0,
y ≥0.
y=3-x
3.5
3
2.5
2
1.5
1
0.5
0
0, 3
1, 2
2, 1
3, 0
0
1
2
3
4
x
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
Permutations and Combinations - Rosen
Discrete Mathematical Structures: Theory and Applications
106