1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tài liệu giảng dạy toán rời rạc lý thuyết đồ thị (ngànhnghề công nghệ thông tin – trình độ cao đẳng)

67 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài liệu giảng dạy môn học: Toán rời rạc & Lý thuyết đồ thị (ngành nghề công nghệ thông tin – trình độ cao đẳng)
Tác giả Nguyễn Hữu Anh, Nguyễn Cam, Chu Đức Khánh
Người hướng dẫn Ths. Võ Thị Thục Hà
Trường học Trường Cao Đẳng Kinh Tế - Kỹ Thuật TP.HCM
Chuyên ngành Toán rời rạc, Lý thuyết đồ thị
Thể loại Sách giáo trình
Năm xuất bản 2019
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 67
Dung lượng 787,16 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1 CƠ SỞ LOGIC (8)
    • I. Phép tính mệnh đề (12)
      • 1. Khái niệm về mệnh đề (12)
      • 2. Phân loại mệnh đề (12)
      • 3. Các phép toán logic (12)
      • 4. Dạng mệnh đề (14)
    • II. Qui tắc suy diễn (16)
    • III. Vị từ và lƣợng từ (18)
      • 1. Vi từ (18)
      • 2. Lƣợng từ (18)
    • IV. Nguyên lý quy nạp (19)
  • Chương 2 PHƯƠNG PHÁP ĐẾM (8)
    • I. Tập hợp (20)
      • 1. Khái niệm về tập hợp (20)
      • 2. Các phép toán trên tập hợp (21)
      • 3. Tính chất của các phép toán (0)
      • 4. Tích Descartes của tập hợp (22)
    • II. Ánh xạ (22)
    • III. Giải tích tổ hợp (23)
      • 1. Phép đếm (23)
      • 2. Giải tích tổ hợp (25)
  • Chương 3 QUAN HỆ (8)
    • I. Quan hệ (28)
    • II. Quan hệ tương đương (29)
    • III. Quan hệ thứ tự (29)
  • Chương 4 ĐẠI SỐ BOOL V À HÀM BOOL (12)
    • I. Đại số Bool (31)
    • II. Hàm Bool (32)
    • III. Mạng các cổng và công thức tối tiểu (35)
      • 1. Các cổng logic (35)
      • 2. Tổ hợp các cổng logic (36)
      • 3. Tối thiểu hóa hàm Boole (36)
    • IV. Phương pháp bảng Karnaugh (36)
  • Phần 2: Đồ thị Chương 1 : ĐỒ THỊ (0)
    • I. Định nghĩa (40)
    • II. Biểu đồ (40)
    • III. Bậc của một đỉnh (41)
      • 1. Định lý (41)
      • 2. Hệ luận 1 (41)
      • 3. Hệ luận 2 (41)
      • 4. Hệ luận 3 ........................................................................................................ IV. Ma trận liên kết (41)
    • V. Đường và chu trình (42)
    • VI. Sự liên thông (43)
    • VII. Sự đẳng hình (43)
    • VIII. Đồ thị có hướng (44)
  • Chương 2 CÁC BÀI TOÁN VỀ CHU TRÌNH (9)
    • I. Chu trình Euler (46)
      • 1. Euler v à bài toán 7 cầu ở KONIGSBURG (46)
      • 2. Chu trình Euler (46)
    • II. Chu trình Hamilton (49)
      • 1. Định nghĩa (44)
      • 2. Quy tắc tìm chu trình Hamilton (50)
      • 3. Định lý (51)
      • 4. Định lý (51)
      • 5. Định lý (Dirac) (51)
      • 6. Định lý (Konig) (51)
  • Chương 3 CÂY (9)
    • I. Khảo sát tổng quát (52)
      • 1. Định nghĩa và các tính chất cơ bản (49)
      • 2. Định lý (Daisy Chain Theorem) (45)
      • 3. Tâm và bán kính của cây (52)
      • 4. Cây m-phân (53)
    • II. C ây nhị phân và phép duyệt cây (54)
      • 2. Phép duyệt cây (54)
    • III. Cây bao trùm (55)
      • 2. Định lý (52)
      • 3. DFS và BFS (55)
    • IV. Cây bao trùm nhỏ nhất (57)
      • 3. Giải thuật PRIM (59)
      • 4. Giải thuật Kruskal (61)
  • Chương 4 BÀI TOÁN VỀ CON ĐƯỜNG NGẮN NHẤT (10)
    • I. Giới thiệu bài toán (63)
    • II. Giải thuật DIJKS TRA (63)

Nội dung

TẬP ĐOÀN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT TP.HCM TÀI LIỆU GIẢNG DẠY MÔN HỌC: TOÁN RỜI RẠC & LÝ THUYẾT ĐỒ THỊ NGÀNH/NGHỀ: CÔNG NGHỆ THÔNG TIN TRÌNH ĐỘ: CAO ĐẲNG TP.

CƠ SỞ LOGIC

Phép tính mệnh đề

1 Khái niệm về mệnh đề

Mệnh đề toán học (hay gọi tắt là mệnh đề) được hiểu là một khẳng định có giá trị chân lý xác định: đúng hoặc sai, và không thể vừa đúng vừa sai.

Ta thường ký hiệu các mệnh đề bởi các chữ cái P, Q, R,…

Nếu P là mệnh đề đúng, ta nói P có chân trị đúng và viết P = 1.

Nếu Q là mệnh đề sai, ta nói Q có chân trị sai và viết Q = 0.

Q : “Paris là thủ đô nước Anh”

R : “Hôm nay trời đẹp làm sao !”

Ta có P=1, Q=0 còn R, S không phải là mệnh đề (S là vị từ, sẽ khảo sát sau)

Các mệnh đề được xây dựng từ các mệnh đề khác bằng cách liên kết chúng lại với nhau bằng các liên từ và, hay, nếu, thì hoặc trạng từ Theo cách hiểu này, các cấu trúc liên kết như vậy không được coi là các mệnh đề phức hợp.

Ví dụ : “Nếu trời mƣa thì tôi ở nhà” là mệnh đề phức hợp.

Trong ngữ pháp, các mệnh đề không được xây dựng từ các mệnh đề khác nhờ các liên từ và, hay, nếu, thì hoặc trạng từ không được gọi là các mệnh đề nguyên thủy hay sơ cấp Điều này có nghĩa là mệnh đề nguyên thủy hay sơ cấp được hiểu là những mệnh đề độc lập hoặc không bị ghép bởi các liên từ và trạng từ nói trên Ngược lại, các mệnh đề được kết nối từ các mệnh đề khác bằng liên từ và trạng từ thuộc nhóm mệnh đề phức Hiểu rõ sự phân loại này giúp tối ưu hóa nội dung cho SEO khi viết về cấu trúc câu, vai trò của liên từ và trạng từ trong tiếng Việt.

Ví dụ : “Sắt nặng hơn gỗ”, “Số 12 chia hết cho 5” là các mệnh đề sơ cấp.

Từ một hoặc nhiều mệnh đề ta có thể xây dựng những mệnh đề mới bằng các phép toán logic Sau đây là các phép toán cơ bản :

Phủ định của mệnh đề P đƣợc ký hiệu bởi P hay P (đọc “không P”) là mệnh đề có chân trị đƣợc xác định bởi bảng sau:

Ví dụ : P : “Trái đất quay”

Phần 1: Toán rời rạc – Chương 1: Cơ sở logic 2

Phép nối liền của hai mệnh đề P, Q đƣợc ký hiệu bởi P  Q (đọc “P và Q”) là mệnh đề có chân trị đƣợc xác định bởi bảng sau :

Vậy mệnh đề PQ chỉ đúng khi cả P và Q đều đúng, còn sai trong các trường hợp còn lại.

Ví dụ : P : “ số 2 là số nguyên tố ”

PQ : “ 2 là số nguyên tố và là số chẵn “.

Phép nối rờicủa hai mệnh đề P, Q đƣợc ký hiệu bởi P  Q (đọc “ P hay Q” ) là mệnh đề có chân trị đƣợc xác định bởi bảng sau :

Vậy mệnh đề PQ chỉ sai khi cả P và Q đều sai, còn đúng trong các trường hợp còn lại.

Ví dụ : P : “Hùng đang đọc báo “.

Ta có PQ : “ Hùng đang đọc báo hay (hoặc) xem ti vi “.

Mệnh đề P kéo theo mệnh đề Q đƣợc ký hiệu bởi P  Q là mệnh đề có chân trị đƣợc xác định bởi bảng sau :

Phần 1: Toán rời rạc – Chương 1: Cơ sở logic 3

Mệnh đề P → Q là một mệnh đề điều kiện, chỉ sai khi P đúng và Q sai; các trường hợp còn lại đều khiến nó đúng Trong mệnh đề P → Q, P được gọi là giả thiết và Q được gọi là kết luận.

Ví dụ : a/b = c  a = bc (ngƣợc lại chƣa chắc đúng).

Phép kéo theo hai chiều

Mệnh đề P tương đương với mệnh đề Q, được ký hiệu là P ↔ Q, là mệnh đề xác định bởi (P → Q) ∧ (Q → P) Điều này có nghĩa là P và Q có cùng giá trị chân trị trong mọi trường hợp, nên bảng chân trị của P ↔ Q được xác định bởi bảng sau.

Ta thường đọc mệnh đề P Q là “ P khi và chỉ khi Q”, “P nếu và chỉ nếu Q “,

“ P là điều kiện cần và đủ để có Q”

Ví dụ : “Một số chia hết cho 3 khi và chỉ khi nó có tổng các chữ số chia hết cho 3”

Dạng mệnh đề là một “biểu thức logic” (tương tự biểu thức đại số trong đại số) Đƣợc xây dựng từ :

Các mệnh đề (hằng mệnh đề).

Các phép toán logic thao tác trên các hằng mệnh đề và biến mệnh đề theo một thứ tự nhất định.

Là một dạng mệnh đề trong đó p,q,r là các biến mệnh đề còn P là một hằng mệnh đề

Phần 1: Toán rời rạc – Chương 1: Cơ sở logic 4

Giả sử E và F là hai mệnh đề, các dạng mệnh đề như ¬E, E ∨ F, E ∧ F, E → F và E ↔ F cũng là mệnh đề Định nghĩa 1: Hai mệnh đề E và F được gọi là tương đương logic khi chúng có cùng chân trị; khi ấy ta viết E ↔ F.

Ví dụ: xây dựng bảng chân trị của các dạng mệnh đề pq, p, q, p, pq

Từ bảng trên , ta có : p  q  p  q Định nghĩa 2:

Một dạng mệnh đề đƣợc gọi là một hằng đúng nếu nó luôn lấy chân trị 1.

Một dạng mệnh đề đƣợc gọi là một hằng sai hay mâu thuẩn nếu nó luôn lấy chân trị 0.

Dạng mệnh đề p p là một hằng sai.

Dạng mệnh đề p p là một hằng đúng

Ta có: Hai dạng mệnh đề E và F tương logic khi và chỉ khi E  F là một hằng đúng. Định nghĩa 3:

Dạng mệnh đề F đƣợc gọi là hệ quả logic của dạng mệnh đề E nếu E  F là một hằng đúng Khi đó ta viết E  F

Các quy luật logic Định lý: Với p, q, r là các biến mệnh đề, 1 là hằng đúng, 0 là hằng sai, ta có các tương đương logic sau :

1 Luật phủ định của phủ định :

Phần 1: Toán rời rạc – Chương 1: Cơ sở logic 5 p  q  q  p p  q  q  p

8 Luật về phần tử bù. p  p  0 p  p  1

Ví dụ 2: Chứng minh dạngmệnh đề sau là hằng đúng

Qui tắc suy diễn

Suy luận và qui tắc suy diễn.

Suy luận là rút ra mệnh đề mới từ một hoặc nhiều mệnh đề đã có.

Mệnh đề đã có gọi là tiền đề, mệnh đề mới gọi là kết luận.

Trong chứng minh toán học, từ các tiền đề p1, p2, …, pn ta áp dụng các quy tắc suy diễn để suy ra mệnh đề q làm kết luận Do đó, mệnh đề p1 ∧ p2 ∧ … ∧ pn ⇒ q được xem là hằng đúng, tức là đúng trong mọi trường hợp khi các tiền đề đúng Quá trình này thể hiện mối liên hệlogic giữa tập tiền đề và sự suy luận để xác nhận tính đúng của mệnh đề dựa trên quy tắc suy diễn đã dùng.

Phần 1: Toán rời rạc – Chương 1: Cơ sở logic 6

Ta dùng sơ đồ sau: p 1 p 2 p n _

Một số qui tắc suy diễn

1 Qui tắc Modus Ponens (phương pháp khẳng định) Đƣợc thể hiện bởi hằng đúng: [( p  q )  p ]  q

Ví dụ 1: Tục ngữ có câu : “Trăng quầng trời hạn, trăng tán trời mƣa”

Nếu trăng tán thì trời mƣa p  q mà trăng tán p

Nếu Lan lười học thì sẽ không đạt môn toán rời rạc p  q mà Lan lười học p

Vậy Lan không đạt môn toán rời rạc q

2 Qui tắc ModusTollens (phương pháp phủ định)

Qui tắc này đƣợc thể hiện bởi hằng đúng sau:

Nếu Hùng chăm học thì sẽ đạt môn toán rời rạc p  q

Hùng không đạt môn toán rời rạc p

Vậy Hùng không chăm học q

Nếu chúng ta đoàn kết thì chúng ta mạnh p  q

Nếu chúng ta mạnh thì chúng ta đánh thắng mọi kẻ thù q  r Vậy nếu chúng ta đoàn kết thì chúng ta đánh thắng mọi kẻ thù p  r

Phần 1: Toán rời rạc – Chương 1: Cơ sở logic 7

4 Qui tắc mâu thuẫn (chứng minh bằng phản chứng)

Ví dụ : Dùng phương pháp phản chứng cho chứng minh sau: p  r

Vị từ và lƣợng từ

1 Vi từ. Định nghĩa : Vị từ là một khẳng định p(x,y,…) trong đó x,y, là biến có giá trị trong những tập cho trước A, B, sao cho :

Bản thân p(x,y,…) không phải là mệnh đề.

Nếu thay x, y,… bởi các giá trị cụ thể a  A, b  B ta sẽ đƣợc một mệnh đề p(a,b,…)

Các biến x,y, gọi là biến tự do của vị từ

Ví dụ 1: p(n) = “ n là một số nguyên tố “ là một vị từ theo biến tự do n  N

Ví dụ 2: q(x,y) = “ x = y + 3 “ là một vị từ theo hai biến tự do x,y  R

Dùng hai lƣợng từ “với mọi” và “tồn tại” để chuyển một vị từ thành mệnh đề. Định nghĩa: Giả sử p(x) là một vị từ theo biến x  A

Mệnh đề “với mọi x  A, p(x)” ký hiệu bởi “x  A, p(x)” đƣợc gọi là lƣợng từ hóa của vị từ p(x) bởi lƣợng từ khái quát 

Mệnh đề “tồn tại x  A, p(x)” ký hiệu bởi “x  A, p(x)” đƣợc gọi là lƣợng từ hóa của vị từ p(x) bởi lƣợng từ khái quát 

Nếu A là một tập hữu hạn phần tử A = a1, a2, …, an thì:

x p(x) tương đương với mệnh đề p(a1)  p(a 2 )  …  p(a n )

x p(x) tương đương với mệnh đề p(a1)  p(a2)  …  p(an)

Ví dụ : Cho vị từ p(n) = “ n là một số nguyêntố “

Trong logic mệnh đề, mệnh đề ∀n ∈ N, p(n) có chân trị bằng 0 là sai; ngược lại mệnh đề ∃n ∈ N, p(n) có chân trị bằng 1 là đúng Định lý hoán vị lượng từ cho hai biến x, y nói rằng với p(x,y) là một mệnh đề hai biến, thì với hai tập A và B, các mệnh đề ∀x ∈ A ∀y ∈ B p(x,y) và ∀y ∈ B ∀x ∈ A p(x,y) luôn đúng và tương đương.

Phần 1: Toán rời rạc – Chương 1: Cơ sở logic 8 ii [ x  A, y  B, p(x,y) ]  [ y  B, x  A, p(x,y) ] iii [ x  A, y  B, p(x,y) ]  [ y  B, x  A, p(x,y) ]

Mệnh đề đảo của iii không đúng, thí dụ p(x,y) = “ x + y = 1”

Phủ định của lƣợng từ.

Ví dụ :Một hàm thực f(x) liên tục tại x0  R đƣợc định nghĩa bởi:

Lấy phủ định ta sẽ đƣợc định nghĩa hàm f(x) không liên tục tại x0  R :

PHƯƠNG PHÁP ĐẾM

Tập hợp

1 Khái niệm về tập hợp

Trong toán học, tập hợp là một khái niệm cơ bản và nguyên thủy, không được định nghĩa bằng các khái niệm khác mà được xem là nền tảng để xây dựng mọi khái niệm toán học tiếp theo Tập hợp đóng vai trò là khởi nguồn của hệ lý thuyết toán học, cho phép định nghĩa các khái niệm như phần tử, tập con và quan hệ, cũng như các cấu trúc toán học phức tạp hơn dựa trên các tiên đề và quy tắc logic Nhờ đó, các định nghĩa và chứng minh trong toán học có thể được trình bày trong một khuôn khổ nhất quán, khởi nguồn từ tập hợp và mở đường cho sự phát triển của kho tàng lý thuyết toán học hiện đại.

Tập hợp các bài thơ của Hàn Mặc Tử.

Tập hợp các nghiệm số thực của phương trình x 2 +3x-4=0

Họ các đường tròn đồng tâm.

Lớp các hàm đa thức.

Hệ các phương trình tuyến tính.

Cách 1: Nêu ra tính chất đặc trưng của các phần tử tạo ra tập hợp, thường được thể hiện bởi một vị từ p(x) theo một biến x :

- U đƣợc gọi là tập hợp vũ trụ

Ví dụ : A =  x  N  x là số nguyên tố 

Cách 2 : Liệt kê tất cả các phần tử viết trong hai dấu ngoặc nhọn   cách nhau bởi dấu

Tập hợp không có phần tử nào gọi là tậo hợp rỗng Ký hiệu 

Tập hợp con Nếu mọi phần tử của tập hợp A đều là phần tử của tập hợp B thì ta nói

A là tập hợp con của B, ký hiệu A  B

Từ định nghĩa ta có :

Nếu A  B và B  A th2 ta nói A bằng B và viết A = B

Phần 1: Toán rời rạc – Chương 2: Phương pháp đếm 10

2 Các phép toán trên tập hợp Định nghĩa : Giả sử A, B là hai tập hợp con của tập hợp vũ trụ U.

3 Tính chất của các phép toán i Tính giao hoán

A  (B  C) = (A  B)  (A  C) iv Công thức De Morgan.

Ta có thể viết A  B  C thay cho (A  B)  C hay A  (B  C) và  n i

Phần 1: Toán rời rạc – Chương 2: Phương pháp đếm 11

4 Tích Descartes của tập hợp

Tích Descartes của hai tập hợp A, B ký hiệu AxB là các cắp có thứ tự (a,b) trong đó a

AxB =  (a,1), (a,2), (a,3), (b,1), (b,2), (b,3)  Định lý : Cho các tập hợp hữu hạn A, B, A1, A 2, ,… An Ta có:

Ánh xạ

Một ánh xạ f từ tập hợp X vào tập hợp Y, ký hiệu f:XY, là phép tương ứng liên kết mỗi phần tử x  X với một phần tử duy nhất y  Y

X gọi là tập nguồn, Y gọi là tập đích

Phần tử y = f(x) gọi làảnh của x, x gọi là nghịch ảnh của y f(X) = y  Y   x  X, y = f(x)  gọi là miền giá trị của f

Phép tương ứng f : R  R x  y = 2x+1 là một ánh xạ từ R vào R.

Định nghĩa về ảnh và ảnh ngược của một ánh xạ f: X → Y: Với mọi tập con A ⊆ X, ảnh của A bởi f được định nghĩa là f(A) = { y ∈ Y | ∃ x ∈ A, y = f(x) }, hay viết ngắn gọn f(A) = { f(x) | x ∈ A } Với tập con B ⊆ Y, ảnh ngược của B bởi f được định nghĩa là f^{-1}(B) = { x ∈ X | f(x) ∈ B } Hai khái niệm này là nền tảng để phân tích cách một ánh xạ chuyển đổi các phần tử từ X sang Y và để nhận diện những phần tử của X có ảnh thuộc B.

Phần 1: Toán rời rạc – Chương 2: Phương pháp đếm 12 f -1 (B) =  x  X  f(x)  B  Định nghĩa 3(các loại ánh xạ) Cho ánh xạ f:XY f đƣợc gọi là đơn ánh nếu x 1 , x 2  X , x 1 ≠ x2  f(x 1 ) ≠ f(x2) f đƣợc gọi là toàn ánh nếu f(X) = Y f đƣợc gọi là song ánh nếu f dồng thời là đơn ánh và toàn ánh.

Chú ý: Nếu f: XY là song ánh, khi ấy y  Y, !x  X: f(x)=y

Do đó tương ứng yx là một ánh xạ từ Y vào X và gọi là ánh xạ ngược của f, ký hiệu f -1

Cho f : Z  Q sao cho f(x) 2 x, f đơn ánh nhƣng không toàn ánh.

Cho f : R  R sao cho f(x) = x 3 , f là song ánh, f -1 (x) = 3 x

Cho f : R  R , f(x) = 2x+1 là song ánh và f -1 (x) 2

1 x Định nghĩa 4(ánh xạ hợp): Cho hai ánh xạ f : X  Y và g : Y  Z Anh xạ hợp h là ánh xạ từ X vào Z xác định bởi: h = g o f : X  Z x  h(x) = g(f(x))

Ví dụ: Cho f : R  R xác định bởi f(x) = cos(x) và g : R  R xác định bởi g(x) = x 3 +1

Ta có một ví dụ về gof: R → R được xác định bởi gof(x) = g(f(x)) = g(cos x) = cos 2x + 1 Trong lý thuyết ánh xạ f: X → Y, với A1, A2 ⊆ X và B1, B2 ⊆ Y, các tính chất quan trọng về ảnh và nghịch ảnh là: f(A1 ∪ A2) = f(A1) ∪ f(A2); f(A1 ∩ A2) ⊆ f(A1) ∩ f(A2); f^{-1}(B1 ∪ B2) = f^{-1}(B1) ∪ f^{-1}(B2); f^{-1}(B1 ∩ B2) = f^{-1}(B1) ∩ f^{-1}(B2) Điều này cho thấy ảnh của hợp là phân phối đúng qua hợp của các ảnh, trong khi ảnh của giao chỉ có mối quan hệ ⊆; ngược lại, ngược ảnh phân phối hoàn toàn cho cả hợp và giao: ngược ảnh của hợp bằng hợp các ngược ảnh, và ngược ảnh của giao bằng giao các ngược ảnh.

QUAN HỆ

Quan hệ

Định nghĩa 1.1: Một quan hệ giữa tập hợp A và tập hợp B là một tập hợp con  của AxB Nếu (a, b)  , ta viết ab Một quan hệ giữa A và A đƣợc gọi là một quan hệ trên A

2 Quan hệ “=” trên một tập hợp A bất kỳ:

(ab)  a = b Định nghĩa 1.2: Cho trước tập hợp A1, A 2 , …, An Khi ấy ánh xạ chiếu lên thành phần thứ i là ánh xạ:

1 Ánh xạ chiếu  i là toàn ánh

2 Đặc biệt các ánh xạ chiếu  A ,  B từ A x B lên A và B tương ứng là toàn ánh Tuy nhiên, nếu  là một tập con thực sự của A và B tương ứng.

 = {(x,y)  A x B/ x 2 + y 2 ≤ 1} Định nghĩa 1.3: Một quan hệ trên các tập hợp A1, A 2 x …x Anlà một tập hợp con của

A1 x A2 x …, An Định nghĩa 1.4: Nếu  là một quan hệ trên A1, A 2 , …, An thì  i1 , i2 , …,im () đƣợc gọi là quan hệ chiếu của 

1 Quan hệ chiếu  i1 , i2 , …,im () là một quan hệ trên Ai1, A i2 x …x Aim

2 Trong lý thuyết về cơ sở dữ liệu mô hình quan hệ các tập hợp A1, A 2 x …x A n đƣợc gọi là các thuộc tính Nhƣ thế quan hệ chiếu i1,i2, …,im () chính là quan hệ ban đầu nhƣng các thuộc tính không thuộc các tập hợp Ai1, A i2 x …x Aim đã đƣợc bỏ qua.

Phần 1: Toán rời rạc – Chương 3: Quan hệ 18

Quan hệ tương đương

Định nghĩa 2.1: Quan hệ  trên A đƣợc gọi là phản xạ nếu:

Ví dụ Trên tập A = {1, 2, 3, 4}, quan hệ:

3 Quan hệ  trên Z phản xạ vì a  a với mọi a Z

4 Quan hệ > trên Z không phản xạ vì 1 > 1 Định nghĩa 2.2: Quan hệ R trên A đƣợc gọi là đối xứng nếu:

2 Quan hệ  trên Z không đối xứng Định nghĩa 2.3: Quan hệ R trên A có tính bắc cầu nếu

1 Quan hệ R = {(1,1), (1,2), (2,1), (2, 2), (1, 3), (2, 3)} trên tập A = {1, 2, 3, 4} có tính bắc cầu

2 Quan hệ  và “|”trên Z có tính bắc cầu

(a | b)  (b | c)  (a | c) Định nghĩa 2.4: Một quan hệ  trên tập hợp A được gọi là quan hệ tương đương nếu nó phản xạ, đối xứng và bắc cầu.

1 Các quan hệ “=, //, ” là quah hệ tương đương

2 Quan hệ “ ≤, ” không phải là quan hệ tương đương Định nghĩa 2.5: Giả sử  là một quan hệ tương đương trên A và x  A Khi ấy lớp tương đương chứa x là tập hợp con:

ĐẠI SỐ BOOL V À HÀM BOOL

Đại số Bool

Định nghĩa 1.1: Một đại số Bool là tập hợp A cùng với hai phép tính (hai ngôi)  và  thỏa mãn các tính chất sau: a Tính kết hợp: x  (y  z) = (x  y)  z x  (y  z) = (x  y)  z b Tính giao hoán: x  y = y  x x  y = y  x c Tính phân phối: x  (y  z) = (x  y)  (x  z) x  (y  z) = (x  y)  (x  z) d Tính phần tử trung hòa: Tồn tại hai phần tử trung hòa 0, 1 đối với hai phép toán ,  sao cho với mọi x  A ta có: x  0 = x x  1 = x e Phần tử bù : x  A,  x  A : x  x = 1 x  x = 0 f Tính kết hợp: x  (y  z) = (x  y)  z x  (y  z) = (x  y)  z g Tính giao hoán: x  y = y  x x  y = y  x h Tính phaân phoái: x  (y  z) = (x  y)  (x  z) x  (y  z) = (x  y)  (x  z) i Tính đồng nhất:tồn tại hai phần tử trung hòa ký hiệu 0 và 1 sao cho x  0 = x x  1 = x j Tính nuoát : x  A,  x  A : x  x = 1 x  x = 0

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 21

Chú ý: Phần bù x của một phần tử x là duy nhất và hơn nữa ta có quy tắc De Morgan

Hàm Bool

Định nghĩa 2.1: Cho B={0,1} Một ánh xạ : f: B n  B

Gọi là hàm Boole bậc n theo n biến x 1 ,x 2 , ,x n

Trong lý thuyết Boole, các hàm Boole còn được gọi là hàm logic hoặc hàm nhị phân Các biến xuất hiện trong một hàm Boole được gọi là biến Boole Mỗi hàm Boole đi kèm với một bảng chân trị cho thấy cách hàm phụ thuộc vào các biến Boole, và bảng này được gọi là bảng chân trị của hàm Boole.

Ví dụ 1: Hàm Boole hai biến f(x,y) đƣợc xác định bởi bảng sau: x Y f(x,y)

Ví dụ 2: các cử tri A1, A 2 , A 3 tham gia bỏ phiếu trong cuộc bầu cử có ứng cử viên D.

Các biến Boole tương ứng là x1, x 2 , x 3

1 nếu Ai bầu cho D Với xi 0 nếu Aikhông bầu cho D.

1 nếu D trúng cử (D đƣợc ít nhất hai phiếu bầu) Đặt f(x1,x 2 ,x 3 ) 0 nếu D không trúng cử (D đƣợc ít hơn hai phiếu bầu)

Ta có hàm Boole f : B 3  B tương ứng với bảng chân trị sau: x 1 x 2 x 3 f(x 1, x 2, x 3 )

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 22

1 1 1 1 Định nghĩa 2.2: Hai hàm Boole f :B n B và g :B n B đƣợc gọi là bằng nhau nếu

) , , , ( ) , , , (x 1 x 2 x n g x 1 x 2 x n f  với mọi x 1 , x 2 , , x n  B Định nghĩa 2.3: Phần bù của hàm Boole f :B n B ký hiệu là f đƣợc xác định nhƣ sau:

) , , , ( ) , , , (x 1 x 2 x n f x 1 x 2 x n f  với mọi x 1 , x 2 , , x n  B Định nghĩa 2.4: Tổng Boole f+g và tích Boole f.g đƣợc xác định nhƣ sau :

Chú ý : số hàm Boole n biến khác nhau là

Ví dụ: Nếu f(x) là hàm Boole một biến thì có 4 hàm cho theo bảng sau

Mỗi biểu thức Boole biểu diễn một hàm Boole Hai biểu thức Boole biểu diễn cùng một hàm Boole thì tương đương nhau

Ví dụ : Tìm giá trị của hàm Boole đƣợc biểu diễn bởi : f(x,y,z) = xy + z Giải: x y z xy z f(x,y,z)=xy+z

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 23

Biểu diễn các hàm Boole.

Vấn đề: cho các giá trị một hàm Boole n biến x1, x 2 , …, xn Làm thế nào để tìm đƣợc biểu thức biễu diễn hàm đó ? Định nghĩa 2.5:

Một biến Boole hoặc phần bù của nó đƣợc gọi là một tục biến

Tích Boole y 1 y 2 … yn trong đó yi=x i hoặc yi=x i với x1, x 2 , …, xn là các biến Boole đƣợc gọi là một tiểu hạng

Ghi chú : Tổng các tiểu hạng biểu diễn hàm Boole đƣợc gọi là khai triển các tích hay dạng tuyển chuẩn tắc của hàm Boole.

Ví dụ: Tìm biểu thức Boole biễu diễn hàm Boole f(x,y) xác định theo bảng: x y f(x,y)

Giải : Hàm có giá trị 1 khi x=1 và y=0 và có giá trị 0 trong mọi trường hợp còn lại nên hàm có 1 tiều hạng là x y Vậy f(x,y) = x y

Ví dụ : Tìm dạng tuyển chuẩn tắc của các hàm Boole f, g đƣợc xác định qua bảng sau :

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 24

Biểu diễn của hàm f là f(x,y,z)= x y z

Biểu diễn của hàm g là g(x,y,z)= xy z  x y z

Ví dụ: Tìm khai triển tổng các tích hàm Boole f(x,y,z) = ( x  y ) z

Giải: Tìm giá trị hàm f theo bảng x y z x+y z f (xy)z

0 0 0 0 1 0 f là tổng ba tiểu hạng ứng với ba dòng có giá trị 1

Biểu diễn của hàm f là f(x,y,z)= xy z  x yz  x y z

Mạng các cổng và công thức tối tiểu

Các dụng cụ điện tử được tạo thành từ nhiều mạch tích hợp, mỗi mạch gồm các phần tử cơ bản được gọi là cổng logic Giá trị đầu ra phụ thuộc duy nhất vào giá trị đầu vào, cho phép các hệ thống điện tử xử lý tín hiệu và thực thi các chức năng dựa trên các tín hiệu đầu vào.

1 Các cổng logic a Cổng NOT b Cổng OR x x x x+y y

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 25 c Cổng AND

2 Tổ hợp các cổng logic.

Ví dụ : thiết kế một mạch tổ hợp có đầu ra là biểu thức boole: xy  y z

Giải : xy là cổng AND, x là cổng NOT, yz là cổng AND

3 Tối thiểu hóa hàm Boole.

Phương pháp biến đổi đại số.

Dựa vào các luật, các hằng đẳng thức của đại số Boole để tối thiểu hóa các biến và phép toán

Ví dụ 1: a) Tối thiểu hóa hàm Boole: f(x,y,z) = xyz  x y z b) Thiết kế mạch tổ hợp của f(x,y,z) = xyz  x y z và của dạng tối thiểu hóa của nó c) Tối thiểu hóa hàm Boole: f(x,y) = x y  xy  x y

Thiết kế mạch tổ hợp của f(x,y,z) = xyxyxy và của dạng tối thiểu hóa của nó.

Phương pháp bảng Karnaugh

Bảng Karnaugh với hàm Boole hai biến:

Hai ô gọi là kề nhau nếu các tiểu hạng mà chúng biểu diễn chỉ khác nhau một tục biến y  x 11 10

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 26

Quy tắc: nếu hai ô kề nhau có giá trị 1 thì ta có thể rút gọn thành 1 ô

Ví dụ 1: Dùng bảng Karnaugh để tối thiểu hóa hàm Boole : f(x,y) = xy +xy

Giải: bảng Karnaugh của hàm f y y x 1

Ta có dạng tối thiểu hóa f(x,y) = y

Ví dụ 2: Dùng bảng Karnaugh để tối thiểu hóa hàm Boole : f(x,y) = xyxyxy

Giải: bảng Karnaugh của hàm f y y x 1

Ta có dạng tối thiểu hóa f(x,y) = x  y

Ví dụ 3: Dùng bảng Karnaugh để tối thiểu hóa hàm Boole : f(x,y,z) = xyzxyzxyzxyz

Giải: bảng Karnaugh của hàm f yz y z y z y z x 1 1

Tổ hợp 2 ô kề nhau: xy z +xyz=xz

Tổ hợp 2 ô kề nhau: x y z +xyz=yz

Ta có dạng tối thiểu hóa f(x,y) = x z +yz+xyz

Phương pháp biểu đồ Karnaugh cho chép nhanh và tối ưu hóa công thức đa thức của hàm Boolean có 3 hoặc 4 biến Trường hợp 3 biến tương tự trường hợp 4 biến, nên bài viết tập trung vào trường hợp 4 biến Nhắc lại, một hàm Boolean 4 biến là một ánh xạ từ tập B4 đến {0,1}, được biểu diễn bằng bảng minterms và maxterms và thông qua biểu đồ Karnaugh để tìm các nhóm 1 tối ưu nhằm rút gọn công thức.

Để biểu diễn bằng hình ảnh một cấu trúc B4, ta dùng một hình vuông 4x4 gồm 16 ô vuông nhỏ để biểu diễn 16 phần tử của B4 Nhờ đó, một hàm Bool f có thể được biểu diễn bằng ma trận 4x4, trong đó mỗi ô ghi nhận giá trị đúng hoặc sai của f tương ứng với một tổ hợp đầu vào cụ thể.

B 4  B bằng cách gạch chéo các ô ở đó f bằng 1.

Vấn đề chính là cách đánh số 16 ô của một hình vuông sao cho tương ứng với các phần tử của B4 Ta biết các phần tử của B4 có thể được xếp theo một thứ tự cổ điển, từ đó có thể thiết lập một ánh xạ rõ ràng giữa từng ô vuông và từng phần tử của B4.

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 27

Ta có thể sắp xếp các phần tử của B4 theo thứ tự lần lượt trên các dòng của hình vuông lớn Tuy nhiên cách làm này không thuận tiện bằng phương pháp Veitch và Karnaugh, được minh hoạ rõ nét trên bản đồ Karnaugh Phương pháp này cho phép nhóm các ô liền kề theo quy tắc Gray code và ghép thành các nhóm tối giản một cách trực quan, từ đó rút gọn hàm Boolean hiệu quả hơn so với cách xếp thông thường Nhờ đó, Karnaugh map giúp nhận diện nhanh các nhóm tối tiểu và nâng cao tính dễ hiểu của quá trình tối giản, đồng thời tối ưu hóa kết quả về mặt số lượng trường hợp cần xét.

Biểu diễn B4 được thể hiện bằng chuỗi 1000 1100 0100 0000 Ở đây ký hiệu x đại diện cho cột nơi biến đầu tiên của x mang giá trị 1 và đại diện cho cột nơi biến đầu tiên của x mang giá trị 0, tương tự cho biến thứ hai y; các biến thứ ba và thứ tư z, t được gán cho các dòng Cách biểu diễn B4 rất thuận tiện để biểu diễn các đơn thức, vì hai ô liên tiếp với nhau chỉ khác nhau ở một thành phần; tương tự, ô ở dòng 1 cột 1 và ô ở dòng 4 cột 4 cũng biểu diễn hai phần tử chỉ khác nhau ở một phần Ta quy ước rằng các ô này cũng được xem như kề nhau.

Ví dụ: Biểu diễn hàm Bool 4 biến t

Mệnh đề: Trong biểu đồ Karnaugh của 4 biến, một đơn thức có dạng tích của p biến (1 ≤ p ≤ 4) được biểu diễn bằng một hình chữ nhật (theo nghĩa rộng) gồm đúng 2^(4−p) ô, được gọi là các tế bào Điều này có nghĩa là mỗi đơn thức với p biến tương ứng với một khối ô liên tiếp trên biểu đồ Karnaugh có kích thước giảm dần khi tăng p; cụ thể, p = 1 tạo thành 8 ô, p = 2 là 4 ô, p = 3 là 2 ô và p = 4 là 1 ô Thuật toán xác định hình chữ nhật đại diện cho đơn thức trên biểu đồ Karnaugh 4 biến bằng cách xác định tập hợp các ô thoả điều kiện tích của p biến và ghép chúng thành một khối liền kề có 2^(4−p) ô, sau đó gọi khối này là tế bào của đơn thức.

Bước 1: Chỉ ra tất cả các tế bào lớn của biểu đồ Karnaugh của f

Sau bước 1, ta sẽ phủ dần biểu đồ Karnaugh bằng các tế bào lớn cho đến khi phủ kín x z y t

Phần 1: Toán rời rạc – Chương 4: Đại số Bool và hàm Bool 28

Bước 2: Nếu tồn tại một ô 1 nằm trong đúng một nhóm tối giản duy nhất, ta chọn nhóm đó để phủ lên biểu đồ Karnaugh Ở phần còn lại của biểu đồ, nếu vẫn còn ô 1 nằm trong đúng một nhóm tối giản duy nhất, ta lặp lại bước 2 bằng cách chọn và phủ bằng nhóm tương ứng cho đến khi không còn ô nào thỏa điều kiện trên.

Bước 3: Nếu các ô lớn được chọn ở bước 2 đã phủ kín biểu đồ Karnaugh của hàm f, ta đi thẳng tới bước 4 Ngược lại, ta chọn một số ô còn lại và trong số các ô lớn chứa ô đó, ta chọn một ô bất kỳ để thêm vào phép phủ và tiếp tục làm tương tự cho phần còn lại cho đến khi biểu đồ Karnaugh của hàm f được phủ kín.

Bước 4 cho thấy chúng ta đã chọn được một tập các nhóm ô lớn phủ kín biểu đồ Karnaugh của hàm f Do ở bước 3 có sự lựa chọn tùy ý các nhóm ô lớn chứa một ô nên thường có nhiều phép phủ khác nhau Trong số các phép phủ thu được, ta loại bỏ những phép phủ không tối tiểu để chỉ còn các phép phủ tối giản.

Đồ thị Chương 1 : ĐỒ THỊ

Định nghĩa

Đồ thị G = (V, E) là một cấu trúc toán học gồm hai tập hợp V và E, trong đó V không rỗng Các đỉnh (vertices) là các phần tử của tập V, còn các cạnh (edges) là các phần tử của tập E Mỗi cạnh liên kết hai đỉnh trong V, tạo nên các mối liên hệ giữa các đỉnh được thể hiện trên đồ thị.

Trong đồ thị vô hướng, nếu một cạnh e liên kết hai đỉnh v và w thì v và w được coi là hai đỉnh kề hay liền kề với nhau Cạnh e được xem là incident với hai đỉnh v và w, tức là nó nối tới cả hai đỉnh này Ký hiệu cạnh e có thể ghi là e = (v, w), cho thấy e liên kết đỉnh v với đỉnh w.

Cạnh tương ứng với 2 đỉnh trùng nhau gọi là vòng (loop) tại v.

Hai cạnh phân biệt cùng tương úng với 1 cặp đỉnh gọi là 2 cạnh song song

(parallel edges) Đồ thị không có cạnh song song và cũng không có vòng gọi là đơn đồ thị

Trong đồ thị học, đồ thị đơn (simple graph) là đồ thị không có đa cạnh hoặc cạnh vòng tự nối; ngược lại, đa đồ thị (multigraph) cho phép có nhiều cạnh trùng giữa hai đỉnh hoặc có cạnh tự nối Đồ thị đầy đủ (complete graph) là đồ thị mà mọi cặp đỉnh đều được kề nhau Đồ thị con (subgraph) G' = (V', E') của đồ thị G = (V, E) được xác định khi V' ⊆ V và E' ⊆ E, với mọi cạnh trong E' là cạnh của E và hai đầu mút của mỗi cạnh thuộc V'.

 V và E’ E Đồ thị có số đỉnh và số cạnh hữu hạn gọi là đồ thị hữu hạn (infinite graph)

Trong những phần sau ta chỉ khảo sát các đồ thị hữu hạn.

Biểu đồ

Một đồ thị thường được biểu diễn bằng một biểu đồ như sau:

Mỗi đỉnh biểu diễn 1 điểm và mỗi cạnh biểu diễn thành 1 đoạn nối 2 đỉnh tương ứng với nó.

Ví dụ 1: Dưới đây là biểu đồ của vài đồ thị

Phần 2: Lý thuyết đồ thị – Chương 1: Đồ thị 30

Ví dụ 2: Ta dùng ký hiệu Knđể chỉ đơn đồ thị đầy đủ có đỉnh Biểu đồ của Kn vói 1 ≤ n ≤ 5 nhƣ sau:

Bậc của một đỉnh

Xét một đỉnh v trong đồ thị G Số cạnh tới v, trong đó mỗi vòng tại v đƣợc kể là

In graph theory, the degree of a vertex v, denoted d(v), is the number of edges incident to v A vertex with degree 0 is called an isolated vertex, while a vertex with degree 1 is a pendant vertex, and the edge incident to a pendant vertex is called a pendant edge A graph in which every vertex is isolated is called a null graph.

Với mọi đồ thị G=(V, E), ta có:

Tổng số bậc của các đỉnh bậc lẻ trong 1 đồ thị là 1 số chẵn

Mọi đồ thị đều có một số chẵn các đỉnh bậc lẻ

4 Hệ luận 3 Đồ thị Kn có cạnh

Ví dụ: Một đồ thị G = (V, E) có 24 cạnh và mỗi đỉnh của G đều có bậc 4 Tìm số đỉnh của G

Phần 2: Lý thuyết đồ thị – Chương 1: Đồ thị 31

IV Ma trận liên kết

Cho đồ thị G có n đỉnh là v1, v 2 , …, vn Ma trận liên kết của G, với thứ tự là v1, v 2 , …, vnlà ma trận vuông nxn

[m ij ] Trong đó, mij= số cạnh nối đỉnh vi với đỉnh vj (1 i, j  n)

Lưu ý: Cạnh vòng được tính là 2 cạnh

Trong lý thuyết đồ thị, ma trận liên kết (ma trận kề) mô tả các cạnh giữa các đỉnh bằng các giá trị a_ij Định lý cho ma trận liên kết cho biết tổng các phần tử trên hàng thứ i (hoặc cột thứ i) bằng bậc của đỉnh v_i, tức d(v_i) Nói cách khác, tổng của các giá trị ở hàng i hoặc cột i cho ta số cạnh liên kết với đỉnh v_i và phản ánh mức độ kết nối của đỉnh đó trong đồ thị.

Đường và chu trình

Cho một đồ thị G Một đường (path) P trong G là một dãy các đỉnh v0, v 1 , …, vk sao cho e i = (1  i  k) là các cạnh đôi một khác nhau.

Số k (là số cạnh tạo thành P) gọi là chiều dài của đường P.

Ta nói đường P nối 2 đỉnh v0 và v k , các đỉnh vi (0  i  k) và các cạnh ei (0  i  k) gọi là nằm trên đường P.

Một đỉnh xem là một đường có chiều dài bằng 0

Phần 2: Lý thuyết đồ thị – Chương 1: Đồ thị 32

Một chu trình trong G là một đường trong G có dạng c = v0v1…vk-1v0 với l(c)

Trong đồ thị, không cần chú ý tới đỉnh bắt đầu (và cũng là đỉnh kết thúc) của chu trình Một đường đi hay chu trình được gọi là đơn giản khi nó không đi qua bất kỳ đỉnh nào quá một lần.

Sự liên thông

Một đồ thị đƣợc gọi là liên thông nếu mọi cặp đỉnh của nó đều đƣợc nối với nhau bởi một đường.

Xét một đồ thị G = (V, E) trên tập hợp V, định nghĩa hệthức nhƣ sau:

v, w  V, v  w  có 1 đường trong G nối v và w.

Sự đẳng hình

Đẳng hình của hai đồ thị G = (V,E) và G' = (V',E') được hiểu là tồn tại một ánh xạ một-đến-một từ V sang V' và một ánh xạ một-đến-một từ E sang E' sao cho với mọi cạnh e = {v,w} ∈ E cạnh tương ứng e' = {f(v), f(w)} ∈ E', và mọi cạnh e' ∈ E' là ảnh của một cạnh e ∈ E; ngược lại, nếu e và e' là một cặp cạnh tương ứng thì cặp đỉnh {v,w} và cặp đỉnh {f(v), f(w)} cũng là các cặp đỉnh tương ứng Nói ngắn gọn, đẳng hình bảo toàn cấu trúc liên kết giữa đỉnh và cạnh của hai đồ thị, cho thấy hai đồ thị có cùng dạng cấu trúc mặc dù có thể khác về nhãn đỉnh hay nhãn cạnh.

Hiển nhiên nếu 2 đồ thị đẳng hình với nhau thì chúng phải có:

- Cùng số đỉnh bậc k, k nguyên  0

Nếu hai đồ thị có ma trận liên kết (theo 1 thứ tự đỉnh nào đó) bằng nhau thì chúng đẳng hình.

Ví dụ: Các cặp đồ thị sau đẳng hình với nhau

Phần 2: Lý thuyết đồ thị – Chương 1: Đồ thị 33

CÁC BÀI TOÁN VỀ CHU TRÌNH

Chu trình Euler

1 Euler và bài toán 7 cầu ở KONIGSBURG Ở thành phố Konigsburg có 7 cây cầu bắc ngang con sông Pregel nhƣ hình vẽ: Người ta đặt câu đố:

Tìm cách đi qua tất cả 7 cây cầu này, mỗi cái đúng 1 lần rồi quay về điểm xuất phát

Năm 1736, Leonhard Euler (1707 –1783) đã chứng minh không thể có 1 đường đi nhƣ thế bằng lập luận sau:

Biễu diễn 4 miền đất A, B,C, D bằng 4 điểm trong mặt phẳng mỗi câu nối 2 miền được biểu diễn bằng 1 đoạn nối 2 điểm tương ứng, ta sẽ có đồ thị

Xét 1 đồ thị liên thông G

Một chu trình Euler của G là 1 chu trình đi qua tất cả các cạnh của G

Một đường Euler của G liên thông là 1 đường có đỉnh bắt đầu khác đỉnh kết thúc và đi qua tất cả các cạnh của G

Cho 1 đồ thị vô hướng G liên thông và có hơn 1 đỉnh Thì G có chu trình Euler nếu và chỉ nếu mọi đỉnh của G đều có bậc chẵn

Ví dụ: Xét đồ thị G với ma trận liên kết (các vị trí trống là số 0)

Phần 2: Lý thuyết đồ thị – Chương 2: Các bài toán về chu trình 36

Trong đồ thị G, ma trận liên kết (adjacency matrix) ghi nhận các cạnh giữa các đỉnh và tổng các phần tử trên mỗi hàng bằng số chẵn, tương đương với việc mọi đỉnh của G có bậc chẵn Với đặc tính này, đồ thị G có chu trình Euler.

- Xét hàng 1 (chọn đỉnh 1), phần tử ô ở cột 2 khác 0 vậy ta chọn đỉnh kế tiếp là 2 và có được đường 12

Giảm 1 ở phần tử m12 (hàng 1 cột 2) và m21 (xoá cạnh vừa đi qua) Đồ thị và ma trận trở thành

- Xét hàng 2, m23 ≠ 0, vậy chọn đỉnh kế tiếp là 3 và có được đường 1 2 3 Đồ thị và ma trận trở thành

- Xét hàng 3, m 31 ≠ 0, chọn đỉnh kế tiếp là 1 và có được đường 1 2 3 1 Đồ thị và ma trận trở thành

Phần 2: Lý thuyết đồ thị – Chương 2: Các bài toán về chu trình 37

Xét hàng 1, tất cả các phần tử trên hàng này đều bằng 0 nên không thể tiếp tục được nữa Xét đỉnh kế tiếp trong chu trình vừa tạo là đỉnh 2 Trong hàng 2, có phần tử m24 khác 0.

Vậy ta mở rộng chu trình từđỉnh 2

Viết lại chu trình: 2 3 1 2 Đồ thị và ma trận vẫn nhƣ cũ

- Xét hàng 2, m 24 ≠ 0, chọn đỉnh kế tiếp là 4 và có được đường 2 3 1 2 4

- Xét hàng 4, m43≠ 0, chọn đỉnh kế tiếp là 3 và có được đường 2 3 1 2 4 3

- Xét hàng 3, m36≠ 0, chọn đỉnh kế tiếp là 6 và có được đường 2 3 1 2 4 3 6

- Xét hàng 6, m65≠ 0, chọn đỉnh kế tiếp là 5 và có được đường 2 3 1 2 4 3 6 5

Phần 2: Lý thuyết đồ thị – Chương 2: Các bài toán về chu trình 38

- Xét hàng 5, m52 ≠ 0, chọn đỉnh kế tiếp là 2 và có được đường 2 3 1 2 4 3 6 5 2

Ma trận đổi thành ma trận không: Giải thuật kết thúc và ta có chu trình Euler 2 3 1

Cho 1 đồ thị vô hướng G liên thông và có hơn 1 đỉnh Thì G có đường Euler nếu và chỉ nếu G có đúng 2 đỉnh bậc lẻ.

Cho đồ thị có hướng G liên thông và có hơn 1 đỉnh Thì G có chu trình Euler nếu và chỉ nếu G cân bằng.

Cho đồ thị có hướng G liên thông và có hơn 1 đỉnh Thì G có đường Euler nếu và chỉ nếu trong G có 2 đ3nh a, b thoả: dout(a) = din(a) + 1 d in (b) = d out (b) + 1

CÂY

Khảo sát tổng quát

1 Định nghĩa và các tính chất cơ bản

Cây (tree) còn gọi là cây tự do (free tree) là một đồ thị liên thông không có chu trình

Cho T là một cây, thì giữa hai đỉnh bất kỳ của T luôn luôn tồn tại một và chỉ một đường trong T nối chúng.

Nếu cây có n đỉnh thì có n –1 cạnh.

2 Định lý (Daisy Chain Theorem)

Giả sử T là một đồ thị có n đỉnh, thì 6 mệnh đề sau đây tương đương:

(ii) T không có chu trình và có n –1 cạnh

(iii)T liên thông và nếu huỷ bất kỳ một cạnh nào của nó cũng làm mất tính liên thông

(iv)Giữa 2 đỉnh bất kỳ của T, luôn luôn tồn tại một đường duy nhất nối chúng

(v) T không có chu trình, và nếu thêm một cạnh mới nối 2 đỉnh bất kỳ của T thì sẽ tạo ra một chu trình

(vi)T liên thông và có n –1 cạnh

3 Tâm và bán kính của cây

Xét một cây có gốc T

Mức (level) của một đỉnh v trong T là khoảng cách từ gốc đến v.

Trong cây, chiều cao của một đỉnh bất kỳ là mức cao nhất mà đường đi từ đỉnh đó có thể đạt tới các đỉnh lá; chiều cao của cây được xác định bằng giá trị lớn nhất của các chiều cao của các đỉnh Với mỗi cạnh của T, ta gọi x là cha của y và y là con của x Hai đỉnh có cùng cha được gọi là anh em với nhau Nếu có một đường đi có hướng từ v đến w thì v được gọi là đỉnh trước của w và w được gọi là đỉnh sau của v.

Những đỉnh không có con gọi là lá, những đỉnh không là lá đƣợc gọi là đỉnh trong

Một tập hợp gồm nhiều cây đôi một không có đỉnh chung gọi là một rừng.

Phần 2: Lý thuyết đồ thị – Chương 3: Cây 42

Một đỉnh x của cây T là gốc một cây con của T gồm x và các đỉnh sau của nó Nhƣ vậy, nếu huỷ gốc khỏi cây T, ta sẽ đƣợc một rừng.

Bây giờ ta xét một cây tự do T. Độ lệch tâm của đỉnh x, ký hiệu là E9x), là khoảng cách lớn nhất từ x đến một đỉnh bất kỳ của T

E(x) = (x, y) Đỉnh có độ lệch tâm nhỏ nhất trong T đƣợc gọi là tâm của T, độ lệch tâm của tâm đƣợc gọi là bán kính của T.

Một cây tự do có nhiều nhất 2 tâm

Cho một cây có gốc T

Nếu số con tối đa của một đỉnh trong T là m và có ít nhất một đỉnh có đúng m con thì T gọi là một cây m-phân

Nếu mọi đỉnh trong của T đều có đúng m con thì T gọi là một cây m-phân đầy đủ.

Một cây m-phân đầy đủ có i đỉnh trong thì có mi + 1 đỉnh

Cho T là một cây m-phân đầy đủ thì:

(i) T có i đỉnh trong  T có l = (m – 1)i + 1 lá

(ii)T có l lá  T có i = đỉnh trong

(ii)T có n đỉnh  T có i = đỉnh trong và l = lá

Phần 2: Lý thuyết đồ thị – Chương 3: Cây 43

(i) Một cây m-phân có chiều cao h thì có nhiều nhất là m h lá

(ii) Một cây m-phân có l lá thì có chiều cao h ≥ [logml]

(iii)Một cây m-phân đầy đủ và cân bằng có l lá thì có chiều cao h = [logml]

C ây nhị phân và phép duyệt cây

Cây nhị phân là một cây có gốc sao cho mỗi đỉnh có tối đa hai con Từ gốc có thể có một hoặc hai cạnh đi xuống, đỉnh nối với gốc ở phía trái (phải) được gọi là con trái (con phải) Mỗi đỉnh con này lại có thể có con trái hoặc con phải của nó và cứ như vậy cho đến các lá ở cuối cây.

Một cây nhị phân là một cấu trúc dữ liệu có hai trạng thái: nó có thể là một tập rỗng, hoặc gồm một gốc và hai cây con nhị phân phân biệt ở bên trái và bên phải, được gọi lần lượt là cây con bên trái và cây con bên phải.

Duyệt cây là đƣa ra 1 danh sách liệt kê tất cả các đỉnh của cây, mỗi đỉnh 1 lần

Có 3 giải thuật thường dùng để duyệt cây nhị phân là Preorder Search, Inorder Search và Postorder Search

Có 3 giải thuật vừa nêu đều đệ quy. a Giải thuật Preorder Search

2 Đến cây con bên trái, dùng Preorder

3 Đến cây con bên phải, dùng Preorder

Ví dụ: Xét cây nhị phân

Giải thuật Preorder cho ta thứ tự các đỉnh là: A, [cây con bên trái], [cây con bên phải]

Trong đó, thứ tự các đỉnh của cây con bên trái của A là: B D E và thứ tự các đỉnh của cây con bên phải cùa A là: C F

Vậy kết quả: A B D E C F b Giải thuật Inorder Search

1 Đến cây con bên trái, dùng Inorder

Phần 2: Lý thuyết đồ thị – Chương 3: Cây 44

3 Đến cây con bên phải, dùng Inorder

Ví dụ: Xét cây ở ví dụ trên

Giải thuật Inorder cho ta thứ tự các đỉnh là: [cây con bên trái], A, [cây con bên phải]

Trong đó, thứ tự các đỉnh của cây con bên trái của A là: D B E và thứ tự các đỉnh của cây con bên trái của A là: C F

Vậy kết quả: D B E A C F c Giải thuật Postorder Search

1 Đến cây con bên trái, dùng Postorder

2 Đến cây con bên phải, dùng Postoeder

Ví dụ: Xét ví dụ trên

Giải thuật Postorder cho ta thứ tự các đỉnh là [cây con bên trái], [cây con bên phải], A

Trong đó, thứ tự các đỉnh của cây con bên trái của A là: D E B và thứ tự các đỉnh của cây con bên phải của A là: F C

Cây bao trùm

Cho 1 đồ thị vô hướng G.Một cây T gọi là 1 cây bao trùm của G nếu T là 1 đồ thị con chứa mọi đỉnh của G

2 Định lý Đồ thị G có cây bao trùm nếu và chỉ nếu G liên thông

Giải thuật nêu trên đƣợc áp dụng để tìm cây bao trùm của 1 đồ thị liên thông G theo 2 cách:

3.1 Phép duyệt theo bề sâu (Depth-First Search)

1 Chọn 1 đỉnh bất kỳ của G làm gốc của T

2 Tạo 1 đường từ gốc đi qua các đỉnh không trong T, kéo dài đường này đến khi không thể kéo dài thêm Đặt đường này vào T rồi quay trở về đỉnh ngay trước đó, xem đỉnh này là gốc Lập lại thủ tục này cho đến khi mọi đỉnh của G đều nằm trong T.

Phần 2: Lý thuyết đồ thị – Chương 3: Cây 45

Cây bao trùm nhận được bằng phương pháp này gọi là cây bao trùm tạo theo bề sâu (Depth-First Spanning Tree)

3.2 Phép duyệt cây theo bề rộng (Breadth-First Search)

1 Chọn 1 đỉnh bất kỳ của G làm gốc T

2 Đặt mọi cạnh nối gốc với 1 đỉnh ngoài T vào T Lần lƣợt xét từng đỉnh con của gốc, xem đỉnh này là gốc mới Lập lại thủ tục này cho đến khi mọi đỉnh của G đều nằm trong T.

Cây bao trùm nhận được bằng phương pháp này gọi là cây bao trùm tạo theo bề rộng (Breadth-First Spanning Tree)

Ví dụ: Gọi đồ thị liên thông G sau:

Ma trận liên kết của G là:

Phần 2: Lý thuyết đồ thị – Chương 3: Cây 46

Cây bao trùm tạo theo bề rộng là:

Coi một cây bao trùm T của đồ thị G

Khi thêm vào cây T một cạnh của đồ thị G mà không thuộc T, ta tạo ra một chu trình trong T Sau đó, loại bỏ một cạnh bất kỳ trên chu trình này, ta nhận được một cây bao trùm (cây khung) mới của G.

BÀI TOÁN VỀ CON ĐƯỜNG NGẮN NHẤT

Giới thiệu bài toán

Cho một đồ thị có hướng đơn, liên thông, G = (V, E) Trọng số của mỗi cạnh được giả sử không âm và được xem như chiều dài của cạnh ấy Nhờ đặc trưng này, đồ thị có thể dùng để mô tả các đường đi giữa các đỉnh và chi phí tương ứng trên mỗi cạnh, phục vụ cho các bài toán tìm đường đi ngắn nhất, tối ưu hóa tuyến đường và phân tích mạng lưới.

Bài toán đặt ra là tìm đường đi ngắn nhất nối hai đỉnh được cho trước trong một đồ thị Xét hai đỉnh u, v thuộc tập đỉnh V Nếu tồn tại một cạnh e thuộc tập cạnh E nối trực tiếp u với v thì ta gán c(u, v) = c(e) = chiều dài của cạnh e c(u, v) đại diện cho chi phí hoặc độ dài liên kết giữa hai đỉnh và đóng vai trò là cơ sở để xác định đường đi tối ưu trên đồ thị.

Nếu không có cạnh nào nối u với v thì ta đặt c(u, v) = 

Lưu ý rằng c(u, v) =  với mọi u  V Đặt c*(u, v) = chiều dài con đường ngắn nhất (gồm ít nhất một cạnh) nối u với v

C*(u, u) <   có 1 chu trình trong G chứ u

Giải thuật DIJKS TRA

Bước 1: Đặt L = {v0}, (v0) = 0 Với v  V – {v0} Đặt (v) = c(v0, v) và (v) = v0

Bước 2: Nếu mọi đỉnh của G đều thuộc L thì dừng

Bước 3: Nếu không, chọn v  L sao cho (v) nhỏ nhất Đặt v* = v Đƣa thêm v* và cạnh vào L Bước 4: Với mọi w  V\L, nếu (w) > (v*) + c(v*, w) thì đặt (w) = (v*) + c(v*, w) và (w) = v*

Trở về bước 2 của Định lý, ta đặt δ(v) và π*(v) là trị số của π(v) khi thuật toán Dijkstra kết thúc Đường đi ngắn nhất từ đỉnh khởi đầu v0 đến đỉnh đích w có độ dài bằng δ*(w) và được xác định bởi hàm π*, trong đó π*(v) cho biết đỉnh đứng trước v trên đường đi ngắn ấy.

Hiển nhiêngiải thuật luôn luôn dừng

Trước hết nhận xét rằng với mọi đỉnh w  V và tại mọi thời điểm thực hiện giải thuật ta luôn có: c*(v0, w) ≤ (w)  c*(v0, w) ≤ *(w)

Giả sử thứ tự chọn các đỉnh đặt vào L là v0, v 1 , …, vn

Phần 2: Lý thuyết đồ thị – Chương 4: Bài toán về con đường ngắn nhất 53

Ta chứng minh rằng *(v i ) ≤ *(v i+1 ), i Ở vòng lặp thứ i (chọn đỉnh viđặt vào L) thì vi+1  L nên:

( i là hàm  ở vòng lặp thứ i) Ở vòng lặp thứ i = 1 ta có:

Như thế nếu đỉnh v được chọn đặt vào L trước w thì: *(v) ≤ *(w)

Bây giờ giả sử có đỉnh w sao cho c*(v0, w) < *(w) Gọi v0w 1 …wpw là đường ngắn nhất nối v0 với w, thì c*(wp, w) và có thể giả sử rằng c*(v0, w 1 ) = *(w) i = 1,

*(w p ) ≤ *(w p ) + c*(wp, w) = c*(v0, wp) + c*(wp, w) = c*(v0, w) < *(w) Vậy đỉnh wpđược chọn đặt vào L trước đỉnh w. Ở thời điểm chọn wp đặt vào L thì: c*(v0, wp) = *(wp) c(v0, w) = c*(v0, wp) + c*(wp)

Lưu ý: Để tìm con đường ngắn nhất nối đỉnh v0 với một đỉnh w, ta áp dụng giải thuật Dijkstra với điều kiện dừng thay đổi nhƣ sau:

Nếu w  L thì giải thuật dừng

Giải thuật Dijkstra cũng áp dụng được cho đồ thị vô hướng

Ví dụ: Xét đồ thị

Phần 2: Lý thuyết đồ thị – Chương 4: Bài toán về con đường ngắn nhất 54

Dùng giải thuật Difkstra để tìm đường ngắn nhất nối A đến các đỉnh khác.

Chọn đƣợc đỉnh F đặt vào L và ta có bảng sau:

Cứ tiếp tục nhƣ trên, ta có lần lƣợt:

Phần 2: Lý thuyết đồ thị – Chương 4: Bài toán về con đường ngắn nhất 55

Giải thuật chấm dứt và bảng lập được sau cùng cho ta con đường ngắn nhất nối

Chẳng hạn đường ngắn nhất nối A đến H là ABCH và chiều dài đường ngắn nhất này là 5

Khi giải thuật Dijkstra kết thúc, ta sẽ có một cây bao trùm L của đồ thị G và đường ngắn nhất từ đỉnh nguồn v0 tới mỗi đỉnh khác chính là đường duy nhất trong L nối v0 với đỉnh đó Vì vậy, L được gọi là cây bao trùm Dijkstra gốc v0 của G.

Ngày đăng: 29/12/2022, 16:40

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm