(Luận văn) bài toán tìm bộ ghép cực đại trên đồ thị, ứng dụng giải một số bài toán trong thực tế

80 3 0
(Luận văn) bài toán tìm bộ ghép cực đại trên đồ thị, ứng dụng giải một số bài toán trong thực tế

Đ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 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VŨ MINH TIỆP lu an n va ỨNG DỤNG GIẢI MỘT SỐ BÀI TOÁN TRONG THỰC TẾ p ie gh tn to BÀI TỐN TÌM BỘ GHÉP CỰC ĐẠI TRÊN ĐỒ THỊ, d oa nl w nf va an lu z at nh oi lm ul LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH z m co l gm @ an Lu Thái Nguyên - 2015 n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si ii ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THƠNG VŨ MINH TIỆP lu BÀI TỐN TÌM BỘ GHÉP CỰC ĐẠI TRÊN ĐỒ THỊ, an n va ỨNG DỤNG GIẢI MỘT SỐ BÀI TOÁN TRONG THỰC TẾ tn to p ie gh Chuyên ngành: Khoa học máy tính d oa nl w Mã số: 60 48 01 an lu nf va LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH z at nh oi lm ul NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trương Hà Hải z m co l gm @ an Lu Thái Nguyên - 2015 n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si iii LỜI CAM ĐOAN Em xin cam đoan: Luận văn tha ̣c si ̃ Khoa học máy tính “ Bài tốn tìm ghép cực đại đồ thị, ứng dụng giải số tốn thực tế” nà y cơng trình nghiên cứu thực cá nhân em, thực sở nghiên cứu lý thuyết và hướng dẫn khoa học Tiến sĩ Trương Hà Hải, Trường Đại học Công nghệ Thông tin Truyền thông Em xin chiụ trách nhiê ̣m về lời cam đoan này lu Thái Nguyên, ngày an tháng năm 2015 n va Tác giả p ie gh tn to d oa nl w Vũ Minh Tiệp nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si iv LỜI CẢM ƠN Để hoàn thành luận văn, em xin chân thành cảm ơn Trường Đại học Công nghệ Thơng tin Truyền thơng, Phịng Đào tạo, thầy, cô giáo giảng dạy lớp cao học Khoa học máy tính K12E 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 Trương Hà Hải, lu người dành nhiều thời gian, tâm huyết hướng dẫn em suốt trình an n va nghiên cứu hoàn thành luận văn tn to Em xin cảm ơn cán bộ, giảng viên đồng nghiệp Trường gh Trung Cấp Kỹ Thuật Vĩnh Phúc tạo điều kiện thời gian để em p ie học tập hồn thành luận văn nl w Mă ̣c dù đã cố gắ ng hế t sức hoàn thiê ̣n luâ ̣n văn, nhiên chắ c chắ n vẫn d oa còn nhiều thiế u sót, rấ t mong sự góp ý quý báu của quý thầ y cô và ba ̣n an lu Xin trân trọng cảm ơn tháng nf va Thái Nguyên, ngày năm 2015 lm ul Tác giả z at nh oi z m co l gm @ Vũ Minh Tiệp an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si v MỤC LỤC Đặt vấn đề 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 CƠ BẢN 1.1.1 Khái niệm đồ thị 1.1.2 Các loại đồ thị 1.1.3 Biểu diễn đồ thị 11 1.2 ĐỘ PHỨC TẠP TÍNH TỐN VÀ TÍNH HIỆU QUẢ CỦA THUẬT TOÁN 16 lu 1.2.1 Định nghĩa thuật toán 16 an 1.2.2 Phân tích độ phức tạp thuật toán 17 va 1.2.3 Tối ưu thuật toán 18 n tn to 1.3 MỘT SỐ THUẬT TỐN TÌM KIẾM TRÊN ĐỒ THỊ 19 ie gh 1.3.1 Thuật tốn tìm kiếm theo chiều sâu (DEPTH FIRST SEARCH) 19 p 1.3.2 Thuật toán tìm kiếm theo chiều rộng (BREADTH FIRST SEARCH) 21 w CHƯƠNG BÀI TỐN TÌM BỘ GHÉP CỰC ĐẠI TRÊN ĐỒ THỊ VÀ CÁC oa nl THUẬT TOÁN 24 d 2.1 ĐỒ THỊ HAI PHÍA 24 lu an 2.1.1 Định nghĩa 24 nf va 2.1.2 Các toán đồ thị hai phía 26 lm ul 2.2 BÀI TỐN TÌM BỘ GHÉP CỰC ĐẠI TRÊN ĐỒ THỊ HAI PHÍA 26 2.2.1 Bài tốn ghép đơi khơng trọng khái niệm 26 z at nh oi 2.2.2 Thuật toán đường mở 28 2.2.3 Độ phức tạp thuật toán 29 z 2.3 BÀI TOÁN TÌM BỘ GHÉP CỰC ĐẠI VỚI TỔNG TRỌNG SỐ CỰC ĐẠI @ gm HOẶC CỰC TIỂU TRÊN ĐỒ THỊ HAI PHÍA 29 co l 2.3.1 Bài tốn phân cơng 29 2.3.2 Thuật tốn tìm cặp ghép với tổng trọng số cạnh lớn nhỏ m an Lu 30 2.3.3 Thuật toán Hung-ga-ri 33 n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si vi 2.3.4 Phương pháp đối ngẫu Kuhn-Munkres 37 2.3.5 Đánh giá độ phức tạp cải tiến thuật toán 39 2.4 BÀI TỐN TÌM BỘ GHÉP CỰC ĐẠI TRÊN ĐỒ THỊ TỔNG QUÁT 42 2.4.1 Các khái niệm 42 2.4.2 Thuật toán Edmonds (1965) 44 2.4.3 Thuật toán Lawler (1973) 46 CHƯƠNG MỘT SỐ BÀI TOÁN ỨNG DỤNG TRONG THỰC TẾ 50 3.1 BÀI TOÁN ĐIỀU HÀNH TAXI 50 3.1.1 Phát biểu toán 50 3.1.2 Phân tích tốn xây dựng thuật toán 50 lu an 3.2 BÀI TOÁN XẾP LỚP HỌC THEO TÍN CHỈ 60 n va 3.2.1 Mơ hình đào tạo theo học chế tín 60 tn to 3.2.2 Phát biểu toán 61 gh 3.2.3 Phân tích tốn xây dựng thuật toán 62 p ie TÀI LIỆU THAM KHẢO 73 d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si vii DANH MỤC CÁC HÌ NH VẼ Hình 1: Ví dụ mơ hình đồ thị Hình 2: Đơn đồ thị vơ hướng đơn đồ thị vô hướng Hình 3: Đa đồ thị vơ hướng Hình 4: Đơn đồ thị có hướng khơng phải đơn đồ thị có hướng Hình 5: Đa đồ thị có hướng Hình 6: Đơn đồ thị vơ hướng Hình 7: Đồ thị có hướng 10 lu Hình 8: Ví dụ biểu diễn đồ thị danh sách cạnh 12 an n va Hình 9: Ví dụ biểu diễn đồ thị danh sách liền kề 13 tn to Hình 10: Ví dụ biểu diễn đồ thị ma trận kề 14 gh Hình 11: Ví dụ biểu diễn đồ thị ma trận liên thuộc 16 p ie Hình 12: Quá trình tìm kiếm theo chiều sâu 20 w Hình 13: Cây BFS 21 oa nl Hình 14: Quá trình tìm kiếm theo chiều rộng 23 d Hình 15: Ví dụ đồ thị hai phía khơng phải đồ thị hai phía 24 an lu Hình 16: Đồ thị hai phía 28 nf va Hình 17: Ví dụ tốn tìm ghép cực đại đồ thị 43 lm ul Hình 18: Phép chập Blossom 45 z at nh oi Hình 19: Nở Blossom để dị đường xuyên qua Blossom 46 z m co l gm @ an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si Đặt vấn đề Ngày việc giải tố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 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 chun ngành liên quan tốn học chuyên lu ngành quan tâm, số Lý thuyết đồ thị Đồ thị biểu diễn an nhiều cấu trúc, nhiều toán thực tế biểu diễn đồ va n thị Ví dụ, cấu trúc liên kết website biểu diễn tn to đồ thị có hướng sau: đỉnh trang web có website, tồn ie gh cạnh có hướng nối từ trang A tới trang B A có chứa liên p kết tới B Do vậy, phát triển thuật toán xử lý đồ thị oa nl w mối quan tâm khoa học máy tính d Mặc dù Lý thuyết đồ thị khoa học phát triển từ lâu lại an lu có nhiều ứng dụng đại, đặc biệt thuật toán đồ thị có nhiều nf va ứng dụng nhiều lĩnh vực khác như: Mạng máy tính, Lý thuyết mã, lm ul Tối ưu hoá, Kinh tế học Những ý tưởng lý thuyết đồ thị z at nh oi 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 z gm @ khác như: người ta dùng đồ thị để biểu diễn cạnh tranh l loài môi trường sinh thái, dùng đồ thị biểu diễn có ảnh hưởng đến m co tổ chức dùng đồ thị để giải toán an Lu 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ố n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 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 tốn tố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, toá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 lu an Chính đồ thị sử dụng để giải nhiều toán thuộc n va nhiều lĩnh vực khác cách dễ dàng phổ biến nên đồ thị tn to giữ vai trò quan trọng sống, đặc biệt lĩnh vực ie gh công nghệ thông tin, dựa vào đồ thị thuật toán đồ thị người ta có p thể xây dựng nên phần mềm hữu ích giải tốn thực tế cách nl w nhanh chóng tối ưu d oa Nhận thấy tính thiết thực vấn đề gợi ý giảng an lu viên hướng dẫn, chọn nội dung nghiên cứu “Bài tốn tìm ghép nf va cực đại đồ thị, ứng dụng giải số toán thực tế.” làm đề tài lm ul cho luận văn tốt nghiệp z at nh oi Luận văn bố cục thành chương: Chương Cơ sở lý thuyết đồ thị độ phức tạp thuật toán: Chương trình bày khái niệm Lý thuyết đồ thị độ phức tạp thuật toán z gm @ Chương Bài tốn tìm ghép cực đại đồ thị thuật toán: l Chương phát biểu dạng tốn tìm ghép cực đại đồ thị, trình bày m co thuật toán đánh giá độ phức tạp thuật toán Chương Một số toán ứng dụng thực tế: Tìm hiểu số an Lu toán ứng dụng thực tế: Bài toán điều hành taxi, tốn xếp lớp học theo tín n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si chỉ,…, xây dựng chương trình thử nghiệm giải tốn ứng dụng tốn xếp lớp học theo tín trường Trung cấp Kỹ thuật Vĩnh Phúc lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 59 int dem = 0; public void Tim(int tt, int x, int y) { int tg = this.T[x][y]; if (tg == -1) { if (dem == || (dem > && x != this.Ng[tt][dem 1])) { dem++; this.Ng[tt][dem - 1] = x; } dem++; this.Ng[tt][dem - 1] = y; lu } else { Tim(tt, x, tg); Tim(tt, tg, y); } an n va tn to ie gh } p public void KetQua() { string text = string.Empty; DateTime TDateTime = DateTime.Now; int j, z, tt, tong; this.Ng = new int[this.k][]; for(int i=0; iN đủ số lượng sinh viên i muốn học tức P[i] Bước 2: Repeat Tao_day_voi; // tạo cột đầy, cột vơi Gán_số; lu an Nếu tìm dãy vơi sửa; n va Until khơng tìm dãy vơi tn to Trong đó: Tìm mảng a tổng t cột có tổng số số p ie gh Tao_day_voi: w Duyệt từ cột đến cột N, cột có tổng số = t cột oa nl gọi cột đầy, cột có tổng số < t - gọi d cột vơi lu Xét cột: nf va an Gán số: lm ul Nếu cột j cột đầy thì: z at nh oi { Gán số cho cột j; z Xét tất hàng i, gán số j cho hàng i chưa gán sô; m co Nếu hàng i gán số l Xét hàng: gm @ } an Lu Nếu sinh viên i theo học học phần j (coi ô [i, j] ô trắng ) n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 64 Gán số i cho cột j chưa gán số Tìm vơi: Tìm xem hàng cịn tồn cột vơi hay khơng Nếu tìm cột vơ sửa lại dây chuyền xen kẽ ô xanh ô trắng, với ô xanh a[i,j] gán giá trị Ví dụ: Có sinh viên đăng ký học, sinh viên đánh số từ đến 8, nhà trường dự kiến mở lớp dạy học phần kí hiệu từ đến Thông tin phiếu đăng ký sinh viên biểu diễn lu an bảng sau: n va gh 0 2 2 ie 0 0 2 2 2 0 0 2 2 0 2 tn to p 0 lu 2 2 0 2 0 0 d oa nl w nf va an z at nh oi lm ul Số lượng học phần sinh viên muốn theo học cho bảng sau: 4 4 3 l gm @ z Sinh viên 2: Học học phần: 2, 3, 4, an Lu Sinh viên 1: Học học phần: 1, 6, m co Thực ví dụ theo thuật tốn ta có kết sau: n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 65 Sinh viên 3: Học học phần: 1, Sinh viên 4: Học học phần: 1, 2, 3, Sinh viên 5: Học học phần: 2, 4, 5, Sinh viên 6: Học học phần: 2, 3, Sinh viên 7: Học học phần: 1, 6, Sinh viên 8: Học học phần: 3, 4, 5, Một số giao diện chương trình lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul Giao diện z m co l gm @ an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 66 lu an n va ie gh tn to p Chức thêm học phần cho học kỳ d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 67 lu an n va p ie gh tn to oa nl w d Chức đăng ký học phần nf va an lu z at nh oi lm ul z m co l gm @ an Lu Chức xem kết n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 68 Các hàm thủ tục chương trình: using using using using using System; System.Collections.Generic; System.Linq; System.Text; System.Threading.Tasks; lu namespace DangKyTinChi.Common { public class Hungari { public int[] P = null/*So Hoc Phaan sv muon hoc*/, Day = null/*Day day hay voi*/ , Gc = null/*Gan cot*/, Gh = null/*Gan hang*/; public int[][] A = null; public int M = 0/*So SV*/, N = 0/*So Hoc Phan*/, J0 = 0; an n va p ie gh tn to public void Prepare() { this.P = new int[this.M]; this.Gc = new int[this.N]; this.Gh = new int[this.M]; this.Day = new int[this.N]; this.A = new int[M][]; for (int i = 0; i < this.M; i++) this.A[i] = new int[this.N]; d oa nl w nf va } an lu for (int i = 0; i < this.M; i++) for (int j = 0; j < this.N; j++) this.A[i][j] = 2; z at nh oi lm ul private void Hang(int i) { int dem = 0; z for (int j = 0; j < this.N; j++) { if (this.A[i][j] == && dem < this.P[i]) { this.A[i][j] = 1; dem++; } } m co l gm @ an Lu Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn n va } /// ac th si 69 /// Tao Phuong An Ban Dau /// public void Pal() { for (int i = 0; i < this.M; i++) { this.Hang(i); } } lu private int TongCot(int j) { int p = 0; for (int i = 0; i < this.M; i++) { if (this.A[i][j] == 1) p++; } an va n return p; p ie gh tn to } private void TaoDayVoi() { for (int j = 0; j < this.N; j++) this.Day[j] = 0; oa nl w int t = this.TongCot(0); d for (int j = 1; j < this.N; j++) { int tongCotJ = this.TongCot(j); if (t < tongCotJ) t = tongCotJ; } nf va an lu lm ul z at nh oi for (int j = 0; j < this.N; j++) { int tongCotJ = this.TongCot(j); if (t == tongCotJ) this.Day[j] = 1; //Cot Day //if (t >= tongCotJ + 2) this.Day[j] = -1; //Cot z @ Voi 1< t -2 } m an Lu private void Gan1() { for (int j = 0; j < this.N; j++) co l } gm if (tongCotJ < t - 2) this.Day[j] = -1; n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 70 { if (this.Day[j] == 1) { this.Gc[j] = 0; for (int i = 0; i < this.M; i++) { if (this.A[i][j] == 1) if (this.Gh[i] == -1) this.Gh[i] = j; } } } } lu an n va p ie gh tn to d oa nl w private void Gan2() { for (int i = 0; i < this.M; i++) { if (this.Gh[i] > 0) { for (int j = 0; j < this.N; j++) { if (this.A[i][j] == 0) if (this.Gc[j] == -1) this.Gc[j] = i; } } } } nf va an lu private void GanSo() { int dem = 0; for (int i = 0; i < this.M; i++) { this.Gh[i] = -1; for (int j = 0; j < this.N; j++) { this.Gc[j] = -1; dem = 0; z at nh oi lm ul z gm @ { an Lu } } m co l Gan1(); Gan2(); dem++; } while (dem == (this.N + this.M)); n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 71 } lu private bool TimVoi() { for (int j = 0; j < this.N; j++) { if (this.Day[j] == -1 && this.Gc[j] > 0) { // j 0:=j; this.J0 = j; return true; break; } } return false; } an n va p ie gh tn to private void Sua(int i, int j) { while (i > && j > 0) { i = this.Gc[j]; this.A[i][j] = - this.A[i][j]; j = this.Gh[i]; nl w if (j > 0) this.A[i][j] = - this.A[i][j]; d oa } } lu nf va an public void ThucHien() { { TaoDayVoi(); GanSo(); if (TimVoi()) Sua(this.Gc[this.J0], this.J0); z at nh oi lm ul } while (TimVoi()); m co l gm @ } } z } an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 72 KẾT LUẬN Kết luận Sau thời gian nghiên cứu về Lý thuyết đồ thị, tìm hiể u những ứng du ̣ng và tính thiết thực lĩnh vực này, luận văn đã đa ̣t đươc̣ những kế t quả sau: Phần lý thuyết: -Tìm hiểu khái niệm đồ thị, đồ thị hai phía -Tìm hiểu thuật tốn giải tốn ghép cực đại đồ thị hai phía đồ thị tổng quát Phần thực nghiệm: lu - Tìm hiể u đươc̣ mô ̣t số ứng du ̣ng của Lý thuyế t đồ thi ̣ và bước đầ u biế t cách ứng an n va du ̣ng lý thuyế t để triể n khai áp du ̣ng giải hai bài toán thực tế: Bài toán xế p -Cài đặt thử nghiê ̣m chương trình mô phỏng thuâ ̣t toán Hungari giải toán xếp gh tn to lớp ho ̣c theo tín chỉ bài toán điề u hành taxi ie lớp học theo học chế tín Đây tốn có tính thực tế cao p -Các thuật tốn sử dụng tìm ghép cực đại với trọng số cực tiểu đồ thị nl w hai phía thuật tốn theo thuật toán Hung-ga-ri d oa -Thời gian chạy toán nhanh an lu -Giao diện thân thiện và có thể nâng cấ p để áp du ̣ng vào công viê ̣c đào ta ̣o của nf va Trường TCKT Viñ h Phúc Bên cạnh đó, luận văn cịn mơ ̣t số nhươc̣ điể m như: Chương trình mới mô phỏng lm ul thuật tốn, chưa mơ tả và giải quyế t hế t các yêu cầ u phát sinh thực Hướng phát triển đề tài: z at nh oi tế Tiếp tục tìm hiểu mơ hình đào tạo theo học chế tín để xây dựng phần z gm @ mềm hoàn chỉnh, với đầy đủ chức phục vụ cho công việc đào tạo theo học chế tín - mơ hình đào tạo cịn cịn nhiều khó khăn l an Lu toán thực tế m co Tìm hiể u thêm những ứng du ̣ng Lý thuyế t đồ thi ̣ để giải quyế t các bài n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si 73 TÀ I LIỆU THAM KHẢO Tiếng Việt [1] Lê Minh Hồng, Giải thuật lập trình, Đại học sư phạm Hà Nội 1999-2002 [2] Nguyễn Cam, Chu Đức Khánh, Lý thuyết đồ thị, NXB Thành phố Hồ Chí Minh, 1999 [3] Đinh Mạnh Tường, Cấu trúc liệu thuật toán, NXB KH&KT, 2001 [4] Nguyễn Đức Nghĩa – Nguyễn Tơ Thành, Tốn rời rạc, NXB Đại học Quốc Gia Hà Nội, 2003 [5] Kenneth H.Rosen – Toán rời rạc ứng dụng Tin học (Bản dịch), NXB Khoa lu an học Kỹ thuật, 2003 va n Tiếng Anh gh tn to [6] [7] S Dasgupta, C H Papadimitriou, and U V Vazirani, Algorithms, 2006 Edmonds, Jack (1965) "Paths, trees, and flowers" Canad J Math 17: 449– ie p 467 doi:10.4153/CJM-1965-045-4 Hopcroft,JohnE.;RajeevMotwani,JeffreyD.Ullman, Introduction to Automata nl w [8] lu Narsingh Deo "Graph Theory with Applications to Engineering and Computer nf va an [9] d 1979 oa Theory, Languages and Computation,1stedition,Addison-Wesley, Science", New Delhi-110001, 2006 lm ul [10] Aho A., The design and analysis of computer algorithms Addison Wesley Pub z at nh oi Comp, London 1976 z m co l gm @ an Lu n va http://www.lrc.tnu.edu.vn ac th Số hóa Trung tâm Học liệu – ĐHTN si

Ngày đăng: 21/07/2023, 09:25

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

Tài liệu liên quan