Một số kiểu dữ liệu trừu tượng ứng dụng trong hình học tính toán Nguyễn Thị Hoa Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 48 05 Người hướng dẫn: TS
Trang 1Một số kiểu dữ liệu trừu tượng ứng dụng trong
hình học tính toán Nguyễn Thị Hoa
Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 48 05
Người hướng dẫn: TS Lê Minh Hoàng
Năm bảo vệ: 2011
Abstract: Trình bày các vấn đề cơ bản của hình học tính toán, các đối tượng của hình
học và một số kỹ thuật thuật toán giải quyết các bài toán như tìm cặp đoạn thẳng bất
kỳ cắt nhau, tìm bao lồi, tìm cặp điểm gần nhất Nghiên cứu cơ sở lý thuyết về những cấu trúc dữ liệu để giải quyết các bài toán trong hình học tính toán Tìm kiếm phạm vi trực giao với phạm vi truy vấn là hình chữ nhật song song với trục tọa độ sử dụng cấu trúc dữ liệu như Range trees và Kd-trees Cấu trúc dữ liệu hình học như Interval trees, Segment trees và Priority search trees trong đó Interval trees, Segment trees dựa trên tiếp cận stabbing và Priority search trees giải quyết các truy vấn không bị giới hạn bên trái, nghĩa là phạm vi truy vấn có dạng Biến thể của các cấu trúc dữ liệu hình học như Partition trees, Multi-level partition trees, Cutting trees với phạm vi truy vấn là nửa mặt phẳng hay hình tam giác Tiến hành cài đặt thực nghiệm các kiểu dữ liệu trừu
tượng như Kd-trees, Range trees, Interval trees và Segment trees
Keywords: Cấu trúc dữ liệu; Hình học tính toán; Công nghệ thông tin; Hệ thống
thông tin
Content
Hình học tính toán xuất hiện từ lĩnh vực phân tích và thiết kế thuật toán trong cuối những năm 1970 và lớn mạnh trở thành một môn học với tạp chí riêng, hội nghị riêng và có một cộng đồng lớn các nhà nghiên cứu hoạt động Hình học tính toán là một chuyên ngành khoa học máy tính nghiên cứu các thuật toán giải quyết các bài toán hình học Hình học tính toán có ứng dụng trong nhiều lĩnh vực khác nhau như đồ họa máy tính, hệ thống thông tin địa
lí, người máy, thống kê và những lĩnh vực khác mà trong đó các thuật toán hình học đóng vai trò cơ bản Vấn đề hình học tính toán với đầu vào là mô tả kiểu của tập hợp các đối tượng hình học, ví dụ như tập hợp các điểm, tập hợp các đoạn thẳng, hoặc tập hợp các đỉnh của một
đa giác theo thứ tự ngược chiều kim đồng Đầu ra là đáp ứng với truy vấn về các đối tượng như các đường thẳng cắt nhau, hoặc có thể là một đối tượng hình học mới, ví dụ như bao lồi của tập hợp các điểm
Các đối tượng hình học như điểm, đường thẳng và đa giác là cơ sở của một loạt các ứng dụng quan trọng và làm tăng tính thú vị của tập hợp các vấn đề về thuật toán Ngày nay, máy tính được sử dụng ngày càng nhiều hơn để giải quyết các bài toán hình học với quy mô
Trang 2lớn hơn Lời giải tốt cho các bài toán thuật toán có tính chất hình học chủ yếu dựa trên hai thành phần Một là sự hiểu biết thấu đáo các tính chất hình học của bài toán, hai là ứng dụng các kỹ thuật thuật toán và cấu trúc dữ liệu thích hợp
Trong luận văn sẽ trình bày một số kiểu dữ liệu trừu tượng và cấu trúc dữ liệu trong hình học tính toán Những ứng dụng của các cấu trúc dữ liệu này không chỉ giới hạn trong các đối tượng hình học mà còn cho phép thiết kế những thuật toán hiệu quả, có thể xử lí các loại
dữ liệu khác nhau của nhiều bài toán khác nhau
Luận văn được tổ chức thành 3 chương như sau:
Chương 1 – Trình bày tổng quan về hình học tính toán như các đối tượng của hình
học, một số bài toán hình học và thuật toán
Chương 2 – Mô tả kiểu dữ liệu trừu tượng trong hình học tính toán như mô hình quản
lí đối tượng một chiều, hai chiều và nhiều chiều
Chương 3 – Cài đặt các cấu trúc dữ liệu, kết quả cài đặt thử nghiệm, đánh giá hiệu
suất của thuật toán và chương trình
References
1 I Ahmed and M A Islam, “Algorithms in Computational Geometry”, Department of
Computer Science and Engineering (BUET), Dhaka
2 J L Bentley (1975), “Multidimensional binary search trees used for associative
searching”, Commun ACM, 18, pp 509-517
3 J L Bentley (1977), “Solutions to Klee’s rectangle problems”, Technical report,
Carnegie-Mellon Univ., Pittsburgh, PA
4 J L Bentley (1979), “Decomposable searching problems”, Inform Process Lett., 8, pp
244-251
5 M de Berg, O Cheong, M van Kreveld, M Overmars (2000), Computational
Geometry: algorithms and applications, Springer
6 B Chazelle (1986), “Filtering search: A new approach to query-answering”, SIAM
J.Comput., 15, pp 703-724
7 B Chazelle (1989), “Lower bounds on the complexity of polytope range searching”, J
Amer Math Soc., 2, pp 637-666
8 B Chazelle (1993), “Cutting hyperplanes for divide-and-conquer”, Discrete Comput
Geom., 9, pp 145-158
9 B Chazelle, H Edelsbrunner, L Guibas, and M Sharir (1994), “Algorithms for
bichromatic line segment problems and polyhedral terrains”, Algorithmica, 11, pp
116-132
10 B Chazelle, M Sharir, and E Welzl (1992), “Quasi-optimal upper bounds for simplex
Trang 3range searching and new zone theorems”, Algorithmica, 8, pp 407-429
11 B Chazelle and E Welzl (1989), “Quasi-optimal range searching in spaces of finite
VC-dimension”, Discrete Comput Geom., 4, pp 467-489
12 J Chen (1996), Computational Geometry: Methods and applications, Computer
Science Department, Texas A&M University
13 T H Cormen, C E Leiserson, R L Rivest and C Stein (2001), Introduction to
Algorithms, Second Edition, MIT Press, Cambridge
14 H Edelsbrunner (1980), “Dynamic data structures for orthogonal intersection queries”,
Report F59, Inst Informationsverarb., Tech Univ Graz, Graz, Austria
15 H Edelsbrunner and H A Maurer (1981), “On the intersection of orthogonal objects”,
Inform Process Lett., 13, pp 177-181
16 H Edelsbrunner and E Welzl (1986), “Halfplanar range search in linear space and
query time”, Inform Process Lett., 23, pp 289-293
17 R L Graham (1972), “An efficient algorithm for determining the convex hull of a finite
planar set”, Inform Process Lett., 1, pp.132-133
18 D Haussler and E Welzl (1987), “Epsilon-nets and simplex range queries”, Discrete
Comput Geom., 2, pp 127-151
19 R A Jarvis (1973), “On the identification of the convex hull of a finite set of points in
the plane”, Inform Process Lett., 2, pp 18-21
20 D T Lee and C K Wong (1980), “Quintary trees: A file structure for multidimensional
database systems”, ACM Trans Database Syst., 5, pp 339-353
21 G S Lueker (1978), “A data structure for orthogonal range queries”, In Proc 19th
Annu IEEE Sympos Found Comput Sci., pp 28-34
22 J Matousek (1992), “Efficient partition trees”, Discrete Comput Geom., 8, pp 315-334
23 J Matousek (1992), “Reporting points in halfspaces”, Comput Geom Theory Appl., 2,
pp 169-186
24 E M McCreight (1980), “Efficient algorithms for enumerating intersecting intervals
and rectangles”, Report CSL-80-9, Xerox Palo Alto Res Center, Palo Alto, CA
25 E M McCreight (1985), “Priority search trees”, SIAM J Comput., 14, pp 257-276
26 D M Mount (2002), Computational Geometry, Department of Computer Science,
University of Maryland
27 F P Preparata and M I Shamos (1985), Computational Geometry: An Introduction,
Springer-Verlag
28 M I Shamos and D Hoey (1976), “Geometric intersection problems”, In Proceedings
of the 17th Annual Symposium on Foundations of Computer Science, pp 208-215
29 V K Vaishnavi and D Wood (1982), “Rectilinear line segment intersection, layered
Trang 4segment trees and dynamization”, J Algorithms, 3, pp 160-176
30 E Welzl (1988), “Partition trees for triangle counting and other range searching
problems”, In Proc 4th Annu ACM Sympos Comput Geom., pp 23-33
31 D E Willard (1978), Predicate-Oriented Database Search Algorithms, Ph.D thesis,
Aiken Comput Lab., Harvard Univ., Cambridge, MA
32 D E Willard (1982), “Polygon retrieval”, SIAM J Comput., 11, pp 149-165
33 A C Yao and F F Yao (1985), “A general approach to D-dimensional geometric
queries”, In Proc 17th Annu ACM Sympos, Theory Comput., pp 163-168
34 http://www.cgal.org