Phân tích tổng quát

Một phần của tài liệu Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính (Trang 41 - 44)

Ở phần trên, thuật toán đánh giá theo ô được thiết kế để có thể thực hiện được với các tập dữ liệu nằm trong bộ nhớ trong và thuật toán này được cải tiến để phù hợp với việc thực hiện trên các tập dữ liệu lớn, nằm trên bộ nhớ ngoài. Thuật toán cải tiến này bảo toàn độ phức tạp tuyến tính với N và cũng đảm bảo rằng không nhiều hơn 3 lần đọc toàn bộ cơ sở dữ liệu vào bộ nhớ. Khi thuật toán thực hiện với các tập dữ liệu lớn, nằm ở bộ nhớ ngoài thì mục đích là làm giảm tối thiểu số lượng các trang được đọc vào bộ nhớ chính hoặc là số lần đọc toàn bộ dữ liệu, các trang ở đây là một khối dữ liệu nhỏ nhất truyền giữa bộ nhớ ngoài và bộ nhớ chính. Nội dung thuật toán dựa vào ô, có hai bước cần phải đọc các trang đó là:

 Quá trình ánh xạ ban đầu của các đối tượng vào các ô phù hợp.

 Quá trình tính toán khoảng cách giữa các cặp đối tượng.

Ở trong bước 5.c.3, với mỗi đối tượng p trong các ô trắng Cw và mỗi đối tượng trong ô thuộc vào L2 của Cw cần được đọc để thực hiện công việc tính toán khoảng cách. Vì không giả sử rằng các đối tượng ánh xạ vào cùng một ô hoặc các ô liền kề tức là các ô thuộc vào L1 của ô đang xét được phân vào một vùng cần thiết trên đĩa để mỗi cặp đối tượng yêu cầu tính toán khoảng cách được đọc trên cùng một trang, nên nảy sinh nguyên nhân là số lượng các lần đọc vào ra (I/O) là rất lớn. Nếu công việc tính toán khoảng cách giữa các cặp đối tượng được thực hiện một cách chính xác như đã mô tả trong thuật toán ở bước 5.c.3 thì một trang có thể được đọc nhiều lần.

Vấn đề được đặt ra là trong quá trình tính toán khoảng cách của các cặp đối tượng thì có thể đọc các trang chỉ đúng một lần không ?

Gọi Pages (C) ký hiệu cho tập hợp các trang chứa ít nhất một điểm ánh xạ tới ô C. Suy ra, để tính toán khoảng cách cho các đối tượng trong một ô trắng

Cw, cần đọc các trang trong Pages (Cw), đồng thời cũng cần đọc các trang trong Pages(L2(Cw)) = UCvL2(Cw)Pages(Cv) bởi vì cần đọc trang chứa các điểm ánh xạ tới ánh xạ tới Cv là ô thuộc L2(Cw) để thực hiện công việc tính toán khoảng cách. Nếu muốn đảm bảo rằng các trang Pages(L2(Cw)) chỉ đọc một lần thì cần đọc các trang cần cho Cv bởi vì bản thân Cv có thể là 1 ô trắng và các trang sử dụng Cv bởi vì Cv có thể là ô thuộc L2 của nhiều ô trắng khác nhau.

Tóm lại, bao đóng bắc cầu kiểu này có thể bao mọi trang của tập dữ liệu, nói cách khác, chỉ có một cách đảm bảo rằng một trang có thể đọc nhiều nhất là một lần trong quá trình tính toán khoảng cách giữa các cặp điểm là phải có một bộ nhớ trung gian cỡ của tập dữ liệu mà chúng ta đang xét và đây là một giả thiết quá mạnh vì các tập dữ liệu mà chúng ta đang xét là các tập dữ liệu lớn không thể lưu toàn bộ trong bộ nhớ trong.

Trường hợp chỉ có một tập con các đối tượng lựa chọn trong tập dữ liệu được lưu trữ trong bộ nhớ trong là cách tiếp cận của thuật toán, tập con được chọn này là tập tất cả các đối tượng ánh xạ vào các ô trắng hoặc các ô vàng (đó là các ô sẽ được mô tả ở phần sau trong thuật toán). Việc lựa chọn theo cách này một phần là số lượng các điểm nằm trong các ô trắng theo định nghĩa chúng bị chặn trên bởi M và một phần là do chúng là những đối tượng cần được tính toán khoảng cách. Hơn nữa, tất cả các trang sẽ phân vào trong ba lớp:

Lớp 1: Bao gồm các trang chứa một số các điểm trắng.

Lớp 2: Các trang không chứa điểm trắng nào nhưng lại chứa các đối tượng ánh xạ tới các ô không trắng mà các ô này thuộc L2 của một số ô trắng. Lớp 3: Tất cả các trang còn lại.

Làm thế nào để các trang được đọc là cực tiểu, trước hết, thuật toán sẽ đọc các trang thuộc lớp 1, tiếp đó, là các trang thuộc lớp 2, tiếp theo, thuật toán gần như phải đọc lại các trang thuộc lớp 1 để hoàn tất quá trình tính khoảng cách. Các trang lớp 3 không cần thiết cho quá trình tính toán khoảng cách giữa các cặp điểm, phải chú ý rằng việc thực hiện thuật toán là phụ thuộc vào số lượng các trang trắng (các trang thuộc lớp 1).

Chúng ta xem xét một ví dụ đơn giản với tập dữ liệu gồm 900 trang. Giả sử, các trang thuộc lớp 1 từ trang 1 đến trang 300, các trang thuộc lớp 2 từ 301 đến 600, các trang thuộc lớp 3 từ 601 đến 900. Giả sử điểm p ánh xạ tới ô trắng Cw và được lưu lại ở trang i (thuộc lớp 1), để p thực hiện quá trình tính toán khoảng cách giữa p và các điểm q thuộc các trang ánh xạ tới các ô thuộc L2(Cw), chúng ta phân các đối tượng mà chúng ta đang xét thành ba loại:

 Các điểm trắng ánh xạ tới ô trắng thuộc L2 của ô Cw

 Các điểm không trắng q ánh xạ tới một ô không trắng thuộc L2 của Cw và được lưu ở trang j  i.

 Các điểm không trắng q ánh xạ tới một ô không trắng thuộc L2 của Cw và được lưu lại ở trang j < i.

Với loại đối tượng đầu tiên, cặp điểm (p,q) luôn được giữ trong bộ nhớ chính sau khi 300 trang đầu tiên được đọc bởi vì chúng đều là các điểm trắng. Do vậy khoảng cách của chúng được tính toán và các biến đếm dùng để đếm số lượng các đối tượng trong tập các lân cận của một điểm p có thể được cập nhật sau khi tất cả các trang thuộc lớp 1 đã được đọc.

Với loại đối tượng thứ hai, khoảng cách giữa các cặp đối tượng (p,q) được xử lý khi trang j được đọc vào trong bộ nhớ chính, bởi vì điểm p đã nằm trong bộ nhớ chính do trang ij. Do đó, sau khi 600 trang đầu tiên được đọc bao

gồm tất cả các trang thuộc lớp 1 và lớp 2 thì các đối tượng loại thứ hai được kiểm tra. Vấn đề chỉ còn liên quan tới loại đối tượng thứ ba, ở trong trường hợp này, khi q (lưu ở trang j) được đọc vào trong bộ nhớ trong thì điểm p (lưu ở trang i) chưa được đọc, vì q là điểm không trắng nên nó không được lưu lại trong bộ nhớ cho nên khi p được lưu vào thì điểm q không còn nằm trong bộ nhớ, như vậy trong trường hợp này đòi hỏi phải đọc lại trang j. Nhìn một cách toàn diện thì tất cả các trang lớp 1 cần phải đọc lại, nhưng rõ ràng rằng chỉ có các điểm trắng được lưu trong bộ nhớ chính do đó có đủ bộ nhớ để đọc lại các trang thuộc lớp 1 lần thứ hai.

Chúng ta đưa ra hai vấn đề tổng quát cho ví dụ trên trước khi trình bày thuật toán.

Thứ nhất: Giả sử tất cả các trang thuộc lớp 1 được đánh số trước các trang thuộc lớp 2 và các trang được đọc theo thứ tự tăng dần.

Thứ hai : Các trang thuộc lớp 1 có thể được phân chia vào hai lớp con (Lớp 1.1 gồm các trang không chứa bất kỳ một đối tượng không trắng nào mà chúng ta cần và lớp 1.2 gồm các trang chứa các đối tượng không trắng mà chúng ta cần).

Dựa vào phân tích ở trên thì cần đọc lại các trang thuộc lớp 1 nhưng theo sự phân chia này thì chỉ cần đọc lại các trang thuộc lớp 1.2, để cho đơn giản hơn thì việc đánh giá này không được mô tả ở trong thuật toán.

Một phần của tài liệu Nghiên cứu các phần tử ngoại lai luận văn thạc sĩ máy tính (Trang 41 - 44)