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

bài tập phân mảnh dọc

7 1,8K 79

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 40,08 KB

Nội dung

Hãy sử dụng các thuật toán buộc năng lượng và phân hoạch dọc để thực hiện một phân mảnh dọc cho tập các thuộc tính A.. Tính ma trận ái lực AA Sử dụng công thức: Tính toán tương tự, ta th

Trang 1

BÀI TẬP PHÂN MẢNH DỌC

Bài 1: Cho các kí hiệu:

Q = {q1, q2, q3, q4, q5} là tập các ứng dụng

A = {A1, A2, A3, A4, A5} là tập các thuộc tính.

S = {S1 ,S2, S3} là tập các vị trí

Cho các ma trận sử dụng thuộc tính và tần suất truy nhập:

Giả sử refl(qk)=1 cho mọi k và Sl, A1 là các thuộc tính khóa Hãy sử dụng các thuật toán buộc năng lượng và phân hoạch dọc để thực hiện một phân mảnh dọc cho tập các thuộc tính A.

Giải:

a Tính ma trận ái lực AA

Sử dụng công thức:

Tính toán tương tự, ta thu được ma trận ái lực thuộc tính AA như sau:

b Tính ma trận hấp dẫn tụ CA từ ma trận AA

Bước 1: Khởi tạo, lấy 2 cột đầu (A1, A2) của AA làm 2 cột đầu của CA

Bước 2:

Thực hiện tính toán từ ma trận AA:

Trang 2

2.1 Xét cột A3 Có 3 vị trí có thể để đặt cột A3

+ Trước A1: thứ tự 0-3-1

+ Giữa A1 và A2: thứ tự 1-3-2

+ Sau A2: thứ tự 2-3-n (lúc này A4 rỗng Qui định 2 biên là A0 và An)

Nhận thấy giá trị cont(A0, A3, A1) lớn nhất, nên ta sẽ đặt cột A3 ở trước A1:

2.2 Xét cột A4, có 4 vị trí có thể để đặt cột A4:

+ Trước A3: thứ tự 0-4-3

+ Giữa A3 và A1: thứ tự 3-4-1

+ Giữa A1 và A2: thứ tự 1-4-2

+ Sau A2: thứ tự 2-4-5 (lúc này A5 rỗng)

Nhận thấy giá trị cont(A0, A4, A3) và cont(A2, A4, A5) cùng bằng 9450, lớn nhất, nên giả sử ta sẽ chọn đặt cột A4 ở sau A2:

Trang 3

2.3 Xét cột A5, có 5 vị trí có thể để đặt cột A5:

+ Trước A3: thứ tự 0-5-3

+ Giữa A3 và A1: thứ tự 3-5-1

+ Giữa A1 và A2: thứ tự 1-5-2

+ Giữa A2 và A4: thứ tự 2-5-4

+ Sau A4: thứ tự 4-5-6 (A6 không tồn tại)

Nhận thấy giá trị cont(A1, A5, A2) lớn nhất, nên ta sẽ chọn đặt cột A5 ở giữa A1 và A2:

Bước 3: Hoán vị các hàng theo thứ tự của các cột, ta có ma trận hấp dẫn tụ CA:

c Dùng thuật toán phân mảnh dọc để tìm phân mảnh dọc từ ma trận CA

Một số kí hiệu và công thức:

– Tập các thuộc tính mà sử dụng

– Tập các ứng dụng truy cập đến TA mà không truy cập đến BA

– Tập các ứng dụng truy cập đến BA mà không truy cập đến TA

– Tập các ứng dụng vừa truy cập đến BA và TA

Từ ma trận CA thu được ở phần b., ta có 4 trường hợp phân mảnh:

Trường hợp 1: TA = {A3}, BA = {A1, A5, A2, A4}

Ta có: TQ = {q4}, BQ = {q3}, OQ = {q1, q2, q5}

Trang 4

Suy ra: CTQ = 10, CBQ = 45, COQ = 60

Tính:

Trường hợp 2: TA = {A3, A1}, BA = {A5, A2, A4}

Ta có: TQ = {q4}, BQ = rỗng, OQ = {q1, q2, q3, q5}

Suy ra: CTQ = 10, CBQ = 0, COQ = 105

Tính:

Trường hợp 3: TA = {A3, A1, A5}, BA = {A2, A4}

Ta có: TQ = {q4}, BQ = rỗng, OQ = {q1, q2, q3, q5}

Suy ra: CTQ = 10, CBQ = 0, COQ = 105

Tính:

Trường hợp 4: TA = {A3, A1, A5, A2}, BA = {A4}

Ta có: TQ = {q1, q2, q4, q5}, BQ = rỗng, OQ = {q3}

Suy ra: CTQ = 70, CBQ = 0, COQ = 45

Tính:

Nhận thấy giá trị trong trường hợp 4 là LỚN NHẤT, vậy ta có một phân mảnh dọc:

{A1, A2, A3, A5}, {A1, A4} (do A1 là thuộc tính khóa nên cho vào mảnh thứ 2)

-Bài 2: Cho các kí hiệu:

Q = {q1, q2, q3, q4} là tập các ứng dụng

A = {A1, A2, A3, A4} là tập các thuộc tính.

S = {S1 ,S2, S3} là tập các vị trí

Cho các ma trận sử dụng thuộc tính và tần suất truy nhập:

Giả sử refl(qk)=1 cho mọi k và Sl, A1 là các thuộc tính khóa Hãy sử dụng các thuật toán buộc năng lượng và phân hoạch dọc để thực hiện một phân mảnh dọc cho tập các thuộc tính A.

Giải:

Trang 5

a Tính ma trận ái lực AA

Sử dụng công thức:

Tính toán tương tự, ta thu được ma trận ái lực thuộc tính AA như sau:

b Tính ma trận hấp dẫn tụ CA từ ma trận AA

Bước 1: Khởi tạo, lấy 2 cột đầu (A1, A2) của AA làm 2 cột đầu của CA

Bước 2:

Thực hiện tính toán:

2.1 Xét cột A3 Có 3 vị trí có thể để đặt cột A3

+ Trước A1: thứ tự 0-3-1

+ Giữa A1 và A2: thứ tự 1-3-2

+ Sau A2: thứ tự 2-3-4 (lúc này A4 rỗng)

Nhận thấy giá trị cont(A1, A3, A2) lớn nhất, nên ta sẽ đặt cột A3 ở giữa A1 và A2:

Trang 6

2.2 Xét cột A4, có 4 vị trí có thể để đặt cột A4:

+ Trước A1: thứ tự 0-4-1

+ Giữa A1 và A3: thứ tự 1-4-3

+ Giữa A3 và A2: thứ tự 3-4-2

+ Sau A2: thứ tự 2-4-5

Nhận thấy giá trị cont(A0, A4, A1) lớn nhất, nên ta sẽ đặt cột A4 ở trước A1:

Bước 3: Hoán vị các hàng theo thứ tự của các cột, ta có ma trận hấp dẫn tụ CA:

c Dùng thuật toán phân mảnh dọc để tìm phân mảnh dọc từ ma trận CA

Một số kí hiệu và công thức:

– Tập các thuộc tính mà sử dụng

– Tập các ứng dụng truy cập đến TA mà không truy cập đến BA

– Tập các ứng dụng truy cập đến BA mà không truy cập đến TA

– Tập các ứng dụng vừa truy cập đến BA và TA

Từ ma trận CA thu được ở phần b., ta có 3 trường hợp phân mảnh:

Trường hợp 1: TA = {A4}, BA = {A1, A3, A2}

Ta có: TQ = rỗng, BQ = {q2, q1, q4}, OQ = {q3}

Suy ra: CTQ = 0, CBQ = 55, COQ = 40

Tính:

Trường hợp 2: TA = {A4, A1}, BA = {A3, A2}

Ta có: TQ = {q3}, BQ = {q1, q4}, OQ = {q2}

Trang 7

Suy ra: CTQ = 40, CBQ = 40, COQ = 15

Tính:

Trường hợp 3: TA = {A4, A1, A3}, BA = {A2}

Ta có: TQ = {q3, q4}, BQ = rỗng, OQ = {q1, q2}

Suy ra: CTQ = 50, CBQ = 0, COQ = 45

Tính:

Nhận thấy giá trị trong trường hợp 2 là LỚN NHẤT, vậy ta có kết quả phân mảnh dọc: {A1, A4}, {A1, A2, A3} (do A1 là thuộc tính khóa nên cho vào mảnh thứ 2)

Ngày đăng: 15/01/2016, 22:36

TỪ KHÓA LIÊN QUAN

w