Chân trị của các phép toán mệnh đề Chú ý: Một biểu thức logic có m biến sẽ có 2m giá trị.. Bảng ưu tiên các phép toán mệnh đề Biểu thức logic là một mệnh đề phức hợp, biểu thức logic thư
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
NGUYỄN THỊ VÂN HÀ
CẤP PHÁT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN
LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH
HÀ NỘI, 2017
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
NGUYỄN THỊ VÂN HÀ
CẤP PHÁT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN
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, 201
Trang 3LỜ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ôitrong 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ănnày
Mặc dù đã có những cố gắng, tìm tòi nhất định, song chắc chắn luậnvă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 28 tháng 11 năm 2017
Học viên
Nguyễn Thị Vân Hà
Trang 4LỜ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ả nghiên cứu tìm tòi của riêng tôi
- 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 đó
Hà Nội, ngày 28 tháng 11 năm 2017
Học viên
Nguyễn Thị Vân Hà
Trang 5MỤC LỤC
LỜI CẢM ƠN………i
LỜI CAM ĐOAN……… ii
MỤC LỤC……… iii
DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT……… v
DANH MỤC CÁC BẢNG……… viii
DANH MỤC CÁC HÌNH VẼ……… ix
PHẦN MỞ ĐẦU 1
1 Lý do chọn đề tài
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ả thuyết khoa học
1 7 Cấu trúc luận văn……… 2
PHẦN NỘI DUNG 3
Chương 1 CƠ SỞ LÝ THUYẾT ……… 3
1.1 Logic mệnh đề ……… 3
1.1.1 Mệnh đề toán học ……… 3
1.1.2 Các biểu thức logic……… 5
1.2 Cơ sở dữ liệu phân tán ………
9 1.2.1 Khái quát về cơ sở dữ liệu phân tán trên cơ sở dữ liệu quan hệ…… 9
1.2.2 Các phương pháp phân mảnh cơ bản ……… ……… 12
1.3 Bài toán quy hoạch nguyên ……… 19
1.3.1 Phát biểu bài toán ……… 19
1.3.2 Một số phương pháp giải ………….……… 21
Trang 6Kết luận chương 1……… 25
Chương 2 CẤP PHÁT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN ……… 26
2.1 Các thông tin cho cấp phát 26
2.1.1 Thông tin về cơ sở dữ liệu quan hệ 26
2.1.2 Thông tin về ứng dụng……… 26
2.1.3 Thông tin về vị trí……… 27
2.1.4 Thông tin về mạng……… 27
2.2 Mô hình cấp phát ……… 28
2.2.1 Phát biểu bài toán cấp phát ……… 28
2.2.2 Hàm chi phí ……… 33
2.2.3 Các ràng buộc ……… 36
2.2.4 Phương pháp giải ……… 38
Kết luận chương 2 ……… 41
Chương 3 CHƯƠNG TRÌNH DEMO ……… 42
3.1 Tóm tắt bài toán……… ……… 42
3.2 Code……… 42
3.3 Các giao diện DEMO ……… 46
3.3.1 Giao diện chính ……… 46
3.3.2 Giao diện dữ liệu DEMO ……… 47
3.3.3 Giao diện nhập dữ liệu mới ……… 47
3.3.4 Giao diện kết quả ……… 49
Kết luận chương 3 ……… 51
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ……… 52
TÀI LIỆU THAM KHẢO 53
Trang 7DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT
Trang 820 rij Phần tử trong ma trận truy xuất đọc
i và Sj
i và Sj
Trang 942 TCU Thành phần chi phí cập nhật của hàm truyền dữliệu
Trang 10DANH MỤC CÁC BẢNG
Trang 11DANH MỤC CÁC HÌNH VẼ
Trang 122 Mục đích nghiên cứu (Các kết quả cần đạt được)
Nghiên cứu bài toán cấp phát trong CSDL phân tán
3 Nhiệm vụ nghiên cứu
Nghiên cứu bài toán cấp phát tổng quát, thu thập dữ liệu để giải bàitoán trên cơ sở bài toán quy hoạch tuyến tính nguyên
4 Đối tượng và phạm vi nghiên cứu
Toán rời rạc
CSDL phân tán
Quy hoạch tuyến tính nguyên
5 Giả thuyết khoa học
Từ việc nghiên cứu bài toán cấp phát trong CSDL phân tán để bổ sungthêm kiến thức vào CSDL phân tán
6 Phương pháp nghiên cứu
Dùng các kiến thức: Toán rời rạc, CSDL phân tán để nghiên cứu bàitoán cấp phát
Dựa vào Quy hoạch tuyến tính nguyên để giải bài toán cấp phát
Trang 137 Cấu trúc luận văn
Ngoài phần mở đầu và kết luận, nội dung của luận văn được trình bàytrong 3 chương.:
Chương 1 Cơ sở lý thuyết
Chương 2 Cấp phát trong cơ sở dữ liệu phân tán
Chương 3 Chương trình DEMO
Trang 14i/ “2 là số chẵn” là mệnh đề đúng nên cho chân trị 1 hoặc T
ii/ “2 không là số nguyên tố” là mệnh đề sai nên cho chân trị 0 hoặc F
iiii/“x + ay = z” không phải mệnh đề nên không có chân trị
Trang 15Các loại mệnh đề và các phép toán mệnh đề
Hai loại mệnh đề cơ bản: mệnh đề sơ cấp (elementary) và mệnh đềphức tạp (compound)
a Mệnh đề sơ cấp.
Mệnh đề sơ cấp hay còn gọi là mệnh đề đơn giản, nó là các nguyên tử
(atom)-không thể chia nhỏ được Chẳng hạn “2 là số nguyên tố”.
b Mệnh đề phức hợp.
Mệnh đề phức hợp: là mệnh đề được tạo ra từ một hoặc nhiều mệnh đề khác bằng cách sử dụng các phép toán logic mệnh đề
Ví dụ
“15 MOD 3 = 0” AND “3 là số nguyên tố”, là mệnh đề phức hợp
Biến mệnh đề hay ký hiệu mệnh đề Để máy tính hiểu được, chúng ta dùng
các kí hiệu cho các mệnh đề đơn giản, được gọi là biến mệnh đề, các biếnmệnh đề thường được dùng là các chữ thường
AND (Phép hội - Conjunction)
OR (Phép tuyển - Disjunction)
() If…Then… (Phép điều kiện hay kéo theo hay suy ra)
() If … AND Only If … (Cần và đủ kéo theo hai chiều hay tương
đương)
XOR (Tổng trực giao - đôi khi dùng ) ( )
chỉ nhóm ưu tiên trong biểu thức logic
Trang 16c Bảng chân trị của các phép toán mệnh đề (Bảng 1.1-1)
Bảng 1.1-1 Chân trị của các phép toán mệnh đề
Chú ý: Một biểu thức logic có m biến sẽ có 2m giá trị
d Mức ưu tiên của các phép toán logic
Thứ tự ưu tiên của các phép toán logic được liệt kê theo mức yếu dần
từ trái sang phải, từ trên xuống dưới (Bảng 1.1-2)
Bảng 1.1-2 Bảng ưu tiên các phép toán mệnh đề
Biểu thức logic là một mệnh đề phức hợp, biểu thức logic thường được
ký hiệu bởi các chữ in hoa và nó là sự kết hợp của các biến mệnh đề, các biểu
thức logic, các phép toán logic và các dấu ( ).
Ví dụ
E = (pq r) t s là một biểu thức logic
1 Biểu thức hằng đúng: Nếu biểu thức logic E luôn đúng với mọi giá trị của
các biến thành phần thì ta gọi E là biểu thức hằng đúng (còn gọi là khảthỏa)
2 Biểu thức hằng sai: Nếu biểu thức logic E luôn sai với mọi giá trị của các
biến thành phần thì ta gọi E là biểu thức hằng sai (hay mâu thuẫn)
Ví dụ: E = pp là hằng đúng, F = pp là hằng sai hay mâu thuẫn
Trang 173 Biểu thức vững chắc: Một biểu thức là vững chắc nếu nó đúng với mọi bộ
giá trị chân lý của các mệnh đề thành phần
5 Biểu thức tuyển cơ bản (hay tuyển sơ cấp): Cho các biến mệnh đề
pi, i 1, n Biểu thức logic Ek = p1p2 … pk được gọi là biểu thức tuyển
sơ cấp
i 1,
m
là biểu thức logic tuyển cơ bản, được gọi là biểu thức chuẩn hội
(hay còn được gọi là hội chính tắc)
i 1,
m
là biểu thức logic hội cơ bản, được gọi là biểu thức chuẩn tuyển
(hay còn được gọi là tuyển chính tắc)
8 Quy tắc chuyển biểu thức logic bất kỳ về dạng chuẩn hội
o Khử các phép tương đương: ab (ab) (b a)
o Khử các phép kéo theo: ab ( a b)
o Chuyển các phép phủ định vào sát các ký hiệu mệnh đề bằng cách áp
dụng luật De Morgan ( a b) a b) và ( a b) a b)
Trang 18Định lý 2
Mọi biểu thức logic F (p 1 , p 2 , p n ) đều tương đương với một biểu thức hội chính tắc duy nhất Tức là F (p 1 , p 2 , p n ) F = F 1 F 2 . F m (duy nhất ) với F i ( i 1, m ) là các biểu thức tuyển cơ bản Nghĩa là F i = q 1 q 2 . q n
logic hay tương đương với nhau nếu P và Q đồng thời có cùng một giá trị
hoàn toàn như nhau, ta viết:
"PQ" và đọc là "P đúng khi và chỉ khi Q đúng", "" gọi là dấu liên
Chú ý: Một số tài liệu là kéo theo hai chiều
Dễ thấy, mối quan hệ tương đương PQ là (PQ) (QP)
Trong trường hợp này, hai phát biểu "PQ" và "QP" gọi là đảo củanhau
Để chứng minh mối quan hệ tương đương PQ, ta phải chứng minh mối quan hệ kéo theo PQ và chiều ngược lại
Chú ý rằng (PQ) (Q P)
Trang 19Trong ngôn ngữ tự nhiên, để diễn đạt mối liên hệ tương đương
giữa P và Q, người ta có nói P đúng khi và chỉ khi Q đúng.
Tính chất của các biểu thức logic tương đương
cả hai có cùng chân trị (hoặc đúng hoặc sai) đồng thời
10 Quan hệ tương đương giữa nhiều biểu thức
Xem xét ba mệnh đề P, Q và R Để chứng minh các mối quan hệ tương
đương P Q R, chúng ta cần chứng minh P Q, Q R và R P
chứng minh các quan hệ kéo theo:
P1 P2, P2 P3… Pn-1 Pn và Pn P1.Cách chứng minh như trên gọi là chứng minh vòng
Trang 2011 Các biểu thức logic tương đương hay dùng (Bảng 1.1-4)
Bảng 1.1-4 Biểu thức logic tương đương
8
(p q) p q
1.2 Cơ sở dữ liệu phân tán
1.2.1 Khái quát về cơ sở dữ liệu phân tán trên cơ sở dữ liệu quan hệ
Hệ CSDL phân tán (Distributed Database System – DDBS) là mộttập hợp dữ liệu có liên đới logic và được phân bố trên các nút của mộtmạng máy tính
Trang 21Hệ quản trị CSDL phân tán (Distributed Database Management System– DDBMS) là một hệ thống phần mềm cho phép quản lý các DDBS và làmcho việc phân tán trở nên vô hình đối với người sử dụng.
Như vậy DDBS là một tập các tệp dữ liệu vừa có liên đới logic, vừaphải có cùng cấu trúc và vừa phải được truy xuất qua một giao diện chung Vàphân bố vật lý của các dữ liệu không phải là vấn đề quyết định
Nhận xét:
Nếu CSDL nằm tại một nút mạng thì nó không phải là DDBS, vì vấn
đề quản trị CSDL không khác với quản trị CSDL trong môi trường tập trungkiểu client/server của mạng
Ví dụ CSDL trong hình 1.2.1-1 không phải là DDBS
Worstation1
Worstation5
MạngTruyền DL
Worstation2
Worstation4
Worstation3
Hình 1.2.1-1 CSDL tập trung, không phải là DDBS
Nếu một cơ sở dữ liệu được phân tán trên nhiều nút mạng, khi đóCSDL sẽ là cơ sở dữ liệu phân tán (Hình 1.2.1-2)
Trang 22MạngTruyền DL
Phần chi phí đáng kế nằm ở chỗ nó cần phải có các phần mềm vàphương pháp truyền thông phức tạp hơn Ngoài ra còn cần chi phí về nhânlực Khi các thiết bị được xây dựng ở nhiều vị trí khác nhau, đòi hỏi phải cóngười điều hành và quán lý
* Quyền điều khiển bị phân tán
Trang 23Điểm này đã được nêu ra tưởng như là một ưu điểm của các hệ CSDLphân tán Tuy nhiên, không may là sự phân tán lại gây ra khó khăn về đồng
bộ hóa Việc điều khiển phân tán có thể trở thành một gánh nặng nếu không
có những chiến lược phù hợp để giải quyết chúng
* Tính an ninh
Trong hệ CSDL phân tán, môi trường mạng kèm theo sẽ có các yêu cầu
an ninh của riêng chúng Vì vậy, vấn đề an ninh trong các hệ CSDL phân tán
rõ ràng là phức tạp hơn so với các hệ tập trung
P
hân loại
CSDL phân tán thuần nhất: là CSDL phân tán có được bằng cách chiamột CSDL thành một tập các CSDL cục bộ, được quản lý bởi cùng một hệQTCSDL
CSDL phân tán có thuần nhất hay không, phụ thuộc bởi các yếu tốphần cứng, hệ điều hành và các hệ QTCSDL cục bộ
CSDL phân tán hỗn tạp: là CSDL phân tán có được bằng cách tích hợpcác CSDL cục bộ đã có, được quản lý bởi nhiều hệ QTCSDL khác nhau
1.2.2 Các phương pháp phân mảnh cơ bản [2], [5], [9]
Các quan hệ CSDL thường được biểu diễn dưới dạng bảng Việc phânmảnh một quan hệ thành nhiều quan hệ con khác nhau, theo các cách khácnhau, sẽ có các cách phân mảnh tương ứng Có các kiểu phân mảnh cơ bản,tương ứng với việc chia quan hệ theo chiều dọc, chiều ngang và hỗn hợp.Giả sử ta có Quan hệ DuAn(MaDuAn, TenDuAn, NganSach) (bảng 1.2-1)
Bảng 1.2-1 Quan hệ DuAn
Trang 24a/ Phân mảnh theo chiều dọc:
mảnh chứa một tập con các thuộc tính của quan hệ R và khóa chính của R.Nghĩa là thiết lập một quan hệ mới chỉ có một số thuộc tính từ quan hệ gốc.Thực chất đây là phép chiếu trên tập con các thuộc tính của quan hệ
chứa tên và vị trí dự án Khoá của quan hệ (MaDuAn) đều có mặt trong cả haimảnh (Bảng 1.2-2 và bảng 1.2-3)
b/ Phân mảnh theo chiều ngang:
Phân mảnh theo chiều ngang là chia quan hệ thành nhiều các nhóm bộ.Kết quả của quá trình phân mảnh ngang là các quan hệ con, số lượng quan hệcon phụ thuộc vào điều kiện ràng buộc của các thuộc tính, các bộ
Trang 25Ví dụ: phân mảnh ngang quan hệ DuAn thành hai quan hệ: Quan hệ con
dưới $200,000
200,000 USD
Có hai loại phân mảnh ngang:
+ Phân mảnh ngang nguyên thủy: là phân mảnh ngang khi thực hiệncác vị từ trên chính quan hệ đó
+ Phân mảnh ngang dẫn xuất: là phân rã một quan hệ dựa trên các vị từcủa quan hệ khác
Như vậy trong phân mảnh ngang tập hợp các vị từ đóng một vai trò quan trọng
Trang 26Các thông tin cần cho phân mảnh ngang:
(1) Thông tin về CSDL
Thông tin về CSDL là thông tin về lược đồ khái niệm toàn cục củaCSDL Tức là chúng ta cần biết được cách mà quan hệ con sẽ hợp () lại vớinhau như thế nào Trong mô hình quan hệ, các liên kết giữa các thực thể cũngđược biểu thị bằng quan hệ Với mục đích thiết kế phân tán, các mối liên kếtcũng được mô hình hoá theo kiểu mô hình quan hệ Theo cách này, chúng ta
sẽ vẽ một đường nối có hướng từ quan hệ Parent đến quan hệ Child [2], [5]
Ví dụ
Hình 1.2.2-1 cho thấy một cách biểu diễn các đường nối giữa các quan
hệ Chú ý rằng hướng của các đường nối sẽ cho biết mối quan hệ một - nhiều(chẳng hạn với “trình độ chuyên môn” có nhiều nhân viên có cùng “trình độchuyên môn” đó, vì thế đường nối hướng từ quan hệ TraLuong đến quan hệNhanVien) Khi là liên kết nhiều - nhiều, được biểu diễn bằng hai đường nốiđến các quan hệ (chẳng hạn giữa NhanVien, DuAn và PhanNhiem)
Một số thuật ngữ được sử dụng thông dụng trong mô hình mạng làquan hệ nguồn - đích Chúng ta hãy định nghĩa hai hàm: Nguon và Dich,chúng là các ánh xạ từ tập các đường nối đến tập các quan hệ Cho trước mộtđường nối chúng sẽ trả về quan hệ đích hoặc quan hệ chủ nguồn của đườngnối (Xem hình 1.2.2-1) Trong đó:
Trang 27Chúng ta cần hai loại thông tin: định tính và định lượng về các ứngdụng Thông tin định tính phục vụ phân mảnh, còn thông tin định lượng sửdụng cho mô hình cấp phát.
Những thông tin định tính gồm có các vị trí được dùng trong các câuvấn tin Nếu không thể phân tích đươc hết tất cả các ứng dụng thì ít nhất cũngphải nghiên cứu được các ứng dụng “quan trọng” nhất
Về phân mảnh dọc chúng ta có thuật toán phân mảnh dọc [2], [5]
MaNV, MaDuAn, ChucVu, ThoiGianLV
Hình 1.2.2-1 Biểu diễn mối liên hệ giữa các quan hệ nhờ các đường nối.
c/ Phân mảnh hỗn hợp
Trong trường hợp phân mảnh dọc có thể được thực hiện sau một phânmảnh ngang hoặc ngược lại, sinh ra một lối phân hoạch có cấu trúc cây (Xemhình 1.2.2-2) Bởi vì, hai loại chiến lược phân hoạch này được áp dụng lầnlượt, chọn lựa này được gọi là phân mảnh hỗn hợp (hybrid fragmentation)
Trang 28Hình 1.2.2-2: Cấu trúc cây của phân mảnh hỗn hợp
Các chiến lược thiết kế hệ thống phân tán
Thiết kế hệ thống phân tán cần phải chọn những vị trí lưu dữ liệu vàcác chương trình trên mạng kết nối, có thể phải kể luôn cả việc thiết kế hệquản trị CSDL phân tán Việc phân tán ứng dụng phải đảm bảo hai vấn đề:(i) Phân tán hệ quản trị CSDL và các chương trình ứng dụng chạy trênDDBMS
(ii) Phân tán dữ liệu
Hai chiến lược chính đã được xác định trong thiết kế DDBMS: Thiết kế
từ trên xuống và thiết kế từ dưới lên
* Thiết kế từ trên xuống
Bắt đầu bằng việc phân tích yêu cầu nhằm định nghĩa môi trường hệthống và thu thập các nhu cầu về dữ liệu và nhu cầu xử lý của tất cả mọingười có sử dụng CSDL Nghiên cứu các yêu cầu cũng cần xác định xem hệthống cuối cùng sẽ như thế nào so với các mục tiêu của một DDBM
Phân tích thực thể có liên quan đến việc xác định các thực thể, cácthuộc tính và các mối liên hệ giữa chúng Phân tích chức năng đề cập đến việcxác định các chức năng cơ bản có liên quan đến xí nghiệp cần được mô hìnhhoá Kết quả của hai quá trình phân tích này cần được đối chiếu qua lại, giúp
Trang 29chúng ta biết được chức năng nào sẽ hoạt tác trên những thực thể nào Có một
sự liên hệ giữa thiết kế khái niệm và thiết kế khung nhìn, người sử dụng cầnphải đặc tả các thực thể và phải xác định các ứng dụng sẽ chạy trên cơ sở dữliệu cũng như các thông tin thống kê về những ứng dụng này Thông tin thống
kê bao gồm cả tính toán các thông tin về tần số ứng dụng, khối lượng cácthông tin mà một câu truy vấn cần dùng trong quá trình thực thi Chú ý rằng
từ bước thiết kế khái niệm sẽ cho ra định nghĩa lược đồ khái niệm toàn cụcGCS (Global Conception Schema) sẽ được thảo luận trong phần sau Ở đây,chúng ta vẫn chưa xem xét các đặc thù phân tán, nên quá trình thiết kế hoàntoàn giống với thiết kế CSDL tập trung
Lược đồ khái niệm toàn cục và thông tin về kiểu mẫu truy xuất thuđược trong thiết kế khung nhìn sẽ là nguyên liệu vào cho bước thiết kế phântán Thiết kế các lược đồ khái niệm cục bộ LCS (Local Conception Schema)
là cách phân tán các thực thể cho các vị trí của hệ thống phân tán, có thể xử lýmỗi thực thể như là một đơn vị phân tán Với mô hình quan hệ được dùng làm
cơ sở thảo luận trong cuốn sách này, các thực thể sẽ tương ứng với các quanhệ
Như đã biết, thiết kế phân tán gồm hai bước:
1/ Phân mảnh và gửi các mảnh đến các vị trí trên hệ xử lý phân tán
Thay vì phân tán các quan hệ, chúng ta thường chia chúng thành nhiềuquan hệ nhỏ hơn gọi là các mảnh và chính các mảnh sẽ được phân tán đến các
vị trí khác nhau (ta hay gọi là cấp phát)
2/ Thiết kế vật lý
Là bước ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật lý
có sẵn tại các vị trí tương ứng Nguyên liệu cho quá trình này là lược đồ kháiniệm cục bộ và thông tin về kiểu mẫu truy xuất mảnh
Trang 30Chúng ta đã biết hoạt động phát triển và thiết kế luôn là một quá trìnhliên tục, đòi hỏi phải theo dõi, hiệu chỉnh thường xuyên Vì thế chúng ta cũngđưa vấn đề quan sát và theo dõi như một hoạt động chính trong quá trình này.Cần chú ý rằng chúng ta không chỉ theo dõi vấn đề cài đặt CSDL mà còn phảixem xét, theo dõi tính thích hợp của các khung nhìn của người sử dụng Kếtquả này có tác dụng phản hồi, tạo tiền đề cho việc tái thiết kế về sau.
* Quá trình thiết kế từ dưới lên
Các bước thiết kế từ dưới lên ngược với quá trình thiết kế từ trênxuống Thiết kế từ trên xuống thích hợp cho việc thiết kế mới từ đầu Tuynhiên, trong thực tế chúng ta hay gặp trường hợp, các cơ quan xí nghiệp cầnchúng ta thiết kế đã có sẵn một số DB hoặc DDB và nhiệm vụ thiết kế là phảitích hợp chúng lại để có DDB theo mục đích - hoặc mục đích mới – cho cơquan xí nghiệp, tiếp cận từ dưới lên sẽ thích hợp cho tình huống này Khởiđiểm của thiết kế từ dưới lên là các lược đồ khái niệm cục bộ Qúa trình này
sẽ bao gồm việc tích hợp các lược đồ khái niệm cục bộ thành các lược đồ kháiniệm toàn cục
1.3 Bài toán quy hoạch tuyến tính nguyên
1.3.1 Phát biểu bài toán quy hoạch tuyến tính nguyên
Bài toán quy hoạch tuyến tính (QHTT) là bài toán tối ưu hóa, trong đóhàm mục tiêu và các điều kiện ràng buộc đều là tuyến tính
Bài toán quy hoạch nguyên là bài toán tuyến tính mà giá trị của nó luônnguyên
Trong nhiều bài toán thực tế, các cấu hình tổ hợp còn được gán một giátrị bằng số, đánh giá giá trị sử dụng của cấu hình đối với một mục đích sửdụng cụ thể nào đó Khi đó xuất hiện bài toán: Hãy lựa chọn trong số tất cảcác cấu hình tổ hợp chấp nhận được, cấu hình có giá trị sử dụng tốt nhất Các
Trang 31bài toán như vậy được gọi là bài toán tối ưu tổ hợp Chúng ta có thể phát biểubài toán tối ưu tổ hợp dưới dạng tổng quát như sau:
Tìm cực tiểu (hay cực đại) của phiếm hàm f(x) = min(max) với điều
số tính chất nào đó cho trước
tiêu
được gọi là phương án tối ưu, khi đó giá trị f* = f(x*) được gọi là giá trị tối ưu
của bài toán
Dưới đây chúng ta sẽ giới thiệu một số bài toán tối ưu tổ hợp kinh điển.Các bài toán này là những mô hình có nhiều ứng dụng thực tế và giữ vai tròquan trọng trong việc nghiên cứu và phát triển lý thuyết tối ưu hoá tổ hợp
Một số ví dụ về bài toán quy hoạch tuyến tính nguyên
Bài toán Người du lịch: Một người du lịch muốn đi thăm quan n thành phố
T 1 , T 2 , …, T n Xuất phát từ một thành phố nào đó, người du lịch muốn đi quatất cả các thành phố còn lại, mỗi thành phố đi qua đúng một lần, rồi quay trở
(i,j = 1, 2, , n), hãy tìm hành trình với tổng chi phí là nhỏ nhất (một hành
trình là một cách đi thoả mãn điều kiện)
Rõ ràng, ta có thể thiết lập được một tương ứng 1-1 giữa hành trình
T(1) T(2) T(n) T(1) với một hoán vị = ((1), (2), , (n))
của n số tự nhiên 1, 2, , n
Trang 32Kí hiệu là tập tất cả các hoán vị = ((1), (2), , (n)) của n số tự
nhiên 1, 2, , n Khi đó bài toán người du lịch có thể phát biểu dưới dạng bài
toán tối ưu tổ hợp sau:
min { f( ):
}
Có thể thấy rằng tổng số hành trình của người du lịch là n!, trong đó chỉ
có (n-1)! hành trình thực sự khác nhau (bởi vì có thể xuất phát từ một thànhphố bất kỳ nên có thể cố định một thành phố nào đó làm điểm xuất phát)
Bài toán cái túi: Một nhà thám hiểm cần đem theo một cái túi có trọng
lượng không quá b Có n đồ vật có thể đem theo Đồ vật thứ j có trọng lượng
đồ vật nào để cho tổng giá trị sử dụng là lớn nhất?
Một phương án của nhà thám hiểm có thể biểu diễn như một vector nhị
các đồ vật đem theo là:
f (x) i1ci xi , tổng trọng lượng đồ vật đem theo là g (x) ni 1 ai xi
Như vậy bài toán cái túi được phát biểu dưới dạng bài toán tối ưu tổhợp sau:
Trong số các vector nhị phân độ dài n thoả mãn điều kiện g(x) ≤ b, hãy
tìm vector x* để hàm mục tiêu f(x) đạt giá trị nhỏ nhất Nói cách khác:
Trên cơ sở các thuật toán liệt kê tổ hợp, ta tiến hành duyệt từng phương
án của bài toán, đối với mỗi phương án, ta đều tính giá trị hàm mục tiêu chophương án đó, sau đó so sánh giá trị của hàm mục tiêu tại tất cả các phương