* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Matrices - Computer Science
Survey
Document related concepts
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