Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
0,93 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN -o0o - BÁO CÁO BÀI TẬP NHĨM TÊN ĐỀ TÀI: BÀI TỐN NGƯỜI KHÁCH DU LỊCH GIÁO VIÊN HƯỚNG DẪN: ĐỖ QUANG HƯNG LỚP: 69DCTT21 NHÓM SINH VIÊN THỰC HIỆN: BÙI VĂN CHIẾN TRẦN NGỌC CHUNG NINH NGỌC HẢI CÀ MẠNH TIẾN HÀ NỘI 01-2020 NHẬN XÉT CỦA GIÁO VIÊN BẢNG PHÂN CHIA CƠNG VIỆC Nhóm STT Họ tên Bùi Văn Chiến(C) Công việc Thiết kế giải thuật , code toán Trần Ngọc Chung Làm word báo cáo Ninh Ngọc Hải Tìm hiểu nội dung, thực ví dụ chạy tay Cà Mạnh Tiến Tìm hiểu nội dung, thực ví dụ chạy tay LỜI MỞ ĐẦU Trên thực tế có nhiều tốn liên quan tới tập đối tượng mối lên hệ chúng, địi hỏi tốn học phải đặt mơ hình biểu diễn cách chặt chẽ tổng quát ngơn ngữ ký hiệu, đồ thị Những ý tưởng đưa từ kỷ thứ XVIII nhà toán học Thụy Sỹ Leonhard Euler, ơng dùng mơ hình đồ thị để giải toán cầu Konisberg tiếng Ngày thuật toán đồ thị có nhiều ứng dụng nhiều lĩnh vựckhác như: mạng máy tính, lý thuyết mã, tối ưu hóa, kinh tế học, Đầu tiên, thuật toán hiểu quy tắc thực phép toán số học với số viết hệ thập phân Cùng với phát triển máy tính, khái niệm thuật toán hiểu theo nghĩa rộng Một định nghĩa hình thức thuật tốn nhà tốn học người Anh Alan Mathison Turing cha đẻ ngành khoa học máy tính đưa vào năm 1936 thơng qua máy Turing Có thể nói lý thuyết thuật tốn hình thành từ Định nghĩa cách trực quan thi thuật toán liệt kê dẫn, quy tắc cần thực theo bước xác định nhằm giải toán cho khoảng thời gian hữu hạn Một thuật tốn bao gồm tính chất sau: • Tính xác: để đảm bảo kết tính tốn hay thao tác mà máy tính thực xác • Tính rõ ràng: Thuật tốn phải thể câu lệnh minh bạch; câu lệnh xếp theo thứ tự định • Tính khách quan: Một thuật tốn dù viết nhiều người nhiều máy tính phải cho kết • Tỉnh phổ dụng: Thuật tốn khơng áp dụng cho tốn định mà áp dụng cho lớp tốn có đầu vào tương tự • Tính kết thúc: Thuật toán phải gồm số hữu hạn bước tính Trí tuệ nhân tạo dc chia thành loại chính: ⁃ Cơng nghệ AI phản ứng: Là cơng nghệ có khả phân tích động thái khả thi mơi trường xung quanh, sau đưa giải pháp tối ưu ⁃ Cơng nghệ AI với nhớ hạn chế: Là công nghệ có khả sử dụng lại kinh nghiệp khứ để đưa định, công nghệ thường kết hợp với cảm biến để nhận biết mơi trường xung quanh ⁃ Lý thuyết trí tuệ nhân tạo: Là cơng nghệ học hỏi tự suy nghĩ, tự áp dụng học, chưa khả thi ⁃ Tự nhận thức: Có ý thức hành vi người, chí cịn có khả bộc lộ cảm xúc, tương tự với lý thuyết trí tuệ nhân tạo cơng nghệ chưa khả thi LỜI CẢM ƠN Chúng em xin chân thành cảm ơn Khoa Công nghệ thông tin, Trường Đại học Công nghệ Giao thông vận tải tạo điều kiện tốt cho chúng em thực đề tài Chúng em xin chân thành cảm ơn thầy Đỗ Quang Hưng tận tình hướng dẫn, bảo chúng em suốt trình thực Mặc dù hồn thành tập nhóm phạm vi khả cho phép thời gian kiến thức hạn chế nên chắn trình khơng tránh khỏi thiếu sót, kính mong thơng cảm góp ý q thầy CHƯƠNG I: PHÂN TÍCH VÀ GIỚI THIỆU BÀI TỐN Giới thiệu toán người du lịch Bài toán người du lịch vấn đề kết nối tối ưu nghiên cứu khoa học máy tính Cho danh sách thành phố cặp khoảng cách hai thành phố đó, nhiệm vụ phải tìm chu kỳ để thăm thành phố lần quay lại thành phố xuất phát Bài tốn người du lịch biểu diễn thành đồ thị, thành phố biểu diễn dạng đỉnh, đường lại thành phố cạnh có đường hai thành phố cho giá trị 1, ngược lại Khi đó, tốn người du lịch trở thành tốn tìm chu trình Hamilton, lộ trình người du lịch chu trình Hamilton đỉnh Đường Hamilton, Chu trình Hamilton 2.1 Định nghĩa - Cho đồ thị có hướng G = (V, E) - Đường qua tất đỉnh đồ thị đỉnh lần gọi là đường Hamilton - Chu trình bắt đầu đỉnh v nào qua tất đỉnh lại đỉnh lần sau quay trở lại v được gọi là chu trình Hamilton - Đồ thị gọi là đồ thị Hamilton nếu chứa chu trình Hamilton Đồ thị chứa đường Hamilton gọi đồ thị nửa Hamilton Như vậy, đồ thị Hamilton đồ thị nửa Hamilton điều ngược lại không luôn Điều Kiện Cần Chu trình Hamilton Định lí: Giả sử đồ thị G có chu trình Hamilton C, đó: - Đồ thị G liên thông (1) - Mọi đỉnh G có bậc lớn 2, có hai cạnh liên thuộc thuộc chu trình C (2) - Nếu xóa k đỉnh cạnh liền kề thuộc chúng, đồ thị cịn lại có tối đa k thành phần liên thơng (3) Chứng minh: Mệnh đề (1) (2) hiển nhiên Mệnh đề (3) suy từ thực tế xóa k đình cạnh liên thuộc chúng chu trình C bị chia thành nhiều k phần Hệ quả: Giả sử đồ thị đỉnh G có đường Hamilton P, đó: - Đồ thị G liên thơng (1) - Có 1-2 đỉnh bậc > 2, đỉnh có hai cạnh liên thuộc thuộc đường P (2) - Nếu xóa k đỉnh cạnh liên thuộc chúng, đồ thị cịn lại có tối đa k+1 thành phần liên thông (3) Thuật toán nhánh cận giải toán người du lịch 4.1 Bài toán khách du lịch áp dụng vào thực tiễn Một người xuất phát từ thành phố muốn tới thăm nl thành phố khác, thành phố lần, quay thành phố ban đầu Hỏi nên theo trình tự để độ dài tổng cộng đoạn đường qua ngắn (khoảng cách hai thành phố hiểu cự ly thông thường thời gian cần chi phí hành trình, xem cho trước) Xét đồ thị đầy đủ G=(V, E), với V={1, 2, , n}, có trọng số với trọng số mij= m(i,j) khác mi = m(i) Như vậy, ta xem G đồ thị có hướng đầy đủ “mạnh” theo nghĩa với i, j=1, 2, , n, ln có (i, j), (j, i) Bài tốn tiếng có lời giải cách sử dụng phương pháp “nhánh cận” 4.2 Phương pháp nhánh cận Thuật toán nhanh cận phương pháp chủ yếu giải toán tối ưu tổ hợp Tư tưởng trình tìm kiếm ta phân hoạch phương án toán thành hai hay nhiều tập nút tìm kiếm cố gắng đánh giá cận cho nút, loại bỏ nhánh mà ta biết chắn không chứa phương án tối ưu Xét toán người du lịch Gọi C = {Cij : i, j = 1,2, ,n} ma trận chi phí Mỗi hành trình v = v(1)→v(2)→ +v(n-1)-v(n)-v(1) viết dạng: v = (v(1),v(2)), (v(2),v(3)), , (v(n-1),v(n)), (v(n),v(1)) thành phần (V(-1) v(i)) gọi cạnh hành trình Trong tốn người du lịch tiến hành tìm kiếm lời giải ta phân tập hành trình thành hai tập con: Một tập chứa cạnh (i,j) tập khơng chứa cạnh này. Ta gọi việc phân nhánh, mơi tập nói gọi nhánh Việc phân nhánh minh hoạ tìm kiếm: Tập tất hành trình Các hành trình qua (I,j) Các hành trình khơng qua (I,j) Việc phân nhánh dựa qui tắc hợp lý cho phép ta rút ngắn trình tìm kiếm phương án tối ưu Sau phân nhánh ta tính cận hàm mục tiêu mơi tập nói Việc tìm kiếm tìm tập có cận nhỏ Thủ tục tiếp tục thu hành trình đầy đủ, tức phương án tốn người du lịch Sau ta cần xét tập có cận nhỏ giá trị hàm mục tiêu tìm CHƯƠNG II THIẾT KẾ GIẢI THUẬT Phát biểu toán Một người khách du lịch muốn thăm n thành phố đánh số từ -> n quay lại thành phố xuất phát Mạng lưới giao thông n thành phố hai chiều cho ma trận A[i,j] A[i,j]=1 có đường từ thành phố i đến thành phố j, A[i,j]=0 trường hợp ngược lại Hãy thiết lập lộ trình cho người khách hay thông báo không tồn lời giải 10 Dữ liệu đọc từ file có dạng sau: DULIEU.INP Dòng 1: Ghi số nguyên n (n