BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

16 16 0
BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

Đ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

lOMoARcPSD|11424851 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM KHOA KHOA HỌC ỨNG DỤNG BÁO CÁO BÀI TẬP LỚN MƠN ĐẠI SỐ TUYẾN TÍNH ĐỀ TÀI 6: LÍ THUYẾT ĐỒ THỊ Giảng viên hướng dẫn: ThS Nguyễn Hữu Hiệp Nhóm thực hiện: Nhóm Lớp: L03 lOMoARcPSD|11424851 DANH SÁCH THÀNH VIÊN STT HỌ VÀ TÊN MÃ SỐ SINH VIÊN LÊ QUỐC QUYỀN 2112155 NGUYỄN NHÂN VIỆT QUỐC 2112147 NGUYỄN MINH QUÝ 2112159 LÊ KHÁNH TÂN 2110525 ĐẶNG XUÂN THẮNG 2112328 lOMoARcPSD|11424851 MỤC LỤC DANH SÁCH THÀNH VIÊN LỜI MỞ ĐẦU I GIỚI THIỆU CHUNG Lý thuyết đồ thị Sơ lược thuật toán Floyd Warshall II CƠ SỞ LÝ THUYẾT III THUẬT TOÁN FLOYD WARSHALL Ý tưởng, cách giải Giải thuật toán matlab .10 IV VÍ DỤ 12 Ví dụ 12 Ví dụ 13 Ví dụ 14 V.TÀI LIỆU THAM KHẢO 17 VI.TỔNG KẾT 17 VII.NHẬN XÉT CỦA GIÁO VIÊN 17 lOMoARcPSD|11424851 LỜI MỞ ĐẦU Với đời Internet, tất trường học áp dụng kiến thức, kĩ hiểu biết công nghệ thông tin môn học nhằm nâng cao hiệu dạy học Trong khoa học máy tính tốn học, thuật tốn tìm đường ngắn đồ thị toán thường vận dụng ứng dụng tin học Trong ứng dụng thực tế, tốn tìm đường ngắn hai đỉnh đồ thị có ý nghĩa to lớn Ví dụ, tốn chọn hành trình tiết kiệm (về tiêu chuẩn khoảng cách, thời gian chi phí) mạng lưới giao thơng đường bộ, đường thủy, Hiện có nhiều phương pháp để giải tốn Thế thơng thường, thuật toán xây dựng dựa sở lý thuyết đồ thị hiệu cao Sau xét đến thuật toán Floyd Warshall, thuật tốn tìm đường ngắn xây dựng dựa lí thuyết đồ thị Mong thầy bạn theo dõi góp ý để chủ đề chúng em hoàn thiện lOMoARcPSD|11424851 I GIỚI THIỆU CHUNG: Lịch sử lý thuyết đồ thị: Bài tốn bảy cầu Euler, cịn gọi Bảy cầu Konigsberg toán nảy sinh từ thành phố Konigsberg, Phổ Bài toán đặt tìm tuyến đường mà qua cầu lần lần (bất kể điểm xuất phát hay điểm tới) Năm 1736, Leonhard Euler chứng minh tốn khơng có lời giải Kết sở phát triển lý thuyết đồ thị Năm 1852 Francis Guthrie đưa toán bốn màu vấn đề liệu với bốn màu tơ màu đồ cho khơng có hai nước biên giới tơ màu Bài tốn xem khai sinh lý thuyết đồ thị giải sau kỉ vào năm 1976 Kenneth Appel (1932 -) Wolfgang Haken (1928 - ) Sơ lược thuật toán Floyd Warshal: 2.1 Giới thiệu: Thuật tốn Floyd–Warshall cịn gọi thuật tốn Floyd Robert Floyd tìm năm 1962 Thuật toán Floyd thuật toán giải tốn tìm đường ngắn đồ thị có hướng dựa đỉnh trung gian Khi cần đường ngắn cặp đỉnh đồ thị thuật tốn Floyd cơng cụ giúp ta thực lần chạy Hơn nữa, cách tiếp cận cài đặt đơn giản quen thuộc 2.2 Tác dụng: Thuật tốn Floyd-Warshall thiết kế để tính tốn đường ngắn cặp điểm đồ thị có hướng 2.3 Ưu điểm: - Tìm đường ngắn tất điểm đồ thị với trọng số âm dương, đồ thị có hướng vơ hướng - Chỉ với lần chạy thuật toán cho ta kết - Phát chu trình âm đồ thị lOMoARcPSD|11424851 2.4 Nhược điểm: - Trong đồ thị khơng có vịng có tổng cạnh âm, có vịng ta khơng thể tìm đường ngắn (mỗi lần qua vòng độ dài qng đường lại giảm, nên ta vơ hạn lần.) II CƠ SỞ LÝ THUYẾT Đồ thị: Định nghĩa 1.1: Đồ thị tập điểm gọi đỉnh nối với cạnh Thông thường, đồ thị vẽ dạng tập điểm (đỉnh, nút) nối với đoạn thẳng (cạnh) Định nghĩa 1.2: Hai đỉnh u v đồ thị vô hướng G gọi kề (u,v) cạnh đồ thị G Nếu e= (u,v) cạnh đồ thị ta nói cạnh liên thuộc với hai đỉnh u v, nói nối đỉnh u đỉnh v, đồng thời đỉnh u v gọi đỉnh đầu cạnh (u,v) Ta gọi bậc đỉnh v đồ thị vô hướng số cạnh liên thuộc với ký hiệu deg(v) Đỉnh bậc gọi đỉnh cô lập, đỉnh bậc gọi đỉnh treo Định lý 1: Giả sử G = (V,E) đồ thị vô hướng với m cạnh Khi tổng bậc tất đỉnh hai lần số cung Đồ thị vô hướng đồ thị có hướng: 2.1 Đồ thị vơ hướng: cặp khơng có thứ tự G=(V, E), đó: ● V tập đỉnh nút ● E, tập cạnh Hai đỉnh thuộc cạnh gọi đỉnh đầu cuối cạnh Hình 2.2.1: đồ thị vô hướng lOMoARcPSD|11424851 2.2 Đồ thị có hướng: cặp khơng có thứ tự G=(V, A), đó: ● V tập đỉnh nút ● A tập cạnh có hướng gọi cung Một cạnh e = (u, v) coi có hướng từ u tới v; u gọi điểm đầu/gốc v gọi điểm cuối/ngọn cạnh Hình 2.2.2: đồ thị có hướng Đơn đồ thị đa đồ thị: 3.1 Đơn đồ thị: đồ thị tạo thành từ tập hợp đỉnh nối cạnh, cạnh có hướng liên kết với chúng thỏa điều kiện: x y hai đỉnh đồ thị phép có tối đa hai cung (x, y) (y, x) 3.2 Đa đồ thị: đồ thị mà không thỏa mãn đơn đồ thị Đa đồ thị có hướng đồ thị có hướng, đó, x y hai đỉnh đồ thị phép có hai cung (x, y) (y, x) Ma trận kề đồ thị: Xét đơn đồ thị vô hướng G= (V,E), với tập đỉnh V={1,2,…,n}, tập cạnh E={e1,e2, e } …, m Ta gọi ma trận kề đồ thị G ma trận A=(aịj) thỏa aij= Ví dụ: Cho đồ thị hình vẽ: lOMoARcPSD|11424851 Hình 2.4.1: Đồ thị vơ hướng Ma trận kề đồ thị A= Giải thích: Có đường nối từ A đến B nên phần tử a12=1, khơng có đường nối từ D đến C nên a43=0 Tương tự cho phần tử cịn lại Ví dụ: Cho đồ thị có trọng số hình Hình 2.4.2: Đồ thị có trọng số Ma trận kề đồ thị A= Ví dụ: Cho đồ thị có hướng có trọng số hình lOMoARcPSD|11424851 Hình 2.4.3: Đồ thị có hướng có trọng số Ma trận kề đồ thị A= III THUẬT TOÁN FLOYD WARSHALL Ý tưởng, cách giải 1.1 Ý tưởng: Từ toán cho, chuyển số liệu dạng ma trận trọng số A Mỗi ô A[i,j] lấp đầy khoảng cách từ đỉnh i tới đỉnh j, khơng có đường từ đỉnh i tới đỉnh j có giá trị ∞ Sau bước lặp thứ k, A[i,j] chứa độ dài đường ngắn từ đỉnh i đến đỉnh j (có thể qua đỉnh khác đến j), đỉnh qua có số không vượt k 1.2 Cách giải: Bước 1: Viết ma trận kề A đồ thị Bước 2: Chọn đỉnh đồ thị làm đỉnh trung gian Giả sử chọn đỉnh k làm đỉnh trung gian Ta giữ nguyên hàng k, cột k ma trận A, giữ nguyên phần tử đường chéo A Bước 4: Kí hiệu Ak ma trận A sau lần lặp thứ k, Ak[i,j] tính theo công thức sau: Ak[i,j] = min( Ak-1[i,j], Ak-1[i,k] + Ak-1[k,j] ) Bước 4: Sau đó, ta thực n lần lặp Sau lần lặp thứ k, ma trận A chứa độ dài đường ngắn qua đỉnh thuộc {1,2, ,k} Bước 5: Do đó, sau n lần lặp ta nhận ma trận A chứa độ dài đường ngắn Giải thuật toán matlab: Các hàm matlab sử dụng toán: Lệnh Cú pháp Ý nghĩa Clear clear all -Xóa hết giá trị, biến, liệu ban đầu Input A=input(‘tên biến’) -Nhập vào giá trị cho biến A Min N= Min (A,B) -Nhập giá trị N giá trị biến nhỏ lOMoARcPSD|11424851 hai biến A B Length length( -Tính chiều dài vector Ones ones(N,N) -Tạo ma trận phần tử cấp N For for -Tạo vòng lặp If-else- If-(else)-end -Câu lệnh if xác định điềều kiện nhóm điềều end kiện xảy cho phép thực câu lệnh Fprintf Fprint(‘ tên biến’) -Thực ghi định dạng vào hình Disp disp(S) -Xuất giá trị biến S hình 10 lOMoARcPSD|11424851 Đoạn code sử dụng Matlab: 11 lOMoARcPSD|11424851 IV VÍ DỤ Ví dụ 1: Ở khu nhà A, địa điểm 1,2,3,4,5 (lần lượt khu mua sắm, ngân hàng, công viên, trường học, siêu thị) cách qng đường hình vẽ mơ tả Hãy tìm đường ngắn địa điểm Giải: Từ hình vẽ ta lập ma trận biểu diễn đường sau: Giải thích: Ma trận 5*5 lập nên phần tử hàng i cột j ứng với khoảng cách địa điểm với cho sẵn, với đường chưa xác định ta nhập vào giá trị số ∞ , khoảng cách từ điểm đến Đây kết VD1 sau cho chạy phần mềm Matlab: 12 Downloaded by nhung nhung (nhungnguyen949595@gmail.com) lOMoARcPSD|11424851 Khi ta hiểu đường ngắn từ đến 7km, tức từ đường từ công viên qua ngân hàng đến khu mua sắm đường ngắn nhất, tương tự với cặp địa điểm cịn lại Ví dụ 2: Giả sử bạn có người bạn Quyền, Quốc, Quý, Tân, Thắng Bạn biết vài đường chiều dài quãng đường dẫn đến nhà bạn (bản đồ bên dưới) Nhưng bạn khơng biết đường ngắn nhất, nhiên nhờ tìm hiểu thuật tốn Floyd Warshall bạn tìm hướng ngắn Hãy tạo ma trận đường ngắn nhà bạn Giải: Từ đồ ta có ma trận sau: (Quy ước phần tử ma trận tương tự ví dụ 1) Ta sử dụng thuật toán Floyd Warshall để biến đổi ma trận trên: Sau kết VD2 chạy phần mềm Matlab: 13 Downloaded by nhung nhung (nhungnguyen949595@gmail.com) lOMoARcPSD|11424851 Từ ma trận kết quả, ta biết quãng đường ngắn nhà Ví dụ 3: Tìm đường ngắn từ Điện Biên đến Cơn Đảo? Biết sơ đồ đường hình vẽ: Giải: Giả sử hàng, cột thứ 1,2,3,4,5,6,7,8,9 Điện Biên, Hà Nội, Hải Phòng, Vinh, Đà Năng, Nha Trang, Cần Thơ Ta có ma trận trọng số sau: Đây kết VD3 chạy phần mềm Matlab: 14 Downloaded by nhung nhung (nhungnguyen949595@gmail.com) lOMoARcPSD|11424851 Do ma trận đường ngắn là: Vậy đường ngắn từ Điện Biên đến Côn Đảo 1672 (đvđd) Kết luận: Qua ví dụ trên, ta thấy nhờ có thuật toán Floyd Warshall ứng dụng lý thuyết đồ thị mà tốn thực tế tìm đường ngắn đỉnh trở nên dễ dàng Thêm vào đó, cách lập trình thuật tốn cơng cụ Matlab khơng q phức tạp nên thuật tốn Floyd Warshall lợi hại nhiều trường hợp so với thuật tốn tìm đường ngắn khác 15 Downloaded by nhung nhung (nhungnguyen949595@gmail.com) lOMoARcPSD|11424851 V.TÀI LIỆU THAM KHẢO [1]:Đại số tuyến tính - Đặng Văn Vinh [2]: https://www.mathworks.com/matlabcentral/fileexchange/11549-floyd-shortest-pathrouting [3]: https://brilliant.org/wiki/floyd-warshall-algorithm/ [4]:Wikipedia VI.TỔNG KẾT Với phân công chuẩn bị kỹ lưỡng với nổ lực cố gắng hết mình, nhóm hồn thành đề tài giao Matlab cho kết mong muốn Qua phần tập lớn nhóm biết : - Thao tác giải toán Matlab - Làm toán trở nên sinh động hơn, nâng cao hứng thú môn học - Trau dồi kỹ học tập làm việc nhóm hiệu - Nâng cao tinh thần trách nhiệm thắt chặt tính đồn kết thành viên nhóm VII.NHẬN XÉT CỦA GIÁO VIÊN - 16 Downloaded by nhung nhung (nhungnguyen949595@gmail.com)

Ngày đăng: 02/06/2022, 18:34

Hình ảnh liên quan

Hình 2.2.1: đồ thị vô hướng - BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

Hình 2.2.1.

đồ thị vô hướng Xem tại trang 6 của tài liệu.
Ví dụ: Cho đồ thị có trọng số như hình - BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

d.

ụ: Cho đồ thị có trọng số như hình Xem tại trang 8 của tài liệu.
Hình 2.4.1: Đồ thị vô hướng Ma trận kề của đồ thị này là A=  - BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

Hình 2.4.1.

Đồ thị vô hướng Ma trận kề của đồ thị này là A= Xem tại trang 8 của tài liệu.
Hình 2.4.3: Đồ thị có hướng và có trọng số Ma trận kề của đồ thị này là A=  - BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

Hình 2.4.3.

Đồ thị có hướng và có trọng số Ma trận kề của đồ thị này là A= Xem tại trang 9 của tài liệu.
Disp disp(S) -Xuất giá trị của biến S ra màn hình. - BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

isp.

disp(S) -Xuất giá trị của biến S ra màn hình Xem tại trang 10 của tài liệu.
Giải: Từ hình vẽ trên ta lập được ma trận biểu diễn đường đi như sau: - BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNHĐỀ TÀI LÍ THUYẾT ĐỒ THỊ

i.

ải: Từ hình vẽ trên ta lập được ma trận biểu diễn đường đi như sau: Xem tại trang 12 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan