1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng Toán rời rạc 1: Phần 1

44 18 0

Đ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

Nội dung

Bài giảng Toán rời rạc 1: Phần 1 cung cấp cho học viên những kiến thức về logic, tập hợp và ứng dụng; vị từ và lượng từ; biểu diễn tập hợp trên máy tính; bài toán đếm; những nguyên lý đếm cơ bản; nguyên lý bù trừ; đếm các hoán vị và tổ hợp; hệ thức truy hồi;... Mời các bạn cùng tham khảo!

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG  KHOA CƠNG NGHỆ THƠNG TIN BÀI GIẢNG TỐN RỜI RẠC NGUYỄN DUY PHƯƠNG HàNội 2016 LỜI GIỚI THIỆU Toán rời rạc lĩnh vực nghiên cứu xử lý đối tƣợng rời rạc Toán rời rạc dùng để đếm, quan sát, xử lý mối quan hệ đối tƣợng tập hợp khác Bản chất tính tốn máy tính rời rạc Chính vậy, tốn học rời rạc đƣợc xem mơn học kinh điển cho sinh viên ngành Công nghệ thông tin Điện tử Viễn thông Tài liệu hƣớng dẫn mơn học tốn học rời rạc đƣợc xây dựng dựa sở kinh nghiệm giảng dạy môn học kế thừa nội dung từ giáo trình “Tốn học rời rạc ứng dụng tin học” Kenneth Rossen Tài liệu đƣợc trình bày thành hai phần: Lý thuyết tổ hợp (Toán rời rạc 1) Lý thuyết đồ thị (Tốn rời rạc 2) Phần I trình bày kiến thức lý thuyết tổ hợp thông qua việc giải bốn tốn là: Bài toán đếm, Bài toán tồn tại, Bài toán liệt kê Bài tốn tối ƣu Phần II trình bày kiến thức Lý thuyết đồ thị: khái niệm, định nghĩa, thuật toán đồ thị, đồ thị Euler, đồ thị Hamilton Một số tốn có ứng dụng thực tiễn quan trọng khác lý thuyết đồ thị đƣợc trọng giải Bài tốn tơ màu đồ thị, Bài tốn tìm đƣờng ngắn Bài tốn luồng cực đại mạng Trong phần tài liệu, chúng tơi cố gắng trình bày ngắn gọn trực tiếp vào chất vấn đề Các thuật tốn đƣợc trình bày cài ngơn ngữ lập trình C++ Mặc dù cẩn trọng trình biên soạn, nhiên tài liệu khơng tránh khỏi thiếu sót hạn chế Chúng tơi mong đƣợc góp ý quí báu tất đọc giả bạn đồng nghiệp Hà nội, tháng 12 năm 2016 MỤC LỤC CHƢƠNG LOGIC, TẬP HỢP VÀ ỨNG DỤNG 1.1 Giới thiệu chung 1.2 Những kiến thức Logic mệnh đề 1.2.1 Định nghĩa & phép toán 1.2.2 Sự tƣơng đƣơng mệnh đề 1.2.3 Dạng chuẩn tắc 1.3 Vị từ lƣợng từ 10 1.4 Một số ứng dụng máy tính 12 1.5 Những kiến thức lý thuyết tập hợp 15 1.5.1 Khái niệm & định nghĩa 15 1.5.2 Các phép toán tập hợp 16 1.5.3 Các đẳng thức tập hợp 17 1.6 Biểu diễn tập hợp máy tính 18 1.7 Những nội dung cần ghi nhớ 19 BÀI TẬP CHƢƠNG 19 CHƢƠNG BÀI TOÁN ĐẾM 21 2.1 Những nguyên lý đếm 21 2.1.1 Nguyên lý cộng 21 2.1.2 Nguyên lý nhân 22 2.2 Nguyên lý bù trừ 24 2.3 Đếm hoán vị tổ hợp 27 2.3.1 Chỉnh hợp lặp 27 2.3.2 Chỉnh hợp không lặp 27 2.3.3 Hoán vị 28 2.3.4 Tổ hợp 28 2.3.5 Tổ hợp lặp 30 2.4 Hệ thức truy hồi 31 2.4.1 Định nghĩa ví dụ 31 2.4.2 Giải cơng thức truy hồi tuyến tính với hệ số số 34 2.5 Qui toán đơn giản 38 2.6 Phƣơng pháp liệt kê 40 BÀI TẬP CHƢƠNG 43 CHƢƠNG BÀI TOÁN LIỆT KÊ 45 3.1- Giới thiệu toán 45 3.2 Thuật toán độ phức tạp tính tốn 46 3.2.1 Ví dụ Định nghĩa 46 3.2.2 Phƣơng pháp biểu diễn thuật toán: 46 3.2.3 Độ phức tạp tính tốn 48 3.2.4 Qui tắc xác định độ phức tạp thuật toán 51 3.3 Phƣơng pháp sinh 54 3.4 Thuật toán quay lui (Back track) 64 3.5 Những nội dung cần ghi nhớ 70 BÀI TẬP CHƢƠNG 71 CHƢƠNG BÀI TOÁN TỐI ƢU 74 4.1 Giới thiệu toán 74 4.2 Phƣơng pháp duyệt toàn 77 4.3 Thuật toán nhánh cận 80 4.4 Kỹ thuật rút gọn giải toán ngƣời du lịch 90 4.4.1.Thủ tục rút gọn 91 4.4.2.Thủ tục chọn cạnh phân nhánh (r,c) 94 4.4.3.Thuật toán nhánh cận giải toán ngƣời du lịch 99 4.5 Những điểm cần ghi nhớ 100 BÀI TẬP CHƢƠNG 100 CHƢƠNG BÀI TOÁN TỒN TẠI 102 4.1 Giới thiệu toán 102 5.2 Phƣơng pháp phản chứng 105 5.3 Nguyên lý Dirichlet 106 5.4 Những nội dung cần ghi nhớ 107 BÀI TẬP 108 CHƢƠNG LOGIC, TẬP HỢP VÀ ỨNG DỤNG Nội dung chƣơng đề cập đến kiến thức logic mệnh đề, lý thuyết tập hợp ứng dụng Nội dung chƣơng bao gồm:  Logic mệnh đề ứng dụng  Logic vị từ ứng dụng  Lý thuyết tập hợp ứng dụng  Một số ứng dụng logic tập hợp tin học  Bài tập chƣơng Bạn đọc tìm thấy kiến thức sâu chi tiết tài liệu [1] [2] tài liệu tham khảo 1.1 Giới thiệu chung Tổ hợp lĩnh vực quan trọng toán học rời rạc đề cập tới nhiều vấn đề khác toán học Lý thuyết Tổ hợp nghiên cứu việc phân bố phần tử vào tập hợp Thông thƣờng phần tử tập hợp hữu hạn việc phân bố chúng phải thoả mãn điều kiện định tuỳ theo u cầu tốn Mỗi cách phân bố đƣợc coi “cấu hình tổ hợp” Các cấu hình tổ hợp đƣợc xem xét nhƣ lời giải toán đếm, toán liệt kê, toán tồn hay toán tối ưu Bài toán đếm: dạng toán nhằm trả lời câu hỏi “có cấu hình thoả mãn điều kiện nêu?” Bài toán đếm đƣợc áp dụng có hiệu vào cơng việc mang tính chất đánh giá nhƣ xác suất xảy kiện, thời gian tính tốn hay độ phức tạp chƣơng trình máy tính Bài tốn liệt kê: toán liệt kê quan tâm đến tất cấu hình có đƣợc, lời giải đƣợc biểu diễn dƣới dạng thuật tốn “vét cạn” tất cấu hình Bài tốn liệt kê thƣờng đƣợc làm cho nhiều toán khác Hiện nay, số toán tồn tại, toán tối ƣu, tốn đếm chƣa có cách giải phƣơng pháp liệt kê Phƣơng pháp liệt kê trở nên quan trọng đƣợc hỗ trợ hệ thống máy tính Bài tốn tối ƣu: khác với toán liệt kê, toán tối ƣu quan tâm tới cấu hình “tốt nhất” theo nghĩa Đây tốn có nhiều ứng dụng thực tiễn đƣợc giải lý thuyết tổ hợp Bài toán tồn tại: nhƣ toán đếm thực đếm cấu hình có, tốn liệt kê xem xét tất cấu hình có, tốn tối ƣu cấu hình tốt Bài tốn tồn hƣớng đến giải vấn đề nghi vấn Điều có nghĩa kể vấn đề có hay khơng cấu hình chƣa biết Những tốn thƣờng tốn khó Do máy tính đƣợc xem cơng cụ hữu hiệu giải toán tồn 1.2 Những kiến thức Logic mệnh đề Các qui tắc Logic cho ta ý nghĩa xác mệnh đề Những qui tắc logic cơng cụ sở để xây dựng nên ngơn ngữ lập trình, bảng mạch máy tính, kiểm chứng tính đắn chƣơng trình nhiều ứng dụng quan trọng khác 1.2.1 Định nghĩa & phép toán Đối tƣợng nghiên cứu logic mệnh đề Một mệnh đề đƣợc hiểu câu khẳng định hoặc sai khơng thể vừa vừa sai Ví dụ: Những câu khẳng định sau mệnh đề: “Hà nội thủ đô Việt nam.” 1+1 =2 2+2=3 Các mệnh đề “ Hà nội thủ đô việt nam”, “ +1 =2 “ mệnh đề đúng, mệnh đề “2 +2 =3” sai Nhƣng câu ví dụ sau khơng phải mệnh đề câu khơng cho ta khẳng định chẳng cho ta khẳng định sai “Bây ?” “Hãy suy nghĩ điều cho kỹ lưỡng” x +1 =2 x+y=z Ta ký hiệu chữ A, B, C, D, p, q, r, s mệnh đề Giá trị mệnh đề đƣợc ký hiệu T, giá trị mệnh đề sai đƣợc ký hiệu F Tập giá trị T, F đƣợc gọi giá trị chân lý mệnh đề Định nghĩa Cho p mệnh đề Phép phủ định mệnh đề p mệnh đề (ký hiệu p p) Mệnh đề p có giá trị F mệnh đề p nhận giá trị T, nhận giá trị F p nhận giá trị T Định nghĩa Cho p q hai mệnh đề Phép hội mệnh đề p với mệnh đề q mệnh đề (ký hiệu p  q ) Mệnh đề p  q có giá trị T p, q nhận giá trị T, có giá trị F p, q, hai nhận giá trị F Định nghĩa Cho p q hai mệnh đề Phép tuyển mệnh đề p với mệnh đề q mệnh đề (ký hiệu p p) Mệnh đề p p có giá trị T hai mệnh đề p, q nhận giá trị T, có giá trị F p, q nhận giá trị F Định nghĩa Cho p q hai mệnh đề Phép tuyển loại mệnh p với mệnh đề q (đƣợc ký hiệu pq) mệnh đề Mệnh đề pq p q sai trƣờng hợp khác lại Định nghĩa Cho p q hai mệnh đề Phép kéo theo mệnh đề p với mệnh đề q (ký hiệu p  q) mệnh đề Mệnh đề p  q nhận giá T p q nhận giá trị F p q nhận giá trị T Mệnh đề pq nhận giá trị F p nhận giá trị T q nhận giá trị F Định nghĩa Cho p q hai mệnh đề Phép tƣơng đƣơng mệnh đề p với mệnh đề q mệnh đề (ký hiệu p  q) Mệnh đề p  q có giá trị p q có giá trị chân lý sai trƣờng hợp khác cịn lại Các phép tốn : , , chân lý sau: , , ,  đƣợc định nghĩa thông qua bảng giá trị Bảng 1.1: Bảng giá trị chân lý phép toán , , , , ,  p q p pq pq p q p q p q T T F T T F T T T F F F T T F F F T T F T T T F F F T F F F T T 1.2.2 Sự tƣơng đƣơng mệnh đề Một vấn đề quan trọng lập luận toán học việc thay mệnh đề mệnh đề khác có giá trị chân lý Hai mệnh đề có giá trị chân lý hiểu theo cách thông thƣờng chúng tƣơng đƣơng ngữ nghĩa Do vậy, ta tiếp cận phân loại mệnh đề phức hợp thông qua giá trị chân lý chúng Định nghĩa Một mệnh đề phức hợp luôn với giá trị chân lý mệnh đề thành phần đƣợc gọi (tautology) Một mệnh đề luôn sai với giá trị chân lý mệnh đề thành phần đƣợc gọi mâu thuẫn Ví dụ: mệnh đề phức hợp p  p đúng, p  p mâu thuẫn giá trị chân lý mệnh đề luôn đúng, luôn sai nhƣ đƣợc bảng 1.2 Bảng 1.2 Ví dụ mệnh đề & mệnh đề mâu thuẫn p pp p p p T F T F F T T F Định nghĩa Hai mệnh đề p, q đƣợc gọi tƣơng đƣơng logic với (ký hiệu : pq, p  q , p=q) cột cho giá trị chân lý chúng giống Hay mệnh đề pq Ví dụ Hai mệnh đề  p  q  p  q tƣơng đƣơng logic cột giá trị chân lý chúng đƣợc thể qua bảng sau: Bảng 1.3 Bảng giá trị chân lý  p  q  p  q p q pq  p  q p q pq T T T F F F F T F T F F T F F T T F T F F F F F T T T T Dùng bảng giá trị chân lý để chứng minh tính tƣơng đƣơng logic hai mệnh đề phức hợp cho ta phƣơng pháp trực quan dễ hiểu Tuy nhiên, với mệnh đề logic phức hợp có k mệnh đề thành phần cần tới 2k tổ hợp giá trị chân lý khác Do đó, dùng bảng chân lý để chứng minh tính tƣơng đƣơng logic hai mệnh đề phức hợp gặp nhiều khó khăn Trong trƣờng hợp ta chứng minh tính tƣơng logic việc thay mệnh đề phức hợp tƣơng đƣơng logic có trƣớc Bằng phƣơng pháp bảng chân lý, dễ dàng chứng minh đƣợc tƣơng đƣơng công thức dƣới đây: p q  p  q pq  (pq)(qp) p  p Bảng 1.4 Bảng tương đương logic TƢƠNG ĐƢƠNG TÊN GỌI pTp Luật đồng pFp pTT Luật nuốt pFF ppp Luật luỹ đẳng ppp Luật phủ định kép p p pqqp Luật giao hoán pqqp (p  q)  r  p  ( q  r) Luật kết hợp (p  q)  r  p ( q  r) p  ( q  r)  (p  q )  (p  r) Luật phân phối p  ( q  r)  (p  q)  (p  r)  p  q  p  q Luật De Morgan  p  q  p  q   Ví dụ: Chứng minh p  p  q  p  q ? Chứng minh:    p pq  p pq      p p q theo luật De Morgan thứ  p pq theo luật De Morgan thứ     p  p   p  q   F  p  q   p  q  F  p  q theo luật phủ định kép theo luật phân phối tƣơng đƣơng tiện ích Điều cần chứng minh 1.2.3 Dạng chuẩn tắc Các công thức (mệnh đề) tƣơng đƣơng đƣợc xem nhƣ biểu diễn khác mệnh đề Để dễ dàng viết chƣơng trình máy tính thao tác cơng thức, cần chuẩn hóa cơng thức, đƣa chúng dạng biểu diễn chuẩn đƣợc gọi dạng chuẩn hội Một công thức đƣợc gọi dạng chuẩn hội hội mệnh đề tuyển Phƣơng pháp để biến đổi công thức dạng chuẩn hội cách áp dụng thủ tục sau:  Bỏ phép kéo theo () cách thay (pq) p  q  Chuyển phép phủ định ( ) vào sát ký hiệu mệnh đề cách áp dụng luật De Morgan thay p p  Áp dụng luật phân phối thay cơng thức có dạng (p(qr)) (pq)(pr) Ví dụ Ta chuẩn hóa cơng thức  p  q   r  s  Lời giải  p  q   r  s    p  q  r  s        p  q   r  s   p  q  r  p  q  s  p  q   r  s  đƣợc đƣa  pq  rs Nhƣ công thức p  q  r  p  q  s dạng chuẩn hội 1.3 Vị từ lƣợng từ Trong toán học hay chƣơng trình máy tính hay gặp khẳng định chƣa phải mệnh đề Những khẳng định có liên quan đến biến Chẳng hạn khẳng đinh: P(x) = “x > 3” mệnh đề nhƣng giá trị cụ thể x=x0 P(x0) lại mệnh đề Hoặc đoạn chƣơng trình gặp câu lệnh: if ( x > ) then x:= x +1; chƣơng trình đặt giá trị cụ thể biến x vào P(x), mệnh đề P(x) cho giá trị x đƣợc tăng lên câu lệnh x:=x+1, P(x) có giá trị sai giá trị x đƣợc giữ nguyên sau thực câu lệnh if Chúng ta phân tích khẳng định thành hai phần chủ ngữ vị ngữ (hay vị từ), câu “ x lớn 3” x chủ ngữ, “ lớn 3” vị ngữ Hàm P(x) đƣợc gọi hàm mệnh đề Một hàm mệnh đề có nhiều biến Giá trị chân lý hàm mệnh đề giá trị cụ thể biến đƣợc xác định nhƣ mệnh đề thơng thƣờng Ví dụ Cho Q(x, y, z) hàm mệnh đề xác định câu x2 = y2 +z2 xác định giá trị chân lý mệnh đề Q (3, 2, 1), Q ( 5, 4, 3)? Lời giải 10 (x+y)n = (x+y)(x+y) .(x+y) hệ số xkyk-n số cách chọn k phần tử (x+y) mà từ lấy x đồng thời (n-k) nhân tử lại lấy y, nghĩa là: ( x  y) n  C (n,0) x n  C (n,1) x n1 y   C (n, n  1) xy n1  C (n,0) y n  k 0 C (n, k ) x nk y k n Công thức đƣợc gọi khai triển nhị thức Newton, hệ số tổ hợp đƣợc gọi hệ số nhị thức Chẳng hạn luỹ thừa bậc nhị thức (x+y)8 đƣợc khai triển nhƣ sau: ( x  y)  x  8x y  28 x y  56 x y  70 x y  56 x y  28 x y  8xy  y Trong trƣờng hợp y=1, tức khai triển (x+1)n ta có: ( x  1) n  C (n,0) x n  C (n,1) x n1   C (n, n  1) x  C (n, n) Hoặc đẳng thức sau đƣợc rút từ khai triển nhị thức Newton: n  (1  1) n  C (n,0)  C (n,1)   C (n, n  1)  C (n, n) Có thể nói nhiều đẳng thức hệ số tổ hợp đƣợc suy Nhƣ tính tập lẻ, đạo hàm 2.3.5 Tổ hợp lặp Từ Định nghĩa tổ hợp, ta tính toán đƣợc số tổ hợp lặp chập k từ tập n phần tử C( n + k -1, k) Ví dụ Phƣơng trình x1 + x2 + x3 = 11 có nghiệm ngun khơng âm? Lời giải Mỗi nghiệm ngun khơng âm phƣơng trình ứng với cách chọn 11 phần tử từ tập có loại, cho có x1 phần tử loại đƣợc chọn, x2 phần tử loại đƣợc chọn, x3 phần tử loại đƣợc chọn Số số tổ hợp lặp chập 11 từ tập có phần tử Vì vậy, số nghiệm ngun khơng âm phƣơng trình là: C( + 11 -1, 11 ) = C (13, 11) = (13.12) / = 78 Ví dụ Phƣơng trình x1 + x2 + x3 = 11 có nghiệm ngun khơng âm thỏa mãn x11, x22, x33? Lời giải Mỗi nghiệm nguyên khơng âm phƣơng trình ứng với cách chọn 11 phần tử từ tập có loại, cho có x1 phần tử loại đƣợc chọn, x2 phần tử loại đƣợc chọn, x3 phần tử loại đƣợc chọn Trong đó, có phần tử loại 1, hai phần tử loại ba phần tử loại Vì ta chọn phần tử loại 1, hai phần tử loại 2, ba phần tử loại sau chọn thêm phần tử Số số tổ hợp lặp chập từ tập có phần tử Vì vậy, số nghiệm ngun khơng âm phƣơng trình là: C( + -1, ) = C (7, 5) = (7.6) / = 21 Ví dụ Phƣơng trình x1 + x2 + x3 = 11 có nghiệm nguyên không âm thỏa mãn 1 x1 3? 30 Lời giải Ta nhận thấy, số nghiệm nguyên không âm phƣơng trình thỏa mãn 1 x1 số nghiệm ngun khơng âm phƣơng trình thỏa mãn x11 sau trừ bớt nghiệm x1 Từ Ví dụ ta tính đƣợc số nghiệm nguyên khơng âm phƣơng trình thỏa mãn 1 x1 C( + 10 -1, 10 ) - C(3 +7-1, 7) = C (12, 10) - C(9, 7) 2.4 Hệ thức truy hồi Thông thƣờng ngƣời ta thƣờng quan tâm tới tốn đếm kết đếm phụ thuộc vào tham số đầu vào (mà ta ký hiệu n), chẳng hạn nhƣ số thứ tự Dn Việc biểu diễn kết nhƣ hàm n số hữu hạn phép tốn khơng phải đơn giản Trong nhiều truờng hợp, việc tìm cơng thức trực tiếp kết đếm n khó khăn nhiều khơng giải đƣợc, cơng thức liên hệ kết đếm ứng với giá trị n với kết bé n lại đơn giản dễ tìm Thơng qua công thức vài giá trị ban đầu, ta tính giá trị cịn lại khác Cơng thức gọi cơng thức truy hồi hay công thức đệ qui Đặc biệt, công thức truy hồi thích hợp với lập trình máy tính Nó cho phép giảm đáng kể độ phức tạp nhƣ gia tăng độ ổn định q trình tính tốn 2.4.1 Định nghĩa ví dụ Định nghĩa Hệ thức truy hồi dãy số {an} công thức biểu diễn an qua hay nhiều số hạng trƣớc dãy, cụ thể a1, a2, , an-1 với nn0 nguyên dƣơng Dãy số đƣợc gọi lời giải hay nghiệm hệ thức truy hồi số hạng thoả mãn hệ thức truy hồi Ví dụ Lãi kép Giả sử ngƣời gửi 10000 đô la vào tài khoản ngân hàng với lãi xuất kép 11% năm Hỏi sau 30 năm có tiền tài khoản mình? Lời giải Gọi Pn tổng số tiền có tài khoản sau n năm Vì số tiền có tài khoản sau n năm số tiền có đƣợc n-1 năm cộng với lãi xuất năm thứ n Nên dãy {Pn} thoả mãn hệ thức truy hồi : Pn = Pn-1 + 0.11Pn-1 = 1.11Pn-1 rằng: Chúng ta dùng phƣơng pháp lặp để tìm cơng thức cho Pn Dễ nhận thấy P0 = 10000 P1 = 1.11P0 P2 = 1.11P1 = (1.11)2P0 Pn = 1.11Pn-1 = (1.11)n-1P0 31 Ta chứng minh tính đắn công thức truy hồi qui nạp Thay P0= 10000, n = 30 ta đƣợc: P30 = (1.11)3010000 = 228922,97 $ Ví dụ Họ nhà thỏ số Fibonaci Một cặp thỏ sinh đôi (một đực cái) đƣợc thả lên đảo Giả sử cặp thỏ chƣa sinh sản đƣợc trƣớc đầy hai tháng tuổi Từ chúng đầy hai tháng tuổi, tháng chúng sinh thêm đƣợc cặp thỏ Tìm cơng thức truy hồi tính số cặp thỏ đảo sau n tháng với giả sử cặp thỏ trƣờng thọ Số tháng Số cặp sinh sản Số cặp thỏ Tổng số cặp thỏ 1 1 1 5 …… …… …… …… Lời giải: Giả sử fn số cặp thỏ sau n tháng Ta f1, f2, , fn (n=1, 2, , n) số dãy fibonaci Cuối tháng thứ số cặp thỏ đảo f = Vì tháng thứ hai cặp thỏ chƣa đến tuổi sinh sản đƣợc nên tháng thứ hai f2 =1 Vì cặp thỏ đƣợc sinh sản sau hai tháng tuổi, nên ta tìm số cặp thỏ sau tháng thứ n cách cộng số cặp thỏ sau tháng n-2 tháng n-1 hay fn = fn-1 + fn-2 Do vậy, dãy { fn} thoả mãn hệ thức truy hồi fn = fn-1 + fn- với n>=3 f1 = 1, f2 = Ví dụ Tính số thứ tự Dn Lời giải: Đánh số thƣ phong bì thƣ từ đến n (thƣ i gửi địa bỏ vào phong bì i) Một cách bỏ thƣ đuợc đồng với hoán vị (a1, a2, , an) { 1, 2, , n } Một thứ tự đƣợc định nghĩa là hoán vị (a1, a2, , an) cho aii với i Thành phần a1 chấp nhận giá trị Với giá trị k (k1) a1, xét hai trƣờng hợp: ak =1, thành phần cịn lại đƣợc xác định nhƣ thứ tự n-2 phần tử, tức số thứ tự loại Dn-2 ak1, thành phần từ đến n đƣợc xác định nhƣ thứ tự n-1 phần tử lại, tức số thứ tự thuộc loại Dn-1 32 Từ ta nhận đƣợc công thức Dn = (n-1) (Dn-1 + Dn-2), n>=3 với D1 = 0, D2 =1 Mọi giá trị lại đƣợc tính đơn giản nhờ luật kế thừa D3 = (3 –1) (0 +1) =2 D4 = (4 –1 )( + 2) =9 D5 = (5 –1 )( + 2) = 44 D6 = (6 –1 )(9 + 44) = 265 D7 = (7 –1 )( 44 + 265) = 1854 D8 = (8 –1 )( 265 + 1854) = 14833 Để công thức với n = 2, ta coi D0 = Có thể nhận đƣợc số thứ tự thơng qua cơng thức truy hồi vì: Dn  (n  1)( Dn1  Dn2 )  Dn  nDn1  ( Dn1  (n  1) Dn2 ) Đặt Vn  Dn  nDn1 ta có: Dn  nDn1  Vn  Vn1    (1) n1V1  (1) n Hay ta viết: Dn Dn 1 (1) n Cộng hệ thức với n = 1, 2, , n ta đƣợc:   n! (n  1)! n! Dn 1 (1) n  1   Từ thu lại đƣợc công thức cũ: n! 1! 2! n! Dn  n!(1  1 (1) n   ) 1! 2! n! Ví dụ Tính hệ số tổ hợp C(n,k) Lời giải Chọn phần tử cố định a n phần tử xét Chia số cách chọn tập k phần tử thành hai lớp (lớp chứa a lớp không chứa a) Nếu a đƣợc chọn ta cần bổ xung k-1 phần tử từ n-1 phần tử cịn lại, từ lớp chứa a gồm C(n-1, k-1) cách Nếu a khơng đƣợc chọn, ta phải chọn k phần tử từ n-1 phần tử cịn lại, từ lớp khơng chứa a gồm C(n-1, k) cách Theo nguyên lý cộng ta đƣợc công thức truy hồi: C(n, k) = C(n-1, k-1) + C(n-1,k) với giá trị biên đƣợc suy trực tiếp: C(n,0) = C(n,n) = Phƣơng pháp đƣợc gọi phƣơng pháp khử Không phải lúc dễ dàng khử đƣợc công thức truy hồi để đƣa công thức trực tiếp Tuy nhiên, số trƣờng hợp đặc biệt ta đƣa phƣơng pháp tổng quát để giải công thức truy hồi 33 2.4.2 Giải cơng thức truy hồi tuyến tính với hệ số số Định nghĩa Một hệ thức truy hồi tuyến tính bậc k với hệ số số hệ thức truy hồi có dạng: an  c1an1  c1an2    ck ank (1) c1,c2, , ck số thực ck 0 Ta cần tìm cơng thức trực tiếp cho số hạng an dãy số {an} thoả mãn công thức (1) Theo nguyên lý thứ hai qui nạp tốn học dãy số thoả mãn định nghĩa đƣợc xác định nhƣ thoả mãn k điều kiện đầu: a0 = C0, a1 = C1, , ak-1 = Ck-1, C1, C2, , Ck-1 số Ví dụ Hệ thức truy hồi Pn=(1.11)Pn-1 hệ thức truy hồi tuyến tính bậc Hệ thức truy hồi fn = fn-1 + fn-2 hệ thức truy hồi tuyến tính bậc Hệ thức truy hồi an = an-5 hệ thức truy hồi tuyến tính bậc Hệ thức truy hồi Bn=nBn-1 hệ thức truy hồi tuyến tính khơng có hệ số số Phƣơng pháp để giải hệ thƣc truy hồi tuyến tính tìm nghiệm dƣới dạng an = rn, r số Cũng cần ý an = rn nghiệm hệ thức truy hồi an = c1an-1 + c2 an-2 + + ckan-k an = c1rn-1 + c2rn-2 + + ckrn-k Chia hai vế cho rn-k ta nhận đƣợc rk – c1rk-1 – c2rk-2 - – ck-1r –ck =0 (2) Vậy dãy {an} với an=rn nghiệm r nghiệm (2) Phƣơng trình cịn đƣợc gọi phƣơng trình đặc trƣng hệ thức truy hồi, nghiệm nghiệm đặc trƣng hệ thức truy hồi Nghiệm phƣơng trình đặc trƣng dùng để biểu diễn công thức tất nghiệm hệ thức truy hồi Chúng ta trình bày kết với hệ thức truy hồi tuyến tính bậc hai Sau ta nêu kết tƣơng tự cho trƣờng hợp tổng quát bậc lớn hai Định lý Cho c1, c2 số thực Giả sử r2 – c1r + c2 =0 có hai nghiệm phân biệt r1, r2 Khi dãy {an} nghiệm hệ thức truy hồi an = c1an-1 + c2an-2 an = 1r1n + 2rn2 với n =1, 2, , 1, 2 số Chứng minh: Để chứng minh định lý ta cần thực hai việc Đầu tiên ta cần r1, r2 hai nghiệm phƣơng trình đặc trƣng 1, 2 hai số dãy {an} với an  1r1n   r2n nghiệm hệ thức truy hồi Ngƣợc lại, cần phải chứng minh {an} nghiệm an  1r1n   r2n với 1, 2 số 34 (): Giả sử r1 r2 hai nghiệm phân biệt r2 – c1r + c2=0 , r12  c12 r1  c2 ; r22  c1r2  c2 đồng thời ta thực dãy phép biến đổi sau: c1 a n 1  c2 a n 2  c1 ( r1n 1   r2n 2 )  c2 ( r1n 2   r2n 2 )   r1n 1 (c1 r1  c2 )   r2n  (c1 r2  c2 )   r1n 2 r12   r2n  r22   r1n   r2n  a n Điều chứng tỏ dãy {an} với an  1r1n   r2n nghiệm hệ thức truy hồi cho ():Để chứng minh ngƣợc lại, ta giả sử dãy {an} nghiệm hệ thức truy hồi Ta chọn 1, 2 cho dãy {an} với an  1r1n   r2n thoả mãn điều kiện đầu a0 =C0, a1 = C1 Thực vậy, a0  C0     a1  C1   r1   r2 Từ phƣơng trình đầu ta có 2 = C0 - 1 vào phƣơng trình thứ hai ta có: C1  1r1  (C0  1 )r2  1 (r1  r2 )  C0  r2 ; Từ suy ra: 1  (C1  C0 r2 ) (C  C0 r2 ) (C0 r1  C1 ) ;  C0    C0   r1  r2 r1  r2 r1  r2 Nhƣ vậy, chọn giá trị cho 1, 2 dãy {an} với an  1r1n   r2n thoả mãn điều kiện đầu Vì hệ thức truy hồi điều kiện đầu đƣợc xác định nên an  1r1n   r2n Định lý đƣợc chứng minh Ví dụ Tìm nghiệm hệ thức truy hồi an = an-1 +2an-2 với a0 = 2, a1 = Lời giải Phƣơng trình đặc trƣng hệ thức truy hồi có dạng r2 - r - =0 Nghiệm r=2 r = -1 Theo định lý 1, dãy {an } nghiệm hệ thức truy hồi : an = 12n +2(-1)n với 1, 2 số Từ điều kiện đầu suy ra: a0 = = 1 +2 a1 = = 12 +2(-1) Giải ta đƣợc 1=3, 2=-1 Vậy nghiệm biểu thức truy hồi với điều kiện đầu dãy {an} với an = 3.2n –(-1)n Ví dụ Tìm công thức hiển số fibonaci Giải: Các số fibonaci thoả mãn hệ thức fn = fn-1 + fn-2 điều kiện đầu f0 = 0, f1=1 Các nghiệm phƣơng trình đặc trƣng là: 35 1  1  ; r2    r1      theo định lý ta suy số fibonaci đƣợc cho công     thức sau: n n 1  1   2   f n       với 1, 2 hai số Các điều kiện đầu f0=0,     f1=1 đƣợc dùng để xác định số 1, 2 f  1    1  1   2  f1       1     Từ hai phƣơng trình ta suy 1  ;   số fibonaci đƣợc cho công thức dạng hiển nhƣ sau: n 1  1       fn      n Định lý không dùng đƣợc trƣờng hợp nghiệm phƣơng trình đặc trƣng nghiệm bội Khi phƣơng trình đặc trƣng có nghiệm bội ta sử dụng định lý sau Định lý Cho c1, c2 số thực, c20 Giả sử r2 –c1r –c2 = có nghiệm r0 Dãy {an} nghiệm hệ thức truy hồi an = c1an-1 + c2an-2 an  1r0n   nr0n với n = 1, 2, 1, 2 số Ví dụ Tìm nghiệm cơng thức truy hồi an = 6an-1 –9an-2 với điều kiện đầu a0=1, a1 = Giải: Phƣơng trình đặc trƣng r2 – 6r –9 =0 có nghiệm kép r=3 Do nghiệm hệ thức truy hồi có dạng: an  1 3n   n3n với 1, 2 số Từ điều kiện đầu ta suy ra: a0 = 1=1 a1 = = 13+23  1 =1, 2=1 nghiệm hệ thức truy hồi điều kiện đầu cho là: an = 3n+n3n Định lý 1, Định lý khơng dùng đƣợc trƣờng hợp nghiệm phƣơng trình đặc trƣng nghiệm phức Khi phƣơng trình đặc trƣng có nghiệm phức ta sử dụng định lý sau Định lý Cho c1, c2 số thực, c20 Giả sử r2 –c1r –c2 = có hai nghiệm phức liên hợp 36 r1  r cos   i.sin   r2  r cos   i sin  Khi đó, dãy {an} nghiệm hệ thức truy hồi an = c1an-1 + c2an-2 an  r n 1 cosn    sinn  với n = 1, 2, 1, 2 số Ví dụ Tìm nghiệm hệ thức truy hồi sau an = 2an-1 - 4an-2, với a0 = 4, a1 =4? Lời giải Bƣớc Tìm nghiệm phƣơng trình đặc trƣng: r  2cos / 3  i sin / 3 r  2r     r2  2cos / 3  i sin / 3 Bƣớc Xây dựng công thức tổng quát cho an: an  r n c1 cos(n )  c2 sin(n )  n c1 cos(n / 3)  c2 sin(n / 3) Bƣớc Tìm số thông qua điều kiện đầu:  1  c2   2 c1  2       1;        4  c1  c2      Bƣớc Hồn chỉnh cơng thức cho an   an  2n cosn / 3  sinn / 3 Bây ta phát biểu kết tổng quát nghiệm hệ thức truy hồi tuyến tính với hệ số số Định lý Cho c1 , c2 , , ck số thực Giả sử phƣơng trình đặc trƣng rk – c1rk-1- .-ck = có k nghiệm phân biệt r1, r2, , rk Khi dãy {an} nghiệm hệ thức truy hồi an  c1an1  c2 an2    ck ank n n n an  1r1   r2     k rk với n=0,1,2, , 1, 2, , k số Ví dụ Tìm nghiệm hệ thức truy hồi an = 6an-1 –11an-2+6an-3 với điều kiện đầu a0=2, a1 =5, a2=15 Giải: Đa thức đặc trƣng hệ thức truy hồi : r3 – 6r2 + 11r – có nghiệm r1=1, r2 = 2, r3 = Do nghiệm hệ thức truy hồi có dạng: an  11n   2 n   3n 37 Để tìm số 1, 2, 3 ta dựa vào điều kiện ban đầu: a0 = = 1 + 2 + 3 a1 = = 1 + 22 +33 a2 = 15=1 + 24 +39 Giải: hệ phƣơng trình ta nhận đƣợc 1 = 1, 2 =- 1, 3=2 Vì nghiệm hệ thức truy hồi điều đầu cho dãy {an} với: an   n  2.3n 2.5 Qui toán đơn giản Một phƣơng pháp giải toán đếm phức tạp qui toán xét toán nhỏ Sự phân chia đƣợc thực cách liên tiếp nhận đƣợc lời giải toán nhỏ cách dễ dàng Tuy nhiên điều lúc thực đƣợc địi hỏi phân tích sâu sắc cấu hình cần đếm Giả sử có thuật tốn phân chia tốn cỡ n thành a tốn nhỏ, tốn nhỏ có cỡ n/b(để đơn giản ta giả sử n chia hết cho b); thực tế tốn nhỏ thƣờng có cỡ số ngun gần với n/b Giả sử tổng phép toán thêm vào thực phân chia toán cỡ n thành tốn cỡ nhỏ g(n) Khi f(n) số phép toán cần thiết để giải tốn cho f thoả mãn hệ thức truy hồi sau: n f (n)  af    g (n) ; hệ thức có tên hệ thức chia để trị b Ví dụ Xét thuật tốn nhân hai số ngun kích cỡ 2n bít Kỹ thuật gọi thuật tốn nhân nhanh có dùng kỹ thuật chia để trị Giải: Giả sử a b số nguyên có biểu diễn nhị phân 2n bít (có thể thêm bít vào đầu để chúng dài nhau) a  (a2 n1a2 n2 a1a0 ) b  (b2 n1b2 n2 b1b0 ) Giả sử a = 2nA1 +A0, b = 2nB1 +B0 A1  (a2 n1a2 n2 an1an ) ; A0  (an1an2 a1a0 ) B1  (b2 n1b2 n2 bn1bn ) ; B0  (bn1bn2 b1b0 ) Thuật toán nhân nhanh đƣợc dựa đẳng thức: ab  (2 n  n ) A1 B1  n ( A1  A0 )( B0  B1 )  (2 n  1) A0 B0 38 Điều phép nhân hai số nguyên 2n bít thực cách dùng phép nhân số nguyên n bít phép cộng, trừ dịch chuyển Nhƣ vậy, f(n) tổng phép toán nhị phân cần thiết để nhân hai số n bít f (2n)  f (n) Cn Ba phép nhân số nhị phân n bít cần 3f(n) phép toán nhị phân Mỗi phép toán cộng, trừ, dịch chuyển dùng số nhân với n lần Cn Ví dụ Bài tốn xếp khách Lucas Có bàn trịn, xung quanh có 2n ghế Cần chỗ cho n cặp vợ chồng cho ông ngồi sen kẽ bà khơng có hai cặp vợ chồng ngồi cạnh Hỏi có tất cách xếp ? Lời giải Gọi số phải tìm Mn Xếp cho bà trƣớc(cứ xếp ghế ghế để trống dành cho ông), số cách xếp cho bà 2n! cách Gọi số cách xếp cho ông ứng với cách xếp bà Un ta đƣợc số cách xếp Mn = 2n! x Un Vấn đề cịn lại tính số Un Đánh số bà (đã xếp) từ đến n, đánh số ông tƣơng ứng với bà (ông i chồng bà i), sau đánh số ghế trống theo nguyên tắc: ghế số i nằm bà i bà i+1 (các phép cộng đƣợc hiểu lấy modul n nghĩa n +1 = 1) Mỗi cách xếp ông đƣợc biểu diễn phép  tập {1, 2, , n } với qui ƣớc (i) = j có nghĩa ghế i đƣợc xếp cho ông j Theo giả thiết  phải thoả mãn: (i)  i (i)i+1 (*) Nhƣ vậy, Un số tất phép  thoả mãn điều kiện (*) Trong toán học gọi Un số phân bố Xét tập hợp tất phép  { 1, 2, , n } Trên tập ta gọi Pi tính chất (i) = i, Qi tính chất (i) = i+1 Đặt Pn+i = Qi, theo nguyên lý bù trừ tƣơng ứng với 2n tính chất Pi ta có: U n  N  n! N1  N  Nk tổng số tất phép thoả mãn k tính chất lấy từ 2n tính chất xét Cần ý rằng, xảy đồng thời thoả mãn Pi Qi Do phép lấy k tính chất từ 2n tính chất xét cần thêm vào điều kiện: Pi Qi Pi+1 Qi khơng đƣợc đồng thời có mặt Gọi số cách g(2n, k) ( nói riêng g(2n,k)=0 k>n) Với cách lấy k tính chất nhƣ (k

Ngày đăng: 01/03/2022, 09:46

TỪ KHÓA LIÊN QUAN