Ứng dụng phương pháp Nhánh cận trong dạy và học chuyên tin tại trường THPT Chuyên Quảng Bình

85 1.2K 12
Ứng dụng phương pháp Nhánh cận trong dạy và học chuyên tin tại trường THPT Chuyên Quảng Bình

Đ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 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO) 3 LỜI CAM ĐOAN 4 MỞ ĐẦU 1 1. Tính cấp thiết của đề tài 1 2. Mục tiêu nghiên cứu 2 3. Đối tượng và phạm vi nghiên cứu 3 4. Phương pháp nghiên cứu 3 5. Bố cục của đề tài 4 6. Tổng quan tài liệu tham khảo 4 CHƯƠNG 1 5 PHƯƠNG PHÁP NHÁNH CẬN 5 1.1. KỸ THUẬT ĐỆ QUY 5 1.1.1. Thuật toán quay lui 5 1.1.2. Giải bài toán bằng cách sử dụng Đệ quy quay lui 6 1.2. PHƯƠNG PHÁP NHÁNH CẬN 11 1.2.1. Bài toán tối ưu tổ hợp 11 1.2.2 Cách giải một bài toán bằng phương pháp nhánh cận 13 CHƯƠNG 2 16 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC TRƯỜNG THPT CHUYÊN 16 2.1 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC KHỐI 10 16 2.1.1 Mục đích 16 2.1.2 Kế hoạch và nội dung dạy học 16 2.2 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC KHỐI 11 24 2.2.1 Mục đích 24 2.2.2 Kế hoạch và nội dung dạy học 25 2.3 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC KHỐI 12 35 2.3.1 Mục đích 35 2.3.2 Kế hoạch và nội dung dạy học 36 2.4 ĐỊNH HƯỚNG PHƯƠNG PHÁP DẠY HỌC CHUYÊN ĐỀ “PHƯƠNG PHÁP NHÁNH CẬN” 41 2.4.1 Tiến trình dạy và học trên lớp 41 2.4.2 Tiến trình tự học của học sinh 42 CHƯƠNG 3 44 SỬ DỤNG PHƯƠNG PHÁP NHÁNH CẬN GIẢI MỘT SỐ BÀI TOÁN TIÊU BIỂU 44 3.1 BÀI TOÁN NGƯỜI DU LỊCH 44 3.1.1 Phát biểu bài toán 44 3.1.2 Thuật toán 45 3.1.3 Độ phức tạp của thuật toán 61 3.1.4 Cài đặt thuật toán 64 3.2. BÀI TOÁN XẾP BA LÔ 64 3.2.1. Phát biểu bài toán 64 3.2.2. Thuật toán 65 3.2.3 Độ phức tạp của thuật toán 72 3.2.4 Cài đặt thuật toán 72 3.3. BÀI TOÁN ĐỒ THỊ CON ĐẦY ĐỦ CỰC ĐẠI 73 3.3.1 Phát biểu bài toán 73 3.3.2 Thuật toán 75 3.3.3 Độ phức tạp của thuật toán 77 3.3.4 Cài đặt thuật toán 78 KẾT LUẬN 79 TÀI LIỆU THAM KHẢO 80 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO). LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Tác giả Trần Lương Vương MỞ ĐẦU 1. Tính cấp thiết của đề tài Chương trình đào tạo và bồi dưỡng học sinh có năng khiếu Toán, Tin học bậc Trung học phổ thông đã được thực hiện trong nhiều năm qua. Qua những năm thực hiện nó như là một chu trình đặc biệt gắn với sự trưởng thành và hoàn thiện một mô hình đào tạo đặc biệt. Đó là đào tạo mũi nhọn, đào tạo các thế hệ học sinh có năng khiếu trong lĩnh vực Toán học, Tin học. Lớp lớp các thế hệ thầy và trò đã dũng cảm đi lên, tìm tòi và sáng tạo để tiếp cận với thế giới hiện đại, cập nhật thông tin và nghiên cứu các phương pháp. Gắn với việc đổi mới phương pháp dạy và học của chương trình đào tạo chuyên, ngành Giáo dục và Đào tạo đang tích cực đổi mới phương pháp dạy và học để đào tạo những thế hệ học sinh giỏi có kết quả cao trong các kỳ thi học sinh giỏi cấp Quốc gia và giành được nhiều huy chương trong các kỳ thi Olympic quốc tế mà trong đó có kỳ thi Olympic Tin học. Có thể nói, giáo dục mũi nhọn phổ thông đã thu được những thành tựu rực rỡ, được Nhà nước đầu tư có hiệu quả, xã hội thừa nhận và bạn bè quốc tế khâm phục. Các đội tuyển quốc gia tham dự các kỳ thi olympic quốc tế có bề dày thành tích mang tính ổn định và có tính kế thừa. Đặc biệt, đội tuyển Tin học quốc gia tham dự thi Olympic quốc tế đã đạt được nhiều thành tích nỗi bật. Tuy ra đời muộn hơn hệ chuyên Toán nhưng hệ THPT chuyên Tin học đã sớm khẳng định vị thế của mình, đang trên đà hoàn thiện và phát triển đúng hướng. Để nâng cao chất lượng đào tạo mũi nhọn khối chuyên Tin học trường THPT Chuyên Quảng Bình các thầy cô giáo luôn luôn cố gắng đổi mới phương pháp, xây dựng các chuyên đề dạy và học các thuật toán trong tin học để nâng cao chất lượng cũng như hiệu quả giáo dục. Để giải quyết tốt bài toán thì học sinh cần phải có một số kỹ thuật quan trọng trong việc tiếp cận bài 1 toán và tìm thuật toán. Có rất nhiều lớp thuật toán khác nhau như: Vét cạn; Chia để trị; Quy hoạch động; Tham lam; Nhánh cận; Các thuật toán trên đồ thị; Các thuật toán trên Cây… Trong các lớp thuật toán trên tôi chọn đề tài “Ứng dụng phương pháp Nhánh cận trong dạy và học chuyên tin tại trường THPT Chuyên Quảng Bình”. Các bài toán trên thực tế có muôn hình muôn vẻ, không thể đưa ra một cách thức chung để tìm giải thuật cho mọi bài toán. Chúng ta chỉ khảo sát một vài bài toán cụ thể và học cách nghĩ, cách tiếp cận vấn đề, cách thiết kế giải thật. Từ đó rèn luyện kỹ năng linh hoạt khi giải các bài toán thực tế. 2. Mục tiêu nghiên cứu Với mục tiêu giáo dục là đào tạo nhân tài cho quê hương và đất nước cho nên việc đổi mới phương pháp dạy và học của giáo viên và học sinh khối chuyên tin đang ngày càng được đẩy mạnh. Đề tài “Ứng dụng phương pháp Nhánh cận trong dạy và học chuyên tin tại trường THPT Chuyên Quảng Bình” được thực hiện nhằm nâng cao chất lượng và hiệu quả đào tạo. Tạo điều kiện tốt nhất cho học sinh giành được các giải cao trong các kỳ thi học sinh giỏi môn tin học cấp tỉnh, cấp quốc gia và hướng đến có giải trong kỳ thi olympic tin học quốc tế. Đổi mới phương pháp dạy và học của khối chuyên tin tại trường THPT Chuyên Quảng Bình. Từ đó, giáo viên và học sinh nắm được phương pháp nhánh cận thông qua việc khảo sát một số bài toán cụ thể, tiêu biểu. Học được cách nghĩ, cách tiếp cận vấn đề, cách thiết kế giải thuật và rèn luyện kỹ năng linh hoạt khi giải các bài toán. Vận dụng được thuật toán nhánh cận vào giải một số bài toán cụ thể để giáo viên và học sinh tiếp cận với phương pháp nhánh cận một cách nhanh chóng và hiệu quả. Nắm bắt được một số kỹ thuật quan trọng trong việc tiếp cận bài toán, tìm và thiết kế thuật toán. 2 3. Đối tượng và phạm vi nghiên cứu Tìm hiểu phương pháp nhánh cận, mục tiêu và kế hoạch dạy học chương trình chuyên sâu môn tin học để thực hiện việc đổi mới phương pháp trong việc dạy học thuật toán tại trường THPT Chuyên Quảng Bình. Trên cơ sở đó tiến phân tích và thiết kế thuật toán và cài đặt các bài toán tiểu biểu có thể giải được bằng phương pháp nhánh cận. Các bài toán được cài đặt chương trình bằng ngôn ngữ lập trình Free Pascal để minh họa quá trình thực hiện thuật toán. 4. Phương pháp nghiên cứu Bài toán đặt ra trong thực tế yêu cầu tìm ra một nghiệm thỏa mãn một số điều kiện nào đó và nghiệm đó là tốt nhất theo một chỉ tiêu cụ thể, đó là lớp bài toán tối ưu. Nghiên cứu lời giải các lớp bài toán tối ưu thuộc về lĩnh vực quy hoạch toán học. Tuy nhiên cũng cần phải nói rằng trong nhiều trường hợp chúng ta chưa thể xây dựng một thuật toán nào thực sự hữu hiệu để giải bài toán tối ưu, mà cho tới nay việc tìm nghiệm của chúng vẫn phải dựa trên mô hình liệt kê toàn bộ các cấu hình có thể và đánh giá, tìm ra cấu hình tốt nhất. Việc tìm cấu hình theo cách này còn có tên gọi là vét cạn. Chính nhờ kỹ thuật này cùng với sự phát triển của máy tính điện tử mà nhiều bài toán khó đã tìm thấy lời giải. Mô hình thuật toán quay lui là tìm kiếm trên một cây phân cấp. Nếu giả thiết rằng mỗi nút nhánh của cây chỉ có 2 nút con thì cây có độ cao n sẽ có tới 2 n nút lá, con số này lớn hơn rất nhiều lần so với kích thước dữ liệu đầu vào n. Chính vì vậy mà nếu như ta có thao tác thừa trong việc chọn x i thì sẽ phải trả giá rất lớn về chi phí thực thi thuật toán bởi quá trình tìm kiếm lòng vòng vô nghĩa trong các bước chọn kế tiếp x i + 1 , x i + 2 , … Khi đó, một vấn đề đặt ra là trong quá trình liệt kê lời giải ta cần tận dụng những thông tin đã tìm được để 3 loại bỏ sớm những phương án chắc chắn không phải tối ưu. Kỹ thuật đó gọi là kỹ thuật đánh giá nhánh cận trong tiến trình quay lui. - Thu thập tài liệu: Tìm các cuốn sách, các tài liệu viết về nội dung giải toán bằng phương pháp nhánh cận. Các tài liệu viết về các ngôn ngữ lập trình. Các bài toán tiêu biểu có thể giải được bằng phương pháp nhánh cận. Các phần mềm ứng dụng mô phỏng thuật toán. - Nghiên cứu lý thuyết: Trên cơ sở các tài liệu thu thập được, tiến hành đọc, phân loại và viết báo cáo. - Cài đặt chương trình: Cài đặt chương trình cho các thuật toán đã được xây dựng, thực hiện và kiểm tra chương trình. Cài đặt ứng dụng mô phỏng cho các thuật toán. 5. Bố cục của đề tài Chương 1: Phương pháp nhánh cận Nội dung của chương là trình bày thuật toán đệ quy. Phát biểu bài toán tối ưu tổ hợp và thuật toán giải bài toán tối ưu tổ hợp bằng phương pháp nhánh cận. Chương 2: Chương trình chuyên sâu môn tin học trường THPT chuyên. Nội dung của chương là trình bày phân phối chương trình môn Tin học dành cho học sinh chuyên tin ở trường THPT chuyên. Chương 3: Sử dụng phương pháp nhánh cận giải một số bài toán tiêu biểu. Nội dung của chương là phát biểu các bài toán, phân tích và thiết kế thuật toán, cài đặt chương trình cho các bài toán. 6. Tổng quan tài liệu tham khảo Khi triển khai nghiên cứu đề tài tôi đã tham khảo các tài liệu về toán rời rạc, lý thuyết đồ thị, cấu trúc dữ liệu và giải thuật, toán ứng dụng, các giải thuật nâng cao và ngôn ngữ lập trình Turbo Pascal. 4 CHƯƠNG 1 PHƯƠNG PHÁP NHÁNH CẬN 1.1. KỸ THUẬT ĐỆ QUY 1.1.1. Thuật toán quay lui Thuật toán quay lui dùng để giải bài toán liệt kê các cấu hình. Thuật toán này làm việc theo cách: - Mỗi cấu hình được xây dựng bằng cách xây dựng từng phần tử - Mỗi phần tử được chọn bằng cách thử tất cả các khả năng. Giả sử cấu hình hình cần liệt kê có dạng x 1 , x 2 , … x n , khi đó thuật toán quay lui sẽ xét tất cả các giá trị x 1 có thể nhận, thử cho x 1 nhận lần lượt các giá trị đó. Với mỗi giá trị thử gán cho x 1 , thuật toán sẽ xét tất cả các giá trị x 2 có thể nhận, lại thử cho x 2 nhận lần lượt các giá trị đó. Với mỗi giá trị thử gán cho x 2 lại xét tiếp các khả năng chọn x 3 , cứ tiếp tục như vậy… Mỗi khi ta tìm được đầy đủ một cấu hình thì liệt kê ngay cấu hình đó. Từ những phân tích trên ta xây dựng mô hình quay lui như sau: //Thủ tục này thử cho x[i] nhận lần lượt các giá trị mà nó có thể nhận Procedure Try(i); Begin For «Mọi giá trị v có thể gán cho x[i]» do If «Gán được» then Begin «Cho x[i] := v»; «Ghi nhận việc cho x[i] nhận giá trị V (nếu cần)»; if «x[i] là phần tử cuối cùng trong cấu hình» then «Thông báo cấu hình tìm được» else 5 Try(i + 1); //Gọi đệ quy để chọn tiếp x[i+1] «Nếu cần, bỏ ghi nhận việc thử x[i] := v để thử giá trị khác»; end; End; 1.1.2. Giải bài toán bằng cách sử dụng Đệ quy quay lui Bài toán liệt kê các dãy nhị phân: Biểu diễn dãy nhị phân độ dài N dưới dạng dãy x 1…N . Yêu cầu: Viết chương trình liệt kê tất cả dãy nhị phân có độ dài bằng N. Dữ liệu vào: Cho trong file văn bản NHIPHAN.INP, có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N. (2 ≤ N ≤ 100). Dữ liệu ra: Ghi ra file văn bản NHIPHAN.OUT theo cấu trúc sau: - Trên mỗi dòng: Ghi một dãy nhị phân có độ dài N tìm được. Ví dụ: NHIPHAN.INP NHIPHAN.OUT 3 000 001 010 011 100 101 110 111 6 [...]... biết một phương án x nào đó thì có thể đặt f = f x *) Try(1); if f < +∞ then < f là giá trị tối ưu, x là phương án tối ưu> else End; 16 CHƯƠNG 2 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC TRƯỜNG THPT CHUYÊN 2.1 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC KHỐI 10 2.1.1 Mục đích - Thống nhất trên phạm vi toàn quốc kế hoạch dạy học và nội dung dạy học môn Tin học cho trường THPT chuyên -... toán Prim và Kruskal Kỹ năng • Vận dụng được để giải một số bài toán và cài đặt được trên máy tính 2.2 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC KHỐI 11 2.2.1 Mục đích - Thống nhất trên phạm vi toàn quốc kế hoạch dạy học và nội dung dạy học môn Tin học cho trường THPT chuyên - Thống nhất trên phạm vi toàn quốc nội dung bồi dưỡng học sinh giỏi môn Tin học cấp THPT 25 + Mục tiêu về kiến thức: - Mở rộng và nâng... - Có ý thức rèn luyện kĩ năng lập trình chuyên nghiệp, giải các bài toán một cách hiệu quả 2.2.2 Kế hoạch và nội dung dạy học Chương trình tin học lớp 11 chuyên tin gồm 87,5 tiết, trong đó có 52,5 tiết dành cho nội dung cơ bản và 35 tiết dành cho nội dung chuyên sâu - Nội dung cơ bản môn Tin học cho các trường THPT, được qui định trong chương trình môn Tin học, lớp 11, ban hành kèm theo Quyết định... sẽ chọn nhánh D1 để tiếp tục, ngược lại thì chọn nhánh D2 Giả sử tại đây ta chọn nhánh D1 tiếp tục phát triển thuật toán, thì lúc này ta cũng phân nhánh D1 thành hai nhánh D11 và D12 Tiếp tục dùng hàm g để tính cận dưới cho các nhánh D11 và D12 Tương tự ta gọi Gọi β11 là cận dưới 14 của nhánh D11, gọi β12 là cận dưới của nhánh D12 Lại tiếp tục so sách các giá trị cận dưới β11 và β12 để chọn nhánh cần... dụng được ngôn ngữ lập trình để cài đặt được một số thuật toán, biểu diễn dữ liệu + Mục tiêu về thái độ: - Có tác phong suy nghĩ và làm việc hợp lý, khoa học và chính xác - Tự giác, tích cực trong học tập 2.1.2 Kế hoạch và nội dung dạy học Chương trình tin học lớp 10 chuyên tin gồm 123 tiết, trong đó có 70 tiết dành cho nội dung cơ bản và 53 tiết dành cho nội dung chuyên sâu - Nội dung cơ bản môn Tin. .. ) : x ∈ D ⊂ R n , trong đó D là tập hữu hạn phần tử, là miền các phương án; x là một phương án thuộc miền D Phương pháp nhánh cận được mô tả như sau: Từ miền D ta phân nhánh thành hai miền D1, D2, trên mỗi nhánh ta xây dựng hàm g xác định trên các miền D1, D2 để tính giá trị cận dưới Gọi β1 là cận dưới của nhánh D1, gọi β 2 là cận dưới của nhánh D2 So sánh giá trị các cận dưới β1 và β 2 , Nếu β1 ≤... vai trò bảng phương án trong các bài toán trò chơi nói riêng và trong các bài toán điều khiển nói chung • Trình bày các loại bảng phương án và cách khởi tạo, lưu trữ, khai thác ứng dụng; • Xác định quan hệ giữa bảng phương án và quy hoạch động trong một số mô hình trò chơi 29 TT Nội dung (15 tiết) Mức độ cần đạt Kỹ năng • Biết cách ứng dụng bảng phương án trong hai chế độ: + Chế độ bảng phương án ngoài... dung cơ bản môn Tin học cho các trường THPT, được qui định trong chương trình môn Tin học, lớp 10, ban hành kèm theo Quyết định số 17 16/2006/QĐ-BGDĐT ngày 05 tháng 5 năm2006 của Bộ trưởng Bộ Giáo dục và Đào tạo - Nội dung chuyên sâu bao gồm hai chủ đề mở rộng và chuyên sâu: Ngôn ngữ lập trình và Phân tích, thiết kế và cài đặt giải thuật + Nội dung chuyên sâu Ngôn ngữ lập trình sử dụng ngôn ngữ lập trình... chuẩn, cơ bản của môn Tin học lớp 11 THPT - Tiếp tục mở rộng và nâng cao các nội dung các chuyên đề đã có ở lớp 10 chuyên môn Tin học trường THPT chuyên - Trang bị một số chiến lược xây dựng thuật toán: Quy hoạch động, Lí thuyết trò chơi, + Mục tiêu về kĩ năng: - Vận dụng được các chiến lược thiết kế thuật toán để giải các bài toán cụ thể ở mức tương đối khó và khó - Thành thạo trong tổ chức dữ liệu,... nhánh cần phát triển trong bước tiếp theo Quá trình trên cứ lặp đi lặp lại cho đến khi không thể phân nhánh được nữa, lúc này ta có phương án tối ưu tạm thời trong quá trình tìm nghiệm của bài toán Gọi β * là nghiệm tối ưu tạm thời, lúc này thuật toán nhánh cận sẽ tiếp tục với những nhánh còn lại sao cho giá trị của hàm g tại đó nhỏ hơn β * Thuật toán phân nhánh của phương pháp nhánh cận có thể minh họa . mới phương pháp dạy và học của giáo viên và học sinh khối chuyên tin đang ngày càng được đẩy mạnh. Đề tài Ứng dụng phương pháp Nhánh cận trong dạy và học chuyên tin tại trường THPT Chuyên Quảng. gia và hướng đến có giải trong kỳ thi olympic tin học quốc tế. Đổi mới phương pháp dạy và học của khối chuyên tin tại trường THPT Chuyên Quảng Bình. Từ đó, giáo viên và học sinh nắm được phương. lam; Nhánh cận; Các thuật toán trên đồ thị; Các thuật toán trên Cây… Trong các lớp thuật toán trên tôi chọn đề tài Ứng dụng phương pháp Nhánh cận trong dạy và học chuyên tin tại trường THPT Chuyên

Ngày đăng: 06/07/2015, 10:23

Từ khóa liên quan

Mục lục

  • TT

  • Nội dung (20 tiết)

    • TT

    • Nội dung (33 tiết)

    • Kiến thức

    • Kỹ năng

    • Kiến thức

    • Kỹ năng

    • Kiến thức

    • Kỹ năng

    • Kiến thức

    • Kỹ năng

    • Kiến thức

    • Kỹ năng

    • Kiến thức

    • Kỹ năng

    • Kiến thức

    • Kỹ năng

    • Môi trường máy: Máy, Máy đơn, Máy song song, Xưởng công việc (Job Shop), Xưởng dây chuyền (Flow Shop), Xưởng mở (Open Shop).

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

Tài liệu liên quan