Tổ chức dữ liệu cho các thuật toán quay lui

11 213 0
Tổ chức dữ liệu cho các thuật toán quay lui

Đ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 HỌC THÁI NGUN TRƢỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG NGUYỄN QUANG TRÌNH TỔ CHỨC DỮ LIỆU CHO LỚP CÁC THUẬT TỐN QUAY LUI LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUN - 2013 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ ĐẠI HỌC THÁI NGUN TRƢỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG NGUYỄN QUANG TRÌNH TỔ CHỨC DỮ LIỆU CHO LỚP CÁC THUẬT TỐN QUAY LUI Chun ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: PGS.TSKH Nguyễn Xn Huy THÁI NGUN - 2013 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ i LỜI CAM ĐOAN Học viên xin cam đoan, kết luận văn hồn tồn kết tự thân học viên tìm hiểu, nghiên cứu thực theo hƣớng dẫn khoa học PGS.TSKH Nguyễn Xn Huy Các tài liệu tham khảo đƣợc trích dẫn thích đầy đủ Thái Ngun, ngày 10 tháng 10 năm 2013 Học viên Nguyễn Quang Trình Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ ii LỜI CẢM ƠN Học viên xin đƣợc bày tỏ lòng biết ơn chân thành sâu sắc đến thầy giáo PGS.TSKH Nguyễn Xn Huy, ngƣời tận tình hƣớng dẫn tạo điều kiện tốt để học viên hồn thành luận văn Xin chân thành cảm ơn thầy giáo, giáo Trƣờng Đại học Cơng nghệ thơng tin Truyền thơng - Đại học Thái Ngun, Viện Cơng nghệ Thơng tin - Viện Khoa học Cơng nghệ Việt Nam trực tiếp giảng dạy, giúp đỡ tạo điều kiện thuận lợi q trình học tập nghiên cứu Cảm ơn thầy giáo, bạn học viên lớp cao học Khoa học máy tính CK10C, gia đình đồng nghiệp ln quan tâm, hỗ trợ, khuyến khích suốt thời gian học tập thực đề tài Xin chân thành cám ơn! Học viên Nguyễn Quang Trình Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ iii MỤC LỤC TRANG BÌA LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC HÌNH v MỞ ĐẦU 1 Lí chọn đề tài Đối tƣợng phạm vi nghiên cứu Hƣớng nghiên cứu đề tài Những nội dung nghiên cứu Phƣơng pháp nghiên cứu Ý nghĩa khoa học đề tài Chƣơng TỔNG QUAN THUẬT TỐN QUAY LUI 1.1 Giới thiệu chung 1.2 Ý tƣởng thuật tốn [1], [2], [3], [5] 1.3 Kết luận Chƣơng XÂY DỰNG THUẬT TỐN QUAY LUI VÀ TỔ CHỨC DỮ LIỆU CHO MỘT SỐ BÀI TỐN KINH ĐIỂN 2.1 Bài tốn từ chuẩn [2] 2.1.1 Giới thiệu tốn 2.1.2 Tổ chức liệu chƣơng trình 2.1.3 Nhận xét 11 2.2 Bài tốn xếp hậu [1], [2] 12 2.2.1 Giới thiệu tốn 12 2.2.2 Tổ chức liệu chƣơng trình 13 2.2.3 Nhận xét 20 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ iv 2.3 Bài tốn đa giác 21 2.3.1 Giới thiệu tốn 21 2.3.2 Tổ chức liệu chƣơng trình 23 2.3.3 Nhận xét 29 2.4 Bài tốn số Sudoku 30 2.4.1 Giới thiệu tốn 30 2.4.2 Tổ chức liệu chƣơng trình 32 2.4.3 Nhận xét 36 2.5 Kết luận 36 Chƣơng CÀI ĐẶT CHƢƠNG TRÌNH 37 3.1 Cài đặt cho tốn từ chuẩn 37 3.1.1 Giới thiệu chƣơng trình 37 3.1.2 Thử nghiệm chƣơng trình 41 3.2 Cài đặt cho tốn xếp hậu 42 3.2.1 Giới thiệu chƣơng trình 42 3.2.2 Thử nghiệm chƣơng trình 43 3.3 Cài đặt cho tốn đa giác 45 3.3.1 Giới thiệu chƣơng trình 45 3.3.2 Thử nghiệm chƣơng trình 47 3.4 Cài đặt cho tốn số Sudoku 48 3.4.1 Giới thiệu chƣơng trình 48 3.4.2 Thử nghiệm chƣơng trình 49 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 54 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ v DANH MỤC CÁC HÌNH Hình 1.1 Cây tìm kiếm lời giải theo thuật tốn quay lui Hình 2.1 Cây tìm kiếm lời giải cho tốn từ chuẩn 11 Hình 2.2 Lời giải với N = 15 Hình 2.3 Lời giải với N = 16 Hình 2.4 Cây lời giải tốn xếp hậu với N = 17 Hình 2.5 Các đƣờng chéo 18 Hình 2.6 Các đƣờng chéo phụ 18 Hình 2.7 Nghiệm v1 = (2, 4, 1, 3) 20 Hình 2.8 Trò chơi Instant Insanity 21 Hình 2.9 Đáp án đạt đƣợc sau xoay khối sang trái góc 90o 21 Hình 2.10 Bài tốn đa giác với m = 4, n = 22 Hình 2.11 Đáp án tốn đa giác với m = 4, n = 23 Hình 2.12 Cách tìm nghiệm id = {1,5,6,3} 29 Hình 2.13 Đề 31 Hình 2.14 Đáp án đề 31 Hình 2.15 Đề 32 Hình 2.16 Đáp án đề 32 Hình 3.1 Giao diện chƣơng trình TUCHUAN 41 Hình 3.2 Tìm nghiệm với n = 41 Hình 3.3 Tìm nghiệm với n = 100 41 Hình 3.4 Tìm nghiệm với n = 1000 42 Hình 3.5 Giao diện chƣơng trình XEPHAU 42 Hình 3.6 20 nghiệm 43 Hình 3.7 Các nghiệm 68 → 92 43 Hình 3.8 20 nghiệm 44 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ vi Hình 3.9 Các nghiệm 699 → 724 44 Hình 3.10 Chƣơng trình XEPHAU cải tiến 45 Hình 3.11 Giao diện chƣơng trình DAGIAC 46 Hình 3.12 Thử nghiệm chƣơng trình với M = 4, N = 47 Hình 3.13 Thử nghiệm chƣơng trình với M = 10, N = 20 47 Hình 3.14 Thử nghiệm chƣơng trình với M = 40, N = 40 48 Hình 3.15 Giao diện chƣơng trình SUDOKU 49 Hình 3.16 Đọc đề từ tệp input de1 50 Hình 3.17 Đáp án de1 phƣơng án 50 Hình 3.18 Đáp án de1 phƣơng án 51 Hình 3.19 Đọc đề từ tệp input de2 52 Hình 3.20 Đáp án de2 phƣơng án 52 Hình 3.21 Đáp án de2 phƣơng án 52 Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ MỞ ĐẦU Lí chọn đề tài Để giải tốn thơng thƣờng có nhiều cách tiếp cận Mỗi cách tiếp cận khác cho kết với độ tối ƣu khác Với nhiều tốn việc tìm giải thuật tối ƣu khơng phải việc đơn giản, kĩ cần thiết để giải đƣợc tốn hồn chỉnh phải giải đƣợc tốn kích thƣớc liệu vừa phải Đây liệu thử mang tính định hƣớng chiến lƣợc cho việc giải tốn Với phƣơng pháp giải cách duyệt tồn giải đƣợc phần lớn tốn Một thuật tốn giúp duyệt tồn hiệu quả, nhanh chóng thuật tốn quay lui Việc áp dụng cài đặt thuật tốn quay lui cho tốn thƣờng trừu tƣợng khó hiểu Và khó việc kết hợp thuật tốn quay lui với nhánh cận để giúp q trình duyệt đƣợc hiệu Do học viên thấy việc phân tích, đánh giá định hƣớng cách tiếp cận tốn thuật tốn quay lui cần thiết Trong khn khổ luận văn thạc sỹ, học viên chọn đề tài nghiên cứu: “Tổ chức liệu cho lớp thuật tốn quay lui” Đối tƣợng phạm vi nghiên cứu Tìm hiểu số đặc trƣng lớp tốn đòi hỏi duyệt khả Ứng dụng để giải số tốn liệt kê tìm phƣơng án tối ƣu Hƣớng nghiên cứu đề tài Tìm hiểu kỹ thuật quy trình duyệt liệu Cài đặt chƣơng trình cho số tốn Những nội dung nghiên cứu Chƣơng Tổng quan thuật tốn quay lui Chƣơng giới thiệu số vấn đề liên quan đến đặc điểm, ý tƣởng nội dung thuật tốn quay lui Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ Chƣơng Xây dựng thuật tốn quay lui tổ chức liệu cho số lớp tốn kinh điển  Bài tốn từ chuẩn  Bài tốn xếp hậu  Bài tốn đa giác  Bài tốn số Sudoku Chƣơng Cài đặt chƣơng trình cho tốn Chƣơng thử nghiệm Phƣơng pháp nghiên cứu Phân tích, liệt kê, đối sánh, nghiên cứu tài liệu, tổng hợp kết nhà nghiên cứu liên quan đến lĩnh vực nghiên cứu Ý nghĩa khoa học đề tài Vận dụng tốt thuật tốn quay lui, giúp dễ dàng giải đƣợc tốn liệt kê, tối ƣu Xây dựng sở khoa học cho tốn tìm kiếm Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ Chƣơng TỔNG QUAN THUẬT TỐN QUAY LUI Chƣơng giới thiệu số vấn đề liên quan đến đặc điểm, ý tƣởng nội dung thuật tốn quay lui 1.1 Giới thiệu chung Thuật tốn duyệt tồn cách sử dụng vòng lặp lồng áp dụng cho tốn có kích thƣớc tập nghiệm cố định Với tốn mà kích thƣớc nghiệm phụ thuộc vào liệu đầu vào số điều kiện khác việc sử dụng vòng lặp lồng bất khả thi Lúc này, có thuật tốn quay lui thực duyệt qua đƣợc tất nghiệm tốn Thuật tốn quay lui chiến lƣợc tìm nghiệm tốn cách xét tất phƣơng án Đây thuật tốn áp dụng để giải nhiều tốn với kích thƣớc liệu thích hợp Ƣu điểm thuật tốn đảm bảo tìm nghiệm xác Tuy nhiên, hạn chế độ phức tạp thƣờng lớn Những tốn tìm nghiệm, liệt kê tốn tối ƣu lớp tốn giải thuật tốn quay lui 1.2 Ý tƣởng thuật tốn [1], [2], [3], [5] Giả sử ta phải tìm tập liệu D cho trƣớc dãy liệu: v = (v[1], v[2], , v[n]) thoả đồng thời hai tính chất P Q Trƣớc hết ta chọn hai tính chất cho để làm nền, tính chất thứ hai tạm gác bỏ, giả sử ta chọn tính chất P Sau ta thực bƣớc sau đây: Bƣớc (Khởi trị) Xuất phát từ dãy ban đầu v = (v[1], , v[i]) phần tử D cho v thoả P Số hóa Trung tâm Học liệu http://lrc.tnu.edu.vn/ [...]...3 Chƣơng 1 TỔNG QUAN THUẬT TỐN QUAY LUI Chƣơng này giới thiệu một số vấn đề liên quan đến đặc điểm, ý tƣởng và nội dung của thuật tốn quay lui 1.1 Giới thiệu chung Thuật tốn duyệt tồn bộ bằng cách sử dụng các vòng lặp lồng nhau có thể áp dụng cho các bài tốn có kích thƣớc của các tập nghiệm cố định Với những bài tốn mà kích thƣớc của nghiệm phụ thuộc vào dữ liệu đầu vào hoặc một số điều... kiện nào khác thì việc sử dụng các vòng lặp lồng nhau là bất khả thi Lúc này, chỉ có thuật tốn quay lui là có thể thực hiện duyệt qua đƣợc tất cả các bộ nghiệm của bài tốn Thuật tốn quay lui là chiến lƣợc tìm nghiệm bài tốn bằng cách xét tất cả các phƣơng án có thể Đây là một thuật tốn có thể áp dụng để giải rất nhiều bài tốn với kích thƣớc dữ liệu thích hợp Ƣu điểm của thuật tốn là đảm bảo tìm ra nghiệm... những lớp bài tốn có thể giải bằng thuật tốn quay lui 1.2 Ý tƣởng của thuật tốn [1], [2], [3], [5] Giả sử ta phải tìm trong một tập dữ liệu D cho trƣớc một dãy dữ liệu: v = (v[1], v[2], , v[n]) thoả đồng thời hai tính chất P và Q Trƣớc hết ta chọn một trong hai tính chất đã cho để làm nền, tính chất thứ hai tạm gác bỏ, giả sử ta chọn tính chất P Sau đó ta thực hiện các bƣớc sau đây: Bƣớc 1 (Khởi trị)... tính chất thứ hai tạm gác bỏ, giả sử ta chọn tính chất P Sau đó ta thực hiện các bƣớc sau đây: Bƣớc 1 (Khởi trị) Xuất phát từ một dãy ban đầu v = (v[1], , v[i]) nào đó của các phần tử trong D sao cho v thoả P Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn/

Ngày đăng: 30/09/2016, 16:41

Từ khóa liên quan

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

Tài liệu liên quan