intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Phương pháp ma trận phát hiện phụ thuộc hàm trong cơ sở dữ liệu

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:8

52
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Phát hiện phụ thuộc hàm từ một cơ sở dữ liệu là một kỹ thuật khai phá dữ liệu quan trọng. Trong bài báo này, chúng tôi trình bày một thuật toán phát hiện các phụ thuộc hàm sử dụng ma trận tương đương. Ưu điểm của phương pháp này là các ma trận có thể tính toán một cách đơn giản và hiệu quả.

Chủ đề:
Lưu

Nội dung Text: Phương pháp ma trận phát hiện phụ thuộc hàm trong cơ sở dữ liệu

Nghiªn cøu khoa häc c«ng nghÖ<br /> <br /> <br /> PH­¬NG PH¸P MA TRËN PH¸T HIÖN<br /> PHô THUéC HµM TRONG C¬ Së D÷ LIÖU<br /> VŨ QUỐC TUẤN*, VŨ CHÍNH THÚY**<br /> Tóm tắt: Phát hiện phụ thuộc hàm từ một cơ sở dữ liệu là một kỹ thuật khai<br /> phá dữ liệu quan trọng. Trong bài báo này, chúng tôi trình bày một thuật toán<br /> phát hiện các phụ thuộc hàm sử dụng ma trận tương đương. Ưu điểm của<br /> phương pháp này là các ma trận có thể tính toán một cách đơn giản và hiệu quả.<br /> Từ khóa: Khai phá dữ liệu, Cơ sở dữ liệu, Quan hệ, Lược đồ quan hệ, Phụ thuộc hàm, Ma trận tương đương.<br /> <br /> 1. GIỚI THIỆU<br /> Cơ sở dữ liệu là một hướng nghiên cứu quan trọng của công nghệ thông tin và đã được<br /> ứng dụng thành công trong nhiều lĩnh vực. Phụ thuộc hàm là một loại ràng buộc dữ liệu<br /> giữa các thuộc tính trong một quan hệ. Tính nhất quán dữ liệu có thể được bảo đảm nhờ sử<br /> dụng các phụ thuộc hàm để loại bỏ dữ liệu dư thừa, phụ thuộc hàm cũng thể hiện ngữ<br /> nghĩa giữa các thuộc tính và có thể tồn tại cả trong các tập dữ liệu độc lập với mô hình<br /> quan hệ.<br /> Nghiên cứu về phụ thuộc hàm cũng là một hướng trong thiết kế cơ sở dữ liệu quan hệ.<br /> Phát hiện các phụ thuộc hàm từ một cơ sở dữ liệu là một kỹ thuật khai phá dữ liệu quan<br /> trọng. Trong những năm gần đây, việc nghiên cứu, ứng dụng nhằm phát hiện tri thức, khai<br /> phá dữ liệu từ các phụ thuộc hàm đã đạt được những kết quả có ý nghĩa.<br /> Bài báo này trình bày một phương pháp tiếp cận mới để xác định các phụ thuộc hàm<br /> trong cơ sở dữ liệu quan hệ, đó là phương pháp dùng ma trận. Ưu điểm của phương pháp<br /> này là các ma trận có thể tính toán một cách đơn giản và hiệu quả.<br /> 2. CÁC KHÁI NIỆM CƠ SỞ<br /> Phần này nhắc lại một số khái niệm quan trọng trong lý thuyết cơ sở dữ liệu quan hệ<br /> nhằm mục đích sử dụng cho các phần tiếp theo.<br />  Quan hệ. Một quan hệ r xác định trên tập thuộc tính  = {A1, A2,..., An} được định nghĩa<br /> như sau:<br /> r  {(a1, a2,..., an)  ai  Dom(Ai), i = 1, 2,..., n},<br /> trong đó, Dom(Ai) là miền trị của thuộc tính Ai, i = 1, 2,..., n. Về mặt trực quan, ta có thể<br /> hình dung một quan hệ như một bảng giá trị gồm các hàng và các cột. Mỗi hàng trong<br /> bảng là một tập các giá trị có liên quan đến nhau, các giá trị này biểu thị một sự kiện tương<br /> ứng với một thực thể hay một mối quan hệ trong thế giới thực.<br /> Ví dụ 1. Xét quan hệ SV (sinh viên) được cho ở Bảng 1; mỗi hàng trong bảng này cho<br /> thông tin về một sinh viên cụ thể. Tên bảng và tên các cột được dùng để giúp cho việc hiểu<br /> ý nghĩa của mỗi hàng. Thông thường, mọi giá trị trong một cột đều thuộc cùng một kiểu<br /> dữ liệu.<br /> Bảng 1. Quan hệ SV.<br /> Mã số Họ tên Mã khoa Ngày sinh Địa chỉ<br /> K40-01 Vũ Văn Hoàng TN 10/10/1980 Tứ Kỳ-HD<br /> K40-02 Trần Cường XH 23/06/1983 Nam Sách-HD<br /> K41-01 Lê Thị Thảo TN 25/11/1979 Tứ Kỳ-HD<br /> K41-02 Nguyễn Minh Tiến XH 17/07/1981 Bình Giang-HD<br /> <br /> <br /> <br /> T¹p chÝ Nghiªn cøu KH&CN Qu©n sù, Sè 34, 12 - 2014 73<br /> Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh<br /> <br />  Lược đồ quan hệ. Một lược đồ quan hệ S là một cặp có thứ tự S = , trong đó  là<br /> tập hữu hạn các thuộc tính của quan hệ, F là tập các ràng buộc giữa các thuộc tính. Một<br /> ràng buộc trên tập thuộc tính  = {A1, A2,..., An} là một tính chất trên tập tất cả các quan<br /> hệ xác định trên tập thuộc tính này.<br /> Một lược đồ quan hệ được sử dụng để mô tả về cấu trúc và các ràng buộc của một quan<br /> hệ. Một quan hệ có thể thay đổi theo thời gian nhưng cấu trúc và các ràng buộc của nó có<br /> thể ổn định trong một khoảng thời gian nhất định.<br /> Ví dụ 2. Xét quan hệ TKB (thời khoá biểu) dưới đây được sử dụng cho một cơ sở đào<br /> tạo; dữ liệu trong quan hệ TKB có thể thường xuyên thay đổi trong khi cấu trúc của nó vẫn<br /> ổn định; mặc dù dữ liệu trong quan hệ thay đổi nhưng luôn phải thỏa mãn các ràng buộc<br /> để đảm bảo tính đúng đắn của thời khóa biểu, chẳng hạn: mọi giáo viên đều không được<br /> phép dạy ở hơn một phòng tại cùng một thời điểm.<br /> Bảng 2. Quan hệ TKB.<br /> Ngày Tiết thứ Môn Phòng Giáo viên<br /> 10/05 1 Cơ sở dữ liệu 123 Vũ Tuấn<br /> 10/05 2 Cơ sở dữ liệu 123 Vũ Tuấn<br /> 11/05 3 Toán rời rạc 213 Phạm Hoa<br /> ... ... ... ... ...<br /> Cho lược đồ quan hệ S = với  = {A1, A2,..., An}. Nếu không quan tâm đến tập<br /> các ràng buộc F thì ta sẽ dùng ký hiệu S(A1, A2,..., An) hoặc S() thay cho S = . Ta<br /> dùng ký hiệu r(S) để chỉ một quan hệ r (hay một thể hiện r) của lược đồ quan hệ S. Với<br /> một bộ t của r(S) và X   , ta ký hiệu t[X] là bộ chỉ chứa các giá trị của bộ t tại các<br /> thuộc tính trong X.<br />  Phụ thuộc hàm. Cho  là tập thuộc tính và S() là một lược đồ quan hệ trên . Giả sử<br /> X, Y  . Khi đó, Y được gọi là phụ thuộc hàm vào X trên lược đồ S(), ký hiệu là X  Y,<br /> nếu với mọi quan hệ r trên lược đồ S(), với hai bộ bất kỳ t1, t2  r mà t1[X] = t2[X] thì<br /> t1[Y] = t2[Y]. Nếu Y phụ thuộc hàm vào X thì ta cũng nói "X xác định hàm Y". Với mỗi<br /> quan hệ r trên lược đồ S(), ta nói r thỏa mãn (hay thỏa) phụ thuộc hàm X  Y (hay phụ<br /> thuộc hàm X  Y đúng trên r) nếu và chỉ nếu với mọi bộ t1, t2  r, t1[X] = t2[X] kéo theo<br /> t1[Y] = t2[Y].<br /> Ví dụ 3. Một cửa hàng cần quản lý dữ liệu về các loại hàng hóa mà họ bán ra. Thông tin<br /> về mỗi loại hàng bao gồm mã số (MaSo), tên hàng (TenHang) và giá bán (GiaBan). Giả sử<br /> mỗi loại hàng có một mã số duy nhất và một tên duy nhất. Khi đó, {MaSo}{TenHang},<br /> {TenHang}{GiaBan}, {MaSo}{GiaBan} và dễ nhận thấy rằng {MaSo}{TenHang,<br /> GiaBan}.<br />  Hệ quy tắc suy diễn Armstrong. Với lược đồ quan hệ S = và X, Y  , ta ký<br /> hiệu XY thay cho X  Y. Với mọi X, Y, Z  , hệ quy tắc suy diễn Armstrong đối với các<br /> phụ thuộc hàm gồm ba quy tắc sau đây:<br /> Q1. (Phản xạ): Nếu Y  X thì X  Y.<br /> Q2. (Gia tăng): Nếu X  Y thì XZ  YZ.<br /> Q3. (Bắc cầu): Nếu X  Y và Y  Z thì X  Z.<br /> Từ hệ quy tắc suy diễn Armstrong, ta có các quy tắc suy diễn bổ sung dưới đây:<br /> Quy tắc hợp: Nếu X  Y và X  Z thì X  YZ.<br /> Quy tắc tách: Nếu X  Y và Z  Y thì X  Z.<br /> Quy tắc giả bắc cầu: Nếu X  Y và WY  Z thì WX  Z.<br /> <br /> <br /> <br /> 74 V. Q. TuÊn, V. C. Thuý, "Ph­¬ng ph¸p ma trËn … trong c¬ së d÷ liÖu.”<br /> Nghiªn cøu khoa häc c«ng nghÖ<br /> <br /> Ví dụ 4. Trở lại ví dụ 3. Từ {MaSo}{TenHang} và {TenHang}{GiaBan} ta có<br /> {MaSo}{GiaBan} theo quy tắc bắc cầu. Từ {MaSo}{TenHang} và<br /> {MaSo}{GiaBan} ta có {MaSo}{TenHang, GiaBan} theo quy tắc hợp.<br />  Quan hệ tương đương. Cho r là một quan hệ trên lược đồ quan hệ S() và X  . Quan<br /> hệ r là một tập các bộ, mỗi bộ là một hàng (một dòng) trong r. Xét quan hệ X trên r được<br /> định nghĩa như sau: t X u khi và chỉ khi t[X] = u[X] với mọi t, u  r. Dễ dàng thấy rằng X<br /> là một quan hệ tương đương.<br /> Ví dụ 5. Trở lại ví dụ 1, xét quan hệ SV trong bảng 1. Ta thấy hai bộ ứng với mã số<br /> K40-01 và K41-01 tương đương với nhau trên tập thuộc tính X = {Mã khoa, Địa chỉ}. Hai<br /> bộ còn lại tương đương trên tập {Mã khoa}.<br /> 3. MA TRẬN TƯƠNG ĐƯƠNG<br /> 3.1. Phân hoạch<br /> Cho r là một quan hệ trên lược đồ quan hệ S(). Với mỗi tập thuộc tính X  , ta xây<br /> dựng một quan hệ tương đương X như ở trên; quan hệ X này sẽ phân hoạch tập các bộ<br /> của r thành các lớp tương đương. Ký hiệu lớp tương đương của một bộ t  r khi phân<br /> hoạch theo X là [t]X, nghĩa là [t]X = {u  r: t[X] = u[X]}. Tập X = {[t]X : t  r} gồm các<br /> lớp tương đương được gọi là phân hoạch của r trên X.<br /> Ví dụ 6. Phân hoạch quan hệ SV trong bảng 1 theo tập thuộc tính {Mã khoa} ta sẽ được<br /> hai lớp tương đương: lớp thứ nhất gồm hai bộ ứng với các mã số K40-01 và K41-01, lớp<br /> thứ hai gồm hai bộ còn lại.<br /> 3.2. Ma trận tương đương<br /> Cho r là một quan hệ trên lược đồ quan hệ S(). Giả sử r  t1 , t2 ,..., tm  . Mỗi quan hệ<br /> tương đương X trên r có thể được biểu diễn dưới dạng một ma trận vuông như dưới đây<br /> với aij  1 nếu ti X tj và aij  0 nếu ngược lại.<br /> X t1 t2 ... tj ... tm<br /> t1 a11 a12 ... a1j ... a1m<br /> t2 a21 a22 ... a2j ... a2m<br /> ... ... ... ... ... ... ...<br /> ti ai1 ai2 ... aij ... aim<br /> ... ... ... ... ... .. ...<br /> tm am1 am2 ... amj ... amm<br /> Các ma trận được cảm sinh từ các quan hệ tương đương X trên r được gọi là ma trận<br /> tương đương trên r.<br /> Ví dụ 7. Quan hệ tương đương "=" trên r  t1 , t2 ,..., tm  ứng với phân hoạch<br />   : t1 ,t2  ,...,tm  có ma trận tương đương là ma trận đơn vị cấp m.<br /> = t1 t2 ... ti ... tm<br /> t1 1 0 ... 0 ... 0<br /> t2 0 1 ... 0 ... 0<br /> ... ... ... ... ... ... ...<br /> ti 0 0 ... 1 ... 0<br /> <br /> <br /> <br /> <br /> T¹p chÝ Nghiªn cøu KH&CN Qu©n sù, Sè 34, 12 - 2014 75<br /> Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh<br /> <br /> ... ... ... ... ... .. ...<br /> tm 0 0 ... 0 ... 1<br /> Ví dụ 8. Quan hệ tương đương : t i  t j với mọi i, j  1, 2,..., m trên r  t1 , t2 ,..., tm  có<br /> ma trận tương đương là ma trận vuông cấp m với tất cả các phần tử đều bằng 1.<br />  t1 t2 ... ti ... tm<br /> t1 1 1 ... 1 ... 1<br /> t2 1 1 ... 1 ... 1<br /> ... ... ... ... ... ... ...<br /> ti 1 1 ... 1 ... 1<br /> ... ... ... ... ... .. ...<br /> tm 1 1 ... 1 ... 1<br />  Định nghĩa 1. Cho trước M 1  tij  và M 2  t 'ij  là hai ma trận tương đương cấp m.<br /> Khi đó, giao của M1 và M 2 là một ma trận, kí hiệu là M 1  M 2   sij  ,<br /> với sij  min(tij,t 'ij ) . Để nhận được ma trận M1  M 2 , ta cần tính m 2 giá trị sij ; do đó độ<br /> phức tạp thời gian khi tính M1  M 2 từ M1 và M 2 là O(m2 ) .<br /> Ví dụ 9. Với r  t1 , t2 , t3 , t4 , t5 , t6  . Phân hoạch 1 : t1 , t6  ,t2 , t3  ,t4 , t5  có ma trận M 1<br /> và phân hoạch  2 : t1 , t3 , t4 , t5 , t6  ,t2  có ma trận M 2 .<br /> 1 0 0 0 0 1 1 0 1 1 1 1<br /> 0 1 1 0 0 0  0 1 0 0 0 0 <br />  <br /> 0 1 1 0 0 0 1 0 1 1 1 1<br /> M1    , M2   ,<br /> 0 0 0 1 1 0 1 0 1 1 1 1<br /> 0 0 0 1 1 0  1 0 1 1 1 1<br />    <br /> 1 0 0 0 0 1  1 0 1 1 1 1 <br /> 1 0 0 0 0 1<br /> 0 1 0 0 0 0 <br /> <br /> 0 0 1 0 0 0<br /> Giao của M 1 và M 2 là ma trận M 3  M1  M 2   .<br /> 0 0 0 1 1 0<br /> 0 0 0 1 1 0<br />  <br /> 1 0 0 0 0 1 <br />  Định nghĩa 2. Cho trước M 1  tij  và M 2   t 'ij  là hai ma trận tương đương cấp m. Ta<br /> nói M1  M 2 nếu tij  t 'ij với mọi i, j  1, 2,..., m .<br /> Như vậy, để kiểm tra M1  M 2 ta cần thực hiện m 2 phép so sánh tij  t 'ij ; do đó độ<br /> phức tạp thời gian để so sánh hai ma trận M1 , M 2 cũng chỉ là O(m2 ) .<br /> Ví dụ 10. Với các ma trận M 1 , M 2 , M 3 trong ví dụ 9, dễ thấy rằng M 3  M 1 và<br /> M3  M2 .<br /> <br /> <br /> <br /> <br /> 76 V. Q. TuÊn, V. C. Thuý, "Ph­¬ng ph¸p ma trËn … trong c¬ së d÷ liÖu.”<br /> Nghiªn cøu khoa häc c«ng nghÖ<br /> <br /> 3.3. Ma trận thuộc tính<br /> Cho r  T  t1 , t2 ,..., tm  là một quan hệ trên tập thuộc tính  = {A1, A2,..., An}, kí hiệu<br /> là r ( T, ) . Với mỗi thuộc tính A , ta xây dựng một quan hệ tương đương  A trên T<br /> như sau: t  A u nếu và chỉ nếu t[A] = u[A] với mọi t, u  T ; nghĩa là các bộ t, u có cùng<br /> giá trị trên thuộc tính A. Gọi M A là ma trận tương đương của quan hệ  A .<br />  Định nghĩa 3. Ma trận M A của quan hệ tương đương  A được xây dựng như ở trên được<br /> gọi là ma trận của thuộc tính A (hay của tập thuộc tính {A}).<br /> Ví dụ 11. Xét một quan hệ r ( T, ) được cho trong bảng 3 với  = {A1, A2,..., A6} và<br /> r  T  t1 , t2 ,..., t5  :<br /> Bảng 3. Quan hệ r ( T, )<br /> A1 A2 A3 A4 A5 A6<br /> t1 4 1 K X 8.36 M<br /> t2 3 2 J Y 5.14 F<br /> t3 4 1 L X 8.38 M<br /> t4 3 1 K X 8.29 F<br /> t5 4 2 J Y 5.27 M<br /> Với mỗi thuộc tính A ta có các ma trận sau:<br /> 1 0 1 0 1  1 0 1 1 0<br /> 0 1 0 1 0  0 1 0 0 1 <br />   <br /> M A1  M A6  1 0 1 0 1  , M A2  M A4  1 0 1 1 0 ,<br />    <br /> 0 1 0 1 0  1 0 1 1 0<br /> 1 0 1 0 1  0 1 0 0 1 <br /> 1 0 0 1 0  1 0 00 0<br /> 0 1 0 0 1  0 1 00  0<br />   <br /> M A3  0 0 1 0 0  , M A5  0 0 10 0<br />    <br /> 1 0 0 1 0  0 0 00 1<br /> 0 1 0 0 1  0 0 01  0<br />  Định nghĩa 4. Cho trước quan hệ r( T, ) và một tập con X   . Ma trận tương đương<br /> của X được định nghĩa là M X   aij  với aij  1 nếu và chỉ nếu ti[X] = tj[X]. Dễ thấy rằng<br /> M X   AX M A .<br /> Ví dụ 12. Xét lại quan hệ r ( T, ) trong bảng 3. Với X   A1 , A4  ta có ma trận M X như<br /> sau:<br /> 1 0 1 0 0<br /> 0 1 0 0 0 <br /> <br /> M X  M A1  M A4  1 0 1 0 0<br />  <br /> 0 1 0 1 0<br /> 0 0 0 0 1 <br /> <br /> <br /> <br /> <br /> T¹p chÝ Nghiªn cøu KH&CN Qu©n sù, Sè 34, 12 - 2014 77<br /> Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh<br /> <br /> 3.4. Một số tính chất của ma trận thuộc tính<br /> Từ định nghĩa về ma trận của tập thuộc tính (định nghĩa 4) và hệ quy tắc suy diễn<br /> Armstrong, ta dễ dàng suy ra được các tính chất sau:<br />  Định lý 1. [1] Cho quan hệ r ( T, ) . Khi đó, với mọi X , Y   ta có M X  M Y  M X Y .<br /> Chứng minh. Do phép  có tính chất giao hoán và kết hợp nên:<br /> ( AX M A )  ( AY M A )   AX Y M A . <br />  Định lý 2. [1] Cho quan hệ r ( T, ) . Khi đó, với mọi X , Y   ta có<br /> M X Y  M XY  M X , M Y .<br /> Chứng minh. Giả sử x, y {0,1} . Theo định nghĩa thì x  y  min( x, y) nên<br /> x  y  x, y . <br />  Định lý 3. [1] Cho quan hệ r ( T, ) . Khi đó, với mọi X , Y   , nếu X  Y thì<br /> M X  MY .<br /> Chứng minh. Đặt Z  X \ Y . Ta có M X  M YZ  M Y theo định lý 2. <br />  Định lý 4. [1] Cho quan hệ r (T, ) . Với X , Y   , nếu M X  M Y thì M X  Z  M Y  Z<br /> với mọi Z   .<br /> Chứng minh. Vì M X  M Y nên M X  M Y  M X .<br /> Do đó, ( M X  M Z )  ( M Y  M Z )  ( M X  M Y )  ( M Z  M Z )  M X  M Z ;<br /> Vậy ( M X  M Z )  ( M Y  M Z ) hay M X  Z  M Y  Z .<br />  Định lý 5. Cho quan hệ r ( T, ) . Khi đó, với mọi X , Y , Z   , nếu M X  M Y và<br /> M X  M Z thì M X  M YZ .<br /> Chứng minh.Giả sử M X   xij  , M Y   yij  và M Z   zij  . Từ M X  M Y và M X  M Z<br /> ta có xij  yij , xij  zij . Suy ra xij  min( yij , zij )  yij  zij . <br /> 5. Phụ thuộc hàm<br />  Định lý 5. [1] Phụ thuộc hàm X  Y đúng trên r ( T, ) khi và chỉ khi M X  M Y , nghĩa<br /> là  AX M A   AY M A .<br /> Chứng minh. Giả sử r  t1 , t2 ,..., tm  , M X   xij  và M Y   yij  .<br /> + Nếu X  Y thì M X  M Y . Thật vậy, vì X  Y nên theo định nghĩa phụ thuộc hàm<br /> ta có:  ti , t j  r nếu ti [ X ]  t j [ X ] thì ti [Y ]  t j [Y ] ; kết hợp với định nghĩa 4, suy ra:<br /> nếu xij  1 thì yij  1 . Mặt khác, M X , M Y là các ma trận nhị phân nên M X  M Y .<br /> + Nếu M X  M Y thì X  Y . Ta cần chỉ ra  ti , t j  r , nếu ti [ X ]  t j [ X ] thì<br /> ti [Y ]  t j [Y ] . Thật vậy, vì ti [ X ]  t j [ X ] nên theo định nghĩa 4, ta có xij  1 ; mặt khác<br /> do M X  M Y nên xij  yij , suy ra yij  1 ; cũng theo định nghĩa 4, từ yij  1 ta có<br /> ti [Y ]  t j [Y ] . <br /> Như vậy, để kiểm tra X  Y ta chỉ cần kiểm tra M X  M Y ; độ phức tạp thời gian là<br /> O( m 2 ) .<br />  Hệ quả. Nếu M X  M  thì X là siêu khoá, nghĩa là X   đúng trên r ( T, ) .<br /> 4. PHÁT HIỆN PHỤ THUỘC HÀM<br />  Thuật toán 1. Thuật toán tìm ma trận M A  tij  .<br /> <br /> <br /> <br /> 78 V. Q. TuÊn, V. C. Thuý, "Ph­¬ng ph¸p ma trËn … trong c¬ së d÷ liÖu.”<br /> Nghiªn cøu khoa häc c«ng nghÖ<br /> <br /> INPUT: Quan hệ r ( T, )  t1 , t2 ,..., tm  và A  .<br /> OUTPUT: Ma trận tương đương M A .<br /> for i: = 1 to m do<br /> for j: = 1 to m do<br /> if ti [ A]  t j [ A] then tij  1 else tij  0 ;<br /> Nhận xét 1. Thuật toán 1 có độ phức tạp thời gian là O(m 2 ) .<br />  Thuật toán 2. Thuật toán tính ma trận M  M1  M 2 .<br /> INPUT: Hai ma trận (vuông, nhị phân, cấp m) M1 , M 2 .<br /> OUTPUT: M  M1  M 2 .<br /> + Quy tắc tính: 0  0  0 , 0  1  1  0  0 , 1  1  1 .<br /> + Giả sử M  tij  , M 1  t 'ij  , M 2   t ''ij  , ta có:<br /> for i: = 1 to m do<br /> for j: = 1 to m do<br /> if t 'ij  t ''ij then tij  t 'ij else tij  t ''ij ;<br /> Nhận xét 2. Thuật toán 2 có độ phức tạp thời gian là O(m 2 ) .<br /> <br />  Thuật toán 3. Thuật toán kiểm tra phụ thuộc hàm X  Y .<br /> INPUT: Quan hệ r ( T, )  t1 , t2 ,..., tm  và X , Y   .<br /> OUTPUT: TRUE nếu X  Y đúng trên r ( T, ) hoặc FALSE nếu ngược lại.<br /> Bước 1. Tính M X = ?<br /> <br /> <br /> + Giả sử X  x1 , x2 ,..., x X . <br /> + Tính M x1 theo Thuật toán 1; M X : M x1 ;<br /> + for i := 2 to X do<br /> begin<br /> + Tính M xi ;<br /> + M X : M X  M xi ;<br /> end;<br /> Bước 2. Tính M Y = ?<br /> <br /> <br /> + Giả sử Y  y1 , y2 ,..., y Y . <br /> + Tính M y1 theo Thuật toán 1; M Y : M y1 ;<br /> + for i := 2 to Y do<br /> begin<br /> + Tính M yi ;<br /> + M Y : M Y  M yi ;<br /> end;<br /> Bước 3. So sánh M X và M Y ?<br /> + Giả sử M X   xij  và M Y   yij  .<br /> <br /> <br /> <br /> <br /> T¹p chÝ Nghiªn cøu KH&CN Qu©n sù, Sè 34, 12 - 2014 79<br /> Kü thuËt ®iÖn tö & Khoa häc m¸y tÝnh<br /> <br /> + TEST := TRUE;<br /> + for i := 1 to m do<br /> for j := 1 to m do<br /> if xij  yij then<br /> begin<br /> TEST := FALSE;<br /> break;<br /> end;<br /> + return TEST;<br /> Nhận xét 3. Thuật toán 3 có độ phức tạp thời gian là O(m2 ) .<br /> <br /> 5. KẾT LUẬN<br /> Bài báo đã nghiên cứu về ma trận thuộc tính và phương pháp ma trận để kiểm tra một<br /> phụ thuộc hàm có được thoả mãn hay không đối với một quan hệ cho trước. Phương pháp<br /> ma trận tỏ ra đơn giản và hiệu quả vì độ phức tạp thời gian tính toán của phương pháp này<br /> chỉ là đa thức. Trong các bài báo tiếp theo, chúng tôi sẽ nghiên cứu tiếp các tính chất quan<br /> trọng của ma trận tương đương, phương pháp ma trận để phát hiện khoá của quan hệ, đồng<br /> thời mở rộng phương pháp ma trận để phát hiện phụ thuộc hàm xấp xỉ.<br /> <br /> TÀI LIỆU THAM KHẢO<br /> [1]. J.W. Guan, D.A. Bell and Z. Guan, “Matrix computation for information systems”,<br /> Information Sciences 131 (2001), pp. 129 -156.<br /> [2]. D. Maier, “The theory of relational databases”, Computer Science Press, (1983).<br /> [3]. Hong Yao, Howard J. Hamilton, Cory J. Butz, “FD_Mine: Discovering Functional<br /> Dependencies in a Database Using Equivalences”, Second IEEE International<br /> Conference on Data Mining, (2002).<br /> [4]. Laurentiu B. Cristofor, “A rough set based generalization of functional<br /> dependencies”, Department of Math and Computer Science, UMass/Boston, May 8,<br /> (2000).<br /> [5]. Nguyễn Đăng Khoa, Vũ Huy Hoàng, “Phụ thuộc hàm suy rộng trên cơ sở lý thuyết tập<br /> thô”, Tạp chí Tin học và Điều khiển học, T.20, S.1, (2004).<br /> [6]. Y. Huhtala and et al, “Efficient discovery of functional and approximate dependencies<br /> using partitions”, (1998).<br /> <br /> ABSTRACT<br /> MATRIX METHOD FOR DISCOVERING FUNCTIONAL<br /> DEPENDENCIES IN A DATABASE<br /> Discovering functional dependencies from a database is an important<br /> technique in data mining. In this paper, we present an algorithm for finding<br /> functional dependencies using equivalence matrices. The advantage of this<br /> algorithm is that matrices can be computed simply and efficiently.<br /> Keywords: Data mining, Database, Relation, Relation scheme, Functional dependency, Equivalence matrix.<br /> <br /> Nhận bài ngày 28 tháng 07 năm 2014<br /> Hoàn thiện ngày 09 tháng 10 năm 2014<br /> Chấp nhận đăng ngày 05 tháng 12 năm 2014<br /> Địa chỉ: * Khoa Tự nhiên - Trường Cao đẳng Hải Dương.<br /> ** Trung tâm Dịch vụ Giá trị Gia tăng, Công ty Thông tin di động VMS-MobiFone.<br /> <br /> <br /> 80 V. Q. TuÊn, V. C. Thuý, "Ph­¬ng ph¸p ma trËn … trong c¬ së d÷ liÖu.”<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1