Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
0,9 MB
Nội dung
TOÁNRỜIRẠC CHƯƠNG II BÀI TOÁN ĐẾM PGS., NCVC., TS., LÊ HUY THẬP PGS.,TS Le Huy Thap NỘI DUNG CHƯƠNG II 2.1 Giới thiệu toán 2.2 Các nguyên lý đếm 2.3 Chia để trị (Quy toán con) 2.4 Hệ thức truy hồi 2.5 Phương pháp hàm sinh 2.6 Bài tập PGS.,TS Le Huy Thap 2.1 GIỚI THIỆU BÀI TOÁN ĐẾM PGS.,TS Le Huy Thap CÁC PHƯƠNG PHÁP GiẢ BÀI TOÁN ĐẾM PGS.,TS Le Huy Thap CÁC NGUYÊN LÝ CƠ BẢN Nguyên lí cộng Ví dụ PGS.,TS Le Huy Thap Nguyên lí nhân PGS.,TS Le Huy Thap Ví dụ Cho = {A, B, C, D, E} tìm số cách xếp để A không cạnh B? Giải: Số cách xếp (bất kỳ không cần A cạnh B) 5! = 120 Khi A cạnh B xem, xem A, B chung vị trí số cách xếp 4! = 24 Số cần nhân A cạnh B có cách AB, BA có 48 cách xếp A cạnh B Còn số cách xếp A không cạnh B 120 – 48 = 72 Ví dụ Cho = {A, B, …X, Z, 0,1, …, 9} Tìm số cách xếp kí hiệu thuộc với điều kiện phải có có kí tự? Giải Phần kí tự là: 262 khả (chẳng hạn trước hết lấy A sau lấy thêm kí tự A, B, C, …Z ta 26 cách: A A, A B, A C, …., A Z ….) Tương tự phần số ta có kí số nên có 104 khả Vậy số cách xếp 262 104 = 760 000 PGS.,TS Le Huy Thap Ví dụ Máy tính phải làm phép so sánh dùng thuật toán bọt (dãy có n phần tử a[1], a[2], …, a[n]): For i = to n For j = n downto i If a[j1] < a[j] then Swap(a[j1], a[j]) Endfor Endfor Giải Ta chia số phép so sánh thành lớp theo i (i = 2, 3, …n có n1 vòng lặp) Mỗi i phải dùng phải dùng n – (i1) = n – i + phép so sánh tông phép so sánh là: (n1) + (n2) + … + = n(n1)/2 Đó thuật toán bọt phải so sánh tất cặp hai phần tử khác từ n phần tử PGS.,TS Le Huy Thap 2.2 CÁC NGUYÊN LÝ ĐẾM CÕ BẢN 2.2.1.Nguyên lý cộng Nếu A B hai tập rời nhau, tức A B = |A B| = |A| + |B|, | Z | số phần tử Z Nếu { A1, A2, … An } đôi rời (tức phân hoạch tập hợp X) Ai Aj = i j X = A1A2 … An |X| = |A1| + |A2| + … +An| Giả sử có k công việc T1, T2, , Tk Công việc Ti có ni cách thực giả sử hai công việc làm đồng thời Khi số cách để làm k việc n1+n2+ + nk Ví dụ Tìm số cách chọn mà sinh viên chọn làm thực hành máy tính từ ba danh sách tương ứng có 23, 15 19 bài? Giải Theo nguyên lý cộng có 23 + 15 + 19 = 57 cách chọn thực hành PGS.,TS Le Huy Thap Ví dụ Giá trị biến m sau đoạn chương trình sau thực hiện? m := for i1 := to n1 m := m+1 for i2 :=1 to n2 m := m+1 for ik := to nk m := m+1 Giải Do vòng lặp thực đồng thời nên theo nguyên lý cộng, giá trị cuối m số cách thực số nhiệm vụ Ti, tức m = n1+n2+ + nk Ví dụ Từ Hà nội TP Hồ Chí Minh có cách; Cách máy bay, ngày có chuyến Cách ô tô, mỗ ngày có chuyến Cách tàu hỏa, ngày có chuyến Do cách thực đồng thời nên theo nguyên lý cộng, số cách chọn là: + + = 18 cách PGS.,TS Le Huy Thap 10 Phương pháp giải PGS.,TS Le Huy Thap 42 Trường hợp nghiệm phân biệt PGS.,TS Le Huy Thap 43 Ví dụ 21 PGS.,TS Le Huy Thap 44 BÀI TẬP PGS.,TS Le Huy Thap 45 Trường hợp nghiệm kép PGS.,TS Le Huy Thap 46 Ví dụ 22 PGS.,TS Le Huy Thap 47 BÀI TẬP PGS.,TS Le Huy Thap 48 Trường hợp nghiệm phức PGS.,TS Le Huy Thap 49 Ví dụ 23 PGS.,TS Le Huy Thap 50 Trường hợp tổng quát PGS.,TS Le Huy Thap 51 BÀI TẬP PGS.,TS Le Huy Thap 52 Phương pháp hàm sinh (Kip4+6 thu207/9) PGS.,TS Le Huy Thap 53 Một số khai triển thường gặp PGS.,TS Le Huy Thap 54 Ví dụ 24 Việc tính đáp số cần nhiều tính toán, gải máy tính dễ dàng! PGS.,TS Le Huy Thap 55 BÀI TẬP PGS.,TS Le Huy Thap 56 ... Các thủ tục gọi thuật toán chia để trị hay quy toán Giả sử thuật toán phân chia toán cỡ n thành a toán nhỏ, toán nhỏ có cỡ để đơn giản giả sử n chia hết cho b; thực tế toán nhỏ thường có cỡ... 2.3 CHIA ĐỂ TRỊ (QUY VỀ BÀI TOÁN CON) Nhiều thuật toán đệ quy chia toán với thông tin vào cho thành hay nhiều toán nhỏ Sự phân chia áp dụng liên tiếp tìm lời giải toán nhỏ cách dễ dàng Chẳng... thường có cỡ n n [ ] b b Giả sử tổng phép toán thêm vào thực phân chia toán cỡ n thành toán có cỡ nhỏ g(n) Khi đó, f(n) số phép toán cần thiết để giải toán cho f thỏa mãn hệ thức truy hồi sau: