1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận minh họa trực quan bằng giao diện đồ họa và demo ứng dụng của thuật toán kruskal và dijkstra

32 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Minh họa trực quan bằng giao diện đồ họa và demo ứng dụng của thuật toán Kruskal và Dijkstra
Tác giả Kim Trọng Duy, Lê Trung Hiếu, Trần Thang Long, Hồ Công Minh, Lê Đức Tín
Người hướng dẫn TS. Nguyễn Viết Hưng, ThS. Nguyễn Phương Nam, ThS. Trần Quang Huy
Trường học Trường Đại Học Sư Phạm TP. Hồ Chí Minh
Chuyên ngành Lý thuyết đồ thị và ứng dụng
Thể loại Tiểu luận
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 32
Dung lượng 1,18 MB

Cấu trúc

  • 1. Lý do đề tài (5)
  • 2. Mục tiêu và nhiệm vụ nghiên cứu (6)
  • 3. Đối tượng và phạm vi nghiên cứu (6)
  • 4. Phương pháp nghiên cứu (6)
  • 5. Kết cấu của đề tài (6)
  • CHƯƠNG 1: BÀI TOÁN TÌM CÂY KHUNG NHỎ NH Ấ T VÀ THU Ậ T TOÁN (6)
    • 1.1. Bài toán tìm cây khung nhỏ nhất (7)
    • 1.2. Thuật toán Kruskal (7)
  • CHƯƠNG 2: BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮ N NH Ấ T VÀ THU Ậ T TOÁN (6)
    • 2.1. Bài toán tìm đường đi ngắn nhất (14)
    • 2.2. Thuật toán Dijkstra (14)
  • CHƯƠNG 3: MINH HỌ A TR Ự C QUAN B Ằ NG GIAO DI ỆN ĐỒ H Ọ A (6)
    • 4.1. Một số kết quả cơ bản đã đạt được (31)
    • 4.2. Hạn chế của đề tài (31)
    • 4.3. Hướng phát triển của đề tài (31)

Nội dung

Lý do đề tài

Lý thuyết đồ thị là ngành học được phát triển từ lâu nhưng lại có nhiều ứng dụng hiện đại Những ý tưởng cơ bản của nó đã được nhà toán học Thụy Sĩ vĩ đại Leonhard Euler đưa ra từ thế kỷ 18 Đồ thị là một cấu trúc rời rạc gồm các đỉnh và các cạnh nối các đỉnh đó Đây là công cụ hữu hiệu để mô hình hóa và giải quyết các bài toán trong nhiều lĩnh vực khoa học, kỹ thuật, kinh tế, xã hội

Lý thuyết đồ thị không những có nhiều ứng dụng trong thực tế mà còn là công cụ đắc lực cho ngành công nghệ thông tin Nó giúp cho chúng ta mô tả một cách dễ dàng các bài toán phức tạp cụ thể, để từ đó ta có thể mã hoá các bài toán đó vào máy tính Ngoài ra lý thuyết đồ thị được sử dụng để giải quyết các bài toán trong nhiều lĩnh vực khác nhau

Môn lý thuyết đồ thị là môn học hấp dẫn, mang tính thực tế cao Những vấn đề trong môn học như: các bài toán về đường đi, cây, mạng và các bài toán tô màu đã và đang được nhiều người quan tâm, nghiên cứu Bài toán tìm đường đi ngắn nhất là bài toán quan trọng trong Lý thuyết đồ thị, nó được áp dụng để giải quyết rất nhiều bài toán trong thực tế như điều khiển tối ưu, giao thông vận tải, mạng viễn thông Vì vậy, việc nghiên cứu nó là hết sức cần thiết vì nó có thể giải quyết được nhiều vấn đề khó khăn, phức tạp nảy sinh từ thực tế cuộc sống

Mô phỏng trực quan tái hiện dữ liệu trực quan, hỗ trợ người dùng hình dung thuật toán qua giao diện đồ họa Nhận thấy lợi ích này, chúng tôi nghiên cứu đề tài minh họa thuật toán Kruskal và Dijkstra bằng giao diện đồ họa trong Lý thuyết đồ thị, nhằm cung cấp góc nhìn trực quan cho người học, hỗ trợ quá trình nắm bắt và hiểu thuật toán hiệu quả hơn.

Mục tiêu và nhiệm vụ nghiên cứu

Để người học có cái nhìn trực quan về các thuật toán trong môn học Lý thuyết đồ thị thì việc trực quan hóa các thuật toán đó bằng những công cụ hỗ trợ lập trình là điều cần thiết Thông qua những kiến thức được học trong Lý thuyết đồ thị kết hợp với kỹ thuật lập trình dựa trên nền tảng lập trình WindowsFom của công cụ Visual Studio, sinh viên xây dựng được phần mềm mô phỏng trực quan của thuật toán Kruskal và Dijkstra với sự hỗ trợ của giao diện và các thao tác cơ bản của lập trình WindowsFom.

Phương pháp nghiên cứu

Nghiên cứu dựa trên cơ sở lý luận của thuật toán và kĩ thuật lập trình của bản thân.

Kết cấu của đề tài

Nội dung bài tiểu luận được xây dựng gồm các phần sau:

BÀI TOÁN TÌM CÂY KHUNG NHỎ NH Ấ T VÀ THU Ậ T TOÁN

Bài toán tìm cây khung nhỏ nhất

Cho đồ thị vô hướng, liên thông G(V, E) trong đó mỗi cạnh e ∈ E được gán một trọng số w(e) ∈ R + Một cây khung là một đồ thị con của G, không có chu trình, và chứa mọi đỉnh của G Trọng số của một cây khung là tổng trọng số các cạnh của cây khung đó Tìm cây khung có trọng số nhỏ nhất của G(V, E)

Cây khung (Spanning Tree) của một đồ thị là một đồ thị con liên thông không có chu trình đi qua tất cả các đỉnh Một đồ thị sẽ có nhiều cây khung và bài toán của chúng ta là phải tìm ra cây khung nhỏ nhất.

BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮ N NH Ấ T VÀ THU Ậ T TOÁN

Bài toán tìm đường đi ngắn nhất

Xét đồ thị G = : trong đó |V| = n, |E| = m Với mỗi cạnh (u, v) ∈ E, ta đặt tương ứng với nó một số thực A được gọi là trọng số của cạnh Ta sẽ đặt A[u, v] = ∞ nếu (u, v) ∉ E Nếu dãy v 0 , v1, , vk là một đường đi trên G thì tổng của tất cả các cạnh (A[v i-1 , vi]) được gọi là độ dài của đường đi

Bài toán tìm đường đi ngắn nhất trên đồ thị dưới dạng tổng quát có thể được phát biểu dưới dạng sau: Tìm đường đi ngắn nhất từ một đỉnh xuất phát s ∈ V(đỉnh nguồn) đến đỉnh cuối t ∈ V(đỉnh đích) Đường đi như vậy được gọi là đường đi ngắn nhất từ s đến t, độ dài của đường đi d(s, t) được gọi là khoảng cách ngắn nhất từ s đến t (trong trường hợp tổng quát d(s, t) có thể âm) Nếu như không tồn tại đường đi từ s đến t thì độ dài đường đi d(s, t) = ∞ Nếu như mỗi chu trình trong đồ thị đều có độ dài dương thì trong đường đi ngắn nhất sẽ không có đỉnh nào bị lặp lại, đường đi như vậy được gọi là đường đi cơ bản Nếu như đồ thị tồn tại một chu trình nào đó có độ dài âm, thì đường đi ngắn nhất có thể không xác định, vì ta có thể đi qua chu trình âm đó một số lần đủ lớn để độ dài của nó nhỏ hơn bất kỳ một số thực cho trước nào.

MINH HỌ A TR Ự C QUAN B Ằ NG GIAO DI ỆN ĐỒ H Ọ A

Một số kết quả cơ bản đã đạt được

Hoàn thành được một số yêu cầu cơ bản nội dung yêu cầu như minh họa trực quan bằng giao diện đồ họa các thuật toán tìm đường đi ngắn nhất cũng như tìm cây khung nhỏ nhất.

Vận dụng các kiến thức đã học trên lớp và chủ động tìm hiểu thêm về ngôn ngữ C# trên Internet giúp sinh viên có cơ hội học tập và nghiên cứu chuyên sâu hơn về học phần này Đồng thời, quá trình tự học này còn tạo điều kiện cho sinh viên tiếp cận và sử dụng thành thạo các công cụ hỗ trợ khác, nâng cao hiệu quả học tập và nghiên cứu của mình.

Hạn chế của đề tài

- Chưa có chức năng tạo đồ thị bằng file ma trận có sẵn

Hướng phát triển của đề tài

- Nên phát triển thêm chức năng tạo đồ thị bằng file ma trận có sẵn nhập vào

- Cải thiện giao diện đồ họa

Ngày đăng: 02/08/2024, 16:11

w