Tải bản đầy đủ (.ppt) (43 trang)

Silde bài giảng cấu trúc rời rạc phần dao động truyền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (173.18 KB, 43 trang )

BAO ĐÓNG TRUYỀN
Bao đóng truyền của quan hệ R là
quan hệ truyền nhỏ nhất chứa R.

Thuật toán :
Kiểm tra tính truyền.
Nếu vi phạm thì bổ xung phần tử vi phạm vào quan hệ.
Lặp lại cho đến khi không còn phần tử nào vi phạm.
Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


BAO ĐÓNG TRUYỀN
Thí dụ :
Tìm bao đóng truyền của R :
R = {(a, b), (b, d), (a, c), (d, f)}.
Kiểm tra tính truyền trên R.
(a, b) + (b, d) → thêm vào (a, d).
Kiểm tra tính truyền trên R∪{(a, d)}.
(a, d) + (d, f) → thêm vào (a, f).


(_,_)
(_,_)

(a,b) (_,_) R
(_,_)
(b,d)


(a,d)

Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


BAO ĐÓNG TRUYỀN
Ký hiệu :
R1 = R,
R2 = R : R,
Rn = Rn-1 : R.
Bao đóng truyền của R là :

C(R) =  R.n
1

Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


BAO ĐÓNG TRUYỀN
Biểu diễn quan hệ bằng tập hợp :
R = {(1,2), (2,3), (2,6), (3,5), (4,1), (5,7), (6,1),(8,3), (8,7)}.
Biểu diễn quan hệ bằng đồ thò hữu hướng :
Biểu diễn quan hệ bằng ma trận :
1

1 2 3 4 5 6 7 8
2
8
1 0 1 0 0 0 0 0 0
3

7
4

5

6

2 0 0 1 0 0 1 0
3 0 0 0 0 1 0 0
4 1 0 0 0 0 0 0
5 0 0 0 0 0 0 1
6 1 0 0 0 0 0 0
7 0 0 0 0 0 0 0
Nguyễn
8 0 0Quang
1 0 0Châu
0 1

0
0
0
0
0
0

- 0Khoa

CNTT ĐHCN TpHCM

s


BAO ẹONG TRUYEN
Tớch Boolean cuỷa 2 ma traọn.
Qui ửụực : 01 = 0, 00 = 0, 11 = 1, 11 = 1, 01 = 1, 00 = 0
(01) (10) (11) 0= 11
(01) (11) (11) 1= 10
(01) (10) (10) 1= 01

1
0
0
0
1
1



1
0
1

1
0
1


1
1
1

1
0
0

1 1 0
1
0
1 1 1
0
1 1 1
Nguyn Quang Chõu - Khoa
CNTT HCN TpHCM

s


BAO ĐÓNG TRUYỀN
Quan hệ R trên tập miền trò có n phần tử thì
bao đóng truyền của R là :
C(R) = R1 ∪ R2 ∪ … ∪ Rn
Biểu diễn quan hệ R bằng ma trận nhò phân M(R)
Ta có M(R : R) = M(R)  M(R)
Ký hiệu M(R)  M(R) = M(R)2.
M(C(R)) = M(R) ⊕ M(R)2 ⊕ M(R)3 ⊕ … ⊕ M(R)n.
Nguyễn Quang Châu - Khoa

CNTT ĐHCN TpHCM

s


BAO ĐÓNG TRUYỀN
Tìm bao đóng truyền của quan hệ R
R = {(a, a), (a, c), (b, b), (c, a), (c, b)}.
1
M(R) = 0
1
1
0
1

0
1
1

0
1
1

1
0
0

1
1
0 ⊕ 0

0
1

M(R)2 =
1
1
1

1
0
1

1
0 ⊕
1

1 1 1
M(R)3 = 0 1 0
1 1 1

1 1
1 0
1 1
1
0
1

1
1
1


1
0
1

=

1
0
1

1
1
1

1
0
1

Quang
Châu - Khoa
Bao đóng truyền của R là R Nguyễn
∪ {(a, b),
(c, c)}.
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM

Khái niệm đỉnh trong của đường có hướng AB.
3
2
1

5

4

B

A

1

1

A

2

2
3

B

3

B


4

A

Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
R là quan hệ trên tập n phần tử a1, … , an.
Thuật toán Warshall xây dựng chuỗi ma trận W0, W1, … , Wn.
W0 = M(R) (ma trận nhò phân của R)
W1 = [wij]
với wij = 1 nếu có một đường đi từ ai đến aj sao cho
mọi đỉnh trong của nó thuộc tập {a1}, ngược lại wij = 0.
W2 = [wij]
với wij = 1 nếu có một đường đi từ ai đến aj sao cho
mọi đỉnh trong của nó thuộc tậpNguyễn
{a1, a2},Quang
ngượcChâu
lại w-ij =
0.
Khoa
CNTT ĐHCN TpHCM

s



WARSHALL ALGORITHM
Quan heä R = {(1, 1), (1, 3), (2, 2), (3, 1), (3, 2)}
1 2 3
1

3

2

1

1

1

0

1

W0 = 2

0

1

0

3

1


1

0

1

2

1

1

0

1

W2 = 2

0

1

0

1

Quang
1 Nguyễn
1

3 Châu
1 1- Khoa
1
CNTT ĐHCN TpHCM

1

1

0

1

0

1

0

1

1

1

1

2

3


1

1

1

1

W3 = 2

0

1

0

W1 =

s


WARSHALL ALGORITHM
Bổ đề :
Tập đỉnh đang khảo sát {v1, … , vk} của ma trận.
Wk = [vij]
Wk+1 = [wij]
với wij = vij ∨ (vik ∧ vkj).

Nguyễn Quang Châu - Khoa

CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
W0 = [xij] W1 = [yij]

vôùi bij = xij ∨ (xi1 ∧ x1j).

y11 = x11 ∨ (x11 ∧ x11) = 1 ∨ (0 ∧ 0) = 1.
y12 = x12 ∨ (x11 ∧ x12) = 0 ∨ (1 ∧ 0) = 0.
y13 = x13 ∨ (x11 ∧ x13) = 1 ∨ (0 ∧ 0) = 1.

W0 =

1 0 1
0 1 0
1 1 0

W1 =

1 0 1
0 1 0
1 1 1

y21 = x21 ∨ (x21 ∧ x11) = 0 ∨ (0 ∧ 1) = 0.
y22 = x22 ∨ (x21 ∧ x12) = 1 ∨ (1 ∧ 1) = 1.
y23 = x23 ∨ (x21 ∧ x13) = 0 ∨ (0 ∧ 1) = 0.
y31 = x31 ∨ (x31 ∧ x11) = 1 ∨ (1 ∧ 0) = 1.


y32 = x32 ∨ (x31 ∧ x12) = 1 ∨ (1 ∧ 1) = 1. Nguyễn Quang Châu - Khoa
y = x ∨ (x ∧ x ) = 0 ∨ (1 ∧ 1) = 1. CNTT ĐHCN TpHCM
33

33

31

13

s


WARSHALL ALGORITHM
W1 = [xij] W2 = [yij]

vôùi bij = xij ∨ (xi2 ∧ x2j).

y11 = ………. = 1.
y12 = x12 ∨ (x12 ∧ x22) = 0 ∨ (0 ∧ 1) = 0.
y13 = ……… = 1.

W1 =

1 0 1
0 1 0
1 1 1

W2 =


1 0 1
0 1 0
1 1 1

y21 = x21 ∨ (x22 ∧ x21) = 0 ∨ (1 ∧ 0) = 0.
y22 = ……… = 1.
y23 = x23 ∨ (x22 ∧ x23) = 0 ∨ (1 ∧ 0) = 0.
y31 = …….. = 1.
y32 = …….. = 1.
y33 = …….. = 1.

Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
W2 = [xij] W3 = [yij]

vôùi bij = xij ∨ (xi3 ∧ x3j).

y11 = ………. = 1.
y12 = x12 ∨ (x13 ∧ x32) = 0 ∨ (1 ∧ 1) = 1.
y13 = ……… = 1.

W2 =

1 0 1

0 1 0
1 1 1

W3 =

1 1 1
0 1 0
1 1 1

y21 = x21 ∨ (x23 ∧ x31) = 0 ∨ (0 ∧ 1) = 0.
y22 = ……… = 1.
y23 = x23 ∨ (x23 ∧ x33) = 0 ∨ (0 ∧ 1) = 0.
y31 = …….. = 1.
y32 = …….. = 1.
y33 = …….. = 1.

Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
Quan heä :
2

1

3
4


5

W0 =
W1 =
8
W2 =
W3 =
7 W =
4
W5 =
6
W6 =
W7 =
W8 =

1

2

3

4

5

6

7


8

1

0

1

0

0

0

0

0

0

2

0

0

1

0


0

1

0

0

3

0

0

0

0

1

0

0

0

4

1


0

0

0

0

0

0

0

5

0

0

0

0

0

0

1


0

6

1

0

0

0

0

0

0

0

7

0

0

0

0


0

0

0

0

8

0

0

1

0

0

0

1

0

Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s



WARSHALL ALGORITHM
Quan heä :
2

1

3
4

5

w1 → {1} : (4, 2) (6, 2)

W0 =
W1 =
8
W2 =
W3 =
7 W =
4
W5 =
6
W6 =
W7 =
W8 =

1


2

3

4

5

6

7

8

1

0

1

0

0

0

0

0


0

2

0

0

1

0

0

1

0

0

3

0

0

0

0


1

0

0

0

4

1

1

0

0

0

0

0

0

5

0


0

0

0

0

0

1

0

6

1

1

0

0

0

0

0


0

7

0

0

0

0

0

0

0

0

8

0

0

1

0


0

0

1

0

Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
Quan heä :
2

1

3
4

5

W0 =
W1 =
8
W2 =
W3 =

7 W =
4
W5 =
6
W6 =
W7 =
W8 =

1

2

3

4

5

6

7

8

1

0

1


1

0

0

1

0

0

2

0

0

1

0

0

1

0

0


3

0

0

0

0

1

0

0

0

4

1

1

1

0

0


1

0

0

5

0

0

0

0

0

0

1

0

6

1

1


1

0

0

1

0

0

7

0

0

0

0

0

0

0

0


8

0

0

1

0

0

0

1

0

w2 → {1, 2} : (4, 3) (6, 3) (1, 6) (1, 3) (4, 6) (6, 6)
Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
Quan heä :
2

1


3
4

5

W0 =
W1 =
8
W2 =
W3 =
7 W =
4
W5 =
6
W6 =
W7 =
W8 =

w3 → {1, 2, 3} : (6, 5) (4, 5) (1, 5) (2, 5)

1

2

3

4

5


6

7

8

1

0

1

1

0

1

1

0

0

2

0

0


1

0

1

1

0

0

3

0

0

0

0

1

0

0

0


4

1

1

1

0

1

1

0

0

5

0

0

0

0

0


0

1

0

6

1

1

1

0

1

1

0

0

7

0

0


0

0

0

0

0

0

8

0

0

1

0

0

0

1

0


Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
Quan heä :
2

1

3
4

5

W0 =
W1 =
8
W2 =
W3 =
7 W =
4
W5 =
6
W6 =
W7 =
W8 =


1

2

3

4

5

6

7

8

1

0

1

1

0

1

1


1

0

2

0

0

1

0

1

1

1

0

3

0

0

0


0

1

0

1

0

4

1

1

1

0

1

1

1

0

5


0

0

0

0

0

0

1

0

6

1

1

1

0

1

1


1

0

7

0

0

0

0

0

0

0

0

8

0

0

1


0

1

0

1

0

w4 → {1, 2, 3, 4} :
Nguyễn Quang Châu - Khoa
(4,
7) (6, 7) (8, 5)
(2,
7)
(3,
7)
w5 → {1, 2, 3, 4, 5} : (1, 7)
CNTT ĐHCN TpHCM

s


WARSHALL ALGORITHM
Quan heä :
2

1


3
4

5

W0 =
W1 =
8
W2 =
W3 =
7 W =
4
W5 =
6
W6 =
W7 =
W8 =

1

2

3

4

5

6


7

8

1

1

1

1

0

1

1

1

0

2

1

1

1


0

1

1

1

0

3

0

0

0

0

1

0

1

0

4


1

1

1

0

1

1

1

0

5

0

0

0

0

0

0


1

0

6

1

1

1

0

1

1

1

0

7

0

0

0


0

0

0

0

0

8

0

0

1

0

1

0

1

0

(6, 7) Quang Châu - Khoa

w6 → {1, 2, 3, 4, 5, 6} : (1, 1) (2, 1) (2, 2)Nguyễn
CNTT ĐHCN TpHCM

s


QUAN HỆ TƯƠNG ĐƯƠNG




Phản hồi.
Đối xứng.
Truyền.

Thí dụ :
* Quan hệ song song giữa các đường thẳng.
* Quan hệ modulo.
Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


QUAN HE TệễNG ẹệễNG
Laỏy X = {1, 2, 3, 4, 5, 6, 7, 8}.
R = {(1,1), (2,2), (1,2), (6,1), (2,6), (3,5), (8,7), (3,3),
(4,4), (2,1), (1,6), (5,5), (6,6), (5,3), (6,2), (7,8),
(7,7), (8,8)}.
Chửựng minh quan heọ R laứ quan heọ tửụng ủửụng.

Nguyn Quang Chõu - Khoa
CNTT HCN TpHCM

s


QUAN HỆ TƯƠNG ĐƯƠNG
R = {(1,1), (2,2), (1,2), (6,1), (2,6), (3,5), (8,7), (3,3), (4,4),
(2,1), (1,6), (5,5), (6,6), (5,3), (6,2), (7,8), (7,7), (8,8)}.
Phản hồi : chứa đường chéo.
Đối xứng :
(1, 2) có (2, 1),
(6, 1) có (1, 6),
(2, 6) có (6, 2),
….
Truyền :
(1, 2) + (2, 6) → (1, 6),
(1, 2) + (2, 1) → (1, 1), … .
Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


TẬP SỐ NGUYÊN Z
Chia đúng :
m chia đúng cho n nếu m = kn với k ∈ Z.
Ký hiệu n | m.
Thí dụ :
2 | 8,


3 | 12,

15 | 45.
Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


TẬP SỐ NGUYÊN Z
Đònh lý :
Lấy a, b là 2 số nguyên với b > 0 thì có duy nhất 2 số
nguyên q, r sao cho :
a = bq + r, với 0 ≤ r < b.
Thí dụ :
a = 25, b = 3 thì q = 8, r = 1 để cho 25 = 3×8 +1.
a = 19, b = 5 thì q = 3, r = 4 để cho 19 = 5×3 + 4.
Nguyễn Quang Châu - Khoa
CNTT ĐHCN TpHCM

s


×