Chiến lược tìm kiếm

Một phần của tài liệu Giáo trình “Cơ sở dữ liệu 2” (Trang 78 - 80)

Chiến lược tìm kiếm hay được các thể tối ưu hóa vấn tin sử dụng nhất là quy hoạch động (dynamic programming) cới tính chất đơn định

(deterministic). Các chiến lược đơn định tiến hành bằng cách xây dựng các hoạch định , bắt đầu từ các quan hệ cơ sở, nối thêm nhiều quan hệ tại mỗi bước cho đến khi thu được tất cả mọi hoạch định khả hữu như trong Hình

R1 R2

R3 R4

9.4.. Quy hoạch động xây dựng tất cả mọi hoạch định khả hữu theo hướng

ngang (breadth-first) trước khi nó chọn ra hoạch định “tốt nhất”. Để hạ

thấp chi phí tối ưu hóa, các hoạch định từng phần rất có khả năng không dấn đến một hoạch định tối ưu đều được xén bỏ ngay khi có thể. Ngược lại, một chiến lược đơn định khác là thuật toán thiển cận chỉ xây dựng một hoạch định theo hướng sâu (depth-first).

Bước 1 Bước 2 Bước 3

Quy hoạch động hầu như có bản chất vét cạn và bảo đảm tìm ra được các hoạch định. Nó phải trả một chi phí có thể chấp nhận được (theo thời gian và không gian) khi số quan hệ trong câu vấn tin khá nhỏ. Tuy nhiên lối tiếp cận này có chi phí quá cao khi số quan hệ lớn hơn 5 hoặc 6. Vì lý do này mà các chú ý gần đây đang tập trung vào các chiến lược ngẫu nhiên hóa (randomized strategy) để làm giảm độ phức tạp của tối ưu hóa nhưng không bảo đảm tìm được hoạch định tốt nhất. Không giống như các chiến lược đơn định, các chiến lược ngẫu nhiên hóa cho phép thể tối ưu hóa đánh đổi thời gian tối ưu hóa và thời gian thực thi.

Chiến lược ngẫu nhiên hóa chẳng hạn như tập trung vào việc tìm kiếm lời giải tối ưu xung quanh một số điểm đặc biệt nào đó. Chung không đảm bảo sẽ thu được một lời giải tốt nhất nhưng tránh được chi phí quá cao của tối ưu hóa tính theo việc tiêu dùng bộ nhớ và thời gian. Trước tiên một

R1 R2 R1 R2 R1 R2 R3 R4 R4 R3

hoặc nhiều hoạch định khởi đầu được xây dựng bằng một chiến lược thiển cận . Sau đó thuật toán tìm cách cải thiện hoạch định này bằng cách thăm

các lân cận (neighbor) của nó. Một lân cận thu được bằng cách áp dụng

một biến đổi ngẫu nhiên cho một hoạch định. Thí dụ về một biến đổi điển

hình gồm có hoán đổi hai quan hệ toán hạng được chọn ngẫu nhiên của hoạch định như trong đã chứng tỏ bằng thực nghiệm rằng các chiến lược ngẫu nhiên hóa có hiệu năng tốt hơn các chiến lược đơn định khi vấn tin có chứa khá nhiều quan hệ.

Một phần của tài liệu Giáo trình “Cơ sở dữ liệu 2” (Trang 78 - 80)