Chương I Khai thác dữ liệu và xử lý phân tích trực tuyến
3.4. Thuật toán chỉ số hố các khung nhìn trong xử lý phân tích trực tuyến kho dữ
3.4.2.3. Xác định bài toán
Như ở trên đã nêu, nhiệm vụ của ta là xây dựng các thuật toán để chọn các View và Index cụ thể để trả lời cho những câu truy vấn đối với một Data Cube cho trước. Ta có thể phát biểu một cách khơng hình thức: cho trước một tập các View, mỗi View lại xác định một tập các Index và một tập các câu truy vấn mà hệ thống cần phải trả lời. Mục đích của ta là chọn View và Index trong số đó để có được câu trả lời cho các câu truy vấn với phí tổn thấp nhất với một điều kiện ràng buộc là tập các View và tập các Index không chiếm
nhiều không gian hơn một không gian cho trước S, đây là bài toán NP_đầy_
đủ. Do vậy để giải quyết được bài toán trên, ta phải xây dựng những thuật
tốn có tính Heuristic, nhưng phải đảm bảo thuật toán thực hiện hiệu quả. Trước tiên chúng ta tiến hành hình thức hóa bài tốn nêu trên. Xét đồ thị lưỡng phân, G = (V ∪ Q, E) được gọi là đồ thị câu truy vấn - khung nhìn (Query - View Graph), V là tập các View còn Q chứa các câu truy vấn. Với mỗi vi ∈ V xác định tương ứng một bộ (Si, Ii) trong đó Si là khơng gian mà vi
chiếm và Ii là tập các chỉ số trên vi. Ký hiệu Iik là chỉ số thứ k của vi.
• Với mỗi qi ∈ Q xác định tương ứng phí tổn Ti trả lời cho câu truy vấn qi.
• Mỗi cạnh (qi, vj) có nhãn được gán tương ứng là (k, tijk), trong đó tijk là phí tổn câu trả lời cho câu truy vấn qi sử dụng View vj và chỉ số thứ k của nó. Khi k = 0, tijk là phí tổn của câu trả lời cho qi mà chỉ sử dụng vj. Bài toán: Cho tập các View V và tập các câu hỏi Q, cần xác định M ⊆ V, tập các View và các chỉ số cụ thể sao cho không gian mà các View và các chỉ số đó chiếm khơng vượt quá S (không gian giới hạn) đồng thời với cách
chọn M cũng đảm bảo được cực tiểu hóa phí tổn tồn bộ để có được câu trả
lời cho câu truy vấn Q từ một trong các View của M.
Nghĩa là ta cần cực tiểu hóa đại lượng sau sao cho tổng không gian mà các cấu trúc được lựa chọn từ M nhỏ hơn S:
| | ijk 1 ( , ) min( , min ) Q i G M Ti t τ = = ∑ (**) , j jk V I ∈M
Bài toán trên dễ dàng tổng quát hóa thành bài tốn xác định các View và Index trong Data Cube.