Nghiên cứu này quan tâm tới bài toán LCA và RMQ cùng một số cách tiếp cận để giải quyết chúng. Bên cạnh đó, các tác giả phân tích một ứng dụng quan trọng của lý thuyết đồ thị và mạng máy tính - Bài toán đường truyền bằng thông cực đại.
JOURNAL OF SCIENCE OF HNUE FIT., 2011, Vol 56, pp 91-101 ỨNG DỤNG CỦA THUẬT TOÁN LCA VÀ RMQ TRONG BÀI TỐN XÁC ĐỊNH BĂNG THƠNG CỰC ĐẠI Đồn Thị Thu Huyền(∗) Học viên cao học K20, Khoa CNTT Trường Đại học Sư phạm Hà Nội Lê Minh Hoàng Trường Đại học Sư phạm Hà Nội (∗) Email: huyendtt88@gmail.com Tóm tắt Nghiên cứu quan tâm tới toán LCA RMQ số cách tiếp cận để giải chúng Bên cạnh đó, tác giả phân tích ứng dụng quan trọng lý thuyết đồ thị mạng máy tính: Bài tốn đường truyền thơng cực đại Kết đạt nghiên cứu phép quy dẫn từ toán truy vấn băng thơng cực đại tốn truy vấn LCA nhị phân đầy đủ, từ áp dụng thuật toán LCA hay RMQ cách trực tiếp để trả lời truy vấn thời gian số Các đánh giá phương pháp chứng minh lý thuyết hứa hẹn nhiều mở rộng việc ứng dụng xử lý đồ thị động Mở đầu Bài toán LCA toán RMQ hai toán cổ điển nghiên cứu mở rộng hai toán phát triển phạm vi ứng dụng rộng rãi lý thuyết thực tế Tầm quan trọng toán LCA RMQ thể điểm: (1) Những thuật toán kinh điển giải toán LCA RMQ thuật tốn mẫu mực tính hiệu quả, chứng minh đánh giá rõ ràng giáo trình cấu trúc liệu giải thuật; (2) Rất nhiều thuật toán ứng dụng thực tế khác cần trả lời truy vấn LCA RMQ bên để tiền xử lý liệu sử dụng kết để xử lý tiếp, việc tăng tốc thuật toán LCA RMQ làm tăng tốc thuật toán tổng thể; (3) Có phương pháp quy dẫn tuyến tính từ toán LCA sang toán RMQ ngược lại, cho phép phát triển thuật toán chung cho hai tốn Bài tốn tìm tiền bối chung gần (Lowest Common Ancestors - LCA) phát biểu sau: Cho có gốc loạt truy vấn Mỗi truy vấn nhận vào cặp nút (u, v) trả nút tiền bối chung u v có độ sâu lớn 91 Đồn Thị Thu Huyền Lê Minh Hồng Bài tốn LCA đề xuất Aho, Hopcroft Ullman [1] Rất nhiều thuật toán phát triển với thời gian tiền xử lý tuyến tính, trả lời truy vấn thời gian số [6,7] Đặc biệt, Omer Berkman Uzi Vishkin [8] xây dựng chu trình Euler phiên có hướng liệt kê nút theo thứ tự thăm danh sách, tiền bối chung gần hai nút đỉnh có độ sâu nhỏ nằm hai nút danh sách Lúc này, truy vấn LCA trở thành truy vấn tìm giá trị nhỏ phạm vi (Range-Minimum Query - RMQ) Bài toán RMQ quản lý danh sách A gồm n phần tử trả lời loạt truy vấn Mỗi truy vấn có dạng RMQ(i, j) nhận vào cặp số (i, j) số hai phần tử mảng trả số phần tử nhỏ mảng A[i j] Trong thuật toán quy dẫn từ toán LCA toán RMQ sử dụng chu trình Euler, tốn LCA tổng quát quy dẫn trường hợp hạn chế toán RMQ - danh sách số nguyên mà hai phần tử liên tiếp đơn vị Gabow, Bentley Tarjan [6] lại đề xuất phép quy dẫn tuyến tính theo hướng ngược lại - từ toán RMQ toán LCA - cách sử dụng cấu trúc liệu descartes (cartesian trees) Trước có kết này, hầu hết thuật toán RMQ sử dụng bảng thưa (sparse tables) hay quản lý đoạn (segment trees) không đạt yêu cầu:Thời gian tiền xử lý O(n) thời gian trả lời truy vấn O(1) Kết Gabow, Bentley Tarjan cho phép quy dẫn tuyến tính tốn RMQ tốn LCA, sau tốn LCA lại quy dẫn tuyến tính trường hợp hạn chế tốn RMQ chu trình Euler Như người ta cần phát triển thuật toán RMQ trường hợp hạn chế có thuật toán trả lời truy vấn RMQ thời gian O(1) sau phép tiền xử lý thời gian O(n) [4] Nội dung nghiên cứu báo gồm: Giới thiệu tốn đường truyền băng thơng cực đại cặp máy; Trình bày phép quy dẫn khung lớn tốn LCA; Mơ tả thuật toán quy dẫn sử dụng nhị phân đầy đủ đối ngẫu; Kết cài đặt thực nghiệm kết luận 2.1 Nội dung nghiên cứu Bài toán đường truyền băng thơng cực đại Bài tốn đường truyền băng thông cực đại phát biểu sau: Cho mạng gồm n máy m cáp nối biểu diễn đồ thị vơ hướng liên thơng có trọng số G = (V, E, b) Trong tập đỉnh V tập máy, tập cạnh E tập cáp nối hàm trọng số b : E → R cho cạnh e = (u, v) trọng số (hay băng thông) b(e) = b(u, v) băng thông dây cáp mạng e Mỗi đường từ s tới t đồ thị tương ứng 92 Ứng dụng thuật toán LCA RMQ toán xác định băng thông cực đại với đường truyền từ máy s tới máy t Định nghĩa băng thông đường truyền băng thông nhỏ dây cáp mạng đường truyền Tức Ps = p1 , p2 , , pk = t đường truyền từ máy s tới máy t băng thơng đường truyền này, ký hiệu b(P ) = min1≤i 900.000 Lý đồ thị có kích thước nhỏ, phần lớn liệu nạp vào nhớ cache CPU xử lý nhanh trường hợp phần lớn liệu phải lưu trữ RAM đồ thị lớn.z Kết luận Bài toán LCA tốn RMQ hai tốn có quan hệ chặt chẽ Nhiều thuật toán phát triển, cho phép trả lời truy vấn LCA hay RMQ thời gian O(1) Nghiên cứu khảo sát toán đường truyền thông cực đại mạng vô hướng, kỹ thuật quy dẫn khung lớn tốn tìm đường đơn khung Đóng góp nghiên cứu đưa mơ hình dựng nhị phân đầy đủ đối ngẫu, quy việc tìm băng thơng cực đại tìm nút LCA, từ áp dụng trực tiếp thuật toán LCA RMQ để trả lời truy vấn băng thông cực đại thời gian thời gian O(1) Một mở rộng tốn tìm băng thông cực đại đưa vào xử lý trực tuyến tình trạng băng thơng cạnh ln biến đổi kèm với truy vấn Trong trường hợp này, cấu trúc khung lớn bị biến động 100 Ứng dụng thuật toán LCA RMQ tốn xác định băng thơng cực đại băng thông cạnh bị thay đổi Điều làm cho tất thuật tốn có pha tiền xử lý liệu gặp khó khăn phải tổ chức lại liệu từ đầu Việc phát triển thuật tốn quy dẫn động vơ cần thiết để nhanh chóng chuyển đổi truy vấn băng thông cực đại truy vấn LCA, hướng nghiên cứu đề tài REFERENCES [1] Alfred V Aho, John E Hopcroft, and Jeffrey D Ullman, 1973 On finding lowest common ancestors in trees Proceedings of the fifth annual ACM symposium on Theory of computing, pp 253-265, 1973 [2] Stephen Alstrup, Cyril Gavoille, Haim Kaplan, and Theis Rauhe, 2004 Nearest Common Ancestors: A Survey and a New Algorithm for a Distributed Environment Theory of Computing Systems, Vol 37, No 3, pp 441-456 [3] Thomas H Cormen, Charles Eric Leiserson, Ronald Linn Rivest, and Clifford Stein, 2009 Introduction to Algorithms 3rd ed.: MIT Press [4] Johannes Fische and Volker Heun, 2007 A New Succinct Representation of RMQ-Information and Improvements in the Enhanced Suffix Array Lecture Notes in Computer Science, Vol 4614, pp 459-470 [5] Johannes Fische and Volker Heun, 2006 Theoretical and Practical Improvements on the RMQ-Problem, with Applications to LCA and LCE Lecture notes in Computer Science, Vol 4009, pp 36-48 [6] Harold N Gabow, Jon Louis Bentley, and Robert E Tarjan, 1984 Scaling and related techniques for geometry problems Proceedings of the sixteenth annual ACM symposium on Theory of computing, pp 135-143 [7] Dov Harel and Robert Endre Tarjan, 1984 Fast Algorithms for Finding Nearest Common Ancestors SIAM Journal on Computing, Vol 13, No 2, pp 338-355 [8] Uzi Vishkin Omer Berkman, 1993 Recursive Star-Tree Parallel Data Structure SIAM Journal on Computing, Vol 22, No 2, pp 221-242 ABSTRACT Apply LCA and RMQ algorithm in Finding maximum-bandwidth paths problem This paper focused on algorithms to solve LCA/RMQ problems and analyzed an important application of graph theory and computer network: Finding MaximumBandwidth Paths Our main result is proposing a reduction from Maximum-Bandwidth problems to LCA problems on a complete binary tree Afterwards, LCA and RMQ algorithms can be directly used to answer each query in constant time Evaluations on this method can be theoretically proved, and it promises to be extended for finding maximum-bandwidth paths in dynamic networks 101 ... trực tiếp thuật toán LCA hay quy dẫn 96 Ứng dụng thuật toán LCA RMQ toán xác định băng thơng cực đại tốn RMQ mà khơng cần sửa đổi - Chính việc áp dụng trực tiếp thuật toán LCA RMQ, phương pháp... Bài toán đặt xác định đường truyền băng thông cực đại số cặp máy mạng Để tiện việc trình bày, ta gọi băng thông cực đại hai đỉnh u,v, ký hiệu (βu, v), băng thông đường truyền băng thông cực đại. .. băng thông) b(e) = b(u, v) băng thông dây cáp mạng e Mỗi đường từ s tới t đồ thị tương ứng 92 Ứng dụng thuật toán LCA RMQ tốn xác định băng thơng cực đại với đường truyền từ máy s tới máy t Định