Tìm hiểu và áp dụng giải thuật Tabu Search Tìm hiểu và áp dụng giải thuật Tabu Search Tìm hiểu và áp dụng giải thuật Tabu Search luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
HOÀNG QUỐC VIỆT BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - HỒNG QUỐC VIỆT CƠNG NGHỆ THƠNG TIN TÌM HIỂU VÀ ÁP DỤNG GIẢI THUẬT TABU SEARCH LUẬN VĂN THẠC SĨ KỸ THUẬT NGÀNH CÔNG NGHỆ THÔNG TIN 2011-2013 Hà Nội - Năm 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI HỒNG QUỐC VIỆT TÌM HIỂU VÀ ÁP DỤNG GIẢI THUẬT TABU SEARCH CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS TRẦN ĐÌNH KHANG Hà Nội – Năm 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI * HOÀNG QUỐC VIỆT TÌM HIỂU VÀ ÁP DỤNG GIẢI THUẬT TABU SEARCH LUẬN VĂN THẠC SĨ KĨ THUẬT CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS TRẦN ĐÌNH KHANG - 2013 HÀ NỘI LỜI CẢM ƠN Để hoàn thành luận văn tốt nghiệp “Tìm hiểu áp dụng giải thuật Tabu Search” lời xin gửi lời cảm ơn sâu sắc tới PGS.TS Trần Đình Khang, hƣớng dẫn bảo tơi tận tình suốt thời gian làm khóa luận Tơi xin chân thành cảm ơn thầy cô giáo Viện Công nghệ Thông tin Truyền thông Trƣờng ĐH Bách khoa Hà Nội, giảng viên truyền đạt kiến thức, kỹ năng, kinh nghiệm nghề nghiệp Tôi xin chân thành cảm ơn Ban giám hiệu, tập thể giáo viên khoa Công nghệ Thông tin trƣờng Đại học Sƣ phạm Kỹ thuật Hƣng Yên, gia đình bạn lớp cao học Cơng nghệ Thơng tin khố 2011- 2013 tạo điều kiện giúp đỡ, động viên, chia sẻ để tơi hồn thành luận văn Bản luận văn cịn nhiều thiếu sót, mong đƣợc thầy cô giáo hội đồng chấm luận văn xem xét, góp ý kiến để luận văn đƣợc hồn thiện Tôi xin chân thành cảm ơn! Hà Nội, tháng 03 năm 2013 HỌC VIÊN Hoàng Quốc Việt LỜI CAM ĐOAN Với mục đích học tập, nghiên cứu để nâng cao trình độ chun mơn nên tơi làm luận văn cách nghiêm túc hoàn toàn trung thực Trong luận văn, tơi có sử dụng tài liệu tham khảo số tác giả, nêu phần tài liệu tham khảo cuối luận văn Tôi xin cam đoan chịu trách nhiệm nội dung, trung thực luận văn tốt nghiệp Thạc sĩ Hà Nội, tháng 03 năm 2013 HỌC VIÊN Hoàng Quốc Việt MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU 10 Lý chọn đề tài .10 Mục đích nghiên cứu 10 Đối tƣợng phạm vi nghiên cứu .11 Phƣơng pháp nghiên cứu 11 CHƢƠNG 1: TỔNG QUAN VỀ TÌM KIẾM 12 1.1 Giải vấn đề tìm kiếm 12 1.2 Bài tốn tìm kiếm không gian trạng thái 12 1.3 Các kĩ thuật tìm kiếm .14 1.3.1 Tìm kiếm khơng có thơng tin 14 1.3.1.1 Tìm kiếm danh sách 15 1.3.1.2 Tìm kiếm 15 1.3.1.3 Tìm kiếm đồ thị 16 1.3.2 Tìm kiếm có thông tin .17 1.4 Bài tốn tối ƣu hóa tổ hợp 18 CHƢƠNG 2: TÌM KIẾM CỤC BỘ 20 2.1 Tổng quan 20 2.2 Giải thuật Tìm kiếm Cục 20 2.3 Một số thuật tốn Tìm kiếm Cục 22 2.3.1 Thuật toán Leo đồi 22 2.3.2 Thuật toán Luyện thép .24 2.3.3 Một số thuật tốn tìm kiếm cục khác 26 2.3.3.1 Giải thuật Di truyền .26 2.3.3.2 Giải thuật tìm kiếm Lân cận lớn 26 2.3.3.3 Giải thuật tìm kiếm Tabu .28 CHƢƠNG 3: TÌM KIẾM TABU 30 3.1 Tổng quan tìm kiếm Tabu 30 3.2 Nguyên lý chung tìm kiếm Tabu 30 3.3 Sơ đồ giải thuật tìm kiếm Tabu 31 3.4 Giải thuật tìm kiếm Tabu .32 3.5 Cách sử dụng nhớ 32 3.6 Lập trình với nhớ thích nghi 35 3.7 Làm việc với nhớ dài hạn .35 3.8 Chiến lƣợc Tăng cƣờng chiến lƣợc Đa dạng 36 3.8.1 Các chiến lƣợc tăng cƣờng .37 3.8.2 Các chiến lƣợc đa dạng 38 3.8.2.1 Thay đổi luật lựa chọn 39 3.8.2.2 Khởi động lại .40 CHƢƠNG 4: ÁP DỤNG GIẢI THUẬT TÌM KIẾM TABU VÀO BÀI TỐN N-QUEENS 43 4.1 Mơ tả tốn n-queens .43 4.2 Phân tích tốn 44 4.3 Xây dựng ứng dụng giải toán n-queens .45 4.3.1 Giải thuật tìm kiếm tabu cho toán n-queens 46 4.3.2 Cấu trúc chƣơng trình mối quan hệ lớp .46 4.3.2.1 Lớp SolutionTabuSearch .47 4.3.2.2 Lớp TabuSearch .48 4.3.2.3 Lớp frmMain 49 4.3.3 Kết chạy chƣơng trình 49 4.4 Đánh giá hiệu giải thuật tìm kiếm Tabu 51 4.4.1 Cài đặt toán n-queens số giải thuật 51 4.4.1.1 Cài đặt giải thuật Quay lui 51 4.4.1.2 Cài đặt giải thuật Luyện thép 52 4.4.2 Đánh giá hiệu giải thuật tìm kiếm Tabu .55 4.4.2.1 Xây dựng phƣơng án đánh giá .55 4.4.2.2 Kết thực nghiệm đề tài .55 KẾT LUẬN 58 Kết đạt đƣợc đề tài 58 Hạn chế đề tài 58 Hƣớng phát triển đề tài 59 TÀI LIỆU THAM KHẢO 60 DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT Từ viết tắt Từ đầy đủ AI Artificial Intelligent Trí tuệ nhân tạo BFS Breadth First Search Tìm kiếm theo chiều rộng CNTT Công nghệ Thông tin CNPM Công nghệ Phần mềm DFS Depth First Search Tìm kiếm theo chiều sâu GA Genetic Algorithms Giải thuật Di truyền LNS Large Neighborhood Search LS Local Search LTM Long Term Memory Bộ nhớ dài hạn SA Simulated Annealing Luyện thép STM Short Term Memory Bộ nhớ ngắn hạn TS Tabu Search TTNT Trí tuệ Nhân tạo TSP Travelling Salesman Problem OR Operation Research Giải thích Tìm kiếm Lân cận lớn Tìm kiếm Cục Tìm kiếm Tabu Nghiên cứu tối ƣu DANH MỤC CÁC BẢNG Bảng 3.1: tốn cơng việc .40 Bảng 3.2: khởi động lại toán việc 41 Bảng 4.1: kết chạy toán n-queens với giải thuật Quay lui 55 Bảng 4.2: kết chạy toán n-queens với giải thuật Luyện thép .56 Bảng 4.3: kết chạy toán n-queens với giải thuật tìm kiếm Tabu 56 Bảng 4.4: so sánh thời gian chạy giải thuật 56 4.3.1 Giải thuật tìm kiếm tabu cho tốn n-queens Giải thuật tìm kiếm Tabu đƣợc mơ tả bên dƣới: Algorithm Tabu Search (cmax) set initial solution X Xbest= X Pbest= Fitness(X) While (cPbest) then Xbest=X Pbest=Fitness(X) return Xbest Trong giải thuật trên: cmax: Số bƣớc lặp giải thuật (điều kiện dừng giải thuật) TabuList: danh sách lƣu lại trạng thái (giải pháp) xét qua Fitness: hàm đánh giá giải pháp Trong tốn n-queens Fitness đƣợc tính số va chạm queens Độ phức tạp thuật toán giải thuật Tabu Search cho toán n-queens là: [6] 4.3.2 Cấu trúc chƣơng trình mối quan hệ lớp Chƣơng trình đƣợc cài đặt ba lớp chính: Lớp SolutionTabuSearch: trả giải pháp ngẫu nhiên bàn cờ (tình trạng ngẫu nhiên quân hậu cột khác nhau) Lớp TabuSearch: thực việc tìm kiếm theo giải thuật tìm kiếm Tabu để tìm lời giải phù hợp yêu cầu 46 Lớp from frmMain: hiển thị kết tìm kiếm lớp TabuSearch lên bàn cờ trực quan (bàn cờ sử dụng điều khiển DataGridView minh họa ) Mối quan hệ lớp đƣợc thể dƣới đây: Giao diện 4.3.2.1 Lớp SolutionTabuSearch Cấu trúc lớp SolutionTabuSearch Hình 4.2: cấu trúc lớp SolutionTabuSearch Một số biến, thuộc tính, phƣơng thức quan trọng lớp: Collision: biến dùng lƣu trữ tổng số va chạm quân hậu (hai quân hậu đe dọa đƣợc tính Collision) 47 Fitness: phƣơng thức trả tổng số va chạm các quân hậu trạng thái (một trạng thái bàn cờ) 4.3.2.2 Lớp TabuSearch Cấu trúc lớp TabuSearch Hình 4.3: cấu trúc lớp TabuSearch Một số biến, thuộc tính, phƣơng thức quan trọng lớp: iter: lƣu trữ bƣớc lặp maxIter: lƣu trữ số lần lặp lớn giải thuật (điều kiện dừng giải thuật) TabuList: lƣu trữ danh sách giải pháp (trạng thái) đƣợc xét qua Indentical: kiểm tra giải pháp có Tabu List hay không? Neighourhood: phƣơng thức trả lân cận trạng thái (giải pháp) MaxNeighbourhoodX: phƣơng thức tìm kiếm trạng thái tốt số lân cận trạng thái (X) SearchTabu: tìm kiếm theo giải thuật tìm kiếmTabu 48 4.3.2.3 Lớp frmMain Lớp giao diện ứng dụng: lớp có Form hiển thị kết quân hậu tìm thấy giải pháp với yêu cầu Lớp sử dụng phƣơng thức SearchTabu lớp TabuSearch để thực tìm kiếm kết 4.3.3 Kết chạy chƣơng trình Giao diện chạy chƣơng trình: Hình 4.4: giao diện chạy chương trình Để chọn kích thƣớc bàn cờ bất kì, ngƣời dùng nhập kích thƣớc bàn cờ vào ơ: Chọn N sau nhấn nút OK, bàn cờ đƣợc khởi tạo nhƣ dƣới (ở minh họa với kích thƣớc bàn cờ 40 x 40): 49 Hình 4.5: khởi tạo bàn cờ với kích thước chọn Khi ngƣời dùng nhấn nút CHẠY GIẢI THUẬT, chƣơng trình tìm kiếm theo giải thuật tìm kiếm Tabu với kích thƣớc tốn N, tìm thấy kết hiển thị lên bàn cờ nhƣ bên dƣới (mỗi ô đỏ ứng với vị trí qn hậu): Hình 4.6: kết hiển thị tìm thấy kết 50 4.4 Đánh giá hiệu giải thuật tìm kiếm Tabu 4.4.1 Cài đặt toán n-queens số giải thuật Đề tài thực việc cài đặt toán giải thuật: Quay lui, Luyện thép tìm kiếm Tabu Đề tài cài đặt giải thuật ngôn ngữ lập trình Microsoft C# 2012 Đề tài cài đặt hai giải thuật Quay lui Luyện thép với chƣơng trình (bên cạnh giải thuật Tabu) Trong giải thuật có hàm tính tốn thời gian (để đo thời gian chạy giải thuật tìm kết quả) tƣơng ứng với số quân hậu (N) mà ngƣời dùng chọn 4.4.1.1 Cài đặt giải thuật Quay lui Giải thuật quay lui đƣợc cài đặt lớp Backtracking: thực việc tìm kiếm kết cho tốn n-queens Cấu trúc lớp Backtracking: Hình 4.7: cấu trúc lớp Backtracking Một số phƣơng thức lớp: SolutionCheck(): kiểm tra bàn cờ có đơi đe dọa hay khơng? RunBacktracking(): thực tìm kiếm theo giải thuật quay lui Khi chạy chƣơng trình ta có kết nhƣ hình 4.8: 51 Hình 4.8: minh họa chạy chương trình với giải thuật quay lui 4.4.1.2 Cài đặt giải thuật Luyện thép 4.4.1.2.1 Giải thuật Luyện thép cho toán n-queens Giải thuật Luyện thép cho tốn n-queens đƣợc mơ tả bên dƣới: Algorithm Simulated Annealing (cmax, α, T0) set T to T0 select initial solution X Px = Fitness (X) Xbest= X Pbest= P While (cPx) then X=Y Px=Fitness(Y) If(Px>Pbest) Xbest=X Pbest=Px Else r=random(1) 52 if r < e(Fitness(Y)-Fitness(X)/T) then X=Y Px=Fitness(Y) T=αT0 Return (Xbest) Trong giải thuật trên: Cmax: số bƣớc lặp giải thuật Fitness: hàm đánh giá giải pháp (trạng thái bàn cờ) Trong tốn n-queens Fitness đƣợc tính số va chạm queens Heuristic(X): trả lân cận X (lân cận trạng thái thời) Độ phức tạp thuật toán giải thuật Luyện thép cho toán n-queens là: O(n2) [6] 4.4.1.2.2 Cài đặt ngôn ngữ C# Đề tài cài đặt giải thuật Luyện thép đƣợc cài đặt ba lớp: Lớp SoluionSimulatedAnnealing: trả giải pháp ngẫu nhiên bàn cờ (tình trạng ngẫu nhiên quân hậu cột khác nhau) Hình 4.9: cấu trúc lớp SoluionSimulatedAnnealing Một số phƣơng thức lớp: o Fitness: trả tổng số va chạm các quân hậu giải pháp 53 Lớp SimulatedAnnealing: thực việc tìm kiếm kết cho toán nqueens theo giải thuật Luyện thép Hình 4.10: cấu trúc lớp SimulatedAnnealing Một số phƣơng thức lớp: o Search(): thực việc tìm kiếm theo giải thuật Luyện thép o Hueristic(): trả lân cận giải pháp (trạng thái) Khi chạy chƣơng trình ta có kết nhƣ hình 4.11: Hình 4.11: minh họa chạy chương trình với giải thuật Luyện thép 54 4.4.2 Đánh giá hiệu giải thuật tìm kiếm Tabu 4.4.2.1 Xây dựng phƣơng án đánh giá Đề tài đánh giá hiệu giải thuật dựa thời gian chạy ba giải thuật để tìm lời giải ứng với toán Với giải thuật, đề tài ghi lại thời gian ba lần chạy giải thuật tìm kết Đề tài ghi nhận lại thời gian trung bình ba lần 4.4.2.2 Kết thực nghiệm đề tài Đề tài cài đặt toán n-queens ba giải thuật: giải thuật quay lui, giải thuật Luyện thép tìm kiếm Tabu Ba giải thuật đƣợc viết ngơn ngữ lập trình Microsoft C# Mỗi giải thuật đƣợc chạy tìm đƣợc kết ứng với kích thƣớc tốn (n–queens) đƣợc chọn Kết thực nghiệm đƣợc đo máy tính có cấu hình: Intel® Core i5-2410M 2.4GHz, 4GB RAM Máy cài đặt hệ điều hànhWindows Thời gian đƣợc tính mili giây (ms) Kết đề tài chạy với giải thuật quay lui: n 10 15 20 25 26 29 30 Lần Thời gian trung bình 15 47 10016 4625 42086 218572 5183172 17 47 11329 8765 42189 287568 3671233 21 32 10765 9635 45101 267765 5156782 17.7 42 10703.3 7675.3 43790.0 257967.3 4670395.7 Bảng 4.1: kết chạy toán n-queens với giải thuật Quay lui Trong bảng kết trên: n: ứng với số quân hậu đƣợc chạy Lần: kết lần 1, hay Thời gian trung bình: trung bình thời gian lần chạy 55 Kết đề tài chạy với giải thuật Luyện thép: Bảng 4.2: kết chạy toán n-queens với giải thuật Luyện thép n Lần 10 20 25 30 50 75 100 109 93 76 10703.3 2113 3454 431564 513275 368176 875346 865543 765135 1765876 1437656 2356794 4236765 5176657 5976654 14175356 10156176 15135387 Thời gian trung bình 92.7 3413.3 437671.67 835341.33 1853442 5130025.3 13155640 Ý nghĩa cột: n, Lần, Trung bình thời gian tƣơng tự nhƣ giải thuật quay lui Kết đề tài chạy với giải thuật tìm kiếm Tabu: Bảng 4.3: kết chạy tốn n-queens với giải thuật tìm kiếm Tabu n 10 20 25 30 50 75 100 Lần Thời gian trung bình 78 110 78 454 1297 4609 13251 84 175 676 765 4674 8765 14543 109 76 453 1265 3654 7689 12566 90.3 120.3 402.3 828.0 3208.3 7021.0 13453.3 Ý nghĩa cột: n, Lần, Trung bình thời gian tƣơng tự nhƣ giải thuật quay lui Nhận xét: Từ kết đƣợc ghi nhận bảng thời gian chạy ba giải thuật thấy: Chúng ta thấy hiệu giải thuật thông qua bảng so sánh thời gian chạy trung bình giải thuật dƣới Bảng 4.4: so sánh thời gian chạy giải thuật n 10 20 Quay lui 17.7 3413.3 Giải thuật Luyện Thép Tabu 92.7 3413.3 90.3 120.3 56 n 25 30 50 75 100 Quay lui 7675.3 4670395.7 Giải thuật Luyện Thép Tabu 437671.67 835341.33 1853442 5130025.3 13155640 402.3 828.0 3208.3 7021.0 13453.3 Giải thuật Quay lui hiệu mặt thời gian so với hai giải thuật Luyện thép tìm kiếm Tabu với kích thƣớc tốn nhỏ (n nhỏ) Với n đủ lớn giải thuật Quay lui thời gian lớn so với hai giải thuật Luyện Thép Tabu Chúng ta thấy qua biểu đồ dƣới đây: Biểu đồ 1: so sánh thời gian chạy ba giải thuật Với hai giải thuật tìm kiếm cục bộ: giải thuật Tìm kiếm Tabu hiệu so với giải thuật Luyện Thép với kích thƣớc tốn lớn Chúng ta thấy rõ qua biểu đồ dƣới Biểu đồ 2: so sánh thời gian chạy hai giải thuật Luyện Thép Tabu 57 KẾT LUẬN Kết đạt đƣợc đề tài Sau thời gian nghiên cứu thực hiện, đề tài hoàn thành đƣợc nhiệm vụ ban đầu đặt ra, với kết đạt đƣợc nhƣ sau: Thứ nhất, đề tài trình bày đƣợc tổng quan giải thuật tìm kiếm cục bộ, nhƣ trình bày đƣợc số giải thuật tìm kiếm cục nay: Leo Đồi, Luyện Thép Thứ hai đề tài tìm hiểu trình bày đƣợc vấn đề giải thuật tìm kiếm Tabu: ngun lí chung tìm kiếm Tabu, tảng giải thuật, chiến lƣợc tìm kiếm Tabu… Thứ ba, đề tài xây dựng đƣợc chƣơng trình ứng dụng giải tốn nqueens giải thuật tìm kiếm Tabu Đề tài áp dụng số giải thuật tìm kiếm để cài đặt tốn mơ n-queens, từ đánh giá so sánh đƣợc hiệu giải thuật đem lại Các kết thực nghiệm thu đƣợc đề tài phản ánh trung thực với phần sở lý thuyết đƣợc trình bày Hạn chế đề tài Bên cạnh kết đạt đƣợc, khuôn khổ đề tài số việc chƣa làm đƣợc, cụ thể nhƣ: Đề tài xây dựng ứng dụng n-queens cài đặt cho toán n-queens sử dụng kĩ thuật tìm kiếm Tabu đơn giản, chƣa sử dụng kĩ thuật tìm kiếm Tabu với nhớ dài hạn, sử dụng kĩ thuật: tăng cƣờng, đa dạng hóa…trong kĩ thuật nhớ dài hạn Các kết thực nghiệm chạy chƣơng trình đề tài xây dựng cho tốn n-queens thực với kích thƣớc toán (n) nhỏ, chƣa đo đƣợc thời gian chạy giải thuật với n đủ lớn 58 Các kết đánh giá thực toán n-queens, chƣa thực nhiều toán để đánh giá đƣợc hiệu giải thuật tìm kiếm Tabu cách xác tổng quan Hƣớng phát triển đề tài Việc giải hạn chế nêu hƣớng phát triển đề tài tƣơng lai Tác giả sớm triển khai thực nghiệm nhiều toán (bên cạnh toán n-queens) để từ đánh giá đƣợc hiệu giải thuật tìm kiếm Tabu mang lại 59 TÀI LIỆU THAM KHẢO [1] Costa, “A Tabu Search Algorithm for Computing an Operational Timetable”, European Journal of Operational Research, 1994, 98-110 [2] Fred Glover, “Tabu Search: A Tutorial”, Interfaces, 20, 4(1990) 74-94 [3] Fred Glover, Manuel Laguna, “Tabu Search”, Kluwer Academic Publishers, United States of America, 1998 [4] Holger H Hoos, Thomas Stutzle, “Stochastic Local Search Foundation and Applications”, Morgan Kaufmann - USA [5] Manuel Laguna, “A Guide to Implementing Tabu Search”, 1994, 5-25 [6] Ivica Martinjak, Marin Golub, Comparison of Heuristic Algorithms for the NQueen Problem, Proceedings of the ITI Cavtat, Croatia, 760-764, 2007 [7] Từ Minh Phƣơng, “Bài giảng Nhập mơn trí tuệ nhân tạo”, 2010 [8] Nguyễn Đức Nghĩa - Nguyễn Tơ Thành, “Tốn rời rạc”, NXB Giáo dục, 1997 [9] Wikipedia, http://en.wikipedia.org/wiki/Local_search [10] Wikipedia, http://en.wikipedia.org/wiki/Tabu_search [11] Wikipedia, http://en.wikipedia.org/wiki/Metaheuristic 60 ... ứng 3.3 Sơ đồ giải thuật tìm kiếm Tabu Sơ đồ giải thuật tìm kiếm Tabu đƣợc thể dƣới đây: 31 3.4 Giải thuật tìm kiếm Tabu Giải thuật tìm kiếm Tabu đƣợc thể dƣới đây: Algorithm Tabu Search (cmax)... thuật tìm kiếm Tabu: ngun lí chung tìm kiếm Tabu, cách sử dụng nhớ, tảng tìm kiếm Tabu Sử dụng phƣơng pháp tìm kiếm Tabu để giải toán n-queens, đánh giá đƣợc hiệu giải thuật so với số giải thuật. .. tìm kiếm Tabu Sử dụng giải thuật tìm kiếm Tabu cài đặt cho tốn mơ n-queens Đánh giá hiệu giải thuật so với số giải thuật khác 11 CHƢƠNG 1: TỔNG QUAN VỀ TÌM KIẾM 1.1 Giải vấn đề tìm kiếm Tìm