skkn sử dụng phương pháp quy hoạch động trong bồi dưỡng HSG cấp tỉnh môn tin học

20 514 0
skkn sử dụng phương pháp quy hoạch động trong bồi dưỡng HSG cấp tỉnh môn 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

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT CHUYÊN LAM SƠN SÁNG KIẾN KINH NGHIỆM SỬ DỤNG PHƯƠNG PHÁP QUY HOẠCH ĐỘNG TRONG BỒI DƯỠNG HSG CẤP TỈNH MÔN TIN HỌC Người thực hiện: Nguyễn Thị Huyền Chức vụ: Giáo viên SKKN thuộc môn:Tin học THANH HÓA NĂM 2016 MỤC LỤC I Mở đầu Lý chọn đề tài Mục đích nghiên cứu II Nội dung Cơ sở lý luận Một số toán quy hoạch động điển hình a Dãy đơn điệu dài b Vali (B) Trang 1 2 6 10 c Biến đổi xâu Một số ví dụ cụ thể a Bài toán 1: Tính hệ số nhị thức 13 13 b Bài toán 2: Số Fibonacci 14 c Bài toán 3: Mật (Đề thi HSG cấp tỉnh năm học 2015- 16 2016-tỉnh Thanh Hóa) d Bài toán 4:Dãy (Đề thi HSG cấp tỉnh năm học 2015-2016, 17 tỉnh Thanh Hóa) 18 IV Kết luận đề xuất I Mở đầu Lý chọn đề tài Môt cac muc tiêu đưa Tin hoc vao trương hoc la nhăm giup cho hoc sinh có khả phân tich, tông hơp, trưu tương hóa, khai quat hóa vân đề va đăc biêt la phat triên tư Muốn vậy ngoai dạy đại tra Tin hoc nha trương nhăm đảm bảo tinh phô thông, hướng nghiêp va dạy nghề thì cần phải tạo điều kiên cho những hoc sinh có khiếu tin hoc đươc phat triên về khả lập trình va giải quyết cac bai toan Đê đap ứng yêu cầu cần phải cung câp cho hoc sinh những kiến thức về thuật toan va cac phương phap thiết kết thuật toan Thuật toan (Algorithm) la môt những khai niêm quan trong tin hoc Có thê định nghĩa không hình thức về thuật toan sau: Thuật toan la môt dãy hữu hạn cac bước, mỗi bước mô tả chinh xac cac phép toan hoăc hanh đông cần thực hiên đê giải quyết môt vân đề Măc dù không tồn tại môt phương phap vạn có thê giup ta thiết kế đươc thuật toan giải quyết moi vân đề, cac nha nghiên cứu đã tìm môt số phương phap thiết kế thuật toan bản, cac phương phap goi la chiến lươc thiết kế thuật toan Mỗi phương phap có thê ap dung đê giải quyết môt phạm vi kha rông cac bai toan Các phương pháp chung Kỹ thuật Top-Down: La kỹ thuật tư xuống giải cac bai toan nhận đươc qua trình chia nhỏ môt cach đôc lập rồi kết hơp nghiêm của bai toan ta nhận đươc nghiêm của bai toan lớn Tuy nhiên qua trình phân chia ta găp rât nhiều lần cùng môt bai toan Giải quyết băng kỹ thuật ta phải tinh lại nhiều lần cùng môt bai toan Kỹ thuật nhận đươc sẽ kém hiêu quả Kỹ thuật Bottom-Up: La kỹ thuật tư dưới lên Xuât phat tư những trương hơp riêng đơn giản của bai toan thương la thây nghiêm của chung Sau đó kết hơp nghiêm của chung ta đươc những bai toan cỡ lớn Rồi lại kết hơp nghiêm của bai toan ta đươc bai toan cỡ lớn nữa va tiếp tuc cho đến nhận đươc nghiêm của bai toan đã cho Phương pháp riêng Chia đê trị (divide-and-conquer), phương phap tham ăn (Greedy-methor), Quay lui(Backtracking), quy hoạch đông (dynamic programing), nhanh va cận (branch-and-bound) Trong chương trình giảng dạy đại tra môn tin hoc ở trương THPT, phần thuật toan đã đươc đưa vao giảng dạy ở lớp 10 với tông số tiết la 10 Với thơi lương hoc thế hoc sinh có thê biết đươc khai niêm về thật toan, môt số thuật toan giải cac bai toan đơn giản Tuy nhiên đối với những hoc sinh tham gia thi hoc sinh giỏi câp tỉnh thì lương kiến thức về thuật toan thế la không đủ va cần phải cung câp thêm cac phương phap về thiết kế thuật toan Vì vậy la lý chon đề tai “Sư dung phương phap quy hoạch đông bồi dưỡng hoc sinh giỏi câp tỉnh môn Tin hoc.” Mục đích nghiên cứu Thông qua đề tai cung câp thêm môt phương phap tư duy, tiếp cận đê giải cac bai toan bồi dưỡng HSG câp tỉnh Đưa những bai toan quy hoạch đông điên hình đã tưng xuât hiên cac kỳ thi HSG câp tỉnh II Nội dung Cơ sở lý luận a Phương pháp quy hoạch động Tư tưởng của phương pháp Phương phap qui hoạch đông cùng nguyên lý tối ưu đươc R.Bellman đề xuât vao những năm 50 của thế kỷ 20 Phương phap đươc ap dung đê giải môt số bai toan tô chức sản xuât, kế hoạch hóa kinh tế… Trong nganh khoa hoc may tinh, quy hoạch đông la môt phương phap giảm thơi gian chạy của cac thuật toan thê hiên cac tinh chât của cac bai toan gối (overlapping substructure) va câu truc tối ưu (optimail substructure) Câu truc tối ưu có nghĩa la cac lơi giải tối ưu cho cac bai toan có thê đươc dung đê tìm cac lơi giải tối ưu cho cac bai toan toan cuc Có thê giải môt bai toan với câu truc tối ưu băng môt quy trình ba bước: Bước 1: Chia bai toan cac bai toan nhỏ Bước 2: Giải cac bai toan môt cac tối ưu băng cach dung đê quy quy trình ba bước Bước 3: dung cac kết quả tối ưu đê xây dựng môt lơi giải tối ưu cho bai toan ban đầu Cac bai toan đươc giải băng cach chia chung cac bai toan nhỏ hơn, va cứ tiếp tuc thế, cho đến ta đến đươc trương hơp đơn giản dễ tìm lơi giải Nói môt bai toan có cac bai toan trùng nghĩa la môt bai toan đó đươc dung đê giải nhiều bai toan lớn khac Vi du dãy Fibonacci, F3=F1+F2 va F4=F2+F3 tinh mỗi số đều phải tinh F2 Vì tinh F5 cần đến cả F3 va F4 Như vậy tinh F5 có thê tinh F2 hai lần hoăc nhiều Điều ap dung mỗi có cac bai toan gối nhau: môt cach tiếp cận ngây thơ có thê tốn thơi gian tinh toan lại lơi giải tối ưu cho cac bai toan ma nó đã giải Đê tranh viêc đó, ta lưu trữ lơi giải của cac bai toan đã giải Do vậy nếu sau ta cần giải lại chinh bai toan đó, ta có thê lây va dung kết quả đã đươc tinh toan Hướng tiếp cận đươc goi la lưu trữ Nếu ta chắn môt lơi giải nao đó không cần thiết nữa, ta có thê xóa nó đê tiết kiêm không gian bô nhớ Trong môt số trương hơp, ta có thê tinh lơi giải cho cac bai toan ma ta biết trước sẽ cần đến Quy hoạch đông la kỹ thuật tư dưới lên (Bottom-Up) Chung ta xuât phat tư những trương hơp riêng đơn giản nhât thương la thây nghiêm của của chung Sau đó kết hơp nghiêm của chung ta đươc nghiêm của bai toan cỡ lớn Rồi lại kết hơp nghiêm của cac bai toan đê nhận đươc nghiêm của bai toan lớn nữa, va cứ tiếp tuc cho đến nhận đươc nghiêm của bai toan đã cho Như vậy tư tưởng bản của phương phap quy hoạch đông la qua trình tư dưới lên, qua trình ta dung môt bản đê lưu trữ lơi giải của bai toan đã giải Khi giải môt bai toan cần đến nghiêm của bai toan cỡ nhỏ ta chỉ cần tìm bảng không phải giải lại Như vậy nguyên lý “chia đê trị” đươc đẩy tới cao đô ở b Các bước thực quy hoạch động * Bài toán tối ưu Trong thực tế ta thương găp môt số bai toan tối ưu loại sau: Có môt đại lương f hình môt qua trình gồm nhiều giai đoạn ma ta chỉ quan tâm đến kết quả cuối cùng la trị của f phải lớn nhât hoăc nhỏ nhât Ta goi chung la gia trị tối ưu của f Gia trị của f phu thuôc vao những đại lương xuât hiên bai toan ma mỗi bô gia trị của chung đươc goi la trạng thai của thống va phu thuôc vao cach thức đạt đươc giai trị f tưng giai đoạn ma mỗi cach thức đươc goi la môt điều khiên Đại lương f thương đươc goi la ham muc tiêu va qua trình đạt đươc gia trị tối ưu của f đươc goi la qua trình điều khiên tối ưu Ý tưởng bản của nguyên lý tối ưu R Bellman đề xuât sau: Với mỗi qua trình điều khiên tối ưu, đối với trạng thai bắt đầu A 0, với moi trạng thai A qua trình đó, phần qua trình kê tư trạng thai xem trạng thai bắt đầu la tối ưu Phương phap tìm điều khiên tối ưu theo nguyên lý Bellman thương đươc goi la quy hoạch đông * Các bước thực quy hoạch động Bước 1: Lập thức Dựa vao nguyên lý tối ưu tìm cach chia qua trình giải bai toan tưng giai đoạn, sau đó tìm thức biêu diễn tương quan quyết định của bước xư lý với cac bước đã xư lý trước đó Hoăc tìm cach phân rã bai toan cac bai toan tương tự có kich thước nhỏ hơn, tìm thức nêu quan giữa kết quả bai toan kich thước đã cho với cac kết quả của cac bai toan cùng kiêu có kich thước nhỏ của nó nhăm xây dựng phương trình truy toan (dạng ham hoăc thủ tuc đê quy) Cach xây dựng phương trình truy toan: Chia viêc giải bai toan n giai đoạn Mỗi giai đoạn i có trạng thai ban đầu la t(i) va chịu tac đông đều khiên la d(i) sẽ biến trạng thai tiếp theo t(i+1) của giai đoạn i+1 (i=1,2,…n-1) Theo nguyên lý tối ưu của Bellman thì viêc tối ưu giai đoạn cuối cùng không lam ảnh hưởng đến kết quả toan bai toan Với trạng thai ban đầu la t(n), sau lam giai đoạn n tốt nhât ta có trạng thai của giai đoạn n-1 la t(n-1) va tac đông điều khiên của giai đoạn n-1 la d(n-1), có thê tiếp tuc xét đến giai đoạn n-1 Sau tối ưu giai đoạn n-1 ta lại có t(n-2) va d(n-2) va có thê tối ưu giai đoạn n-2…cho đến cac giai đoạn tư n giảm đến đươc tối ưu thì coi hoan bai toan Go i gia trị tối ưu của bai toan tinh đến giai đoạn k la F k, gia trị tối ưu của bai toan tinh riêng ở giai đoạn k la Gk thì Fk=Fk-1+Gk hay : Fk(t(k))=max{Gk(t(k),d(k))+Fk-1(t(k-1))} (*) ∀d Bước 2: Tô chức dữ liêu va chương trình Cac gia trị của Fk trương đươc lưu trữ môt bảng (mảng môt chiều hoăc hai, ba chiều…) Cần lưu ý khởi tạo cac gia trị ban đầucủa bảng cho thich hơp, đó la cac kết quả của bai toan có kich thước nhỏ nhât của bai toan giải F1(t(1))= max{G1(t(1),d(1))+F0(t(0))} ∀d Dựa vao phương trình truy toan (*) va cac giai trị đã có bảng đê tìm dần cac gia trị lại của bảng Ngoai cần mảng lưu trữ nghiêm tương ứng với giai trị tối ưu tưng giai đoạn Dựa vao bảng lưu trữ nghiêm va bảng gia trị tối ưu tưng giai đoạn đã xây dựng, tìm kết quả bai toan Lưu ý: Lam tốt thuật toan băng cach thu gon thức (*) va giảm kich thước miền nhớ Thương tìm cach dùng mảng môt chiều thay cho mảng hai chiều nếu gia trị môt dòng (hoăc côt) của mảng hai chiều chỉ phu thuôc môt dòng (hoăc côt) kề trước c Hạn chế quy hoạch động Viêc tìm công thức, phương trình truy toan hoăc tìm cach phân rã bai toan nhiều đòi hỏi sự phân tich tông hơp rât công phu, dễ sai sót, khó nhận thế nao la thich hơp, đòi hỏi nhiều thơi gian suy nghĩ Đồng thơi không phải luc nao kết hơp lơi giải của cac bai toan cho kết quả của bai toan lớn Số lương cac bai toan cần giải quyết va lưu trữ kết quả có thê rât lớn, không thê châp nhận đươc Không phải bai toan tối ưu nao có thê giải băng phương phap qui hoạch đông Một số toán quy hoạch động điển hình a Dãy đơn điệu dài Mô hình Cho dãy a1 ,a2,…an Hãy tìm môt dãy tăng có nhiều phần tư nhât của dãy Đăc trưng của bai toan la: Cac phần tư dãy kết quả chỉ xuât hiên lần Vì vậy phương phap lam la ta sẽ dùng vòng lăp For duyêt qua cac phần tư dãy, cac phần tư dãy có thê đươc chon nhiều lần nên ta thực hiên băng phương phap cho gia trị cần quy đôi tăng dần tưng đơn vị Thứ tự của cac phần tư đươc chon phải giữ nguyên so với dãy ban đầu Đăc trưng có thê mât môt số bai toan khac tùy vao yêu cầu cu thê Chẳng hạn bai Tam giac băng Công thức QHĐ Ham muc tiêu f=đô dai dãy Vì đô dai dãy chỉ phu thuôc vao yếu tố la dãy ban đầu nên bảng phương an la bảng môt chiều Goi L(i) la đô dai dãy tăng dai nhât, cac phần tư lây miền tư a1 đến va phần tư cuối cùng la Nhận xét với cach lam ta đã chia bai toan lớn (dãy của n số) cac bai toan cùng kiêu có kich thước nhỏ (dãy của dãy i số) Vân đề la công thức truy hồi đê phối hơp kết quả của cac bai toan Ta có công thức quy hoạch đông đê tinh L(i) sau: L(1)=1 (Hiên nhiên) L(i)=Max(1, L(j)+1 với moi phần tư j: 0

Ngày đăng: 17/10/2017, 09:32

Từ khóa liên quan

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

Tài liệu liên quan