Bài toỏn quyết định thuộc tớnh khoỏ hay khụng khoỏ

Một phần của tài liệu Nghiên cứu một số khía cạnh lý thuyết trong mô hình CSDL quan hệ (Trang 125)

- Phỏt biểu bài toỏn: Cho S = <, F> là một lược đồ quan hệ, tập cỏc thuộc tớnh  = {A1, ..., An}, tập cỏc phụ thuộc hàm F trờn  và thuộc tớnh bất kỳ b  . Quyết định xem b cú là thuộc tớnh khoỏ hay khụng.

Input: Lược đồ quan hệ < , F > và b .

Output: Thuộc tớnh b là thuộc tớnh khoỏ hay thuộc tớnh khụng khoỏ của S.

- Chứng minh bài toỏn quyết định thuộc tớnh khoỏ là NP-C:

Để chứng minh bài toỏn này ta dựa vào định lý sau:

Định lý 3.2:

Bài toỏn quyết định thuộc tớnh khoỏ là NP - đầy đủ (NP-C).

Chứng minh:

Gọi P2 là bài toỏn quyết định thuộc tớnh khoỏ. Để chứng minh bài toỏn P2 là NP-C ta chứng minh theo hai bước.

Trước hết ta chứng minh P2 NP (1)

Thực vậy, hóy tạo sinh một cỏch khụng đơn định một tập con của  và sau đú kiểm tra xem nú cú phải là một khoỏ (theo nghĩa tối tiểu) cú chứa b hay khụng? ta sẽ cú thuật toỏn khụng đơn định thời gian đa thức. Vậy bài toỏn P2 thuộc lớp NP.

Tiếp theo ta chứng minh : P2 NP-Hard (2)

Để chứng minh bài toỏn P2 là NP-Hard ta dựa vào bài toỏn B nào đú sao cho B  P2 (trong đú bài toỏn B đó được xỏc định là bài toỏn NP-C). Muốn vậy chỉ cần

chỉ ra cú một bài toỏn đó biết thuộc NP-C (ở đõy ta dựng bài toỏn siờu khoỏ cú lực lượng khụng quỏ m) dẫn đa thức được về bài toỏn quyết định thuộc tớnh khoỏ (cú nghĩa chứng minh: P1 P2 )

Để làm điều này, ta giả sử đầu vào của bài toỏn P1 là 1, F1 và số nguyờn dương m.

Định nghĩa cỏc tập , F và b cho bài toỏn tương ứng P2 như sau:

 = 1 [2 x1]  {b}

trong đú 2 là tập cú lực lượng bằng min(|1|, m), cũn b là thuộc tớnh mới khụng thuộc 1 [2 x1].

Tập F được định nghĩa như sau:

(i) Với mỗi cặp X, Y cỏc tập con của 1, nếu (X  Y) F1+ thỡ: ({b}  X  Y)  F

(ii) {b} 1 2 x1

(iii) Với mỗi phần tử i 2 và mỗi phần tử e 1, {b}  {(i, e)} {e} (iv) Với mỗi phần tử i 2 và mỗi cặp e, f cỏc phần tử phõn biệt của 1,

{(i, e), (i, f)}  {b}

(v) Với mỗi phần tử e 1, {e} {b}

(vi) Khụng cú những cặp cú thứ tự nào khỏc với những cặp được cho bởi (i) - (v) là thuộc F

Chỳ ý: |2|  |1|, ||  |1|2 + |1| + 1 và |F|  |F1| + 1 + |1|3 + |1|2 + |1|

Bổ đề sau đõy chứng tỏ rằng bài toỏn siờu khoỏ lực lượng khụng quỏ m (bài toỏn P1) dẫn đa thức được đưa về bài toỏn thuộc tớnh khoỏ (bài toỏn P2).

Bổ đề 3.2:

Thuộc tớnh b là thuộc tớnh khoỏ đối với <, F> khi và chỉ khi <1, F1> cú một siờu khoỏ cú lực lượng khụng lớn hơn m (tức  m)

Chứng minh:

Trước hết xột trường hợp <, F> cú khoỏ K chứa b. Do tớnh tối tiểu của K và do cỏc tớnh chất (iv) và (v) ở trờn, K ={b}  {(i[1], c[1]), ..., (i[n], c[n])}, trong đú (adsbygoogle = window.adsbygoogle || []).push({});

i[1], ..., i[n] là cỏc phần tử phõn biệt của 2, và

c[1], ..., c[n] là cỏc phần tử phõn biệt của 1, và n  0.

- Ta sẽ chứng tỏ rằng K’ = {c[1], ..., c[n]} là một siờu khoỏ của <1, F1>. Thực vậy, gọi L’ là tập con tối đại của 1 sao cho (K’ L’)  F1+. Nếu L’ = 1 thỡ K’ đỳng là một siờu khoỏ của <1, F1>.

Giả sử L’ 1 (L’ là một tập con thực sự của 1). Theo cỏch chọn của L’ và theo cỏc tớnh chất quen biết liờn quan tới cỏc phụ thuộc hàm, L’ là một tập con thực sự của 1 chứa K’ nhưng khụng là siờu khoỏ của <1, F1>.

Như vậy K  L’ là một tập con thực sự của , chứa K nhưng khụng là siờu khoỏ của <, F>. Suy ra K khụng là siờu khoỏ của <, F>, mõu thuẫn! Và như đó khẳng định, K’ là một siờu khoỏ của <1, F1> và |K’|  n  |2|  m.

Vậy nếu b là thuộc tớnh khoỏ đối với <, F> thỡ <1, F1> cú một siờu khoỏ với lực lượng khụng lớn hơn m.

- Để chứng minh điều ngược lại, giả sử rằng <1, F1> cú một siờu khoỏ K’ với |K’| = n  m.

Ký hiệu cỏc phần tử của K’ là c[1], ..., c[n]. Vỡ n  |1| và |2|= min(|1|, m), |2| chứa n phần tử phõn biệt, ký hiệu là i[1], ..., i[n]. Ta sẽ chứng minh rằng {b} 

{(i[1], c[1]), ..., (i[n], c[n])} = K là một khoỏ của <, F>.

Theo (iii), (K  {b}  K’)  F+. Vỡ K’ 1 F1+, nờn theo (i): ({b}  K’

 {b} 1)  F+.

Theo (ii) ta cú {b} 1 2 x1 F.

Như vậy, theo tiờn đề bắc cầu và quy tắc hợp ta cú K  {b}  1  2 x

1, điều này chứng tỏ K là siờu khoỏ của <, F>.

Tiếp theo ta thấy, K - {b} là một tập con thực sự của  mà khụng là siờu khoỏ. Do đú b là cốt yếu đối với K. Vậy K phải chứa một khoỏ của <, F> mà khoỏ này chứa b. Điều này chứng tỏ b là thuộc tớnh khoỏ đối với <, F>.

Vậy bài toỏn P2 là NP-Hard.

Từ (1) và (2) theo định nghĩa về lớp bài toỏn NP-C ta kết luận bài toỏn P2 là NP-C.

KẾT LUẬN

Qua quỏ trỡnh nghiờn cứu về một số khớa cạnh lý thuyết trong mụ hỡnh CSDL quan hệ, luận văn đó trỡnh bày một cỏch cú hệ thống và đầy đủ một số vấn đề sau:

 Lý thuyết thiết kế CSDL quan hệ.

 Nghiờn cứu sõu sắc về lý thuyết kết nối và một số kết quả của lý thuyết kết nối, đặc biệt là định lý 2.1 (Định lý cho điều kiện cần và đủ về kết nối khụng mất thụng tin)

 Nghiờn cứu phộp nửa kết nối, tớnh chất và ý nghĩa của phộp nửa kết nối, ứng dụng trong tối ưu hoỏ cõu hỏi.

 Khỏi quỏt về CSDL phõn tỏn, một số nguyờn lý chung về tối ưu hoỏ cõu hỏi bao gồm: cỏc chiến lược tối ưu tổng quỏt, cỏc kỹ thuật tối ưu hoỏ cõy truy vấn, phõn ró cõu truy vấn và định vị dữ liệu.

 Cỏc kỹ thuật và thuật toỏn tối ưu hoỏ cõu hỏi trong mụi trường tập trung và mụi trường phõn tỏn được sử dụng trong cỏc hệ quản trị CSDL hiện hành.

 Giới thiệu một số bài toỏn NP-C trong lý thuyết cỏc hệ CSDL. Một số hướng phỏt triển của luận văn:

 Nghiờn cứu và phõn tớch sõu sắc hơn nữa cỏc chiến lược kết hợp giữa kết nối và nửa kết nối, sử dụng nửa kết nối băm, cỏc thuật toỏn heuristic nhằm ỏp dụng một cỏch cú hiệu quả trong từng trường hợp, cú thể đưa cỏc nghiờn cứu về mặt lý thuyết vào ứng dụng trong thực tiễn.

 Nghiờn cứu và phõn tớch một số kỹ thuật tiếp cận mới ứng dụng trong tối ưu hoỏ cõu hỏi như: sử dụng thụng tin phụ thuộc vị trớ để thực hiện nối, xử lý truy vấn chuỗi, sử dụng mụ hỡnh lớ thuyết đồ thị, ...

 Nghiờn cứu và phõn tớch đầy đủ lớp cỏc bài toỏn trong cỏc hệ CSDL là NP-C, nghiờn cứu cỏc thuật toỏn xấp xỉ để giải cỏc bài toỏn NP-Hard.

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Nguyễn Kim Anh (2006), Nguyờn lý của cỏc hệ cơ sở dữ liệu, NXB Đại học Quốc gia Hà nội. (adsbygoogle = window.adsbygoogle || []).push({});

[2] Hồ Thuần (1998), Cơ sở dữ liệu nõng cao, Đề cương chi tiết cho cỏc lớp Cao học, ĐHBK Hà nội.

[3] Hồ Thuần, Hồ Cẩm Hà (2004, 2005), Cỏc hệ cơ sở dữ liệu lý thuyết và thực hành, Tập I và II, NXB Giỏo dục, Hà nội.

[4] Trịnh Nhật Tiến (2006), Thiết kế và đỏnh giỏ thuật toỏn, Tập bài giảng cho cỏc lớp Cao học, Đại học Cụng nghệ, Đại học Quốc gia Hà nội.

[5] Đỗ Trung Tuấn (1998), Cơ sở dữ liệu, NXB Giỏo dục, Hà nội.

[6] Nguyễn Tuệ (2006), Cơ sở dữ liệu nõng cao, Tập bài giảng cho cỏc lớp Cao học, Đại học Cụng nghệ, Đại học Quốc gia Hà nội.

[7] Jeffrey D. Ullman, Biờn dịch Trần Đức Quang (2002), Nguyờn lý cỏc hệ cơ sở dữ liệu và cơ sở tri thức, Tập I và II, NXB Thống kờ.

[8] Kenneth H. Rosen, Người dịch: Phạm Văn Thiều, Đặng Hữu Thịnh (1998),

Toỏn rời rạc ứng dụng trong tin học, NXB Khoa học và kỹ thuật.

[9] M. Tamer Ozsu, Patrick Valduriez, Biờn dịch Trần Đức Quang (1999), Nguyờn lý cỏc hệ cơ sở dữ liệu phõn tỏn, Tập I, NXB Thống kờ.

[10] Lờ Tiến Vương (2000), Nhập mụn Cơ sở dữ liệu quan hệ, NXB Thống kờ, TPHCM.

Tiếng Anh

[11] Aho A.V., Beeri C., Ullman J. D. (1979), “The Theory of Joins in Relational Databases”

[12] Lucchesi C. L., Osborn S. L. (1978), “Candidate Keys for Relations”, J. of Computer and System Sciences, 17, pp. 270-279.

[13] Ogunbadejo O. (1998), Experiment with Hash-Semijoins in Distributed Query Processing, pp. 10-32, Thesis of Master of Science, University of Windsor, Ontario, Canada.

PDF Merger

Merger! To remove this page, please register your program!

Go to Purchase Now>>

 Merge multiple PDF files into one

 Select page range of PDF to merge

 Select specific page(s) to merge

 Extract page(s) from different PDF

files and merge into one

Một phần của tài liệu Nghiên cứu một số khía cạnh lý thuyết trong mô hình CSDL quan hệ (Trang 125)