Tải bản đầy đủ (.pdf) (68 trang)

Phương pháp gộp toán tử qua ma trận đặc trưng để tìm cây toán tử có chi phí nhỏ nhấ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.4 MB, 68 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2

LÊ VĂN THUẬN

PHƢƠNG PHÁP GỘP TOÁN TỬ QUA MA TRẬN ĐẶC TRƢNG
ĐỂ TÌM CÂY TOÁN TỬ CÓ CHI PHÍ NHỎ NHẤT

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

HÀ NỘI, 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2

LÊ VĂN THUẬN

PHƢƠNG PHÁP GỘP TOÁN TỬ QUA MA TRẬN ĐẶC TRƢNG
ĐỂ TÌM CÂY TOÁN TỬ CÓ CHI PHÍ NHỎ NHẤT
Chuyên ngành: Khoa Học Máy Tính
Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH

Ngƣời hƣớng dẫn khoa học: PGS. TS. Lê Huy Thập

HÀ NỘI, 2017


LỜI CẢM ƠN



Tôi xin gửi lời cảm ơn sâu sắc nhất tới thầy giáo, PGS.TS. Lê Huy
Thập - ngƣời đã hƣớng dẫn tận tình để tôi hoàn thành luận văn này.
Tôi cũng xin bày tỏ lòng biết ơn tới Ban giám hiệu trƣờng Đại học Sƣ
phạm Hà Nội 2, phòng Sau đại học, quý thầy cô đã trực tiếp giảng dạy tôi
trong suốt khóa học.
Xin trân trọng cảm ơn sự giúp đỡ động viên của gia đình, bạn bè và đồng
nghiệp đã giúp đỡ và tạo điều kiện tốt nhất để tôi hoàn thành luận văn này.
Mặc dù đã có những cố gắng, tìm tòi nhất định, song chắc chắn luận
văn không tránh khỏi hạn chế. Vì vậy, tôi rất mong nhận đƣợc những ý kiến
đóng góp của thầy, cô và các bạn để luận văn đƣợc hoàn thiện hơn.

Hà Nội, ngày ... tháng ... năm 2017
Học viên

Lê Văn Thuận


LỜI CAM ĐOAN

Luận văn đƣợc hoàn thành dƣới sự hƣớng dẫn trực tiếp của thầy giáo,
PGS. TS. Lê Huy Thập. Tôi xin cam đoan:
- Luận văn là kết quả của tự bản thân tôi tìm hiểu
- Những tƣ liệu đƣợc trích dẫn trong luận văn là trung thực.
- Những gì đƣợc triển khai trong luận văn không trùng khít với bất kì
công trình nghiên cứu của các tác giả nào đã đƣợc công bố trƣớc đó.
- Mọi sự giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm ơn và
các thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc.

Hà Nội, ngày ... tháng ... năm 2017

Học viên

Lê Văn Thuận


MỤC LỤC
Trang phụ bìa

Trang

Lời cam đoan......................................................................................................... i
Lời cảm ơn.. ......................................................................................................... ii
Mục lục................................................................................................................ iii
Danh mục các bảng................................................................................................iv
Danh mục các hình vẽ, đồ thị.................................................................................v
Các ký tự viết tắt....................................................................................................vi
PHẦN MỞ ĐẦU ................................................................................................ 1
1. Lý do chọn đề tài .......................................... Error! Bookmark not defined.1
2. Mục đích nghiên cứu ...................................................................................... 1
3. Nhiệm vụ nghiên cứu ..................................................................................... 1
4. Đối tƣợng và phạm vi nghiên cứu ................................................................... 1
5. Phƣơng pháp nghiên cứu ................................................................................ 1
6. Giả thiết khoa học .......................................................................................... 1
PHẦN NỘI DUNG ............................................................................................ 2
Chƣơng 1: CƠ SỞ LÝ THUYẾT ...................................................................... 2
1.1 Toán rời rạc ................................................................................................ ..2
1.1.1. Cây liên thông có trọng số tại đỉnh và cạnh ............................................ ..7
1.1.2. Các phƣơng pháp kiểm tra đồ thị là liên thông là cây không phải rừng
qua ma trận đặc trƣng. ....................................................................... ..................7
1.2. Cơ sở dữ liệu song song…………………………………………......…........9

1.2.1. Các phƣơng pháp phân mảnh cơ bản .........................................................9
1.2.2. Cách tái thiết các mảnh…………………………………………....... .........12
1.2.3. Cây toán tử……………………………………………………...................13
Chƣơng 2 CÁC THUẬT TOÁN GỘP THÔNG QUA MA TRẬN ĐẶC
TRƢNG ĐỂ CÓ CÂY TOÁN TỬ CHI PHÍ CỰC TIỂU………………...... ......25


2.1. Các dạng hàm chi phí trong xử lý song song……………………..................32
2.1.1. Chi phí tại bộ xử lý............................................................................... ......32
2.1.2. Chi phí truyền thông…………………………………………..…...... ........33
2.2. Thuật toán gộp để có cây toán tử tốt nhất......................................................34
2.2.1. Thuật toán cắt……………………………………………………… ..........34
2.2.2. Thuật toán gộp……………………………………………….....…. ...........35
2.3. Thuật toán tính chi phí trên cây toán tử………………………….....…. .......43
2.3.1. Thuật toán tính chi phí trên cây…………………………………...… ........43
2.3.2. Khôi phục câu lệnh từ cây toán tử……………………………………. ......44
Chƣơng 3. CHƢƠNG TRÌNH ĐỀ MÔ .............................. .................................49
3.1. Giới thiệu CSDL và các ứng dụng (Các câu truy vấn) tại trƣờng............ ......50
3.2. Thuật toán gộp trên cây toán tử và tính chi phí....................................... .......51
3.3. Xây dựng lại cây toán tử......................................................................... ........51
KẾT LUẬN VÀ KIẾN NGHỊ .............................................................................58
TÀI LIỆU THAM KHẢO……………………………………………..…. ..........59


DANH MỤC CÁC BẢNG
Bảng 1.1. Ma trận đặc trƣng của cây ......................................................... 9
Bảng 1.2-1. Quan hệ NhanVien .................................................................. 10
Bảng 1.2-2. Quan hệ DuAn ........................................................................ 10
Bảng 1.2-3. Quan hệ TraLuong .................................................................. 11
Bảng 1.2-4. Quan hệ PhanNhiem ............................................................... 11

Bảng 2 . Mảnh ngang DuAn H1 ................................................................... 14
Bảng 3 . Mảnh ngang DuAn H2 ................................................................... 14
Bảng 4 . Mảnh ngang DuAn H3 ................................................................... 14
Bảng 5. Mảnh dẫn xuất NhanVienDanxuat1 tƣơng ứng TraLuong1 ................. 15
Bảng 6. Mảnh dẫn xuất NhanVienDanxxuat2 tƣơng ứng TraLuong2 ................ 16
Bảng 7. Mảnh dẫn xuất PhanNhiemDanxuat1 tƣơng ứng với DuAnH1 ............ 16
Bảng 8. Mảnh dẫn xuất PhanNhiemDanxuat2 tƣơng ứng với DuAnH3 ............. 17
Bảng 9. Mảnh dẫn xuất PhanNhiemDanxuat3 tƣơng ứng với DuAnH4 ............. 17
Bảng 10. Mảnh dẫn xuất PhanNhiemDanxuat4 tƣơng ứng với DuAnH6 ........... 17
Bảng 11. Mảnh dẫn xuất PhanNhiemDanxuat1 tƣơng ứng với NhanVienH1 .... 18
Bảng 12. Mảnh dẫn xuất PhanNhiemDanxuat1 tƣơng ứng với NhanVienH2 .... 18
Bảng 13. Quan hệ nhân viên ....................................................................... 21
Bảng 14. Phân mảng hàm băm ................................................................... 22
Bảng 15. Bảng có trọng số ......................................................................... 26
Bảng 16. Bảng C trọng số của đồ thị .......................................................... 40
Bảng 17. Bảng D nội dung lệnh tại các nút ................................................. 41


CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1. Cây liên thông 11 đỉnh có 10 cạnh đƣợc gắn trọng số .............................. 8
Hình 2 . Đồ thị nối giữa các mảnh ........................................................................ 14
Hình 3. Ví dụ về cây toán tử ................................................................................. 24
Hình 4. Cây có trọng số ........................................................................................ 25
Hình 5. Đồ thị liên thông ...................................................................................... 29
Hình 6. Cắt rời hai nút i và j ................................................................................. 36
Hình 7. Gộp đỉnh j vào i ....................................................................................... 37
Hình 8. Cây có trọng số ........................................................................................ 39


CÁC KÝ TỰ VIẾT TẮT

- LAN: mạng cục bộ (local area network)
- CSDL: cơ sở dữ liệu
- NV: nhân viên
- TenNV: tên nhân viên
- MaNV: mã nhân viên
- TrinhdoCM: trình độ chuyên môn
- DA: dự án
- LV: làm việc
- DS: danh sách
- SQL: (structured query language) ngôn ngữ truy vấn mang tính cấu trúc
- PC: personal computer (máy tính cá nhân)


1

PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Chúng ta sẽ dùng phƣơng án gộp các toán tử cho các bộ xử lý để tổng
thời gian (hay chi phí bằng tiền) trả lời câu truy vấn nhỏ nhất. Đặc biệt,
chúng ta sẽ tập trung vào bài toán cây toán tử “Đƣờng ống”. Hơn nữa,
trong đề tài sẽ đề xuất việc gộp sẽ đƣợc thực hiện trên ma trận đặc trƣng
của cây toán tử. Đây là vấn đề mới và hiệu quả hơn khi xử lý trực tiếp trên
cây toán tử đã cho.
2. Mục đích nghiên cứu (Các kết quả cần đạt đƣợc)
Dựa vào ma trận đặc trƣng để tìm cây toán tử có chi phí nhỏ nhất.
3. Nhiệm vụ nghiên cứu
Phƣơng pháp gộp các toán tử trên cây toán tử đẻ có chi phí xử lý nhỏ
nhất dựa vào ma trận đặc trƣng .
4. Đối tƣợng và phạm vi nghiên cứu
Toán rời rạc.

Xử lý song và phân tán
5. Phƣơng pháp nghiên cứu
Dùng các kiến thức: Toán rời rạc, xử lý song - phƣơng pháp gộp các
toán tử dựa trên chi phí xử lý và truyền thông
6. Giả thuyết khoa học
Nghiên cứu sâu về xử lý song song và phân tán nhằm mục đích bổ sung
thêm các kiến thức và ứng dụng.


2

PHẦN NỘI DUNG
Chương 1: CƠ SỞ LÝ THUYẾT
1.1.Toán rời rạc
Đồ thị[9]
Định nghĩa 1.1.1: Một đơn đồ thị G = (V, E) gồm một tập khác rỗng V mà
các phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của nó gọi là
các cạnh, đó là các cặp không có thứ tự của các đỉnh phân biệt.
Định nghĩa 1.1.2: Một đa đồ thị G = (V, E) gồm một tập khác rỗng V mà các
phần tử của nó gọi là các đỉnh và một họ E mà các phần tử của nó gọi là các
cạnh, đó là các cặp không có thứ tự của các đỉnh phân biệt. Hai cạnh đƣợc gọi
là cạnh bội hay song song nếu chúng cùng tƣơng ứng với một cặp đỉnh.
Định nghĩa 1.1.3: Một giả đồ thị G = (V, E) gồm một tập khác rỗng V mà các
phần tử của nó gọi là các đỉnh và một họ E mà các phần tử của nó gọi là các
cạnh, đó là các cặp không có thứ tự của các đỉnh (không nhất thiết là phân
biệt).
Định nghĩa 1.1.4: Một đồ thị có hƣớng G = (V, E) gồm một tập khác rỗng V
mà các phần tử của nó gọi là các đỉnh và một tập E mà các phần tử của nó gọi
là các cung, đó là các cặp có thứ tự của các phần tử thuộc V.
Định nghĩa 1.1.5: Một đa đồ thị có hƣớng G = (V, E) gồm một tập khác rỗng

V mà các phần tử của nó gọi là các đỉnh và một họ E mà các phần tử của nó
gọi là các cung, đó là các cặp có thứ tự của các phần tử thuộc V.
Các ví dụ về đồ thị
1) Đồ thị“lấn tổ” trong sinh thái học. Đồ thị đƣợc dùng trong nhiều mô
hình có tính đến sự tƣơng tác của các loài vật. Chẳng hạn sự cạnh tranh của
các loài trong một hệ sinh thái có thể mô hình hóa bằng đồ thị “lấn tổ”. Mỗi


3

loài đƣợc biểu diễn bằng một đỉnh. Một cạnh vô hƣớng nối hai đỉnh nếu hai
loài đƣợc biểu diễn bằng các đỉnh này là cạnh tranh với nhau.
2) Đồ thị ảnh hƣởng. Khi nghiên cứu tính cách của một nhóm nguời, ta
thấy một số ngƣời có thể có ảnh hƣởng lên suy nghĩ của những ngƣời
khác. Đồ thị có hƣớng đƣợc gọi là đồ thị ảnh hƣởngcó thể dùng để mô
hình bài toán này. Mỗi ngƣời của nhóm đƣợc biểu diễn bằng một đỉnh. Khi
một ngƣời đƣợc biểu diễn bằng đỉnh a có ảnh hƣởng lên ngƣời đƣợc biểu
diễn bằng đỉnh b thì có một cung nối từ đỉnh a đến đỉnh b.
3) Thi đấu vòng tròn. Một cuộc thi đấu thể thao trong đó mỗi đội đấu với
mỗi đội khác đúng một lần gọi là đấu vòng tròn. Cuộc thi đấu nhƣ thế có
thể đƣợc mô hình bằng một đồ thị có hƣớng trong đó mỗi đội là một đỉnh.
Một cung đi từ đỉnh a đến đỉnh b nếu đội a thắng đội b.
4) Các chƣơng trình máy tính có thể thi hành nhanh hơn bằng cách thi hành
đồng thời một số câu lệnh nào đó. Điều quan trọng là không đƣợc thực
hiện một câu lệnh đòi hỏi kết quả của câu lệnh khác chƣa đƣợc thực hiện.
Sự phụ thuộc của các câu lệnh vào các câu lệnh trƣớc có thể biểu diễn
bằng một đồ thị có hƣớng. Mỗi câu lệnh đƣợc biểu diễn bằng một đỉnh và
có một cung từ một đỉnh tới một đỉnh khác nếu câu lệnh đƣợc biểu diễn
bằng đỉnh thứ hai không thể thực hiện đƣợc trƣớc khi câu lệnh đƣợc biểu
diễn bằng đỉnh thứ nhất đƣợc thực hiện. Đồ thị này đƣợc gọi làđồ thị có ƣu

tiên trƣớc sau.
Bậc của đỉnh.
Định nghĩa 1.1.6: Hai đỉnh u và v trong đồ thị (vô hƣớng) G=(V,E) đƣợc
gọi là liền kề nếu (u,v)E. Nếu e = (u,v) thì e gọi là cạnh liên thuộc với
các đỉnh u và v. Cạnh e cũng đƣợc gọi là cạnh nối các đỉnh u và v. Các
đỉnh u và v gọi là các điểm đầu mút của cạnh e.


4

Định nghĩa 1.1.7: Bậc của đỉnh v trong đồ thị G=(V,E), ký hiệu deg(v), là
số các cạnh liên thuộc với nó, riêng khuyên tại một đỉnh đƣợc tính hai lần
cho bậc của nó.
Đỉnh v gọi là đỉnh treo nếu deg(v)=1 và gọi là đỉnh cô lập nếu deg(v)=0.
Định nghĩa 1.1.8: Đỉnh u đƣợc gọi là nối tới v hay v đƣợc gọi là đƣợc nối
từ u trong đồ thị có hƣớng G nếu (u,v) là một cung của G. Đỉnh u gọi là
đỉnh đầu và đỉnh v gọi là đỉnh cuối của cung này.
Định nghĩa 1.1.9: Bậc vào (t.ƣ. bậc ra) của đỉnh v trong đồ thị có hƣớng
G, ký hiệu degt(v) (t.ƣ. dego(v)), là số các cung có đỉnh cuối là v.
Một vài ứng dụng của các đồ thị đặc biệt:
1) Các mạng cục bộ (LAN): Một số mạng cục bộ dùng cấu trúc hình sao,
trong đó tất cả các thiết bị đƣợc nối với thiết bị điều khiển trung tâm.
Mạng cục bộ kiểu này có thể biểu diễn bằng một đồ thị phân đôi đầy đủ
K1,n. Các thông báo gửi từ thiết bị này tới thiết bị khác đều phải qua thiết
bị điều khiển trung tâm.
Mạng cục bộ cũng có thể có cấu trúc vòng tròn, trong đó mỗi thiết bị nối
với đúng hai thiết bị khác. Mạng cục bộ kiểu này có thể biểu diễn bằng
một đồ thị vòng Cn. Thông báo gửi từ thiết bị này tới thiết bị khác đƣợc
truyền đi theo vòng tròn cho tới khi đến nơi nhận.
Cuối cùng, một số mạng cục bộ dùng cấu trúc hỗn hợp của hai cấu trúc

trên. Các thông báo đƣợc truyền vòng quanh theo vòng tròn hoặc có thể
qua thiết bị trung tâm. Sự dƣ thừa này có thể làm cho mạng đáng tin cậy
hơn. Mạng cục bộ kiểu này có thể biểu diễn bằng một đồ thị bánh xe Wn.
2) Xử lý song song: Các thuật toán để giải các bài toán đƣợc thiết kế để
thực hiện một phép toán tại mỗi thời điểm là thuật toán nối tiếp. Tuy


5

nhiên, nhiều bài toán với số lƣợng tính toán rất lớn nhƣ bài toán mô phỏng
thời tiết, tạo hình trong y học hay phân tích mật mã không thể giải đƣợc
trong một khoảng thời gian hợp lý nếu dùng thuật toán nối tiếp ngay cả khi
dùng các siêu máy tính. Ngoài ra, do những giới hạn về mặt vật lý đối với
tốc độ thực hiện các phép toán cơ sở, nên thƣờng gặp các bài toán không
thể giải trong khoảng thời gian hợp lý bằng các thao tác nối tiếp. Vì vậy,
ngƣời ta phải nghĩ đến kiểu xử lý song song.
Khi xử lý song song, ngƣời ta dùng các máy tính có nhiều bộ xử lý riêng
biệt, mỗi bộ xử lý có bộ nhớ riêng, nhờ đó có thể khắc phục đƣợc những
hạn chế của các máy nối tiếp. Các thuật toán song song phân chia bài toán
chính thành một số bài toán con sao cho có thể giải đồng thời đƣợc. Do
vậy, bằng các thuật toán song song và nhờ việc sử dụng các máy tính có bộ
đa xử lý, ngƣời ta hy vọng có thể giải nhanh các bài toán phức tạp. Trong
thuật toán song song có một dãy các chỉ thị theo dõi việc thực hiện thuật
toán, gửi các bài toán con tới các bộ xử lý khác nhau, chuyển các thông tin
vào, thông tin ra tới các bộ xử lý thích hợp.
Khi dùng cách xử lý song song, mỗi bộ xử lý có thể cần các thông tin ra
của các bộ xử lý khác. Do đó chúng cần phải đƣợc kết nối với nhau. Ngƣời
ta có thể dùng loại đồ thị thích hợp để biểu diễn mạng kết nối các bộ xử lý
trong một máy tính có nhiều bộ xử lý. Kiểu mạng kết nối dùng để thực
hiện một thuật toán song song cụ thể phụ thuộc vào những yêu cầu với

việc trao đổi dữ liệu giữa các bộ xử lý, phụ thuộc vào tốc độ mong muốn
và tất nhiên vào phần cứng hiện có.
Mạng kết nối các bộ xử lý đơn giản nhất và cũng đắt nhất là có các liên kết
hai chiều giữa mỗi cặp bộ xử lý. Các mạng này có thể mô hình bằng đồ thị


6

đầy đủ Kn, trong đó n là số bộ xử lý. Tuy nhiên, các mạng liên kết kiểu này
có số kết nối quá nhiều mà trong thực tế số kết nối cần phải có giới hạn.
Biểu diễn đồ thị bằng ma trận
Định nghĩa 1.1.10: Cho đồ thị G=(V,E) (vô hƣớng hoặc có hƣớng), với
V={v1,v2,..., vn}. Ma trận liền kề của G ứng với thứ tự các đỉnh v1,v2,..., vn là
ma trận
A= (aij )1i, jn  M (n, Z ) ,
trong đó aij là số cạnh hoặc cung nối từ vi tới vj.
Nhƣ vậy, ma trận liền kề của một đồ thị vô hƣớng là ma trận đối xứng,
nghĩa là aij  a ji , trong khi ma trận liền kề của một đồ thị có hƣớng không
có tính đối xứng.
Ví dụ: Ma trận liền kề với thứ tự các đỉnh v1, v2, v3, v4trong đồ thị vô
hƣớng là:
0

3
0

2

3 0 2


0 1 1
1 1 2

1 2 0 

v1

v2

v4

v3

Ma trận liền kề với thứ tự các đỉnh v1, v2, v3, v4, v5 là:
1

0
1

0
1


1
1
0
0
1

0

2
0
2
0

1
1
1
0
1

1

0
0

1
0 

v1
v5

v2

v4

v3


7


Định nghĩa 1.1.11: Các đơn đồ thị G1=(V1,E1) và G2=(V2,E2) đƣợc gọi là
đẳng cấu nếu tồn tại một song ánh f từ V1 lên V2 sao cho các đỉnh u và v là
liền kề trong G1 khi và chỉ khi f(u) và f(v) là liền kề trong G2 với mọi u và
v trong V1. Ánh xạ f nhƣ thế gọi là một phép đẳng cấu.
Thông thƣờng, để chứng tỏ hai đơn đồ thị là không đẳng cấu, ngƣời ta
chỉ ra chúng không có chung một tính chất mà các đơn đồ thị đẳng cấu cần
phải có. Tính chất nhƣ thế gọi là một bất biến đối với phép đẳng cấu của
các đơn đồ thị.
1.1.1. Cây liên thông có trọng số tại đỉnh và cạnh
Trong mục này chúng ta chỉ xét loại đơn đồ thị vô hƣớng hữu hạn và có
trọng số.
Định nghĩa.
Cây liên thông là đồ thị liên thông n-đỉnh và có đúng n-1 cạnh.
Trên mỗi đỉnh và mỗi cạnh đều được gán một số được gọi là trọng số tại đỉnh
và trọng số tại cạnh.
Ví dụ 1. hình 1 là cây liên thông
2

4

1
5

10

9
7

3

3

19

9

17
13

11
5
6
7

8
21

15
5

Hình 1. Cây liên thông 11 đỉnh có 10 cạnh đƣợc gắn trọng số

11


8

1.1.2. Các phương pháp kiểm tra đồ thị là liên thông là cây không phải
rừng qua ma trận đặc trưng.
Định nghĩa

Ma trận đặc trưng của một cây n- đỉnh là một bảng mà tiêu đề của các hàng
và các cột có kèm theo trọng số của nó và các O (giao hàng và cột là trọng số
của cạnh) ghi trọng số các cạnh.
Ví dụ 2. Ma trận đặc trƣng của cây ở hình 1 đƣợc thể hiện ở bảng 1.1
1

2

3

4

5

6

7

8

9

t1
1

t1

10

11


t10

t11

0

0

3

0

0

0

0

0

0

0

0

2

0


0

5

0

0

0

0

0

0

0

0

3

3

5

0

7


9

0

0

0

0

0

0

4

0

0

7

0

0

0

0


0

0

0

0

5

0

0

9

0

0

11

13

0

0

0


0

6

0

0

0

0

11

0

0

0

0

0

0

7

0


0

0

0

13

0

0

15

0

0

0

8

0

0

0

0


0

0

15

0

17

0

21

9

0

0

0

0

0

0

0


17

0

19

0

10

t10

0

0

0

0

0

0

0

0

19


0

0

11

t11

0

0

0

0

0

0

0

21

0

0

0


Bảng 1.1. Ma trận đặc trƣng của cây ở hình 1


9

Nhận xét
 Ma trận đặc trƣng là ma trận đối xứng qua đƣờng chéo chính
 Các phần tử trên đƣờng chéo chính đều bằng không
 Theo định nghĩa của cây liên thông thì phía dƣới (trên) đƣờng chéo
chính chỉ có n-1 có giá trị khác không.
Từ đây chúng ta có thể đƣa ra các thuật toán để kiểm tra dữ liệu nhập vào
có tạo thành cây hay không. Nghĩa thỏa mãn các nhận xét trên hay không.
Các thuật toán đƣợc trình bày tại chƣơng 2
1.2. Cơ sở dữ liệu song song
1.2.1. Các phương pháp phân mảnh cơ bản.
Để thuận lợi cho viện nghiên cứu, chúng ta xét CSDL quan hệ và dữ liệu của
công ty Điện-Toán nhƣ sau:
 Quan hệ NhanVien(MaNV, TenNV, TrinhDoCM)
MaNV

TenNV

TrinhDoCM

NV1

Nguyễn Văn Bổng

Kỹ sƣ điện


NV2

Lê Hồng Ngoc

Phân tích và thiết kế hệ thống

NV3

Hoàng Trung Mã

Kỹ sƣ cơ khí

NV4

Trịnh Kim Thanh

Lập trình viên

NV5

Ngô Đình Vinh

Phân tích và thiết kế hệ thống

NV6

Trần Mỹ Lệ

Kỹ sƣ điện


NV7

Lê Hồng Hạnh

Kỹ sƣ cơ khí

NV8

Nguyễn Trƣờng Tam

Phân tích và thiết kế hệ thống

Bảng 1.2-1. Quan hệ NhanVien


10

 Quan hệ DuAn(MaDuAn, TenDuAn, NganSach)
MaDuAn TenDuAn

NganSach

ViTri

DA1

Thiết bị đo đạc

150000


Hải Phòng

DA2

Phát triển CSDL

135000

Hà Nội

DA3

CAD/ CAM

250000

Hà Nội

DA4

Bảo dƣỡng

310000

TP.Hồ Chí Minh

Bảng 1.2-2. Quan hệ DuAn
 Quan hệ TraLuong(TrinhDoCM, Luong)
TrinhDoCM


Luong

Kỹ sƣ điện

4000

Phân tích và thiết kế hệ thống

3400

Kỹ sƣ cơ khí

2700

Lập trình viên

2400
Bảng 1.2-3. Quan hệ TraLuong


11

 Quan hệ PhanNhiem (MaNV, MaDuAn, ThoiGianLV, ChucVu)
MaNV MaDuAn ChucVu

ThoiGianLV

NV1


DA1

Giám đốc

12

NV2

DA1

Nhân viên phân tích và thiết kế

24

NV2

DA2

Nhân viên phân tích và thiết kế

6

NV3

DA3

Nhân viên tƣ vấn

10


NV3

DA4

Kỹ sƣ

48

NV4

DA2

Lập trình viên

18

NV5

DA2

Giám đốc

24

NV6

DA4

Giám đốc


48

NV7

DA3

Kỹ sƣ

36

NV8

DA3

Giám đốc

40

Bảng 1.2-4. Quan hệ PhanNhiem
Với mô hình liên kết thực thể nhƣ sau:


12

Các kiểu phân mảnh cơ bản là: Phân mảnh ngang, phân mảnh dọc. Ngoài
ra còn có các kiểu phân mảnh dựa trên hai cách cơ bản đã nêu là phân mảnh
ngang dẫn xuất và phân mảnh hỗn hợp.
1.2.1.1. Phân mảnh ngang
Có hai loại phân mảnh ngang: phân mảnh ngang nguyên thuỷ và phân
mảnh ngang dẫn xuất.

(1) Phân mảnh ngang nguyên thuỷ.
Phân mảnh ngang nguyên thuỷ là phân rã một quan hệ thành các tập gồm
các bộ dựa trên các vị từ đƣợc định nghĩa trên quan hệ đó.
(2) Phân mảnh ngang dẫn xuất. Phân mảnh ngang dẫn xuất là phân mảnh một
quan hệ dựa vào các vị từ đƣợc định nghĩa trên quan hệ chủ (Parent).
Phân mảnh ngang nguyên thủy
Phân mảnh ngang nguyên thuỷ đƣợc định nghĩa bằng một thuật toán chọn
trên các quan hệ nguồn của một lƣợc đồ CSDL. Mảnh ngang Ri bao gồm các
bộ của R đƣợc chọn ra theo công thức:
Ri = Fi(R), 1≤ i ≤ z.
Trong đó Fi là công thức chọn. Chú ý rằng chúng ta xét Fi có dạng chuẩn
hội, nó là một vị từ hội sơ cấp.
Ví dụ
Phân rã quan hệ DuAn thành các mảnh ngang DuAnH1 và DuAnH2 nhƣ sau:
DuAnH1 = NganSach 

200000

(DuAn)

DuAnH2 = NganSach > 200000 (DuAn)
Một số vấn đề gặp phải khi phân hoạch ngang.


13

Ví dụ
Xét quan hệ DuAn. Chúng ta có thể định nghĩa các mảnh ngang sau đây dựa
vào vị trí dự án.
DuAnH1


=

ViTri =

DuAnH2 = ViTri
DuAnH3 = ViTri

"Hải Phòng"(DuAn)

= "Hà Nội"

(DuAn)

= "TP.Hồ chí Minh"

(DuAn)

Các mảnh thu đƣợc trình bày trong các bảng 2,3,4 tƣơng ứng
MaDuAn

TenDuAn

NganSach

ViTri

DA1

Thiết bị đo đạc


150000

Hải Phòng

Bảng 2 . Mảnh ngang DuAn H1

MaDuAn TenDuAn

NganSach

ViTri

DA2

Phát triển CSDL

135000

Hà Nội

DA3

CAD/CAM

250000

Hà Nội

Bảng 3 . Mảnh ngang DuAn H2


MaDuAn

TenDuAn

NganSach

ViTri

DA4

Bảo dƣỡng

310000

TP.Hồ

Chí

Minh
Bảng 4 . Mảnh ngang DuAn H3
Phân mảnh ngang dẫn xuất
Phân mảnh ngang dẫn xuất là phân mảnh ngang trên đích của một đƣờng
nối dựa theo phép toán chọn trên quan hệ nguồn của đƣờng nối đó. Chúng ta
cần nhớ hai điểm. Trƣớc tiên, đƣờng nối giữa quan hệ nguồn và đích đƣợc
định nghĩa là một đƣờng nối bằng (equijon). Thứ hai, nối bằng có thể đƣợc
cài đặt nhờ các nối nửa (semijooin). Điểm này rất quan trọng đối với mục


14


đích của chúng ta vì chúng ta muốn phân hoạch quan hệ đích theo phân mảnh
của nguồn nhƣng cũng muốn mảnh thu đƣợc chỉ định nghĩa trên các thuộc
tính của quan hệ đích.
Nhƣ thế nếu cho trƣớc một đƣờng lối L, trong đó Nguon(L) = S và Dich(L)
= R, các mảnh ngang dẫn xuất của R đƣợc định nghĩa là:
Ri = R╞ Si, 1  i 
Trong đó  là số lƣợng các mảnh đƣợc định nghĩa trên R, và S i = Fi(S) với
Fi là công thức định nghĩa mảnh ngang nguyên thuỷ Si.
Ví dụ
Xét đƣờng nối l1 trong hình 2, trong đó Nguon(l1) = TraLuong và Dich(l1)
= NhanVien. Thế thì chúng ta có thể nhóm các kỹ sƣ thành hai nhóm tuỳ theo
lƣơng: nhóm có lƣơng từ 30000 USD trở xuống và nhóm có trên 30000 USD.
Hai mảnh đƣợc sinh ra nhƣ sau:
TrinhDoCM, Luong

TrinhDoCM, Luong

TraLuong1

TraLuong2

MaNV, TenNV, TrinhDoCM

MaNV, TenNV, TrinhDoCM

NhanVien1

NhanVien2


Hình 2 . Đồ thị nối giữa các mảnh

NhanVienDanxxuat1 = NhanVien ╞ TraLuong1
NhanVienDanxxuat2 = NhanVien ╞ TraLuong2
Trong đó
TraLuong1 = Luong  30000 (TraLuong)
TraLuong2 = Luong > 30000 (TraLuong)
Kết quả phân mảnh đƣợc trình bày trong các bảng 5,6


15

MaNV

TenNV

TrinhDoCM

NV3

Hoàng Trung Mã

Kỹ sƣ cơ khí

NV4

J.Miller

Lập trình viên


NV7

Lê Hồng Hạnh

Kỹ sƣ cơ khí

Bảng 5. Mảnh dẫn xuất NhanVienDanxuat1 tƣơng ứng TraLuong1
MaNV

TenNV

TrinhDoCM

NV1

Nguyễn Văn Bổng

Kỹ sƣ điện

NV2

M.Smith

Phân tích và thiết kế hệ

NV5

Ngô Đình Vinh

thống


NV6

Trần Mỹ Lệ

Phân tích và thiết kế hệ

NV8

Nguyễn Trƣờng Tam

thống
Kỹ sƣ điện
Phân tích và thiết kế hệ
thống

Bảng 6. Mảnh dẫn xuất NhanVienDanxxuat2 tƣơng ứng TraLuong2
Các thông tin cần cho phân mảnh ngang dẫn xuất
Ví dụ
Xét PhanNhiem theo các mảnh DuAnH1, DuAnH3 , DuAnH4 và DuAnH6 của
DuAn đã thu đƣợc trong Ví dụ 2-10. Cần nhớ lại rằng
DuAnH1 = ViTri = “Moltreal”  NganSach  200000 (DuAn)
DuAnH3 = ViTri = “Hà Nội”  NganSach  200000 (DuAn)
DuAnH4 = ViTri = “Hà Nội”  NganSach > 200000 (DuAn)
DuAnH6 = ViTri = “TP.Hồ Chí Minh ”  NganSach > 200000 (DuAn)


16

Vì thế phân mảnh dẫn xuất của PhanNhiem theo { DuAn 1,DuAn3, DuAn4,

DuAn6} Sẽ cho:
PhanNhiemDanxuat1 = PhanNhiem ╞ DuAnH1
PhanNhiemDanxuat2 = PhanNhiem ╞ DuAnH3
PhanNhiemDanxuat3 = PhanNhiem ╞ DuAnH4
PhanNhiemDanxuat4 = PhanNhiem ╞ DuAnH6
Thể hiện của các mảnh này đƣợc trình bày trong các bảng 7-8-9
MaNV

MaDuAn

ChucVu

ThoiGianLV

NV1

DA1

Giám đốc

12

NV2

DA2

Nhân viên phân tích và thiết kế

24


Bảng 7. Mảnh dẫn xuất PhanNhiemDanxuat1 tƣơng ứng với DuAnH1
MaNV

MaDuAn

ChucVu

ThoiGianLV

NV2

DA2

Nhân viên phân

6

NV4

DA2

tích và thiết kế

18

NV5

DA2

Lập trình viên


24

Giám đốc
Bảng 8. Mảnh dẫn xuất PhanNhiemDanxuat2 tƣơng ứng với DuAnH3

MaNV

MaDuAn

ChucVu

ThoiGianLV

NV3

DA3

Nhân viên tƣ vấn

10

NV6

DA3

Kỹ sƣ

36


V7

DA3

Giám đốc

40

Bảng 9. Mảnh dẫn xuất PhanNhiemDanxuat3 tƣơng ứng với DuAnH4


×