Giải bài toán tìm đường đi ngắn nhất với các cung có giá trị khoảng

78 298 0
Giải bài toán tìm đường đi ngắn nhất với các cung có giá trị khoảng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐẶNG THỊ MỸ BÌNH GIẢI BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT VỚI CÁC CUNG CÓ GIÁ TRỊ KHOẢNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái nguyên, 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Đặng Thị Mỹ Bình GIẢI BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT VỚI CÁC CUNG CÓ GIÁ TRỊ KHOẢNG Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Nguyễn Tân Ân Thái nguyên, 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn i LỜI CAM ĐOAN Luận văn kết nghiên cứu tổng hợp kiến thức mà học viên thu thập trình học tập trường Đại học Công nghệ thông tin Truyền thông - Đại học Thái Nguyên, hướng dẫn, giúp đỡ thầy cô bạn bè đồng nghiệp, đặc biệt hướng dẫn, giúp đỡ PGS TS Nguyễn Tân Ân Tôi xin cam đoan luận văn sản phẩm chép tài liệu khoa học Học viên Đặng Thị Mỹ Bình Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ii LỜI CẢM ƠN Đầu tiên xin gửi lời cảm ơn sâu sắc tới PGS TS Nguyễn Tân Ân, người hướng dẫn khoa học, tận tình bảo, giúp đỡ thực luận văn Tôi xin cảm ơn thầy cô trường Đại học Công nghệ thông tin Truyền thông - Đại học Thái Nguyên giảng dạy truyền đạt kiến thức cho Tôi xin chân thành cảm ơn Ban giám hiệu trường Cao đẳng Công nghiệp Thực Phẩm đồng nghiệp khoa Công nghệ thông tin tạo điều kiện giúp đỡ hoàn thành nhiệm vụ học tập Cuối cùng, xin cảm ơn người thân bạn bè chia sẻ, gúp đỡ hoàn thành luận văn Mặc dù cố gắng hoàn thành luận văn với tất nỗ lực thân, luận văn thiếu sót Kính mong nhận ý kiến đóng góp quý Thầy, Cô bạn bè đồng nghiệp Tôi xin chân thành cảm ơn! Việt trì ngày 10 tháng 06 năm 2015 Đặng Thị Mỹ Bình Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT v DANH LỤC HÌNH VẼ vi DANH LỤC BẢNG viii MỞ ĐẦU CHƯƠNG 1: BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT 1.1 Đồ thị 1.1.1 Các đinh ̣ nghiã về đồ thi ̣ 1.1.2 Đường đi, chu trình, đồ thị liên thông 1.1.3 Biể u diễn đồ thi ̣ bằ ng ma trâ ̣n 1.1.4 Ma trận trọng số 10 1.1.5 Danh sách cạnh 10 1.2 Bài toán tìm đường ngắn đồ thị có trọng số xác định 11 1.2.1 Định nghĩa 11 1.2.2 Các thuật toán 12 1.2.3 Thuật toán Dijkstra 12 1.3 Bài toán tìm đường ngắn đồ thị có trọng số mờ 18 1.3.1 Đặt toán 18 1.3.2 Một số cách biểu diễn giá trị mờ cung 20 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iv 1.3.3 Biểu diễn giá trị mờ cung khoảng 22 1.4 Kết luận chương 26 CHƯƠNG II: SỐ HỌC KHOẢNG 27 2.1 Số học khoảng 27 2.1.1 Một số khái niệm 27 2.1.2 Tóm tắt số phương pháp xếp hạng khoảng 28 2.1.3 Biểu diễn thứ tự khoảng 30 2.1.4 Chọn giá trị lớn giá trị nhỏ để xác định khoảng 35 2.2 Áp dụng thuật toán Dijkstra toán tìm đường ngắn với độ dài cung khoảng 41 2.3 Kết luận chương 51 CHƯƠNG 3: CHƯƠNG TRÌNH ỨNG DỤNG 52 3.1 Bài toán 52 3.2 Xây dựng chương trình ứng dụng 52 3.2.1 Lựa chọn giải pháp 52 3.2.2 Thiết kế hệ thống 53 3.2.3 Một số giao diện chương trình 54 3.3 Kết luận chương 60 KẾT LUẬN VÀ KIẾN NGHỊ 61 TÀI LIỆU THAM KHẢO 63 PHỤ LỤC Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn v DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT - DM: người định - Tên huyện, thành phố, thị xã tỉnh Phú Thọ: Tên huyện, thành, thị Kí hiệu Việt Trì TP1 Thị xã Phú Thọ TP2 Lâm Thao TP3 Phù Ninh TP4 Tam Nông TP5 Yên Lập TP6 Hạ Hòa TP7 Thanh Ba TP8 Thanh Thủy TP9 Thanh Sơn TP10 Tân Sơn TP11 Cẩm Khê TP12 Đoan Hùng TP13 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn vi DANH LỤC HÌNH VẼ Hình 1.1 Đơn đồ thị, giả đồ thi ̣ Hình 1.2 Bâ ̣c của đồ thi ̣ Hình 1.3 Biể u diễn Đường Euler và đồ thi ̣Euler Hình 1.4 Đường đồ thi vô ̣ hướng Hình 1.5 Đường đồ thị Hình 1.6 Ma trận liền kề đỉnh Hình 1.7 Ma trận liền kề đỉnh Hình 1.8 Ma trận liên thuộc 10 Hình 1.9 Sơ đồ thuật toán Dijkstra 15 Hình 1.10 Đồ thị G toán áp dụng thuật toán Dijkstra 17 Hình 1.11 Tập mờ 22 Hình 1.12 Đồ thị hàm thuộc tập mờ 23 Hình 1.13 Đồ thị hàm thuộc tập A 24 Hình 1.14: Tập mờ lồi 24 Hình 1.15: Tập mờ chuẩn 24 Hình 1.16: Tập mờ vừa lồi vừa chuẩn 25 Hình 1.17: Tập α-cut tập mờ A 25 Hình 2.1: Hàm mức độ loại bỏ A cặp khoảng (A,X) thuộc S2 31 Hình 2.2 Bài toán mạng 42 Hình 2.3 Giải pháp cải tiến toán 45 Hình 2.4 Bản đồ US thời gian lái xe thành phố 47 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn vii Hình 3.1 Giao diện 55 Hình 3.2 Giao diện nhập liệu 56 Hình 3.3 Bài toán mạng thử nghiệm 56 Hình 3.4 Kết toán thử nghiệm 57 Hình 3.5 Kết toán ứng dụng 60 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn viii DANH LỤC BẢNG Bảng 1.1 Kết toán áp dụng thuật toán Dijkstra 18 Bảng 1.2 Phân bố khả học sinh theo điểm 21 Bảng 2.1 Phân tích nội dung ô bảng Fuzzy Rejection với toán tìm khoảng nhỏ (Interval Minimization) 34 Bảng 2.2 Bảng Fuzzy Rejection 38 Bảng 2.3 Bảng Fuzzy Rejection hoàn thiện, với ô (i,j) chứa giá trị thành viên mờ để xác định khả loại bỏ khoảng thứ i so với khoảng thứ j.39 Bảng 2.4 Bảng lựa chọn cuối 40 Bảng 2.5 Các đường từ Bostom tới Los Angeles độ dài chúng 49 Bảng 3.1 Bảng kí hiệu tên huyện thành thị tỉnh Phú Thọ 59 Bảng 3.2 Khảo sát thời gian lái xe huyện thành thị tỉnh Phú Thọ 59 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 54 chuyên gia phát triển truy vấn liệu việc mở rộng C#.NET Basic.NET để hỗ trợ cú pháp truy vấn giống SQL vốn có Ngôn ngữ lập trình C# ngôn ngữ lập trình hướng đối tượng phát triển Microsoft, phần khởi đầu cho kế hoạch NET họ Tên ngôn ngữ bao gồm ký tự thăng theo Microsoft theo ECMA C#, bao gồm dấu số thường Microsoft phát triển C# dựa C++ Java 3.2.2.2 Mô hình chương trình Input: - Mảng chiều M kích thước N*N biểu diễn khoảng cách (đơn vị thời gian) từ đỉnh đến đỉnh đồ N thành phố Trong phần tử mảng M[i, j] khoảng thể dạng kiểu liệu mảng chiều hai phần tử Left Right - Đỉnh xuất phát (đỉnh đầu), đỉnh đích (đỉnh cuối) Output: Đường ngắn từ đỉnh đầu đến đỉnh cuối độ dài đường thể khoảng 3.2.3 Một số giao diện chương trình 3.2.3.1 Giao diện 55 Hình 3.1 Giao diện Giao diện chương trình gồm có chức nhập liệu đưa kết 3.2.3.2 Các chức Giả sử nhập số thành phố toán Bảng nhập liệu tự động sinh 6*6 ô tương ứng để nhập thời gian lái xe huyện, thành phố Nhập thời gian lái xe huyện, thành phố vào ô bảng Mặc định khoảng cách TPi TPi (các phần tử đường chéo chính) Sau nhập thành phố đầu, thành phố cuối đường Hoàn thành việc nhập liệu nhấn nút "Hoàn thành nhập liệu" 56 Hình 3.2 Giao diện nhập liệu Nhấn nút "Kết quả" để đưa đường ngắn từ thành phố đầu đến thành phố cuối 3.2.3.3 Kết chạy thử nghiệm Bài toán thử nghiệm Chương trình áp dụng thuật toán Dijkstra tìm đường ngắn đồ thị toán mạng thử nghiệm đưa chương [30, 80] O [40, 40] [10, 20] [55, 87] [8, 10] [60, 100] [10, 30] [20, 60] Hình 3.3 Bài toán mạng thử nghiệm 57 Yêu cầu toán tìm đường ngắn từ đỉnh đến đỉnh (tương ứng với thành phố đến thành phố 6) thuật toán Dijkstra, độ dài cung khoảng Hình 3.4 Kết quả toán thử nghiệm Vậy đường ngắn với mức độ hợp lý DM từ thành phố đến thành phố với mức độ hợp lý DM     6.; tương ứng với đỉnh đồ thị mạng     Bài toán ứng dụng Xét toán tìm đường ngắn điểm tỉnh Phú Thọ Kí hiệu huyện, thành , thị tương ứng là: 58 Bảng 3.1 Bảng kí hiệu tên huyện thành thị tỉnh Phú Thọ Tên huyện, thành, thị Kí hiệu Việt Trì TP1 Thị xã Phú Thọ TP2 Lâm Thao TP3 Phù Ninh TP4 Tam Nông TP5 Yên Lập TP6 Hạ Hòa TP7 Thanh Ba TP8 Thanh Thủy TP9 Thanh Sơn TP10 Tân Sơn TP11 Cẩm Khê TP12 Đoan Hùng TP13 Số liệu thời gian lái xe huyện thành thị đưa bảng đây: 59 Bảng 3.2 Khảo sát thời gian lái xe huyện thành thị tỉnh Phú Thọ TP1 TP2 TP3 TP4 TP5 TP6 TP7 TP8 TP TP 10 TP 11 TP 12 TP 13 TP1 TP2 TP3 TP4 TP5 TP6 TP7 TP8 TP9 TP 10 0 10, 5, 25, 0 0 20 15 35 0 10, 10, 0 8, 0 14 12 12 10, 10, 0 17, 0 0 20 14 23 5, 10, 0 0 0 0 15 12 25, 17, 0 0 70, 35 23 80 0 0 0 0 28, 32 0 0 0 10, 0 12 8, 0 0 10, 0 12 12 0 0 70, 0 0 80 0 0 28, 0 0 32 0 0 0 0 4,6 TP TP TP 11 12 13 0 0 0 0 0 60, 70 15, 17 15, 17 0 0 0 0 0 60, 70 15, 17 15, 17 0 4,6 0 0 4,6 0 0 0 0 4,6 0 0 0 0 0 0 Trong đó, độ dài hai điểm thành phố xác định khoảng biểu diễn thời gian lái xe đơn vị phút (vì dao động đáng kể tùy thuộc vào điều kiện giao thông, tải trọng cụ thể, vv ) Áp dụng thuật toán Dijkstra để giải toán tìm đường ngắn thành phố 60 Hình 3.5 Kết quả toán ứng dụng Vậy để lái xe từ Việt Trì Hạ Hòa đường ngắn là: Việt Trì  Phù Ninh  Thị xã Phú Thọ  Thanh Ba  Hạ Hòa khoảng thời gian từ 70 đến 80 phút 3.3 Kết luận chương Trong chương này, luận văn trình bày phần mềm ứng dụng để tìm đường ngắn hai thành phố đồ thị, Minh họa liệu thực tế giao thông tỉnh Phú Thọ Từ cho thấy phương pháp đưa kết tốt việc tìm đường ngắn đồ thị mờ dạng khoảng đưa kết quan trọng dựa vào số liệu thực tế 61 KẾT LUẬN VÀ KIẾN NGHỊ Đồ thị có giá trị cung mờ nhà nghiên cứu xây dựng chưa lâu Trên thực tế, liệu thu theo thời gian thường chịu ảnh hưởng yếu tố khách quan chủ quan Trong việc xây dựng xếp giá trị mờ dạng khoảng cung chưa thực tối ưu Vì vậy, việc nghiên cứu giải toán tìm đường ngắn đồ thị mờ hướng đắn Luận văn trình bày giải số vấn đề sau: Trình bày cách tổng quan về lý thuyế t đồ thi ̣và thuâ ̣t toán Dijkstra giải bài toán tìm đường ngắ n nhấ t có tro ̣ng số xác định rõ Tập trung nghiên cứu đồ thị có giá trị cung mờ dạng khoảng, xắp xếp khoảng, áp dụng thuật Dijkstra để giải bài toán tìm đường ngắ n nhấ t biể u diễn dưới dạng cung đường là số mờ da ̣ng khoảng Các toán đường ngắn chia thành dạng chính: - Tìm đường ngắn từ nút nguồn đến nút đích cho trước - Tìm đường ngắn từ nút nguồn đến tất nút đích - Tìm đường ngắn hai nút Bài toán đề cập đến toán dạng thứ nhất: tìm đường ngắn từ nút nguồn đến nút đích cho trước Mục đích chuyển toán đường ngắn dạng toán có giá trị mờ da ̣ng khoảng xếp khoảng Đồ ng thời chỉ đươ ̣c đường có các cung mờ ngắ n nhấ t và đường tố i ưu nhấ t dựa độ xác cao nhấ t 62 Nế u điề u kiêṇ cho phép, luận văn sẽ tiế p tu ̣c mở rô ̣ng ứng du ̣ng mô hiǹ h tìm đường ngắn phạm vi rộng 63 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Nguyễn Đức Nghĩa, Nguyễn Tô Thành (2009), Toán rời rạc, Nxb Đại học Quốc gia Hà Nội Tiếng Anh [2] Cat Ho, N and H Van Nam (2002), An algebraic approach to linguistic hedges in Zadeh's fuzzy logic, Fuzzy Set and System, 129, 229-254 [3] Ishibuchi, H., H Tanaka (1990), Multiobjective Programming in Optimization of the Interval Objective Function, European Journal of Operational Research 48, 219–225 [4] Kundu, S (1997)., Min-Transitivity of Fuzzy Left-ness Relationship and its Application to Decision Making, Fuzzy Sets and Systems 86, 357–367 [5] Moore, R E (1979), Method and Application of Interval Analysis, Philadelphia: SIAM [6] Okada, S., M Gen (1994), Order Relation between Intervals and Its Application to Shortest Path Problem, Japanese Journal of Fuzzy Theory and Systems 6(6), 703–717 [7] Sengupta, A., T K Pal, D Chakraborty (2000), Interpretation of Inequality Constraints Involving Interval Coefficients and a Solution to Interval Linear Programming, Fuzzy Sets and Systems 119, 129–138 PHỤ LỤC // Thuât toán nhập ma trận khoảng private void btnEnd_Click(object sender, EventArgs e) { soluongnut = Convert.ToInt16(txtSoNut.Text); //Tao mang chieu ket xuat mangKXuat = new int[soluongnut, soluongnut]; //tao mang chieu kieu chuoi de luu 10,20 string[,] mangTam = new string[soluongnut, soluongnut]; //lap theo dong i tu de gan gia tri tuong duong for (int i = 1; i < soluongnut; i++) { for (int j = 1; j && Nhan[j] [k]> mangKXuat[XP, j] [gttrungbinh]+ Nhan[XP] [k]&& DanhDau[j] == 0) if m(X[i]>m(X[j]) && (w(X[i]=w(X[j])) pi(X[j])’=0.5 if m(X[i]=m(X[j]) && (w(X[i]=w(X[j])) pi(X[j])’=0.5; if m(X[i]=m(X[j]) && (w(X[i]=w(X[j])) pi(X[j])’=1; if m(X[i]? for (int i = 0; i < track.Length; i++) { if (dao[i] == ""; } } //gán vào label lblTrack.Text = "Đường chi tiết: "; for (int i = 0; i < track.Length; i++) { lblTrack.Text += dao[i]; } } [...]... nó đi qua Khoảng cách d(u,v) 12 giữa hai đỉnh u và v là chiều dài đường đi ngắn nhất (theo nghĩa m(u,v) nhỏ nhất) trong các đường đi từ u đến v Bài toán tìm đường đi ngắn nhất: Cho đơn đồ thị liên thông, có trọng số G=(V,E) Tìm khoảng cách d(u0,v) từ một đỉnh u0 cho trước đến một đỉnh v bất kỳ của G và tìm đường đi ngắn nhất từ u0 đến v 1.2.2 Các thuật toán Có nhiều thuật toán để giải bài toán tìm đường. ..   1.3 Bài toán tìm đường đi ngắn nhất trong đồ thị có trọng số mờ 1.3.1 Đặt bài toán Giả sử xét đồ thị có hướng G=(V,E) mỗi cung (u,v) E được đặt tương ứng là số mờ dạng khoảng Các bài toán đường đi ngắn nhất được chia thành 3 dạng chính: - Tìm đường đi ngắn nhất từ một nút nguồn đến một nút đích - Tìm đường đi ngắn nhất từ một nút nguồn đến tất cả các nút đích - Tìm đường đi ngắn nhất giữa... bất kỳ Bài toán được đề cập đến ở đây là bài toán ở dạng thứ nhất: tìm đường đi ngắn nhất từ một nút nguồn đến một nút đích cho trước 19 Input: Tập hữu hạn các đỉnh V, tập các cung E, nút nguồn u0; nút đích v Trọng số của các cung Output: Đường đi ngắn nhất từ đỉnh u0 đến đỉnh v * Xây dựng đường đi trong đồ thi:̣ Theo định nghĩa với bài toán đường đi ngắn nhất ta xây dựng đường đi trên cung i,j... giá trị của các cung là mờ được biểu diễn dưới dạng các khoảng - Từ đó xây dựng ứng dụng trong bài toán giảm thiểu chi phí vận tải III Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI Tìm hiểu mở rộng thuật toán Dijkstra để giải bài toán tìm đường đi ngắn nhất trong trường hợp giá trị của các cung trên đồ thị Tìm hiểu thuật toán Dijkstra và nghiên cứu xây dựng đồ thị với các cung có giá trị khoảng để định hướng... việc đi lại… Trong đó, giá trị mà các cung biểu diễn (thời gian vận chuyển hoặc chi phí trong việc đi lại) có thể dao động đáng kể tùy thuộc vào đi u kiện giao thông, tải trọng cụ thể, vv Khi đó các giá trị này là mờ và 22 bài toán trở thành bài toán tìm đường đi ngắn nhất trong trường hợp “độ dài” các cung là mờ, hầu hết các thông số đều không chính xác 1.3.3 Biểu diễn giá trị mờ của các cung bằng khoảng. .. toán của Dijkstra để giải bài toán đường đi ngắn nhất sang trường hợp các cung có giá trị là khoảng Cuối cùng là chương trình ứng dụng giảm thiểu chi phí vận tải trong trường hợp chi phí này có biến động II MỤC TIÊU, ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU Trong khuôn khổ của luận văn sẽ thực hiện và giải quyết những vấn đề sau: - Nghiên cứu giải bài toán tìm đường đi ngắn nhất trong trường hợp giá trị của các. .. rằng, các giá trị mà các cung biểu diễn (thời gian vận chuyển hoặc chi phí trong việc đi lại) có thể dao động đáng kể tùy thuộc vào đi u kiện giao thông, tải trọng cụ thể, vv Khi đó các giá trị này là mờ và bài toán trở thành bài toán tìm đường đi ngắn nhất trong trường hợp “độ dài” các cung là mờ Rõ ràng, trong trường hợp này thuật toán Dijkstra thông thường không thể áp dụng được Để giải quyết bài toán. .. trường hợp “độ dài” các cung là mờ, tôi chọn đề tài: “GIẢI BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT VỚI CÁC CUNG CÓ GIÁ TRỊ KHOẢNG” Trong đó, thuật toán Dijkstra đã được thiết kế lại để xử lý các trường hợp mà hầu hết các thông số đều không chính xác và đưa về khoảng Mặc dù số học khoảng đã thu hút nhiều nhà nghiên cứu, nhưng trong thực tế việc sắp xếp thứ tự các khoảng và ứng dụng số học khoảng trong việc ra... tất cả các đỉnh khác có cạnh nối với đỉnh đó - danh sách kề của đỉnh Ví dụ, đồ thị trong hình vẽ có biểu diễn danh sách kề: a kề với b,c b kề với a,c c kề với a,b 1.2 Bài toán tìm đường đi ngắn nhất trong đồ thị có trọng số xác định 1.2.1 Định nghĩa Trong đời sống, chúng ta thường gặp những tình huống như sau: để đi từ địa đi m A đến địa đi m B trong thành phố, có nhiều đường đi, nhiều cách đi; có lúc... chi phí trong việc đi lại Tuy nhiên, các giá trị này (thời gian vận chuyển hoặc chi phí trong việc đi lại) có thể dao động đáng kể tùy thuộc vào đi u kiện giao thông, tải trọng cụ thể, Khi đó ta có thể biểu diễn các giá trị này là mờ và bài toán trở thành bài toán tìm đường đi ngắn nhất trong trường hợp “độ dài” các cung là mờ trong đó các thông số đều không chính xác và đưa về khoảng

Ngày đăng: 05/11/2016, 12:01

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan