Giúp học sinh tiếp cận với phương pháp quy hoạch động bằng một số bài toán đơn giản trong tin học

32 38 0
Giúp học sinh tiếp cận với phương pháp quy hoạch động bằng một số bài toán đơn giản trong tin học

Đ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

MỤC LỤC CÁC KÝ HIỆU VIẾT TẮT TRONG SÁNG KIẾN KINH NGHIỆM Ký hiệu Ý nghĩa SKKN Sáng kiến kinh nghiệm THPT Trung học phổ thông ĐQ Đệ quy DQ Đệ quy QHĐ Quy hoạch động QHD Quy hoạch động PP Phương pháp NXB Nhà xuất BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN I Lời giới thiệu Hiện nay, công nghệ thông tin xuất nơi, phát triển nhanh chóng giúp sống người trở nên tốt đẹp Công nghệ thông tin giúp nhà khoa học tạo nghiên cứu vượt bậc nhờ việc tính tốn xử lý khối lượng cơng việc khổng lồ máy tính Chúng thực hàng tỷ phép tính vài giây Rất nhiều phần mềm đời nhằm giúp người giải công việc dễ dàng Các phần mềm viết nhờ Lập trình viên dựa ngơn ngữ lập trình Pascal ngơn ngữ lập trình giúp người học lập trình dễ tiếp cận Tại trường Trung học phổ thông nay, nhiệm vụ quan trọng đào tạo cách toàn diện đồng thời trọng bồi dưỡng lực học sinh Chính tiêu chí đánh giá chất lượng giáo dục trường THPT kết việc thực hoạt động bồi dưỡng học sinh giỏi Đối với giáo viên THPT, bồi dưỡng học sinh giỏi nhiệm vụ quan trọng khó khăn Nó địi hỏi giáo viên phải tìm hiểu, học tập nhiều kiến thức chuyên ngành phương pháp giảng dạy thích hợp Đối với giáo viên mơn Tin học, bồi dưỡng học sinh giỏi địi hỏi giáo viên phải hiểu biết lập trình cần có phương pháp giảng dạy thuật tốn tốt giúp học sinh dễ dàng tiếp thu vận dụng Học sinh muốn đạt kết cao kỳ thi học sinh giỏi tỉnh cao cần phải có lượng kiến thức lớn sâu việc lập trình Những kiến thức chương trình phổ thơng bình thường khơng đủ đáp ứng Nhiệm vụ giáo viên cung cấp thêm cho em kiến thức, phương pháp lập trình để học sinh đạt kết tốt kỳ thi Có nhiều phương pháp dùng để thiết kế thuật toán như: Đệ quy (Recursion), quy hoạch động (Dynamic programming), chia để trị (Divide and conquer), vét cạn (Exhaustivesearch), tham lam (Greedy algorithms) Trong đó, thuật tốn áp dụng cho lớp tốn phù hợp Trong ngành khoa học máy tính, đệ quy chìa khóa để thiết kế nhiều giải thuật quan trọng sở quy hoạch động (Dynamic Programming) Quy hoạch động phương pháp giảm thời gian chạy thuật toán thể tính chất tốn gối (Overlapping subproblem) cấu trúc tối ưu (Optimal substructure) Phương pháp quy hoạch động phương pháp hiệu việc giải toán tối ưu hoá rời rạc Có số tốn sử dụng phương pháp quy hoạch động lại cho hiệu cao so với phương pháp khác Trong kỳ thi học sinh giỏi tỉnh cao nay, từ 30% đến 40% thi cần đến quy hoạch động tốn khó, địi hỏi học sinh phải có tư lập trình cao Có thể có cách khác để giải tốn Nhưng thi có xét đến thời gian thực (chạy) chương trình, dung lượng nhớ để lưu trữ thực chương trình Nên thuật tốn hiệu cần thiết Có nghĩa tốn, cách mà thời gian thực nhanh, chiếm nhớ đánh giá cao Và trường hợp vậy, quy hoạch động thuật toán phù hợp Chỉ cần làm học sinh gần có giải Tuy nhiên, em thường hay bị nhầm lẫn khó phân biệt thuật tốn sử dụng phương pháp quy hoạch động phương pháp khác Nên việc làm cho em học sinh phổ thơng phân biệt thấy ưu việt quy hoạch động từ sử dụng thành thạo phương pháp lập trình khơng phải vấn đề dễ dàng Hiểu rõ thuật toán bước đầu giúp em học sinh tự tin đồng thời phân tích tốn xác định phương pháp giải đắn giúp em có thành tích tốt Là giáo viên giảng dạy môn Tin học trường trung học phổ thông, sau nhiều năm tham gia dạy bồi dưỡng đội tuyển thi học sinh giỏi, nhận thấy việc bồi dưỡng học sinh giỏi nhiệm vụ vô quan trọng việc ứng dụng phương pháp quy hoạch động thiết kế thuật toán mảng kiến thức cần thiết học sinh tham gia đội tuyển học sinh giỏi mơn Tin học Vì tơi chọn đề tài “Giúp học sinh tiếp cận với phương pháp quy hoạch động số toán đơn giản Tin học” làm đề tài nghiên cứu Hy vọng tư liệu hữu ích cho giáo viên, học sinh người quan tâm đến phần kiến thức II Tên sáng kiến: Giúp học sinh tiếp cận với phương pháp quy hoạch động số toán đơn giản Tin học III Tác giả sáng kiến: - Họ tên: Nguyễn Thị Hà - Địa tác giả sáng kiến: Xã Đại Đồng – huyện Vĩnh Tường – tỉnh Vĩnh Phúc - Số điện thoại: 0977 212 636 - E_mail: nguyenthiha.gvnguyenvietxuan@vinhphuc.edu.vn IV Chủ đầu tư tạo sáng kiến: Nguyễn Thị Hà V Lĩnh vực áp dụng sáng kiến: Dạy bồi dưỡng học sinh đội tuyển Tin học, giáo viên người quan tâm tới lập trình VI Ngày sáng kiến áp dụng lần đầu áp dụng thử: Năm 2017 – 2018 VII Mô tả chất sáng kiến: PHẦN I: SƠ ĐỒ NỘI DUNG SÁNG KIẾN KINH NGHIỆM PHẦN II: NỘI DUNG SÁNG KIẾN KINH NGHIỆM I Một số khái niệm phương pháp quy hoạch động 1.1 Khái niệm * Quy hoạch động (Dynamic Programming) phương pháp hiệu giải nhiều toán tin học, đặc biệt toán tối ưu * Quy hoạch động ngành khoa học máy tính: Là phương pháp giảm thời gian chạy thuật tốn thể tính chất toán gối (Overlapping subproblem) cấu trúc tối ưu (Optimal substructure) Phương pháp quy hoạch động việc giải tất tốn nhỏ (bài tốn sở) để từ bước giải toán lớn giải toán lớn (bài toán ban đầu) Ý tưởng phương pháp quy hoạch động tránh tính tốn lại tốn xét, nói cách khác phương pháp quy hoạch động thể sức mạnh nguyên lý chia để trị đến cao độ * Một toán P muốn giải phương pháp quy hoạch động cần có đặc điểm sau: - Bài toán P thỏa mãn nguyên lý tối ưu Bellman, nghĩa sử dụng lời giải tối ưu toán từ mức thấp để tìm dần lời giải tối ưu cho toán mức cao cuối lời giải tối ưu cho toán P - Bài tốn P có tốn phủ chồng lên nhau, nghĩa khơng gian tốn “hẹp” khơng tạo dạng hình 1.2 Các bước giải toán phương pháp quy hoạch động - Bước 1: Xây dựng hàm mục tiêu Áp dụng nguyên lý tối ưu Bellman ta phân rã tốn ban đầu thành tốn có cấu trúc cho việc giải toán cấp i phụ thuộc vào kết tốn trước Cụ thể hóa bước ta phải xây dựng hàm mục tiêu F(i) nghiệm toán cấp i - Bước 2: Xác định toán sở Bài toán sở toán nhỏ mà ta biết kết tính kết dễ dàng Đây sở để tính nghiệm cho toán cấp lớn - Bước 3: Xây dựng công thức truy hồi Căn vào ý nghĩa hàm mục tiêu, tìm mối quan hệ giửa toán cấp, ta tiến hành xây dựng cơng thức tính kết toán cấp i dựa vào kết tốn cấp trước - Bước 4: Lập bảng phương án Sử dụng công thức truy hồi nghiệm tốn sở tính nghiệm tất toán lưu trữ chúng vào bảng phương án - Bước 5: Kết luận nghiệm toán Dựa vào bảng phương án nghiệm toán Các bước giải cụ thể trừu tượng học sinh Bài toán 1: Tính an (n số nguyên dương) - Bước 1: Hàm mục tiêu: f(i) lũy thừa - Bước 2: Các toán sở: f(0) = 1; - Bước 3: Công thức truy hồi: f(i) = a* f(i-1) - Bước 4: Bảng phương án i f(i) a a*a1 a*a2 a*a3 a*a4 a*a5 … … - Bước 5: Nghiệm f(n) tốn Bài tốn 2: Tính n! - Bước 1: Hàm mục tiêu: f(i) giai thừa số i - Bước 2: Các toán sở: f(0) = 1; f(1) = - Bước 3: Công thức truy hồi: f(i) = i* f(i-1) - Bước 4: Bảng phương án i f(i) 1 2*1= 3*2=6 4*6 = 24 5*24 = 120 6*120=72 - Bước 5: Nghiệm F(n) tốn Bài tốn 3: Tìm số Fibonaci thứ N? - Bước 1: Hàm mục tiêu: f(i) số fibonaci thứ i - Bước 2: Các toán sở: f(0) = 1; f(1) = - Bước 3: Công thức truy hồi: f(i) = f(i-1) + f(i-2) … … - Bước 4: Bảng phương án i f(i) 1 13 … … - Bước 5: Nghiệm f(n) toán Bài toán 4: Tháp Hà Nội Chuyển n đĩa từ cọc sang cọc theo thứ tự từ lớn đến nhỏ có sử dụng cọc làm cọc trung gian Mỗi lần di chuyển đĩa Và đĩa đĩa lớn phải đĩa nhỏ - Bước 1: Hàm mục tiêu: f(i) - Bước 2: Các toán sở: f(1): = - Bước 3: Công thức truy hồi: f(i):=2*f(i-1)+1 - Bước 4: Bảng phương án i f(i) 15 31 … … - Bước 5: Nghiệm f(n) toán Bài tốn 5: Bài tốn túi Trong siêu thị có n gói hàng (n

Ngày đăng: 07/05/2021, 19:35

Từ khóa liên quan

Mục lục

  • CÁC KÝ HIỆU VIẾT TẮT TRONG SÁNG KIẾN KINH NGHIỆM

  • I. Lời giới thiệu

  • II. Tên sáng kiến:

  • III. Tác giả sáng kiến:

    • PHẦN I: SƠ ĐỒ NỘI DUNG SÁNG KIẾN KINH NGHIỆM

    • PHẦN II: NỘI DUNG SÁNG KIẾN KINH NGHIỆM

      • I. Một số khái niệm cơ bản về phương pháp quy hoạch động

        • 1.1. Khái niệm

        • 1.2. Các bước giải quyết bài toán bằng phương pháp quy hoạch động.

        • II. So sánh phương pháp quy hoạch động với các phương pháp khác

          • 2.1. Phương pháp quy hoạch động và phương pháp đệ quy

          • 2.2. Phương pháp quy hoạch động và phương pháp vét cạn

          • III. Cài đặt chương trình cho một số bài toán đơn giản thường gặp

            • Ví dụ 1: Bài toán tính an (n là số nguyên dương).

            • Ví dụ 2: Tính n! (n là số nguyên dương)

            • Ví dụ 3: Dãy số fibonacci:

            • Ví dụ 4: Bài toán tháp Hà Nội

            • Ví dụ 5: Bài toán cái túi

            • IV. Bài tập tự giải

              • Bài toán 1: Dãy con có tổng bằng S

              • Bài toán 2: Dãy con có tổng lớn nhất

              • Bài toán 3: Chia kẹo

              • VIII. Những thông tin cần bảo mật: Không

              • IX. Các điều kiện cần thiết để áp dụng sáng kiến: Học sinh đội tuyển Tin học lớp 10, 11, 12.

              • X. Đánh giá lợi ích thu được hoặc dự kiến có thể thu được do áp dụng sáng kiến theo ý kiến của tác giả:

              • XI. Danh sách những tổ chức/cá nhân đã tham gia áp dụng thử hoặc áp dụng sáng kiến lần đầu:

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

Tài liệu liên quan