Chèn và xóa trong LMPT

Một phần của tài liệu ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER (Trang 75 - 79)

13 Longest-Matching Prefix-Table (LMPT)

4.4.3Chèn và xóa trong LMPT

Thuật toán chèn và xóa tương tự như thuật toán với HPPT. Chỉ có một số khác biệt như sau:

Ngoài việc chèn và xóa một tiền tố từ một ALL(z), Chúng ta đặt

bit(z)[l] với l là chiều dài của tiền tố đang được chèn và xóa thành 1 hoặc 0 tương ứng.

Với một phép quay, ta không tìm rMax trong bit(x). Thay vào đó, ta tìm số nguyên lớn nhất iMax sao cho tiền tố mà tương ứng với bit(x)[iMax] khớp với point(y). Đầu tiên iMax bít của bit’(y) là iMax bít đầu tiên của

bit(x) và các bít còn lại của bit’(y) giống với các bit phù hợp của bit(y).

Độ phức tạp iMax có thể kiểm tra trong thời gian O(log W) sử dụng tìm kiếm nhị phân; bit’(x) và bit’(y) có thể được tính trong thời gian O(1) sử dụng các mặt nạ và phép toán Boolean. Các nhiệm vụ còn lại thực hiện trong quá trình chèn và xóa mất O(log n) thời gian. Cho nên, độ phức tạp của phép chèn và xóa là O(log n + log W) = O(log(Wn)). Lượng khả năng lỗi là O(log n).

Kết luận chương 4

Chương 4, ta nghiên cứu một cấu trúc dữ liệu đặc biệt là cấu trúc BOB và dùng nó để cấu trúc cho bảng định tuyến, đồng thời đưa ra thuật toán tìm kiếm tiền tố có độ ưu tiên cao nhất khớp với địa, thuật toán chèn/xóa một tiền tố trên cây. Đây là một cấu trúc rất mới với sự kết hợp của 2 cây và đây cũng là một kỹ thuật mới trong việc cấu trúc dữ liệu cho các bài toán cụ thể.

Sau đó là hai cấu trúc PBOB và LMPBOB cải tiến của BOB với ưu điểm là giảm bộ nhớ. Trong cấu trúc LMPBOB độ ưu tiên của các luật là chiều dài tiền tố.

Trên cơ sở tìm hiểu kỹ các cấu trúc dữ liệu và ứng dụng của chúng, đồ án đã cài đặt minh họa các cấu trúc sau: BOB, PBOB, LMPBOB (phụ lục 1).

Chương trình gồm các chức năng sau:

o Dựng cấu trúc theo các luật trong một bảng định tuyến.

o Chèn và xóa một luật.

o Tìm kiếm luật khớp với gói IP sử dụng địa chỉ đích theo phương pháp sử dụng độ ưu tiên cao nhất.

KẾT LUẬN

Nghiên cứu, áp dụng cấu trúc cây tìm kiếm ưu tiên để giải quyết bài toán so khớp tiền tố dài nhất. Cây tìm kếm ưu tiên có ưu điểm về thời gian xây dựng, chèn/ xóa, tìm kiếm thực hiện với độ phức tạp về thời gian là

O(log n) với n là số nút của cây.

Nghiên cứu, áp dụng cấu trúc dữ liệu BOB. Từ tập các luật trong bảng định tuyến, ta sử dụng hai cấu trúc cây lồng nhau để phân chia các luật vào các nút của cây PST, mỗi nút z trong PST gồm các đoạn ranges(z), các đoạn trong ranges(z) lại được xây dựng thành cây đỏ đen. Và độ phức tạp của phép tìm kiếm, chèn, xóa tương ứng như sau O(log n log maxR),

O(log n), và O(log n). Sau đó, phát triển cấu trúc BOB lên cấu trúc PBOB với một cách biểu diễn đơn giản hơn đó là thay thế cây RST thành một mảng danh sách tuyến tính ALL mà mỗi phần tử của mảng gồm một cặp (pLength, priority). Và độ phức tạp thuật toán tìm kiếm là O(W), thời gian chèn và xóa là O(log n). Cấu trúc LMPBOB thay thế mảng danh sách tuyến tính ALL thành một vector bit bitz. Cấu trúc này cũng có độ phức của phép tìm kiếm là O(W), độ phức tạp của phép chèn và xóa là O(log(Wn)).

Bài toán so khớp tiền tố dài nhất là một vấn đề rất hay và có nhiều ứng dụng trong thực tế, đặc biệt là trong định tuyến IP dựa trên chiều dài tiền tố. Các cấu trúc dữ liệu cho bài toán này được nghiên cứu trong đồ án đã được chứng minh tính hiệu quả về lý thuyết, nhưng chưa có điều kiện để kiểm nghiệm các thuật toán này trên Router thực tế. Tuy nhiên, sau quá trình nghiên cứu cũng giúp cho tôi phát triển khả năng tư duy, giải quyết vấn đề. Tôi nghĩ, đây là một bài học rất lớn cho một người học viên sắp tốt nghiệp ra trường.

Đi sâu tìm hiểu vấn đề so khớp luật trên Router còn rất nhiều các nội dung khác cần nghiên cứu. Một là, mở rộng nghiên cứu trên bảng định

tuyến đa chiều. Hai là, cài đặt và chạy thử trên dữ liệu lớn để chứng minh ưu điểm của giải pháp đã trình bày.

Qua một thời gian nghiên cứu, tôi đã hoàn thành nội dung đồ án, học tập được phương pháp nghiên cứu một vấn đề, cách trình bày, thuyết trình nội dung khoa học, làm cơ sở cho tôi sau khi ra trường có thể đảm nhận được công việc được giao. Đồng thời qua đồ án này tôi cũng mở rộng kiến thức của mình về nội dung đồ án và các nội dung có liên quan.

Do hiểu biết của tôi còn hạn chế, chưa có kiến thức sâu rộng trên các lĩnh vực rộng lớn, nên nội dung đồ án nếu còn vấn đề nào sai sót, hoặc chưa đầy đủ. Tôi rất mong nhận được sự góp ý của các thầy, các cô và các bạn quan tâm để đồ án của tôi được hoàn thiện hơn.

Trong suốt quá trình làm đồ án, tôi nhận được rất nhiều sự giúp đỡ của thầy giáo hướng dẫn TS.Nguyễn Mạnh Hùng. Một lần nữa, tôi xin chân thành cảm ơn thầy giáo hướng dẫn, các thầy trong khoa và các bạn đã giúp tôi hoàn thành đồ án này!

Một phần của tài liệu ĐỒ án tốt NGHIỆP đại học NGHIÊN cứu bài TOÁN SO KHỚP TIỀN tố dài NHẤT áp DỤNG TRONG ROUTER (Trang 75 - 79)