1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứ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

83 1,2K 12

Đ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

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 733 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 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: 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: 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 36

2.3.1 Mục đích 36

2.3.2 Kế hoạch và nội dung dạy học 36

Trang 2

2.4.1 Tiến trình dạy và học trên lớp 42

2.4.2 Tiến trình tự học của học sinh 43

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 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 73

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 78

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).

Trang 3

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

Trang 4

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, Tinhọc bậc Trung học phổ thông đã được thực hiện trong nhiều năm qua Quanhữ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ạocá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ớpcá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ớithế 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ớiviệ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 sinhgiỏi cấp Quốc gia và giành được nhiều huy chương trong các kỳ thi Olympicquố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ựurự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 Tinhọc quốc gia tham dự thi Olympic quốc tế đã đạt được nhiều thành tích nỗibậ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 đúnghướng

Để nâng cao chất lượng đào tạo mũi nhọn khối chuyên Tin học trườngTHPT Chuyên Quảng Bình các thầy cô giáo luôn luôn cố gắng đổi mớiphươ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ánthì 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

Trang 5

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ườngTHPT 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ộtcá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ộtvà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ảithậ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 chonê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ốichuyên tin đang ngày càng được đẩy mạnh Đề tài “Ứng dụng phương phápNhánh cận trong dạy và học chuyên tin tại trường THPT Chuyên QuảngBì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ọcsinh 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ỳ thiolympic 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 THPTChuyên Quảng Bình Từ đó, giáo viên và học sinh nắm được phương phápnhá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 đượccá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ănglinh 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ảimộ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ápnhánh cận một cách nhanh chóng và hiệu quả Nắm bắt được một số kỹ thuậtquan trọng trong việc tiếp cận bài toán, tìm và thiết kế thuật toán

Trang 6

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ươngtrình chuyên sâu môn tin học để thực hiện việc đổi mới phương pháp trongviệ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ìnhbằng ngôn ngữ lập trình Free Pascal để minh họa quá trình thực hiện thuậttoá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ớpbà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ựcquy 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ưathể 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ìnhtheo 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

2n 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 xi 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 xi + 1, xi + 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 để

Trang 7

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ảitoá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ácphầ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 đã đượcxây dựng, thực hiện và kiểm tra chương trình Cài đặt ứng dụng mô phỏngcho 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ántố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ápnhá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ọcdà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êubiể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ờirạ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ảithuật nâng cao và ngôn ngữ lập trình Turbo Pascal

Trang 8

CHƯƠNG 1PHƯƠ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ánnà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 x1, x2, … xn, khi đó thuật toánquay lui sẽ xét tất cả các giá trị x1 có thể nhận, thử cho x1 nhận lần lượt cácgiá trị đó Với mỗi giá trị thử gán cho x1, thuật toán sẽ xét tất cả các giá trị x2

có thể nhận, lại thử cho x2 nhận lần lượt các giá trị đó Với mỗi giá trị thử gáncho x2 lại xét tiếp các khả năng chọn x3, 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

«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»

Trang 9

«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 x1…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

001010011100101110111

Trang 10

Thuật toán:

Ta sẽ liệt kê các dãy này bằng cách thử dùng các giá trị {0, 1} gáncho xi Với mỗi giá trị gán cho xi lại thử các giá trị có thể gán cho xi+1, …Sau đây là chương trình liệt kê các dãy nhị phân với quy định khuôndạng Input/Output theo yêu cầu của bài toán

For j:='0' to '1' do //Xet cac gia tri j co the gan cho x[i]

Begin //Voi moi gia tri do

X[i]:=j; //Thu dat X[i]

Trang 11

Writeln(f,x) //Neu i = N thi in ket qua ra file

Khi N = 3, các lời gọi đệ quy thực hiện thuật toán quay lui có thể

vẽ như cây trong Hình 1-1

Bài toán liệt kê các tập con có K phần tử:

Cho tập A gồm các phần tử {1, 2, …, N} theo thứ tự tăng dần

Trang 12

Yêu cầu: Hãy viết chương trình liệt kê tất cả các tập con có k phần tử

theo thứ tự tăng dần là tập con của tập A

Dữ liệu vào: Cho trong file văn bản SUBSET.INP, có cấu trúc như sau:

- Dòng 1: Ghi hai số nguyên dương N và K (2 ≤ N ≤ 100, 1 ≤ K < N).

Dữ liệu ra: Ghi ra file văn bản SUBSET.OUT theo cấu trúc sau:

- Trên mỗi dòng: Ghi một tập con có độ dài k tìm được, các phần tử cách

sắp xếp các dãy này theo thứ tự từ điển ta nhận thấy:

- Tập con đầu tiên (cấu hình khởi tạo) là {1,2,…,k}.

- Tập con cuối cùng (cấu hình kết thúc) là {n - k + 1, n -k +2,…,n}

- Xét một tập con {x1…k} trong đó 1 ≤ x 1 < x 2 < …< x k ≤ n, ta có nhận xét rằng giới hạn trên (giá trị lớn nhất có thể nhận) của x k là n, của x k-1 là n - 1, của x k-2 là n - 2… Tổng quát: giới hạn trên của của x i là n - k + i.

Còn tất nhiên, giới hạn dưới (giá trị nhỏ nhất có thể nhận) của x i là x i -1 + 1.

Trang 13

x i -1 + 1 ≤ x i ≤ n - k + i

(Giả thiết rằng có thêm một số x 0 = 0 khi xét công thức trên với i = 1)

Thuật toán quay lui sẽ xét tất cả các cách chọn x 1 từ 1 (= x 0 +1) đến n

-k + 1, với mỗi giá trị đó, xét tiếp tất cả các cách chọn x 2 từ x 1 +1 đến n - k +

2, … cứ như vậy khi chọn được đến x k thì ta có một cấu hình cần liệt kê.

Dưới dây là chương trình liệt kê các tập con k phần tử bằng thuật toán

quay lui với khuôn dạng dữ liệu vào ra theo yêu cầu của bài toán

Trang 14

1.2.1 Bài toán tối ưu tổ hợp

Trong rất nhiều vấn đề ứng dụng thực tế của tổ hợp, các cấu hình của tổhợp còn được gán cho một giá trị bằng số đánh giá giá trị sử dụng của cấuhình đối với mục đích sử dụng cụ thể nào đó

Trang 15

chấp nhận được cấu hình có giá trị sử dụng tốt nhất Các bài toán như vậychúng ta sẽ gọi là bài toán tối ưu tổ hợp.

Dưới dạng tổng quát bài toán tối ưu tổ hợp có thể phát biểu như sau:Tìm cực tiểu (hay cực đại) của hàm f x     min(max), với điều kiện

x D  , trong đó D là tập hữu hạn các phần tử

Hàm f x được gọi là hàm mục tiêu của bài toán, mỗi phần tử   x D

được gọi là một phương án còn tậpDgọi là tập các phương án của bài toán.Tập Dđược mô tả như là tập các cấu hình tổ hợp thỏa mãn một số tínhchất cho trước nào đó

Phương án x* D đem lại giá trị nhỏ nhất (lớn nhất) cho hàm mục tiêu

được gọi là phương án tối ưu, khi đó f* f x * được gọi là giá trị tối ưu củabài toán

Một trong những phương pháp hiển nhiên nhất để giải bài toán tối ưu tổhợp đặt ra là: Trên cơ sở các thuật toán liệt kê tổ hợp ta tiến hành duyệt từngphương án của bài toán, đối với mỗi phương án ta đều tính giá trị hàm mụctiêu tại nó, sau đó so sánh giá trị hàm mục tiêu tại tất cả các phương án đượcliệt kê để tìm ra phương án tối ưu Phương pháp xây dựng theo nguyên tắcnhư vậy có tên gọi là phương pháp duyệt toàn bộ Duyệt toàn bộ là khó có thểthực hiện được ngay cả trên những máy tính điện tử hiện đại nhất

Ví dụ để liệt kê hết 15! = 1307674368000 hoán vị trên máy tính điện tửvới tốc độ tính toán 1 tỷ phép tính một giây, nếu để liệt kê một hoán vị cầnphải làm 100 phép tính, thì ta cần một khoảng thời gian là 130767 giây, lớnhơn 36 giờ Vì vậy cần phải có những biện pháp nhằm hạn chế việc tìm kiếmthì mới có hy vọng giải được các bài toán tối ưu tổ hợp thực tế

Trang 16

Tất nhiên để có thể đề ra những biện pháp như vậy cần phải nghiên cứu

kỹ tính chất của bài toán tối ưu tổ hợp cụ thể Trong một số trường hợp cụ thể

ta có thể xây dựng những thuật toán hiệu quả để giải bài toán đặt ra Tuynhiên phải nhấn mạnh rằng trong nhiều trường hợp (ví dụ bài toán người dulịch, bài toán cái túi, bài toán đồ thị con đầy đủ cực đại) chúng ta chưa thể xâydựng được phương pháp hữu hiệu nào khác ngoài phương pháp duyệt toàn bộ.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 cácthông tin đã tìm được để loại bỏ những phương án chắc chắn không phải tốiưu

Trong phần tiếp theo ta sẽ xét một sơ đồ tìm như vậy để giải các bài toántối ưu tổ hợp với tên gọi là thuật toán nhánh cận

1.2.2 Cách giải một bài toán bằng phương pháp nhánh cận

Ta sẽ mô tả tư tưởng của thuật toán trên mô hình bài toán tối ưu tổ hợptổng quát sau:

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 ≤  2 thì bước tiếp theo 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

Trang 17

trị cận dưới  11 và  12 để chọn 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úcnà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ọabằng sơ đồ sau:

(* Phát triển phương án bộ phận (a1, a2, …ak-1) theo thuật toán quay lui

có kiểm tra cận dưới trước khi tiếp tục phát triển phương án*)

D *

Trang 18

<Cập nhật kỷ lục>

else

if g a a 1, , ,2  ak ≤ f then

Try(k+1)End;

Trang 19

CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC

TRƯỜNG THPT CHUYÊN2.1 CHƯƠNG TRÌNH CHUYÊN SÂU MÔN TIN HỌC KHỐI 10

- Trang bị kiến thức cơ bản về một số thuật toán, giải thuật

- Trang bị một số kiến thức cơ bản về ngôn ngữ lập trình

+ Mục tiêu về kĩ năng:

- Thực hiện được một số thuật toán cơ bản

- Vận dụng dụng được một số thuật toán cơ bản để giải một số bài toán

- Bước đầu sử dụng được ngôn ngữ lập trình để cài đặt được một số thuậttoá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ếtdà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 học cho các trường THPT, được qui địnhtrong chương trình môn Tin học, lớp 10, ban hành kèm theo Quyết định số

Trang 20

16/2006/QĐ-BGDĐT ngày 05 tháng 5 năm2006 của Bộ trưởng Bộ Giáo dục

1 Khái niệm chương trình

Trang 21

 Với mỗi biến có kiểu dữ liệu trên, biếtcách nhận giá trị (từ bàn phím và dùnglệnh gán) và cách viết giá trị ra màn hình

Kĩ năng

 Biết chọn kiểu dữ liệu thích hợp cho cácbiến cần khai báo

 Biết dùng một số hàm chuẩn và thủ tụcchuẩn viết một số chương trình dùng cáckiểu dữ liệu trên

Trang 22

TT Nội dung (20 tiết) Mức độ cần đạt

6 Tổ chức rẽ nhánh

Kiến thức

Hiểu được các câu lệnh này dùng để thểhiện các tình huống phải biện luận khi giảicác bài toán

Biết cách viết đúng các lệnh về mặt cúpháp

Kĩ năng

Sử dụng được các lệnh để viết các đoạnchương trình có biện luận cấu trúc rẽnhánh trong mô tả thuật toán của môt sốbài toán đơn giản

Viết được các lệnh rẽ nhánh khuyết, rẽnhánh đầy đủ và áp dụng để thể hiện đượcthuật toán của một số bài toán đơn giản

Trang 23

Biết cách khai báo biến kiểu bản ghi.

Biết truy cập trực tiếp các trường và truycập bằng lệnh With Do

Kỹ năng

Sử dụng được loại biến bản ghi một cáchlinh hoạt

Trang 24

TT Nội dung (20 tiết) Mức độ cần đạt

10 Kiểu tập hợp

Kiến thức

 Biết cách khai báo dữ liệu kiểu tập hợpvới các hạn chế so với tập hợp dùngtrong Toán học

 Biết các hàm chuẩn và thủ tục chuẩnđối với kiểu tập hợp

Kỹ năng

Sử dụng được kiểu tập hợp thể hiện một

số đối tượng trong một số bài toán

 Biết các lệnh khai báo tệp định kiểu vàtệp văn bản

Kĩ năng

 Biết các thao tác tệp, chủ yếu là tệpvăn bản

Trang 25

12 Chương trình con

Kiến thức

Biết sự cần thiết của việc tổ chứcchương trình con khi viết chương trình-chia để trị

Biết sự phân loại chương trình con: thủ tục vàhàm

Biết cấu trúc một chương trình con

1 Khái niệm bài toán và

Biết các yếu tố để đánh giá một thuật toán tốt

Kỹ năng

Đánh giá được độ phức tạp của một sốthuật toán cơ bản

Trang 26

TT Nội dung (33 tiết) Mức độ cần đạt

3

Một số thuật toán duyệt: tổ

hợp, dãy nhị phân, hoán

vị, phân chia số

Kiến thức

Biết các thuật toán duyệt tuần tự và duyệt

đệ quy các tổ hợp, dãy nhị phân, hoán vị,phân chia số

Biết một số thuật toán tiêu biểu: tìm kiếmnhị phân, luỹ thừa nhanh

Kỹ năng

Vận dụng được để giải một số bài toánkhác và cài đặt được trên máy tính

Trang 27

Cài đặt được các cách biểu diễn đồ thị.

7 Bài toán tìm đường đi

Trang 28

+ Mục tiêu về kiến thức:

- Mở rộng và nâng cao hệ thống chuẩn, cơ bản của môn Tin học lớp 11THPT

- 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,

- Có ý thức xây dựng các thuật toán tốt cho các bài toán cụ thể

- 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ánmộ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,5tiế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ố 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

Trang 29

động; Lý thuyết trò chơi; Duyệt toàn bộ nâng cao; Bài toán luồng cực đạitrong mạng và ứng dụng; Bài toán lập lịch.

+ Nội dung chuyên sâu chuyên đề Quy hoạch động:

1 Bài toán có thể giải bằng

thuật toán QHĐ

Kiến thức

Biết nguyên lí tối ưu, đặc trưng các bàitoán có thể giải bằng thuật toán QHĐ, đặctrưng chính của thuật toán QHĐ

Phân biệt sự giống và khác nhau căn bảngiữa thuật toán QHĐ và Đệ quy

Hiểu các khái niệm cơ bản: cở sở, bảng phương

án, công thức truy hồi, các truy vết để tìm nghiệm

Trang 30

TT Nội dung (15 tiết) Mức độ cần đạt

- Bài toán xâu con chung dài

nhất;

- Bài toán biến đổi xâu;

- Bài toán cái túi;

- Bài toán lũy thừa một số;

- Bài toán nhân các ma trận;

- Bài toán chia đa giác thành

các tam giác;

Cài đặt được chương trình và thử nghiệmchương trình với các bộ dữ liệu khác nhau

+ Nội dung chuyên sâu chuyên đề Lý thuyết trò chơi:

1

Khái niệm bài toán trò

chơi Phân loại Một số bài

toán bài toán trò chơi kinh

điển

Kiến thức

Hiểu khái niệm về trò chơi đối kháng vàkhông đối kháng, đặc trưng của bài toán tròchơi, khái niệm chiến lược điều khiển, hàmmục tiêu

Biết các loại yêu cầu thường gặp đối vớibài toán trò chơi

Biết các bài toán trò chơi kinh điển: cờ ca

rô, trò chơi Nim, trò chơi trên băng giấy vàtrên bàn cờ, trò chơi nhận dạng cấu hình

Kỹ năng

Biết cách lập trình tìm nước đi hợp lệ,nước đi tối ưu cục bộ

2 Trò chơi trên đồ thị Kiến thức

Biết cách xây dựng mô hình toán học trên

Trang 31

cơ sở lý thuyết đồ thị.

Phân biệt hai loại mô hình: dạng cây vàdạng có chu trình tương ứng với các trườnghợp tài nguyên hữu hạn và tài nguyên vôhạn;

Giới thiệu hàm Grandi và ứng dụng

Kỹ năng

Biết cách xây dựng mô hình toán học vàcách tổ chức dữ liệu cho một số bài toán tròchơi kinh điển

Tìm được tập đỉnh thắng, thua, hoà

Lập trình tổ chức chơi giữa người và máy,xây dựng được mô hình trí tuệ nhân tạođơn giản

Biết cách kiểm tra tính chuẩn mực của dữliệu vào

3 Kỹ thuật bảng phương án. Kiến thức

Giới thiệu khái niệm bảng phương án và

kỹ thuật dữ liệu hoá chiến lược điều khiể;xác định vai trò bảng phương án trong cácbài toán trò chơi nói riêng và trong các bàitoá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ìnhtrò chơi

Kỹ năng

Trang 32

TT Nội dung (15 tiết) Mức độ cần đạt

Biết cách ứng dụng bảng phương án tronghai chế độ:

Biết cách ứng dụng bảng phương án giảiquyết một số bài toán có lô gíc phức tạp

4 Trò chơi và trí tuệ nhân

tạo

Kiến thức

Giới thiệu về suy diễn, biểu diễn các suydiễn, khái niệm lập trình lôgic và ứng dụngtrong các bài toán trò chơi

Giới thiệu một số phương pháp nâng caohiệu quả chương trình bằng kỹ thuật lậptrình nhiều giai đoạn

Kỹ năng

Biết cách dùng máy tính để hỗ trợ việcxây dựng một chương trình hiệu quả vàđơn giản

Trang 33

TT Nội dung (5 tiết) Mức độ cần đạt

Hiểu được lược đồ tổng quát của mộtthuật toán quay lui

2

Một số bài toán thường gặp

được giải bằng duyệt toàn

- Bài toán xếp 8 quân hậu;

- Bài toán mã đi tuần

Kiến thức

Hiểu cách xác định các bước xây dựngvectơ ứng cử viên và kiểm tra để tìmnghiệm của mỗi bài toán cụ thể

Trang 34

TT Nội dung (5 tiết) Mức độ cần đạt

1 Biểu diễn đồ thị, duyệt đồ

Cài đặt được các thuật toán BFS và DFS

2 Bài toán luồng cực đại

Hiểu các nội dung:

- Lát cắt và đường tăng luồng

- Định lý về luồng cực đại và lát cắthẹp nhất

Kĩ năng

Vận dụng được định lí trong các bài toán

cụ thể

4 Thuật toán Ford - Fulkerson

tìm luồng cực đại trong mạng

Kiến thức

Hiểu các nội dung:

- Mô tả thuật toán

- Về hiệu quả của thuật toán

Trang 35

- Thuật toán cải biên của Edmond-Karp

Kĩ năng

Cài đặt tốt chương trình cho thuật toán

5 Một số bài toán luồng tổng

quát

Kiến thức

Hiểu các nội dung:

- Mạng với nhiều điểm phát và điểm thu

- Bài toán với khả năng thông qua củacác cung và các đỉnh

- Mạng trong đó khả năng thông quacủa mỗi cung bị chặn hai phía

Hiểu một số bài toán:

- Bài toán ghép cặp trên đồ thị hai phía

- Bài toán về hệ thống đại diện chung

- Bài toán lập lịch

Kĩ năng

Cài đặt được chương trình cho các thuậttoán giải các bài toán

+ Nội dung chuyên sâu chuyên đề Bài toán lập lịch:

1 Giới thiệu bài toán lập lịch

1.1 Các thành phần của bài

toán lập lịch

Kiến thức

Hiểu các khái niệm về:

Công việc: Trình tự thực hiện, Ngắt quãng,

Trang 36

TT Nội dung (5 tiết) Mức độ cần đạt

Thời điểm sẵn sàng, Thời gian xử lý, Thờiđiểm hoàn thành, Thời gian trôi, Thời gianchờ đợi, Thời hạn hoàn thành, Thời gianlệch, Khoảng trễ, Độ trễ, Đúng hạn

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).

Hàm mục tiêu: Thời điểm hoàn thành lịch

(Makespan), Tổng (có trọng số) thời gian

xử lý (Total (Weighted) Completion Time),Thời gian trôi trung bình (có trọng số)((Weighted) Mean Flow Time), Thời gianchờ đợi trung bình (Mean Waiting Time),Khoảng trễ (Lateness), Độ trễ, Đúng hạn,Tiêu chuẩn tổng quát, Qui dẫn giữa các bàitoán lập lịch

1.2 Ký pháp Graham ||

Kiến thức

Hiểu biết các khái niệm:

- Trường mô tả môi trường máy 

- Trường mô tả các ràng buộc vàthuộc tính của công việc 

- Trường mô tả tiêu chuẩn tối ưu 

2 Một số phương pháp giải

cơ bản

2.1 Giải thuật tham lam Kiến thức

Hiểu biết các thuật toán:

Trang 37

- Thời gian xử lý lớn nhất (LongestProcessing Time, viết tắt là LPT)

- Thời gian xử lý nhỏ nhất (ShortestProcessing Time, viết tắt là SPT)

- Thời gian xử lý có trọng số nhỏ nhất(Weighted Shortest Processing Time -WSPT)

- Thời hạn hoàn thành sớm nhất (EarliestDue Date- EDD)

- Thời gian lệch nhỏ nhất (Minimum SlackTime - MST)

- Lập luận hoán đổi

- Các ví dụ ứng dụng: Bài toán 1| | C j

Bài toán 1||Lmax Bài toán 1|r j , pmtn|Lmax

Bài toán 1|r j , pmtn|C j Bài toán 1|prec|hmax

- Thuật toán Lawler Thuật toán Johnson

giải bài toán F2||Cmax

Kĩ năng

Cài đặt bảng chương trình cho các thuậttoán trên

2.2 Qui hoạch động Kiến thức

Hiểu biết các thuật toán:

- Bài toán lập lịch cực đại lợi nhuận 1| |

Trang 38

TT Nội dung (5 tiết) Mức độ cần đạt

toán trên

2.3 Qui về bài toán tối ưu

trên đồ thị

Kiến thức

Hiểu biết các nội dung:

- Bài toán lập lịch thi công (PERT)

- Qui dẫn bài toán R||C j về bài toán ghépcặp trên đồ thị hai phía

Hiểu biết các nội dung:

- Sơ đồ chung của thuật toán nhánh cận

- Ví dụ áp dụng: Bài toán 1|r i |Lmax

- Tiếp tục mở rộng và nâng cao các nội dung các chuyên đề đã có ở lớp

10, 11 chuyên, môn Tin học trường THPT chuyên

Trang 39

hình học; Độ phức tạp của bài toán; Các cấu trúc dữ liệu nâng cao; Các cáchtiếp cận giải bài toán NP-khó; Các thuật toán tiến hóa.

- Có ý thức xây dựng các thuật toán tốt cho các bài toán cụ thể

- 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ánmột cách hiệu quả

2.3.2 Kế hoạch và nội dung dạy học

Chương trình tin học lớp 12 chuyên tin gồm 87,5 tiết, trong đó có 52,5tiế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 12, ban hành kèm theo Quyết định số 16/2006/QĐ-BGDĐT ngày 05 tháng 5 năm 2006 của Bộ trưởng Bộ Giáo dục

và Đào tạo

- Nội dung chuyên sâu bao gồm bốn chuyên đề:

Tính toán hình học;

Độ phức tạp của bải toán;

Cấu trúc dữ liệu nâng cao;

Các cách tiếp cận bài toán NP-Khó

+ Nội dung chuyên sâu chuyên đề Tính toán hình học:

Trang 40

TT Nội dung (12 tiết) Mức độ cần đạt

1 Điểm, đoạn thẳng, giao các

Kĩ năng

Xác định được kiểu dữ liệu dùng trong

xử lí đa giác

Cài đặt được các hàm, thủ tục tương ứng

2 Đường khép kín đơn

Kiến thức

Biết cách vẽ đường khép kín đơn đi qua

n điểm cho trước

Kĩ năng

Tính diện tích của đa giác

Cài đặt được các thủ tục chuẩn

4 Bao lồi Thuật toán bọc gói Kiến thức

Hiểu được định nghĩa bao lồi và trườnghợp tối thiểu bao lồi là một tam giác, tối

đa là đa giác lồi gồm đúng n điểm

Hiểu được thuật toán bọc gói

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

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w