Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
335,94 KB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO GIA LAI TRƯỜNG THPT CHUYÊN HÙNG VƯƠNG TỔ TOÁNTIN ĐỀ TÀI: “PHƯƠNG PHÁPGIẢIBÀITOÁNTINBẰNGQUYHOẠCH ĐỘNG” Người thực hiện: LÊ VĂN TRƯỜNG Giáo viên: Tin học Pleiku, 2/2014 Phươngphápgiảitoán - tinquyhoạchđộngPHƯƠNGPHÁPGIẢIBÀITOÁNTINBẰNGQUYHOẠCHĐỘNG A PHẦN MỞ ĐẦU I Lí chọn đề tài Hiện tài liệu dạng chuyên đề nâng cao phục vụ cho việc bồi dưỡng học sinh giỏi môn Tin học chưa thật đầy đủ tổng quát, đặc biệt chuyên đề khó giới, đưa vào đề thi học sinh giỏi Quốc gia như: Quyhoạch động, Luồng cực đại mạng,… Từ thực tiễn giảng dạy tin trường THPT Chuyên Hùng Vương thấy để đạt hiệu cao bồi dưỡng học sinh giỏi, cần có cách thiết kế giảng cho phù hợp với nội dung kiến thức dựa tài liệu chuyên đề đầy đủ rõ ràng từ lý thuyết đến tập theo xu chung kì thi học sinh giỏi cấp tương lai, điều kiện tiến để mang lại thành tích cao cho đội tuyển học sinh giỏi kì thi Xuất phát từ sở trên, chọn đề tài “Phương phápgiảitoántinquyhoạch động”, sáng kiến giúp học sinh trường THPT Chuyên Hùng Vương vận dụng kiến thức vào làm tốt dạng đề thi Quốc gia có liên quan luồng cực đại, phục vụ cho việc bồi dưỡng học sinh giỏi trường II Mục đích đề tài - Giới thiệu phươngphápgiảitoán - tinquyhoạchđộng (QHĐ) - Các bước giảitoán - tinphươngpháp QHĐ - Giải số toánphươngphápquyhoạchđộng điển hình - Một số tập áp dụng có hướng dẫn giải thuật cho học sinh tự làm - Từ giúp học sinh trường THPT Chuyên Hùng Vương vận dụng kiến thức vào làm tốt dạng đề thi Quốc gia có dạng quyhoạchđộng Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai Phươngphápgiảitoán - tinquyhoạchđộng III Nhiệm vụ nghiên cứu - Giới thiệu phươngphápgiảitoán - tinquyhoạchđộng (QHĐ) - Các bước giảitoán - tinphươngpháp QHĐ - Hướng dẫn giải số toánphươngphápquyhoạchđộng điển hình - Một số tập áp dụng có hướng dẫn giải thuật cho học sinh tự làm - Đưa số tượng tự để em học sinh giỏi vận dụng thực hành máy IV Đối tượng nghiên cứu - Học sinh giỏi tin học 11, 12 trường THPT Chuyên Hùng Vương V Phươngpháp nghiên cứu - Kết hợp thực tiễn giáo dục trường THPT Chuyên Hùng Vương xu đề thi học sinh giỏi Quốc gia Bộ giáo dục đào tạo - Có tham khảo tài liệu bồi dưỡng học sinh giỏi nước - Tham khảo số dạng đề thi học sinh giỏi Quốc gia Bộ giáo dục đào tạo dạng quyhoạch số năm gần B NỘI DUNG I Cơ sở lí luận - Các cách tiếp cận tri thức mới, đại học sinh trường THPT Chuyên Hùng Vương khó khăn thiếu tài liệu chuyên sâu bồi dưỡng học sinh giỏi tin học tiếng Việt, có chưa thật đầy đủ, tổng quát, tài liệu tiếng Anh nhiều mà khả đọc hiểu em chưa thật tốt Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai Phươngphápgiảitoán - tinquyhoạchđộng - Vì tham khảo tài liệu nước để viết lên sáng đề tài phươngphápquyhoạchđộng từ lý thuyết đến thuật toán có số toán cho em vận dụng để thực hành máy tính Từ em làm tốt đề có dạng tương tự kì thi chọn học sinh giỏi tin học II Nội dung giảipháp thực II.1 Nội Dung I MỞ ĐẦU Tư tưởng quy hạch động Bellman đề cập từ 1960 nhằm tìm nghiệm toán tối ưu Thời kỳ 1960-1970 thời kỳ phát triển rực rỡ phươngpháp này, nhờ nhiều toán với kích thước liệu lớn giải với tốc độ chạy chương trình nhanh so với cách giải trước Song đến năm 1970 xuất số toán mà cách giảiquyhoạchđộng tỏ hạn chế, tương đối có hiệu quả, chí có hiệu qủa Tuy nhiên với hàng loạt toán thông dụng phươngphápphươngpháp tốt Phươngphápgiảitoán - tinquyhoạchđộng (QHĐ) Trong nhiều trường hợp, để giảitoán cho ta đưa giải số toán kết hợp nghiệm toán để nhận nghiệm toán cần giải Để giảitoán ta lại đưa giảitoán nhỏ Quá trình tiếp tục nhận toángiải dễ dàng, kỹ thuật chia - để - trị, giảitoán nhận trình chia nhỏ cách độc lập Phươngphápquyhoạchđộng có điểm giống kỹ thuật chia để trị trình phân chia toán thành toán con, kết toán lưu lại để xây dựng kết toán ban đầu tránh giải nhiều lần toán Do phươngphápquyhoạchđộng thường giải kỹ thuật lên (bottom-up) Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai Phươngphápgiảitoán - tinquyhoạchđộng Ví dụ Tính Cnk (với 11 5 13 10 11 10 Ta có toàn văn chương trình: uses crt; type mang=array[1 100]of integer; var f :text; a,b,c,truoc : mang; n,cs: integer; Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai Phươngphápgiảitoán - tinquyhoạchđộng procedure nhap; var i:byte; begin assign(f,'daycon.inp'); reset(f); readln(f, n); for i:=1 to n read(f,a[i]); close(f); end; procedure taobang; var i,j,bMax,chiso : byte; begin b[1]:=1; truoc[1]:=0; for i:= to n begin bmax:= 0; chiso:=0; for j:= i-1 downto if (a[j] bmax) then begin bmax:= b[j]; chiso:= j; end; b[i] := bmax +1; truoc[i] := chiso; end; Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai Phươngphápgiảitoán - tinquyhoạchđộng end; (* In ket qua bang de quy *) procedure xuat(i:integer); begin if truoc[i]=0 then write(f,a[i]) else begin xuat(truoc[i]); write(f,' >',a[i]); end; end; procedure truyvet; var max,i : byte; begin max:= b[1];cs:=1; for i:= to n if max < b[i] then begin max:= b[i]; cs:=i; end; assign(f,'daycon.out'); rewrite(f); writeln(f,max); Xuat(cs); Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai Phươngphápgiảitoán - tinquyhoạchđộng Begin F[0,j]:=0; Luu[0,j]:=0; end; For i:=1 to n For j:=1 to W Begin F[i,j]:=f[i-1,j];luu[i,j]:=0; (*Neu khong chon vat i *) for k:=1 to j div a[i] (* Duyet het kha nang co the cho vat i tu > k vat *) if (F[i,j]< F[i-1,j-a[i]*k]+C[i]*k) then (* Neu chon vat i vat so luong k ma gia tri lon hon chap nhan gia tri moi *) Begin F[i,j]:=F[i-1,j-a[i]*k]+C[i]*k; (* ghi nhan gia trij F[i,j] *) luu[i,j]:=k; (* Ghi nhan vat i da chon voi so luong la k *) End; end; end; (***************************) { procedure In_ra; Var i:integer; begin Assign(f1,'balo_1.out'); rewrite(f1); Writeln(f1,F[n,w]); i:=n; (* viet so luong cac vat theo thu tu nguoc Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai 13 Phươngphápgiảitoán - tinquyhoạchđộng n 0) then begin find_path(i-1,j-a[i]*luu[i,j]); if in then write(f1,luu[i,j],' >') else write(f1,luu[i,j]); end; end; procedure In_ra; begin Assign(f1,'balo_1.out'); rewrite(f1); Writeln(f1,F[n,w]); Lê Văn Trường-Gv Trường THPT Chuyên Hùng Vương Gia Lai 14 Phươngphápgiảitoán - tinquyhoạchđộng find_path(n,w); close(f1); end; begin input; Qh_dong; In_ra; end Ví dụ 4: Bàitoán ba lô 2: Cho ba lô chứa trọng lượng tối đa w Có n đồ vật, đồ vật thứ i có khối lượng a[i] giá trị c[i], 1 tslddf tslddf - thêm g/3 => tsglddf tsglddf - thay f/7/s => tsgldds Trong trường hợp biến đổi được, tìm cách biến đổi dùng phép biến đổi thông báo tiếp vào file OUT.TXT theo quy cách Hướng dẫn : Giả sử độ dài S1, S2 tương ứng M N Ta xây dựng mảng A[0 M,0 N] mà A[i,j] số phép biến đổi cần dùng để biến đổi đoạn đầu độ dài i S1 thành đoạn đầu độ dài j S2 Ta có A[0,j] = j A[i,0]=i với 0