Giải thuật BruteForce (BF)

Một phần của tài liệu Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware (Trang 38 - 40)

5. Ý nghĩa thực tiễn của đề tài

3.3 Giải thuật BruteForce (BF)

Brute Force là giải thuật cơ bản nhất trong việc phát hiện bất thường trên dữ liệu chuỗi thời gian một cách chính xác nhất.

Ý tưởng cơ bản của giải thuật đơn giản là so sánh khoảng cách Euclidean của tất cả các cặp chuỗi trong bộ dữ liệu chuỗi thời gian. Sau khi hoàn thành công việc tính toán khoảng cách của từng cặp, chúng ta tiến hành chọn ra cặp có khoảng cách lớn nhất làm bất thường trong bộ dữ liệu đang xét.

Proceduce [Location]= BruteForce_Discord(D)

In: D: Database of Time Series

Out:Location: Best so far location, best so far dist.

BRUTE FORCE DISCORD DISCOVERY 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Function [dist, loc] = Brute_Force (T,n) best_so_far_dist = 0

best_so_far_loc = NaN

For p = 1 to | T | - n +1 // Begin Outer Loop nearest_neighbor_dist = infinity

For q = 1 to | T | - n + 1 // Begin inner Loop IF | p – q |≥ n // non – self match?

IF Dist (tp,…,tp + n – 1, tq,…,tq + n - 1) ≤ nearest_neighbor_dist nearest_neighbor_dist = Dist (tp,…,tp + n – 1, tq,…,tq + n - 1) End

End // End non – self match test

End // End Inner Loop

IF nearest_neighbor_dist > best_so_far_dist best_so_far_dist = nearest_neighbor_dist best_so_far_loc = p

End

End // End Outer Loop

Return [best_so_far_dist, best_so_far_loc]

Hình 3.1 Mã giả thuật toán BF

Dễ thấy giải thuật BF sử dụng hai vòng lặp for duyệt tuần tự tất cả các cặp trong bộ dữ liệu (dòng 4, 5, 6) và tiến hành cập nhật cặp có khoảng cách lớn nhất tới láng giềng gần nhất (dòng 13, 14). Cứ như vậy cho đến khi duyệt hết tất cả các cặp. Bất thường của chúng ta là cặp có khoảng cách lớn nhất tới các láng giềng gần nhất.

Vì là phương pháp phát hiện bất thường trên dữ liệu chuỗi thời gian cơ bản nhất, nên giải thuật BF có độ phức tạp O(n2) dẫn đến thời gian xử lý rất chậm. Tuy nhiên, ưu điểm của giải thuật này là độ chính xác bằng 1. Vì vậy, giải thuật BF là cơ sở để đánh giá độ hiệu quả của các giải thuật phát hiện bất thường chuỗi thời gian trên các tập dữ liệu chuỗi thời gian khác.

Một phần của tài liệu Phát hiện bất thường trên dữ liệu chuỗi thời gian bằng giải thuật disk aware (Trang 38 - 40)

Tải bản đầy đủ (PDF)

(57 trang)