1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm kiếm với tri thức bổ sung

36 5 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

Nội dung

11/16/2022 VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG SCHOOL OF INFORMATION AND COMMUNICATIONS TECHNOLOGY IT3160 Nhập mơn Trí tuệ nhân tạo Artificial Intelligence PGS.TS Phạm Văn Hải & PGS.TS Lê Thanh Hương & Team AI lecturer Trường Công nghệ thông tin Truyền thông Đại Học Bách Khoa Hà Nội Nội dung mơn học • Chương - Giới thiệu Trí tuệ nhân tạo • Chương - Tác tử • Chương - Giải vấn đề • Các kỹ thuật tìm kiếm • Tìm kiếm với tri thức bổ sung (Informed search) • Các kỹ thuật tìm kiếm có đối thủ • Tìm kiếm dựa thỏa mãn ràng buộc • Chương - Logic suy diễn • Chương - Học máy https://users.soict.hust.edu.vn/haipv 11/16/2022 Nhắc lại: Tìm kiếm theo cấu trúc • Một chiến lược (phương pháp) tìm kiếm = Một cách xác định thứ tự xét nút https://users.soict.hust.edu.vn/haipv Tìm kiếm với tri thức bổ sung • Các chiến lược tìm kiếm (uninformed search strategies) sử dụng thông tin chứa định nghĩa tốn • Khơng phù hợp với nhiều tốn thực tế (do địi hỏi chi phí cao thời gian nhớ) • Các chiến lược tìm kiếm với tri thức bổ sung (informed search strategies) sử dụng tri thức cụ thể tốn  Q trình tìm kiếm hiệu • Các giải thuật tìm kiếm best-first (Greedy best-first, A*) • Các giải thuật tìm kiếm cục (Hill-climbing, Simulated annealing, Local beam, Genetic algorithms) • Các giải thuật tìm kiếm đối kháng (MiniMax, Alpha-beta pruning) https://users.soict.hust.edu.vn/haipv 11/16/2022 Best-first search • Ý tưởng: Sử dụng hàm đánh giá f(n) cho nút tìm kiếm • Để đánh giá mức độ “phù hợp” nút Trong trình tìm kiếm, ưu tiên xét nút có mức độ phù hợp cao • Cài đặt giải thuật • Sắp thứ tự nút cấu trúc fringe theo trật tự giảm dần mức độ phù hợp • Các trường hợp đặc biệt giải thuật Best-first search • Greedy best-first search • A* search https://users.soict.hust.edu.vn/haipv Greedy best-first search • Hàm đánh giá f(n) hàm heuristic h(n) • Hàm heuristic h(n) đánh giá chi phí để từ nút n đến nút đích (mục tiêu) • Ví dụ: Trong tốn tìm đường từ Arad đến Bucharest, sử dụng: hSLD(n) = Ước lượng khoảng cách đường thẳng (“chim bay”) từ thành phố n đến Bucharest • Phương pháp tìm kiếm Greedy best-first search xét (phát triển) nút “có vẻ” gần với nút đích (mục tiêu) https://users.soict.hust.edu.vn/haipv 11/16/2022 Greedy best-first search – Ví dụ (1) https://users.soict.hust.edu.vn/haipv Greedy best-first search – Ví dụ (2) 11/16/2022 Greedy best-first search – Ví dụ (3) Greedy best-first search – Ví dụ (4) 10 11/16/2022 Greedy best-first search – Ví dụ (5) 11 Greedy best-first search – Các đặc điểm • Tính hồn chỉnh? • Khơng – Vì vướng (chết tắc) vòng lặp kiểu như: Iasi  Neamt  Iasi  Neamt … • Độ phức tạp thời gian? • O(bm) • Một hàm heuristic tốt mang lại cải thiện lớn • Độ phức tạp nhớ? • O(bm) – Lưu giữ tất nút nhớ • Tính tối ưu? • Khơng 12 11/16/2022 A* search • Ý tưởng: Tránh việc xét (phát triển) nhánh tìm kiếm xác định (cho đến thời điểm tại) 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 nút n • h(n) = chi phí ước lượng từ nút n tới đích • f(n) = chi phí tổng thể ước lượng đường qua nút n đến đích 13 A* search – Ví dụ (1) 14 11/16/2022 A* search – Ví dụ (2) 15 A* search – Ví dụ (3) 16 11/16/2022 A* search – Ví dụ (4) 17 A* search – Ví dụ (5) 18 11/16/2022 A* search – Ví dụ (6) 19 A* search: đặc điểm • Nếu khơng gian trạng thái hữu hạn có giải pháp để tránh việc xét (lặp) lại trạng thái, giải thuật A* hồn chỉnh (tìm lời giải) – khơng đảm bảo tối ưu • Nếu khơng gian trạng thái hữu hạn khơng có giải pháp để tránh việc xét (lặp) lại trạng thái, giải thuật A* khơng hồn chỉnh • Nếu khơng gian trạng thái vơ hạn, giải thuật A* khơng hồn chỉnh • Khi A* tối ưu? 20 10 11/16/2022 Simulated annealing search: giải thuật • Ý tưởng: Thoát khỏi (vượt qua) điểm tối ưu cục cách cho phép dịch chuyển “tồi” từ trạng thái thời, giảm dần tần xuất di chuyển tồi 43 Simulated annealing search: đặc điểm • (Có thể chứng minh được) Nếu giá trị tham số T (xác định mức độ giảm tần xuất di chuyển tồi) giảm chậm, phương pháp tìm kiếm Simulated Annealing tìm lời giải tối ưu toàn cục với xác suất xấp xỉ • Phương pháp tìm kiếm Simulated Annealing Search hay sử dụng lĩnh vực: thiết kế sơ đồ bảng mạch VLSI, lập lịch bay, … 44 22 11/16/2022 Local beam search • Ở thời điểm (trong q trình tìm kiếm), ln lưu giữ k – thay – trạng thái tốt • Bắt đầu giải thuật: Chọn k trạng thái ngẫu nhiên • Ở bước tìm kiếm, sinh tất trạng thái k trạng thái • Nếu số trạng thái trạng thái đích, giải thuật kết thúc (thành cơng); khơng, chọn k trạng thái tốt (từ tập trạng thái tiếp theo), lặp lại bước 45 Giải thuật di truyền: giới thiệu • Dựa (bắt chước) q trình tiến hóa tự nhiên sinh học • Áp dụng phương pháp tìm kiếm ngẫu nhiên (stochastic search) để tìm lời giải (vd: hàm mục tiêu, mơ hình phân lớp, …) tối ưu • Giải thuật di truyền (Genetic Algorithm – GA) có khả tìm lời giải tốt chí với khơng gian tìm kiếm (lời giải) khơng liên tục phức tạp • Mỗi khả lời giải biểu diễn chuỗi nhị phân (vd: 100101101) – gọi nhiễm sắc thể (chromosome) • Việc biểu diễn phụ thuộc vào toán cụ thể 46 23 11/16/2022 Giải thuật di truyền: mơ tả • Xây dựng (khởi tạo) quần thể (population) ban đầu • Tạo nên số giả thiết (khả lời giải) ban đầu • Mỗi giả thiết khác giả thiết khác (vd: khác giá trị số tham số tốn) • Đánh giá quần thể • Đánh giá (cho điểm) giả thiết (vd: cách kiểm tra độ xác hệ thống tập liệu kiểm thử) • Trong lĩnh vực sinh học, điểm đánh giá giả thiết gọi độ phù hợp (fitness) giả thiết • Xếp hạng giả thiết theo mức độ phù hợp chúng, giữ lại giả thiết tốt (gọi giả thiết phù hợp – survival of the fittest) • Sản sinh hệ (next generation) • Thay đổi ngẫu nhiên giả thiết để sản sinh hệ (gọi cháu – offspring) • Lặp lại q trình hệ có giả thiết tốt có độ phù hợp cao giá trị phù hợp mong muốn (định trước) 47 GA(Fitness, θ, n, rco, rmu) Fitness: A function that produces the score (fitness) given a hypothesis θ: The desired fitness value (i.e., a threshold specifying the termination condition) n: The number of hypotheses in the population rco: The percentage of the population influenced by the crossover operator at each step rmu: The percentage of the population influenced by the mutation operator at each step Initialize the population: H ← Randomly generate n hypotheses Evaluate the initial population For each hH: compute Fitness(h) while (max{hH}Fitness(h) < θ) Hnext ←  Reproduction (Replication) Probabilistically select (1-rco).n hypotheses of H to add to Hnext The probability of selecting hypothesis hi from H is: Fitness(hi ) P(hi )  n  Fitness(h j ) j 1 48 24 11/16/2022 GA(Fitness, θ, n, rco, rmu) … Crossover Probabilistically select (rco.n/2) pairs of hypotheses from H, according to the probability computation P(hi) given above For each pair (hi, hj), produce two offspring (i.e., children) by applying the crossover operator Then, add all the offspring to Hnext Mutation Select (rmu.n) hypotheses of Hnext, with uniform probability For each selected hypothesis, invert one randomly chosen bit (i.e., to 1, or to 0) in the hypothesis’s representation Producing the next generation: H ← Hnext Evaluate the new population For each hH: compute Fitness(h) end while return argmax{hH}Fitness(h) 49 Giải thuật di truyền: minh họa [Duda et al., 2000] 50 25 11/16/2022 Các tốn tử di truyền • toán tử di truyền sử dụng để sinh cá thể cháu (offspring) hệ • Nhưng có tốn tử lai ghép (crossover) đột biến (mutation) tạo nên thay đổi • Tái sản xuất (Reproduction) → Một giả thiết giữ lại (khơng thay đổi) • Lai ghép (Crossover) để sinh cá thể → Ghép (“phối hợp") hai cá thể cha mẹ • Điểm lai ghép chọn ngẫu nhiên (trên chiều dài nhiễm sắc thể) • Phần nhiễm sắc thể hi ghép với phần sau nhiễm sắc thể hj, ngược lại, để sinh nhiễm sắc thể • Đột biến (Mutation) để sinh cá thể →Chọn ngẫu nhiên bit nhiễm sắc thể, đổi giá trị (0→1 / 1→0) • Chỉ tạo nên thay đổi nhỏ ngẫu nhiên cá thể cha mẹ! 51 Các toán tử di truyền: ví dụ Cha mẹ – Thế hệ Tái sản xuất: Con cháu– Thế hệ 11101001000 11101001000 Lai ghép điểm: 11101001000 11111000000 11101010101 00001010101 (crossover mask) 00001001000 Lai ghép điểm: 11101001000 00111110000 11001011000 00001010101 (crossover mask) 00101000101 Đột biến: 11101001000 11101011000 [Mitchell, 1997] 52 26 11/16/2022 Tốn tử lai ghép: ví dụ Bài tốn bố trí qn hậu bàn cờ - Tốn tử lai ghép (crossover) 53 Tìm kiếm có đối thủ • Các thủ tục tìm kiếm sâu dần (IDS) tìm kiếm A* hữu dụng tốn (tìm kiếm) liên quan đến tác tử • Thủ tục tìm kiếm cho tốn liên quan đến tác tử có mục tiêu đối nghịch (xung đột với nhau)? • Tìm kiếm có đối thủ (Adversarial search) • Phương pháp tìm kiếm có đối thủ áp dụng phổ biến trò chơi (games) 54 27 11/16/2022 Các vấn đề tìm kiếm trị chơi • Khó dự đốn trước phản ứng đối thủ • Cần xác định (xét) nước phù hợp phản ứng (nước đi) đối thủ • Giới hạn thời gian (trị chơi có tính giờ) • Thường khó (hoặc khơng thể) tìm giải pháp tối ưu  Xấp xỉ • Tìm kiếm có đối thủ địi hỏi tính hiệu (giữa chất lượng nước chi phí thời gian) Đây yêu cầu khó khăn • Ngun tắc nhiều trị chơi đối kháng • Một người chơi thắng = Người chơi thua • Mức độ (tổng điểm) thắng người chơi = Mức độ (tổng điểm) thua người chơi 55 Trị chơi cờ ca-rơ • Trị chơi cờ ca-rơ ví dụ phổ biến AI để minh họa tìm kiếm có đối thủ • Vd: http://www.ourvirtualmall.com/tictac.htm • Là trị chơi đối kháng người (gọi MAX MIN) • Thay phiên nước (moves) • Kết thúc trị chơi: Người thắng thưởng (điểm), người thua bị phạt (điểm) 56 28 11/16/2022 Biểu diễn tốn trị chơi đối kháng • Trị chơi bao gồm thơng tin • Trạng thái bắt đầu (Initial state): Trạng thái trò chơi + Người chơi nước • Hàm chuyển trạng thái (Sucessor function): Trả thông tin gồm (nước đi, trạng thái) • Tất nước hợp lệ từ trạng thái • Trạng thái (là trạng thái chuyển đến sau nước đi) • Kiểm tra kết thúc trị chơi (Terminal test) • Hàm tiện ích (Utility function) để đánh giá trạng thái • Trạng thái bắt đầu + Các nước hợp lệ = Cây biểu diễn trò chơi (Game tree) 57 Cây biểu diễn trị chơi cờ ca-rơ 58 29 11/16/2022 Các chiến lược tối ưu • Một chiến lược tối ưu chuỗi nước giúp đưa đến trạng thái đích mong muốn (vd: chiến thắng) • Chiến lược MAX bị ảnh hưởng (phụ thuộc) vào nước MIN – ngược lại • MAX cần chọn chiến lược giúp cực đại hóa giá trị hàm mục tiêu – với giả sử MIN nước tối ưu • MIN cần chọn chiến lược giúp cực tiểu hóa giá trị hàm mục tiêu • Chiến lược xác định việc xét giá trị MINIMAX nút biểu diễn trị chơi • Chiến lược tối ưu trị chơi có khơng gian trạng thái xác định (deterministic states) 59 Giá trị MINIMAX • MAX chọn nước ứng với giá trị MINIMAX cực đại (để đạt giá trị cực đại hàm mục tiêu) • Ngược lại, MIN chọn nước ứng với giá trị MINIMAX cực tiểu 60 30 11/16/2022 Giải thuật MINIMAX 61 Giải thuật MINIMAX: đặc điểm • Tính hồn chỉnh • Có (nếu biểu diễn trị chơi hữu hạn) • Tính tối ưu • Có (đối với đối thủ chọn nước tối ưu) • Độ phức tạp thời gian • O(bm) • Độ phức tạp nhớ • O(bm) (khám phá theo chiến lược tìm kiếm theo chiều sâu) • Đối với trò chơi cờ vua, hệ số phân nhánh b35 hệ số mức độ sâu biểu diễn m100 • Chi phí q cao – Khơng thể tìm kiếm xác nước tối ưu 62 31 11/16/2022 Cắt tỉa tìm kiếm • Vấn đề: Giải thuật tìm kiếm MINIMAX vấp phải vấn đề bùng nổ (mức hàm mũ) khả nước cần phải xét  khơng phù hợp với nhiều tốn trị chơi thực tế • Chúng ta cắt tỉa (bỏ – khơng xét đến) số nhánh tìm kiếm biểu diễn trị chơi • Phương pháp cắt tỉa - (Alpha-beta prunning) • Ý tưởng: Nếu nhánh tìm kiếm khơng thể cải thiện giá trị (hàm tiện ích) mà có, khơng cần xét đến nhánh tìm kiếm nữa! • Việc cắt tỉa nhánh tìm kiếm (“tồi”) khơng ảnh hưởng đến kết cuối 63 Cắt tỉa - – Ví dụ (1) 64 32 11/16/2022 Cắt tỉa - – Ví dụ (2) 65 Cắt tỉa - – Ví dụ (3) 66 33 11/16/2022 Cắt tỉa - – Ví dụ (4) 67 Cắt tỉa - – Ví dụ (5) 68 34 11/16/2022 Tại gọi cắt tỉa -? •  giá trị nước tốt MAX (giá trị tối đa) tính đến nhánh tìm kiếm • Nếu v giá trị tồi , MAX bỏ qua nước ứng với v • Cắt tỉa nhánh ứng với v •  định nghĩa tương tự MIN 69 Giải thuật cắt tỉa - (1) 70 35 11/16/2022 Giải thuật cắt tỉa - (2) 71 Cắt tỉa - • Đối với trị chơi có khơng gian trạng thái lớn, phương pháp cắt tỉa - khơng phù hợp • Khơng gian tìm kiếm (kết hợp cắt tỉa) lớn • Có thể hạn chế khơng gian tìm kiếm cách sử dụng tri thức cụ thể tốn • Tri thức phép đánh giá trạng thái trò chơi • Tri thức bổ sung (heuristic) đóng vai trị tương tự hàm ước lượng h(n) giải thuật tìm kiếm A* 72 36 ... lại: Tìm kiếm theo cấu trúc • Một chiến lược (phương pháp) tìm kiếm = Một cách xác định thứ tự xét nút https://users.soict.hust.edu.vn/haipv Tìm kiếm với tri thức bổ sung • Các chiến lược tìm kiếm. .. hợp với nhiều tốn thực tế (do địi hỏi chi phí q cao thời gian nhớ) • Các chiến lược tìm kiếm với tri thức bổ sung (informed search strategies) sử dụng tri thức cụ thể toán  Q trình tìm kiếm. .. = • h2(S) = 3+1+ 2+2+ 2+3+ 3+2 = 18 25 26 13 11/16/2022 Tìm kiếm Heuristics (Tìm kiếm với tri thức bổ sung) • Xét thuật tốn: • Tìm kiếm tốn thực tế địi hỏi chi phí nhớ thời gian 27 Ví dụ: Xét

Ngày đăng: 19/12/2022, 16:02

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w