Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
549,44 KB
Nội dung
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: IV Chủ đầu tư tạo sáng kiến: V Lĩnh vực áp dụng sáng kiến: VI Ngày sáng kiến áp dụng lần đầu áp dụng thử: .5 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 .7 1.1 Khái niệm 1.2 Các bước giải toán phương pháp quy hoạch động II So sánh phương pháp quy hoạch động với phương pháp khác .11 2.1 Phương pháp quy hoạch động phương pháp đệ quy 11 2.2 Phương pháp quy hoạch động phương pháp vét cạn 15 III Cài đặt chương trình cho số toán đơn giản thường gặp 15 Ví dụ 1: Bài tốn tính an (n số nguyên dương) 16 Ví dụ 2: Tính n! (n số nguyên dương) 18 Ví dụ 3: Dãy số fibonacci: .20 Ví dụ 4: Bài tốn tháp Hà Nội 22 Ví dụ 5: Bài tốn túi 24 IV Bài tập tự giải .29 Bài toán 1: Dãy có tổng S 29 Bài tốn 2: Dãy có tổng lớn .29 Bài toán 3: Chia kẹo .30 VIII Những thông tin cần bảo mật: Không .30 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 30 X Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tác giả: .30 XI Danh sách tổ chức/cá nhân tham gia áp dụng thử áp dụng sáng kiến lần đầu: .32 TÀI LIỆU THAM KHẢO 33 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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ó LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 toá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: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHẦN I: SƠ ĐỒ NỘI DUNG SÁNG KIẾN KINH NGHIỆM LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 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 việc giải tất toán nhỏ (bài toá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 tố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 tốn P - Bài tốn P có toá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ã toá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 tốn cấp lớn - Bước 3: Xây dựng công thức truy hồi LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 tốn 1: Tính an (n số ngun 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) toán Bài toá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) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - 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 toán 5: Bài tốn túi Trong siêu thị có n gói hàng (n