1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu thuật toán quy hoạch động cho tính khoảng cách

81 49 0

Đ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

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - TÌM HIỂU PHƯƠNG PHÁP QUY HOẠCH ĐỘNG CHO TÍNH KHOẢNG CÁCH ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ Thơng tin HẢI PHỊNG - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - TÌM HIỂU PHƯƠNG PHÁP QUY HOẠCH ĐỘNG CHO TÍNH KHOẢNG CÁCH ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Sinh viên thực hiện: Vũ Hữu Trường Giáo viên hướng dẫn: PGS.TS Ngô Quốc Tạo Mã số sinh viên: 1351010055 HẢI PHÒNG - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG CỘNG HÒA XA HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -o0o - NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinh viên: Vũ Hữu Trường Mã SV: 1351010055 Lớp: CT1301 Ngành: Công nghệ Thông tin Tên đề tài: Tìm hiểu thuật tốn quy hoạch động cho tính khoảng cách NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung ● Tổng quan thuật toán quy hoạch động ● Một số kinh nghiệm xây dựng thuật toán quy hoạch động ● Thử nghiệm ngôn ngữ b Các yêu cầu cần giải ● Hiểu nội dung quy hoạch động ● Viết xong đồ án ● Cài đặt thử nghiệm chương trình đặc trưng CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Người hướng dẫn thứ nhất: Họ tên: Ngô Quốc Tạo Học hàm, học vị: Phó Giáo Sư - Tiến Sĩ Cơ quan cơng tác: Trưởng phịng Nhận dạng Cơng nghệ tri thức , Viện Công nghệ thong tin , Viện Hàn Lâm Khoa học Công nghệ Việt Nam Nội dung hướng dẫn: ………………………………………………………………………………… ………………………………………………………………………………… Người hướng dẫn thứ hai: Họ tên: ………………………………………………………………… Học hàm, học vị: …………………………………………………………… Cơ quan công tác: …………………………………………………………… Nội dung hướng dẫn: ………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Đề tài tốt nghiệp giao ngày tháng năm 2019 Yêu cầu phải hoàn thành trước ngày tháng năm 2019 Đã nhận nhiệm vụ: Đ.T.T.N Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Cán hướng dẫn Đ.T.T.N PGS.TS Ngơ Quốc Tạo Hải Phịng, ngày tháng .năm 2019 HIỆU TRƯỞNG GS.TS.NGƯT Trần Hữu Nghị PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƯỚNG DẪN Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp: Đánh giá chất lượng đề tài tốt nghiệp (so với nội dung yêu cầu đề nhiệm vụ đề tài tốt nghiệp) Cho điểm cán hướng dẫn: ( Điểm ghi số chữ ) Ngày .tháng .năm 2019 Cán hướng dẫn ( Ký, ghi rõ họ tên ) PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP Đánh giá chất lượng đề tài tốt nghiệp (về mặt sở lý luận, thuyết minh chương trình, giá trị thực tế, ) Cho điểm cán phản biện ( Điểm ghi số chữ ) Ngày .tháng .năm 2019 Cán chấm phản biện ( Ký, ghi rõ họ tên ) Đồ án tốt nghiệp Trường đại học dân lập Hải Phịng LỜI CẢM ƠN Tơi xin bày tỏ lịng biết ơn chân thành đến Ban Giám Hiệu, thầy giáo, giáo trường đại học Dân Lập Hải Phịng, giảng dạy tạo điều kiện cho học tập, nghiên cứu hoàn thành Đồ án Đặc biệt, tơi xin bày tỏ kính trọng lịng biết ơn sâu sắc đến PGS.TS Ngơ Quốc Tạo - người tận tình hướng dẫn giúp đỡ tơi suốt q trình học tập, nghiên cứu hồn thành Đồ án Cảm ơn gia đình, bạn bè hết lịng giúp đỡ, khích lệ, động viên tơi để tơi hồn thành Đồ án Xin chia sẻ niềm vui với bạn bè người thân yêu Vũ Hữu Trường - CT1301 Page Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng MỤC LỤC LỜI CẢM ƠN DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH .5 MỞ ĐẦU Chương 1: TỔNG QUAN VỀ PHƯƠNG PHÁP QUY HOẠCH ĐỘNG 1.1 Giới thiệu chung 1.2 Thuật toán chia để trị 11 1.3 Nguyên lý tối ưu Bellman 12 1.4 Đặc điểm chung phương pháp quy hoạch động 12 1.5 Ý tưởng nội dung thuật toán quy hoạch động 14 1.5.1 Các khái niệm 14 1.5.2 Ý tưởng 14 1.5.3 Nội dung 14 1.6 Các bước thực 14 Chương MỘT SỐ KỸ THUẬT GIẢI BÀI TOÁN QUY HOẠCH ĐỘNG 17 2.1 Lập hệ thức 17 2.1.1 Tạo công thức truy hồi từ công thức có .17 2.1.2 Dựa theo thứ tự xây dựng 19 2.1.2.1 Xây dựng dựa theo thứ tự đầu 19 2.1.2.2 Xây dựng theo thứ tự cuối 21 2.1.3 Phụ thuộc vào số biến hàm 24 2.1.3.1 Cơng thức truy hồi có biến 24 2.1.3.2 Công thức truy hồi có hai biến 27 2.1.3.3 Cơng thức truy hồi có ba biến 28 2.2 Tổ chức liệu 30 Chương THUẬT TOÁN QUY HOẠCH ĐỘNG VÀ LÝ THUYẾT TRÒ CHƠI 35 3.1 Bài tốn trị chơi 35 3.2 Lý thuyết trò chơi 36 3.2.1 Trò chơi đồ thị 37 3.2.1.1 Trường hợp đồ thị khơng có chu trình 38 3.2.1.2 Trường hợp đồ thị có chu trình 38 3.2.1.3 Giải thuật xây dựng W L độ phức tạp O(E) .39 3.2.2 Tổng trực tiếp Hàm Sprague - Grundy 39 3.2.3 Trò chơi ma trận 43 3.3.1 Tính trực tiếp hàm Sprague - Grundy 44 Vũ Hữu Trường - CT1301 Page Đồ án tốt nghiệp Trường đại học dân lập Hải Phịng kiểm tra tả sở sửa chữa Khi Word, ví dụ, tìm thấy từ khơng đúng, làm cho lời đề nghị người thay Phát đạo văn : Nếu người sao, nói rằng, chương trình C làm vài thay đổi đó, ví dụ, thay đổi tên biến, thêm bình luận hai, khoảng cách chỉnh sửa nguồn nhỏ Chỉnh sửa khoảng cách cung cấp dấu hiệu tương đồng gần số trường hợp Tính tốn Sinh học phân tử DNA polymer Các đơn vị monome DNA nucleotide, polymer biết đến "polynucleotide." Mỗi nucleotide bao gồm đường carbon (deoxyribose), nitơ có chứa sở gắn liền với đường, nhóm phosphate Có bốn loại khác nucleotide DNA, khác sở đạm Bốn nucleotide cho chữ viết tắt thư viết tắt cho bốn sở • A-adenine • G-guanine • C-cytosine • T-thymine Xoắn kép phân tử DNA với nucleotide hình đơi xoắn phân tử DNA nucleotide Các chỉnh sửa khoảng cách thuật tốn sử dụng để tính tốn khoảng cách trình tự DNA (chuỗi A, C, G, T, chuỗi protein (trên bảng chữ 20 amino acid), cho mục đích khác nhau, ví dụ như: • tìm gen protein chia sẻ chức tài sản • để suy mối quan hệ gia đình tiến hóa sinh vật khác Speech Recognition: Các thuật tốn tương tự vấn đề tính-khoảng cách sử dụng số hệ thống nhận dạng giọng nói Tìm ma trận chặt chẽ lời nói thư viện lời phát biểu phân loại Khoảng cách chỉnh sửa thuật toán Một cách tốt để hiển thị trình chỉnh sửa đặt từ khác: S D I M D M S MA A R TT H S Từ có khoảng cách cho chèn (I) từ thứ hai có khoảng cách cho xóa (D) Cột với hai nhân vật khác tương ứng với thay (S) ma trận (M) khơng tính Các bảng Chỉnh sửa định nghĩa chuỗi bảng chữ M, S, I, D mô tả chuyển đổi chuỗi thành khác Ví dụ Vũ Hữu Trường - CT1301 Page 58 Đồ án tốt nghiệp S D 1+ 1+ Trường đại học dân lập Hải Phòng I M D M 1+ 0+ 1+ 0+ =4 Nói chung, khơng phải dễ dàng để xác định chỉnh sửa tối ưu khoảng cách Ví dụ, khoảng cách giữg ALGORITHM ALTRUISTIC nhiều ALGORITHM ALTRUISTIC Là tối ưu này? 4.5: Tính Khoảng cách: Quy hoạch động, Lập trình thuật tốn Giả sử có m-chuỗi kí tự A chuỗi n ký tự B Xác định điện tử (i, j) khoảng cách sửa ký tự A nhân vật j B Ví dụ, A←L_GORIT H M A L TRUI STIC Chỉnh sửa khoảng cách toàn chuỗi A B E (m, n) Đại diện cho khoảng cách trình tự sửa có "quan trọng Hạ tầng sở tối ưu " Nếu loại bỏ cột cuối cùng, cột lại phải đại diện cho sửa chuỗi ngắn cho chuỗi lại.Chỉnh sửa khoảng cách cho hai từ sau A L G O R I T H M A L T R U I S T I C Nếu loại bỏ cột cuối cùng, khoảng cách chỉnh sửa làm giảm đến A L G O R I T H A L T R U I S T I Chúng ta sử dụng tài sản hạ tầng sở tối ưu để đưa công thức đệ quy vấn đề chỉnh sửa khoảng cách Có vài trường hợp sở rõ ràng: • Cách để chuyển đổi chuỗi rỗng vào chuỗi ký tự j cách làm chèn j Do E (0, j) = j • Cách để chuyển đổi chuỗi ký tự vào chuỗi sản phẩm với tơi xóa bỏ: E (i, 0) = i Có bốn khả cột cuối sửa chuỗi ngắn có thể: Xóa: mục cuối hàng có sản phẩm i=3 Vũ Hữu Trường - CT1301 Đồ án tốt nghiệp Page 59 Trường đại học dân lập Hải Phòng A _L G O R I T H M A L←j=2 _T R U I S T I C Trong trường hợp E (i, j) = E (i - 1, j) + Chèn: Các mục cuối hàng có sản phẩm i=5 A←L G_O R ITHM A L T R U I S T I C j = Trong trường hợp E (i, j) = E (i, j - 1) + Thay : Cả hai hàng có ký tự cột cuối i=4 A←L_GORITHM A L T R U I S T I C j = Nếu kí tự khác nhau, sau E (i, j) = E (i - 1, j - 1) + A←L_GORITHM i=5 A L T RU I S T I C j=4 Nếu kí tự nhau, khơng thay cần thiết: E (i, j) = E (i - 1, j - 1) Do đó, khoảng cách sửa E (i, j) nhỏ bốn khả năng: E (i, j) = E (i - 1, j) + E (i, j - 1) + E (i - 1, j - 1) + A [i] = B [j] E (i - 1, j - 1) A [i] = B [ j] Xem xét ví dụ sửa từ "ARTS" "MATHS": A R T S M A T H S Chỉnh sửa khoảng cách E (4, 5) Nếu đệ quy để tính tốn, chúng tơi có E(3,5)+1 E (4, 5) = E (4, 4) + E (3, 4) + A [4] = B [5] Vũ Hữu Trường - CT1301 Page 60 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng E (3, 4) A [4] = B [5] Đệ quy rõ ràng dẫn đến mơ hình gọi lặp lặp lại tương tự thấy chuỗi Fibonnaci Để tránh điều này, sử dụng phương pháp DP Chúng xây dựng giải pháp từ lên Chúng sử dụng trường hợp sở E (0, j) để điền vào dòng trường hợp sở điện tử (i, 0) để điền vào cột Chúng điền vào E hàng ma trận lại hàng A R S T M A T H S A R T S M ↓ A ↓ T ↓ H ↓ S ↓ Vũ Hữu Trường - CT1301 → Page 61 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng Hàng mục cột sử dụng trường hợp sở Bây chúng tơi điền vào hàng thứ hai Bảng không cho thấy giá trị tế bào E [i, j] mà mũi tên cách tính tốn sử dụng giá trị E [i - 1, j], E [i, j - 1] E [i 1, j - 1] Vì vậy, tế bào E [i, j] có mũi tên xuống từ E [i - 1, j] tối thiểu tìm thấy sử dụng E [i - 1, j] Đối với mũi tên bên phải, tối thiểu tìm thấy sử dụng E [i, j - 1] Đối với đường chéo mũi tên xuống bên phải, tối thiểu tìm thấy sử dụng E [i - 1, j - 1] Có tế bào định có hai mũi tên vào Trong trường hợp này, tối thiểu lấy từ E chéo [i - 1, j - 1] E [i - 1, j] E [i, j - 1].Chúng sử dụng mũi tên sau để xác định kịch chỉnh sửa A M ↓ A ↓ T ↓ H ↓ S ↓ T R S A R T S M ↓ A ↓ → → Vũ Hữu Trường - CT1301 Page 62 Đồ án tốt nghiệp T ↓ H ↓ S ↓ Trường đại học dân lập Hải Phịng Máy tính điện tử [1, 1] E [1, 2] A M ↓ A ↓ T ↓ H ↓ S ↓ R A M ↓ A ↓ T R S T S → → Vũ Hữu Trường - CT1301 Page 63 Đồ án tốt nghiệp T ↓ H ↓ S ↓ Trường đại học dân lập Hải Phịng Máy tính điện tử [1, 3] E [1, 4] Một kịch chỉnh sửa chiết xuất cách làm theo đường từ E [0, 0] E [4, 5] Có ba đường ví dụ Chúng ta làm theo đường dẫn tính tốn kịch chỉnh sửa Trong việc thực thực tế phiên lập trình động thuật toán chỉnh sửa khoảng cách, mũi tên ghi lại cách sử dụng cấu trúc liệu thích hợp Ví dụ, tế bào ma trận kỷ lục với lĩnh vực cho giá trị (số) cờ cho ba mũi tên đến A R T S → → → → → → → → → M ↓ A ↓ ↓ T ↓ 2 → ↓ H ↓ ↓ ↓ 3 ↓ S ↓ ↓ ↓ 3 Bảng cuối với tất E [i, j] mục tính Vũ Hữu Trường - CT1301 Page 64 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng Giải pháp đường 1: 1+0+1+1+0=3 A R T S → → → → → → → → → M ↓ A ↓ ↓ T ↓ 2 → ↓ H ↓ ↓ ↓ 3 ↓ S ↓ ↓ ↓ 3 Chỉnh sửa kịch Các mũi tên màu đỏ từ E [0, 0] E [4, 5] cho thấy đường dẫn theo sau để trích xuất chỉnh sửa kịch Đường giải pháp: 1+1+0+1+0=3 Giải pháp đường: 1+0+1+0+1+0=3 4.6 :Phân tích DP Tính Khoảng cách Có Θ (n2) mục ma trận Mỗi mục E (i, j) có Θ (1) thời gian để tính toán Tổng thời gian chạy Θ (n2) Vũ Hữu Trường - CT1301 Page 65 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng 4.7 Xây dựng chương trình tính khoảng cách thuật tốn quy hoạch động Giao diện chương trình : Khởi chạy chường trình nhập chuỗi thứ : Vũ Hữu Trường - CT1301 Page 66 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng Nhập chuỗi thứ : Vũ Hữu Trường - CT1301 Page 67 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng Kết đưa khoảng cách chuỗi cần tìm : Vũ Hữu Trường - CT1301 Page 68 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng KẾT LUẬN Đồ án thu số kết sau: Đồ án hệ thống hóa vấn đề xung quanh phương pháp quy hoạch động Đây phương pháp hay sử dụng để giải toán thực tế kỳ thi học sinh giỏi Đồ án đưa số kỹ thuật dùng để giải toán quy hoạch động Những kỹ thuật rút từ kinh nghiệm giải toán dựa theo phương pháp quy hoạch động Nhìn chung để biết tốn giải phương pháp quy hoạch động khó Những kỹ thuật giải toán quy hoạch động đưa đồ án định hướng giúp ta lập hệ thức quy hoạch động cách nhanh chóng tổ chức chương trình cho đỡ tốn nhớ Do thời gian thực hạn chế kiến thức hạn chế nên em nghiên cứu số lý thuyết thuật tốn quy hoạch động cho tính khoảng cách Cịn nhiều lý thuyết kỹ thuật em chưa tìm hiểu, khai thác ứng dụng vào toán thực tế Mặc dù cố gắng, song lực trình độ có hạn nên q trình thực tập em khơng tránh khỏi thiếu sót Kính mong thầy bạn quan tâm giúp đỡ bảo để chương trình em hoàn thiện Như vấn đề mà đồ án nêu phù hợp với yêu cầu thực tiễn, đáp ứng nhu cầu đào tạo bồi dưỡng học sinh giỏi môn tin giai đoạn nay, nhiệm vụ đặt hồn thành Đồ án đạt mục đích đề Tuy nhiên vấn đề xung quanh thuật toán quy hoạch động để giải nhiều tốn quy hoạch động tốn tính khoảng cách thực tiễn cần phải có q trình nghiên cứu sâu Vũ Hữu Trường - CT1301 Page 69 Đồ án tốt nghiệp Trường đại học dân lập Hải Phòng TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hồ Sĩ Đàm (chủ biên), Đỗ Đức Đông, Lê Minh Hoàng, Nguyễn Thanh Hùng (2009), Tài liệu giáo khoa chuyên tin, NXB Giáo dục, tr 99-109 [2] Hồ Sĩ Đàm (chủ biên), Nguyễn Thanh Tùng, Lê Minh Hoàng, Nguyễn Thanh Hùng, Đỗ Đức Đông (2011), Tài liệu tập huấn phát triển chuyên môn giáo viên Trường THPT Chuyên (tài liệu lưu hành nội bộ), Bộ giáo dục đào tạo, tr 28-42 [3] Nguyễn Hữu Điển (2005), Một số vấn đề thuật toán, NXB Giáo dục, tr 133-173 [4] Vũ Mạnh Hà (2011), “Giới thiệu phương pháp quy hoạch động”, Tài liệu hội thảo phát triển chuyên môn giáo viên tin học Trường THPT chuyên (tài liệu lưu hành nội bộ), Bộ giáo dục đào tạo, tr 92-107 [5] Đỗ Thị Linh, Tổ chức liệu thuật toán cho toán quy hoạch động, Đồ án thạc sĩ khoa học máy tính, Thái Nguyên - 2012 [6] Một số thông tin Website http://csharpviet.freevnn.com/thuat-toan/22/58-timhieu-thuat-toan-quy-hoach-dong.html Tiếng Anh [7] Thomas H Cormen, Charles E Leiserson, Ronald L Rivest (2009), Introduction to Algorithms, pp 359-397 [8] David Harel with Yishai Feldman (2004), Algorithmics the spirit of computing, pp 89-98 [9] Donald E Knuth, The Art Of Computer Programming, Volumes 1-3, Addison Pub Co [10] Một số thông tin website : http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Dynamic/Edit/ http://alikhuram.wordpress.com/2013/04/27/dynamic-programming-edit-distance/ Vũ Hữu Trường - CT1301 Page 70 ... Tên đề tài: Tìm hiểu thuật tốn quy hoạch động cho tính khoảng cách NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung ● Tổng quan thuật toán quy hoạch động ● Một số... sáu giải quy hoạch động Quy hoạch động giải toán cách kết hợp lời giải toán toán xét Phương pháp khả dụng tốn khơng độc lập nhau, tức toán có dùng chung tốn “cháu” Quy hoạch động giải toán “cháu”... chứa lời giải tối ưu cho toán Dùng giải thuật tham lam cho toán túi dạng phân số qui hoạch động cho toán túi dạng 0-1 Giải thuật tham lam cho toán xếp lịch hoạt động: Hoạt động chọn thủ tục GREEDY-ACTIVITY-SELECTER

Ngày đăng: 31/08/2020, 14:44

TỪ KHÓA LIÊN QUAN

w