Thuật tốn Count-Min đƣợc đề xuất bởi Cormode và Muthukrishnan năm 2005 [28], trong thuật tốn này sử dụng cấu trúc dữ liệu sketch là mảng 2 chiều gồm
d dịng và w bộ đếm, sử dụng d hàm băm hj, mỗi dịng sử dụng một hàm băm. Mỗi cập nhật ánh xạ vào d thành phần trong dãy, khi đĩ mỗi phần tử đƣợc tăng lên. Ƣớc lƣợng tần suất cho mỗi phần tử là fi* = min 1≤j≤d C[ j, hj(i)].
Thuật tốn tìm phần tử tần suất cao dựa trên Count-Min và Count-Sketch sử dụng cấu trúc dữ liệu giống nhau để ƣớc lƣợng tần suất của các phần tử trong dịng dữ liệu. Điểm khác nhau chính của hai thuật tốn này là các ƣớc lƣợng tần suất, thuật tốn Count-Sketch lấy trung vị của biến đếm, thuật tốn Count-Min lấy giá trị nhỏ nhất của các biến đếm.
Nhƣ vậy, một cách tổng thể cĩ thể thấy rằng các thuật tốn Count-Min và
Count-Sketch cĩ nhiều lợi thế để sử dụng cho các bài tốn trên dịng dữ liệu lớn vì
việc sử dụng các hàm băm sẽ khơng cần sử dụng từng bộ đếm cho mỗi đối tƣợng cần xử lý, từ đĩ sẽ ít tốn khơng gian lƣu trữ trong quá trình tính tốn của chƣơng trình.
Nhĩm nghiên cứu của Cormode sử dụng phƣơng pháp thử nhĩm bất ứng biến để phát hiện các phần tử tần suất cao trong dịng dữ liệu [27]. Trong đĩ, cấu trúc dữ liệu đƣợc phát triển từ phƣơng pháp Count-Min. Phƣơng pháp thử nhĩm bất ứng biến sử dụng để xác định các phần tử tần suất cao đƣợc trình bày sau đây.
1.4.4. Phương pháp thử nhĩm
Nhĩm nghiên cứu của Cormode và Muthukrishnan sử dụng phƣơng pháp thử nhĩm và ứng dụng trong truy xuất cơ sở dữ liệu [10], [27], [36]. Nhĩm tác giả cải tiến phƣơng pháp Count-Min và lý thuyết thử nhĩm để phát hiện các phần tử tần suất cao trong dịng dữ liệu.
Sơ lƣợc về phƣơng pháp đƣợc mơ tả nhƣ sau: giả sử cĩ một dịng dữ liệu m
phần tử, trong đĩ m rất lớn, thiết kế tổng cộng t nhĩm thử. Mỗi một nhĩm thử thứ i sẽ cĩ một bộ đếm ci tƣơng ứng. Kết quả của nhĩm thử cĩ chứa phần tử tần suất cao khi và chỉ khi ci m / ( d1) , trong đĩ d là một hằng số cho trƣớc.
Nhĩm nghiên cứu của Cormode đã mơ hình hĩa đƣợc bài tốn phát hiện các phần tử tần suất cao trong dịng dữ liệu và cho thấy đƣợc một số ƣu điểm vƣợt trội của phƣơng pháp thử nhĩm nhƣ phù hợp đối với loại dữ liệu động, cĩ độ chính xác cao và thời gian chạy nhanh hơn các phƣơng pháp khác (Count-Sketch, Count-Min). Tuy nhiên, giải pháp này cịn cĩ một số hạn chế mà nhĩm nghiên cứu của Cormode chƣa giải quyết đƣợc. Đĩ là phƣơng pháp sinh ma trận phân cách theo phƣơng pháp xác suất, dẫn đến vấn đề ma trận sinh ra cĩ thể khơng phải là ma trận d-phân-cách hoặc chi phí thời gian do phải vét cạn của thuật tốn tham lam. Đây cũng là hạn chế chung của nhiều nhĩm nghiên cứu khác nhƣ trong [10], [37], [38]. Một số kết quả
thực nghiệm so sánh giữa các thuật tốn “sketch” và phƣơng pháp thử nhĩm đƣợc trình bày ở hình 1.12.
Qua biểu đồ kết quả thực nghiệm cho thấy thuật tốn Count-Sketch cĩ tốc độ cập nhật chậm hơn các thuật tốn khác trong nhĩm các thuật tốn sketch. Thuật tốn thử nhĩm bất ứng biến (CGT) sử dụng khơng gian lƣu trữ nhiều hơn nhƣng thực hiện nhanh và độ chính xác cao.
CS: CountSketch; CMH: CountMin Sketch; CGT: Combinatorial Group Testing
Hình 1.12. So sánh các thuật tốn loại “sketch” [10]
Một số kết quả thực nghiệm nữa đƣợc trình bày trong cơng trình nghiên cứu của Cormode và Muthukrishnan [36] so sánh độ chính giữa phƣơng pháp thử nhĩm và các thuật tốn của phƣơng pháp “counter-based” đƣợc thể hiện trong hình 1.13.