bồi dưỡng học sinh giỏi môn tin học thpt chuyên đề PHÂN LOẠI bài TOÁN đồ THỊ

16 88 0
  • Loading ...
Loading...
1/16 trang

Thông tin tài liệu

Ngày đăng: 29/04/2017, 20:46

PHÂN LOẠI BÀI TOÁ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ÂN LOẠI BÀI TOÁN ĐỒ THỊ 11 3.1 Một số cách phân loại toán đồ thị 11 3.1.1 Phân loại theo chương trình khung Bộ GD&ĐT 11 3.1.2 Phân loại theo logic lý thuyết đồ thị 12 3.1.3 Phân loại toá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ài toán đồ thị chủ đề truyền thống kỳ thi HSG Quốc gia, Olympic Tin họ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ên Tin 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ọc sinh Nhiệm vụ đặt là, điều kiện tài liệu dạy Chuyên Tin khan hiếm, trình độ học sinh không đồng đều, kinh nghiệm thân ít, nên dạy toán đồ thị cho học sinh nào? Gồm chủ đề gì? Phân loại toá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ân loại toá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ài toá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ài toá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ài toá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án họ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ọc sinh 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àn phần (phản xạ, phản đối xứng mạnh bắc cầu) có ý nghĩa toán họ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ài toá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ài toá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ài toán 5: Cho E ⊆ V×V tập quan hệ thứ tự toàn phầ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àn phần cho trước Có nhánh cụ thể Lý thuyết Thuật toán dành riêng cho Bài toá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àn phần phát biểu sau: "Cho đồ thị có hướng G(V', E') chu trình Tìm đườngđộ 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ài toá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độ dài cực đại G" Bài toá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Â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 đề giảng dạy theo trật tự định Ngoài việc 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 loạ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ài toán tìm đường ngắn Nội dung 9: Bài toán tìm khung nhỏ * Lớp 11: + Chuyên đề LÝ THUYẾT TRÒ CHƠI + Chuyên đề 4: BÀI TOÁ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ài toá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ÀI TOÁ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ân loạ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ên Tin (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ài toán tìm đường ngắn Bài toán khung nhỏ 12 10 Bài toán luồng cực đại mạng 11 Bài toán tìm ghép cực đại mạng 12 Bài toán tìm ghép cực đại với trọng số cực tiểu đồ thị hai phía 13 Bài toán tìm ghép cực đại đồ thị 3.1.3 Phân loại toá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ài toá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ài toá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ân loại toán đồ thị theo logic lý thuyết đồ thị tài liệu nêu phần 3.2.1 coi phân loại truyền thống hầu hết giáo trình dạy lý thuyết đồ thị cho học sinh sinh viên Đơn vị thực phân phối chương trình dạy toán đồ thị cho học sinh theo cách phân loạ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ọc sinh 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ân loại toá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án họ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án Bài toá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, đường tin 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ọc sinh tham gia đội tuyển thi Học sinh giỏi Chúng chọn sử dụng cách phân chia trình ôn luyện, hướng dẫn học sinh 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ôn Tin học trường THPT chuyê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 đề
- Xem thêm -

Xem thêm: bồi dưỡng học sinh giỏi môn tin học thpt chuyên đề PHÂN LOẠI bài TOÁN đồ THỊ , bồi dưỡng học sinh giỏi môn tin học thpt chuyên đề PHÂN LOẠI bài TOÁN đồ THỊ , bồi dưỡng học sinh giỏi môn tin học thpt chuyên đề PHÂN LOẠI bài TOÁN đồ THỊ , MỘT SỐ KHÁI NIỆM CƠ BẢN, TÌM HIỂU MỘT SỐ CÁCH PHÂN LOẠI BÀI TOÁN ĐỒ THỊ

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay
Nạp tiền Tải lên
Đăng ký
Đăng nhập