TÌM CÂY KHUNG CÓ TRỌNG LƯỢNG NHỎ NHẤT TRÊN ĐỒ THỊ VÔ HƯỚNG BẰNG GIẢI THUẬT PRIM

21 333 0
TÌM CÂY KHUNG CÓ TRỌNG LƯỢNG NHỎ NHẤT TRÊN ĐỒ THỊ VÔ HƯỚNG BẰNG GIẢI THUẬT PRIM

Đ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

Bài toán về cây bao trùm là một trong những ứng dụng quan trọng của lý thuyết đồ thị.Bài toán tìm cây khung có trọng lượng nhỏ nhất là điển hình của vấn đề tìm cây khung. Nhiều bài toán thực tế khác nhau đã được đưa về bài toán dạng này, mà nội dung cơ bản là: tìm cây khung có trọng lượng nhỏ nhất của một đồ thị vô hướng liên thông. Hiện nay yêu cầu thực tế của các bài toán tìm cây khung rất đa dạng và có rất nhiều phương pháp khác nhau để giải. Tuy nhiên phương pháp dựa trên lý thuyết đồ thị là phương pháp thực sự có hiệu quả để giải các bài toán dạng này.

Giáo viên hướng dẫn: Th.s Lê Đức Thắng ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN NIÊN LUẬN (Học kì II, Niên khóa 2009 - 2010) TÊN ĐỀ TÀI: TÌM CÂY KHUNG CĨ TRỌNG LƯỢNG NHỎ NHẤT TRÊN ĐỒ THỊ VƠ HƯỚNG BẰNG GIẢI THUẬT PRIM GIÁO VIÊN HƯỚNG DẪN : STT HỌ VÀ TÊN Thầy Lê Đức Thắng MÃ SỐ SINH VIÊN THỰC HIỆN: STT HỌ VÀ TÊN Võ Thị Tú MÃ SỐ 1081443 I HÌNH THỨC: (tối đa 0.5 điểm) Bìa: (tối đa 0.25điểm)………………………………………………………  Các tiêu đề:Trường DHCT, Khoa CNTT  Loại đồ án, Tên đề tài  Giáo viên hướng dẫn  Thông tin sinh viên thực hiên, Năm thực Bốcục:(tối đa 0.25 điểm)……………………………………………………  Trang nhận xét giáo viên hướng dẫn giáo viên chấm  Mục lục: (cấu trúc chương, mục, tiểu mục)  Phụ lục: (nếu có)  Tài liệu tham khảo II NỘI DUNG: (tối đa 3.5 điểm)… ………………………………………… II Tổng quan (tối đa 0.5 điểm)… …………………………………………  Mơ tả tốn, mục tiêu cần đạt được (0.25 điểm)  Hướng giải kế hoạch thực (0.25 điểm) II Lý thuyết: (tối đa 0.5 điểm)………………………………………………  Các khái niệm sử dụng đề tài  Kết vận dụng lý thuyết vào đề tài SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng II Ứng dụng: (tối đa 2.0 điểm)……………………………………………  Phân tích yêu cầu toán, xây dựng cấu trúc dữ liệu cần thiết (0.5 điểm)  Giải thuật (Lưu đồ-Ngôn ngữ giả) (1.0 điểm)  Giới thiệu chương trình (0.5 điểm) II Kết luận: (tối đa 0.5 điểm)………………………………………………  Nhận xét kết đạt được  Hạn chế  Hướng phát triển III CHƯƠNG TRÌNH DEMO: (tối đa 5.0 điểm)  Giao diện thân thiện với người dùng (1.0 điểm)  Hướng dẫn sử dụng (0,5 điểm)  Kết thực với kết phần ứng dụng (3.5 điểm)… TỔNG CỘNG: ………………………………… Cần Thơ, ngày tháng… năm 2010 GIÁO VIÊN CHẤM Th.s Lê Đức Thắng SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng Cần Thơ, ngày ……tháng năm 2010 Giáo viên hướng dẫn chấm điểm SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng Thưa thầy: Trong suốt thời gian nghiên cứu tìm hiểu để thực đề tài niên luận 1, em nhận được dẫn tận tình Thầy giúp em vượt qua những khó khăn Và hơm em hồn thành niên luận Em xin chân thành cảm ơn thầy Lê Đức Thắng, giúp em giải những khó khăn vấp phải thực niên luận…Cảm ơn bạn học trợ giúp mình, trao đổi ngôn ngữ, giải thuật, động viên mình những lúc khó khăn Cảm ơn bạn nhiều Dù không tránh khỏi những khiếm khuyết hạn chế mặt thời gian số kiến thức công việc tìm khung có trọng lượng nhỏ đồ thị vơ hướng yếu, em nổ lực hết sức để giải yêu cầu đặt Sau gần hai tháng thực hiện, Niên Luận I em đáp ứng đầy đủ được yêu cầu đề tài đặt Em mong nhận được những ý kiến đóng góp hết sức quý báu quý thầy cô bè bạn để đề tài ngày được hoàn thiện Chân thành cảm ơn ! Cần Thơ, ngày 04 tháng 04 năm 2010 Sinh viên thực Võ Thị Tú SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng MỤC LỤC  LỜI MỞ ĐẦU………………………………………………………………… CHƯƠNG I: TỔNG QUAN……………………………………………………7 1.1 Mô tả toán, mục tiêu phạm vi cần đạt được……………………7 1.1.1 Mơ tả tốn………………………………………………… ……… 1.1.2 Mục tiêu cần đạt được……………………………………………………7 1.2 Hướng giải kế hoạch thực hiện………………………………8 1.2.1 Hướng giải quyết…………………………………………………………8 1.2.2 Kế hoạch thực hiện……………………………………………………….8 CHƯƠNG II: CƠ SỞ LÝ THUYẾT………………………………………….9 2.1 Các khái niệm sử dụng đề tài……………………………………9 2.1.1 Đồ thị vô hướng………………………………………………… …… 2.1.2 Đồ thị liên thông………………………………………………………….9 2.1.3 Cây khung…………………………………………………………9 CHƯƠNG III: KẾT QUẢ ỨNG DỤNG……………………………………….10 3.1 Phân tích u cầu tốn, xây dựng cấu trúc liệu cần thiết…10 3.1.1 Phân tích yêu cầu toán……………………………………………… 10 3.1.2 Xây dựng cấu trúc dữ liệu cần thiết………………………………… 10 3.2 Thiết kế giải thuật (lưu đồ - ngôn ngữ giả)…………………………… 11 3.2.1 Nhập ma trận trọng số…………………………………………………… 11 3.2.2 In ma trận………………………………………………………………….12 3.2.3 In đỉnh duyệt (S)………………………………………………… 12 3.2.4 Kiểm tra………………………………………………………………… 12 3.2.5 In cạnh khung…………………………………………………………13 3.2.6 In đỉnh kề………………………………………………………………….13 3.2.7 Giải thuật Prim…………………………………………………………….14 3.3 Giới thiệu chương trình………………………………………………….17 3.3.1 Giao diện chính chương trình…………………………………………17 3.3.2 Nhập đồ thị(bằng ma trận trọng số)……………………………………….18 3.3.3 Tìm khung có trọng lượng nhỏ đồ thị………………………18 CHƯƠNG IV: KẾT QUẢ - ĐÁNH GIÁ…………………………………… 19 4.1 Kết đạt được………………………………………………… …… 19 4.2 Những hạn chế - nguyên nhân………………………………………… 19 4.2.1 Hạn chế……………………………………………………………………19 4.2.2 Nguyên nhân…………………………………………………………… 19 4.3 Hướng phát triển……………………………………………………… 20 TÀI LIỆU THAM KHẢO…………………………………………… ……….21 SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng Bài toán bao trùm những ứng dụng quan trọng lý thuyết đồ thị Bài toán tìm khung có trọng lượng nhỏ điển hình vấn đề tìm khung Nhiều toán thực tế khác được đưa toán dạng này, mà nội dung là: tìm khung có trọng lượng nhỏ đồ thị vô hướng liên thông Hiện yêu cầu thực tế toán tìm khung đa dạng có nhiều phương pháp khác để giải Tuy nhiên phương pháp dựa lý thuyết đồ thị phương pháp thực có hiệu để giải toán dạng Ngày nay, Tin học ngày trở nên quan trọng, nó xâm nhập vào nhiều ngành, lĩnh vực như: y tế, giáo dục, quốc phòng Sự kết hợp giữa lý thuyết đồ thị tin học nâng cao nữa vai trò chúng ứng dụng thực tiễn đời sống xã hội đại Sự mô hình hố tốn tìm khung có trọng lượng nhỏ nêu ví dụ điển hình việc áp dụng tin học vào toán học Tuy nhiên, bên cạnh những ưu điểm nó có số hạn chế vì lúc có thể mơ tốn đó tin học Và việc mô phức tạp nên chưa được áp dụng rộng rãi thực tế Hy vọng thời buổi công nghệ thông tin thì vấn đề được áp dụng cách phổ biến Đề tài thật hút tôi, chọn để thực Niên Luận Dù cố gắng thật nhiều, chắc chắn tơi nhiều thiếu sót Rất mong được góp ý Thầy bạn bè để đề tài được hoàn thiện Xin chân thành cảm ơn Cần Thơ, tháng năm 2010 Sinh viên thực Võ Thị Tú SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng CHƯƠNG I TỔNG QUAN 1.1 MÔ TẢ BÀI TOÁN, MỤC TIÊU VÀ PHẠM VI CẦN ĐẠT ĐƯỢC 1.1.1 Mơ tả tốn: Lý thuyết Đồ thị - cấu trúc rời rạc tìm được những ứng dụng rộng rãi nhiều lĩnh vực khoa học kỹ thuật đời sống - những ngành khoa học đời sớm Lý thuyết Đồ thị giúp mô tả hình học giải nhiều toán thực tế phức tạp liên quan đến khái niệm như: đường ngắn nhất, chu trình, bao trùm… thuật toán ngắn gọn thú vị Bên cạnh đó, Tin học ngày quan trọng đời sống, những ứng dụng nó giúp người giảm khối lượng công việc lớn, giúp công việc được giải nhanh Đối với lý thuyết đồ thị, tin học giúp nâng cao nữa vai trò lý thuyết đồ thị ứng dụng thực tiễn cài đặt thuật toán máy tính Bài toán tìm khung có lượng nhỏ những toán ứng dụng quan trọng lý thuyết đồ thị 1.1.2 Mục tiêu cần đạt  Ngôn ngữ sử dụng: Tùy chọn ngôn ngữ họ C để cài đặt tốt chương trình  Trình khái niệm đồ thị, tính liên thông, khung  Trình bày giải thuật Prim, ví dụ minh họa  Mô được hoạt động giải thuật Prim  Hiển thị kết khung có trọng lượng nhỏ đồ thị SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng 1.2 HƯỚNG GIẢI QUYẾT VÀ KẾ HOẠCH THỰC HIỆN 1.2.1 Hướng giải quyết: Dùng ngôn ngữ C để thiết kế chương trình Thuật toán Prim được thiết kế nhằm giải toán tìm khung có trọng lượng nhỏ đồ thị vô hướng với trọng số không âm Áp dụng giải thuật Prim để tìm khung có trọng lượng nhỏ đồ thị vô hướng 1.2.2 Kế hoạch thực hiện: Tuần : Phân tích tìm hiểu đề tài Tuần : Thiết kế giải thuật Tuần 10 : Hiệu chỉnh giải thuật Tuần 11 : Hiệu chỉnh giải thuật – Cài đặt DEMO Tuần 12 - 13: Hiệu chỉnh chương trình – Viết báo cáo Tuần 14 : Hoàn tất niên luận – Nộp báo cáo SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 CÁC KHÁI NIỆM SỬ DỤNG TRONG ĐỀ TÀI 2.1.1 Đồ thị vô hướng: Đồ thị vô hướng ký hiệu G = (X, U) , đó: o X tập hợp mà phần tử nó được gọi đỉnh đồ thị o U tập hợp mà phần tử nó cặp đỉnh không tính đến thứ tự u = (i, j) = (j, i), gọi cạnh nối giữa đỉnh i đỉnh j đồ thị 2.1.2 Đồ thị liên thông: G = (X, U) đồ thị vô hướng Đồ thị vô hướng G được gọi liên thông với cặp đỉnh i, j thì tìm được đường nối i, j Đường nối i j đường nối j i 2.1.3 Cây khung: Cây đồ thị vô hướng liên thong không có chu trình Cây khung đồ thị vô hướng G đồ thị phận liên thông không có chu trình G SVTH: Võ Thị Tú MSSV: 1081443 Trang Giáo viên hướng dẫn: Th.s Lê Đức Thắng CHƯƠNG III KẾT QUẢ ỨNG DỤNG 3.1 PHÂN TÍCH YÊU CẦU BÀI TOÁN, XÂY DỰNG CÁC CẤU TRÚC DỮ LIỆU CẦN THIẾT 3.1.1 Phân tích yêu cầu toán: Vận dụng lý thuyết đồ thị để cài đặt chương trình cho phép biểu diễn đồ thị, kiểm tra tính liên thông tìm khung có trọng lượng nhỏ giải thuật Prim 3.1.2 Xây dựng cấu trúc liệu cần thiết: #define max 50: khai báo giá trị vô cùng mảng (cả hai chiều) – mảng tối đa 50 phần tử MT[max][max]: ma trận trọng số - biểu diễn cho đồ thị cần tìm min=1000: giá trị vô cùng trọng số 1000 DK[3][max]: Ma trận chứa đỉnh kề S[max]: Mảng chứa đỉnh duyệt T[2][max]: Ma trận cạnh khung W: Trọng lượng khung NhapMT(): Đọc đồ thị ma trận trọng số InMT(): In ma trận trọng số vừa nhập InS(): In đỉnh duyệt InDK(): In đỉnh kề trọng số tương ứng InT(): In cạnh khung tìm được Kiemtra(): kiểm tra xem đỉnh kề xét thuộc S hay không Prim(): Tìm khung có trọng lượng nhỏ đồ thị vừa nhập main(): chương trình chính Ngồi ra, sử dụng cấu trúc rẽ nhánh if, if – else để thực cơng việc Vòng lặp for, while SVTH: Võ Thị Tú MSSV: 1081443 Trang 10 Giáo viên hướng dẫn: Th.s Lê Đức Thắng 3.2 THIẾT KẾ GIẢI THUẬT (LƯU ĐỒ - NGÔN NGỮ GIẢ) 3.2.1 Nhập ma trận trọng số: Begi n i=1 Sai i

Ngày đăng: 14/11/2018, 13:18

Từ khóa liên quan

Mục lục

  • HỌ VÀ TÊN

  • HỌ VÀ TÊN

  • 1.1 MÔ TẢ BÀI TOÁN, MỤC TIÊU VÀ PHẠM VI CẦN ĐẠT ĐƯỢC

    • 1.1.1 Mô tả bài toán:

    • 1.2 HƯỚNG GIẢI QUYẾT VÀ KẾ HOẠCH THỰC HIỆN

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

Tài liệu liên quan