24. KHÓA CỦA LƢỢCĐỒ QUAN HỆ
24.2. Họ Sperner và khóa
Nếu gọi K là tập tất cả các khoá của lƣợc đồ =(U,F), nh vậy mỗi phần tử của K là một tập thuộc tính và các tập hợp đó là không bao nhau.
Định nghĩa: Họ Sperner trên U là họ M={ X | XU }sao cho hai phần tử của M là không bao nhau.
Nhận xét: Tập hợp K tất cả các khoá của lƣợc đồ là một họ Sperner trên U. Xây dựng lƣợc đồ quan hệ có các khoá là các phần tử của họ Sperner
Bài toán: Cho M là một họ Sperner trên U thì có tồn tại hay không một lƣợc đồ quan hệ =(U,F) sao cho K =M (lƣợc đồ có các khoá là các phần tử của họ M).
Trả lời: Có tồn tại một lƣợc đồ =(U,F) đợc xây dựng nhƣ sau: Xây dựng F, giả sử M={X1, X2,..., Xn} ta xây dựng F nhƣ sau F={ Xi U\ Xi i=1, .., n } Khi đó lƣợc đồ =(U,F) có K =M Chứng minh: Để chứng minh K =M ta chứng minh K M (1) và M K (2) Chứng minh (1) Lấy K K ta cần chứng minh K M Giả sử ngƣợc lại KM
Do K là khoá nên K+ =U việc tìm bao đóng của K phải áp dụng các phụ thuộc hàm trong tập F có vế trái là tập con của K, tức là Mi M để Mi K (Mi tập con thực sự của K vì giả thiết K M)
Mặt khác, Mi+ =U tức là Mi là siêu khoá của lƣợc đồ, Mi là tập con thực sự của khoá K mà Mi lại là một siêu khoá mâu thuẫn với giả thiết K là khoá. Vậy K M.
Chứng minh (2)
Lấy Mi M ta cần chứng minh Mi K thật vậy theo thuật toán xây dựng lƣợc đồ thì Mi+ =U tức Mi là siêu khoá, tuy nhiên Mi là khoá vì lấy Mi‟ Mi thì (Mi‟)+ U vì các phần tử của họ Sperner là không bao nhau, mà Mi‟ Mi thế nên Mj M thì Mj Mi‟ thế nên (Mi‟)+ =Mi‟ U
Ví dụ: Cho U=ABCDEGH và họ Sperner M={ACD, ABE, GH }, hãy xây dựng một
lƣợc đồ quan hệ =(U,F) sao cho K = M Giải:
Lấy F={ ACD BEGH, ABE CDGH, GH ABCDE}
Rõ ràng lƣợc đồ =(U,F) với U và F đƣợc xác định nhƣ trên chính là lƣợc đồ cần tìm. Nhận xét: Số khoá của lƣợc đồ đƣợc xây dựng theo thuật toán trên bằng lực lƣợng của họ M.