1. Trang chủ
  2. » Công Nghệ Thông Tin

CHƯƠNG 5 - CÁC CHIẾN LƯỢC THIẾT KẾ GIẢI THUẬT ppsx

20 492 2
Tài liệu đã được kiểm tra trùng lặp

Đ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 20
Dung lượng 1,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phương Pháp Nhánh và Cận• Ý tưởng phương pháp • Lược đồ giải thuật • Các ví dụ... Ý Tưởng Phương Pháp trang 77• Về nguyên tắc, kỹ thuật quay lui cho phép tìm được nghiệm đúng của bài t

Trang 1

CÁC CHIẾN LƯỢC

THIẾT KẾ GIẢI THUẬT

1

CHƯƠNG 5

Trang 2

Nội dung

2

Trang 3

Phương Pháp Nhánh và Cận

• Ý tưởng phương pháp

• Lược đồ giải thuật

• Các ví dụ

Trang 4

Ý Tưởng Phương Pháp (trang 77)

• Về nguyên tắc, kỹ thuật quay lui cho phép tìm

được nghiệm đúng của bài toán, nhưng do phải vét cạn, khi kích thước bài toán lớn sẽ rất kém hiệu quả

• Kỹ thuật nhánh cận khắc phục được hạn chế

này bằng cách, xác định nhánh cận với mục tiêu tại mỗi bước tìm kiếm, vì vậy loại bỏ được hầu hết các hướng tìm kiếm không cần thiết

Trang 5

Ý Tưởng Phương Pháp (trang 77)

• Nhánh cận là kĩ thuật xây dựng cây tìm kiếm phương

án tối ưu, nhưng không xây dựng toàn bộ cây mà sử dụng giá trị cận để hạn chế bớt các nhánh

• Cây tìm kiếm phương án có nút gốc biểu diễn cho

tập tất cả các phương án có thể có, mỗi nút lá biểu diễn cho một phương án nào đó Nút n có các nút con tương ứng với các khả năng có thể lựa chọn tập phương án xuất phát từ n Kĩ thuật này gọi là phân nhánh

Trang 6

Ý Tưởng Phương Pháp (trang 77)

• Với mỗi nút trên cây ta sẽ xác định một giá trị cận

Giá trị cận là một giá trị gần với giá của các phương

án

• Với bài toán tìm min ta sẽ xác định cận dưới còn với

bài toán tìm max ta sẽ xác định cận trên Cận dưới là giá trị nhỏ hơn hoặc bằng giá của phương án, ngược lại cận trên là giá trị lớn hơn hoặc bằng giá của phương án

Trang 7

Ý Tưởng Phương Pháp

• Kỹ thuật nhánh cận thường được áp dụng để giải các bài toán tối ưu

• Kỹ thuật nhánh cận dựa trên lược đồ quay lui và một hàm lượng giá mục tiêu hướng đến các nhánh cận với mục tiêu nhanh nhất có thể

• Kỹ thuật nhánh cận có thể không cho nghiệm tối ưu chính xác mà chỉ cho nghiệm gần đúng

Trang 8

• Kỹ thuật nhánh cận thường được áp dụng để giải các bài toán tối ưu được mô hình hóa bởi

Tìm min{f(x) | x D}∈

• Tập D ={x=(x1, x2, …., xn) A∈ 1 ×A2 ×…×An | x thỏa tính chất P} là hữu hạn, f(x) gọi là hàm mục tiêu

• Một nghiệm của bài toán là một bộ (x1, x2, …., xn) D ∈ sao cho f(x1, x2, …., xn) nhỏ nhất

• Có thể dùng kỹ thuật quay lui, vét cạn để tìm nghiệm của bài toán (nhưng không hiệu quả)

Lư ợ c đồ giải thuật

Trang 9

• Một bộ k thành phần (a1, a2, …., ak), ai∈Ai gọi là một nghiệm (phương án) bộ phận cấp k

• Giả sử g là một hàm xác định trên tập tất cả các nghiệm bộ phận của bài toán và thỏa:

g(a1, a2, …., ak) ≤min{f(x) | x D, x∈ i=ai, i=1, 2,…, k},với mọi (a1, a2, …., ak), k=1,2, …(1)

• Rõ ràng g(a1, a2, …., ak) là cận dưới của giá trị hàm mục tiêu trên tập D(a1, a2, …., ak)={((a1, a2, …., ak)|

ai∈Ai,k=1, 2,…}

• Vì vậy, g được gọi là hàm cận dưới, và giá trị g (a1, a2,

…., ak) được gọi là cận dưới của tập D(a1, a2, …., ak)

Lư ợ c đồ giải thuật

Trang 10

Lược đồ giải thuật

• Giả sử x* là một phương án với giá trị hàm mục tiêu nhỏ nhất trong các phương án đã tìm được, ký hiệu f*=f(x*)

• Ta nói x* là phương án tốt nhất hiện có, còn f* là kỷ lục

• Nếu g(a1, a2, …., ak) >f* thì từ(1) ta có

• f*< g(a1, a2, …., ak) ≤min{f(x) | x D, x∈ i=ai, i=1, 2,…, k}

• Suy ra tập con phương án D(a1, a2, …., ak) chắc chắn không chứa phương án tối ưu

• Do đó loại các phương án trong D(a1, a2, …., ak) khỏi quá trình tìm kiếm

Trang 11

Lược đồ giải thuật

Trang 13

Các Ví dụ

Bài toán người du lịch: Một người du lịch muốn đi tham

quan n thành phố T1,…,Tn Xuất phát từ một thành phố nào đó, người du lịch muốn đi qua tất cả các thành phố còn lại, mỗi thành phố đúng một lần, rồi quay về thành phố xuất phát Biết cij là chi phí từ thành phố Ti đến thành phố Tj Tìm hành trình (một cách đi) có tổng chi phí nhỏ nhất

Giải?

Trang 14

Các Ví dụ

Giải

• Cố định thành phố xuất phát T1, bài toán dẫn đến tìm cực tiểu của hàm

f(x2, x3, …, xn)=c[1, x2]+c[x2, x3]+…+c[xn,1] với điều kiện (x2,

x3, …, xn) là một hoán vị của 2, 3, …, n

Trang 15

Các Ví dụ

Giải

Ký hiệu cmin=min{c[i, j], i, j=1,2,…n, i≠j}

• Giả sử đang có phương án bộ phận (u1, u2, …, uk), thì hành trình bộ phận qua k thành phố là

T1→T(u2) →…→T(uk-1) →T(uk)

• Chi phí phải trả theo hành trình bộ phận là

σ = c[1, u2]+c[u2, u3]+…+c[uk-1,uk]

Trang 16

Các Ví dụ

Giải

• Hành trình đầy đủ của hành trình bộ phận còn phải đi qua n-k thành phố còn lại rồi quay về T1 bao gồm n-k+1 đoạn đường

• Do chi phí phải trả cho mỗi đoạn trong n-k+1 đoạn còn lại không ít hơn cmin nên cận dưới cho phương án bộ phận có thể tính theo công thức

g(u1, u2,…uk) = σ+(n-k+1)cmin

Trang 17

Các Ví dụ

Trang 19

Kết thúc thuật toán, ta thu được phương án tối

ưu (1,2,3,5,4,1) tương ứng với hành trình

T1 →T2→T3 →T5→T4 →T1

Và chi phí nhỏ nhất là 22

Trang 20

Đọc thêm

 Chương 8 (205-240)sách Đinh Mạnh Tường (Cấu trúc dữliệu & Thuật toán, NXB KHKT, 2000)

 Chương 16 (dynamic programming), 17

(Greedy algorithms)sách Cormen vàcộng sự

Ngày đăng: 25/07/2014, 16:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w