7 Biểu diễn quan hệ bằng đồ thị có hướng

Một phần của tài liệu Tài liệu hỗ trợ học tập môn học toán dùng trong tin học (Trang 64)

Định nghĩa 4.13

a) Một đồ thị có hướng gồm một tập V các đỉnh và một tập E các cặp được sắp thứ tự (a, b) của các đỉnh được gọi là các cung. Đỉnh a được gọi là đỉnh đầu của cung (a, b) và đỉnh b được gọi là đỉnh cuối của cung (a, b). Cung (a, a) được gọi là một khuyên (cạnh vòng) tại đỉnh a (một khuyên là một cung mà đỉnh đầu và đỉnh cuối trùng nhau).

b) Mỗi quan hệ R trên tập A được gán với một đồ thị có hướng. Các phần tử của A là các đỉnh của đồ thị và các cặp (a, b)R là các cung của đồ thị đó.

Phép gán thực hiện một song ánh giữa tập các quan hệ trên tập A và tập các đồ thị có hướng với tập các đỉnh là A.

Mệnh đề 4.1

Một quan hệ có tính:

a) Phản xạ nếu và chỉ nếu có khuyên ở tất cả các đỉnh của đồ thị có hướng tương ứng với nó;

b) Đối xứng nếu và chỉ nếu mỗi cung nối hai đỉnh phân biệt trong đồ thị có hướng tương ứng với nó đều có một cung có hướng ngược lại (đối cung);

c) Phản đối xứng nếu và chỉ nếu không bao giờ có hai cung ngược hướng với nhau, cùng nối liền hai đỉnh phân biệt;

d) Bắc cầu nếu và chỉ nếu mỗi khi có một cung nối đỉnh x với đỉnh y và một cung nối đỉnh y với đỉnh z thì cũng có một cung nối đỉnh x với đỉnh z.

Chú thích. Có thể biểu diễn một quan hệ đối xứng bằng một đồ thị vô hướng. Nối liền

các đỉnh là các cạnh vô hướng (tương ứng với hai cung trái chiều nhau).

Định nghĩa 4.14

Cho R là một quan hệ trên A. R có một tính chất P, P là một tổ hợp nào đó của các tính chất: phản xạ, đối xứng hoặc bắc cầu. Nếu có một quan hệ S nhỏ nhất chứa R có tính chất

P (S là tập con của bất kỳ quan hệ nào có tính chất P và chứa R), thì S được gọi là P–bao đóng của R. Trong trường hợp tổng quát, P–bao đóng có thể không tồn tại.

Mệnh đề 4.2

a) Cho R là quan hệ trên tập A. Quan hệ A (đường chéo) trên tập A (ký hiệu  nếu không sợ hiểu lầm), được xác định bởi A ={(a,a): aA}. Bao đóng phản xạ của quan hệ R là quan hệ RA (ma trận biểu diễn của A là ma trận đơn vị In). b) Cho R là quan hệ trên A. R1 = {(b,a): (a,b)R} được gọi là quan hệ ngược của

quan hệ R. Bao đóng đối xứng của quan hệ R là quan hệ RR1.

Định nghĩa 4.15

a) Một đường đi trong đồ thị có hướng G là một dãy liên tiếp các cung (x0, x1), (x1, x2), …, (xn1, xn) với n > 0 , đỉnh cuối của một cung chính là đỉnh đầu của cung kế tiếp nó. Đường đi này có chiều dài là n và được ký hiệu vắn tắt là x0, x1, …, xn với x0 là đỉnh đầu và xn là đỉnh cuối của đường đi.

b) Một đường đi có chiều dài là số dương bắt đầu và kết thúc đều ở cùng một đỉnh được gọi là một chu trình.

Quy ước: Một đường đi từ đỉnh a tới a có chiều dài 0 được xem như là tập rỗng các cung.

Chú ý: Một đường đi trong đồ thị có hướng có thể đi qua một đỉnh nào đó hơn một lần và một cung cũng có thể xuất hiện hơn một lần trong một đường đi.

Định nghĩa 4.16

Cho R là một quan hệ trên tập A và a, b ∈ A. Một đường đi với chiều dài n từ a đến b trong

Định lý 4.3

Cho R là một quan hệ trên tập A. Tồn tại một đường đi với chiều dài bằng n, với n là số nguyên dương, từ a đến b nếu và chỉ nếu (a, b)Rn.

Định nghĩa 4.17

Cho R là một quan hệ trên tập A. Quan hệ liên thông R* là quan hệ bao gồm tất cả các cặp (a, b) sao cho có ít nhất một đường đi trong R từ a tới b, 𝑹∗ = ⋃∞ 𝑹𝒌

𝒌=𝟏

Định lý 4.4

Quan hệ liên thông R* chính là bao đóng bắc cầu của quan hệ R

Mệnh đề 4.3

Cho Alà tập có n phần tử, a và b là hai phần tử của A và R là một quan hệ trên A. Nếu có một đường đi từ a đến b, thì sẽ có một đường đi như vậy với chiều dài  n.

Định lý 4.5

Cho tập A có n phần tử và MR là ma trận biểu diễn quan hệ R trên A. Khi đó ma trận biểu diễn bao đóng bắc cầu R* của R là:

 2 R* R R M M M  3 R M   n R ... M  

Thuật toán tổng quát tìm bao đóng bắc cầu.

procedure transitive_closure (MR: ma trận 0–1 vuông cấp n)

A: = MR; B: = A for i:= 2 to n begin A:= A ⊙ MR; B: = B  A end // { B là ma trận 0−1 cho R*}

Thuật toán Warshall (Roy-Warshall)

procedure Warshall (MR: ma trận 0 – 1 vuông cấp n)

W:=MR for k:=1 to n begin for i:= 1 to n begin for j:= 1 to n

wij:= wij  (wik  wkj) end

end {W = [wij] is MR*}

Định nghĩa 4.18

Quan hệ R trên tập A được gọi là quan hệ tương đương nếu nó có ba tính chất phản xạ, đối xứng và bắc cầu. Khi aRb ta nói a tương đương với b và ký hiệu a R b hoặc đơn giản a  b , nếu không sợ nhầm lẫn.

Định nghĩa 4.19

Cho R là một quan hệ tương đương trên tập A và a ∈ A.

a) Tập tất cả các phần tử b tương đương với a được gọi là lớp tương đương của (chứa) a đối với R, kí hiệu [a]R= {bA  aRb} (hoặc đơn giản [a] hoặc a̅) b) [a]R= [b]R nếu và chỉ nếu a ~R b

c) Tập các lớp tương đương lập thành một phân hoạch của tập A

Định nghĩa 4.20

a) Một quan hệ R trên tập S được gọi là quan hệ thứ tự nếu nó có ba tính chất: phản xạ, phản đối xứng và bắc cầu. Khi đó R thường được gọi là một thứ tự trên S. b) Tập S với thứ tự R được gọi là tập được sắp thứ tự hay tập được sắp, ký hiệu (S,R)

Khi không sợ nhầm lẫn, ta sử dụng ký hiệu ≤ thay cho R, (S, ≤) thay cho (S, R) và a ≤ b thay cho aRb. Khi đó, ta nói “a nhỏ hơn hay bằng b”.

c) Hai phần tử a, b ∈ S được gọi là so sánh được với nhau nếu hoặc a  b hoặc b  a.

Định nghĩa 4.21

Quan hệ thứ tự ≤ trên tập S được gọi là:

a) Quan hệthứ tự toàn phần: nếu ∀a, b ∈ S, a và b so sánh được. Tập S với quan hệ thứ tự toàn phần ≤ được gọi là tập được sắp toàn phần hoặc tập được sắp tuyến tính hoặc dây chuyền, xích.

b) Quan hệ thứ tự không toàn phần được gọi là quan hệ thứ tự từng phần. Tập S cùng với thứ tự từng phần xác định trên nó được gọi là tập được sắp từng phần.

Chú ý: Ta hay dùng ký hiệu a  b để nói rằng a  b và a  b, b  a hoặc b  a để chỉ trường hợp tương ứng a  b hoặc a  b; khi đó, ta nói rằng a “bé hơn” b hoặc b “lớn hơn” a

Định nghĩa 4.22

Cho tập được sắp (S , ).

a) Nếu a  b thì b được gọi là phần tử trội của a và a được gọi là được làm trội bởi b. Nếu b là phần tử trội của a và không có c nào khác để a  c  b thì b được gọi là

phần tử trội trực tiếp của a, ký hiệu a b.

b) a ∈ S là phần tử cực đại của S (lớn nhất-maxS) nếu ∀x ∈ S, x ≠ a, x < a . c) a ∈ S là phần tử cực tiểu của S (nhỏ nhất-minS) nếu ∀x ∈ S, x ≠ a, a < x . d) a ∈ S là phần tử tối đại của S (lớn nhất trong nhánh) nếu ∄x ∈ S, x ≠ a, x > a . e) a ∈ S là phần tử tối tiểu của S (nhỏ nhất trong nhánh) nếu ∄x ∈ S, x ≠ a, x < a .

Mệnh đề 4.4

Cho tập được sắp (S, ≤).

a) Phần tử cực đại nếu có, là duy nhất.

b) Phần tử cực đại nếu có, là phần tử tối đại duy nhất. c) Phần tử cực tiểu nếu có, là duy nhất.

d) Phần tử cực tiểu nếu có, là phần tử tối tiểu duy nhất. e) Nếu S hữu hạn

(i) Phần tử tối đại luôn luôn tồn tại.

(ii) Phần tử tối đại duy nhất là phần tử cực đại (iii) Phần tử tối tiểu luôn luôn tồn tại.

(iv) Phần tử tối tiểu duy nhất là phần tử cực tiểu.

Định nghĩa 4.23

Cho (S, ≤) là tập được sắp và A  S. Phần tử a  S được gọi là: a) Một chận trên của A: ∀𝑥 ∈ 𝐴, 𝑥 ≤ 𝑎;

b) Chận trên nhỏ nhất của A: ∀𝑏 ∈ 𝐴, ∀𝑥 ∈ 𝐴, 𝑥 ≤ 𝑎, 𝑥 ≤ 𝑏, 𝑎 ≤ 𝑏; c) Một chận dưới của A: ∀𝑥 ∈ 𝐴, 𝑎 ≤ 𝑥;

d) Chận dưới lớn nhất của A: ∀𝑏 ∈ 𝐴, ∀𝑥 ∈ 𝐴, 𝑥 ≥ 𝑎, 𝑥 ≥ 𝑏, 𝑎 ≤ 𝑏.

Định nghĩa 4.24

Ta định nghĩa quy nạp quan hệ thứ tự từ điển trên tập tích Descartes 𝐴1× 𝐴2× … × 𝐴𝑛 của n tập được sắp (𝐴1, ≼1), (𝐴2, ≼2), …, (𝐴𝑛, ≼n) như sau:

a) (𝑎1, 𝑎2, . . . , 𝑎𝑛)≺(𝑏1, 𝑏2, . . . , 𝑏𝑛) nếu 𝑎1≺1 𝑏1,

b) hoặc ∃𝑘: 1 ≤ 𝑘 < 𝑛, 𝑎1 = 𝑏1, … , 𝑎𝑘 = 𝑏𝑘, 𝑎𝑘+1 ≺𝑘+1 𝑏𝑘+1.

Chú ý: Với quan hệ thứ tự ≼, khi 𝑥 ≼ 𝑦, 𝑥 ≠ 𝑦 ta ký hiệu 𝑥 ≺ 𝑦

2. Ví dụ

Ví dụ 4.1

Cho A là tập các sinh viên học chung trường và B là tập các môn học. Cho 𝑹 là quan hệ

bao gồm các cặp (a, b) trong đó a là sinh viên đăng ký học môn b. Hãy cho vài ví dụ dữ

liệu thuộc quan hệ R.

Giải

Ví dụ, nếu Đặng Hữu và Đinh Liệt đều đăng ký học môn có mã số CS518 là Toán rời rạc, thì các cặp (Đặng Hữu, CS518) và (Đinh Liệt, CS518) đều thuộc 𝑹. Nếu Đặng Hữu còn ghi tên học thêm môn có mã số CS510 là môn Cấu Trúc Dữ Liệu, thì (Đặng Hữu, CS510) cũng thuộc 𝑹. Tuy nhiên, nếu Đinh Liệt không ghi tên học môn có mã số CS510, thì (Đinh Liệt, CS510) không thuộc quan hệ 𝑹.

Ví dụ 4.2

Cho A là tập tất cả các thành phố và B là tập các quốc gia trên thế giới. Ta định nghĩa

quan hệ R như sau: (a, b) thuộc R nếu a là thủ đô của b. Hãy cho vài ví dụ dữ liệu thuộc quan hệ R.

Giải

Ví dụ, các cặp (Hà Nội, Việt Nam), (New York, USA), (Paris, Pháp), (Bắc Kinh, Trung Quốc) đều thuộc R.

Ví dụ 4.3

Cho A ={0, 1, 2}, B = {a, b}. Hãy cho vài ví dụ dữ liệu thuộc quan hệ R.

Giải

Ví dụ, R = {(0, a), (0, b), (1, a), (2, b)} là một quan hệ từ A đến B. Ta có, (0, a) ∈ 𝑹 nhưng (1, 𝑏) ∉ 𝑹.

Có thể biểu diễn một quan hệ bằng đồ thị như trong Hình 4-1. Quan hệ hai ngôi Hình 4.1, bằng cách dùng các mũi tên để chỉ các cặp sắp thứ tự. Có một cách khác nữa để biểu diễn quan hệ, đó là sử dụng bảng như trong Hình 4-1. Quan hệ hai ngôi.

R a b 0 x x

1 x

2 x

Hình 4-1. Quan hệ hai ngôi Ví dụ 4.4

Cho A là tập {1, 2, 3, 4}. Tìm quan hệ R ={(a, b): b chia hết cho a}.

Giải Ta có R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 4), (3, 3), (4, 4)}. R 1 2 3 4 1 x x x x 2 x x 3 x 4 x Hình 4-2. Quan hệ trên một tập hợp Ví dụ 4.5

Xét các quan hệ sau trên tập các số nguyên:

R1 = {(a, b): a b }. R2 = {(a, b) : a > b }. R3 = {(a, b): a = b hoặc a = b }. R4 = {(a, b): a = b }. R5 = {(a, b): a = b + 1 }. R6 = {(a, b): a + b 3}.

Giải: Dễ thấy là:  R1, R3, R4, R6 chứa (1, 1).  R1, R6 chứa (1, 2).  R2, R5, R6 chứa (2, 1).  R2, R3, R6 chứa (1, 1).  R1, R3, R4 chứa (2, 2). Ví dụ 4.6

Có bao nhiêu quan hệ R trên một tập hữu hạn A có n phần tử?

Giải

|A| = n, |A×A| = n2, một quan hệ trên tập A là một tập con của tập tích Descartes AA nên số quan hệ R trên một tập hữu hạn A có n phần tử là 2𝑛2

Ví dụ 4.7

Xét các quan hệ sau 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), (2, 1)}. R3 = {(1, 1), (1, 2), (1, 4), (2, 1), (2, 2), (3, 3), (4, 1), (4, 4)}. R4 = {(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), (4, 4)}. R6 = {(3, 4)}.

Quan hệ nào trong các quan hệ trên có tính phản xạ, đối xứng, phản đối xứng? Giải Dễ thấy: o chỉ R3R5 có tính phản xạ. o chỉ R2R3 có tính đối xứng. o chỉ R4, R5R6 có tính phản đối xứng. Ví dụ 4.8

Quan hệ R, “chia hết” trên tập các số nguyên dương ℤ+có phản xạ, đối xứng, phản đối

xứng, bắc cầu hay không? Giải

 Trên tập số nguyên dương ℤ+ dễ thấy quan hệ chia hết có tính phản xạ.

 Trên ℤ+quan hệ chia hết không có tính đối xứng vì "3 chia hết 6" nhưng "6 không

chia hết 3".

 Trên ℤ+ quan hệ chia hết có tính phản đối xứng vì "a chia hết b" và a ≠ b thĩ có 𝑘 > 1, 𝑏 = 𝑘 × 𝑎, do đó 𝑎 =(1

𝑘)× 𝑏, 1

𝑘 không là số nguyên nên rõ ràng b không chia hết a.

 Trên ℤ+quan hệ chia hết có tính bắc cầu. Thật vậy "a chia hết b", ∃𝑘 ∈ ℤ+, 𝑘 × 𝑎 = 𝑏

"b chia hết c", ∃𝑚 ∈ ℤ+, 𝑚 × 𝑏 = 𝑐

Vậy (𝑚 × 𝑘) × 𝑎 = 𝑐, do đó "a chia hết c".

Ví dụ 4.9

Cho A = {1, 2, 3} và B = {1, 2, 3, 4}. Cho các quan hệ từ A đến B như sau: R1 = {(1, 1), (2, 2), (3, 3)} và R2 = {(1, 1), (1, 2), (1, 3), (1, 4)} Tìm các quan hệ R1  R2, R1  R2, R1  R2 và R2  R1

Giải

Các quan hệ này có thể được tổ hợp lại như sau

R1  R2 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (3, 3)} R1  R2 = {(1, 1)}

R1  R2 = {(2, 2), (3, 3)}

R2  R1 = {(1, 2), (1, 3), (1, 4)}

Ví dụ 4.10

Cho A là tập tất cả các sinh viên và B là tập tất cả các môn học trong trường. Cho

R1: quan hệ gồm tất cả các cặp sắp thứ tự (a, b) trong đó a đã đạt môn học b,

R2: quan hệ gồm tất cả các cặp sắp thứ tự (a, b) trong đó a cần môn học b để tốt nghiệp. Hãy xác định các quan hệ 𝑅1∪ 𝑅2, 𝑅1∩ 𝑅2, 𝑅2⊕ 𝑅1, 𝑅1− 𝑅2 𝑣à 𝑅2− 𝑅1.

Giải:

 R1  R2 = {(a, b): a đã đạt môn học b hay a cần môn học b để tốt nghiệp}  R1  R2 = {(a, b): a đã đạt môn học b và a cần môn học b để tốt nghiệp}  R1 − R2 = {(a, b): a đã đạt môn học b và a không cần môn học b để tốt nghiệp}  R2 – R1 = {(a, b): a cần môn học b để tốt nghiệp và a chưa đạt môn học b}

 R1  R2 = {(a, b): a đã đạt môn học b và a không cần môn học b để tốt nghiệp hay a cần môn học b để tốt nghiệp và a chưa đạt môn học b}

Ví dụ 4.11

Cho R1 là quan hệ “nhỏ hơn” trên tập các số thực và R2 là quan hệ “lớn hơn” trên tập các số thực, nghĩa là R1 = {(a, b): a < b} và R2 = {(a, b): a > b}. Hãy xác định các quan hệ

R1R2, R1R2, R1  R2, R2  R1 và R2R1.

Giải:

 R1  R2 = {(a, b): a ≠ b}= R1  R2  R1  R2 = {(a, b)  a < b và a > b} =   R1 − R2 = R1 và R2 – R1 = R2

Ví dụ 4.12

Cho A={1, 2, 3}, B={1, 2, 3, 4} và C={0, 1, 2}, quan hệ R từ A đến B và quan hệ S từ B đến C, với R = {(1, 1), (1, 4), (2, 3),(3, 1),(3, 4)} và S = {(1, 0), (2, 0), (3, 1), (3, 2), (4, 1)}. Tìm quan hệ hợp thành S◦R

Giải

Ta có quan hệ hợp thành S◦R = {(1, 0), (1, 1), (2, 1), (2, 2), (3, 0), (3, 1)}.

Ví dụ 4.13

Cho R là quan hệ trên tập con người sao cho aRb nếu "a là cha của b". Tìm quan hệ hợp thành R◦R

Giải

Ta có a(R◦R)c khi và chỉ khi có b sao cho aRb và bRc, nghĩa là, nếu có b sao cho a là “cha” của b và b là “cha” của c. Nói một cách khác, a(R◦R)c khi và chỉ khi a là ông nội của c.

Ví dụ 4.14

Cho A= {1, 2, 3, 4} và R = {(1, 1), (2, 1), (3, 2), (4, 3)}. Tìm các quan hệ hợp thành dang lũy thừa R2, R3, R4, …

Giải

R2 = {(1, 1), (2, 1), (3, 1), (4, 2)} R3 = {(1, 1), (2, 1), (3, 1), (4, 1)} R4 = {(1, 1), (2, 1), (3, 1), (4, 1)}

Dễ thấy Rn = R3 = {(1, 1), (2, 1), (3, 1), (4, 1)}, với mọi n ≥ 4

Ví dụ 4.15

Hãy cho vài ví dụ về quan hệ n ngôi với n > 2 Giải

a) Cho R là quan hệ trên ℕ × ℕ × ℕ gồm

𝑅 = {(𝑎, 𝑏, 𝑐) ∈ ℕ × ℕ × ℕ: 𝑎 < 𝑏 < 𝑐}. Ta có (1, 2, 3)R, nhưng (2, 4, 3)R.

Bậc của quan hệ này là 3. Các miền của nó là tập các số tự nhiên.

b) Cho R là quan hệ gồm các bộ 5 phần tử (A, N, S, D, T) biểu diễn các chuyến bay, trong đó:

 A là Công ty Hàng không,  N là số hiệu chuyến bay,

Một phần của tài liệu Tài liệu hỗ trợ học tập môn học toán dùng trong tin học (Trang 64)

Tải bản đầy đủ (PDF)

(155 trang)