Phát triển các kỹ thuật nhánh cận và ứng dụng

64 180 0
Phát triển các kỹ thuật nhánh cận và ứng dụng

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG Phạm Chí Hiếu PHÁT TRIỂN CÁC KĨ THUẬT NHÁNH CẬN VÀ ỨNG DỤNG Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TSKH Nguyễn Xuân Huy Thái Nguyên – 2014 i LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu riêng Các kết luận văn trung thực, chưa công bố tài liệu khác Tôi xin cam đoàn giúp đỡ để hoàn thành luận văn cảm ơn Các thông tin trích dẫn luận văn ghi rõ nguồn gốc Học viên thực luận văn Phạm Chí Hiếu ii MỤC LỤC LỜI CAM ĐOAN i DANH MỤC CÁC HÌNH iv MỞ ĐẦU 1 Đặt vấn đề Đối tượng phạm vi nghiên cứu Hướng nghiên cứu đề tài LỜI CẢM ƠN CHƯƠNG TỔNG QUAN KĨ THUẬT NHÁNH CẬN 1.1 Giới thiệu chung 1.2 Ý tưởng thuật toán 1.3 Kĩ thuật tỉa nhánh 10 1.4 Kết hợp thuật toán nhánh cận vào thuật toán quay lui 11 1.5 Kết luận 13 CHƯƠNG II ÁP DỤNG KĨ THUẬT NHÁNH CẬN CHO MỘT SỐ BÀI TOÁN 14 2.1 Các tốn khó 14 2.2 Bài tốn Ba lơ 16 2.2.1 Bài toán: 16 2.2.2 Phân tích tốn Ba lơ 17 2.2.3 Chương trình minh họa 22 2.3 Bài toán người du lịch (TSP) 25 2.3.1 Bài toán 25 2.3.2 Phân tích tốn TSP 26 2.3.3 Chương trình minh họa 27 2.3.4 Cải tiến 29 2.4 Bài toán đổi tiền (ATM) 35 2.4.1 Bài toán 35 2.4.2 Phân tích ATM 35 2.4.3 Chương trình minh họa 36 2.5 Bài toán dãy ABC 40 2.5.1 Bài toán 40 2.5.2 Phân tích tốn 40 2.5.3 Chương trình minh họa 41 2.6 Kết luận 44 CHƯƠNG ỨNG DỤNG PHÁT TRIỂN NHÁNH CẬN 45 3.1 Thủ tục rút gọn 46 3.2 Thủ tục chọn cạnh phân nhánh (r,c) 50 3.3 Mơ hình thuật toán 53 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56 DANH MỤC CÁC HÌNH Hình Giải tốn ba lơ nhánh cận 21 Hình Giải tốn người du lịch 31 Hình Mơ hình phân nhánh 46 Hình Minh họa rút gọn hành trình 49 Hình Minh họa rút gọn hành trình 51 MỞ ĐẦU Đặt vấn đề Ngày với phát triển vũ bão khoa học công nghệ giới, xuất phát chậm nhiều nước chục năm qua đất nước trải qua cách mạng lớn lao công nghệ thông tin Để đáp ứng đòi hỏi phát triển phải có kế hoạch đào tạo bồi dưỡng cá nhân có niềm say mê có khiếu lĩnh vực tin học đặc biệt học sinh lớp chuyên tin tạo nguồn, cung cấp cho trường đại học sinh viên trang bị vốn kiến thức sở vững chắc, giúp cho mục tiêu trước đón đầu, rút ngắn khoảng cách trình độ tin học nước ta giới Với học sinh phổ thông trường chuyên phải trang bị kiến thức sở loại cấu trúc liệu trang bị kiến thức tiên tiến giải thuật Việc truyền đạt kiến thức số giải thuật như: quay lui, nhánh cận, quy hoạch động, tham lam, giải thuật đồ thị … cần thiết cho học sinh trường Chuyên việc bồi dưỡng học sinh giỏi trường THPT (trung học phổ thông) để phát triển tư lập trình giải tốn tin học Hình thành nét nghệ thuật đốn nhận giải thuật nghệ thuật lập trình Tạo lập củng cố lòng say mê tìm hiểu khám phá cho học sinh giải tốn tin Để giải tốn thơng thường có nhiều cách tiếp cận Mỗi cách tiếp cận khác cho kết với độ tối ưu khác Với nhiều tốn việc tìm giải thuật tối ưu khơng phải việc đơn giản, kĩ cần thiết để giải tốn hồn chỉnh phải giải tốn kích thước liệu vừa phải Đây liệu thử mang tính định hướng chiến lược cho việc giải tốn Có nhiều tốn, đặc biệt tốn tối ưu, giải thuật tốn duyệt tồn phần tốn lớn Với phương pháp duyệt tồn bộ, điển hình thuật tốn quay lui có nhược điểm độ phức tạp tốn thường lớn, kích thước tốn giải hạn chế Để khắc phục nhược điểm thường phải áp dụng kết hợp kĩ thuật nhánh cận (nhánh cận) Việc áp dụng kĩ thuật nhánh cận vào tốn tốn thường trừu tượng khó hiểu với học sinh THPT Làm để xây dựng “cận” để đánh giá “độ tốt” “nhánh” xét ? Làm kết hợp kĩ thuật nhánh cận vào toán duyệt quay lui hiệu ? Do tơi thấy việc phân tích, đánh giá định hướng cách tiếp cận toán kĩ thuật nhánh cận cần thiết Từ nâng cao chất lượng việc dạy học cho học sinh Trong khuôn khổ luận văn thạc sĩ, chọn đề tài nghiên cứu: “Phát triển kĩ thuật nhánh cận ứng dụng” Đối tượng phạm vi nghiên cứu Kĩ thuật nhánh cận ứng dụng để giải số tốn liệt kê tìm phương án tối ưu Hướng nghiên cứu đề tài - Giới thiệu tổng quan kĩ thuật nhánh cận kỹ thuật liên quan - Tổ chức toàn theo kĩ thuật nhánh cận - Cách đánh giá cận tốn khác - Cài đặt chương trình cho số toán LỜI CẢM ƠN n vă cs h ng , đ ô V ơn xin đ Thông tin Truyền thông Thái Nguyên đ Sau đ Đ đ Công nghệ n thu n l n văn Khoa học Nguyễn Xuân Huy, ng , đ ng viên, t đ n vă nđ n thu n l p Trong trình học tập, trình làm luận văn, khó tránh khỏi sai sót, mong Thầy, Cơ thơng cảm, bỏ qua Đồng thời trình độ kinh nghiệm thực tiễn hạn chế nên luận văn khơng thể tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp Thầy, Cơ để em học thêm nhiều kinh nghiệm hoàn thành tốt Em xin chân thành cảm ơn! CHƯƠNG TỔNG QUAN KĨ THUẬT NHÁNH CẬN 1.1 Giới thiệu chung Một toán đặt thực tế việc tìm nghiệm thoả mãn số điều kiện đó, nghiệm tốt theo tiêu cụ thể, nghiên cứu lời giải lớp toán tối ưu thuộc lĩnh vực quy hoạch toán học Tuy nhiên cần phải nói nhiều trường hợp chưa thể xây dựng thuật toán thực hữu hiệu để giải tốn, mà việc tìm nghiệm chúng phải dựa mơ hình liệt kê tồn cấu hình đánh giá, tìm cấu hình tốt Việc liệt kê cấu hình cài đặt phương pháp liệt kê: Sinh tìm kiếm quay lui Thuật tốn quay lui (backtracking) chiến lược tìm nghiệm toán cách xét tất phương án Đó q trình tìm kiếm theo độ sâu tập hợp lời giải Trong trình tìm kiếm, ta gặp hướng lựa chọn không thỏa mãn, ta quay lui điểm lựa chọn nơi có hướng khác thử hướng lựa chọn Khi thử hết lựa chọn xuất phát từ điểm lựa chọn đó, ta quay lại điểm lựa chọn trước thử hướng lựa chọn Q trình tìm kiếm thất bại khơng điểm lựa chọn Đây thuật tốn áp dụng để giải nhiều tốn với kích thước liệu thích hợp Ưu điểm thuật tốn đảm bảo tìm nghiệm xác Tuy nhiên, hạn chế độ phức tạp thường lớn Mơ hình thuật tốn quay lui tìm kiếm phân cấp Nếu giả thiết ứng với nút tương ứng với giá trị chọn cho x[i] ứng với nút tương ứng với giá trị mà x[i+1] nhận n cấp n có tới nút lá, số lớn nhiều lần so với liệu đầu vào n Chính mà ta có thao tác thừa việc chọn x[i] phải trả giá lớn chi phí thực thi thuật tốn q trình tìm kiếm lòng vòng vơ nghĩa bước chọn x[i+1], x[i+2], … Khi đó, vấn đề đặt trình liệt kê lời giải ta cần tận dụng thông tin tìm để loại bỏ sớm phương án chắn khơng phải tối ưu Kỹ thuật gọi kỹ thuật đánh giá nhánh cận tiến trình quay lui Kĩ thuật Nhánh cận (Nhánh cận – Branch and Bound) giúp đánh giá nghiệm, cắt bỏ phương án (nhánh) khơng cần thiết, việc tìm nghiệm tối ưu nhanh hơn, cải thiện độ phức tạp thuật toán Những tốn tìm nghiệm, liệt kê tốn tối ưu lớp tốn giải Kĩ thuật Nhánh cận 1.2 Ý tưởng thuật toán Nhánh cận kỹ thuật xây dựng tìm kiếm phương án tối ưu, khơng xây dựng tồn mà sử dụng giá trị cận để hạn chế bớt nhánh Phương án khả toán, phương án thỏa yêu cầu gọi nghiệm tốn Trong q trình duyệt qua tất phương án toán, từ nút phát sinh nhiều nút khác nhau, nút có nhiều nút khác Do đó, nút lại gốc Quá trình tìm kiếm tạo tìm kiếm Nếu ta đánh giá để cắt bỏ nhánh khơng khả thi số lượng phương án phải duyệt giảm đáng kể Với nút ta xác định giá trị cận Giá trị cận giá trị gần với giá phương án Với tốn tìm Min ta xác định cận N = 100, với chương trình chạy hết giây cho kết xâu 27 ký tự 'C' 2.6 Kết luận Hiệu thuật toán nhánh cận phụ thuộc nhiều vào việc xây dựng hàm tính cận Việc xây dựng hàm tính cận lại phụ thuộc vào cách xây dựng thủ tục duyệt phương án toán (được gọi thủ tục phân nhánh) Trên cách xây dựng cận đơn giản cho tốn thơng dụng tối ưu tổ hợp Các chương trình cài đặt theo thuật tốn đó, làm việc tốt nhiều so với duyệt toàn bộ, áp dụng để giải tốn với kích thước nhỏ Muốn giải tốn đặt với kích thước lớn cần có cách đánh giá cận tốt Trong chương ta tìm hiểu cách áp dụng phát triển thuật kĩ thuật nhánh cận vào tốn người du lịch để giải tốn kích thước lớn CHƯƠNG ỨNG DỤNG PHÁT TRIỂN NHÁNH CẬN Kĩ thuật nhánh cận phương pháp giải chủ yếu tối ưu tổ hợp Như chương trước thấy, tư tưởng trình tìm kiếm lời giải ta phân hoạch tập phương án toán thành hai hay nhiều tập biểu diễn nút tìm kiếm cố gắng phép đánh giá cận cho nút, tìm cách loại bỏ nhánh tìm kiếm (những tập phương án toán) mà ta biết chắn không chứa phương án tối ưu Mặc dù tình tồi thuật tốn trở thành duyệt toàn bộ, nhiều trường hợp cụ thể, kỹ thuật cho phép rút ngắn cách đáng kể trình tìm kiếm Chương trình bày cách thể khác tư tưởng kĩ thuật nhánh cận vào việc xây dựng thuật toán giải toán người du lịch Xét toán người du lịch phát biểu mục trước Gọi C {cij : i, j 1,2, , n} ma trận chi phí Mỗi hành trình người du lịch Tx1 → Tx2 → … → Txn → Tx1 viết lại dạng: (x1, x2), (x2, x3), …, (xn, x1), thành phần (x(j-1), xj) gọi cạnh hành trình Trong tốn người du lịch tiến hành tìm kiếm lời giải phân tập hành trình thành hai tập con: tập gồm hành trình chứa cạnh (ỉ, j) tập gồm hành trình khơng chứa cạnh Ta gọi việc làm phân nhánh tập nói gọi nhánh hay nút tìm kiếm Việc phân nhánh minh hoạ tìm kiếm: Tập tất hành trình Hành trình chứa (i,j) Hành trình khơng chứa (i,j) Hình Mơ hình phân nhánh Việc phân nhánh thực dựa quy tắc Heuristic cho phép ta rút ngắn trình tìm kiếm phương án tối ưu Sau phân nhánh ta tính cận giá trị hàm mục tiêu hai tập nói Việc tìm kiếm tiếp tục tập có giá trị cận nhỏ Thủ tục tiếp tục thu hành trình đầy đủ, tức phương án toán người du lịch Khi ta cần xét tập phương án có cận nhỏ giá trị hàm mục tiêu phương án tìm Quá trình phân nhánh tính cận tập phương án tốn thơng thường cho phép rút ngắn cách đáng kể trình tìm kiếm ta loại nhiều tập chắn không chứa phương án tối ưu Một kỹ thuật thuật tốn tính cận xây dựng dựa thủ tục rút gọn mà trình bày Sau bước thuật tốn nhánh cận mơ tả thơng qua ví dụ số cuối ta trình bày sơ đồ ngun tắc thuật tốn 3.1 Thủ tục rút gọn Rõ ràng tổng chi phí hành trình người du lịch chứa phần tử dòng phần tử cột ma trận chi phí C Do đó, ta trừ bớt phần tử dòng (hay cột) ma trận c số a độ dài tất hành trình giảm a, hành trình tối ưu khơng thay đổi Vì ta tiến hành trừ bớt phần tử dòng cột số cho thu ma trận gồm phần tử không âm mà dòng cột có số tổng số trừ cho ta cận hành trình Thủ tục trừ bớt gọi thủ tục rút gọn, số trừ dòng (cột) gọi số rút gọn theo dòng (cột), ma trận thu gọi ma trận rút gọn Hàm số sau cho phép rút gọn ma trận A kích thước k x k đồng thời tính tổng số rút gọn (để tiện trình bày, tham số có mặt hàm thủ tục PASCAL giả thiết khai báo cho phù hợp): function Reduce(A, k): real; (** Thủ tục rút gọn ma trận **) begin sum := 0; for i := to k (* k - kích thước A *) begin r[i]:= ; if r[i] > then begin ; sum := sum + r[i]; end; end; for j := to k begin s[j] := ; if s[j] > then begin ; sum := sum + s[j]; end; end; Reduce := sum; end; Thí dụ: Ta có ma trận chi phí tốn người du lịch với n = thành phố sau s[j] ∞ 45 39 28 3 ∞ 17 90 46 88 93 77 ∞ 80 88 18 15 13 42 36 ∞ 33 46 33 21 16 56 ∞ 92 16 28 25 ∞ r[i 16 25 Đầu tiên trừ bớt phần tử dòng 1, 2, 3, 4, 5, cho số rút gọn tương ứng 3, 4, 16, 7, 25, 3, sau ma trận thu được, trừ bớt phần tử cột cho số rút gọn tương ứng 15 8, ta thu ma trận rút gọn sau ∞ 29 32 ∞ 83 21 85 75 58 ∞ 58 48 30 12 ∞ 35 30 17 49 ∞ 89 6 12 12 0 ∞ Tổng số rút gọn 81, cân cho tất hành trình 81 (nghĩa khơng thể tìm hành trình có tổng chi phí nhỏ 81) Bây giờ, ta xét cách phân tập phương án thành hai tập Giả sử ta chọn cạnh (6, 3) để phân nhánh Khi tập hành trình phân thành hai tập con, tập hành trình chứa cạnh (6, 3), tập hành trình khơng chứa cạnh (6, 3) Vì biết cạnh (6, 3) khơng tham gia vào hành trình, nên ta cấm việc theo cạnh cách đặt c63 = ∞ Ma trận thu rút gọn cách bớt phần tử cột 48 khơng bớt phần tử dòng Như ta thu cận cho hành trình khơng chứa cạnh (6, 3) 81 + 48 = 129 Còn tập hành trình chứa cạnh (6, 3) ta phải loại dòng cột khỏi ma trận tương ứng với nó, theo cạnh (6, 3) khơng thể từ sang nơi khác không phép từ đâu vào Kết ta thu ma trận với bậc giảm Ngoài ra, theo cạnh (6, 3) nên không phép từ đến nữa, ta cần cấm theo cạnh (3, 6) cách đặt c36 = ∞ Cây tìm kiếm bước này, có dạng cho hình đây: sau Tập tất hành trình ∞ 29 32 ∞ 83 21 Hành trình khơng chứa (6,3) Hành trình chứa (6,3) Cận = 81 30 12 ∞ 30 17 49 ∞ 6 12 ∞ 0 Cận = 81 ∞ 0 ∞ 29 32 83 21 85 27 10 ∞ 10 ∞ Cận = 129 30 12 ∞ 35 30 17 12 12 49 ∞ 89 ∞ Hình Minh họa rút gọn hành trình Cạnh (6, 3) chọn để phân nhánh phân nhánh theo ta thu cận nhánh bên phải lớn so với việc phân nhánh theo cạnh khác Quy tắc sử dụng để phân nhánh đỉnh tìm kiếm Trong trình tìm kiếm theo nhánh bên trái trước Nhánh bên trái có ma trận rút gọn với bậc giảm Trong ma trận nhánh bên phải ta thay số ∞, rút gọn thêm ma trận tính lại số rút gọn theo dòng cột tương ứng với cạnh phân nhánh, kích thước ma trận giữ nguyên Do cạnh cần chọn để phân nhánh phải cạnh làm tăng cận nhánh bên phải lên nhiều nhất, nên để tìm ta chọn số khơng ma trận mà thay ∞ cho ta tổng số rút gọn theo dòng cột chứa lớn Ta có thủ tục sau để chọn cạnh phân nhánh (r,c): 3.2 Thủ tục chọn cạnh phân nhánh (r,c) beta Đầu vào: Ma trận rút gọn A kích thước k x k Đầu : Cạnh phân nhánh (r, c) tổng số rút gọn theo dòng r cột c procedure BestEdge(A,k,r,c,beta); [5] (* Thủ tục phân nhánh *) begin beta := -∞; for i := to k for j := to k if a[i,j] = then begin minr := ; mine := ; total := minr + mine; if total > beta then begin beta := total; r := i;(*chỉ số dòng cạnh tốt nhất*) c := j; (* số cột cạnh tốt *) end; end; end; Trong ma trận rút gọn 5x5 nhánh bên trái hình 5, số khơng vị trí (4, 6) cho tổng số rút gọn 32 (theo dòng 32, cột 0) Đây giá trị lớn số khơng ma trận Vì vậy, việc phân nhánh dựa vào cạnh (4, 6) Khi cận nhánh bên phải tương ứng với tập hành trình qua cạnh (6,3) không qua (4,6) 81 + 32 = 113 Còn nhánh bên trái tương ứng với ma trận x 4, ta phải loại bỏ dòng cột Tình phân nhánh mơ tả hình Tập hành trình qua cạnh (6,3) Hành trình chứa (6,3), (4,6) Cận = 81 Hành trình chứa (6,3) khơng chứa (4,6) Cận = 113 Cận = 81 ∞ 29 ∞ 21 30 12 30 17 ∞ ∞ 0 ∞ 29 51 21 30 12 ∞ 30 17 12 ∞ 17 ∞ ∞ Hình Minh họa rút gọn hành trình Tiếp tục, ta lại phân nhánh từ đỉnh bên trái cách sử dụng cạnh (2, 1), số khơng vị trí có tổng số rút gọn 17 + = 20 (theo đòng 17, theo cột 3) Sau phân nhánh theo cạnh (2, 1) ma trận nhánh trái có kích thước 3x3 Vì qua (2, 1) nên ta cấm cạnh (1,2) cách đặt c12 = ∞, ta thu ma trận sau: 5 ∞ 21 ∞ 30 ∞ Ma trận rút gọn cách bớt từ cột bớt dòng Điều dẫn đến ma trận: 5 ∞ 20 ∞ 28 ∞ Ta có cận nhánh tương ứng 81 + + = 84 Chú ý sau chấp nhận n-2 cạnh vào hành trình ma trận lại có kích thước x Hai cạnh lại hành trình khơng phải chọn lựa nữa, mà kết nạp vào chu trình Trong ví dụ đây, sau có cạnh (6, 3), (4, 6), (2, 1) (1, 4) ma trận nhánh trái có dạng ∞ ∞ Vì ta kết nạp nốt hai cạnh (3, 5) (5, 2) vào thu hành trình 1, 4, 6, 3, 5, 2, với chi phí 104 Chú ý: Trong q trình tìm kiếm nút tìm kiếm tương ứng với ma trận chi phí A bước ma trận chi phí tương ứng với gốc ma trận c Khi chuyển động từ gốc theo nhánh bên trái xuống phía kích thước ma trận chi phí A giảm dần Cuối ma trận A có kích thước 2x2 ta chấm dứt việc phân nhánh kết nạp cạnh lại để thu hành trình người du lịch Dễ thấy ma trận rút gọn cuối có hai dạng sau: x ∞ U V y ∞ u v x ∞ y ∞ u, x, w, y đỉnh khác có đỉnh khác Trong trường hợp để xác định xem hai cạnh cần phải kết nạp nốt ta cần xét phần tử ma trận A: if A[1,1] = ∞ then Kết nạp cạnh (u,y) (v,x) else Kết nạp cạnh (u,x) (v,y); 3.3 Mơ hình thuật tốn Bây ta mơ tả bước thuật toán nhánh cận giải toán người du lịch thủ tục đệ quy TSP sau Thủ tục TSP xét hành trình phận với Edges cạnh chọn tiến hành tìm kiếm Ta sử dụng biến: Edges - số cạnh hành trình phận; A - ma trận chi phí tương ứng với kích thước (n-edges) X (n-edges); cost - chi phí hành trình phận; MinCost - chi phí hành trình tốt tìm Trong thủ tục sử dụng hàm Reduce(A, k) thủ tục BestEdge(A, k, r, c, beta) mô tả procedure TSP(edges, cost, A); begin [5] cost:= cost + Reduce(A, n-edges); if cost < MinCost then if edges = n-2 then begin ; MinCost := Cost; ; end else begin BestEdge(A,n-edges,r,c.beta); LowerBound:= cost + beta; NewA := TSP(edges+1 ,cost,NewA); (* theo nhánh trái *) ; ^ if LowerBound < MinCost then begin (* theo nhánh phải *) A[r,c]:= ∞; TSP(edges, cost, A); A[r,c]:=0; end; end; ; (* thêm lại số rút gọn vào dòng cột tương ứng *) end; (* of TSP *) KẾT LUẬN Luận văn trình bày hệ thống cách tổng quát kĩ thuật nhánh cận, kĩ thuật cài đặt chung thuật toán nhánh cận Ứng dụng thuật toán nhánh cận vào tốn mang tính chất tiêu biểu cho lớp tốn thơng dụng Từ đó, giúp minh họa chi tiết cách áp dụng kĩ thuật nhánh cận vào toán cụ thể, bước đầu hình thành kĩ bản, cần thiết để áp dụng thuật tốn nhánh cận để giải toán tối ưu TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hồ Sĩ Đàm (chủ biên), Đỗ Đức Đông, Lê Minh Hoàng, Nguyễn Thanh Hùng, Tài liệu giáo khoa chuyên tin, NXB Giáo dục, 2009 [2] Lê Minh Hoàng, Giải thuật lập trình, http://www.jaist.ac.jp/~hoangle/, 2006 [3] Nguyễn Xuân Huy, Sáng tạo thuật tốn lập trình, NXB Thông tin truyền thông, 2011 [4] Nguyễn Xuân My (chủ biên), Hồ Sĩ Đàm, Trần Đỗ Hùng, Lê Sĩ Quang, Một số vấn đề chọn lọc môn tin học, NXB Giáo dục, 2002 [5] Nguyễn Đức Nghĩa, Nguyễn Tơ Thành, Tốn rời rạc, NXB ĐH Quốc gia Hà Nội, 2004 [6] Tài liệu hội thảo phát triển chuyên môn giáo viên tin học trường THPT Chuyên (tài liệu lưu hành nội bộ), Bộ giáo dục đào tạo, 2011 [7] Một số thông tin, tài liệu website http://Wikipedia.org Thái nguyên, ngày 24 tháng năm 2014 Học viên Phạm Chí Hiếu ... phải áp dụng kết hợp kĩ thuật nhánh cận (nhánh cận) Việc áp dụng kĩ thuật nhánh cận vào toán toán thường trừu tượng khó hiểu với học sinh THPT Làm để xây dựng cận để đánh giá “độ tốt” nhánh ... khuôn khổ luận văn thạc sĩ, chọn đề tài nghiên cứu: Phát triển kĩ thuật nhánh cận ứng dụng Đối tượng phạm vi nghiên cứu Kĩ thuật nhánh cận ứng dụng để giải số tốn liệt kê tìm phương án tối ưu Hướng... lời giải ta cần tận dụng thông tin tìm để loại bỏ sớm phương án chắn khơng phải tối ưu Kỹ thuật gọi kỹ thuật đánh giá nhánh cận tiến trình quay lui Kĩ thuật Nhánh cận (Nhánh cận – Branch and Bound)

Ngày đăng: 18/02/2019, 01:01

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan