Sáng kiến kinh nghiệm tin học lớp 10 thuật toán quay lui và ứng dụng giải bài toán tối ưu

33 120 0
Sáng kiến kinh nghiệm tin học lớp 10 thuật toán quay lui và ứng dụng giải bài toán tối ưu

Đ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

Phần 1: ĐẶT VẤN ĐÊ Kính thưa quý thầy cô giáo! Tiến sĩ triều Lê, Thân Nhân Trung nói “Hiền tài nguyên khí quốc gia, nguyên khí thịnh nước mạnh mà hưng thịnh, ngun khí suy nước yếu mà thấp hèn” Vì bậc đế vương thánh minh coi việc giáo dục nhân tài, kén chọn kẻ sĩ, vun trồng nguyên khí quốc gia làm cơng việc hàng đầu , câu nói bất hủ Thân Nhân Trung cho thấy từ thời xa xưa hệ ông cha coi trọng nhân tài coi nhân tài tương lai đất nước Với cương vị giáo viên chuyên ngành Tin học trực tiếp giảng dạy, thấy nhiệm vụ quan trọng phải làm làm để học sinh thích học học giỏi mơn Tin Trong thời đại ngày nay, Tin học có vai trò vị trí đặc biệt quan trọng khoa học kĩ thuật đời sống, giúp người tiếp thu cách dễ dàng mơn khoa học khác có hiệu Có thể nói phát bồi dưỡng HSG hoạt động chun mơn năm học trường Bản thân qua tham khảo đề thi HSG tỉnh quốc gia thấy hầu hết đề thi có tốn tối ưu Để giải tốn tơi ưu có nhiều phương pháp giải, ứng dụng thuật tốn quay lui để giải toán tối ưu phương pháp nhiều người sử dụng Đó lý để tơi viết đề tài “Thuật toán quay lui ứng dụng giải toán tối ưu” Tơi mong góp ý quý thầy để đề tài ngày hồn thiện Xin chân thành cảm ơn! Trang Phần 2: NHỮNG BIỆN PHÁP GIẢI QUYẾT VẤN ĐÊ I CƠ SỞ LÝ LUẬN CỦA VẤN ĐÊ: Cũng trình bày toán tối ưu toán thường gặp kỳ thi học sinh giỏi Cơng việc khó khăn làm để em hiểu thuật tốn ứng dụng vào giải tốn liên quan Xuất phát từ thực tiễn vậy, đưa số bước giúp cho em hiểu thuật toán ứng dụng để giải toán loại: - Ý tưởng thuật toán - Thuật toán - Ứng dụng thuật toán giải toán đơn giản - Ứng dụng thuật toán quay lui có đánh giá cận giải số toán phức tạp - Ứng dụng thuật toán giải toán đề thi học sinh giỏi II THỰC TRẠNG CỦA VẤN ĐÊ: 1) Thực trạng cấp quản lý *) Ưu điểm: - Đã quan tâm vào công tác phát triển mũi nhọn - Có phân cơng nhiệm vụ cho giáo viên trực tiếp giảng dạy, giám sát kiểm tra trình thực giáo viên - Động viên tinh thần tạo điều kiện thuận lợi để giáo viên thực nhiệm vụ *) Hạn chế: Khi phân công nhiệm vụ chưa xác định chiến lược lâu dài, tập trung phát bỗi dưỡng học sinh lớp 11 mà không phát bồi dưỡng từ em học lớp 10 2) Thực trạng giáo viên *) Ưu điểm: Trang - Được đào tạo chuyên môn bản, có sức khỏe, sức trẻ, có lòng nhiệt tình công việc Luôn học tập trau dồi tri thức, nhằm phục vụ tốt cho nghiệp giáo dục - Trong q trình giảng dạy, gặp nhiều khó khăn phần lớn thầy cô giáo đặt chữ “tâm” lên hàng đầu, thuận lợi góp phần vào thành cơng ngành giáo dục - Có đầu tư vào nghiên cứu giao nhiệm vụ *) Hạn chế: Một số giáo viên khơng có tâm huyết, chưa tập trung vào công tác chuyên môn nên kiến thức ôn luyện học sinh giỏi hạn chế Việc bồi dưỡng HSG tập trung cho số giáo viên tổ 3) Thực trạng học sinh *) Ưu điểm: - Các em HS ngoan, cần cù chịu khó, có ý thức vươn lên học tập - Có trách nhiệm với việc học tập, trình học tập hăng say phát biểu, đóng góp nên thành cơng giảng *) Hạn chế: - Kiến thức lập trình nhiều hạn chế, có số em học sinh địa bàn thị trấn, tiếp cận với lập trình chương trình lớp – THCS - Đa số em học tốt mơn Tin học lại học tốt mơn khoa học tự nhiên (Tốn, Lí, Hóa), nên theo tham gia bồi dưỡng mơn - Tin học mơn mà khơng có kỳ thi tốt nghiệp đại học hàng năm, nên em không mặn mà với việc tham gia học bồi dưỡng HSG Trang 4) Thực trạng sở vật chất *) Ưu điểm: - Có đủ sở vật chất để phục vụ cho lớp học - Có phương tiện phục vụ cho mục đích giảng dạy , VD: Bảng từ, máy chiếu, máy tính *) Hạn chế: - Thiếu tài liệu sách tham khảo - Một số học sinh khơng có đủ kinh phí mua máy tính cá nhân phục vụ cho mục đích ơn tập nhà III CÁC BIỆN PHÁP ĐÃ TIẾN HÀNH ĐỂ GIẢI QUYẾT VẤN ĐÊ: Thuật tốn quay lui: Giả thiết cấu hình cần tìm mơ tả phận gồm n thành phần a1, a2, an Giả sử tìm i - thành phần a 1, a2, ai-1, ta tìm thành phần thứ i cách duyệt tất khả Với khả j kiểm tra xem có chấp nhận khơng Xảy hai trường hợp: - Chấp nhận xác định a i theo j kiểm tra xem i = n chưa, i = n ta ghi nhận cấu hình, i fopt then Begin xopt:=x; {Ghi nhan cau hinh vat moi} Fopt:=cost;{Ghi nhan gia tri moi cua tui} End; End; Procedure Nhanh_can(i:integer); Trang 20 Var j,t:integer; Begin t:=trunc((w-weight)/a[i]); {Trong luong lai cua tui co the chua bao nhieu vat thu i} For j:=t downto Begin x[i]:=j; weight:=weight+a[i]*x[i]; Cost:=cost+c[i]*x[i]; if i=n then Ghinhan_ky_luc Else if cost+c[i+1]*(w-weight)/a[i+1]> fopt then Nhanh_can(i+1); weight:=weight-a[i]*x[i]; Cost:=cost-c[i]*x[i]; End; End; Procedure Inkq; Var i,j:integer; Begin Writeln('********** KET QUA TINH TOAN ***********'); Writeln('Tong gia tri cua cac vat: ', fopt:4:0); Writeln('Phuong an lay do:'); For j:=1 to n writeln('So luong vat ',ind[j],' la: ',xopt[j]:4,' lan'); Writeln('******************************************'); Write('Nhan enter de tiep tuc'); readln; End; BEGIN Clrscr; Readfile; Trang 21 Khoitao; Nhanh_can(1); Inkq; Readln; END Giả sử ta có File liệu Caitui.txt ổ G có nội dung: 20 3546 20 10 15 Thì sau chay xong chương trình ta có kết quả: Cho ten file du lieu: G:\caitui.txt Trong luong cai tui: 20 VEC TO GIA TRI DO VAT: 20 10 15 ********KET QUA TINH TOAN********* Tong gia tri cua cac vat: 120 Phuong an lay do: So luong vat la: lan So luong vat la: lan So luong vat la: lan So luong vat la: lan ******************************************** Bài 2: Bài toán người du lịch Một người du lịch muốn tham quan n thành phố T1, T2, , Tn Xuất phát từ thành phố người du lịch muốn qua tất thành phố lại, thành phố lần, quay lại thành phố xuất phát Cij chi phí từ thành phố T i đến thành phố Tj (i,j=1,2, ,n), tìm Trang 22 hành trình (một cách thỏa mãn điều kiện đặt ra) với tổng chi phí nhỏ Cố định thành phố xuất phát T1, toán người du lịch dẫn toán: f ( x2 , x3 , , xn )  c[1, x2 ]  c[x2 , x3 ]   c[xn1 , xn ]  c[xn , x1 ] � Min Với điều kiện (x2,x3, ,xn) hoán vị số 2,3, ,n Ký hiệu cmin  min{c[i, j ]; i, j  1, 2, , n; i �j} chí phí nhỏ lại thành phố Giả sử ta có phương án phận (u 1,u2, ,uk) Phương án tương ứng với thành phần phận qua k thành phố: T � T (u2 ) � � T (uk 1 ) � T (uk ) Vì chi phí phải trả cho hành trình phận là:   c[1, u2 ]  c[u2 , u3 ]   c[uk 1 , uk ] Để phát triển hành trình phận thành hành trình đầy đủ, ta phải qua n-k thành phố lại quay thành phố T 1, tức qua n-k+1 đoạn đường Do chi phí phải trả cho việc qua số nk+1 đoạn đường lại không nhỏ cmin nên cận cho phương án phận (u1,u2, ,uk) tính theo công thức: g  u1 , u , , u k     ( n  k  1).cmin Dưới chương trình pascal giải toán người du lịch theo thuật toán quay lui có đánh giá cận: Uses Crt; Var c :array[1 20,1 20] of integer; a,xopt :array[1 20] of integer; chuaxet :array[1 20] of boolean; n,fopt,cmin,can :integer; Procedure readfile; Var f :Text; Name :String; Trang 23 i,j :integer; Begin Write('Nhap ten file du lieu:'); Readln(Name); Assign(f,name); Reset(f); Readln(f,n); For i:=1 to n Begin For j:=1 to n read(f,c[i,j]); readln(f); End; Close(f); Cmin:=Maxint;{Maxint=32767} For i:=1 to n For j:=1 to n if(ij) and (cmin>c[i,j]) then cmin:=c[i,j]; End; Procedure Ghinhan; Var sum:integer; Begin sum:=can+c[a[n],a[1]]; if sumc[i,j]) then cmin:=c[i,j]; End; Fopt:=maxint; Can:=0; a[1]:=1; End; BEGIN Readfile; init; try(2); inkq; END Giả sử ta có File liệu Dulich.txt ổ G có nội dung: 14 18 15 22 20 17 16 12 15 11 Trang 26 Thì sau chay xong chương trình ta có kết quả: Cho ten file du lieu: G:\dulich.txt MA TRAN CHI PHI: 14 18 15 22 20 17 16 12 15 11 Hanh trinh toi uu co chi phi: 22 123541 Ứng dụng thuật toán giải toán đề thi học sinh giỏi Bài: Xâu nhị phân (Thi chọn đội tuyển HSG tỉnh dự thi quốc gia năm 2014-2015) Xâu nhị phân xâu chứa số Độ dài xâu số số xâu Yêu cầu: Cho biết số n độ dài xâu Hãy đếm số xâu nhị phân có độ dài n chứa tối đa số liên tiếp Dữ liệu vào: Cho từ tệp văn XAUBIT.INP - Dòng ghi số lượngTest k (1 k  12); - k dòng dòng ghi số n (n độ dài xâu; 1 n  103) Dữ liệu ra: Ghi tệp văn XAUBIT.OUT số xâu nhị phân thỏa mã yêu cầu, Test dòng Ví dụ: XAUBIT.INP XAUBIT.OUT Giải thích Với n=4 có xâu sau: 0010 0011 0100 0101 0110 17 Giải: Biểu diễn dãy nhị phân dạng b 1,b2, ,bn bi{0,1} Thủ tục đệ quy Try(i) xác định bi, giá trị đề cử Các giá trị chấp nhận mà khơng phải thỏa mãn điều kiện (vì tốn khơng cần biến trạng thái), ngoại trừ trường hợp phần tử trước bít liên tiếp bít phải bít Thủ tục Khoitao khởi Trang 27 gán biến đếm sl=0, thủ tục Docfile đọc liệu từ tệp biến, thủ tục Ghifile ghi giá trị biến sl tương ứng với giá trị n vào tệp Program DayNP; Uses Crt; Var x,d:array[1 100] of byte; k,n:byte; sl:longint; Procedure Docfile; Var f:text; i:byte; Begin Assign(f,'d:\xaubit.txt'); Reset(f); readln(f,k); For i:=1 to k readln(f,d[i]); Close(f); End; Procedure khoitao; Begin sl:=0; End; Procedure Try(i:integer); Var j:byte; Begin For j:=0 to Begin if (x[i-3]=0) and (x[i-2]=0) and (x[i-1]=0) and (j=0) then j:=j+1; x[i]:=j; if i=n then sl:=sl+1 Else try(i+1); end; End; Procedure Ghifile; Var f:text; i:byte; Begin Assign(f,'D:\xaubitou.txt'); rewrite(f); For i:=1 to k Begin khoitao; n:=d[i]; Trang 28 Try(1); Writeln(f,sl); End; Close(f); End; BEGIN Clrscr; docfile; ghifile; Readln; END Trang 29 IV- HIỆU QUẢ CỦA SKKN: - Với tập tài liệu soạn chi tiết giáo viên, học sinh tham khảo trước nhà vào lúc rãnh rổi, giảm thời gian ghi bảng, chép giáo viên học sinh - Học sinh sôi nổi, hứng thú học nhờ vận dụng kiến thức học để giải toán thực tế - Học sinh ham thích mơn học chủ động tiếp thu kiến thức Phần 3: KẾT LUẬN I NHỮNG BÀI HỌC KINH NGHIỆM: Trong trình bồi dưỡng học sinh giỏi Tin học ta cần thực điều sau: 1) 2) 3) 4) Phát bồi dưỡng em học sinh từ lớp 10 Tạo hứng thú say mê học, tự học, tự nghiên cứu tài liệu Phân loại kiến thức phân cơng giáo viên giảng dạy theo phần Kiên trì trình bồi dưỡng II Ý NGHĨA CỦA SÁNG KIẾN KINH NGHIỆM: Tin học có ứng dụng hầu hết ngành, lĩnh vực đời sống xã hội Trong phát triển tin học nhà lập trình chun nghiệp đóng vai trò khơng nhỏ Các em tham gia bồi dưỡng HSG tin thi vào chun ngành cơng nghệ thơng tin trường đại học Là tài liệu để bồi dưỡng học sinh giỏi hàng năm cho giáo viên tài liệu tham khảo cho học sinh Đề tài đời từ kinh nghiệm thân q trình giảng dạy Rất mong góp ý chân thành quý thầy cô để sáng kiến ngày hồn thiện trợ giúp cho cách hiệu công việc giảng dạy Xin chân thành cảm ơn! III NHỮNG KIẾN NGHỊ, ĐÊ NGHỊ SAU KHI THỰC HIỆN ĐÊ TÀI: Trang 30 Sau thực đề tài, tơi xin có vài ý kiến sau: - Nên áp dụng rộng rãi đề tài việc bồi dưỡng HSG môn Tin - Đề nghị cấp tạo điều kiện sở vật chất giúp giáo viên có phương tiện giảng dạy tốt, em học sinh có điều kiện tiếp xúc với máy tính nhiều - BGH trường quan tâm nhiều đến chế độ giáo viên tham gia giảng dạy KBang, ngày 10 tháng 03 năm 2015 Tác giả Bùi Hải Đức Trang 31 TÀI LIỆU THAM KHẢO Toán rời rạc, Nguyễn Đức Nghĩa (Chủ biên), Nguyễn Tô Thành,… , NXB Giáo dục, 1997 Sáng tạo thuật toán lập trình, Nguyễn Xuân Huy, NXB Giáo dục, 2007 Một số tài liệu khác đồng nghiệp Trang 32 MỤC LỤC Phần 1: ĐẶT VẤN ĐÊ Trang Phần 2: NHỮNG BIỆN PHÁP GIẢI QUYẾT VẤN ĐÊ Trang I Cơ sở lý luận vấn đề Trang II Thực trạng vấn đề Trang Thực trạng cấp quản lý Trang 2 Thực trạng giáo viên Trang Thực trạng học sinh .Trang Thực trạng sở vật chất Trang III Các bước tiến hành để giải vấn đề Trang Thuật toán quay lui .Trang Ứng dụng thuật toán giải số toán Trang Phương pháp nhánh cận Trang 15 Ứng dụng giải toán đề thi học sinh giỏi Trang 26 IV Hiệu sáng kiến kinh nghiệm: Trang 29 Phần 3: KẾT LUẬN Trang 29 I Những học kinh nghiệm Trang 29 II Ý nghĩa SKKN .Trang 29 III Những kiến nghị đề xuất .Trang 30 TÀI LIỆU THAM KHẢO Trang 31 Trang 33 ... tốn ứng dụng để giải toán loại: - Ý tưởng thuật toán - Thuật toán - Ứng dụng thuật toán giải toán đơn giản - Ứng dụng thuật tốn quay lui có đánh giá cận giải số toán phức tạp - Ứng dụng thuật toán. .. bày toán tối ưu toán thường gặp kỳ thi học sinh giỏi Cơng việc khó khăn làm để em hiểu thuật tốn ứng dụng vào giải toán liên quan Xuất phát từ thực tiễn vậy, đưa số bước giúp cho em hiểu thuật. .. viên, học sinh tham khảo trước nhà vào lúc rãnh rổi, giảm thời gian ghi bảng, chép giáo viên học sinh - Học sinh sôi nổi, hứng thú học nhờ vận dụng kiến thức học để giải tốn thực tế - Học sinh

Ngày đăng: 04/09/2019, 15:53

Từ khóa liên quan

Mục lục

  • (Bài toán cái túi và bài toán người du lịch)

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

Tài liệu liên quan