Phân hoạch bảng vấn tin

Một phần của tài liệu bảng câu vấn tin trên các quan hệ và xử lý câu vấn tin trên bảng (Trang 54)

Giả sử có p bộ xử lý, một phân hoạch Ip thành p lớp F1, ..., Fp , là chia các hàng - cột Ipthành p lớp F1, ..., Fp, với lớp Fk do bộ xử lý thứ k thực hiện.

Mục đích của hành động tách thuộc tính là tìm ra các tập thuộc tính được truy xuất cùng nhau hoặc hầu như là bằng các tập ứng dụng riêng biệt.

Có hai điều phức tạp cần được làm rõ. Điều đầu tiên ứng với hành động tách thuộc tính. Thủ tục trên tách thuộc tính làm hai. Đối với các thuộc tính lớn có thể cần phải phân hoạch thành m dòng. Thiết kế một thuật toán phân hoạch m dòng có thể được nhưng chi phí tính toán cao. Dọc theo đường chéo của ma trận CA, chúng ta cần phải kiểm tra điểm nào làm cho z lớn nhất. Vì thế độ phức tạp của một thuật toán như thế là O(2m).

Điều phức tạp thứ hai liên quan đến vị trí của khối thuộc tính tạo ra một mảnh Thảo luận của chúng ta đến lúc này đã giả sử rằng điểm tách là duy nhất và nó chia ma trận CA thành một phân hoạch trên trái và phân hoạch thứ hai được tạo bởi các thuộc tính còn lại. Tuy nhiên phân hoạch này cũng có thể được tạo ở trong ma trận. Trong trường hợp này chúng ta cần sửa lại thuật toán một chút. Cột tận trái của ma trận CA được xê dịch sang thành cột tận phải và hàng trên cùng được xê dịch xuống dưới đáy. Sau thao tác xê dịch chúng ta kiểm tra n – 1 vị trí trên đường chéo để tìm giá trị z lớn nhất. ý tưởng của hành động tách là chuyển khối thuộc tính tạo ra một tụ đến góc trái trên cùng của ma trận, là nơi có thể xác định được nó dễ dàng. Với việc đưa thêm thao tác xê dịch vào, độ phức tạp của thuật toán phân hoạch tăng theo một hệ số n và trở thành O(n2).

Một phần của tài liệu bảng câu vấn tin trên các quan hệ và xử lý câu vấn tin trên bảng (Trang 54)

Tải bản đầy đủ (PDF)

(73 trang)