Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
443,78 KB
Nội dung
ĐẠI HỌC KHOA CÔNG NGHỆ THÔNG TIN - - ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC TÊN ĐỀ TÀI XÂY DỰNG BÀI TỐN GHÉP ĐƠI KHƠNG TRỌNG SỐ Họ tên: Chuyên nghành: Công nghệ thông tin Lớp: cntt Khoá: 2016-2020 Hướng dẫn: Tiến sỹ Hà Nội, 12/2020 LỜI CAM ĐOAN Em xin cam đoan: Đồ án tốt nghiệp “ Xây dựng tốn ghép đơi khơng trọng số “ cơng trình nghiên cứu cá nhân em, thực sở nghiên cứu lý thuyết ứng dụng , hướng dẫn khoa học Tiến sĩ Phạm Minh Hoàn , Trường Đại học Kinh tế quốc dân Em xin chịu trách nhiệm lời cam đoan Hà Nội, ngày 12 tháng 12 năm 2020 Tác giả LỜI CÁM ƠN Để hoàn thành nghiên cứu này, em xin chân thành cám ơn Trường Đại học Kinh tế quốc dân, Phịng đào tạo, thầy, giáo giảng dạy lóp Cơng nghệ thơng tin 58B quan tâm, tạo điều kiện thuận lợi, tận tình giảng dạy giúp đỡ em thời gian theo học trường Đặc biêt, em xin bày tỏ lòng biết ơn sâu sắc đến TS Phạm Minh Hoàn, người dành nhiều thời gian, tam huyết hướng dẫn em suốt trình nghiên cứu hồn thành đồ án Mặc dù cố gắng hoàn thiện luận văn, nhiên chắn cịn nhiều thiếu sót, mong nhận góp ý quý báu quý thầy cô bạn Xin trân trọng cám ơn ! Hà Nội, ngày 12 tháng 12 năm 2020 Tác giả MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG : CƠ SỞ LÝ THUYẾT VỀ ĐỒ THỊ VÀ ĐỘ PHỨC TẠP THUẬT TOÁN .8 1.1 Các khái niệm 1.1.1 Khái niệm đồ thị 1.1.2 Các loại đồ thị 1.1.3 Biểu diễn đồ thị máy tính 16 1.2 Độ phức tạp tính tốn tính hiệu thuật toán 21 1.2.1 Định nghĩa thuật toán .21 1.2.2 Phân tích độ phức tạp thuật toán 22 1.2.3 Tối ưu thuật toán 24 1.3 Một số thuật tốn tìm kiếm đồ thị 24 1.3.1 Thuật tốn tìm kiếm theo chiều sâu ( Depth first search ) 24 1.3.2 Thuật tốn tìm kiếm theo chiều rộng (Breadth first search) .26 CHƯƠNG 2: BÀI TỐN TÌM BỘ GHÉP CỰC ĐẠI TRÊN ĐỒ THỊ VÀ CÁC THUẬT TOÁN .29 2.1 Đồ thị hai phía 29 2.2 Bài toán ghép cặp khơng trọng số đồ thị hai phía 30 2.2.1 Các khái niệm 30 2.2.2 Thuật toán đường mở .32 2.2.3 Độ phức tạp thuật toán .33 2.2.4 Cài đặt 34 CHƯƠNG 3: ỨNG DỤNG BÀI TỐN GHÉP ĐƠI TRONG THỰC TẾ 40 3.1 Phát biểu toán 40 3.2 Kết luận 41 TÀI LIỆU THAM KHẢO .42 LỜI NÓI ĐẦU Ngày việc giải toán lớn cho hệ thống đòi hỏi hợp tác chặt chẽ chuyên gia lĩnh vực chuyên môn, chuyên gia Toán, Toán ứng dụng chuyên gia Tin học, kỹ sư lập trình Việc thiết lập mơ hình hợp lý, phản ánh đƣợc chất toán thực tế đồng thời khả thi phương diện tính tốn ln điều đáng quan tâm Đặc biệt chuyên ngành liên quan tốn học chun ngành quan tâm, số Lý thuyết đồ thị Đồ thị biểu diễn nhiều cấu trúc, nhiều tốn thực tế biểu diễn đồ thị Ví dụ, cấu trúc liên kết website biểu diễn đồ thị có hướng sau: đỉnh trang web có website, tồn taị cạnh có hướng nối từ trang A tới trang B A có chứa liên kết tới B Do vậy, phát triển thuật toán xử l đồ thị mối quan tâm khoa học máy tính Mặc dù Lý thuyết đồ thị khoa học phát triển từ lâu có nhiều ứng dụng đại , đặc biệt thuật tốn đồ thị có nhiều ứng dụng nhiều lĩnh vực khác : Mạng máy tính, Lý thuyết mã, Tối ưu hố, Kinh tế học Những ý tưởng lý thuyết đồ thị nhà toán học Thụy sỹ Leonhard Euler đưa từ kỷ 18 Ông dùng lý thuyết đồ thị để giải toán cầu Konigsberg tiếng Đồ thị dùng để giải nhiều toán thuộc lĩnh vực khác : người ta dùng đồ thị để biểu diễn cạnh tranh lồi mơi trường sinh thái, dùng đồ thị biểu diễn có ảnh hưởng đến tổ chức dùng đồ thị để giải tốn tốn tính số tổ hợp khác chuyến xe hai thành phố mạng giao thơng, tốn tham quan tất phố thành phố cho phố qua lần, hay tốn tìm số màu cần thiết để tơ vùng khác đồ, Đồ thị với trọng số gán cho cạnh dùng để giải toán toán tìm đường ngắn hai thành phố mạng giao thơng, tốn phân cơng lao động cho tổng lợi nhuận thu lớn Đặc biệt, nhiều toán thực tế sử dụng mơ hình đồ thị thuật tốn đồ thị giải hiệu như: toán điều hành taxi, tốn xếp lớp học theo tín đưa mơ hình tốn tìm ghép cực đại đồ thị sử dụng thuật tốn tương ứng Chính đồ thị sử dụng để giải nhiều toán thuộc nhiều lĩnh vực khác cách dễ dàng phổ biến nên đồ thị giữ vai trò quan trọng sống, đặc biệt lĩnh vực công nghệ thông tin, dựa vào đồ thị thuật toán đồ thị người ta xây dựng nên phần mềm hữu ích giải tốn thực tế cách nhanh chóng tối ưu Nhận thấy tính thiết thực vấn đề gợi ý giảng viên hướng dẫn, chọn nội dung nghiên cứu ―Bài tốn ghép đơi khơng trọng số đồ thị, ứng dụng giải số toán thực tế.” làm đề tài cho luận văn tốt nghiệp Báo cáo bố cục thành chương: Chương 1: Cơ sở lý thuyết đồ thị độ phức tạp thuật toán Chương : Bài tốn tìm ghép cực đại đồ thị thuật toán Chương 3: Ứng dụng toán ghép đôi thực tế CHƯƠNG : CƠ SỞ LÝ THUYẾT VỀ ĐỒ THỊ VÀ ĐỘ PHỨC TẠP THUẬT TOÁN 1.1 Các khái niệm 1.1.1 Khái niệm đồ thị - Là cấu trúc rời rạc gồm đỉnh cạnh nối đỉnh Được mơ tả hình thức: G = (V, E) V gọi tập đỉnh, E tập cạnh, Có thể coi E tập cặp (u, v) với u v hai đỉnh V Một số hình ảnh đồ thị: Cạnh liên thuộc, đỉnh kề , bậc Đối với đồ thị vô hướng G = (V, E) Xét cạnh e ϵ E, e = (u,v) ta nói hai đỉnh u v kề cạnh e liên thuộc với đỉnh u đỉnh v Với đỉnh v đồ thị, ta định nghĩa bậc v , ký hiệu deg(v) số cạnh liên thuộc với v Dễ thấy đơn đồ thị số cạnh liên thuộc với v số đỉnh kề với v Định lý: giả sử G = (V, E) đồ thị vơ hướng với m cạnh, tổng tất bậc đỉnh V 2m: ∑ deg ( v )=2 m vϵV Đối với đồ thị có hướng G = (V, E) Xét cung e ϵ E, e = (u, v) ta nói u nối tới v v nối từ u, cung e khỏi đỉnh u vào đỉnh v Đỉnh u gọi đỉnh đầu, đỉnh v gọi đỉnh cuối cung e Với đỉnh v đồ thị có hướng, ta định nghĩa : Bán bậc v ký hiệu deg+(v) số cung khỏi nó; bán bậc vào ký hiệu deg(-v) số cung vào đỉnh Định lý: giả sử G = (V, E) đồ thị có hướng với m cung, tổng tất bán bậc đỉnh tổng tất bán bậc vào m: ∑ deg−¿(v)= ∑ deg +¿(v) ¿ ¿= m vϵV vϵ V 1.1.2 Các loại đồ thị Có thể phân loại đồ thị theo đặc tính số lượng tập cạnh E: Cho đồ thị G = (V, E) Định nghĩa 1: Một đơn đồ thị vô hƣớng G = , đó: - V ≠ Ø tập hợp hữu hạn gồm đỉnh đồ thị - E tập hợp cặp khơng có thứ tự gồm hai phần tử khác V gọi cạnh Như vậy, theo định nghĩa trên, đơn đồ thị khơng thể có cặp cạnh nối cặp đỉnh (do E tập hợp nên khơng thể có cặp trùng nhau), cạnh không phân biệt thứ tự nên cạnh [u,v] cạnh [v,u] coi cạnh nhất, điều phù hợp với việc biểu diễn đường chiều, hiển nhiên khơng có cặp [u,u] E Ví dụ a) Đơn đồ thị vơ hướng b) Không phải đơn đồ c) Không phải đơn đồ thị vơ thị vơ hướng có hướng có cạnh nối cặp cạnh nối đỉnh với cặp đỉnh Tuy nhiên, thực tế, hệ thống giao thơng tồn nhiều đường nối hai địa điểm, có đường để từ địa điểm lại quay (đây đường nội trung tâm mua sắm, …) Khi đó, tính chất đơn đồ thị vơ hướng định nghĩa không cho phép n biểu diễn hệ thống giao thông trường hợp Muốn vậy, ta phải dùng loại đồ thị tổng quát hơn, là: đa đồ thị vơ hướng Định nghĩa 2: Đa đồ thị vô hướng G = , - V ≠ Ø tập hợp hữu hạn gồm đỉnh đồ thị - E họ cặp khơng có thứ tự V gọi - Khi ta nói E họ nghĩa có cạnh Lưu ý: cặp trùng (khác với khái niệm tập hợp) Các cạnh nối cặp đỉnh gọi cạnh song song khuyên Các cạnh nối từ đỉnh với gọi Ví dụ e1 e2 a) Đa đồ thị vô hướng: e1 e2 e b) Đa đồ thị vô hướng: e khuyên cạnh song song Điểm chung hai loại đồ thị định nghĩa tính chất vơ hướng (hai chiều) cạnh Trong thực tế, có ta phải trọng đến tính có hướng cạnh nối (chẳng hạn biểu diễn đường chiều) Từ đó, ta có thêm loại đồ thị: Đơn đồ thị có hướng đa đồ thị có hướng Về bản, hai loại tương tự hai loại mà ta định nghĩa trên, thêm khác biệt tính chất có thứ tự cạnh Định nghĩa 3: Đơn đồ thị có hướng G = , đó: - V ≠ Ø tập hợp hữu hạn gồm đỉnh đồ thị - E tập hợp cặp có thứ tự gồm hai phần tử khác V gọi cung 10 ... thuyết đồ thị nhà toán học Thụy sỹ Leonhard Euler đưa từ kỷ 18 Ông dùng lý thuyết đồ thị để giải toán cầu Konigsberg tiếng Đồ thị dùng để giải nhiều toán thuộc lĩnh vực khác : người ta dùng đồ thị... dàng phổ biến nên đồ thị giữ vai trò quan trọng sống, đặc biệt lĩnh vực công nghệ thông tin, dựa vào đồ thị thuật toán đồ thị người ta xây dựng nên phần mềm hữu ích giải toán thực tế cách nhanh... Chương : Bài toán tìm ghép cực đại đồ thị thuật tốn Chương 3: Ứng dụng tốn ghép đơi thực tế CHƯƠNG : CƠ SỞ LÝ THUYẾT VỀ ĐỒ THỊ VÀ ĐỘ PHỨC TẠP THUẬT TOÁN 1.1 Các khái niệm 1.1.1 Khái niệm đồ thị