Thuật toán thuật giải

99 1.1K 11
Thuật toán thuật giải

Đ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

Thuật toán thuật giải

WWW.VIETDOWN.ORG VietDown Organization Ebook Team CHƯƠNG : THUẬT TOÁN – THUẬT GIẢI I KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI II THUẬT GIẢI HEURISTIC III CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC III.1 Cấu trúc chung tốn tìm kiếm III.2 Tìm kiếm chiều sâu tìm kiếm chiều rộng III.3 Tìm kiếm leo đồi III.4 Tìm kiếm ưu tiên tối ưu (best-first search) III.5 Thuật giải AT III.6 Thuật giải AKT III.7 Thuật giải A* III.8 Ví dụ minh họa hoạt động thuật giải A* III.9 Bàn luận A* III.10 Ứng dụng A* để giải tốn Ta-canh III.11 Các chiến lược tìm kiếm lai I TỔNG QUAN THUẬT TỐN – THUẬT GIẢI Trong q trình nghiên cứu giải vấn đề – toán, người ta đưa nhận xét sau: Có nhiều tốn chưa tìm cách giải theo kiểu thuật toán khơng biết có tồn thuật tốn hay khơng Có nhiều tốn có thuật tốn để giải khơng chấp nhận thời gian giải theo thuật tốn q lớn điều kiện cho thuật tốn khó đáp ứng Có tốn giải theo cách giải vi phạm thuật toán chấp nhận Từ nhận định trên, người ta thấy cần phải có đổi cho khái niệm thuật toán Người ta mở rộng hai tiêu chuẩn thuật tốn: tính xác định tính đắn Việc mở rộng tính xác định thuật toán thể qua giải thuật đệ quy ngẫu nhiên Tính thuật tốn khơng cịn bắt buộc số cách giải toán, cách giải gần Trong thực tiễn có nhiều trường hợp người ta chấp nhận cách giải thường cho kết tốt (nhưng khơng phải lúc tốt) phức tạp hiệu Chẳng hạn giải tốn thuật tốn tối ưu địi hỏi máy tính thực hiên nhiều năm sẵn lòng chấp nhận giải pháp gần tối ưu mà cần máy tính chạy vài ngày vài Các cách giải chấp nhận không hoàn toàn đáp ứng đầy đủ tiêu chuẩn thuật toán thường gọi thuật giải Khái niệm mở rộng thuật toán mở cửa cho việc tìm kiếm phương pháp để giải toán đặt Một thuật giải thường đề cập đến sử dụng khoa học trí tuệ nhân tạo cách giải theo kiểu Heuristic II THUẬT GIẢI HEURISTIC Thuật giải Heuristic mở rộng khái niệm thuật tốn Nó thể cách giải tốn với đặc tính sau: Thường tìm lời giải tốt (nhưng khơng lời giải tốt nhất) Giải tốn theo thuật giải Heuristic thường dễ dàng nhanh chóng đưa kết so với giải thuật tối ưu, chi phí thấp Thuật giải Heuristic thường thể tự nhiên, gần gũi với cách suy nghĩ hành động người Có nhiều phương pháp để xây dựng thuật giải Heuristic, người ta thường dựa vào số nguyên lý sau: Nguyên lý vét cạn thông minh: Trong tốn tìm kiếm đó, 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 thực kiểu dị tìm đặc biệt dựa vào đặc thù tốn để nhanh chóng tìm mục tiêu Ngun lý tham lam (Greedy): Lấy tiêu chuẩn tối ưu (trên phạm vi tồn cục) tốn để làm tiêu chuẩn chọn lựa hành động cho phạm vi cục bước (hay giai đoạn) trình tìm kiếm lời giải Nguyên lý thứ tự: Thực hành động dựa cấu trúc thứ tự hợp lý khơng gian khảo sát nhằm nhanh chóng đạt lời giải tốt Hàm Heuristic: Trong việc xây dựng thuật giải Heuristic, người ta thường dùng hàm Heuristic Đó hàm đánh già thơ, giá trị hàm phụ thuộc vào trạng thái toán bước giải Nhờ giá trị này, ta chọn cách hành động tương đối hợp lý bước thuật giải Bài toán hành trình ngắn – ứng dụng nguyên lý Greedy Bài tốn: Hãy tìm hành trình cho người giao hàng qua n điểm khác nhau, điểm qua lần trở điểm xuất phát cho tổng chiều dài đoạn đường cần ngắn Giả sử có đường nối trực tiếp từ hai điểm Tất nhiên ta giải tốn cách liệt kê tất đường đi, tính chiều dài đường tìm đường có chiều dài ngắn Tuy nhiên, cách giải lại có độ phức tạp 0(n!) (một hành trình hốn vị n điểm, đó, tổng số hành trình số lượng hốn vị tập n phần tử n!) Do đó, số đại lý tăng số đường phải xét tăng lên nhanh Một cách giải đơn giản nhiều thường cho kết tương đối tốt dùng thuật giải Heuristic ứng dụng nguyên lý Greedy Tư tưởng thuật giải sau: Từ điểm khởi đầu, ta liệt kê tất quãng đường từ điểm xuất phát n đại lý chọn theo đường ngắn Khi đến đại lý, chọn đến đại lý theo nguyên tắc Nghĩa liệt kê tất đường từ đại lý ta đứng đến đại lý chưa đến Chọn đường ngắn Lặp lại q trình lúc khơng cịn đại lý để Bạn quan sát hình sau để thấy trình chọn lựa Theo nguyên lý Greedy, ta lấy tiêu chuẩn hành trình ngắn toán làm tiêu chuẩn cho chọn lựa cục Ta hy vọng rằng, n đoạn đường ngắn cuối ta có hành trình ngắn Điều khơng phải lúc Với điều kiện hình thuật giải cho hành trình có chiều dài 14 hành trình tối ưu 13 Kết thuật giải Heuristic trường hợp lệch đơn vị so với kết tối ưu Trong đó, độ phức tạp thuật giải Heuristic 0(n2) Hình : Giải toán sử dụng nguyên lý Greedy Tất nhiên, thuật giải theo kiểu Heuristic đôi lúc lại đưa kết khơng tốt, chí tệ trường hợp hình sau Bài tốn phân việc – ứng dụng nguyên lý thứ tự Một công ty nhận hợp đồng gia công m chi tiết máy J1, J2, … Jm Cơng ty có n máy gia cơng P1, P2, … Pn Mọi chi tiết gia cơng máy Một gia công chi tiết máy, cơng việ tiếp tục lúc hồn thành, bị cắt ngang Để gia công việc J1 máy ta cần dùng thời gian tương ứng t1 Nhiệm vụ cơng ty phải gia cơng xong tồn n chi tiết thời gian sớm Chúng ta xét tốn trường hợp có máy P1, P2, P3 công việc với thời gian t1=2, t2=5, t3=8, t4=1, t5=5, t6=1 ta có phương án phân cơng (L) hình sau: Theo hình này, thời điểm t=0, ta tiến hành gia công chi tiết J2 máy P1, J5 P2 J1 P3 Tại thời điểm t=2, công việc J1 hồn thành, máy P3 ta gia cơng tiếp chi tiết J4 Trong lúc đó, hai máy P1 P2 thực công việc … Sơ đồ phân việc theo hình gọi lược đồ GANTT Theo lược đồ này, ta thấy thời gian để hoàn thành toàn cơng việc 12 Nhận xét cách cảm tính ta thấy phương án (L) vừa thực phương án không tốt Các máy P1 P2 có q nhiều thời gian rãnh Thuật tốn tìm phương án tối ưu L0 cho toán theo kiểu vét cạn có độ phức tạp cỡ O(mn) (với m số máy n số công việc) Bây ta xét đến thuật giải Heuristic đơn giản (độ phức tạp O(n)) để giải toán Sắp xếp công việc theo thứ tự giảm dần thời gian gia công Lần lượt xếp việc theo thứ tự vào máy cịn dư nhiều thời gian Với tư tưởng vậy, ta có phương án L* sau: Rõ ràng phương án L* vừa thực phương án tối ưu trường hợp thời gian hồn thành 8, thời gian công việc J3 Ta hy vọng giải Heuristic đơn giản thuật giải tối ưu Nhưng tiếc thay, ta dễ dàng đưa trường hợp mà thuật giải Heuristic không đưa kết tối ưu Nếu gọi T* thời gian để gia công xong n chi tiết máy thuật giải Heuristic đưa T0 thời gian tối ưu người ta chứng minh , M số máy Với kết này, ta xác lập sai số mà phải gánh chịu dùng Heuristic thay tìm lời giải tối ưu Chẳng hạn với số máy (M=2) ta có , sai số cực đại mà trường hợp gánh chịu Theo cơng thức này, số máy lớn sai số lớn Trong trường hợp M lớn tỷ số 1/M xem Như vậy, sai số tối đa mà ta phải chịu T* 4/3 T0, nghĩa sai số tối đa 33% Tuy nhiên, khó tìm trường hợp mà sai số giá trị cực đại, dù trường hợp xấu Thuật giải Heuristic trường hợp rõ ràng cho lời giải tương đối tốt III CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC Qua phần trước tìm hiểu tổng quan ý tưởng thuật giải Heuristic (nguyên lý Greedy thứ tự) Trong mục này, sâu vào tìm hiểu số kỹ thuật tìm kiếm Heuristic – lớp toán quan trọng có nhiều ứng dụng thực tế III.1 Cấu trúc chung tốn tìm kiếm Để tiện lợi cho việc trình bày, ta dành chút thời gian để làm rõ "đối tượng" quan tâm mục Một cách chung nhất, nhiều vấn đề-bài tốn phức tạp có dạng "tìm đường đồ thị" hay nói cách hình thức "xuất phát từ đỉnh đồ thị, tìm đường hiệu đến đỉnh đó" Một phát biểu khác thường gặp dạng toán : Cho trước hai trạng thái T0 TG xây dựng chuỗi trạng thái T0, T1, T2, , Tn-1, Tn = TG cho : thỏa mãn điều kiện cho trước (thường nhỏ nhất) Trong đó, Ti thuộc tập hợp S (gọi khơng gian trạng thái – state space) bao gồm tất trạng thái có tốn cost(Ti-1, Ti) chi phí để biến đổi từ trạng thái Ti-1 sang trạng thái Ti Dĩ nhiên, từ trạng thái Ti ta có nhiều cách để biến đổi sang trạng thái Ti+1 Khi nói đến biến đổi cụ thể từ Ti-1 sang Ti ta dùng thuật ngữ hướng (với ngụ ý nói lựa chọn) Hình : Mơ hình chung vấn đề-bài tốn phải giải phương pháp tìm kiếm lời giải Khơng gian tìm kiếm tập hợp trạng thái - tập nút đồ thị Chi phí cần thiết để chuyển từ trạng thái T sang trạng thái Tk biểu diễn dạng số nằm cung nối hai nút tượng trưng cho hai trạng thái Đa số toán thuộc dạng mà mơ tả biểu diễn dạng đồ thị Trong đó, trạng thái đỉnh đồ thị Tập hợp S bao gồm tất trạng thái tập hợp bao gồm tất đỉnh đồ thị Việc biến đổi từ trạng thái Ti-1 sang trạng thái Ti việc từ đỉnh đại diện cho Ti-1 sang đỉnh đại diện cho Ti theo cung nối hai đỉnh III.2 Tìm kiếm chiều sâu tìm kiếm chiều rộng Để bạn đọc hình dung cách cụ thể chất thuật giải Heuristic, thiết phải nắm vững hai chiến lược tìm kiếm tìm kiếm theo chiều sâu (Depth First Search) tìm kiếm theo chiều rộng (Breath First Search) Sở dĩ dùng từ chiến lược mà khơng phải phương pháp thực tế, người ta chẳng vận dụng hai kiểm tìm kiếm cách trực tiếp mà khơng phải sửa đổi III.2.1 Tìm kiếm chiều sâu (Depth-First Search) Trong tìm kiếm theo chiều sâu, trạng thái (đỉnh) hành, ta chọn trạng thái (trong tập trạng thái biến đổi thành từ trạng thái tại) làm trạng thái hành lúc trạng thái hành trạng thái đích Trong trường hợp trạng thái hành, ta biến đổi thành trạng thái ta quay lui (back-tracking) lại trạng thái trước trạng thái hành (trạng thái biến đổi thành trạng thái hành) để chọn đường khác Nếu trạng thái trước mà biến đổi ta quay lui lại trạng thái trước Nếu quay lui đến trạng thái khởi đầu mà thất bại kết luận khơng có lời giải Hình ảnh sau minh họa hoạt động tìm kiếm theo chiều sâu Hình : Hình ảnh tìm kiếm chiều sâu Nó lưu ý "mở rộng" trạng thái chọn mà không "mở rộng" trạng thái khác (nút màu trắng hình vẽ) III.2.2 Tìm kiếm chiều rộng (Breath-First Search) Ngược lại với tìm kiếm theo kiểu chiều sâu, tìm kiếm chiều rộng mang hình ảnh vết dầu loang Từ trạng thái ban đầu, ta xây dựng tập hợp S bao gồm trạng thái (mà từ trạng thái ban đầu biến đổi thành) Sau đó, ứng với trạng thái Tk tập S, ta xây dựng tập Sk bao gồm trạng thái Tk bổ sung Sk vào S Quá trình lặp lại lúc S có chứa trạng thái kết thúc S không thay đổi sau bổ sung tất Sk ... pháp để giải toán đặt Một thuật giải thường đề cập đến sử dụng khoa học trí tuệ nhân tạo cách giải theo kiểu Heuristic II THUẬT GIẢI HEURISTIC Thuật giải Heuristic mở rộng khái niệm thuật toán Nó... (best-first search) III.5 Thuật giải AT III.6 Thuật giải AKT III.7 Thuật giải A* III.8 Ví dụ minh họa hoạt động thuật giải A* III.9 Bàn luận A* III.10 Ứng dụng A* để giải toán Ta-canh III.11 Các...VietDown Organization Ebook Team CHƯƠNG : THUẬT TOÁN – THUẬT GIẢI I KHÁI NIỆM THUẬT TOÁN – THUẬT GIẢI II THUẬT GIẢI HEURISTIC III CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC III.1 Cấu

Ngày đăng: 17/08/2012, 09:04

Hình ảnh liên quan

Theo hình này, tại thời điểm t=0, ta tiến hành gia công chi tiết J2 trên máy P1, J5 trên P2 và J1 tại P3 - Thuật toán thuật giải

heo.

hình này, tại thời điểm t=0, ta tiến hành gia công chi tiết J2 trên máy P1, J5 trên P2 và J1 tại P3 Xem tại trang 7 của tài liệu.
Hìn h: Mô hình chung của các vấn đề-bài toán phải giải quyết bằng phương pháp tìm kiếm lời giải - Thuật toán thuật giải

n.

h: Mô hình chung của các vấn đề-bài toán phải giải quyết bằng phương pháp tìm kiếm lời giải Xem tại trang 9 của tài liệu.
Hìn h: Hình ảnh của tìm kiếm chiều sâu. Nó chỉ lưu ý "mở rộng" trạng thái được chọn mà không "mở rộng" các trạng thái khác (nút màu trắng trong hình vẽ) - Thuật toán thuật giải

n.

h: Hình ảnh của tìm kiếm chiều sâu. Nó chỉ lưu ý "mở rộng" trạng thái được chọn mà không "mở rộng" các trạng thái khác (nút màu trắng trong hình vẽ) Xem tại trang 10 của tài liệu.
Hìn h: Hình ảnh của tìm kiếm chiều rộng. Tại một bước, mọi trạng thái đều được mở rộng, không bỏ sót trạng thái nào - Thuật toán thuật giải

n.

h: Hình ảnh của tìm kiếm chiều rộng. Tại một bước, mọi trạng thái đều được mở rộng, không bỏ sót trạng thái nào Xem tại trang 11 của tài liệu.
Hình Chi phí ước lượng h’ =6 và chi phí tối ưu thực sự h= 4+5 =9 (đi theo đường 1-3-7)  - Thuật toán thuật giải

nh.

Chi phí ước lượng h’ =6 và chi phí tối ưu thực sự h= 4+5 =9 (đi theo đường 1-3-7) Xem tại trang 12 của tài liệu.
Hình Một trường hợp khó khăn cho phương án "nhảy vọt". - Thuật toán thuật giải

nh.

Một trường hợp khó khăn cho phương án "nhảy vọt" Xem tại trang 19 của tài liệu.
được minh họa trong hình dưới. Những trạng thái này có số điểm là: h’(Ta)= 4; h’(Tb) = 4 và h’(Tc) = 4  - Thuật toán thuật giải

c.

minh họa trong hình dưới. Những trạng thái này có số điểm là: h’(Ta)= 4; h’(Tb) = 4 và h’(Tc) = 4 Xem tại trang 20 của tài liệu.
Hình Minh họa thuật giải Best-First Search - Thuật toán thuật giải

nh.

Minh họa thuật giải Best-First Search Xem tại trang 22 của tài liệu.
Hình 6.14 Phân biệt khái niệ mg và h’ - Thuật toán thuật giải

Hình 6.14.

Phân biệt khái niệ mg và h’ Xem tại trang 24 của tài liệu.
Hìn h: Bảng đồ của Romania với khoảng cách đường tính theo km - Thuật toán thuật giải

n.

h: Bảng đồ của Romania với khoảng cách đường tính theo km Xem tại trang 28 của tài liệu.
Bây giờ hãy xét trường hợp ở hình tiếp theo. Chúng ta cũng mở rộng Bở bước đầu tiên và E ở bước thứ hai - Thuật toán thuật giải

y.

giờ hãy xét trường hợp ở hình tiếp theo. Chúng ta cũng mở rộng Bở bước đầu tiên và E ở bước thứ hai Xem tại trang 38 của tài liệu.
Như vậy đối với trạng thái ở hình ban đầu, hàm f(Tk) sẽ có giá trị là Fk=2+1+3+1+0+1+2+2=12  - Thuật toán thuật giải

h.

ư vậy đối với trạng thái ở hình ban đầu, hàm f(Tk) sẽ có giá trị là Fk=2+1+3+1+0+1+2+2=12 Xem tại trang 39 của tài liệu.
lại. Bạn hãy hình dung dữ liệu như là những điểm trên mặt phẳng còn tri thức chính là phương trình của đường cong nối tất cả những điểm này lại - Thuật toán thuật giải

l.

ại. Bạn hãy hình dung dữ liệu như là những điểm trên mặt phẳng còn tri thức chính là phương trình của đường cong nối tất cả những điểm này lại Xem tại trang 46 của tài liệu.
Hình ảnh trên tóm tắt cho chúng ta thấy cấu trúc chung nhất của một chương trình trí tuệ nhân tạo - Thuật toán thuật giải

nh.

ảnh trên tóm tắt cho chúng ta thấy cấu trúc chung nhất của một chương trình trí tuệ nhân tạo Xem tại trang 55 của tài liệu.
B. CÁC PHƯƠNG PHÁP BIỄU DIỄN TRI THỨC TRÊN MÁY TÍNH V. LOGIC MỆNH ĐỀ   - Thuật toán thuật giải
B. CÁC PHƯƠNG PHÁP BIỄU DIỄN TRI THỨC TRÊN MÁY TÍNH V. LOGIC MỆNH ĐỀ Xem tại trang 55 của tài liệu.
 Đỉnh chứa công thức (ký hiệu bằng hình chữ nhật)   Đỉnh chứa yếu tố của tam giác (ký hiệu bằng hình tròn)   - Thuật toán thuật giải

nh.

chứa công thức (ký hiệu bằng hình chữ nhật)  Đỉnh chứa yếu tố của tam giác (ký hiệu bằng hình tròn) Xem tại trang 70 của tài liệu.
B1 : Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá trị)  - Thuật toán thuật giải

1.

Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá trị) Xem tại trang 71 của tài liệu.
Để thực hiện thao tác "kích hoạt" một đỉnh hình tròn, ta đặt giá trị của toàn dòng ứng với yếu tố tam giác bằng 1 - Thuật toán thuật giải

th.

ực hiện thao tác "kích hoạt" một đỉnh hình tròn, ta đặt giá trị của toàn dòng ứng với yếu tố tam giác bằng 1 Xem tại trang 72 của tài liệu.
Bảng sau cho chúng ta một số ưu và khuyết điểm của các phương pháp biểu diễn tri thức đã được trình bày - Thuật toán thuật giải

Bảng sau.

cho chúng ta một số ưu và khuyết điểm của các phương pháp biểu diễn tri thức đã được trình bày Xem tại trang 84 của tài liệu.
Hình sau cho thấy một kiểu kết hợp giữa luật sinh và frame. Sự kết hợp này đã cho phép tạo ra các luật so mẫu nhằm tăng tốc độ tìm kiếm của hệ thống - Thuật toán thuật giải

Hình sau.

cho thấy một kiểu kết hợp giữa luật sinh và frame. Sự kết hợp này đã cho phép tạo ra các luật so mẫu nhằm tăng tốc độ tìm kiếm của hệ thống Xem tại trang 85 của tài liệu.
Hình 3.1 : Học theo trường hợp là tìm cách xây dựng ánh xạ f’ dựa theo ánh xạ f. f được gọi là tập mẫu - Thuật toán thuật giải

Hình 3.1.

Học theo trường hợp là tìm cách xây dựng ánh xạ f’ dựa theo ánh xạ f. f được gọi là tập mẫu Xem tại trang 89 của tài liệu.
Một lần nữa, vấn đề hình thức có thể làm bạn cảm thấy khó khăn. Chúng ta hãy thử ý tưởng trên với bảng số liệu mà ta đã có - Thuật toán thuật giải

t.

lần nữa, vấn đề hình thức có thể làm bạn cảm thấy khó khăn. Chúng ta hãy thử ý tưởng trên với bảng số liệu mà ta đã có Xem tại trang 90 của tài liệu.
Quan sát hình trên ta thấy rằng phân hoạch Pnâu và Pđỏ thỏa mãn được điều kiện - Thuật toán thuật giải

uan.

sát hình trên ta thấy rằng phân hoạch Pnâu và Pđỏ thỏa mãn được điều kiện Xem tại trang 91 của tài liệu.
Nếu nối tiếp vào cây ở hình trước ta sẽ có hình ảnh cây phân hoạch như sau: - Thuật toán thuật giải

u.

nối tiếp vào cây ở hình trước ta sẽ có hình ảnh cây phân hoạch như sau: Xem tại trang 91 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan