- Đặc tính thứ hai của tậpcác vỊ tìr là tính cực tiểu Đây là một đặc tính cảm tính Vị từ đơn giản phải cĩ liên đới (relevant) trong việc xác định một mảnh M ột vị tìr khơng tham gia
Thuật tốn 2.1 COM_MIN
I n p u t : R: quan hệ; Pr: tậpcác vị tìr đcm giản; Output: Pr’: tập các vị tìr cực tiểu và đầy đủ;
Declare
F; tập các mảnh hội sơ cấp;
Begin
Pr’ = ộ; F = ộ;
For each vị từ p e Pr i f p phân hoạch R theo quy tắc 1 then
Begin
Pr’: = Pr’u p ; Pr: = P r - p ;
Repeat
For each p e Pr if p phân hoạch một mành fk của Pr’ theo quy tắc 1 ứien B egin
Pr’; = Pr’u p; Pr: = P r - p ; F: = F u p ; End;
Until Pr’ đầy đủ {Khơng cịn p nào phân mảnh f)( của Pr’} For each p e Pr’, if 3 p ’ mà p < => p ’ then
B egin
Pr’:= P r’- p; F:= F - f; End;
End. {COM _M IN}
Thuật tốn bắt dầu bằng cách tìm một vị tìr cĩ liên đới và phân hoạch quan hệ đã cho. Vịng lặp R epeat-untỉl thêm các vị từ cĩ phân hoạch các mảnh vào tập này, bảo đảm tính đầy đủ của Pr’. Đoạn cuối kiểm tra tính cực tiểu của Pr’. Vì tìiế cuối cùng ta cĩ tập Pr’ ià cực tiểu và đầy đủ.
Bước hai của việc thiết kế phân mảnh nguyên thủy là suy dẫn ra tập các vị từ hội sơ cấp cĩ thể được định nghĩa trên các vị tìr trong tập Pr’. Các vị từ hội sơ cấp này xác định các mảnh “ứng cử viên” cho bước cấp phát. V iệc xác định các vị tìr hội sơ cấp là tầm thường; khĩ khăn chính là tập các vị tìr hội sơ cấp cĩ thể rất lớn (thực sự chúng tỷ lệ hàm mũ theo số lượng các vị từ đon giản). Trong bước kế tiếp chúng ta sẽ tìm cách làm giảm số lượng vị tìr hội sơ cấp cần được định nghĩa frong phân mảnh.
Bước ba của quá trình thiết kế là loại bỏ một số mảnh vơ nghĩa. Điều này được thực hiện bằng cách xác định những vj từ mâu thuẫn với tập các phép kéo theo (implication) I. Chẳng hạn nếu Pr’={pi, P2}
trong đĩ:
Pi: att = value_l P2: att = value_2
Và miền biến thiên của att là {vaiue_l, value_2}, rõ ràng I chứa hai phép kéo theo với khẳng định:
I|: (at t = v a lu e _ l) => -i(att = value_2) I2: -i(att = v a lu e _ l) => (att = value_2)
Bốn vị từ hội sơ cấp sau đây được định nghĩa theo Pr’: Mi: (att = v a lu e _ l) A (att = value_2)
M2: (att = v a lu e _ l) A -i(att = value_2)
M3: -i(att = v a lu e _ l) A (att = value_2)
M4: -i(att = v a lu e _ l) A -i(att = value_2)
Trong trường hợp này các vị từ hội sơ cấp ni|, rri4 mâu thuẫn với các phép kéo theo I và vì thế bị loại ra khỏi M.
T h u ậ t lốn 2.2 P I I O R I / O N ! AI.
input; R: quan hệ: Pr: tập các vỊ từ đơn gian;
Output: M: tập các vị từ hội sơ cấp:
Begin
Pr' COM M1N(R. Pr);
Xác định lặp M các vị từ ỉiội SO' cap:
Xác định tập ỉ các phép kéo theo iiiữa các p,c Pr'; F o r each m, e M do
Begin
IF m, mâu thuẫn vĩi I then
M: M - m,.
Enứ;
End. íPll()R !Z O N T A Ỉ.|
Vi dụ 2. ¡0: Chúng ta hầv xét quan hệ DA. Giá sư răng cĩ hai ửniị dụng:
ủ n g dụng đầu tiên được đưa ra tại ba vị trí và cân tìm tên và ngân sách cua các dự án khi cho biết vị trí. Theo ký pháp SỌL, câu vấn tin được viết là:
SE IJ-C T Tẻn[)A, Ngân sách
KROM DA
WHERH địa điểm giá írị
Đối với ứng dụng này, các vị từ đơn giản cĩ thể được dùng là: P1: Địa điêm - '^Montreal"
P2: Đ Ịađiẽm '"New York" P3: Dịa điêm “ Paris"
ủ n g dụng thử hai là nluTng dự án cĩ ngàn sách dirỏi 200.()()() (lỏla clirọc (.Ịuan K lại một vị trí. cịn những dự án cỏ ngân sách lớn hưn đuxrc quan lý tại niộl vị trí thử hai. Vi the các vị lừ dơn gian phai được sư dụng đẻ phân I i ì à n h theo ứng dụim lliứ hai là:
P4: Iigân sách < 2000()0 P5: ngân sách > 200000
Nếu kiếm tra bằng thuật tốn COM MIN. tcập Pr' i p l . p2. p3. p4. p3| rõ ràng đầy đu
và cực tiểu.
Dựa trên Pr' chúng ta cĩ thể định niỉhĩa sáu vị từ hội sư cấp sau đà> tạo ra M: M 1; (Địa điểm ' ‘Montreal’') A (Ngân sách < 200000)
M2; (f)ịa điêni " M o n l r e a r ' ) A ( N g â n sách > 2()()()00)
M.l: (l)ịa diỏni "New York") A (Ngân sácli < 2()()()()0) M4: (Dịa diêm "New York") A {Ngàn sách > 200000)
M5: (Địa điểm = ’’Paris”) A (Ngân sách<200000) M6: (Địa điểm = ’’Paris”) A (Ngân sách>200000)
Đây khơng phải là các vị từ hội sơ cấp duy nhất cĩ thể được tạo ra. Chẳng hạn vẫn cĩ thể định nghĩa các vị từ: