tim kiem rang buoc
Một chiến lược (phương pháp) tìm kiếm = Một cách xác định ộ ợ (p g p p) ộ ị
thứ tự xét các nút của cây
Các chiến lược tìm kiếm cơ bản (uninformed search
strategies) chỉ sử dụng các thông tin chứa trong định nghĩa strategies) chỉ sử dụng các thông tin chứa trong định nghĩa
của bài toán
Không phù hợp với nhiều bài toán thực tế (do đòi hỏi chi phí quá
cao về thời gian và bộ nhớ) cao về thời gian và bộ nhớ)
Các chiến lược tìm kiếm với tri thức bổ sung (informed search
strategies) sử dụng các tri thức cụ thể của bài toán → Quá strategies) sử dụng các tri thức cụ thể của bài toán → Quá
trình tìm kiếm hiệu quả hơn
Best-first search algorithms (Greedy best-first, A*)
( S Local search algorithms (Hill-climbing, Simulated annealing, Local
beam, Genetic algorithms)
Best-first search
Ý tưởng: Sử dụng một hàm đánh giá f(n) cho mỗi nút của
cây tìm kiếm cây tìm kiếm
Để đánh giá mức độ “phù hợp” của nút đó
Æ Trong quá trình tìm kiếm, ưu tiên xét các nút có mức độ phù hợp
cao nhất cao nhất
Hàm đánh giá f(n) là hàm heuristic h(n)
Hàm heuristic h(n) đánh giá chi phí để đi từ nút hiện tại n
đến nút đích (mục tiêu)
Phương pháp tìm kiếm Greedy best-first search sẽ xét Phương pháp tìm kiếm Greedy best first search sẽ xét
(phát triển) nút “có vẻ” gần với nút đích (mục tiêu) nhất
A * search
Ý tưởng: Tránh việc xét (phát triển) các nhánh tìm kiếm
đã á đị h ( h đế thời điể hiệ t i) là ó hi hí đã xác định (cho đến thời điểm hiện tại) là có chi phí cao
Sử dụng hàm đánh giá f(n) = g(n) + h(n)
g(n) = chi phí từ nút gốc cho đến nút hiện tại n
h(n) = chi phí ước lượng từ nút hiện tại n tới đích ( ) p ợ g ệ ạ
f(n) = chi phí tổng thể ước lượng của đường đi qua nút hiện tại n
đến đích
Nếu không gian các trạng thái là hữu hạn và có giải
pháp để tránh việc xét (lặp) lại các trạng thái thì giải pháp để tránh việc xét (lặp) lại các trạng thái, thì giải
thuật A* là hoàn chỉnh (tìm được lời giải) – nhưng không
đảm bảo là tối ưu
Nếu không gian các trạng thái là hữu hạn và không có
giải pháp để tránh việc xét (lặp) lại các trạng thái, thì giải
* ỉ ( ả ả thuật A* là không hoàn chỉnh (không đảm bảo tìm được
lời giải)
Nế khô i á t thái là ô h thì iải th ật A* Nếu không gian các trạng thái là vô hạn, thì giải thuật A*
là không hoàn chỉnh (không đảm bảo tìm được lời giải)
Một ước lượng (heuristic) h(n) được xem là chấp nhận
được nếu đối với mọi nút n: 0 ≤ h(n) ≤ h * (n) trong đó được nếu đối với mọi nút n: 0 ≤ h(n) ≤ h (n), trong đó
h * (n) là chi phí thật (thực tế) để đi từ nút n đến đích
Một ước lượng chấp nhận được không bao giờ đánh giá
ố ể quá cao (overestimate) đối với chi phí để đi tới đích
Thực chất, ước lượng chấp nhận được có xu hướng đánh giá
“lạc quan”
Ví dụ: Ước lượng h SLD (n) không bao giờ đánh giá quá
cao khoảng cách đường đi thực tế
Định lý: Nếu h(n) là đánh giá chấp nhận được, thì
phương pháp tìm kiếm A * sử dụng giải thuật TREE-
SEARCHlà tối ưu SEARCHlà tối ưu
Xây dựng (khởi tạo) quần thể (population) ban đầu
• Tạo nên một số các giả thiết (khả năng của lời giải) ban đầu
Mỗi giả thiết khác các giả thiết khác (vd: khác nhau đối với các giá trị của một • Mỗi giả thiết khác các giả thiết khác (vd: khác nhau đối với các giá trị của một
số tham số nào đó của bài toán)
Đánh giá quần thể
Đánh giá (cho điểm) mỗi giả thiết ( d bằng cách kiểm tra độ chính ác của • Đánh giá (cho điểm) mỗi giả thiết (vd: bằng cách kiểm tra độ chính xác của
hệ thống trên một tập dữ liệu kiểm thử)
• Trong lĩnh vực sinh học, điểm đánh giá này của mỗi giả thiết được gọi là độ
phù hợp (fitness) của giả thiết đó phù hợp (fitness) của giả thiết đó
• Xếp hạng các giả thiết theo mức độ phù hợp của chúng, và chỉ giữ lại các giả
thiết tốt nhất (gọi là các giả thiết phù hợp nhất – survival of the fittest)
Sản sinh ra thế hệ tiếp theo (next generation) Sản sinh ra thế hệ tiếp theo (next generation)
• Thay đổi ngẫu nhiên các giả thiết để sản sinh ra thế hệ tiếp theo (gọi là các
con cháu – offspring)
Lặp lại quá trình trên cho đến khi ở một thế hệ nào đó có giả thiết tốt nhất có độ Lặp lại quá trình trên cho đến khi ở một thế hệ nào đó có giả thiết tốt nhất có độ
phù hợp cao hơn giá tri phù hợp mong muốn (định trước)
3 toán tử di truyền được sử dụng để sinh ra các cá thể con cháu
(offspring) trong thế hệ tiếp theo
• Nhưng chỉ có 2 toán tử lai ghép (crossover) và đột biến (mutation) tạo nên
sự thay đổi
Tái sản xuất (Reproduction) Tái sản xuất (Reproduction)
→ Một giả thiết được giữ lại (không thay đổi)
Lai ghép (Crossover) để sinh ra 2 cá thể mới
Ghép (“phối hợp") của hai cá thể cha mẹ → Ghép ( phối hợp ) của hai cá thể cha mẹ
• Điểm lai ghép được chọn ngẫu nhiên (trên chiều dài của nhiễm sắc thể)
• Phần đầu tiên của nhiễm sắc thể h i
được ghép với phần sau của nhiễm
sắc thể h j
và ngược lại để sinh ra 2 nhiễm sắc thể mới sắc thể h j
, và ngược lại, để sinh ra 2 nhiễm sắc thể mới
Đột biến (Mutation) để sinh ra 1 cá thể mới
→Chọn ngẫu nhiên một bit của nhiễm sắc thể, và đổi giá trị (0→1 / 1→0)
Chỉ t ê ột th đổi hỏ à ẫ hiê đối ới ột á thể h ! • Chỉ tạo nên một thay đổi nhỏ và ngẫu nhiên đối với một cá thể cha mẹ
Một ràng buộc (constraint) là một quan hệ trên một tập các biến
Mỗi biến có (gắn với) một tập các giá trị có thể nhận – gọi là miền (g ) p g g
giá trị (domain)
Trong môn học này, chúng ta chỉ xét các miền hữu hạn các giá trị
rời rạc
Phương pháp giải quyết bằng kiểm thử (Generate and
Test)
Sinh ra một khả năng (candidate) của lời giải Sinh ra một khả năng (candidate) của lời giải
Kiểm tra xem khả năng này có thực sự là một lời giải
Á d h há kiể thử đối ới bài t á CSP Áp dụng phương pháp kiểm thử đối với bài toán CSP
Bước 1. Gán các giá trị cho tất cả các biến
Bước 2. Kiểm tra xem tất cả các ràng buộc được thỏa mãn hay g ộ ợ y
không
Lặp lại 2 bước này cho đến khi tìm được một phép gán thỏa mãn
Điểm yếu nghiêm trọng của phương pháp tìm kiếm bằng
kiểm thử là việc phải xét quá nhiều các khả năng gán kiểm thử là việc phải xét quá nhiều các khả năng gán
(hiển nhiên) không thỏa mãn các ràng buộc
Bạn đang đọc truyện trên: AzTruyen.Top