1. Trang chủ
  2. » Tất cả

C3_Tìm kiem toi uu

28 2 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

Cấu trúc

  • Giải Bài toán bằng tìm kiếm!

  • PowerPoint Presentation

  • Khả năng của Watson

  • Chương 3 CÁC CHIẾN LƯỢC TÌM KIẾM TỐI ƯU

  • Slide 5

  • 1. Giải thuật A*

  • Slide 7

  • Ví dụ 1:

  • Ví dụ 2:

  • Ví dụ 3: Bài toán Tháp Hà Nội

  • Nhận xét:

  • Slide 12

  • Slide 13

  • 2. Thuật giải di truyền (GA)

  • Các toán tử được sử dụng để biến đổi thế hệ:

  • Slide 16

  • Toán tử chọn lọc:

  • Chọn theo kỹ thuật quay bánh xe

  • Toán tử lai ghép

  • Ví dụ lai ghép đơn điểm:

  • Toán tử đột biến

  • Ví dụ áp dụng:

  • Chọn lọc:

  • Lai ghép với Pc =1

  • Đột biến:

  • GA không giống với các giải thuật tối ưu khác:

  • Các bước giải bài toán với GA:

  • Bài Tập

Nội dung

Giải Bài tốn tìm kiếm! Watson “nghiền nát” Ken Brad Khả Watson • Chứa khoảng 200 triệu trang tài liệu (bằng khoảng triệu sách), • 16 Terabytes (16 nghìn tỉ bytes) nhớ, • Khả xử lý 80 Teraflops giây • 2880 vi xử lý POWER7 IBM (bốn lõi song song) Chương CÁC CHIẾN LƯỢC TÌM KIẾM TỐI ƯU • Các kỹ thuật tìm đường ngắn khơng gian trạng thái: A*, nhánh_và_cận • Các kỹ thuật tìm kiếm đối tượng tốt nhất: Tìm kiếm leo đồi, tìm kiếm gradient, tìm kiếm mơ luyện kim • Tìm kiếm bắt chước tiến hóa: thuật giải di truyền Tham khảo: https://tnu.edu.vn/sites/truongnv Hàm mục tiêu: f(x) Mỗi đối tượng x khơng gian tìm kiếm gắn với số đo giá trị đối tượng f(x), mục tiêu ta tìm đối tượng có giá trị f(x) lớn (hoặc nhỏ nhất) không gian tìm kiếm Giải thuật A* Ta sử dụng hàm đánh giá sau: • g(u) đánh giá độ dài đường ngắn từ s tới u • h(u) ước lượng độ dài đường ngắn từ u tới trạng thái đích • f(u) = g(u) + h(u) f(u) đánh giá độ dài đường ngắn qua u từ trạng thái ban đầu tới trạng thái kết thúc 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 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 đích then {thông báo thành công; stop} 2.4 for trạng thái v kề u {g(v) ← g(u) + k(u,v); f(v) ← g(v) + h(v); Đặt v vào danh sách L;} 2.5 Sắp xếp L theo thứ tự tăng dần hàm f cho trạng thái có giá trị hàm f nhỏ đầu danh sách; end; Ví dụ 1: Sửa: h(I) = 16? Ví dụ 2: Xét trò chơi 8-puzzle Cho trạng thái n giá trị f(n): f(n) = g(n) + h(n) g(n) = khoảng cách thực từ n đến trạng thái bắt đầu h(n) = hàm heuristic đánh giá khoảng cách từ trạng thái n đến mục tiêu start g(n) = goal h(n): số lượng vị trí cịn sai g(n) = f(n) = 7 8 Ví dụ 3: Bài toán Tháp Hà Nội Thuật giải di truyền (GA) • GA bắt chước chọn lọc tự nhiên di truyền • Mỗi cá thể có cấu trúc gien đặc trưng mã hóa CTDL NST (ví dụ chuỗi bit) • Thế hệ: tập cá thể (quần thể) ứng với giai đoạn phát triển • GA có tác dụng: biến đổi hệ Các toán tử sử dụng để biến đổi hệ: • Tốn tử tái sinh (reproduction) (cịn gọi toán tử chọn lọc (selection)) Các cá thể tốt chọn lọc để đưa vào hệ sau Sự lựa chọn thực dựa vào độ thích nghi với mơi trường cá thể Gọi hàm ứng cá thể với độ thích nghi hàm thích nghi (fitness function) • Tốn tử lai ghép (crossover) Hai cá thể cha mẹ trao đổi gien để tạo hai cá thể • Tốn tử đột biến (mutation) Một cá thể thay đổi số gien để tạo thành cá thể procedure Genetic_Algorithm; begin t ← 0; Khởi tạo hệ ban đầu P(t); Đánh giá P(t) (theo hàm thích nghi); repeat t ← t + 1; Sinh hệ P(t) từ P(t-1) bởi: Chọn lọc Lai ghép Đột biến; Đánh giá P(t); until đạt điều kiện kết thúc; end; Cá thể tốt bước cuối chọn Tốn tử chọn lọc: • Dựa độ thích nghi cá thể; • Hàm thích nghi: hàm thực dương, khơng tuyến tính, khơng liên tục, khơng khả vi; • Chọn theo kỹ thuật quay bánh xe: Chọn theo kỹ thuật quay bánh xe • Giả sử hệ thời P(t) gồm có n cá thể {x1, ,xn} • Với cá thể xi, ta tính độ thích nghi f(xi) n F = ∑ f(xi) i =1 •Mỗi lần chọn lọc, ta thực hai bước sau: -Sinh số thực ngẫu nhiên q khoảng (0, F); - xk cá thể chọn, k số nhỏ cho k ∑ f ( xi) ≥ q i =1 Toán tử lai ghép • ĐN xác suất lai ghép pc • Với cá thể ta thực hai bước sau: – Sinh số thực ngẫu nhiên r đoạn [0, 1]; – Nếu r < pc cá thể chọn để lai ghép • Từ cá thể chọn để lai ghép, ta cặp đôi chúng cách ngẫu nhiên Ví dụ lai ghép đơn điểm: Trong trường hợp nhiễm sắc thể chuỗi nhị phân có độ dài m, ta thực lai ghép sau: Với cặp, sinh số nguyên ngẫu nhiên p đoạn [0, m -1], p vị trí điểm ghép Cặp gồm hai nhiễm sắc thể: a = (a1 , , ap , ap+1, , am) b = (b1 , , bp , bp+1, , bm) thay hai là: a' = (a1 , , ap , bp+1 , , bm) b' = (b1 , , bp , ap+1 , , am) Toán tử đột biến • Là q trình thay đổi trạng thái số gen NST Mỗi gen chịu đột biến với xác suất Pm • Ví dụ: Tốn tử đột biến nhiễm sắc thể chuỗi nhị phân Với vị trí i nhiễm sắc thể: a = (a1 , , , , am) Ta sinh số thực nghiệm ngẫu nhiên pi [0,1] Qua đột biến a biến thành a’ sau: a' = (a'1 , , a'i , , a'm) Với: a'i = pi ≥ pm a'i = 1- pi < pm Ví dụ áp dụng: • Tìm max hàm f(x) = x2 với x số nguyên đoạn [0,31] + Mọi x mã hóa xâu độ dài 5; + Hàm thích nghi f(x) = x2 + n=4 • Các bước lặp: Chọn lọc: Số hiệu cá thể x Mã Độ thích nghi f(x) = x2 Số lần chọn 13 1 169 24 1 0 576 01000 64 19 0 1 361 Lai ghép với Pc =1 Quần thể sau chọn lọc Điểm Quần thể sau ghép lai ghép x f(x) 0110|1 01100 12 144 1100|0 11001 25 625 11|000 11011 27 729 10|011 10000 16 256 Đột biến: - Lấy Pm= 0.03, có x x 0.03 = 0.6 bit đột biến - Giả sử chuỗi 11001 đột biến vị trí thứ 3: 11101 = 29 Ta có f(29) = 841 Nhận xét: Kết “tốt hơn” sau hệ

Ngày đăng: 25/05/2017, 01:23

w