CHƯƠNG 3. PHỤ THUỘC BOOLEAN DƯƠNG THEO NHÓM BỘ
3.2. Phụ thuộc Boolean dương theo nhóm bộ trong mô hình dữ liệu dạng khối
Định nghĩa 3.1
Cho lược đồ khối Rid A A; , 1 2,..., An, r(R) là một khối trên R, ta quy ước rằng mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid), 1 i n, có chứa ít nhất p (p 2) phần tử. Khi đó, với mỗi miền trị di ta xét ánh xạ: i: (di)p B thỏa các tính chất sau:
(i). Tính phản xạ: a (di)p: i(a) = 1, nếu trong a có ít nhất hai thành phần giống nhau.
(ii). Tính giao hoán: a (di)p: i(a) = i(a’), trong đó a’ là một hoán vị của a.
(iii). Tính bộ phận: a (di)p: i(a) = 0.
Như vậy, ta thấy các ánh xạ i chính là phép đánh giá trên p giá trị của di
thỏa các tính chất phản xạ và giao hoán. Quan hệ đẳng thức là một trường hợp riêng của quan hệ này.
3.2.2. Khối chân lý theo nhóm bộ của khối dữ liệu Định nghĩa 3.2
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di, của thuộc tính chỉ số x(i), xid, 1 i n. Với mỗi nhóm p phần tử: u1, u2, ..., up tùy ý (không nhất thiết phân biệt) trên khối, ta gọi ( u1, u2, ..., up) là phép gán trị:
( u1, u2, ..., up) = (tx1, tx2, ..., txn) trong đó txi = i(u1.x(i), u2.x(i),, ..., up.x(i)), xid, 1 i n.
Khi đó, với mỗi khối r ta kí hiệu khối chân lý theo nhóm bộ của khối r là Tr: Tr = { (u1, u2, ..., up) | uj r, 1 j p }.
Từ định nghĩa ta thấy khối chân lý theo nhóm bộ của khối r là một khối nhị phân.
Trong trường hợp tập id ={x}, khi đó khối suy biến thành quan hệ và khái niệm khối chân lý theo nhóm bộ của khối lại trở thành khái niệm bảng chân lý theo nhóm bộ của quan hệ trong mô hình dữ liệu quan hệ. Nói một cách khác, khối chân lý theo nhóm bộ của khối là mở rộng khái niệm bảng chân lý theo nhóm bộ của quan hệ trong mô hình dữ liệu quan hệ.
Ví dụ 3.1. Cho khối dữ liệu R = ({1, 2, 3}; A1, A2, A3), r là một khối trên R, trong đó id ={1, 2, 3} là thuộc tính chỉ số tương ứng là Mùa hè, Mùa xuân, Mùa đông. Tập trị B ={0, 1}. Ta kí hiệu A1: Bánh mì, A2: Bơ, A3: Sữa là các thuộc tính của khối được gán trị như hình 3.1:
r: Ban_hang_NB
Hình 3.1: Khối dữ liệu r: Ban_hang_NB Xét p = 3, với miền trị di, xét ánh xạ i: (di)3 {0, 1}, i = 1, 2, 3.
Khi đó a (di)3: i(a) = 1 nếu trong a có ít nhất hai giá trị giống nhau;
i(a)= 0 với các trường hợp còn lại.
Khi đó, kết quả phép gán trị trên khối Tr_nb như sau:
Hình 3.2. Khối chân lý Tr_nb
Mùa đông (3)
L2 L2
CC L2
CC CC
L1 L1
CC CC
L2 L2
L2 null
CC CC
CC null
Bánh mì (A1)
Bơ (A2)
Mùa xuân (2) Mùa hè (1)
t1
t2
t3
L2 L2
L2 null
L2
CC
t4
CC
L2
L2 L2 L2 L2
CC CC
null
null
null Sữa (A3)
L2
L2 L1
L2 L2
null tn
L2 null L2 L1 …
… … …
… …
… …
…
…
Mùa đông (3) Bánh mì
(A1)
Bơ (A2)
Mùa xuân (2) Mùa hè (1)
(t1, t2, t3)
Sữa (A3)
1 1
1 1
1
1 1
1 1 …
… … …
… …
… …
…
…
1 1
1 0
1 1
0 0
1 1
1 1
1 1
1 1
1 0
1 0
1 1
1
1
1
1
1 1
0 1 1 1
1
1
1
0
1 1
0 0
1 1 1
1
1
(t1, t2, t4)
(t1, t2, tn)
(t2, t3, t4)
(t2, t3, tn)
(t3, t4, tn)
Nhận xét: Qua khối chân lý Tr_nb ở hình 3.2, mối quan hệ mức tiêu thụ giữa bánh mì, bơ và sữa như sau:
- Mùa hè: cứ 6 nhóm (3 người) mua bánh mì (có ít nhất 2 người cùng loại hàng CC hoặc L1 hoặc L2 - gọi tắt là cùng loại) thì có 5 nhóm mua kèm bơ hoặc kèm sữa (cùng loại).
- Mùa xuân: cứ 6 nhóm (3 người) mua bánh mì, chỉ có 3 nhóm (cùng loại) thì có 3 nhóm mua kèm bơ hoặc kèm sữa (cùng loại).
- Mùa đông: cứ 6 nhóm (3 người) mua bánh mì, thì cả 6 nhóm mua kèm bơ hoặc kèm sữa (cùng loại).
Căn cứ vào số liệu trên, ta thấy vào mùa xuân khách hàng ít có xu hướng mua bánh mì kèm sữa hoặc kèm bơ (cùng loại),… nhưng mùa hè và mùa đông, hầu như khách hàng lại có xu hướng mua bánh mì kèm bơ hoặc mua kèm sữa cùng loại.
Từ đó, có thể theo dõi được sở thích mua hàng của nhóm khách hàng theo mùa, do vậy, việc theo dõi theo mùa rất có ích cho các nhà quản lý, trong việc quản lý nguồn hàng và sắp xếp các mặt hàng phù hợp và thuận tiện đối với nhóm khách hàng.
3.2.3. Phụ thuộc Boolean dương theo nhóm bộ của khối dữ liệu Định nghĩa 3.3
Cho lược đồ khối R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di
của thuộc tính chỉ số x(i), xid, 1 i n. Ta gọi mỗi công thức Boolean dương trong P(U), với ( )
1 n
i i
U id
, là một phụ thuộc Boolean dương theo nhóm bộ.
Ta nói khối r thỏa phụ thuộc Boolean dương theo nhóm bộ (PTBDTNB) f, hoặc f đúng trong khối r và kí hiệu r(f) nếu Tr Tf.
Khối r thỏa tập PTBDTNB F và kí hiệu r(F) nếu khối r thỏa mọi phụ thuộc f trong F:
r(F) f F: r(f) Tr TF.
Nếu có r(F) ta cũng nói tập PTBDTNB F đúng trong khối r.
Cho tập PTBDTNB F và một PTBDTNB f:
- Ta nói F suy dẫn ra f theo khối và kí hiệu F ├ f nếu: r: r(F) r(f).
- Ta nói F suy dẫn ra f theo khối có không quá p phần tử và kí hiệu F ├ p f nếu: rp : rp(F) rp(f).
Ví dụ 3.2:
Cho khối dữ liệu R = ({1, 2, 3}; A1, A2, A3), r là một khối trên R đã cho ở ví dụ 3.1.
r: Ban_hang_NB
Yêu cầu: Tìm phụ thuộc dữ liệu trên các thuộc tính A1, A2, A3 (cũng là của thuộc tính chỉ số x(i), xid).
Với quy ước phép gán trị các cặp các phần tử đã cho ở như ví dụ 3.1:
Xét p = 3, với miền trị di, xét ánh xạ i: (di)3 {0, 1}, i = 1, 2, 3.
Khi đó a (di)3:
- i(a) = 1 nếu trong a có ít nhất hai giá trị giống nhau;
Mùa đông (3)
L2 L2
CC L2
CC CC
L1 L1
CC CC
L2 L2
L2 null
CC CC
CC null
Bánh mì (A1)
Bơ (A2)
Mùa xuân (2) Mùa hè (1)
t1
t2
t3
L2 L2
L2 null
L2
CC
t4
CC
L2
L2 L2 L2
L2 CC
CC null
null
null Sữa (A3)
L2
L2 L1
L2 L2
null tn
L2 null L2
L1 …
… … …
… …
… …
…
…
- i(a)= 0 với các trường hợp còn lại.
Giả sử, xét các công thức trên các thuộc tính A1, A2, A3 (cũng là của thuộc tính chỉ số x(i), x(i) = (x, Ai), xid): f1: x(1)px(2); f2: x(1) p x(3); f3: x(1)px(2)x(3).
Ta lập khối chân lý Tf_nb gồm các thuộc tính A1, A2, A3 (cũng là của thuộc tính chỉ số x(i), xid) và các thuộc tính là các công thức f1: x(1)Px(2); f2: x(1) P x(3); f3: x(1)px(2)x(3).
Ta được khối chân lý Tf_nb như hình 3.4 Tf _nb:
Hình 3.2: Khối chân lý Tf_nb - Xét công thức: f1: x(1)px(2) :
+ Với lắt cắt 1: Do có nhóm p phần tử:(t1, t2, t3) = 0.
+ Với lắt cắt 3: Do có nhóm p phần tử:(t1, t2, tn) = 0.
Do đó Tr Tf1 nên công thức x(1)Px(2) không là công thức Boolean dương theo nhóm bộ. Hay x(1) not px(2). Nói cách khác r không thỏa phụ thuộc hàm f1.
Mùa đông (3) Bánh mì
(A1)
Bơ (A2)
Mùa xuân (2) Mùa hè (1)
(t1, t2, t3)
Sữa (A3)
1 1
1 1
1
1 1
1 1 …
… … …
… …
… …
…
…
1 1
1 0
1 1
0 0
1 1
1 1
1 1
1 1
1 0
1 0
1 1
1
1
1
1
1 1
0 1 1 1
1
1
1
0
1 1
0 0
1 1 1
1 1
(t1, t2, t4)
(t1, t2, tn)
(t2, t3, t4)
(t2, t3, tn)
(t3, t4, tn)
x(1)Px(2)
x(1)P x(3)
x(1)px(2)x(3)
1 1
1 1
1
1 1 1 …
… … …
… …
…
… …
1 1
0 1
1 1
1 1
1 1
1 1
1 1
1 1
0 1
1 1
1 1
0
1
1 1
1 1 1 1
1
1
1
1
1 1
1 1
1 1
1 1
1 1 1 1
- Xét công thức: f2: x(1)Px(3) :
+ Với lắt cắt 1: Do có nhóm p phần tử:(t2, t2, tn) = 0.
Do đó Tr Tf2 nên công thức x(1)Px(3) không là công thức Boolean dương theo nhóm bộ. Hay x(1)not p x(3). Nói cách khác r không thỏa phụ thuộc hàm f2.
- Xét công thức Boolean: f3: x(1)px(2) x(3) :
Do có tất cả các nhóm p phần tử tùy ý có phép gán trị đều bằng 1 trên mọi lắt cắt. Do đó Tr Tf3. Theo Định nghĩa 3.3, tồn tại phụ thuộc Boolean dương theo nhóm bộ f3: x(1)px(2) x(3) trên khối. Nói cách khác rthỏa phụ thuộc Boolean dương theo nhóm bộ f3.
Trong trường hợp đặc biệt, khi x = 2, khối suy biến thành quan hệ, các công thức f1: x(1)Px(2); f2: x(1) P x(3); f3: x(1)px(2)x(3) có p nhóm phần tử tùy ý có phép gán trị đều bằng 1, do đó, các công thức f1, f2, f3 lại trở thành phụ thuộc Boolean dương theo nhóm bộ trên mô hình dữ liệu quan hệ.
Bằng việc mở rộng phép sánh trị trên p phần tử, luận án đề xuất thêm được một kiểu ràng buộc dữ liệu là Phụ thuộc Boolean dương theo nhóm bộ trên khối.
Kết quả đạt được có giúp các nhà quản lý trong việc theo dõi được xu hướng mua hàng của nhóm khách hàng theo mùa.
Với dạng bài toán này, không chỉ xảy ra ở lĩnh vực kinh doanh mà còn trong nhiều lĩnh vực khác,... Chẳng hạn, trong lĩnh vực y tế, khi dịch bệnh diễn biến phức tạp từng ngày, việc xác định trong khu dân cư hoặc khu công nghiệp thuộc xã/huyện/tỉnh,... có p (p ≥ 2) người mắc bệnh, cùng với tình hình phức tạp dịch bệnh từng ngày, sẽ giúp nhà quản lý có căn cứ để quyết định công bố vùng dịch bệnh, từ đó khoanh vùng và lập phương án dập dịch hiệu quả.
Từ các khái niệm được đề xuất ở trên, ta có định lý tương đương sau:
Định lý 3.1
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2)giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), xid, 1 i n, tập PTBDTNB F và một PTBDTNB f . Khi đó ba mệnh đề sau là tương đương:
(i) F ╞ f (suy dẫn logic), (ii) F ├ f (suy dẫn theo khối),
(iii) F ├ p f (suy dẫn theo khối có không quá p phần tử).
Chứng minh
(i) (ii): Ta cần chứng minh: F╞ f F ├ f .
Thật vậy, theo giả thiết ta có F╞ f TF Tf . (1) Giả sử r là một khối bất kì thỏa F: r(F), khi đó theo định nghĩa:
Tr TF. (2)
Từ (1) và (2) ta suy ra: Tr Tf , do đó: r(f).
Như vậy từ r(F) ta suy ra r(f): r(F) r(f) nghĩa là: F ├ f . Vậy ta có: F ╞ f F ├ f .
(ii) (iii): Ta cần chứng minh: F ╞ f F ├ p f .
Hiển nhiên, vì suy dẫn theo khối có không quá p phần tử là trường hợp đặc biệt của suy dẫn theo khối.
(iii) (i): Ta cần chứng minh: F ├ p f F ╞ f .
Thật vậy, từ giả thiết F ├ p f nghĩa là với mọi khối rp có không quá p phần tử ta có: rp(F) rp(f), ta cần chứng minh F ╞ f nghĩa là TF Tf .
Giả sử t = (tx1, tx2, ..., txn) xid , t TF, ta chứng minh t Tf.
Nếu t = e thì ta có ngay t Tf vì như ta đã biết f là công thức Boolean dương.
Nếu t e, ta xây dựng khối r gồm p phần tử như sau: theo tính chất bộ phận (c) của ánh xạ i:(di)p B thì ai = (ai1, ai2, ..., aip) sao cho i(ai) = 0. Khi đó, với mỗi miềm trị di của các thuộc tính chỉ số x(i) trong ( )
1 n
i i
U id
, ta lấy một phần tử nào đó aij{ai1, ai2, ..., aip}.
Nếu txi = 1 ta điền vào cột thuộc tính chỉ số x(i) của khối r với p giá trị bằng nhau và bằng aij. Nếu txi = 0 ta điền vào cột thuộc tính chỉ số x(i) của khối r với p giá trị ai1, ai2, ..., aip.
Theo cách xây dựng khối r đó, ta có: Tr = {e, t} TF với e là phép gán trị đơn vị. Như vậy r là khối có p phần tử và thỏa tập PTBDTNB F.
Theo giả thiết nếu r thỏa F thì r sẽ thỏa f, điều này có nghĩa là:
Tr = {e, t} Tf , suy ra: t Tf.
Trong trường hợp tập chỉ số id = {x}, khi đó khối suy biến thành quan hệ và định lý tương đương ở trên lại trở thành định lý tương đương trong mô hình dữ liệu quan hệ. Cụ thể, ta có hệ quả sau:
Hệ quả 3.1
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id, 1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n, tập PTBDTNB F và một PTBDTNB f. Khi đó nếu id = {x} thì khối r suy biến thành quan hệ và ba mệnh đề sau là tương đương:
(i) F ╞ f (suy dẫn logic),
(ii) F ├ f (suy dẫn theo quan hệ),
(iii) F ├ p f (suy dẫn theo quan hệ có không quá p phần tử).
Đây chính là một kết quả đã được chứng minh trong mô hình dữ liệu quan hệ.
3.2.4. Bao đóng tập phụ thuộc Boolean dương theo nhóm bộ Định nghĩa 3.4
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n, là tập PTBDTNB xét trên các nhóm p bộ. Khi đó bao đóng + của tập PTBDTNB được xác định như sau:
+ = { f | f P(U), ╞ f } = { f | f P(U), T Tf }.
Định nghĩa 3.5
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid,1 i n), có chứa ít nhất p phần tử,
i là các phép đánh giá trên p (p2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), xid, 1 i n. Khi đó ta kí hiệu NBD(r) là tập các PTBDTNB thỏa mãn trong khối r, nghĩa là:
NBD(r) = {f | fP(U), r(f)}.
Mệnh đề 3.1
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid,1 i n), có chứa ít nhất p phần tử,
i là các phép đánh giá trên p (p2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), xid, 1 i n. Khi đó ta có:
(NBD(r))+ = NBD(r).
Chứng minh
Theo định nghĩa, ta có:
(NBD(r))+ = { f | f P(U), NBD(r) ╞ f } = { f | f P(U), TNBD(r) Tf }.
Như vậy suy ra: (NBD(r))+ NBD(r) (3)
Mặt khác, giả sử ta có: g (NBD(r))+, ta cần chứng minh g NBD(r).
Thật vậy, từ giả thiết
g (NBD(r))+ = { f | f P(U), TNBD(r) Tf } g P(U), TNBD(r) Tg.
Mà theo định nghĩa của NBD(r) ta có: Tr TNBD(r) Tr Tg (theo tính bắc cầu) khối r thỏa PTBDTNB g.
Từ đó ta có: g NBD(r) (NBD(r))+ NBD(r) (4) Từ (3) và (4) ta suy ra: (NBD(r))+ = NBD(r).
Hệ quả 3.2
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó, nếu id = {x} thì khối r suy biến thành quan hệ và ta có trong mô hình dữ liệu quan hệ:
(NBD(r))+ = NBD(r).
Mệnh đề 3.2
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó ta có: Tr = TNBD(r) .
Chứng minh
Theo định nghĩa của tập các PTBDTNB NBD(r) ta có:
Nếu f NBD(r) khối r thỏa PTBDTNB f Tr Tf.
Theo tính chất về tương quan giữa các công thức Boolean và khối chân lý, từ khối chân lý Tr ta tìm được một công thức Boolean h sao cho: Th = Tr. Mặt khác, vì e Tr = Th nên h là công thức Boolean dương.
Từ đẳng thức: Tr = Th ta suy ra khối r thỏa PTBDTNB h, nghĩa là h NBD(r).
Vậy suy ra: NBD(r) ╞ h .
Do đó ta có: TNBD(r) Th = Tr TNBD(r) Tr (5) Từ định nghĩa của NBD(r) ta có: Tr TNBD(r) (6) Kết hợp (5) và (6) ta suy ra: Tr = TNBD(r) .
Hệ quả 3.3
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc
tính chỉ số x(i), x id, 1 i n. Khi đó, nếu id = {x} thì khối r suy biến thành quan hệ và ta có trong mô hình dữ liệu quan hệ:
Tr = TNBD(r) .
3.2.5. Thể hiện và thể hiện chặt tập phụ thuộc Boolean dương theo nhóm bộ Định nghĩa 3.6
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n.
Ta nói khối r thể hiện tập PTBDTNB nếu NDB(r) + và khối r thể hiện chặt tập PTBDTNB nếu NDB(r) = +.
Nếu khối r là thể hiện chặt tập PTBDTNB thì ta nói r là khối Armstrong của tập PTBDTNB .
Định lý 3.2
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó khối r thể hiện chặt tập PTBDTNB nếu và chỉ nếu Tr = T.
Chứng minh
Sử dụng kết quả của các mệnh đề 3.1 và mệnh đề 3.2 về các PTBDTNB ta có:
(NBD(r))+ = NBD(r) và Tr = TNBD(r). Khi đó: r là thể hiện chặt tập PTBDTNB
NBD(r) = + NBD(r) TNBD(r) = T Tr = T . Do đó: r là thể hiện chặt tập PTBDTNB Tr = T,m.
Hệ quả 3.4
Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó, nếu id = {x} thì khối r suy biến thành quan hệ và ta có trong mô hình dữ liệu quan hệ: quan hệ r là thể hiện chặt tập PTBDTNB
khi và chỉ khi Tr = T.