1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Các chiến lược tìm kiếm mù

16 476 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 326,54 KB

Nội dung

Các chiến lược tìm kiếm mù Các chiến lược tìm kiếm mù Bởi: Đinh Mạnh Tường Biểu diễn vấn đề không gian trạng thái Một muốn giải vấn đề tìm kiếm, ta phải xác định không gian tìm kiếm Không gian tìm kiếm bao gồm tất đối tượng mà ta cần quan tâm tìm kiếm Nó không gian liên tục, chẳng hạn không gian véctơ thực n chiều; không gian đối tượng rời rạc Trong mục ta xét việc biểu diễn vấn đề không gian trạng thái cho việc giải vấn đề quy việc tìm kiếm không gian trạng thái Một phạm vi rộng lớn vấn đề, đặc biệt câu đố, trò chơi, mô tả cách sử dụng khái niệm trạng thái toán tử (phép biến đổi trạng thái) Chẳng hạn, khách du lịch có tay đồ mạng lưới giao thông nối thành phố vùng lãnh thổ (hình 1.1), du khách thành phố A muốn tìm đường tới thăm thành phố B Trong toán này, thành phố có đồ trạng thái, thành phố A trạng thái ban đầu, B trạng thái kết thúc Khi thành phố, chẳng hạn thành phố D theo đường để nối tới thành phố C, F G Các đường nối thành phố biểu diễn toán tử Một toán tử biến đổi trạng thái thành trạng thái khác Chẳng hạn, trạng thái D có ba toán tử dẫn trạng thái D tới trạng thái C, F G Vấn đề du khách tìm dãy toán tử để đưa trạng thái ban đầu A tới trạng thái kết thúc B Một ví dụ khác, trò chơi cờ vua, cách bố trí quân bàn cờ trạng thái Trạng thái ban đầu xếp quân lúc bắt đầu chơi Mỗi nước hợp lệ toán tử, biến đổi cảnh bàn cờ thành cảnh khác Như muốn biểu diễn vấn đề không gian trạng thái, ta cần xác định yếu tố sau: • Trạng thái ban đầu • Một tập hợp toán tử Trong toán tử mô tả hành động phép biến đổi đưa trạng thái tới trạng thái khác 1/16 Các chiến lược tìm kiếm mù Tập hợp tất trạng thái đạt tới từ trạng thái ban đầu cách áp dụng dãy toán tử, lập thành không gian trạng thái vấn đề Ta ký hiệu không gian trạng thái U, trạng thái ban đầu u0 (u0 ∈ U) Mỗi toán tử R xem ánh xạ R: U→U Nói chung R ánh xạ không xác định khắp nơi U • Một tập hợp T trạng thái kết thúc (trạng thái đích) T tập không gian U Trong vấn đề du khách trên, có trạng thái đích, thành phố B Nhưng nhiều vấn đề (chẳng hạn loại cờ) có nhiều trạng thái đích ta xác định trước trạng thái đích Nói chung phần lớn vấn đề hay, ta mô tả trạng thái đích trạng thái thỏa mãn số điều kiện Khi biểu diễn vấn đề thông qua trạng thái toán tử, việc tìm nghiệm toán quy việc tìm đường từ trạng thái ban đầu tới trạng thái đích (Một đường không gian trạng thái dãy toán tử dẫn trạng thái tới trạng thái khác) Chúng ta biểu diễn không gian trạng thái đồ thị định hướng, đỉnh đồ thị tương ứng với trạng thái Nếu có toán tử R biến đổi trạng thái u thành trạng thái v, có cung gán nhãn R từ đỉnh u tới đỉnh v Khi đường không gian trạng thái đường đồ thị Sau xét số ví dụ không gian trạng thái xây dựng cho số vấn đề 2/16 Các chiến lược tìm kiếm mù Bài toán số Chúng ta có bảng 3x3 ô tám quân mang số hiệu từ đến xếp vào tám ô, lại ô trống, chẳng hạn hình bên trái Trong trò chơi này, bạn chuyển dịch quân cạch ô trống tới ô trống Vấn đề bạn tìm dãy chuyển dịch để biến đổi cảnh ban đầu (hình 1.2 bên trái) thành cảnh xác định đó, chẳng hạn cảnh hình 1.2 bên phải Trong toán này, trạng thái ban đầu cảnh bên trái hình 1.2, trạng thái kết thúc bên phải hình 1.2 Tương ứng với quy tắc chuyển dịch quân, ta có bốn toán tử: up (đẩy quân lên trên), down (đẩy quân xuống dưới), left (đẩy quân sang trái), right (đẩy quân sang phải) Rõ ràng là, toán tử toán tử phận; chẳng hạn, từ trạng thái ban đầu (hình 1.2 bên trái), ta áp dụng toán tử down, left, right Trong ví dụ việc tìm biểu diễn thích hợp để mô tả trạng thái vấn đề dễ dàng tự nhiên Song nhiều vấn đề việc tìm hiểu biểu diễn thích hợp cho trạng thái vấn đề hoàn toàn không đơn giản Việc tìm dạng biểu diễn tốt cho trạng thái đóng vai trò quan trọng trình giải vấn đề Có thể nói rằng, ta tìm dạng biểu diễn tốt cho trạng thái vấn đề, vấn đề giải Vấn đề triệu phú kẻ cướp Có ba nhà triệu phú ba tên cướp bên bờ tả ngạn sông, thuyền chở hai người Hãy tìm cách đưa người qua sông cho không để lại bên bờ sông kẻ cướp nhiều triệu phú Đương nhiên toán này, toán tử tương ứng với hành động chở người qua sông Nhưng ta cần lưu ý rằng, hành động xẩy (lúc thuyền bơi qua sông) bên bờ sông thuyền vừa dời chỗ, số kẻ cướp không nhiều số triệu phú Tiếp theo ta cần định trạng thái vấn đề ta không cần phân biệt nhà triệu phú tên cướp, mà số lượng họ bên bờ sông quan trọng Để biểu diễn trạng thái, ta sử dụng ba (a, b, k), a số triệu phú, b số kẻ cướp bên bờ tả ngạn vào thời điểm mà thuyền bờ bờ kia, k = thuyền bờ tả ngạn k = thuyền bờ hữu ngạn Như vậy, không gian trạng thái cho toán triệu phú kẻ cướp xác định sau: • Trạng thái ban đầu (3, 3, 1) • Các toán tử Có năm toán tử tương ứng với hành động thuyền chở qua sông triệu phú, kẻ cướp, triệu phú, kẻ cướp, triệu phú kẻ cướp • Trạng thái kết thúc (0, 0, 0) 3/16 Các chiến lược tìm kiếm mù Các chiến lược tìm kiếm Như ta thấy mục 1.1, để giải vấn đề tìm kiếm không gian trạng thái, ta cần tìm dạng thích hợp mô tả trạng thái cảu vấn đề Sau cần xác định: • Trạng thái ban đầu • Tập toán tử • Tập T trạng thái kết thúc (T không xác định cụ thể gồm trạng thái mà định số điều kiện đó) Giả sử u trạng thái R toán tử biến đổi u thành v Ta gọi v trạng thái kề u, v sinh từ trạng thái u toán tử R Quá trình áp dụng toán tử để sinh trạng thái kề u gọi phát triển trạng thái u Chẳng hạn, toán toán số, phát triển trạng thái ban đầu (hình bên trái), ta nhận ba trạng thái kề (hình 1.3) Khi biểu diễn vấn đề cần giải thông qua trạng thái toán tử việc tìm lời giải vấn đề quy việc tìm đường từ trạng thái ban đầu tới trạng thái kết thúc Có thể phân chiến lược tìm kiếm thành hai loại: • Các chiến lược tìm kiếm mù Trong chiến lược tìm kiếm này, hướng dẫn cho tìm kiếm, mà ta phát triển trạng thái ban đầu gặp trạng thái đích Có hai kỹ thuật tìm kiếm mù, tìm kiếm theo bề rộng tìm kiếm theo độ sâu Tư tưởng tìm kiếm theo bề rộng trạng thái phát triển theo thứ tự mà chúng sinh ra, tức trạng thái sinh trước phát triển trước 4/16 Các chiến lược tìm kiếm mù Trong nhiều vấn đề, dù phát triển trạng thái theo hệ thống (theo bề rộng theo độ sâu) số lượng trạng thái sinh trước ta gặp trạng thái đích thường lớn Do thuật toán tìm kiếm mù hiệu quả, đòi hỏi nhiều không gian thời gian Trong thực tế, nhiều vấn đề giải tìm kiếm mù • Tìm kiếm kinh nghiệm (tìm kiếm heuristic) Trong nhiều vấn đề, dựa vào hiểu biết vấn đề, dựa vào kinh nghiệm, trực giác, để đánh giá trạng thái Sử dụng đánh giá trạng thái để hướng dẫn tìm kiếm: trình phát triển trạng thái, ta chọn số trạng thái chờ phát triển, trạng thái đánh giá tốt để phát triển Do tốc độ tìm kiếm nhanh Các phương pháp tìm kiếm dựa vào đánh giá trạng thái để hướng dẫn tìm kiếm gọi chung phương pháp tìm kiếm kinh nghiệm Như chiến lược tìm kiếm xác định chiến lược chọn trạng thái để phát triển bước Trong tìm kiếm mù, ta chọn trạng thái để phát triển theo thứ tự mà sinh ra; tìm kiếm kinh nghiệm ta chọn trạng thái dựa vào đánh giá trạng thái Cây tìm kiếm Chúng ta nghĩ đến trình tìm kiếm trình xây dựng tìm kiếm Cây tìm kiếm mà đỉnh gắn trạng thái không gian trạng thái Gốc tìm kiếm tương ứng với trạng thái ban đầu Nếu đỉnh ứng với trạng thái u, đỉnh ứng với trạng thái v kề u Hình 1.4a đồ thị biểu diễn không gian trạng thái với trạng thái ban đầu A, hình 1.4b tìm kiếm tương ứng với không gian trạng thái Mỗi chiến lược tìm kiếm không gian trạng thái tương ứng với phương pháp xây dựng tìm kiếm Quá trình xây dựng cây có đỉnh trạng thái ban đầu Giả sử tới bước chiến lược tìm kiếm, ta xây dựng đó, tương ứng với trạng thái chưa phát triển Bước 5/16 Các chiến lược tìm kiếm mù phụ thuộc vào chiến lược tìm kiếm mà đỉnh chọn để phát triển Khi phát triển đỉnh đó, tìm kiếm mở rộng cách thêm vào đỉnh đỉnh Kỹ thuật tìm kiếm theo bề rộng (theo độ sâu) tương ứng với phương pháp xây dựng tìm kiếm theo bề rộng (theo độ sâu) Các chiến lược tìm kiếm mù Trong mục trình bày hai chiến lược tìm kiếm mù: tìm kiếm theo bề rộng tìm kiếm theo độ sâu Trong tìm kiếm theo bề rộng, bước ta chọn trạng thái để phát triển trạng thái sinh trước trạng thái chờ phát triển khác Còn tìm kiếm theo độ sâu, trạng thái chọn để phát triển trạng thái sinh sau số trạng thái chờ phát triển Chúng ta sử dụng danh sách L để lưu trạng thái sinh chờ phát triển Mục tiêu tìm kiếm không gian trạng thái tìm đường từ trạng thái ban đầu tới trạng thái đích, ta cần lưu lại vết đường Ta sử dụng hàm father để lưu lại cha đỉnh đường đi, father(v) = u cha đỉnh v u Tìm kiếm theo bề rộng Thuật toán tìm kiếm theo bề rộng mô tả thủ tục sau: procedureBreadth_First_Search; begin Khởi tạo danh sách L chứa trạng thái ban đầu; loop 2.1 if L rỗng then {thông báo tìm kiếm thất bại; stop}; 2.2 Loại trạng thái u đầu danh sách L; 2.3 if u trạng thái kết thúc then {thông báo tìm kiếm thành công; stop}; 2.4 for trạng thái v kề u { Đặt v vào cuối danh sách L; father(v) [...]... 14/16 Các chiến lược tìm kiếm mù • Gốc của cây ứng với bài toán cần giải • Tất cả các lá của cây là các đỉnh kết thúc (đỉnh ứng với các bài toán sơ cấp) • Nếu u là đỉnh trong của cây, thì các đỉnh con của u là các đỉnh kề u theo một toán tử nào đó Các đỉnh của đồ thị và/hoặc sẽ được gắn nhãn giải được hoặc không giải được Các đỉnh giải được được xác định đệ quy như sau: • Các đỉnh kết thúc là các đỉnh.. .Các chiến lược tìm kiếm mù (quy tắc tính tích phân của một tổng, quy tắc tính tích phân từng phần ), sử dụng các phép biến đổi biến số, các phép biến đổi các hàm (chẳng hạn, các phép biến đổi lượng giác), để đưa tích phân cần tính về tích phân của các hàm số sơ cấp mà chúng ta đã biết cách tính Chẳng hạn, đối với tích phân ∫ (xex + x3) dx, áp... để sắp xếp thứ tự các bài toán trong một cây nghiệm Đương nhiên ta cũng có thể giải quyết đồng thời các bài toán con ở cùng một mức trong cây nghiệm Vấn đề của chúng ta bây giờ là, tìm kiếm trên đồ thị và/hoặc để xác định được đỉnh ứng với bài toán ban đầu là giải được hay không giải được, và nếu nó giải được thì xây dựng một cây nghiệm cho nó 15/16 Các chiến lược tìm kiếm mù Tìm kiếm trên đồ thị và/hoặc... f là các đỉnh kề đỉnh a theo toán tử R1, còn d, k là các đỉnh kề a theo toán tử R2 Khi đã có các toán tử rút gọn vấn đề, thì bằng cách áp dụng liên tiếp các toán tử, ta có thể đưa bài toán cần giải về một tập các bài toán con Chẳng hạn, trong ví dụ trên nếu ta áp dụng các toán tử R1, R4, R6, ta sẽ quy bài toán a về tập các bài toán con {b, c, e, f}, tất cả các bài toán con này đều là sơ cấp Từ các toán... trạng thái khác Vấn đề tìm đường đi trên bản đồ giao thông 11/16 Các chiến lược tìm kiếm mù Bài toán này đã được phát triển như bài toán tìm đường đi trong không gian trạng thái (xem 1.1), trong đó mỗi trạng thái ứng với một thành phố, mỗi toán tử ứng với một con đường nối, nối thành phố này với thành phố khác Bây giờ ta đưa ra một cách biểu diễn khác dựa trên việc quy vấn đề về các vấn đề con Giả sử... biểu diễn tập các bài toán con {b, c, d} và toán tử R : a →b, c, d được biểu diễn bởi đồ thị hình 1.8 Giả sử chúng ta có không gian trạng thái sau: • Trạng thái ban đầu (bài toán cần giải) là a • Tập các toán tử quy gồm: R1 : a →d, e, f R2 : a →d, k R3 : a →g, h 13/16 Các chiến lược tìm kiếm mù R4 : d →b, c R5 : f →i R6 : f →c, j R7 : k →e, l R8 : k →h • Tập các trạng thái kết thúc (các bài toán sơ... như thuật toán tìm kiếm theo độ sâu trong không gian trạng thái , thuật toán tìm kiếm theo độ sâu trên đồ thị và/hoặc sẽ xác định được bài toán ban đầu là giải được hay không giải được, nếu cây tìm kiếm không có nhánh vô hạn Nếu cây tìm kiếm có nhánh vô hạn thì chưa chắc thuật toán đã dừng, vì có thể nó bị xa lầy khi đi xuống nhánh vô hạn Trong trường hợp này ta nên sử dụng thuật toán tìm kiếm sâu lặp... phố tới một thành phố khác ứng với một trạng thái Các trạng thái kết thúc là các trạng thái ứng với các bài toán tìm đường đi, chẳng hạn từ A đến C, hoặc từ D đến E, bởi vì đã có đường nối A với C, nối D với E 12/16 Các chiến lược tìm kiếm mù Đồ thị và/hoặc Không gian trạng thái mô tả việc quy vấn đề về các vấn đề con có thể biểu diễn dưới dạng đồ thị định hướng đặc biệt được gọi là đồ thị và/hoặc Đồ... tích phân bất định, ta có thể xác định các toán tử dạng: ∫(f1 + f2)dx → ∫f1dx,∫f2dx và ∫udv → ∫vdu Các trạng thái kết thúc là các bài toán sơ cấp (các bài toán đã biết cách giải) Chẳng hạn, trong bài toán tính tích phân, các tích phân cơ bản là các trạng thái kết thúc Một điều cần lưu ý là, trong không gian trạng thái biểu diễn việc quy vấn đề về các vấn đề con, các toán tử có thể là đa trị, nó biến... diễn bởi đồ thị trong hình 1.5 Các tích phân ∫ exdx và ∫ x3dx là các tích phân cơ bản đã có trong bảng tích phân Kết hợp các kết quả của các tích phân cơ bản, ta nhận được kết quả của tích phân đã cho Chúng ta có thể biểu diễn việc quy một vấn đề về các vấn đề con cơ bởi các trạng thái và các toán tử ở đây, bài toán cần giải là trạng thái ban đầu Mỗi cách quy bài toán về các bài toán con được biểu diễn ... việc tìm lời giải vấn đề quy việc tìm đường từ trạng thái ban đầu tới trạng thái kết thúc Có thể phân chiến lược tìm kiếm thành hai loại: • Các chiến lược tìm kiếm mù Trong chiến lược tìm kiếm. .. ban đầu Giả sử tới bước chiến lược tìm kiếm, ta xây dựng đó, tương ứng với trạng thái chưa phát triển Bước 5/16 Các chiến lược tìm kiếm mù phụ thuộc vào chiến lược tìm kiếm mà đỉnh chọn để phát... trạng thái để hướng dẫn tìm kiếm gọi chung phương pháp tìm kiếm kinh nghiệm Như chiến lược tìm kiếm xác định chiến lược chọn trạng thái để phát triển bước Trong tìm kiếm mù, ta chọn trạng thái

Ngày đăng: 29/12/2015, 16:37

TỪ KHÓA LIÊN QUAN

w