Cơ sở hệ sinh ánh xạ đóng

Một phần của tài liệu luận án tiến sĩ phát triển một số phụ thuộc logic trong cơ sở dữ liệu (Trang 42 - 50)

ÁNH XẠ ĐÓNG VÀ HỆ SINH CÂN BẰNG

2.3.2Cơ sở hệ sinh ánh xạ đóng

Phần này sẽ trình bày một số khái niệm và tính chất của cơ sở hệ sinh ánh xạ đóng. Các định lý, bổ đề về biểu diễn cơ sở hệ sinh ánh xạ đóng thông qua phép thu gọn hệ sinh. Kết quả của luận án đề xuất về dạng biểu diễn cơ sở của hệ sinh AXĐ qua hợp một vế trái tối tiểu của hệ sinh cho trước và một cơ sở của hệ sinh sau khi thu gọn được trình bày trong phần này. Các kết quả nghiên cứu này của nghiên cứu sinh đã được báo cáo và trình bày trong [2], [3].

Định nghĩa 2.3.4

Ta gọi cơ sở của hệ sinh AXĐ là cơ sở của ánh xạ cảm sinh của hệ sinh đó. Với mỗi hệ sinh AXĐ α = (U,F), ta kí hiệu:

- Base(α) là tập các cơ sở của ánh xạ cảm sinh của hệ sinh α.

- UB là tập các phần tử cơ sở của hệ sinh α, tức là tập các phần tử có

- U0 là tập các phần tử phi cơ sở của α, tức là tập các phần tử không có

trong bất kỳ cơ sở nào của α.

- UI là giao các cơ sở của α.

Ta có U = UB | U0 là một phân hoạch của U.

Định lý sau đây trình bày và chứng minh công thức tìm giao các cơ sở của hệ sinh ánh xạ đóng.

Định lý 2.3.3 [10]

Cho hệ sinh AXĐ α = (U,F) với n phần tử trong tập U và m luật sinh trong F.

Khi đó có thể xác định giao các cơ sở bằng một thuật toán tuyến tính với độ phức tạp O(mn) qua công thức

F F R L I U R L U ∈ → = \ ( \ )

Bổ đề và hệ quả dưới đây trình bày về biểu diễn siêu cơ sở của hệ sinh ánh xạ đóng thông qua phép thu gọn hệ sinh.

Bổ đề 2.3.1 [15]

Cho hai hệ sinh AXĐ α = (U,F), β = (V,G) và X ⊆ U. Biết β = α\X. Khi đó: (i) Nếu M là siêu cơ sở của α thì M\X là siêu cơ sở của β.

(ii) Nếu Z là siêu cơ sở của β thì XZ là siêu cơ sở của α. Nói riêng, nếu X ⊆ Uo và Z là siêu cơ sở của β thì Z là siêu cơ sở của α.

Hệ quả 2.3.2[15]

Cho hệ sinh AXĐ α = (U,F) và tập X ⊆ U. Khi đó, nếu Z là siêu cơ sở của hệ

sinh α\ fα(X) thì XZ là siêu cơ sở của hệ sinh α.

Bổ đề sau đây trình bày về việc bảo toàn cơ sở của hệ sinh ánh xạ đóng thông qua phép thu gọn hệ sinh theo tập thuộc tính không cơ sở.

Cho hai hệ sinh AXĐ α = (U,F), β = (V,G) và tập X Uo. Biết β = α\X. Khi

đó:

Base(α) = Base(β)

Định nghĩa 2.3.5

Cho ℜ, ℑ ⊆ SubSet(U) và M, P ∈ SubSet(U). Ta định nghĩa phép toán ⊕ trên

SubSet(U) như sau:

- M ⊕ P = MP (hợp của hai tập con M và P)

- M ⊕ ℜ = {MX | X ∈ ℜ} và

- ℜ⊕ ℑ = {XY | X ∈ℜ, Y ∈ℑ} (adsbygoogle = window.adsbygoogle || []).push({});

Các định lý, bổ đề và hệ quả sau trình bày và chứng minh về biểu diễn cơ sở của hệ sinh ánh xạ đóng theo phép thu gọn hệ sinh.

Định lý 2.3.4

Nếu thu gọn hệ sinh AXĐ α = (U, F) theo tập X ⊆ U để nhận được hệ sinh β = α \ X thì:

1. Base(α) = Base(β) khi và chỉ khi X ⊆ Uo. 2. Base(α) = X Base(β) khi và chỉ khi X ⊆ UI

Chứng minh

(1⇒) Giả sử Base(α) = Base(β), a ∈ X và a ∉ Uo. Theo phân hoạch của các phần tử trong U, a ∈ UB. Như vậy phải tồn tại một cơ sở K trong Base(α) để a ∈ K. Do Base(α) = Base(β) nên K ∈ Base(β). Từ đây suy ra K ⊆ U\X hay là

K ∩ X = ∅. Điều này mâu thuẫn với a ∈ K và a ∈ X. Vậy ta phải có X ⊆ Uo. (1⇐) Suy từ bổ đề 2.3.2 về cơ sở trong phép thu gọn hệ sinh.

(2 ⇒) Đẳng thức Base(α)=X ⊕ Base(β) cho biết X có mặt trong mọi cơ sở

(2 ⇐) Giả sử X ⊆ UI. Ta chứng minh rằng mọi cơ sở K ∈ Base(α) đều được biểu diễn dưới dạng XM, trong đó M ∈ Base(β) và ngược lại, nếu M ∈

Base(β) thìXM ∈ Base(α).

Cho K ∈ Base(α). Khi đó, vì X ⊆ UI nên X phải có trong mọi cơ sở của α, nói riêng X ⊆ K. Đặt M = K\X, ta có M ∩ X = ∅ và K = XM. Theo bổ đề 2.3.1 về siêu cơ sở trong phép thu gọn hệ sinh ta suy ra M = K \ X là siêu cơ sở của β. Giả sử M chứa một siêu cơ sở P của β. Khi đó XP lại là siêu cơ sở của α và

XP ⊆ K. Vì K là cơ sở của α nên XP = K = XM. Để ý rằng X ∩ P = X ∩ M = ∅, ta suy ra P = M. Vậy M là cơ sở của β.

Cho M ∈ Base(β). Ta có X ∩ M = ∅. Theo bổ đề 2.3.1 về siêu cơ sở trong

phép thu gọn hệ sinh thì XM là siêu cơ sở của α. Gọi K là cơ sở của α chứa trong siêu cơ sở XM. Lại theo bổ đề 2.3.1 về siêu cơ sở trong phép thu gọn hệ sinh, K\X là siêu cơ sở của β. Vì K là cơ sở của α và X ⊆ UI nên X ⊆ K. Từ đây suy ra K\X ⊆ M. Áp dụng tính tối tiểu cho cơ sở M của β ta suy ra K\X =

M hay K = XM. Điều này chứng tỏ XM là cơ sở của α.

Thí dụ 2.3.4

1. Cho hệ sinh AXĐ α = (U, F) với tập hữu hạn U = abcdeh và tập luật sinh F = {ae d, bc e}. Ta tính được giao các cơ sở là UI = abcdeh \ de =

abch. Đặt β = (V,G) với V = U \ abch = de, G = F \ abch = {e→d, ∅→e}. Ta

có β = a \ abch và tính được Base(β) = {∅}, Vậy Base(α) = abch ⊕ Base(β) = {abch}.

2. Với hệ sinh AXĐ đã cho ta tính được UB = abch nên Uo = U \ UB = abcdeh \ abch = de. Đặt γ = α \ de = (P, W), ta có P = U \ de = abch, W = F \ de = {a

→ ∅ (loại), bc → ∅ (loại)} ≡ ∅ và do đó Base(γ) = abch. Theo định lý 2.3.4 vì Uo = de nên Base(α) = Base(γ) = abch.

Hệ quả 2.3.3

Cho hệ sinh α = (U,F) và các tập phần tử X ⊆ Uo, Y ⊆ UI. Nếu thực hiện phép

thu gọn theo XY để nhận được hệ sinh β = α\XY thì Base(α) = Y ⊕ Base(β).

Phần tiếp theo dưới đây sẽ trình bày một số định nghĩa, bổ đề và định lý về biểu diễn cơ sở hệ sinh ánh xạ đóng theo phép thu gọn hệ sinh với vế trái tối tiểu của tập luật sinh.

Định nghĩa 2.3.6

Cho (M, ≤) là một tập hữu hạn có thứ tự bộ phận. Phần tử m trong M được gọi là cực tiểu nếu từ x ≤ m và x∈M, ta luôn có x = m. Ta ký hiệu MIN(M) là tập

các phần tử cực tiểu của M. Có thể nhận thấy là với mỗi phần tử x trong M luôn tồn tại một phần tử m trong MIN(M) thỏa m ≤ x.

Với mỗi họ các tập con của tập hữu hạn U cho trước ta xét thứ tự bộ phận ⊆.

Định nghĩa 2.3.7 (adsbygoogle = window.adsbygoogle || []).push({});

Cho hệ sinh α=(U, F). Ta ký hiệu ML(F) là tập các vế trái cực tiểu của F,

ML(F) = MIN {LS(f) | f ∈ F}

Thí dụ 2.3.5

Cho hệ sinh α=(U, F) với U = abcdeh và tập luật sinh F = {ae → d, a → c,

e → bc, eh → a, ac → eh, bd → c}. Ta có ML(F) = {a, e, bd}.

Bổ đề 2.3.3

Cho hệ sinh AXĐ α=(U, F). Nếu L ∈ ML(F) thì L ∈ Base(α) khi và chỉ khi

Chứng minh

1. Giả sử L ∈ ML(F) và L là cơ sở của α. Khi đó theo tính chất của cơ sở , ta có: fα(L)= U.

2. Ngược lại, cho L ∈ ML(F) và fα(L)= U. Giả sử L chứa tập con thực sự M thỏa tính chất fα(M)= U. Vì M ⊂ L ⊆ U nên M ⊂ U. Khi đó để tính AXĐ của

M, ta phải tìm được luật sinh X → Y ∈ F sao cho X ⊆ M. Vì M ⊂ L nên X ⊂ L, mâu thuẫn với tính cực tiểu của L. Vậy ta phải có, với mọi tập con thực sự M của L, fα(M) ≠ U. Điều này chứng tỏ L là cơ sở của α.

Thí dụ 2.3.6

Với hệ sinh cho trong thí dụ 2.3.5, α = (U, F) với U = abcdeh và tập luật sinh

F = {ae→d, a→c, e→bc, eh→a, ac→eh, bd→c}. Ta có ML(F) = {a, e, bd}. Ta thấy,

1. fα(a) = acehbd = U. Vậy a là cơ sở của α.

2. fα(e) = ebc ≠ U. Vậy e không phải là cơ sở của α. 3. fα(bd) = bdc ≠ U. Vậy bd không phải là cơ sở của α

Định lý sau đây trình bày một dạng biểu diễn cơ sở hệ sinh ánh xạ đóng với kỹ thuật thu gọn hệ sinh theo vế trái tối tiểu của tập luật sinh. Kết quả này của luận án đã được trình bày trong [2].

Định lý 2.3.5

Cho hệ sinh AXĐ α=(U, F). Khi đó mọi cơ sở K của α đều biểu diễn được dưới dạng K = LM, trong đó L là một vế trái cực tiểu của F và M là cơ sở của hệ sinh AXĐ α\ fα (L).

Chứng minh

luật sinh trong F, khi đó ta chọn một vế trái cực tiểu tùy ý. Giả sử K ⊂ U. Khi đó, để tính fα (K) ta phải tìm được một luật sinh f: X → Y ∈ F thỏa tính chất X ⊆ K. Vì X là vế trái của f nên trong ML(F) phải tồn tại một vế trái cực tiểu L để L ⊆ X. Ta chọn một trong số vế trái cực tiểu này. Tóm lại ta đã chứng minh được rằng mọi cơ sở K đều chứa một vế trái cực tiểu L nào đó.

Đặt M=K\L. Ta có K=LM. Ta chứng minh M là cơ sở của hệ sinh α\ fα (L). Nếu fα (L) = U thì α\ fα (L) = α\U = (∅,∅). Hệ sinh này có cơ sở duy nhất là

M=∅. Khi đó, K=L∅. Giả sử fα(L) ⊂ U. Từ đây suy ra L ⊂ K vì nếu L=K thì phải có fα (L) = fα (K) = U, trái với giả thiết fα (L) ⊂ U. Theo tính bộ phận của cơ sở thì fα(L) ∩ K = L hay K\L=K\ fα(L) =M. Từ đây suy ra M ⊆ U\ fα(L). Theo bổ đề 2.3.1 về siêu cơ sở trong phép thu gọn hệ sinh, M sẽ là siêu cơ sở của hệ sinh α\ fα(L). Giả sử M chứa siêu cơ sở P của hệ sinh α\ fα(L). Khi đó theo bổ đề 2.3.1 về siêu cơ sở trong phép thu gọn hệ sinh, (fα(L)P) sẽ là siêu

cơ sở của α, do đó fα(fα(L)P) = U. Vận dụng tính chất của AXĐ, ta có

fα(fα(L)P) = fα(LP) = U, do đó LP là siêu cơ sở của α. Vì P ⊆ M K = LM

nên LP ⊆ K. Vì K là cơ sở của α nên LP = K = LM. Vì L ∩ P = ∅, L ∩ M = ∅ và P ⊆ M nên ta suy ra P = M. Điều này chứng tỏ M là cơ sở của α\ fα(L).

Thí dụ 2.3.7

Với hệ sinh cho trong thí dụ trước, α=(U, F), U = abcdeh, F = {ae → d, a →

c, e → bc, eh → a,ac → eh, bd → c}.

Ta có ML(F) = {a, e, bd}. Ta thấy, fα(e) = ebc ≠ U. Vậy e không phải là cơ sở của α. (adsbygoogle = window.adsbygoogle || []).push({});

Ta thu gọn α theo fα(e). Đặt β = α\ fα(e) = (V,G), ta có V = abcdeh\ebc = adh,

F = {a → d, a →∅ (loại), ∅ →∅ (loại), h → a, a → h, d → ∅ (loại) } = {a → d, h → a, a → h} ≡ {a → dh, h → a}. Dễ thấy h là cơ sở của β. Như vậy

eh là cơ sở của α, trong đó e là một vế trái cực tiểu, h là cơ sở của α\ fα(e). Bổ đề sau phát biểu và chứng minh các cơ sở sinh từ cơ sở của hệ sinh sau khi thực hiện phép thu gọn với vế trái cực tiểu

Bổ đề 2.3.4

Cho hệ sinh α =(U, F) và vế trái cực tiểu L. Khi đó nếu K ∈ L ⊕ Base(α\fα

(L)) và K không chứa vế trái cực tiểu nào khác ngoài L thì K là cơ sở của α.

Chứng minh

Giả sử ta có phân hoạch K = L ⊕ M, M ∈ Base(α\fα(L)) và K không chứa vế trái cực tiểu khác L của F. Theo hệ quả 2.3.1 về siêu cơ sở trong phép thu gọn hệ sinh thì K là siêu cơ sở của α. Gọi P là cơ sở của α chứa trong K. Ta chứng minh P = K. Nếu P không chứa vế trái cực tiểu nào của F thì U = fα(P) = P ⊆ K, do đó P = K = U. Giả sử P chứa một vế trái cực tiểu nào đó của F. Do P ⊆ K mà K chỉ chứa vế trái cực tiểu L duy nhất nên đương nhiên L ⊆ P. Đặt Q = P\L, ta có phân hoạch P = L|Q và do đó Q ⊆ M. Vì L là bộ phận của cơ sở P nên theo định lý về đặc trưng của cơ sở ta có fα(L) ∩ P = L hay P\ fα(L) = P\L = Q. Theo bổ đề 2.3.1 về siêu cơ sở trong phép thu gọn hệ sinh, Q sẽ là siêu cơ sở của α\ fα(L). Vì M cũng là cơ sở của α\ fα(L) và Q ⊆ M nên Q = M, do đó P=LQ=LM=K. Vậy K là cơ sở của α.

Thí dụ 2.3.8

Xét hệ sinh AXĐ α = (U, F), U = abcdeh, F = {ae → d, a → c, e → bc, eh → a, ac → eh, bd → c}.

Ta có ML(F) = {a, e, bd}. Xét vế trái cực tiểu e. Ta thấy, fα(e) = ebc ≠ U. Vậy

e không phải là cơ sở của α.

Ta thực hiện phép thu gọn hệ sinh α theo fα(e). Ta có β = α\ fα(e) = (V, G),

→ a, a → h, d → ∅ (loại)} ≡ {a → dh, h → a}. Dễ dàng tính được Base(β) = {a, h}, do đó e ⊕ Base(β)={ea, eh}. Thành phần eh không chứa thêm vế trái cực tiểu nào khác e, do đó eh là cơ sở của α.

Bổ đề 2.3.5

Cho hệ sinh α = (U, F) và vế trái cực tiểu L. Khi đó ∀ M ∈ Base(α\fα(L)), mọi cơ sở K của α chứa trong LM đều phải chứa M.

Chứng minh

Do M ∈ Base(α\fα(L)) nên LM là siêu cơ sở của α. Giả sử K là cơ sở của α và K ⊆ LM. Ta xét phân họach K = P|Q, trong đó P = K ∩ L, Q = K ∩ M. Vì

L ∩ M = fα(L) ∩ M = ∅ nên P∩ Q = ∅. Theo bổ đề 2.3.1 về siêu cơ sở trong phép thu gọn hệ sinh ta có K\ fα(L) = K\L = PQ\L = Q là siêu cơ sở của α\

fα(L). Siêu cơ sở này chứa trong cơ sở M của α\ fα(L), do đó theo tính chất tối tiểu của cơ sở ta phải có Q = M, hay là K ⊇ M.

Một phần của tài liệu luận án tiến sĩ phát triển một số phụ thuộc logic trong cơ sở dữ liệu (Trang 42 - 50)