You are on page 1of 17

Chương 5.

QUAN HỆ

1. Quan hệ và các tính chất


1.1. Định nghĩa quan hệ hai ngôi.
Cho A và B là các tập hợp. Một quan hệ hai ngôi (có thể gọi tắc là quan hệ ) từ A đến B là
một tập con R của tập tích Đề-các A × B
Khi (a, b) thuộc R, a đuợc nói là có quan hệ R với b, ký hiệu aRb. Ngược lại, ký hiệu
để chỉ (a, b) ∉R hay a không có quan hệ R với b.
Ví dụ. Cho A là tập các sinh viên của lớp bạn và B là tập các môn học. Cho R là quan hệ
bao gồm các cặp (a, b) trong đó a là sinh viên ghi tên môn học b. Nếu Jason Goodfriend
và Deborah Sherman đều ghi tên học môn Toán rời rạc có mã số là CS518 thì các cặp
(Jason Goodfriend, CS518), (Deborah Sherman, CS518) thuộc R. Nếu Jason Goodfriend
không đăng ký học môn Cấu trúc dữ liệu có mã số CS512 thì cặp (Jason Goodfriend,
CS512) không thuộc R.
Ví dụ. Cho A = {0, 1, 2} và B = {a, b}. Khi đó {(0, a), (0, b), (1, a), (2, b)} là một quan
hệ từ A đến B. Ta có thể hiểu là 0Ra, 1Ra, 2Ra,…
1.2. Hàm như một quan hệ
Nếu f là một hàm từ A đến B thì đồ thị hàm f là tập các cặp được sắp (a, b) sao cho:
b = f(a).
Vì đồ thị hàm f là tập con của tập tích Đề-các A × B, nên nó là một hàm từ A đến B.
Ngược lại, nếu R là một quan hệ từ A đến B sao cho mỗi phần tử của A là phần tử đầu
tiên của đúng một cặp được sắp của R , thì có thể định nghĩa được một hàm bằng cách
gán cho mỗi phần tử a ∈ A với một phần tử duy nhất b∈ B sao cho (a, b) ∈ R. R cũng
chính là đồ thị của hàm.
1.3. Các quan hệ trên một tập hợp
Định nghĩa. Một quan hệ trên tập A là một quan hệ từ A đến A. Nói một cách khác, một
quan hệ trên tập A là một tập con của tập A × A.
Ví dụ. Cho A là tập {1, 2, 3, 4}.
Hỏi các cặp được sắp nào thuộc quan hệ
R = {(a, b)| b chia hết cho a}.
Giải. R = {(1, 1), (1,2), (1, 3), (1, 4), (2, 2), (2, 4), (3, 3), (4, 4)}
Ví dụ. Có bao nhiêu quan hệ trên tập có n phần tử?
Giải. Một quan hệ trên tập A là tập con của A × A.. Vì tập A × A. có n2 phần tử nên số
2
tập con của A × A. là 2 n ( nhớ lại rằng số tập con của tập gồm m phần từ là 2m). Do đó,
2
có 2 n quan hệ trên tập gồm phần tử.
1.4. Các tính chất của quan hệ
Định nghĩa. Quan hệ R được gọi là có tính phản xạ nếu với mọi a ∈ A , (a, a)∈R với
mọi a ∈ A.
Ví dụ . Xét các quan hệ sau đây trên tập {1, 2, 3, 4}

52

CuuDuongThanCong.com https://fb.com/tailieudientucntt
R1 = {(1,1), (1,2), (2,1)(2,2), (3,4), (4,1), (4,4)}
R2 = {{1,1), (1,2), (2,1)}
R3 = {(1,1), (1,2), (1,4)(2,1), (2,2), (3,3), (4,1), (4,4)}
R 4 = {( 2,1), (3,1), (3,2), (4,1), (4,2), (4,3)}
R5 = {(1,1), (1,2), (1,3), (1,4), (2,2), (2,3), (2,4), (3,3), (3,4), (44)}
R 6 = {(3,4)}
Các quan hệ nào ở trên có tính phản xạ?
Giải.
Quan hệ R3 có tính phản xạ vì tất cả các cặp dạng (a, a), cụ thể là:
(1,1), (2, 2), (3, 3), (4, 4) đều thuộc R3 .
Tương tự, quan hệ R5 cũng có tính phản xạ.
Quan hệ R1 không có tính phản xạ vì cặp (3, 3) không thuộc R1.
Tương tự, các quan hệ R2, R4, R6 cũng không có tính phản xạ.
Ví dụ. Quan hệ “chia hết” trên tập các số nguyên dương là có tính phản xạ không?
Giải. Vì a|a với mọi a là số nguyên dương nên quan hệ “chia hết” có tính phản xạ
Định nghĩa. Quan hệ R trên tập A gọi là đối xứng nếu với mọi a, b ∈ A, a R b thì b R a
Ví dụ. Các quan hệ nào trong ví dụ là đối xứng?
Các quan hệ R2, R3 là đối xứng vì trong mỗi trường hợp (a, b) thuộc quan hệ thì đều có
(b, a) thuộc quan hệ.
Quan hệ R1 không đối xứng vì có cặp (3, 4) thuộc R1 nhưng (4, 3) không thuộc R1.
Tương tự, dễ dàng kiểm ta các quan hệ còn lại cũng không có tính đối xứng bằng cách
tìm một cặp (a, b) thuộc quan hệ nhưng (b, a) không thuộc quan hệ đó.
Định nghĩa. Quan hệ R trên tập A đuợc gọi là có tính phản đối xứng hay phản xứng nếu
với mọi a, b ∈ A, (a, b)∈R và (b, a)∈R thì a = b.
Ví dụ. Các quan hệ R1 trong ví dụ có tính phản xứng không?
Giải. Quan hệ R1 không phản đối xứng vì có cặp (1, 2) và (2, 1) thuộc R1 nhưng 1 ≠ 2
Ví dụ . Quan hệ “chia hết” trên tập các số nguyên dương là có tính phản xứng không?
Giải :Vì với mọi số nguyên dương a, b, nếu a|b và b|a thì ta có a = b. Do đó quan hệ chia
hết trên tập các số nguyên dương có tính phản xứng.
Định nghĩa. Một quan hệ R trên tập A được gọi là có tính bắc cầu nếu a, b, c ∈ A, (a, b)
∈R và (b, c)∈R thì (a, c) ∈R.
Ví dụ. Quan hệ R1, R4 trong ví dụ có tính bắc cầu không?
Giải.
Quan hệ R1 không có tính bắc cầu vì (3, 4) và (4, 1) thuộc R1 nhưng (3, 1) không thuộc
R1.
Quan hệ R4 có tính bắc cầu vì (3, 2) và (2, 1) thuộc R4 thì (3, 1) cũng thuộc R4.
Tương tự, (4, 2), (2, 1), (4, 1) và (4, 3), (3, 1), (4, 1) thuộc R4.
Ví dụ. Quan hệ “chia hết” trên tập các số nguyên dương là có tính bắc cầu không?

53

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Giải. Giả sử a chia hết cho b và b chia hết cho c, khi đó tồn tại các số nguyên dương k và
l sao cho a = kb và b = lc. Từ đó tồn tai số nguyên dương kl thỏa a = klc, nghĩa là a chia
hết cho c. Do đó, quan hệ “chia hết” có tính bắc cầu.
1.5. Tổ hợp các quan hệ
Vì các quan hệ từ A đến B là tập con của tập A×B, nên hai quan hệ từ A đến B cũng có
thể đuợc tổ hợp như hai tập hợp
Ví dụ. cho A = {1, 2, 3} và B = {1, 2, 3, 4}. Các quan hệ R1 = {(1, 1), (2, 2), (3, 3)} và
R2 = {(1, 1), (1, 2), (1, 3), (1, 4)} có thể tổ hợp để nhận được:
R1∪R2 = {(1, 1), (2, 2), (3, 3), (1, 2), (1, 3), (1, 4)}
R1 ∩R2 ={(1, 1)}
R1 – R2 ={(2, 2), (3, 3)}
R2 – R1 = {(1, 2), (1, 3), (1, 4)}
Tương tự như hợp thành của các hàm, ta có hợp thành của các quan hệ.
Định nghĩa. Cho R là một quan hệ từ tập A đến tập B. S là quan hệ từ tập B đến tập C.
Hợp thành của R và S là một quan hệ chứa các cặp được sắp (a, c) trong đó a∈A và c∈C
và đối với chúng tồn tại một phần tử b∈B sao cho (a, b)∈R và (b, c)∈ S. Ta ký hiệu hợp
thành của R và S là SoR
Ví dụ . Xác định quan hệ hợp thành của R và S trong đó R là quan hệ từ tập {1, 2, 3} đến
tập {1, 2, 3, 4} với R = {(1, 1), (1, 4), (2, 3), (3, 1), (3, 4)} và S là quan hệ từ tập {1, 2, 3,
4} đến tập {0, 1, 2} với S = {(1, 0), (2, 0), (3, 1), (3, 2), (4, 1)}
Giải. Dựa vào định nghĩa ta tìm đuợc
SoR = {(1, 0), (1, 1), (2, 1), (2, 2), (3, 0), (3, 1)}
Định nghĩa. Cho R là một quan hệ trên tập A. Lũy thừa Rn với n = 1, 2, 3, …được định
nghĩa bằng quy nạp như sau:
R1 = R và Rn+1 =RnoR
Ví dụ. R = {(1,1), (2, 1), (3, 2), (4, 3)}. Tìm R, R1, R2, R3.
Giải. R2 = RoR = {(1, 1), (2, 1), (3, 1), (4, 2)}, R3 = R2oR = {(1, 1), (2, 1), (3, 1), (4, 1)}

2. Quan hệ n-ngôi
Định nghĩa. Cho A1, A2,…, An là các tập hợp. Một quan hệ n ngôi trên các tập này là
một tập con của tập A1× A2×…×An . Các tập A1, A2,…, An được gọi là miền của quan hệ
và n được gọi là bậc của quan hệ.
Ví dụ. Cho R là quan hệ gồm bộ 5 (A, N, S, D, T) biểu diễn các chuyến bay, trong đó A
là hãng hàng không,N là số chuyến bay, S là nơi xuất phát, D là nơi đến. Ví dụ hãng hàng
không Nardi Express có chuyến bay 693 từ Newark đến Bangor vào lúc 15h00, thì
(Nardi, 963, Newark, Bangor, 15h00) thuộc R. Bậc của quan hệ này là 5, các miền của nó
tương ứng là tập tất cả các hãng hàng không, tập các số chuyến bay, tập các thành phố đi,
tập các thanh phố đến và tập thời gian.

3. Biểu diễn các quan hệ


3.1. Biểu diễn quan hệ bằng ma trận

54

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Một quan hệ giữa các tập hữu hạn có thể biểu diễn bằng một ma trận zêrô-một. Giả sử R
là quan hệ từ tập A = {a1, a2, …, am} tới tập B = {b1, b2, …, bm}. Quan hệ R có thể biểu
diễn bằng ma trận MR = [mij], trong đó
⎧1 nếu (ai , b j ) ∈ R
mij = ⎨
⎩0 nếu (ai , b j ) ∉ R
Ví dụ. Cho A = {1, 2, 3} và B = {1, 2}. Giả sử R là quan hệ từ A đến B chứa (a, b) nếu
a∈A, b∈B và a > b.
Giải. Ta có R = {(2, 1), (3, 1), (3, 2)}. Khi đó ma trận biểu diễn quan hệ R là
⎡0 0 ⎤
MR = ⎢⎢1 0⎥⎥ .
⎢⎣1 1⎥⎦
Ví dụ. Cho A = {a1, a2, a3} tới tập B = {b1, b2, b3, b4, b5}. Các cặp nào được sắp nào
thuộc quan hệ R được biểu diễn bởi ma trận sau
⎡0 1 0 0 0⎤
MR = ⎢⎢ 1 0 1 1 0 ⎥⎥
⎢⎣ 1 0 1 0 1 ⎥⎦
Giải. Vì R gồm các cặp được sắp (ai, bj) với mij = 1, suy ra:
R = {(a1, b2), (a2, b1), (a2, b3), (a2, b4), (a3, b1), (a3, b3), (a3, b5)}
Nhận xét:
- Quan hệ R trên tập A là phản xạ nếu (a, a) ∈R với mọi a ∈ A. Từ đó suy ra quan hệ R là
phản xạ nếu và chỉ nếu mii = 1 với i = 1, 2, …, n hay nói cách khác là mọi phàn tử trên
đường chéo chính của MR bằng 1 như được cho trên hình 1.
⎡1 ⎤
⎢ 1 ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢ ⎥
⎢⎣ 1⎥⎦
Hình 1. Ma trận zerô-một biểu diễn quan hệ phản xạ
- Quan hệ R được gọi là đối xứng nếu (a, b)∈R kéo theo (b, a ) ∈R. Do đó quan hệ R
trên tập A là đối xứng nếu và chỉ nếu mij = mji với i, j = 1, 2, …, n.
⎡ 1 ⎤
⎢ ⎥
⎢ ⎥
⎢1 0⎥
⎢ ⎥
⎢ ⎥
⎢⎣ 0 ⎥⎦
Hình 2. Ma trận zerô-một biểu diễn quan hệ đối xứng
- Quan hệ R là phản xứng nếu và chỉ nếu (a, b) ∈ R và (b, a) ∈R kéo theo b = a. Do đó
ma trận của quan hệ phản xứng có tính chất: mij = 0 hoặc mji = 0 nếu i ≠ j.

55

CuuDuongThanCong.com https://fb.com/tailieudientucntt
⎡ 1 ⎤
⎢ 0 ⎥⎥

⎢0 0⎥
⎢ 0 ⎥
⎢ ⎥
⎣⎢ 1 ⎦⎥
Hình 3. Ma trận zerô-một biểu diễn quan hệ phản đối xứng
Ví dụ. Quan hệ R trên tập biểu diễn bởi trận
⎡1 1 0⎤
MR = ⎢⎢1 1 1⎥⎥
⎢⎣0 1 1⎥⎦
R có tính phản xạ, đối xứng , phản đối xứng không?
Giải. Vì tất cả các phần tử trên đường chéo chính bằng 1 nên R là phản xạ. MR là ma trận
đối xứng nên R đối xứng. Dễ dàng thấy rẳng R không phản xứng.
- Giả sử R1, R2 là hai quan hệ trên tập A có ma trận biểu diễn lần lược là M R , M R2 . Khi
đó ma trận biểu diễn hợp và giao của hai quan hệ đó là
M R1 ∪ R2 = M R1 ∨ M R2
M R1 ∩ R2 = M R1 ∧ M R2
Giả sử R là quan hệ từ tập A đến tập B có ma trận biểu diễn là MR và quan hệ S từ tập B
từ tập B đến tập C có ma trận biểu diễn là MS. Khi đó ma trận biểu diễn quan hệ hợp
thành SoR là:
M So R = M R .M S
Ví dụ. Giả sử quan hệ R1, R2 trên tập A được biểu diễn bằng các ma trận
⎡1 0 1⎤ ⎡1 0 1 ⎤
M R1 = ⎢1 0 0⎥ và M R2 = ⎢⎢0 1 1⎥⎥
⎢ ⎥
⎢⎣0 1 0⎥⎦ ⎢⎣1 0 0⎥⎦
Tìm các ma trận R1∪ R2, R1∩R2 và R1oR2.
Giải.
⎡1 0 1⎤
M R1 ∪ R2 = M R ∨ M R2 = ⎢⎢1 1 1⎥⎥
⎢⎣1 1 0⎥⎦

⎡1 0 1⎤
M R1 ∩ R2 = M R1 ∧ M R2 = ⎢⎢0 0 0⎥⎥
⎢⎣0 0 0⎥⎦

56

CuuDuongThanCong.com https://fb.com/tailieudientucntt
⎡1 1 1⎤
M R1oR2 = M R2 .M R1 = ⎢⎢1 1 0⎥⎥
⎢⎣1 0 1⎥⎦
3.2. Biểu diễn quan hệ bằng các đồ thị có hướng
Định nghĩa. Một đồ thị có hướng (digraph) là một tập V các đỉnh (hay các nút) cùng với
một tập E các cặp được sắp. Các cặp này gọi là các cạnh (hoặc các cung). Đỉnh a gọi là
đỉnh khởi đầu của cạnh (a, b) và đỉnh b gọi là đỉnh kết thúc của cạnh đó.
Cạnh (a, a) có thể biểu diễn bằng một cung từ đỉnh a quay lại chính nó. Một cạnh như
vậy gọi là một khuyên.
Ví dụ. Đồ thị có hướng của quan hệ
R = {(1, 1), (1, 3), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (4, 1)} trên tập {1, 2, 3, 4} được cho
bởi hình sau đây.
a ba

d a

Hình 4. Một đồ thị có hướng


Ví dụ. Các cặp được sắp nào thuộc quan hệ R được biểu diễn bởi đồ thị có hướng cho
trên hình 5.
1 2

4 3

Hình 5. Một đồ thị có hướng của quan hệ R

57

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Giải. Các cặp được sắp (x, y) trong quan hệ đó là:
R = {(1, 3), (1, 4), (2, 1), (2, 2), (2, 3), (3, 1), (3, 3), (4, 1), (4, 3)}
Mỗi một cặp này tương ứng với một cạnh của đồ thị đó, với (2, 2), (3, 3) tương ứng với
một cạnh của đồ thị đó, với (2, 2), (3, 3) tương ứng là hai khuyên.
Ví dụ. Xác định xem quan hệ biểu diễn bằng đồ thị có hướng cho trên hình 6 có là phản
xạ, đối xứng , phản xứng và bắc cầu không?

b c

Hình 6. Đồ thị có hướng của quan hệ R.


Giải. R có tính chất phản xạ vì đồ thị có hướng biểu diễn quan hệ R có khuyên ở tất cả
các đỉnh. R không là đối xứng vì có cạnh nối a với b nhưng không có cạnh nối b với a. R
không phản xứng vì có hai cạnh ngược hướng nối b, c. Cuối cùng, R không bắc cầu vì có
một cạnh nối a với b, một cạnh nối b với c nhưng không có cạnh nối a với c.

4. Bao đóng của các quan hệ


Giả sử R là một quan hệ trên tập A. R có thể có hoặc không có một tính chất P nào đó,
chẳng hạn tính phản xạ, tính đối xứng hoặc tính bắc cầu. Nếu một quan hệ S có tính chất
P và chứa R sao cho S là tập con của tất cả các quan hệ có tính chất P và chứa R, thì S
được gọi là bao đóng của R đối với P. (Chú ý rằng bao đóng của một quan hệ đối với
một tính chất nào đó có thể không tồn tại).
4.1. Bao đóng phản xạ
Giả sử R là một quan hệ trên tập A. Bao đóng phản xạ của R có thể tìm đuợc bằng cách
thêm vào R tất cả các cặp dạng (a, a) với a ∈ A nhưng không đuợc chứa trong R. Việc
thêm các cặp đó sẽ tạo ra một quan hệ mới có tính chất phản xạ, chứa R và chứa trong bất
kỳ quan hệ phản xạ nào chứa R . Chúng ta thấy rằng bao đóng phản xạ của R bằng R ∪ ∆
với ∆ = {(a, a)| a∈ A}
Ví dụ. Xác định bao đóng phản xạ của quan hệ R = {(a, b)|a > b} trên tập các số nguyên.
Giải. Bao đóng phản xạ của R là

58

CuuDuongThanCong.com https://fb.com/tailieudientucntt
R∪∆ = {(a, b)|a > b} ∪ {(a, a)|a∈Z} = {(a, b)|a ≥ b}
4.2. Bao đóng đối xứng
Bao đóng đối xứng của một quan hệ R có thể xây dựng bằng cách thêm các cặp (b, a)
không chứa trong R nhưng với (a, b)∈ R. Việc thêm các cặp này vào sẽ tạo ra một quan
hệ mới có tính đối xứng chứa R. Đồng thời, quan hệ mới này được chứa trong mọi quan
hệ đối xứng chứa R. Chúng ta thấy rằng bao đóng đối xứng của một quan hệ R bằng
R∪R-1 , ở đây R-1 = {(b, a)| (a, b)∈R}.
Ví dụ. Tìm bao đóng đối xứng của quan hệ R = {(a, b)|a > b} trên tập các số nguyên.
Giải. Bao đóng đối xứng của R là quan hệ
R∪R-1 = {(a, b)|a > b}∪{(b, a)|b>a} = {(a, b)|a ≠ b}
4.3. Bao đóng bắc cầu - thuật toán Warshall
Bao đóng bắc cầu của một quan hệ R có thể có thể đuợc tạo bằng cách thêm vào các cặp
(a, c) trong đó (a, b) và (b, a) đã được chứa trong quan hệ R. Việc xây dựng bao
đóng bắc cầu của một quan hệ phức tạp hơn việc xây dựng quan hệ các bao đóng phản xạ
hoặc đối xứng vì ta phải thêm các cặp mới cần phải có mặt và lặp lại quá trình này cho
đến khi không cần phải thêm một cặp nào nữa.
Chúng ta sẽ thấy rằng việc biểu diễn các quan hệ bằng đồ thị có hướng sẽ giúp chúng ta
xây dựng được các bao đóng bắc cầu
Định nghĩa. Một đường đi từ a đến b trong đồ thị có hướng G là một dãy gồm nhiều
cạnh ( x0 , x1 ), ( x1 , x 2 ), ( x 2 , x3 ),..., ( x n −1 , x n ) trong G với x 0 = a và x n = b , tức là dãy các
cạnh trong đó đỉnh kết thúc của một cạnh là đỉnh khởi đầu của cạnh tiếp theo trên đường
đi đó. Đường đi này ký hiệu là x0 , x1 , x 2 ,..., x n và có chiều dài là n. Một đường đi bắt đầu
và kết thúc ở cùng một đỉnh được gọi là một chu trình
Ví dụ. Trong các đỉnh cho dưới đây, dãy nào là một đường đi trong đồ thị có hướng cho
trên hình 7: a, b, e, d; a, e, c,d, b;b,a,c,b,a,a,b? Chiều dài đường đi đó bằng bao nhiêu?
Những đường nào là một chu trình?

a b c

3 e
d
Hình 7. Đồ thị có hướng
Giải.

59

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Vì mỗi cặp (a, b), (b, e)và (e, d) đều là cạnh của đồ thị, nên a,b,e,d là đường đi có chiều
dài là 3.
Đường đi a,b,e,d không là chu trình vì có đỉnh khởi đầu và đỉnh kết thúc khác nhau;
Vì (c, d) không là một cạnh nên a, e, c, d, b không là đường đi.
b,a,c,b,a,a,b là đường đi có chiều dài là 6 và có đỉnh khởi đầu và đỉnh kết thúc giống
nhau nên là một chu trình.
Nếu a, x1 , x 2 ,..., x m −1 , b là một đường đi thì các đỉnh trong của nó là x1 , x 2 ,..., x m −1 , tức là
tất cả các đỉnh nằm đâu đó trong đuờng đi nhưng khác với đỉnh và đỉnh cuối của đuờng đi
đó. Ví dụ, các đỉnh trong của đuờng đi a, c, d, f, g, h, b, j ở một đồ thị có hướng là c, d, f,
g, h và b. Các đỉnh trong của đuờng đi a, c, d, a, f, b là a, c, d và f. (Chú ý rằng đỉnh đầu
tiên của đuờng đi sẽ là đỉnh trong nếu nó đuợc gặp lại trên đuờng đi đó trừ phi là đỉnh
cuối cùng. Tương tự đỉnh cuối cùng của đường đi sẽ là đỉnh trong nếu nó đuợc gặp trước
đó trừ phi nó là đỉnh đầu tiên).
Thuật toán Warshall dựa trên việc xây dựng một dãy ma trận zerô-một. Những ma trận
đó là W0, W1, …, Wn, trong đó W0 = MR là ma trện biểu diễn quan hệ R, và
WK = [ wij(k ) ] trong đó wij( k ) = 1 nếu có một đường đi từ vi đến vj sao cho tất cả các đỉnh
trong của nó thuộc tập {v1 , v 2 ,..., v k } (k đỉnh đầu trong bảng liệt kê) và wij( k ) = 0 trong các
trường hợp còn lại. ( Đỉnh đầu tiên và đỉnh cuối trong đuờng đi có thể nằm ngoài tập k
đỉnh đầu tiên trong bảng liệt kê ). Ma trận Wn chính là bao đóng bắc cầu của quan hệ R
Ví dụ. Cho R là quan hệ có đồ thị có hướng cho trên hình 8. Giả sử a, b, c, d là bảng liệt
kê các phần tử của tập đang xét. Tìm ma trận W0, W1, W3, và W4

a b

d c
Hình 3. Đồ thị có hướng trong quan hệ R
Giải.
Đặt v1 = a, v 2 = b, v3 = c, v 4 = d } . W0 là quan hệ biểu diễn ma trận R. do đó

60

CuuDuongThanCong.com https://fb.com/tailieudientucntt
⎡0 0 0 1⎤
⎢1 0 1 0⎥⎥
W0 = ⎢
⎢1 0 0 1⎥
⎢ ⎥
⎣0 0 1 0⎦
W1 có 1 ở vị trí (i, j) nếu có một đường đi từ vi đến vj và đuờng đi này chỉ có v1 là đỉnh
trong, nếu có.chú ý rằng tất cả các đuờng đi có chiều dài bằng 1 có thể được dùng vì
chúng không có các đỉnh trong. Như vậy có một đường đi cho phép từ b đến d, cụ thể là
b,a,d. Từ đó
⎡0 0 0 1 ⎤
⎢1 0 1 1 ⎥
W1 = ⎢ ⎥
⎢1 0 0 1 ⎥
⎢ ⎥
⎣0 0 1 0 ⎦
W2 có 1 ở vị trí (i, j) nếu có một đường đi từ vi đến vj với các đỉnh trong chỉ là v1 = a
và/hoặc v2 = b, nếu có. Vì không có cạnh nào có b là đỉnh kết thúc nên sẽ không có
đuờng đi mới nào khi chúng ta có cho phép b là đỉnh trong. Từ đó suy ra W2 = W1
W3 có 1 ở vị trí (i, j) nếu có một đường đi từ vi đến vj với các đỉnh trong chỉ là v1= a, v2 =
b và/hoặc v3 = c, nếu có. Bây giờ chúng ta có các đuờng đi từ d đến a, cụ thể là d, c, a và
từ d đến d, cụ thể là d, c, d. Từ đó ta có
⎡0 0 0 1⎤
⎢1 0 1 1⎥
W3 = ⎢ ⎥
⎢1 0 0 1⎥
⎢ ⎥
⎣1 0 1 1⎦
Cuối cùng W4 có 1 ở vị trí (i, j) nếu có một đường đi từ vi đến vj với các đỉnh trong chỉ là
v1= a, v2 = b, v3 = c và/hoặc v4 = d, nếu có. Vì đây là tất cả các đỉnh của đồ thị nên phần
tử (i, j) = 1 nếu và chỉ nếu có một đuờng đi từ vi đến vj. Từ đó
⎡1 0 1 1⎤
⎢1 0 1 1⎥
W4 = ⎢ ⎥
⎢1 0 1 1⎥
⎢ ⎥
⎣1 0 1 1⎦
Ma trận cuối cùng này chính là ma trận biểu diễn bao đóng bắc cầu của R
THUẬT TOÁN WARSHALL
Procedure Warshall (MR : ma trận zêrô-một n×n)
W: = MR
for k: = 1 to n
begin
for i: = 1 to n
begin
for j:= 1 to n

61

CuuDuongThanCong.com https://fb.com/tailieudientucntt
wij:=wij ∨ (wik ∧ wkj)
end
end {W = [wij ] là MR* - Ma trận biểu diễn quan hệ bắc cầu}

5. Quan hệ tương đương


5.1. Quan hệ tương đương
Định nghĩa . Quan hệ cho trên tập A được gọi là tương đương nếu nó là phản xạ, đối
xứng và bắc cầu.
Hai phần tử trong một quan hệ tương đương được gọi là tương đương với nhau.
Ví dụ. Xét các quan hệ sau đây trên tập {1, 2, 3, 4}
R1 = {(1,1), (1,2), (2,1)(2,2), (3,4), (4,1), (4,4)}
R2 = {(1,1), (1,2), (1,4)(2,1), (2,2), (3,3), (4,1), (4,4)}
R3 = {(1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), (4,2), (4,3), (4,4)}
Các quan hệ nào ở trên là quan hệ tương đương?
R1 không là quan hệ tương đương vì không phản xạ. R3 không là tương đương vì không
có tính đối xứng. Dễ dàng kiểm tra quan hệ R2 là phản xạ, đối xứng và bắc cầu nên nó là
quan hệ tương đuơng.
Ví dụ. Đồng dư theo môđun m: Cho m là số nguyên dương lớn hơn 1. chứng minh rằng
quan hệ
R = {(a, b)| a ≡ b (mod m)}
Là quan hệ tương đuơng trên tập các số nguyên.
Giải.
Ta biết rằng a ≡ b (mod m) nếu và chỉ tồn tại số nguyên k sao cho a = km + b
Vì a = 0.m + a nên a ≡ a (mod m), do đó R là phản xạ.
Giả sử a ≡ b (mod m). Khi đó tồn tại số nguyên k sao cho a=km+b, suy ra b=(-k)m+a,
nghĩa là b ≡ a (mod m). Do đó, R là đối xứng.
Giả sử a ≡ b (mod m) và b ≡ c (mod m). Khi đó tồn tại hai các số nghuyên k và l sao cho
a = km +b và b = lm + c , suy ra a = (k + l)m + c. Điều này cho thấy a ≡ m (mod c). Do
đó, R là bắc cầu.
Vậy quan hệ đồng dư theo môđun m là quan hệ tương đương.
5.2. Các lớp tương đương và sự phân hoạch
Định nghĩa. Cho R là một quan hệ tương đương trên tập A. Tập tât cả các phần tử có
quan hệ với a của tập A được gọi là một lớp tương đương của a. Lớp tương đuơng của a
đối với R được ký hiệu là [a]R. ( Khi chỉ xét một quan hệ ta có thể bỏ chỉ số dưới R của
ký hiệu trên). Ta có:
[a]R = {s|(a, s)∈ R}
Nếu b∈R thì b là đại diện của lớp thương đương đó
Ví dụ. Xác định lớp tương đương của 0 và 1 trong quan hệ đồng dư theo môđun 4

62

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Giải. Lớp tương đương của 0 chứa tất cả các số nguyên a sao cho a ≡ (0 mod 4). Các số
nguyên thuộc lớp này chính là các số nguyên chia hết cho 4. Từ đó, lớp tương đương của
quan hệ này là:
[0] = {…, - 8, - 4, 0, 4, 8, …}
Lớp tương đương của 1 chứa tất cả các số nguyên a sao cho a ≡ (1 mod 4). Các số
nguyên thuộc lớp này chính là các số nguyên chia cho 4 có số dư là 1. Từ đó, lớp tương
đuơng của 1 đối vvới quan hệ này là:
[1] = {…, -7, -3, 1, 5, 9, …}
Một phân hoạch của tập hợp S là một tập hợp các tập con con không rỗng rời nhau của
tập hợp S và có S nhhư là hợp của chúng. Nói một cách khác, tập hợp các tập con Ai, i∈ I
(I là tập chỉ số) tạo nên một phân hoạch của S nếu và chỉ nếu:
- Ai ≠∅ với i∈I
- Ai∩Aj =∅ khi i≠ j
- và ∪ Ai = S
i∈I

Định lý. Cho R là quan hệ tương đuơng trên tập A. Các mệnh đề sau là tương đuơng.
(i) aRb
(ii) [a] = [b]
(iii) [a] ∩ [b] = ∅
Chứng minh:
(i) => (ii). Giả sử aRb, ta phải chứng minh rằng [a] = [b] bằng cách chứng tỏ [a] ⊆ [b] và
[b]⊆ [a]. Giả sử c∈[a]. Khi đó aRc. Vì aRb và R là đối xứng nên bRa. Hơn nữa vì R là
bắc cầu và bRa và aRc, suy ra bRc. Do đó c∈[b], tức là [a] ⊆ [b]. Việc chứng minh [b]
⊆[a] hoàn toàn tương tự.
(ii) => (iii). Giả sử [a] = [b]. Suy ra [a] ∩ [b] ≠ ∅ vì [a] là không rỗng (do a∈ [a] vì R là
phản xạ)
(iii) =>(i). Giả sử [a]∩[b]≠∅. Khi đó có một phần tử c với c∈[a] và c∈[b]. Nói một cách
khác aRc và cRb. Vì tính bắc cầu của quan hệ suy ra aRb.
Vậy (i), (ii), (iii) là tương đương.
Một phân hoạch của tập hợp S là một tập hợp các tập con con không rỗng rời nhau của
tập hợp S và có S như là hợp của chúng. Nói một cách khác, tập hợp các tập con Ai, i∈ I
(I là tập chỉ số) tạo nên một phân hoạch của S nếu và chỉ nếu
- Ai ≠∅ với i∈I
- Ai∩Aj =∅ khi i≠ j
- và ∪ Ai = S
i∈I

Nhận xét:
Cho R là quan hệ tương đương trên tập A. Hợp tất cả các lớp tương đương của R là toàn
bộ tập A, vì một phần tử a∈A sẽ thuộc một lớp tương đương riêng của nó. Nói một cách
khác
∪ [a] R = A
a∈ A

63

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Theo định lý, suy ra rằng các lớp tương đương này là bằng nhau hoặc là rời nhau, sao cho
[a ] R ∩ [b] R = ∅ khi [a ] R ≠ [b] R
Vậy các lớp tương đương tạo nên sự phân hoạch của tập A
Ví dụ. Xác định các tập trong phân hoạch theo quan hệ đồng dư theo môdun 4
Giải. Có 4 lớp đồng dư, tương ứng là [0], [1], [2], [3]. Đó là các tập hợp:
[0] = {…, - 8, - 4, 0, 4, 8, …}
[1] = {…, -7, -3, 1, 5, 9, …}
[2] = {…, -6, -2, 2, 6, 10,…}
[3] ={…, -5, -1, 3, 8, 11,…}
Các lớp đồng dư này rời nhau và mỗi số nguyên chỉ thuộc chính xác một trong bốn tập
hợp đó. Do đó, theo định lý, các lớp đồng dư này tạo nên một phân hoạch.

BÀI TẬP
1. Liệt kê các các cặp được sắp trong quan hệ R từ A={0,1,2,3,4} đến B={0,1,2,3}
trong đó (a, b) thuộc R nếu và chỉ nếu:
a) a = b
b) a + b = 4
c) a > b
d) a | b
e) ƯCLN(a, b) = 1
f) BCNN(a, b) = 2
2. Liệt kê các cặp được sắp trong quan hệ R = {(a, b) | b chia hết cho a} trên tập hợp
{1, 2, 3, 4, 5, 6}biểu diễn quan hệ trên bằng đồ thị.
3. Đối với các quan hệ cho dưới đây trên tập {1, 2, 3, 4}, hãy xác định xem nó có
phản xạ, đối xứng, phản đối xứng, bắc cầu không?
a) {(2,2), (2,3), (2, 4), (3,2), (3,3), (3,4)}
b) {(1,1),(1,2), (2,1), (2,2), (3,3), (4,4)}
c) {(2,4), (4,2)}
d) {(1,2), (2,3), (3,4)}
e) {(1,10, (2,2), (3,3), (4,4)}
f) {(1,3), (1,4), (2,3), (2,4), (3,1), (3,4)}
4. Xác định quan hệ R trên tập mọi nguời có phản xạ, đối xứng, phản đối xứng và
bắc cầu không, với (a,b) ∈ R nếu và chỉ nếu:
a) a cao hơn b?
b) a và b cao cùng ngày?
c) A và b cùng tên?
d) A và b có cùng một ông
5. Cũng hỏi như trên với quan hệ R trên tập các số nguyên và (x,y) ∈ R nếu và chỉ
nếu:

64

CuuDuongThanCong.com https://fb.com/tailieudientucntt
a) x ≠ y
b) xy ≥ 1
c) x = y (mod 7)
d) x và y đều âm hoặc đều không âm.
e) x = y2.
6. Có bao nhiêu quan hệ khác nhau từ tập có m phần tử đến tập có n phần tử.
Cho R là một quan hệ từ tập A đến tập B. Quan hệ ngược từ B đến A, được ký hiệu là
R-1, là tập các cặp được sắp {(b, a) | (a, b) ∈ R}. Quan hệ bù R là tập các cặp được sắp
{(a, b)| (a, b)∉ R}
7. Cho R1 = {(1, 2), (2, 3), (3, 4)} và R2 = {(1, 1), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2),
(3, 3), (3, 4)} là các quan hệ từ {1, 2, 3} đến {1, 2, 3, 4}. Tìm:
a) R1 ∪ R2
b) R1 ∩ R2
c) R1 - R2
d) R2 ∪ R1
8. Cho R là một quan hệ có tính chất phản xạ và bắc cầu. Chứng minh là Rn = R với
mọi số nguyên dương n.
9. Cho R là quan hệ trên tập {1, 2, 3, 4, 5} chứa các cặp được sắp (1, 1), (1, 2), (1,
3), (2, 3), (2, 4), (3, 1), (3, 4), (3, 5), (4, 2), (4, 5), (5, 1), (5, 2) và (5, 4). Tìm:
a) R2
b) R3
c) R4
d) R5
10. Biểu diễn các quan hệ trên tập {1, 2, 3} dưới đây bằng ma trận (với các phần tử
được liệt kê theo thứ tự tăng dần)
a) {(1, 1), (1, 2), (1, 3)}
b) {(1, 2), (2, 1), (2, 2), (3, 3)}
c) {(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)}
d) {(1, 3), (3, 1)}
11. Liệt kê các cặp được sắp thứ tự trong quan hệ trên tập {1, 2, 3} tương ứng với
các ma trận dưới đây (trong đó các hàng và cột tương ứng với các số nguyên được
liệt kê theo thứ tự tăng)
⎡1 0 1 ⎤
a) ⎢⎢0 1 0⎥⎥
⎢⎣1 0 1⎥⎦

⎡0 1 0 ⎤
b) ⎢0 1 0 ⎥
⎢ ⎥
⎢⎣0 1 0⎥⎦

65

CuuDuongThanCong.com https://fb.com/tailieudientucntt
⎡1 1 1⎤
c) ⎢1 0 1⎥
⎢ ⎥
⎢⎣1 1 1⎥⎦

12. Hãy xác định xem các quan hệ được biểu diễn bởi các ma trận cho trong bài tập
11 có là phản xạ, đối xứng, phản đối xứng và/hoặc bắc cầu hay không?
⎡0 1 1 ⎤
13. Cho R là một quan hệ được biểu diễn bởi ma trận MR= ⎢⎢1 1 0⎥⎥ , tìm ma trận biểu
⎢⎣1 0 1⎥⎦
diễn:
a) R-1

b) b. R
c) c.R2
14. Cho R1 và R2 là hai quan hệ trên tập A được biểu diễn bằng các ma trận:
⎡0 1 0 ⎤ ⎡0 1 0 ⎤
M R1 = ⎢⎢1 1 1⎥⎥ và M R2 = ⎢⎢0 1 1⎥⎥
⎢⎣1 0 0⎥⎦ ⎢⎣1 1 1⎥⎦

Tìm các ma trận biểu diễn:


a) R1 ∪ R2
b) R1 ∩ R2
c) R1 o R2
d) R2 o R1
⎡0 1 0⎤
15. Cho R là quan hệ biểu diễn bằng ma trận: M R = ⎢⎢0 0 1⎥⎥ , tìm các ma trận biểu
⎢⎣1 1 0⎥⎦
diễn:
a) R2
b) R3
c) R4
16. Vẽ các đồ thị có hướng biểu diễn các quan hệ trong bài tập 10.
17. Vẽ các đồ thị có hướng biểu diễn các quan hệ trong bài tập 11
Trong các bài tập 18 – 20 hãy liệt kê các cặp đuợc sắp trong quan hệ biểu diễn bới các đồ
thị có hướng.
18. Cho đồ thị: a

b c

66

CuuDuongThanCong.com https://fb.com/tailieudientucntt
19. Cho đồ thị: a b

c d
20. Cho đồ thị: a b

c d
21. Cho R là một quan hệ trên tập {0, 1, 2, 3} chứa các cặp được sắp gồm có (0, 1),
(1, 1), (1, 2), (2, 0), (2, 2) và (3, 0). Tìm:
a) Bao đóng phản xạ của R
b) Bao đóng đối xứng của R
22. Cho R là quan hệ {(a, b) | a ≠ b}trên tập số nguyên. Tìm bao đóng phản xạ của R.
23. Cho R là quan hệ {(a, b) | a chia hết cho b}trên tập số nguyên. Tìm bao đóng đối
xứng của R.
24. Xác định dãy các đỉnh sau có là một đường đi trong đồ thị có hướng dưới đây
không?

a b c

d e
a) a, b, c, e
b) b, e, c, b, e
c) a, a, b, e, d, e
d) b, c, e, d, a, a, b
e) b, c, c, b, e, d, e, d

67

CuuDuongThanCong.com https://fb.com/tailieudientucntt
f) a, a, b, b, c, c, b, e, d
25. Tìm tất cả các chu trình có chiều dài bằng 3 trong đồ thị có hướng cho trong bài
tập 24.
26. Dùng thuật toán Warshall tìm bao đóng của các quan hệ sau cho trên tập {1, 2, 3,
4}
a) {(1, 2), (2, 1), (2, 3), (3, 4), (4, 1)}
b) { (2, 1), (2, 3), (3, 1), (3, 4), (4, 1), (4, 3)}
c) {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)}
d) {(1, 1), (1, 4), (2, 1), (2, 3), (3, 1), (3, 2), (3, 4), (4, 2)}
27. Các quan hệ nào trong số các quan hệ trên tập {0, 1, 2, 3} cho dưới đây là quan hệ
tương đương? Xác định các tính chất của một quan hệ tương đương mà các quan
hệ khác không có?
a) {(0, 0), (1, 1), (2, 2), (3, 3)}
b) {(0, 0), (0, 2), (2, 0), (2, 2), (2, 3), (3, 2), (3, 3)}
c) {(0, 0), (1, 1), (1, 2), (2, 1), (2, 2), (3, 3)}
d) {(0, 0), (1, 1), (1, 3), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)}
e) {(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 2), (3, 3)}
28. Các quan hệ nào trong số các quan hệ trên tập mọi người cho dưới đây là quan hệ
tương đương
a) {(a, b) | a và b cùng tuổi}
b) {(a, b) | a và b có cùng bố mẹ}
c) {(a, b) | a và b đã gạp nhau}
d) {(a, b) | a và b có cùng thứ tiếng}
29. Xác định các quan hệ sau đây được biểu diễn bởi các ma trận cho dưới đây có là
một quan hệ tương đương không?
⎡1 0 1 0⎤ ⎡1 1 1 0⎤
⎡1 1 1⎤ ⎢0
⎢0 1 1⎥ ⎢ 1 0 1⎥⎥ ⎢1
⎢ 1 0 0⎥⎥
a) ⎢ ⎥ b). c).
⎢1 0 1 0⎥ ⎢1 1 1 0⎥
⎢⎣1 1 1⎥⎦ ⎢ ⎥ ⎢ ⎥
⎣0 1 0 1⎦ ⎣0 0 0 1⎦
30. Xác định các lớp tương đương của quan hệ tương đương cho trong bài tập 27.

68

CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like