Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
141,5 KB
Nội dung
PHÂNLOẠIBÀITOÁNĐỒTHỊ LỜI MỞ ĐẦU 2 MỘT SỐ KHÁI NIỆM CƠ BẢN 2.1 Cấu trúc đồthị 2.2 Phép duyệt đồthị 2.3 Đồthị hàm chi phí 2.4 Đồthị quan hệ 2.5 Cây có gốc 2.6 Biểu diễn đồthị 10 TÌM HIỂU MỘT SỐ CÁCH PHÂNLOẠIBÀITOÁNĐỒTHỊ 11 3.1 Một số cách phânloạitoánđồthị 11 3.1.1 Phânloại theo chương trình khung Bộ GD&ĐT 11 3.1.2 Phânloại theo logic lý thuyết đồthị 12 3.1.3 Phânloạitoán theo nhóm thuật toánđồthị 13 3.2 Nhận xét lựa chọn 14 TÀI LIỆU THAM KHẢO 16 1 LỜI MỞ ĐẦU Bàitoánđồthị chủ đề truyền thống kỳ thi HSG Quốc gia, Olympic Tinhọc Quốc tế khu vực Không mà số lượng toánđồthị đưa vào đềthi chiếm tỷ lệ lớn Là giáo viên dạy ChuyênTin THPT, cố gắng tích cực tìm tòi, nghiên cứu, sưu tầm tài liệu để nâng cao kiến thức chủ đề này, với mong muốn truyền thụ nhiều kiến thức hữu ích cho họcsinh Nhiệm vụ đặt là, điều kiện tài liệu dạy ChuyênTin khan hiếm, trình độhọcsinh không đồng đều, kinh nghiệm thân ít, nên dạy toánđồthị cho họcsinh nào? Gồm chủ đề gì? Phânloạitoán nào? Đây vài số nhiều câu hỏi phát sinh trình giảng dạy toánđồthị Trong viết này, cố gắng đưa số câu trả lời số đó, với kinh nghiệm giảng dạy toánđồ thị, kiến thức sưu tầm Chắc chắn nhiều thiếu sót, mong đồng nghiệp đóng góp cho viết Trong phần 2, xin nhắc lại số khái niệm đồ thị, người đọc không quen thuộc với chúng mà để tránh hiểu lầm cách sử dụng thuật ngữ khác Trong phần 3, xin nêu số cách phânloạitoánđồthị tài liệu hành, số nhận xét cách vận dụng đơn vị trình giảng dạy MỘT SỐ KHÁI NIỆM CƠ BẢN 2.1 Cấu trúc đồthị Một cấu trúc đồthị G(V,E) xác định tập hữu hạn V gồm đỉnh tập hữu hạn E liên kết mà liên kết nối cặp đỉnh với Một liên kết có hướng cặp đỉnh tương ứng có thứ tự liên kết vô hướng cặp đỉnh thứ tự Ta gọi liên kết thứ tự cạnh liên kết có thứ tự cung Nếu E tập cạnh (cung) có lặp lại ta gọi đồthị đa đồ thị, cạnh lặp ta gọi đồthị đơn đồthị chia bốn loạiđồ thị: đơn đồthị vô hướng, đơn đồthị có hướng, đa đồthị vô hướng, đa đồthị có hướng Và với loạiđồthị này, thuật toán giải toán tương tự khác Ví dụ với thủ tục hiển thị cấu trúc đồthị dạng ma trận liên thuộc g[][] Với cấu trúc cho trước từ tệp tin đầu vào dạng danh sách cạnh (cung) ta gán g[v][w] = ứng với cung (v,w), với cạnh (v,w) cần phải gán g[v][w] = g[w][v] = Với liên kết (v,v) ta gọi khuyên, người ta thường cho phép khuyên có mặt đồthị có hướng 2 4 a Đa đồthị có hướng b Đơn đồthị có hướng c Đơn đồthị vô hướng Hình 1: Minh họa đồthị 2.2 Phép duyệt đồthị Ý tưởng "di chuyển" cấu trúc đồ thị, từ đỉnh tới đỉnh khác qua cạnh (cung) nối chúng thao tác làm việc với đồthị ta gọi duyệt đồthị Ta gọi dãy đỉnh v0, v1, , vm đồthị có hướng đườngđộ dài m từ đỉnh v0 đến đỉnh vm, cung (vi, vi+1)∈E với i = 0,1, , m-1 Khi v0 = vm ta gọi đường chu trình Ta gọi dãy đỉnh v0, v1, , vm đồthị vô hướng đườngđộ dài m từ đỉnh v0 đến đỉnh vm, cạnh(vi, vi+1)∈E vi-1 ≠ vi+1 với i = 0,1, , m-1 Khi v0 = vm ta gọi đường chu trình Điều kiện vi-1 ≠ vi+1 quan trọng không xảy loại chu trình kiểu 1,2,1 1,1, 2, (với cạnh (1,2) đồ thị) Trong đồ thị, hai đỉnh có đường đi, ta nói đồthị liên thông Trong đồthị có hướng, hai đỉnh có đường theo hướng đó, gọi liên thông yếu Khi đồthị không liên thông, phân chia thành số đồthị liên thông ta gọi chúng thành phần liên thông Ngoài có khái niệm đường đỉnh (hoặc cạnh nào) lặp lại Đường mà cạnh (cung) xuất lần gọi đường Euler Đường mà đỉnh xuất lần gọi đường Hamilton 2.3 Đồthị hàm chi phí Mỗi cấu trúc đồthị xác định hàm chi phí đỉnh cV: V → C, hàm chi phí cạnh(cung) cE: E → C, hai, với C tập số (số nguyên, số hữu tỷ, số thực, v.v tập tập đó) Giá trị hàm chi phí, bên cạnh từ chi phí có tên gọi khác độ dài, trọng số, độ ưu tiên, v.v tùy theo ngữ cảnh Nếu đồthị không định nghĩa hàm chi phí ta coi chi phí đỉnh cạnh (cung) Hàm chi phí thường mở rộng theo cách tự nhiên đồthị cấu trúc đồthị Ví dụ chi phí đườngđồthị thường tổng chi phí đỉnh (hoặc cách cạnh, hai) đồthị Khái niệm đường có chi phí nhỏ nhất, hay gọi đường ngắn khái niệm đồthị với nhiều thuật toán liên quan Ví dụ số toán có hàm chứa toán tìm đường ngắn đề cập Bàitoán 1: Thành phố có N bến xe buýt gán nhãn 1, 2, , N R tuyến xe buýt: M1(i1,1, i1,2, , i1,m1), M2(i2,1, i2,2, , i2,m2), , Mr(ir,1, ir,2, , ir,m1), i ≤ ij,k ≤ N, ij,k ≠ ij,l với k ≠ l Mỗi xe buýt xuất phát từ bến đầu mút tuyến, qua tất bến thuộc tuyến theo trật tự cho đến bến đầu mút lại quay lại với hành trình đảo ngược Viết chương trình: (i) Kiểm tra người xe buýt từ bến i đến bến j cho trước hay không? (ii) Với hai bến i j cho trước, in tất đườngđể từ bến i đến bến j? (iii) Với hai bến i j cho trước, tìm đường nhanh để từ bến i đến bến j, thời gian từ bến sang bến khác nhỏ lần so với thời gian đổi tuyến xe buýt? Bàitoán 2: Cho tập V gồm xâu ký tự độ dài 2N gồm N-1 chữ 'A', N-1 chữ 'B' chữ 'O' Với hai xâu X Y thuộc V (hai đỉnh thuộc V), xâu Y gọi biến đổi từ xâu X (đỉnh X có cạnh nối với đỉnh Y) nếu, ta đổi chỗ hai ký tự 'O' với hai ký tự liền kề (giữ nguyên thứ tự chúng) X Y Xâu có chữ 'A' nằm hoàn toàn phía trái chữ 'B' (không quan tâm vị trí chữ 'O') gọi xâu cuối Viết chương trình với xâu S cho trước tìm in chi phí nhỏ để từ S ta biến đổi xâu cuối (tìm in đường ngắn từ đỉnh S đến đỉnh cuối cùng, chi phí cạnh 1) Nếu cách biến đổi (không có đường đi) thông báo 'NOSOLUTION' Bàitoán 3: Cho đồthị G(V = {1, 2, , n}, E) Có r đườngđộ dài tương ứng m1, m2, , mr, cạnh G thuộc đường cho Chi phí đỉnh chi phí cạnh Viết chương trình: (i) Kiểm tra xem đồthị có liên thông hay không, (ii) cho cho hai đỉnh v w, in tất đường v w, (iii) cho hai đỉnh v w, để tìm đường v w với chi phí tối thiểu Cho đồthị G (V, E) với hàm chi phí cE: E → C, C tập số không âm Thì hàm d: V × V → C, d(v, w) chi phí đường ngắn từ v đến w khoảng cách theo ý nghĩa toánhọc cổ điển, vì: (i) ∀ v, w ∈ V, d(v, w) ≥ d (v, w) = ⇔ v = w, (ii) ∀ v, w ∈ V, d(v, w) = d (w, v), (iii) ∀ v, w, u ∈ V, d(v, w) ≤ d(v, u) + d(u, w) Hàm khoảng cách cho ta khả xem xét đồthị G (V, E) đối tượng hình học xác định khái niệm tương ứng Ví dụ, tâm đồthị G đỉnh v, giá trị nhỏ D(v) = max {d(v,w) | w ∈ V} đường kính đồthị G D(G) = max {d (v, w) | v, w ∈ V} Sự tương tự tính chất "hình học" đồthị hình học không gian Euclid biết đến nguồn gốc toán thú vị đồthị 2.4 Đồthị quan hệ Cho A B tập tùy ý Mỗi tập R tích Đề A × B gọi quan hệ Trong toán học, người ta dạy họcsinh số lượng lớn mối quan hệ hữu ích: đại số ta nói ("x nhỏ y", "x nhỏ y", "x y", v.v ), hình học ta nói ("điểm p nằm đường thẳng l", "đường thẳng l qua điểm p", "đường thẳng l m song song", v.v ), lý thuyết tập hợp nói chung, ta nói ("A tập B","A B giao nhau", v.v ) Rất nhiều mối quan hệ tìm thấy bên toán học, giới xung quanh Ví dụ, quan hệ người - "x trai y", "x giống y", "x y lớp", v.v , mối quan hệ phổ biến làng, "làng x nối với y làng đường" (các quan hệ tương tự thiết lập ngã tư đường phố nối với đường phố, nhà ga kết nối đường xe lửa; nguồn điện, trung tâm phân phối điện khách hàng liên kết đường điện, v.v ) Đó lý có nhiều toán khác xảy Ta cần quan tâm đến tính chất đặc biệt quan hệ tích Descartes A×A - phản xạ, đối xứng, phản đối xứng, bắc cầu Một số mối quan hệ cụ thể tích Descartes - tương đương (phản xạ, đối xứng bắc cầu), thứ tự phận (phản xạ, phản đối xứng bắc cầu) thứ tự toànphần (phản xạ, phản đối xứng mạnh bắc cầu) có ý nghĩa toánhọc thuật toán Khái niệm quan hệ hữu hạn trùng với khái niệm đồthị có hướng Thật vậy, đồthị có hướng G(V, E) coi quan hệ E ⊆ V × V ngược lại Một mối quan hệ hữu hạn E ⊆ V × V có tính đối xứng (tùy trường hợp có thêm tính phản xạ) thực đồthịĐó lý sao, toán liên quan với quan hệ coi toánđồthị có hướng đồthị vô hướng Chúng ta xem xét số ví dụ, với giả sử tập đỉnh V {1, 2, , n} Bàitoán 4: Cho E ⊆ V×V quan hệ tương đương Tìm số lượng lớp tương đương E Số có hay không? Nếu số lượng lớp tương đương lớn 1, tìm lớp tương đương E Bàitoán (thực tập toán tương tự) toán cổ điển quan hệ tương đương Vì quan hệ tương đương có tính phản xạ đối xứng, G (V, E) đồthị Từ quan điểm đồ thị, toán phát biểu sau: "Có thành phần liên thông đồthị G(V, E)? Đồthị có liên thông không? Nếu không, liệt kê đỉnh thành phần liên thông G?" Bàitoán 5: Cho E ⊆ V×V tập quan hệ thứ tự toànphần (chúng ta biểu thị (x, y) ∈ E x ≤ y) V'⊆ V, |V'|= M Tìm dãy a1, a2, , aM gồm tất phần tử V' thỏa mãn a1 ≤ a2 ≤ ≤ aM Tất nhiên, toán xếp tập hợp phần tử dãy thứ tự toànphần cho trước Có nhánh cụ thể Lý thuyết Thuật toán dành riêng cho Bàitoán xây dựng toánđồthị có hướng Có thể hiểu quan hệ thứ tự đồthị có hướng chu trình Vì vậy, toán xếp tập cho trước theo trật tự toànphần phát biểu sau: "Cho đồthị có hướng G(V', E') chu trình Tìm đường có độ dài cực đại G" Quan hệ E' công thức là, rõ ràng, hạn chế E V' Đồthị có hướng chu trình phổ biến có tên dag (viết tắt Directed Acyclic Graphs) Bàitoán 6: Cho E ⊆ V×V tập quan hệ thứ tự phận (chúng ta biểu thị (x, y) ∈ E với x ≤ y) Tìm dãy a1, a2, , aM gồm phần tử V với chiều dài cực đại, thỏa mãn a1 ≤ a2 ≤ ≤ aM Phát biểu toán dạng toánđồthị có hướng sau: "Cho dag G(V,E) Tìm đường có độ dài cực đại G" Bàitoán 7: Cho R1⊆ A × B R2⊆ B × A, (a, b) ∈ R1 (b,a) ∈ R2 Tìm tập hợp {(a1, b1), (a2, b2), , (aM, bM)} R1 (hoặc {(b1, a1), (b2, a2), , (bM, aM)} R2) với số lượng phần tử tối đa, thỏa mãn = aj bi = bj, ≤ i < j ≤ M Quan hệ R1 R2 với đề cập gọi đảo ngược lẫn Ví dụ quan hệ cặp đôi đảo ngược "điểm p nằm đường thẳng l" "đường thẳng l qua điểm p" Một ví dụ thực tế sống "người p làm công việc w" "công việc w thực người p" Đối với quan hệ cặp đôi đảo ngược, xây dựng đồthị G(V = A ∪ B, R1) (hoặc G (V = A ∪ B, R2)) coi phần tử R1 (hoặc R2) thứ tự Đồthị gọi đồthị hai phía Việc tìm tập có M cạnh, mà đỉnh đầu mút nhiều cạnh M gọi cặp ghép Trong đồthịtoán phát biểu sau: "Cho đồthị hai phía G(V = A ∪ B, R1) Tìm cặp ghép cực đại G" 2.5 Cây có gốc Khi nói toánđồ thị, ta không giới thiệu khái niệm Theo định nghĩa cổ điển, đồthị T(V, E) liên thông chu trình Hai định nghĩa quy nạp tương đương phát biểu sau: Định nghĩa (i) Đồthị T ({r}, ∅) có gốc r gốc r T; (ii) Cho T(V, E) có gốc r L = {v1, v2, , vk} Cho v ∈ V w ∉ V; (iii) thì, T''(V '= V∪{w}, E' = E∪{(v, w)}) có gốc r T' (L {v}) ∪ {w}, (xem minh họa hình 2a) Định nghĩa (i) Đồthị T({r}, ∅) có gốc r r T; (ii) Cho T1(V1, E1), T2(V2, E2), , Tk(Vk, Ek), có gốc tương ứng r1, r2, , rk, L1, L2, , Lc Cho r ∉ V1 ∪ V2 ∪ ∪ Vk; (iii) thì, T'(V' = V1 ∪ V2 ∪ ∪ Vk ∪ {r}, E' = E1 ∪ E2 ∪ ∪ Ek ∪ {(r, r1), (r, r2), , (r, rk)}) có gốc r T' L1 ∪ L2 ∪ ∪ Lc Các có gốc T1, T2, , Tk gọi T', (xem minh họa hình 2b) Các khái niệm dẫn đến thủ tục đệ quy tự nhiên Bởi bắt nguồn từ định nghĩa đồthị vô hướng Định nghĩa giới thiệu hướng tiềm ẩn cạnh có gốc Chúng ta nói v cha w w v Rõ ràng có gốc xây dựng lại có gốc ta chọn đỉnh gốc Nếu G(V,E) đồthị T(V, E') (có gốc) thỏa mãn E'⊆ E T gọi khung G Đồthị G liên thông có khung Như vậy, cách tự nhiên để kiểm tra tính liên thông đồthị G xây dựng khung G Nếu c: E → C hàm chi phí cạnh G(V, E), mở rộng thành hàm chi phí khung G, định nghĩa c (T (V , E ' )) = ∑ c(e) Mỗi khung T G với c(T) tối thiểu tối đa) gọi e∈E ' khung tối thiểu (tối đa) G r r T r1 r2 T1 T2 rk v w Tk Hình Minh họa hai định nghĩa tương đương có gốc 2.6 Biểu diễn đồthị Trong lĩnh vực khác nhau, việc biểu diễn kiểu liệu trừu tượng đơn đồthị vô hướng, đơn đồthị có hướng, đa đồthị vô hướng, đa đồthị có hướng cấu trúc liệu quan trọng việc xây dựng thuật toán hiệu Theo truyền thống, đồthị đưa vào qua tập tin đầu vào, đề cập trên, hình thức danh sách cạnh (cung) trước số n - số đỉnh số m - số cạnh (cung) đồthịphần hướng dẫn phải rõ đồthị vô hướng (cạnh) có hướng (cung) Nếu phần quan trọng thuật toán thực cấu trúc đồthị G(V, E) lệnh lặp dạng: for e ∈ G do{ } danh sách cạnh (cung) biểu diễn với chi phí thời gian O(m) Nếu thuật toán biểu diễn đồthị G với ma trận kề (ví dụ, mảng hai chiều g thỏa mãn g[v] [w] số cạnh (cung) nối v w) chi phí thời gian O(n 2) việc thờì gian thi hành chậm với đồthị thưa Nếu phần quan trọng thuật toán lệnh lặp dạng: for v ∈ V'⊆ V {for w∈V''⊆ V do{ if (v, w) ∈ E { }}} thực với cấu trúc danh sách cạnh (cung) có chi phí thời gian O(|V'||V'' |.m) với cấu trúc ma trận kề có chi phí thời gian O(|V'||V''|), tốt so với việc dùng cấu danh sách cạnh (cung) 10 Nếu phần quan trọng thuật toán lệnh lặp dạng: for v ∈ V {for w|(v, w) ∈ E { }} thực với cấu trúc ma trận kề có chi phí thời gian O(n2) Trong trường hợp này, sử dụng cấu trúc danh sách kề cho bạn chi phí thời gian O(m) Đặc biệt với có gốc, biểu diễn danh sách cha g[] với g[i] cha i cho đỉnh gốc r g[r] = Cách biểu diễn với có gốc thuận tiện cần xây dựng có gốc (cây khung, khung tối thiểu, v.v ) để duyệt TÌM HIỂU MỘT SỐ CÁCH PHÂNLOẠIBÀITOÁNĐỒTHỊPhânloạitoánđồthị điều quan trọng lý khác Phânloại tốt hữu ích cho việc chuẩn bị chương trình đào tạo tổ chức trình đào tạo - cho việc định thứ tự chuyênđề giảng dạy theo trật tự định Ngoài việc phânloạitoánđồ thị, hữu ích để chuẩn bị cho thi Trong phần xin đề nêu số cách phânloạitoánđồthị mà sưu tầm qua tài liệu quan điểm lựa chọn 3.1 Một số cách phânloạitoánđồthị 3.1.1 Phânloại theo chương trình khung Bộ GD&ĐT * Lớp 10: + Chuyênđề 2: PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT THUẬT TOÁN Nội dung 7: Mô hình đồthị có trọng số, Nội dung 8: Bàitoán tìm đường ngắn Nội dung 9: Bàitoán tìm khung nhỏ * Lớp 11: + Chuyênđề LÝ THUYẾT TRÒ CHƠI + Chuyênđề 4: BÀITOÁN LUỒNG CỰC ĐẠI TRONG MẠNG VÀ ỨNG DỤNG 11 Nội dung 1: Biểu diễn đồ thị, duyệt đồthị Nội dung 2: Bàitoán luồng cực đại Nội dung 3: Lát cắt Đường tăng luồng Định lý Ford – Fulkerson Nội dung 4: Thuật toán Ford - Fulkerson tìm luồng cực đại mạng Nội dung 5: Một số toán luồng tổng quát Nội dung 6: Một số ứng dụng + ChuyênđềBÀITOÁN LẬP LỊCH: Đề cập đến số toán lập lịch có ứng dụng mô hình toánđồthị * Lớp 12: + Chuyênđề CÁC CẤU TRÚC DỮ LIỆU NÂNG CAO Đề cập đến ứng dụng kiểu liệu heap vào toánđồthị 3.1.2 Phânloại theo logic lý thuyết đồthị Tài liệu Giải thuật lập trình (TS Lê Minh Hoàng), Tài liệu giáo khoa chuyênTin (TS Hồ Sĩ Đàm chủ biên), Toán rời rạc (TS Nguyễn Đức Nghĩa TS Nguyễn Tô Thành) có bố cục kiến thức lý thuyết đồthị tương tự sau: Các khái niệm Biểu diễn đồthị máy tính Các thuật toán tìm kiếm đồthị (DFS, BFS) Tính liên thông đồthị Vài ứng dụng DFS BFS Chu trình Euler, đường Euler, đồthị Euler Chu trình Hamilton, đường Hamilton, đồthị Hamilton Bàitoán tìm đường ngắn Bàitoán khung nhỏ 12 10 Bàitoán luồng cực đại mạng 11 Bàitoán tìm ghép cực đại mạng 12 Bàitoán tìm ghép cực đại với trọng số cực tiểu đồthị hai phía 13 Bàitoán tìm ghép cực đại đồthị 3.1.3 Phânloạitoán theo nhóm thuật toánđồthị + Tài liệu Algorithms (Robert Sedgewick) Phần 6: Các thuật toánđồthị có bố cục sau: Các thuật toánđồ thị: Thuật ngữ, Biểu diễn đồ thị, Tìm kiếm DFS BFS, Mê cung Đồthị liên thông: Các thành phần liên thông, Song liên thông, Các thuật toán tìm phần hợp Đồthị có trọng số: Cây khung tối thiểu, Đường ngắn nhất, Đồthị dày, Các toán hình họcĐồthị có hướng: Tìm kiếm DFS, Bao đóng bắc cầu, Sắp xếp tô pô, Tìm tất đường ngắn nhất, thành phần liên thông mạnh Luồng mạng: Bàitoán luồng mạng, Phương pháp Ford-Fulkerson, Tìm kiếm mạng Cặp ghép: Đồthị hai phía, Bàitoán hôn nhân bền vững, thuật toán nâng cao + Tài liệu Introduction to Algorithms (Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein) Phần 6: Các thuật toánđồthị tài liệu phân chia toánđồthị sau: Các thuật toánđồ thị: Biểu diễn đồ thị, Tìm kiếm DFS BFS, xếp topo, thành phần liên thông mạnh Cây khung tối thiểu: Xây dựng khung tối thiểu, thuật toán Prim, Kruskal 13 Đường đơn ngắn nhất: Thuật toán Bellman-Ford, đường đơn ngắn đồthị chu trình, thuật toán Dijkstra Đường ngắn tất cặp đỉnh: Các đường ngắn phép nhân ma trận, Thuật toán Floyd-Warshall, Thuật toán Johnson với đồthị thưa Luồng cực đại: Luồng mạng, Phương pháp Ford-Fulkerson, Cặp ghép cực đại 3.2 Nhận xét lựa chọn Cách phânloạitoánđồthị theo logic lý thuyết đồthị tài liệu nêu phần 3.2.1 coi phânloại truyền thống hầu hết giáo trình dạy lý thuyết đồthị cho họcsinhsinh viên Đơn vị thực phân phối chương trình dạy toánđồthị cho họcsinh theo cách phânloại Chúng thường chọn giáo trình Toán rời rạc Nguyễn Đức Nghĩa Nguyễn Tô Thành làm tài liệu tham khảo để dạy phần Lý thuyết đồthị giáo trình Giải thuật Lập trình TS Lê Minh Hoàng làm tài liệu tham khảo cho họcsinh thực hành cài đặt giải thuật máy tính Bên cạnh đó, thấy mô đun phân phối chương trình Tin Bộ GD&ĐT chưa cụ thể, chưa khoa học logic Phânloạitoán sở thuật toán sử dụng cách tiếp cận điển hình cho sách thuật toán Những sách không nhằm mục đích xem xét toán thuộc miền toánhọc cụ thể giới thiệu nguyên tắc phương pháp tiếp cận thiết kế phân tích thuật toánBàitoánđồthị tài liệu Introduction to Algorithms nêu phần 3.2 bắt đầu với chương "Các thuật toánđồ thị", thảo luận phép duyệt đỉnh đồthị BFS DFS Cả hai phương pháp áp dụng để giải toán khác liên quan đến tính liên thông đồthịđường hai đỉnh khác Nhưng hai thuật toán sử dụng để giải số toán cụ thể Ví dụ, BFS, xây dựng đường ngắn đồthị hàm chi phí cạnh DFS bước để xếp topo hiệu quả, tìm kiếm thành phần liên thông mạnh, điểm khớp cầu, v.v 14 Chương thứ hai, dành riêng cho thuật toán tìm khung tối thiểu đồthị (MSP) Các thuật toán tìm MST đề cập đến chương nói thuật toán tham lam phần đặc biệt dành riêng cho việc áp dụng thuật toán tham lam đồthị Hai chương "Đường đơn ngắn nhất" "Đường ngắn tất cặp đỉnh" Thực hai chương dồn thành tài liệu thuật toán khác Ta có thêm hai nhận xét Đầu tiên, từ "ngắn nhất" phải xem xét nghĩa rộng - toán tìm đường lớn nhất, đườngtin cậy hơn, v.v , giải với phương pháp tương tự - phương pháp làm tốt dần Và thứ hai, toán tìm kiếm tâm, điểm giữa, bán kính (hoặc đường kính), v.v đồthị giải phương pháp làm tốt dần Chương cuối "Luồng cực đại" Bên cạnh số thuật toánđể tìm luồng cực đại mạng lưới, chương xem xét toán liên quan đến việc tìm ghép cực đại đồthị hai phía Cách phân chia toánđồthị theo nhóm thuật toán số tài liệu, nêu phần 3.2 lại hữu dụng ôn tập kiến thức cho họcsinh tham gia đội tuyển thiHọcsinhgiỏi Chúng chọn sử dụng cách phân chia trình ôn luyện, hướng dẫn họcsinh phát dạng toánđồthị qua em nhanh chóng chọn thuật toán phù hợp để áp dụng vào giải tập Trong trình ôn tập cho học sinh, tham khảo thêm chủ đề tập liệt kê tài liệu như: Art of programming contest, The Programming Contest Training Manual Trước kết thúc viết này, với mong muốn nêu vấn đề nhỏ chủ đềtoánđồ thị, nhằm trao đổi suy nghĩ với đồng nghiệp Với kinh nghiệm chưa nhiều, trình độ có hạn chế, mong nhận góp ý đồng chí Xin chân trọng cảm ơn! 15 TÀI LIỆU THAM KHẢO [1] Bộ GD&ĐT, Chương trình chuyên sâu mônTinhọc trường THPTchuyên [2] Nguyễn Đức Nghĩa, Nguyễn Tô Thành, Toán rời rạc, NXB Đại học Quốc gia Hà Nội, 2007 [3] Lê Minh Hoàng, Giải thuật lập trình, Ebook [4] Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest, Introduction to Algorithms, The MIT Press, 2001 [5] Robert Sedgetwick, Algorithms, Addison-Wesley Publishing Co, 1984 [6] Krassimir Manev, Tasks on Graphs, 2008 [7] http://en.wikipedia.org 16 ... gọi đồ thị đa đồ thị, cạnh lặp ta gọi đồ thị đơn đồ thị chia bốn loại đồ thị: đơn đồ thị vô hướng, đơn đồ thị có hướng, đa đồ thị vô hướng, đa đồ thị có hướng Và với loại đồ thị này, thuật toán. .. phân loại toán đồ thị, hữu ích để chuẩn bị cho thi Trong phần xin đề nêu số cách phân loại toán đồ thị mà sưu tầm qua tài liệu quan điểm lựa chọn 3.1 Một số cách phân loại toán đồ thị 3.1.1 Phân. .. CÁCH PHÂN LOẠI BÀI TOÁN ĐỒ THỊ Phân loại toán đồ thị điều quan trọng lý khác Phân loại tốt hữu ích cho việc chuẩn bị chương trình đào tạo tổ chức trình đào tạo - cho việc định thứ tự chuyên đề