• Bài toán thành viên
V n đ đấ ề ược đ a ra đây là: Cho trư ở ước m t t p PTH F có hay không m t kh ngộ ậ ộ ẳ đ nh f ị ∈ F+. Đ gi i quy t bài toán này ngể ả ế ười ta s d ng tính ch t 6 c a t p baoử ụ ấ ủ ậ đóng hay b đ 2.1: X → Y ổ ề ∈ F+ ⇔ Y ⊂ X+.
• Thu t toán tìm bao đóng X+ậ
Thu t toán tìm bao đóng X+ c a Beeri và Bernsteinậ ủ
Cho R = {A1, ..., An}. T là t p PTH trên R. X là t p thu c tính.ậ ậ ộ Ta xây d ng t p X0, .., Xk nh sau:ự ậ ư
X0=X
X(i+1) = XiZi v i Zi={A: A ớ ∉ Xi và Xi → A ∈ F+} i= 1, 2, ...
T p X0, X1, ... là t p tăng d n và t p R là h u h n nên sau h u h n bậ ậ ầ ậ ữ ạ ữ ạ ước thu t toánậ ph i k t thúc. T n t i Xk = Xk+1 = ... Chính Xk là t p X+.ả ế ồ ạ ậ
Thu t toánậ
Input: Lược đ quan h Rồ ệ
T p PTH F, ậ T p thu c tính Xậ ộ Output: T p X+ậ Begin Y:=X Repeat Z:=∅ For each A in R do If (A ∉ Y and Y → A ∈ F+) then Z= Z ∪ A; Y : = Y ∪ Z; Until Z = ∅; X+ = Y End; Ví dụ Cho R = {A, B, C, D, E, G}
Cho t p PTH F ={AB → C, C → A, BC → D, ACD → B, D → EG, BE → C, CG →ậ DB, CE → AG} X = {B, D} X0 = {B, D}, Z0 = {E, G} (D → EG) X1 = {B, D, E, G}, Z1 = {C} (BE → C) X2 = {B, C, D, E, G}, Z2 ={A} (C → A) X3 ={A, B, C, D, E, G} Z3=∅ X+ = X3
Ch ng minh tính đúng đ n c a thu t toánứ ắ ủ ậ
Ch ng minh: X+ ứ ⊂ Xk và Xk ⊂ X+. ạ X+ ⊂ Xk
Th t v y l y A ậ ậ ấ ∈ X+. Nh trên ta th y X+=XZ v i Z = {A: A ư ấ ớ ∉ X và X → A ∈ F+} N u A ế ∈ X thì A ∈ Xk vì X ⊂ Xk.
N u A ế ∈ Z thì theo đ nh nghĩa các t p Zi, t n t i m t ch s i đ A ị ậ ồ ạ ộ ỉ ố ể ∈ Zi v y A ậ ∈ Xk
⇒ X+ ⊂ Xk. b. Xk ⊂ X+
VỊ S đ quan hơ ồ ệ
• Khái ni m s đ quan h :ệ ơ ồ ệ
Cho R là m t quan h trên t p thu c tính Ư, ta nói R thu c s đ quan h ộ ệ ậ ộ ộ ơ ồ ệα=<Ư, F> n u R tho mãn t t c các ph thu c hàm c a t p F ế ả ấ ả ụ ộ ủ ậ
• S đ quan h là m t lơ ồ ệ ộ ược đ quan h và t p ph thu c hàm trên nóồ ệ ậ ụ ộ