Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
1,1 MB
Nội dung
PHÁT TRIỂN NĂNG LỰC HỌC SINH THƠNG QUA THUẬT TỐN TÌM KIẾM THEO CHIỀU SÂU (DFS) VÀ TÌM KIẾM THEO CHIỀU RỘNG (BFS) A MỞ ĐẦU Lý chọn đề tài Đổi phương pháp dạy học nhiệm vụ quan trọng ngành giáo dục nhằm nâng cao chất lượng đào tạo, góp phần thực cơng nghiệp hố đại hóa đất nước Lý thuyết đồ thị (trong Tin học) chuyên ngành quan trọng ứng dụng vào nhiều ngành khoa học, kỹ thuật khác lý thuyết đồ thị phương pháp khoa học có tính khái qt cao, có tính ổn định vững để mã hóa mối quan hệ đối tượng nghiên cứu Vận dụng lý thuyết đồ thị dạy học sinh để mô hình hóa mối quan hệ chuyển thành phương pháp dạy học đặc thù nâng cao hiệu dạy học thúc đẩy trình tự học tự nghiên cứu học sinh theo hướng tối ưu hóa đặc biệt nhằm rèn luyện lực hệ thống hóa kiến thức lực sáng tạo học sinh Việc cung cấp thêm phương pháp giải tập cho học sinh Tin học 11 tham gia học lập trình nhu cầu cần thiết Xuất phát từ lý lựa chọn đề tài: “Phát triển lực học sinh thơng qua thuật tốn tìm kiếm theo chiều sâu (DFS) tìm kiếm theo chiều rộng (BFS)” Mục tiêu, nhiệm vụ đề tài - Mục tiêu đề tài: Chỉ hướng vận dụng DFS BFS lý thuyết đồ thị vào giải tốn tìm biện pháp để giúp học sinh trung học phổ thơng hình thành phát triển lực vận dụng lý thuyết đồ thị vào giải tập lập trình - Nhiệm vụ đề tài: - Tìm hiểu nội dung lý thuyết đồ thị trang bị cho học sinh Tin học - Chỉ hệ thống tập vận dụng lý thuyết đồ thị để giải - Chỉ dấu hiệu cụ thể để nhận dạng “Bài tốn” khai thác lý thuyết đồ thị q trình giải tốn - Chỉ phương án vận dụng lý thuyết đồ thị vào giải tốn + Tiếp cận chương trình mơn Tin học 2018 phần đồ thị có mạch kiến thức CS Giả thuyết khoa học Nếu ta có phương pháp giúp học sinh Tin học 11 vận dụng kiến thức lý thuyết đồ thị vào giải tốn giúp học sinh giải số lớp tốn góp phần nâng cao chất lượng dạy học phát triển lực học sinh Phương pháp nghiên cứu a Nghiên cứu lý luận - Nghiên cứu văn bản, tài liệu đạo Bộ GD & ĐT liên quan đến đổi phương pháp dạy học, đổi đề kiểm tra, danh mục thiết bị dạy học Tin học - SGK, phân phối chương trình, sách giáo viên, chuẩn môn Tin trung học phổ thông, sách nâng cao, sách chuyên đề - Các tài liệu lý thuyết đồ thị ứng dụng thực tiễn sống dạy học - Các cơng trình nghiên cứu vấn đề liên quan trực tiếp đến phương pháp đồ thị b Thực nghiệm sư phạm - Chỉ cho học sinh dấu hiệu "nhận dạng" cách thức vận dụng lý thuyết đồ thị vào giải tập - Biên soạn hệ thống tập luyện tập cho học sinh số đề kiểm tra để đánh giá khả vận dụng lý thuyết đồ thị vào giải toán - Tiến hành thực nghiệm đánh giá kết thực nghiệm B NỘI DUNG I CƠ SỞ LÝ LUẬN CỦA VẤN ĐỀ Đồ thị tầm quan trọng Lý thuyết đồ thị lĩnh vực nghiên cứu có từ lâu có nhiều ứng dụng đại Các tốn đặt đưa lý thuyết đồ thị để giải tiết kiệm nhiều thời gian, ý tưởng thuật tốn rõ ràng, chương trình ngắn gọn dễ hiểu Nếu hiểu biết vận dụng tốt lý thuyết đồ thị giúp giải nhiều toán đặt thực tế (xem phần giải vấn đề) Khoa học kỹ thuật phát triển làm xuất hàng loạt tốn thực tiển quy mơ hình đồ thị 1.1 Định nghĩa đồ thị: Cho tập hợp X khác rỗng, E tập hợp cặp phần tử X xếp thứ tự không thứ tự Cặp (X, E) gọi đồ thị Kí hiệu đồ thị G = (X, E) đơi khơng gây nhầm lẫn kí hiệu tắt G 1.2 Một số khái nhiệm - Các phần tử thuộc tập X gọi đỉnh đồ thị G - Cho đỉnh x1, x2X, e = (x1,x2)E cặp thứ tự e gọi cung đồ thị, e cặp khơng thứ tự e gọi cạnh đồ thị - e = (x1,x2) cung x1 đỉnh đầu cung, x2 đỉnh cuối cung e - e = (x1,x2) cạnh x1 x2 đỉnh kề cạnh e đỉnh thuộc cạnh e - Hai đỉnh x1 x2 (x1 ≠ x2) đồ thị gọi đỉnh kề chúng đầu cạnh cung - Hai cạnh a, b (hoặc cung a, b) gọi cạnh kề (hoặc cung kề nhau) chúng có đỉnh chung - Khuyên cạnh (hoặc cung) có đầu trùng - Đỉnh treo đỉnh thuộc cạnh cung - Đỉnh cô lập đỉnh không thuộc cạnh cung 1.3 Phân loại đồ thị Cho đồ thị G = (X, E), E gồm cạnh G đồ thị vơ hương Nếu E gồm cung đồ thị G đồ thị có hướng Nếu E gồm cạnh cung G đồ thị hỗn hợp Đa đồ thị: Đồ thị G = (X,E) vơ hướng (hoặc có hướng) đa đồ thị đồ thị khơng khun có cặp đỉnh nối với cạnh (hoặc cung nối theo thứ tự cặp đỉnh) Đơn đồ thị: Đồ thị G = (X,E) vô hướng (hoặc có hướng) đơn đồ thị đồ thị khơng khun cặp đỉnh nối với không cạnh (hoặc cung) Biểu diễn đồ thị Biểu diễn đồ thị máy tính theo cấu trúc có giải thuật theo cấu trúc Với học sinh Tin học 11, biểu diễn ma trận (mảng chiều) dễ hiểu phù hợp Cách khai thác mảng chiều học sinh làm nhiều SGK Tin học 11 Các cách biểu diễn đồ thị: 2.1 Biểu diễn hình học Minh họa cách biểu diễn ` Đ.Nai Thanh Hoá An Giang Hà Tây TP HCM Long An Hà Nội Nam Định Khánh Hoà Huế Hình 1: Đơn đồ thị, vơ hướng ` 2 4 3 5 Hình 3: Đa đồ thị, có hướng Hình 2: Đa đồ thị, vô hướng 2.2 Biểu diễn đồ thị ma trận liên thuộc (Ma trận kề) Giả sử đồ thị G = (X, E) có tập đỉnh X = (x1,x2, x3,…,xn), tập cạnh (hoặc cung) E Ta xây dựng ma trận vuông A cấp n cho i,j, 1i,jn có: Ma trận A ma trận liên thuộc (ma trận kề) Nhận xét : Nếu G độ thị vơ hướng Ma trận A đối xứng qua đường chéo chính, Hình 4: Đồ thị ma trận kề Aij = Aji i,j, 1i,jn 2.3 Biểu diễn ma trận trọng số Trong nhiều toán đồ thị, cạnh (hoặc cung) e = (xi, xj) đồ thị thường gắn với số c (e) gọi trọng số cạnh (hoặc cung) e Khi thường xây dựng ma trận vuông cấp n ma trận C có phần tử C[i,j] = c(e) tồn cạnh (hoặc cung) e = (xi, xj), ngược lại khơng có cạnh nối xi với xj C[i,j] = (kí hiệu giá trị khơng xác định) Trong nhiều trường hợp, ngậm định C[i,i] = với đỉnh i đồ thị không khuyên Tìm kiếm đồ thị tìm thành phần liên thông đồ thị Hiểu chất phép tìm kiếm tìm thành phần liên thơng đồ thị giải nhiều dạng toán đặt (thể phần áp dụng) Qua tìm kiếm đồ thị kết hợp tính tốn, thống kê, xếp tổng hợp kết 3.1 Một số khái niệm Định nghĩa 1: Đường có độ dài k (k nguyên dương) từ đỉnh u tới đỉnh v đồ thị vô hướng G = (V, E) dãy đỉnh u = x0, x1, x2, x3,…, xk = v mà cạnh (xi, xi+1)E, i=0,1,2,…,k-1 Đường cịn biểu diễn dạng dãy cạnh: (x0,x1), (x1,x2),….,(xk-1,xk) Đỉnh u gọi đỉnh đầu (xuất phát), đỉnh v gọi đỉnh cuối (đỉnh đích) đường Đường có đỉnh đầu trùng với đỉnh cuối gọi chu trình Đường hay chu trình gọi đơn khơng có cạnh bị lặp lại Đường hay chu trình gọi khơng có đỉnh bị lặp lại (trừ trường hợp chu trình đỉnh đầu trùng đỉnh cuối lặp lại) Định nghĩa 2: Đường có độ dài k (k nguyên dương) từ đỉnh u tới đỉnh v đồ thị có hướng G = (V, E) dãy đỉnh u = x0, x1, x2, x3,…, xk = v mà cung (xi, xi+1)E, i = 0,1,2,…,k-1 Đường cịn biểu diễn dạng dãy cung: (x0,x1), (x1,x2),….,(xk-1,xk) Đỉnh u gọi đỉnh đầu (xuất phát), đỉnh v gọi đỉnh cuối (đỉnh đích) đường Đường có đỉnh đầu trùng với đỉnh cuối gọi chu trình (mạch vịng) Đường hay chu trình gọi đơn khơng có cung bị lặp lại Đường hay chu trình gọi khơng có đỉnh bị lặp lại (trừ trường hợp chu trình đỉnh đầu trùng đỉnh cuối lặp lại) Định nghĩa 3: Đồ thị vô hướng G = (V, E) gọi liên thơng ln tìm đường đỉnh Định nghĩa 4: Cho đồ thị vô hướng G = (V, E) đồ thị G đồ thị G‟ = (V‟, E‟) Đồ thị G‟ gọi vùng liên thông (hoặc thành phần liên thông) G nếu: + G‟ liên thông; + Không tồn đường từ đỉnh thuộc G‟ tới đỉnh không thuộc G‟ (nói cách khác bảo đảm tính tối đại liên thơng G‟) Ví dụ: Trong hình xét đồ thị G H: G có vùng liên thơng nhất, H có vùng liên thông H1, H2, H3 H2 G H1 H H3 Hình 5: G liên thơng, H gồm vùng liên thông Định nghĩa 5: Đỉnh v gọi đỉnh khớp (đỉnh rẻ nhánh) đồ thị vô hướng G = (V, E) loại bỏ đỉnh v cạnh liên thuộc với số thành phần liên thông G tăng thêm Cạnh e E gọi cầu loại bỏ khỏi đồ thị G số thành phần liên thơng G tăng thêm đơn vị 3.2 Tìm kiếm đồ thị Tìm kiếm đồ thị duyệt (thăm) tất đỉnh đồ thị, đỉnh lần Rất nhiều thuật toán xây dựng dựa sở duyệt tất đỉnh đồ thị cho đỉnh viếng thăm lần Vì vậy, việc xây dựng thuật toán cho phép duyệt cách hệ thống tất đỉnh đồ thị vấn đề quan trọng Các thuật toán giữ vai trị quan trọng việc thiết kế thuật tốn đồ thị Trên đồ thị có thuật tốn tìm kiếm bản: - Thuật tốn tìm kiếm theo chiều sâu (DFS.) - Thuật tốn tìm kiếm theo chiều rộng (BFS) 3.3 Tìm đường kiểm tra tính liên thơng Tìm đường kiểm tra tính liên thơng hình thức ứng dụng thuật tốn tìm kiếm đồ thị Đường tìm theo thuật tốn tìm kiếm theo chiều rộng đường ngắn (theo số cạnh) từ đỉnh s đến đỉnh t Đường ngắn đồ thị Trong ứng dụng thực tế Bài tốn tìm đường ngắn đỉnh đồ thị liên thơng có ý nghĩa to lớn Có thể dẫn toán nhiều toán thực tế quan trọng Ví dụ, Bài tốn chọn hành trình tiết kiệm (theo tiêu chuẩn khoảng cách thời gian chi phí) mạng giao thơng đường bộ, đường thủy đường khơng; tốn chọn phương pháp tiết kiệm để đưa hệ động lực từ trạng thái xuất phát đến trạng thái đích, tốn lập lịch thi cơng cơng đoạn cơng trình thi cơng lớn,… II THỰC TRẠNG CỦA VẤN ĐỀ Thuận lợi Lý thuyết đồ thị giải nhiều toán đặt thực tế phù hợp với đối tượng học sinh giỏi Tin học 11, đặc biệt toán thể quan hệ nhị phân đối tượng rời rạc Vận dụng lý thuyết đồ thị giúp học sinh có thêm luồng kiến thức để làm giàu tư thuật tốn Có nhiều tài liệu giới thiệu vấn đề liên quan đến lý thuyết đồ thị như: sách cấu trúc liệu giải thuật, Sách Toán rời rạc,…và tài liệu mạng Internet Giáo viên học sinh phát huy tính động q trình dạy học đạt kết cao Một số kiến thức dễ sử dụng hiệu cao Ví dụ: phép tìm kiếm kiểm tra vùng liên thông đồ thị Khó khăn - Trong việc nắm bắt hiểu khái niệm liên quan đến lý thuyết đồ thị - Lý thuyết đồ thị rộng nhiều phần kiến thức khó nên khơng thể truyền tải hết tới học sinh khó để đưa vào hết đề tài - Đưa giải thuật ngôn ngữ Pascal C++ để minh hoạ kiến thức đưa phần sở lý luận - Đưa hệ thống dạng tập giải hiệu lý thuyết đồ thị cách giải tập - Để khắc phục phần khó khăn nêu trên, đề tài đề cập đến phần quan trọng lý thuyết đồ thị có ứng dụng nhiều thực tế phù hợp với học sinh THPT, đặc biệt học sinh Tin học 11 III HAI THUẬT TOÁN VÀ MỘT SỐ BÀI TẬP ÁP DỤNG Tìm kiếm theo chiều rộng Ý tưởng: Đỉnh xuất phát v thăm có khác với DFS chổ là: Sau đỉnh chưa thăm mà lân cận v thăm theo nhau, đến đỉnh chưa thăm lân cận đỉnh tương tự Ví dụ: Thứ tự hình 6: Bắt đầu từ => => => => hết node ngang Tiếp tục => => hết node ngang Bắt đầu => khơng có node ngang Tiếp tục 8=>9 => 12 hết node ngang Bắt đầu => => => hết node ngang Tiếp tục => khơng có node ngang Bắt đầu => 10=> 11 hết node ngang Tiếp tục 12 => khơng có node ngang Bắt đầu => hết node Tiếp tục => hết node Bắt đầu 10 => hết node Tiếp tục 11 => hết node Hình Mơ hình thuật tốn tìm kiếm theo chiều rộng +) Ngơn ngữ Pascal Procedure BFS(v); {Tìm kiếm theo chiều rộng đỉnh v} Begin Queue:=; Queue >m>>n; for (i=1;ia[i][j]; } 34 void init() { memset(visit,false,sizeof(visit)); s=0; } void DFS(int u,int v) { int u1,v1; visit[u][v]=true; for(int i=0; i