Bài 4 · Danh sách khác biệt và tập đóng
dCharm — tập đóng bằng danh sách khác biệt
dCharm chính là Charm, chỉ thay danh sách giao dịch bằng danh sách khác biệt. Nó vẫn dùng đúng bốn tình huống và vẫn cho ra bảy tập đóng như nhau; điểm khác duy nhất là cách nhận ra mỗi tình huống: thay vì so trực tiếp hai danh sách, ta nhìn xem danh sách khác biệt có rỗng hay không, rồi so độ phổ biến của hai bên.
1. Bốn tình huống nhìn qua danh sách khác biệt
Khi ghép một cặp, ta vẫn tính danh sách khác biệt của tập ghép như đã học, rồi so độ phổ biến của hai bên. Bốn tình huống của Charm được nhận ra như sau:
Nhận ra khi danh sách khác biệt rỗng và độ phổ biến hai bên bằng nhau. Khi đó gộp mặt hàng sau vào và bỏ nó khỏi danh sách.
Nhận ra khi danh sách khác biệt rỗng nhưng độ phổ biến của mặt hàng trước nhỏ hơn của mặt hàng sau. Khi đó gộp mặt hàng sau vào nhưng vẫn giữ nó lại.
Nhận ra khi danh sách khác biệt không rỗng nhưng độ phổ biến của tập ghép lại đúng bằng độ phổ biến của mặt hàng sau. Khi đó bỏ mặt hàng sau và mở một nhánh con mới.
Là trường hợp còn lại: danh sách khác biệt không rỗng, và độ phổ biến của tập ghép nhỏ hơn cả hai bên. Khi đó giữ cả hai và mở một nhánh con mới.
Ở mức một, vì còn giữ danh sách giao dịch nên danh sách khác biệt của cặp hai mặt hàng chính là những giao dịch có ở mặt hàng đầu mà vắng ở mặt hàng sau. Quy tắc "nhánh con cũng được gộp thêm mặt hàng mới khi gặp tình huống một hoặc hai" vẫn giữ nguyên như bên Charm.
2. Giải mẫu từng bước
Vẫn bảng dữ liệu quen thuộc, ngưỡng phổ biến bằng ba, thứ tự xét là A, D, T, W rồi C. Độ phổ biến: A bốn, D bốn, T bốn, W năm, C sáu.
Nhánh mặt hàng A
Ghép A với D, rồi A với T.
Ghép A với W.
Ghép AW với C.
Các nhánh D, T, W và C
Nhánh T. Cặp TW có danh sách khác biệt gồm giao dịch 6, độ phổ biến ba, là tình huống bốn, mở nhánh con TW. Cặp TC có danh sách khác biệt rỗng và độ phổ biến của T nhỏ hơn của C, là tình huống hai: gộp C để được CT, nhánh con TW lớn lên thành TWC. Tập TWC bị ACTW bao trùm nên không được ghi lại. Cuối nhánh, ta chỉ thu được CT độ phổ biến bốn.
Nhánh W. Cặp WC có danh sách khác biệt rỗng và độ phổ biến của W nhỏ hơn của C, là tình huống hai: gộp C để được CW. Ta thu được CW độ phổ biến năm.
Nhánh C. Không còn gì để ghép, ta ghi nhận C độ phổ biến sáu.
C độ phổ biến sáu; CW năm; ACW bốn; CD bốn; CT bốn; CDW ba; và ACTW ba.
3. Bài tập tự luyện
Dùng bảng P, ngưỡng phổ biến bằng hai. Năm giao dịch: giao dịch một có B, C, M; giao dịch hai có B, E; giao dịch ba có B, C, E, M; giao dịch bốn có C, E, O; giao dịch năm có B, C, E, M. Sau khi loại O, thứ tự xét là M, B, C, E.
Bài một. Ghép M với B: danh sách khác biệt có rỗng không, và rơi vào tình huống nào?
Bài hai. Chạy dCharm cho bảng P và liệt kê bảy tập đóng.