Tài liệu ôn tập tin học lớp 12 kiểm tra, thi bồi dưỡng học sinh tham khảo (3).DOC

95 2.4K 2
Tài liệu ôn tập tin học lớp 12 kiểm tra, thi bồi dưỡng học sinh tham khảo (3).DOC

Đ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ột số vấn đề chọn lọc môn Tin học I Quy hoạch động Phơng pháp quy hoạch động Các bớc thực Hạn chế quy hoạch động Một vài ví dụ II Một số toán tiêu biểu (Phát biểu, phân tích thuật toán tổ chức liệu, chơng trình) III IV I Các tập luyện tập Đề Hớng dẫn Các đề tự giải quy họach động Phơng pháp quy hoạch động Phơng pháp quy hoạch động nguyên lý tối u đợc nhà toán học Mỹ R.Bellman đề xuất vào năm 50 kỷ 20 Phơng pháp đà đợc áp dụng để giải hàng loạt toán thực tế trình kỹ thuật công nghệ, tổ chức sản xuất, kế hoạch hoá kinh tế Tuy nhiên cần lu ý có số toán mà cách giải quy hoạch động tỏ không thích hợp Trong thực tế, ta thờng gặp số toán tối u loại sau: Có đại lợng f hình thành trình gồm nhiều giai đoạn ta quan tâm đến kết cuối trị f phải lớn nhỏ nhất, ta gọi chung giá trị tối u f Giá trị f phụ thuộc vào đại lợng xuất toán mà giá trị chúng đợc gọi trạng thái hệ thống phụ thuộc vào cách thức đạt đợc giá trị f giai đoạn mà cách thức đợc gọi điều khiển Đại lợng f thờng đợc gọi hàm mục tiêu trình đạt đợc giá trị tối u f đợc gọi trình điều khiển tối u Quy hoạch động Một số vấn đề chọn lọc môn Tin học Bellman phát biểu nguyên lý tối u (cũng gọi nguyên lý Bellman) nh sau: " Với trình điều khiển tối u, trạng thái bắt đầu A 0, chừng ta đến trạng thái A phần trình kể từ trạng thái A xem nh trạng thái bắt đầu tối u." Chú ý nguyên lý đợc thừa nhận không chứng minh Phơng pháp tìm điều khiển tối u theo nguyên lý Bellman thờng đợc gọi quy hoạch động Thuật ngữ nói lên đợc thực chất trình điều khiển động: số bớc lựa chọn điều khiển tối u dờng nh không tốt nhng tựu chung trình lại tốt Ta giải thích ý qua toán sau: Cho dÃy N số nguyên A1, A2, , AN HÃy tìm cách xoá số số hạng để dÃy lại đơn điệu hay tơng đơng hÃy chọn số nhiều số hạng cho dÃy B gồm số hạng theo trình tự xuất dÃy A đơn điệu Quá trình chọn dÃy B đợc điều khiển qua N giai đoạn để đạt đợc mục tiêu số lợng số hạng dÃy B nhiều nhất, điều khiển giai đoạn i thể việc chọn hay không chọn Ai vào dÃy B Giả sử dÃy đà cho 10 Nếu ta chọn lần l ợt 1, 8, 10 chọn đợc số hạng nhng bỏ qua 10 ta chọn đợc sè h¹ng 1, 2, 4, 6, Khi giải số toán cách chia để trị , chuyển việc giải toán kích thớc lớn việc giải nhiều toán kiểu có kích thớc nhỏ Các thuật toán thờng đợc thể chơng trình đệ quy Khi đó, thùc tÕ, nhiỊu kÕt qu¶ trung gian ph¶i tÝnh nhiỊu lần Vậy ý tởng quy hoạch động thật đơn giản: tránh tính toán lại thứ hai lần, mà lu giữ kết qủa đà tìm kiếm đợc vào bảng làm giả thiết cho việc tìm kiếm kết trờng hợp sau Chúng ta làm đầy dần giá trị bảng kết trờng hợp trớc đà đợc giải Kết cuối kết toán cần giải Nói cách khác phơng pháp quy hoạch động đà thể sức mạnh nguyên lý chia để trị đến mức cực độ Quy hoạch động Một số vấn đề chọn lọc môn Tin học Quy hoạch động kỹ thuật thiết kế bottom-up (từ dới lên) Nó đợc bắt đầu với trờng hợp nhỏ (thờng đơn giản giải đợc ngay) Bằng cách tổ hợp kết đà có (không phải tính lại) trờng hợp con, đạt tới kết trờng hợp có kích thớc lớn dần lên tổng quát hơn, cuối đạt tới lời giải trờng hợp tổng quát Trong số trờng hợp, giải toán A, trớc hết ta tìm họ toán A(p) phơ thc tham sè p (cã thĨ p lµ véc tơ) mà A(p 0)=A với p0 trạng thái ban đầu toán A Sau tìm cách giải họ toán A(p) với tham số p cách áp dụng nguyên lý tối u Bellman Cuối cho p=p nhận đợc kết toán A ban đầu Các bớc thực quy hoạch động Bớc 1: Lập hệ thức ã Dựa vào nguyên lý tối u tìm cách chia trình giải toán thành giai đoạn sau tìm hệ thức biểu diễn tơng quan định bớc xử lý với bớc đà xử lý trớc Hoặc tìm cách phân rà toán thành "bài toán con" tơng tự có kích thớc nhỏ hơn, tìm hệ thức nêu quan hệ kết toán kích thớc đà cho với kết "bài toán con" kiểu có kích thớc nhỏ nhằm xây dựng phơng trình truy toán (dạng hàm thủ tục đệ quy) ã Về cách xây dựng phơng trình truy toán: Ta chia việc giải toán thành N giai đoạn Mỗi giai đoạn i có trạng thái ban đầu t(i) chịu tác động điều khiển d(i) biến thành trạng thái t(i+1) giai đoạn i+1 (i=1,2, ,n-1) Theo nguyên lý tối u Bellman việc tối u giai đoạn cuối không làm ảnh hởng đến kết toàn toán Với trạng thái ban đầu t(N) sau làm giai đoạn N tốt ta có trạng thái ban đầu giai đoạn N-1 t(N-1) tác động điều khiển giai đoạn N-1 d(N-1), tiếp tục xét ®Õn giai ®o¹n N-1 Sau tèi u giai ®o¹n N-1 ta lại có t(N-2) d(N-2) lại tiến hành tối u giai đoạn N-2 giai đoạn từ N giảm đến đợc tối u coi nh hoàn Quy hoạch động Một số vấn đề chọn lọc môn Tin học thành toán Gọi giá trị tối u toán tính đến giai đoạn k F k, giá trị tối u toán tính riêng giai đoạn k G k Fk = Fk-1 + Gk Hay lµ: Fk(t(k)) = Max { Gk(t(k), d(k)) + Fk-1 (t(k-1))} (*) ∀d(k) Bíc 2: Tỉ chøc d÷ liƯu chơng trình Tổ chức liệu cho đạt yêu cầu sau: a- Dữ liệu đợc tính toán dần theo bớc b- Dữ liệu đợc lu trữ để giảm lợng tính toán lặp lại c- Kích thớc miền nhớ dành cho lu trữ liệu nhỏ tốt, kiểu liệu đợc chọn phù hợp, nên chọn đơn giản dễ truy cập Cụ thể: ã Các giá trị Fk thờng đợc lu trữ bảng (mảng chiều hai, ba v.v chiều) ã Cần lu ý khởi trị giá trị ban đầu bảng cho thích hợp, kết toán có kích cỡ nhỏ toán giải F1(t(1)) = Max { G1(t(1),d(1)) + F0 (t(0))} D(1) ã Dựa vào công thức, phơng trình truy toán (*) giá trị đà có bảng để tìm dần giá trị lại bảng ã Ngoài cần mảng lu trữ nghiệm tơng ứng với giá trị tối u giai đoạn ã Dựa vào bảng lu trữ nghiệm bảng giá trị tối u giai đoạn đà xây dựng, tìm kết toán Bớc 3: Làm tốt Quy hoạch động Một số vấn đề chọn lọc môn Tin học Làm tốt thuật toán cách thu gọn hệ thức (*) giảm kích thớc miền nhớ Thờng tìm cách dùng mảng chiều thay cho mảng hai chiều giá trị dòng (hoặc cột) mảng hai chiều phụ thuộc dòng (hoặc cột) kề trớc Trong số trờng hợp thay mảng chiều với giá trị phần tử nhận giá trị 0, mảng chiều cách dùng kỹ thuật quản lý bít Hạn chế quy hoạch động ã Việc tìm công thức, phơng trình truy toán tìm cách phân rà toán nhiều đòi hỏi phân tích tổng hợp công phu, dễ sai sót, khó nhận nh thích hợp, đòi hỏi nhiều thời gian suy nghĩ Đồng thời lúc kết hợp lời giải toán cho kết toán lớn ã Khi bảng lu trữ đòi hỏi mảng hai, ba chiều khã cã thĨ xư lý d÷ liƯu víi kÝch cì chiều lớn hàng trăm ã Có toán giải dợc quy hoạch động Một vài ví dụ Ví dụ 1: Tính tổ hợp chập k cđa n Chóng ta cã c«ng thøc truy håi quen thuéc lµ: k C k −1 + C n −1 < k < n k C n =  n −1 1 k = 0, n NÕu chóng ta tÝnh tỉ hỵp chËp k cđa n trùc tiÕp b»ng hµm: Function C(n,k) If (k=0) or (k=n) then C:= Else C:= C(n-1,k-1)+C(n-1,k) Quy ho¹ch ®éng Mét sè vÊn ®Ị chän läc m«n Tin học nhiều lần phải tính tính lại giá trị C(i,j) (i

Ngày đăng: 08/07/2015, 16:43

Từ khóa liên quan

Mục lục

  • Bài 6: (Nhân ma trận)

  • Hướng dẫn: Ma trận là mảng hai chiều. Phép nhân ma trận không giao hoán nhưng kết hợp: với 3 ma trận A, B, C nhân được với nhau ta có A(BC)=(AB)C. Điều kiện để có thể nhân ma trận A với ma trận B là số cột của A phải bằng số dòng của B. Nếu A có M dòng N cột và B có N dòng P cột thì ma trận tích C=AB có M dòng P cột và phần tử dòng i cột j của C được tính bằng công thức:

    • Bài 3: (Mua vé tàu hoả)

    • Bài 4: (Xếp lịch giảng) Một giáo viên cần giảng N vấn đề được đánh số từ 1 đến N (N<=1000). Mỗi một vấn đề i có thời gian là Ai (i=1... N). Mỗi vấn đề chỉ giảng không quá 1 buổi. Thời gian tối đa của một buổi là L (L<=500). Vấn đề i phải giảng trước vấn đề i+1. Trong một buổi có thể bố trí giảng vài vấn đề, nhưng nếu thừa lượng thời gian là t thì buổi đó được đánh giá là lãng phí thời gian với mức d :

      • Giả thiết

      • Dữ liệu vào

      • Dữ liệu ra

      • Ví dụ

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

Tài liệu liên quan