Tiểu luận Thuật toán và phương pháp giải quyết vấn đề PHƯƠNG PHÁP HUERISTIC VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ

32 767 1
Tiểu luận Thuật toán và phương pháp giải quyết vấn đề PHƯƠNG PHÁP HUERISTIC VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ

Đ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 QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ ĐỀ TÀI PHƯƠNG PHÁP HUERISTIC VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ GVHD: PGS.TS. Đỗ Văn Nhơn SVTH: Nguyễn Hải Yến MSSV: CH1301074 TP. Hồ Chí Minh, ngày 19 tháng 01 năm 2014 t Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn LỜI NÓI ĐẦU Bài toán tìm kiếm được xem là bài toán được nhiều người quan tâm, đặc biệt là tìm kiếm tối ưu toàn cục. Có nhiều phương pháp để giải các bài toán tìm kiếm tối ưu toàn cục như : phương pháp trực tiếp (áp dụng các công thức, định lý, thuật giải đã có sẵn ), các phương pháp gián tiếp hoặc tìm kiếm lời giải thông dụng (phương pháp thử sai, phương pháp vét cạn, phương pháp quay lui). Ngoài các phương pháp nêu trên thì trong học phần “ Thuật toán và phương pháp giải quyết vấn đề em còn được tiếp cận với các phương pháp hueristic và meta hueristic. Và sau đây là bài thu hoạch của em : “Tìm hiểu về hueristic - metahueristic - Giải pháp hueristic theo nguyên lý tham lam giải bài toán người đưa thư ”. Em xin gửi lời cảm ơn chân thành đến trường Đại học Công Nghệ Thông Tin TP.HCM đã tạo điều kiện cho em được tiếp cận với môn học “Thuật toán và phương pháp giải quyết vấn đề ” Em xin cảm ơn Thầy PGS.TS. Đỗ Văn Nhơn đã tận tình truyền đạt kiến thức và có những định hướng giúp em hoàn thành bài thu hoạch. Mặc dù đã rất cố gắng nhưng bài thu hoạch của em khó tránh khỏi thiếu sót em mong Thầy góp ý nhận xét để bài thu hoạch hoàn thiện hơn. SVTH : CH1301074 – Nguyễn Hải Yến 2 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn MỤC LỤC  LỜI NÓI ĐẦU 2 Chương 1 4 TÌM HIỂU VỀ HUERISTIC VÀ META HUERISTIC TRONG GIẢI QUYẾT VẤN ĐỀ NP 4 Xác suất lai ghép cho biết tính thường xuyên của việc lai ghép tạo ra thế hệ mới được thực hiện như thế nào. Nếu xác suất lai ghép là pc , khi đó khả năng để một cá thể được lai ghép là pc. Nếu không thực hiện lai ghép, con sinh ra sẽ giống hoàn toàn bố mẹ. Nếu được lai ghép, con sinh ra sẽ có một phần giống bố và một phần giống mẹ 15 Xác suất đột biến cho biết tính thường xuyên của việc các gen của NST thay đổi như thế nào. Nếu xác suất đột biến là pm, khi đó khả năng để mỗi gen của một NST bất kỳ bị đột biến là pm. Tác dụng của toán tử đột biến là ngăn ngừa giải thuật di truyền rơi vào tình trạng cực trị địa phương, tuy nhiên nếu thực hiện đột biến với xác suất quá cao sẽ biến giải thuật di truyền thành giải thuật tìm kiếm ngẫu nhiên 15 LocalSearch() là hàm tìm kiếm địa phương, giúp tìm ra tối ưu cục bộ 22 22 Sơ đồ thuật toán bầy kiến 22 Chương 2: 23 ỨNG DỤNG HUERISTIC GIẢI QUYẾT BÀI TOÁN NGƯỜI ĐƯA THƯ. .23 TÀI LIỆU THAM KHẢO 32 SVTH : CH1301074 – Nguyễn Hải Yến 3 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn Chương 1. TÌM HIỂU VỀ HUERISTIC VÀ META HUERISTIC TRONG GIẢI QUYẾT VẤN ĐỀ NP 1.1. Khái niệm về lớp bài toán P và NP 1.1.1. Khái niệm các loại thời gian tính • Thời gian tính tốt nhất: là thời gian tính tối thiểu cần thiết để thực hiện thuật toán với mọi bộ dữ liệu đầu vào kích thước n. • Thời gian tính tồi nhất: là thời gian tính tối đa cần thiết để thực hiện thuật toán với mọi bộ dữ liệu đầu vào có kích thước n • Thời gian tính trung bình: là thời gian tính cần thiết để thực hiện thuật toán trên một tập hữu hạn các bộ dữ liệu đầu vào có kích thước n. Thời gian tính trung bình được tính theo công thức sau: • Thời gian tính trung bình=(Tổng thời gian tính tất cả các bộ dữ liệu có thể)/ Số bộ dữ liệu. Định nghĩa: Bài toán quyết định là bài toán mà đầu ra chỉ có thể là ‘yes’ hoặc ‘no’(đúng/sai, 0/1). Đối với một bài toán quyết định, có những bộ dữ liệu vào cho ra câu trả lời(đầu ra) là ‘yes’, chúng ta gọi đây là bộ dữ liệu ‘yes’, nhưng cũng có những bộ dữ liệu vào cho ra câu trả lời là ‘no’, chúng ta gọi những bộ dữ liệu này là bộ dữ liệu ‘no’. 1.1.2. Bằng chứng ngắn gọn dễ kiểm tra Rất nhiều các bài toán quyết định có một đặc điểm chung, đó là để xác nhận câu trả lời ‘yes’ đối với bộ dữ liệu vào ‘yes’ của chúng, chúng ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra xác nhận câu trả lời ‘yes’ cho bộ dữ liệu vào ‘yes’ đó. Tính ngắn gọn dễ kiểm tra ám chỉ việc thời gian kiểm tra để đưa ra kết SVTH : CH1301074 – Nguyễn Hải Yến 4 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn quả chỉ mất thời gian đa thức. Ví dụ về những bài toán quyết định kiểu này rất nhiều, sau đây là một số ví dụ: • Bài toán kiểm tra tính hợp số: “Có phải số n là hợp số?”, để xác nhận câu trả lời ‘yes’ cho đầu vào n, chúng ta có thể đưa ra một ước số b (1<b<n) của n. Để kiểm tra xem b có phải là ước số của n chúng ta có thể thực hiện phép chia n cho b sau thời gian đa thức. Trong ví dụ này , b là bằng chứng ngắn gọn (vì b<n) và dễ kiểm tra (có thuật toán đa thức để kiểm tra b đúng là ước số của n không). • Đối với bài toán Hamilton, để xác nhận câu trả lời là ‘yes’ cho đồ thị đã cho G, chúng ta có thể đưa ra một chu trình Hamilton của đồ thị: v 1 , v 2 , v 3 v n , v 1 Việc kiểm tra dãy đỉnh nói trên có là chu trình Hamilton của đồ thị đã cho hay không có thể thực hiện sau thời gian đa thức. Khi đó chúng ta nói dãy đỉnh nói trên là bằng chứng ngắn gọn dễ kiểm tra để xác nhận câu trả lời ‘yes’ của bài toán Hamilton. Một cách tương tự, có thể đưa ra khái niệm bằng chứng ngắn gọn dễ kiểm tra để xác nhận câu trả lời ‘no’. Đối với một số bài toán, việc đưa ra bằng chứng ngắn gọn dễ kiểm tra để xác nhận câu trả lời ‘no’ là dễ hơn so với việc đưa ra bằng chứng ngắn gọn xác định câu trả lời là ‘yes’. 1.1.3. Khái niệm quy dẫn Định nghĩa . Giả sử chúng ta có hai bài toán quyết định A và B. Chúng ta nói A có thể quy dẫn về B nếu như sau một thời gian tính đa thức nếu tồn tại một thuật toán thời gian đa thức R cho phép biến đổi bộ dữ liệu x của A thành bộ dữ liệu vào R(x) của B sao cho x là bộ dữ liệu yes của A khi và chỉ khi R(x) là dữ liệu vào yes của B. Nếu A quy dẫn về được B sau thời gian đa thức và B có thể giải được sau thời gian đa thức thì A cũng có thể giải được sau thời gian đa thức. SVTH : CH1301074 – Nguyễn Hải Yến 5 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn 1.1.4. Lớp bài toán P Định nghĩa. Chúng ta gọi P là lớp các bài toán có thể giải được trong thời gian đa thức. Ví dụ: Bài toán cây khung nhỏ nhất giải được nhờ thuật toán Prim với thời gian 0(n 2 ) thuộc lớp bài toán P. 1.1.5. Lớp bài toán NP Định nghĩa. Ta gọi NP là lớp các bài toán quyết định mà để xác nhận câu trả lời ‘yes’ của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra. Ví dụ: Bài toán kiểm tra tính hợp số: “Có phải n là hợp số không?”, để xác nhận câu trả lời ‘yes’ cho đầu vào n ta có thể đưa ra một ước số b (1< b < n) của n. Để kiểm tra xem b có phải là ước số của n hay không ta có thể thực hiện phép chia n cho b sau thời gian đa thức. Trong ví dụ này dễ thấy b là bằng chứng ngắn gọn (b<n) và dễ kiểm tra (có thuật toán thời gian tính đa thức để kiểm tra xem b có là ước số của n). 1.1.6. Lớp bài toán Co- NP Định nghĩa. Ta gọi Co-NP là lớp các bài toán quyết định mà để xác nhận câu trả lời ‘no’ của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra. Ví dụ: Bài toán kiểm tra tính nguyên tố: “Có phải n là số nguyên tố không?”, để đưa ra bằng chứng ngắn gọn dễ kiểm tra xác nhận câu trả lời ‘no’ cho đầu vào n ta có thể đưa ra một ước số b của n. 1.1.7. Lớp bài toán NP- đầy đủ (NP- complete) Định nghĩa. Một bài toán quyết định A được gọi là NP-đầy đủ (NP-Complete) nếu như: • A là một bài toán trong NP. • Mọi bài toán trong NP đều có thể quy dẫn về A. Bổ đề. Giả sử bài toán A là NP-đầy đủ, bài toán B thuộc NP, và bài toán A qui dẫn được về bài toán B. Khi đó bài toán B cũng là NP-đầy đủ SVTH : CH1301074 – Nguyễn Hải Yến 6 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn 1.1.8. Lớp bài toán NP-khó (NP- Hard) Một cách ngắn gọn có thể hiểu bài toán NP-khó là bài toán mà không có thuật toán thời gian tính đa thức để giải nó trừ khi P = NP, mà chỉ có các thuật toán giải trong thời gian hàm mũ. Sau đây là định nghĩa chính thức của bài toán NP-khó. Định nghĩa. Một bài toán A được gọi là NP- khó (NP-hard) nếu như sự tồn tại thuật toán đa thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải mọi bài toán trong NP. Một số bài toán NP-khó tiêu biểu như: Bài toán bè cực đại (MaxClique): Cho một đồ thị vô hướng G = (V, E). V là tập các đỉnh, E là tập các cạnh tương ứng các đỉnh trong V. Cần tìm bè lớn nhất của G. Bè là tập các đỉnh trong đồ thị mà đôi một có cạnh nốivới nhau (là một đồ thị con đầy đủ trong đồ thị G). Bài toán tập độc lập (Independent set): Cho đồ thị vô hướng G = (V, E) và số nguyên K, hỏi có thể tìm được tập độc lập S với |S| ≥ K. Tập độc lập là tập các đỉnh trong đồ thị mà chúng đôi một không có cạnh nối với nhau. Bài toán phủ đỉnh (Vertex cover): Ta gọi một phủ đỉnh của đồ thị vô hướng G = (V, E) là một tập con các đỉnh của đồ thị S ⊆ V sao cho mỗi cạnh của đồ thị có ít nhất một đầu mút trong S. Bài toán đặt ra là: Cho đồ thị vô hướng G = (V, E) và số nguyên k. Hỏi G có phủ đỉnh với kích thước k hay không? Một cách không hình thức, có thể nói rằng nếu ta có thể giải được một cách hiệu quả một bài toán NP-khó cụ thể, thì ta cũng có thể giải hiệu quả bất kỳ bài toán trong NP bằng cách sử dụng thuật toán giải bài toán NP-khó như một chương trình con. SVTH : CH1301074 – Nguyễn Hải Yến 7 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn Từ định nghĩa bài toán NP-khó có thể suy ra rằng mỗi bài toán NP-đầy đủ đều là NP-khó. Tuy nhiên một bài toán NP-khó không nhất thiết phải là NP-đầy đủ. Cũng từ bổ đề nêu trên, ta có thể suy ra rằng để chứng minh một bài toán A nào đó là NP-khó, ta chỉ cần chỉ ra phép qui dẫn một bài toán đã biết là NP-khó về nó. Sau đây là mô hình phân lớp các bài toán đã nêu trên. Từ phần trình bày trên, ta thấy có rất nhiều bài toán ứng dụng quan trọng thuộc vào lớp NP-khó, và vì thế khó hy vọng xây dựng được thuật toán đúng hiệu quả để giải chúng. Do đó, một trong những hướng phát triển thuật toán giải các bài toán như vậy là xây dựng các thuật toán gần đúng. 1.2. Mở rộng khái niệm thuật giải Trong quá trình nghiên cứu giải quyết các vấn đề - bài toán, người ta đã đưa ra những nhận xét như sau : • Có nhiều bài toán cho đến nay vẫn chưa tìm ra một cách giải theo kiểu thuật toán và cũng không biết là có tồn tại thuật toán hay không. SVTH : CH1301074 – Nguyễn Hải Yến 8 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn • Có nhiều bài toán đã có thuật toán để giải nhưng không chấp nhận được vì thời gian giải theo thuật toán đó quá lớn hoặc các điều kiện cho thuật toán khó đáp ứng. • Có những bài toán được giải theo những cách giải vi phạm thuật toán nhưng vẫn chấp nhận được. Từ những nhận định trên, người ta thấy rằng cần phải có những đổi mới cho khái niệm thuật toán. Người ta đã mở rộng hai tiêu chuẩn của thuật toán : tính xác định và tính đúng đắn. Việc mở rộng tính xác định đối với thuật toán đã được thể hiện qua các giải thuật đệ quy và ngẫu nhiên. Tính đúng của thuật toán bây giờ không còn bắt buộc đối với một số cách giải bài toán, nhất là các cách giải gần đúng. Trong thực tiễn, có nhiều trường hợp người ta chấp nhận các cách giải thường cho kết quả tốt (nhưng không phải lúc nào cũng tốt) nhưng ít phức tạp và hiệu quả. Chẳng hạn nếu giải một bài toán bằng thuật toán tối ưu đòi hỏi máy tính thực hiện nhiều năm thì chúng ta có thể sẵn lòng chấp nhận một giải pháp gần tối ưu mà chỉ cần máy tính chạy trong vài ngày hoặc vài giờ. Các cách giải chấp nhận được nhưng không hoàn toàn đáp ứng đầy đủ các tiêu chuẩn của thuật toán thường được gọi là các thuật giải. Khái niệm mở rộng này của thuật toán đã mở rộng cửa cho chúng ta trong việc tìm kiếm phương pháp để giải quyết các bài toán được đặt ra. Một trong những thuật giải thường được đề cập đến và sử dụng trong khoa học trí tuệ nhân tạo là các cách giải theo kiểu Heuristic. 1.3. Khái niệm hueristic và meta hueristic 1.3.1. Hueristic Hueristic là những tri thức được rút tỉa từ những kinh nghiệm, “trực giác” của con người (mẹo) Hueristic có thể là những tri thức “đúng” hay “sai” Hueristic là những meta knowledge và thường “đúng” Hueristic thường được dùng trong các bài toán tìm kiếm trong trường hợp: SVTH : CH1301074 – Nguyễn Hải Yến 9 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn − Vấn đề có thể không có nghiệm chính xác do các mệnh đề không phát biểu chặt chẽ hay thiếu dữ liệu để khẳng định kết quả − Vấn đề có nghiệm chính xác nhưng phí tổn tính toán để tìm ra nghiệm là quá lớn ( hệ quả của bùng nổ tổ hợp) Hueristic giúp tìm kiếm đạt kết quả với chi phí thấp hơn 1.3.2. Meta hueristic Meta hueristic là các thủ tục mang tính hướng dẫn. Meta heuristic là loại heuristic tổng quát có thể áp dụng cho nhiều lớp bài tóan.Gần đây meta heuristic là một lãnh vực nghiên cứu phát triển mạnh mẽ, với sự ra đời của nhiều meta heuristic như:- giải thuật di truyền (GA) - giải thuật mô phỏng luyện kim (SA) – giải thuật kiến (ACO) 1.4. Thuật giải hueristic Thuật giải Heuristic là một sự mở rộng khái niệm thuật toán. Nó thể hiện cách giải bài toán với các đặc tính sau : − Thường tìm được lời giải tốt (nhưng không chắc là lời giải tốt nhất). − Giải bài toán theo thuật giải Heuristic thường dễ dàng và nhanh chóng đưa ra kết quả hơn so với giải thuật tối ưu, vì vậy chi phí thấp hơn. − Thuật giải Heuristic thường thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người. Có nhiều phương pháp để xây dựng một thuật giải Heuristic, trong đó người ta thường dựa vào một số nguyên lý cơ sở như sau: − Nguyên lý vét cạn thông minh : Trong một bài toán tìm kiếm nào đó, khi không gian tìm kiếm lớn, ta thường tìm cách giới hạn lại không gian tìm kiếm hoặc thực hiện một kiểu dò tìm đặc biệt dựa vào đặc thù của bài toán để nhanh chóng tìm ra mục tiêu. − Nguyên lý tham lam (Greedy): SVTH : CH1301074 – Nguyễn Hải Yến 10 [...]... hàm tìm kiếm địa phương, giúp tìm ra tối ưu cục bộ Sơ đồ thuật toán bầy kiến SVTH : CH1301074 – Nguyễn Hải Yến 22 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn Chương 2: ỨNG DỤNG HUERISTIC GIẢI QUYẾT BÀI TOÁN NGƯỜI ĐƯA THƯ Mục đích của bài toán tối ưu tổ hợp là tìm lời giải tốt nhất trong các lời giải có thể và không gian tìm kiếm lời giải của bài toán là rời rạc Nhiều bài toán tối ưu tổ hợp... Cách giải quyết Trong trường hợp ta sử dụng thuật toán tối ưu cho bài toán này, chẳng hạn như thuật toán vét cạn : thực hiện lựa chọn một phương án trong tập hợp tất cả các phương án của bài toán để tìm ra phương án tối ưu Khi số lượng các điểm giao thư khá lớn  không gian các phương án quá lớn Do vậy, khi áp dụng thuật toán vét cạn không đảm bảo về thời gian cũng như kĩ thuật (độ phức tạp thuật toán. .. 2.8 Hiệu chỉnh, cải tiến thuật toán • Thuật toán hueristic cho bài toán người đưa thư có độ phức tạp O(n 2) tốt hơn rất nhiều so với thuật toán vét cạn có độ phức tạp O(n!) Tuy nhiên thuật giải còn hạn chế là lời giải chỉ chấp nhận được theo một điều kiện nào đó, chưa chắc là tối ưu mà chỉ đạt mức gần tối ưu • Cải tiến : Khảo sát bài toán trên thực tế để đưa vào thêm một số hueristic o Ước lượng khoảng... Nguyễn Hải Yến 16 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn Mã hoá theo giá trị thư ng dùng cho các bài toán đặc biệt Trong cách mã hoá này ta thư ng phải phát triển các toán tử đột biến và lai ghép cho phù hợp với từng bài toán 1.5.6 Khởi tạo quần thể Khởi tạo quần thể ban đầu là ta tạo ra một cách ngẫu nhiên các lời giải có thể (thư ng là các lời giải thỏa mãn ràng buộc của bài toán nhưng chưa... cuối cùng ta sẽ có một hành trình ngắn nhất” là hợp lý  thuật giải Void FindWay(…) là đúng 2.7 Tính độ phức tạp của thuật toán Độ phức tạp của thuật toán SVTH : CH1301074 – Nguyễn Hải Yến 29 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn Xét các phép tính cơ bản là phép gán SVTH : CH1301074 – Nguyễn Hải Yến 30 Thuật toán & PP giải quyết vấn đề void { PGS.TS Đỗ Văn Nhơn FindWay(int x, Graph Gr,... các thuật giải Heuristic, người ta thư ng dùng các hàm Heuristic Ðó là các hàm đánh giá thô, giá trị của hàm phụ thuộc vào trạng thái hiện tại của bài toán tại mỗi bước giải Nhờ giá trị này, ta có thể chọn được cách hành động tương đối hợp lý trong từng bước của thuật giải 1.5 Thuật giải di truyền (GA) 1.5.1 Giới thiệu Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp. .. Hải Yến 28 Thuật toán & PP giải quyết vấn đề PGS.TS Đỗ Văn Nhơn Thử nghiệm với đồ thị như hình sau : với file “graph.txt” Đỉnh xuất phát : đỉnh 1 Ta tính được chi phí của đường đi = 14; Và đường đi lần lượt qua các đỉnh 1  2  5  3  4  1 Giao diện chương trình như sau : 2.6 Chứng minh tính đúng Thuật giải hueristic là đúng khi ta có các hueristic “đúng” Trong bài toán người đưa thư thì hueristic. .. của bài toán nhưng chưa biết là đại lượng cần tối ưu đã là tối ưu hay chưa) Tuỳ vào từng bài toán cụ thể mà ta có các phương pháp khởi tạo khác nhau Chất lượng của quần thể ban đầu càng cao thì lời giải mà giải thuật di truyền đưa ra càng tốt Trong nhiều giải thuật di truyền, thư ng sử dụng các giải thuật đã có để giải bài toán mà cho kết quả khá tốt để khởi tạo quần thể ban đầu Xây dựng hàm thích nghi... thể) cho bài toán tối ưu hóa vấn đề Tập hợp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn Giải thuật di truyền (Genetic Algorithm - GA): Dựa vào quá trình di truyền trong tự nhiên để cải tiến lời giải qua các thế hệ bắt nguồn từ một tập các lời giải ban đầu Giải thuật di truyền cũng như các thuật toán tiến hoá đều được hình thành dựa trên một quan niệm được coi là một tiên đề phù hợp... thực hiện thuật toán) Vấn đề đặt ra là phải cải tiến thuật toán vét cạn như thế nào để giải quyết các yếu điểm đó Trong phạm vi bài thu hoạch này em xây dựng một giải pháp hueristic theo nguyên lý “tham lam” 2.4 Thiết kế thuật toán 2.4.1 Ý tưởng • Trên thực tế theo kinh nghiệm thì khi ta chọn đi trên những đoạn đường ngắn nhất thì cuối cùng ta sẽ có một hành trình ngắn nhất • Ý tưởng của thuật toán là . TP.HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ ĐỀ TÀI PHƯƠNG PHÁP HUERISTIC VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ GVHD: PGS.TS. Đỗ Văn Nhơn SVTH: Nguyễn. các phương pháp hueristic và meta hueristic. Và sau đây là bài thu hoạch của em : “Tìm hiểu về hueristic - metahueristic - Giải pháp hueristic theo nguyên lý tham lam giải bài toán người đưa thư. giải thông dụng (phương pháp thử sai, phương pháp vét cạn, phương pháp quay lui). Ngoài các phương pháp nêu trên thì trong học phần “ Thuật toán và phương pháp giải quyết vấn đề em còn được tiếp

Ngày đăng: 23/05/2015, 00:08

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • Chương 1.

  • TÌM HIỂU VỀ HUERISTIC VÀ META HUERISTIC TRONG GIẢI QUYẾT VẤN ĐỀ NP

    • Chọn lựa

    • Lai ghép

    • Đột biến

    • Xác suất lai ghép

    • Xác suất lai ghép cho biết tính thường xuyên của việc lai ghép tạo ra thế hệ mới được thực hiện như thế nào. Nếu xác suất lai ghép là pc , khi đó khả năng để một cá thể được lai ghép là pc. Nếu không thực hiện lai ghép, con sinh ra sẽ giống hoàn toàn bố mẹ. Nếu được lai ghép, con sinh ra sẽ có một phần giống bố và một phần giống mẹ.

      • Xác suất đột biến

      • Xác suất đột biến cho biết tính thường xuyên của việc các gen của NST thay đổi như thế nào. Nếu xác suất đột biến là pm, khi đó khả năng để mỗi gen của một NST bất kỳ bị đột biến là pm. Tác dụng của toán tử đột biến là ngăn ngừa giải thuật di truyền rơi vào tình trạng cực trị địa phương, tuy nhiên nếu thực hiện đột biến với xác suất quá cao sẽ biến giải thuật di truyền thành giải thuật tìm kiếm ngẫu nhiên.

        • Kích thước quần thể

        • Mã hoá nhị phân

        • Mã hoá hoán vị

        • Mã hoá theo giá trị

        • Mã hoá nhị phân

        • Phép đảo bit : Bit được chọn sẽ bị đảo (Bit được chọn có gạch chân)

        • Mã hoá hoán vị

        • Mã hoá giá trị

        • LocalSearch() là hàm tìm kiếm địa phương, giúp tìm ra tối ưu cục bộ.

        • Sơ đồ thuật toán bầy kiến

        • Chương 2:

        • ỨNG DỤNG HUERISTIC GIẢI QUYẾT BÀI TOÁN NGƯỜI ĐƯA THƯ

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

Tài liệu liên quan