Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 258 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
258
Dung lượng
4,62 MB
Nội dung
{ 1z Bài toán li t kê M CL C §0 GI I THI U §1 NH C L I M T S KI N TH C I S T H P I CH NH H P L P II CH NH H P KHÔNG L P III HOÁN V IV T H P .3 §2 PH NG PHÁP SINH (GENERATE) I SINH CÁC DÃY NH PHÂN DÀI N .6 II LI T KÊ CÁC T P CON K PH N T III LI T KÊ CÁC HOÁN V .9 §3 THU T TỐN QUAY LUI 12 I LI T KÊ CÁC DÃY NH PHÂN DÀI N .13 II LI T KÊ CÁC T P CON K PH N T 14 III LI T KÊ CÁC CH NH H P KHÔNG L P CH P K 15 IV BÀI TỐN PHÂN TÍCH S .16 V BÀI TOÁN X P H U .18 §4 K THU T NHÁNH C N 22 I BÀI TOÁN T I U 22 II S BÙNG N T H P .22 III MƠ HÌNH K THU T NHÁNH C N 22 IV BÀI TOÁN NG I DU L CH 23 V DÃY ABC 25 Lê Minh Hồng { 2z Bài tốn li t kê §0 GI I THI U Trong th c t , có m t s tốn u c u ch rõ: m t t p i t ng cho tr c có i t ng tho mãn nh ng i u ki n nh t nh Bài tốn ó g i tốn m c u hình t h p Trong l p tốn m, có nh ng tốn yêu c u ch rõ nh ng c u hình tìm c tho mãn i u ki n ã cho nh ng c u hình Bài tốn yêu c u a danh sách c u hình có th có g i tốn li t kê t h p gi i toán li t kê, c n ph i xác nh c m t thu t tốn có th theo ó l n l t xây d ng c t t c c u hình ang quan tâm Có nhi u ph ng pháp li t kê, nh ng chúng c n ph i áp ng c hai yêu c u d i ây: • Khơng c l p l i m t c u hình • Khơng c b sót m t c u hình Có th nói r ng, ph ng pháp li t kê ph ng k cu i gi i c m t s toán t h p hi n Khó kh n c a ph ng pháp s bùng n t h p xây d ng t c u hình (con s khơng ph i l n i v i toán t h p - Ví d li t kê cách x p n≥13 ng i quanh m t bàn tròn) gi thi t r ng m i thao tác xây d ng m t kho ng giây, ta ph i m t quãng 31 n m m i gi i xong Tuy nhiên v i s phát tri n c a máy tính i n t , b ng ph ng pháp li t kê, nhi u toán t h p ã tìm th y l i gi i Qua ó, ta c ng nên bi t r ng ch nên dùng ph ng pháp li t kê khơng cịn m t ph ng pháp khác tìm l i gi i Chính nh ng n l c gi i quy t toán th c t không dùng ph ng pháp li t kê ã thúc y s phát tri n c a nhi u ngành toán h c Cu i cùng, nh ng tên g i sau ây, v ngh a không ph i ng nh t, nh ng m t s tr ng h p ng i ta có th dùng l n ngh a c a c ó là: • Ph ng pháp li t kê • Ph ng pháp vét c n t p ph ng án • Ph ng pháp t tồn b Lê Minh Hồng { 3z Bài tốn li t kê §1 NH C L I M T S KI N TH C IS T H P Cho S m t t p h u h n g m n ph n t k m t s t nhiên G i X t p s nguyên d ng t n k: X = {1, 2, , k} I CH NH H P L P M i ánh x f: X → S Cho t ng ng v i m i i ∈ X, m t ch m t ph n t f(i) ∈ S c g i m t ch nh h p l p ch p k c a S Nh ng X t p h u h n (k ph n t ) nên ánh x f có th xác nh qua b ng giá tr f(1), f(2), , f(k) Ví d : S = {A, B, C, D, E, F}; k = M t ánh x f có th cho nh sau: i f(i) E C E Nên ng i ta ng nh t f v i dãy giá tr (f(1), f(2), , f(k)) coi dãy giá tr c ng m t ch nh h p l p ch p k c a S Nh ví d (E, C, E) m t ch nh h p l p ch p c a S D dàng ch ng minh c k t qu sau b ng quy n p ho c b ng ph ng pháp ánh giá kh n ng l a ch n: S ch nh h p l p ch p k c a t p g m n ph n t : k An = nk II CH NH H P KHÔNG L P Khi f n ánh có ngh a v i ∀i, j ∈ X ta có f(i) = f(j) ⇔ i = j Nói m t cách d hi u, dãy giá tr f(1), f(2), , f(k) g m ph n t thu c S khác ôi m t f c g i m t ch nh h p không l p ch p k c a S Ví d m t ch nh h p không l p (C, A, E): i f(i) C A E S ch nh h p không l p ch p k c a t p g m n ph n t : n! A k = n (n − 1)(n − 2) (n − k + 1) = n (n − k )! III HOÁN V Khi k = n M t ch nh h p không l p ch p n c a S c g i m t hoán v ph n t c a S Ví d : m t hoán v : (A, D, C, E, B, F) c a S = {A, B, C, D, E, F} i f(i) A D C E B F ý r ng k = n s ph n t c a t p X = {1, 2, , n} úng b ng s ph n t c a S Do tính ch t m t khác nên dãy f(1), f(2), , f(n) s li t kê c h t ph n t S Nh v y f toàn ánh M t khác gi thi t f ch nh h p không l p nên f n ánh Ta có t ng ng 1-1 gi a ph n t c a X S, ó f song ánh V y nên ta có th nh ngh a m t hoán v c a S m t song ánh gi a {1, 2, , n} S S hoán v c a t p g m n ph n t = s ch nh h p không l p ch p n: Pn = n! IV T H P M t t p g m k ph n t c a S Lê Minh Hoàng c g i m t t h p ch p k c a S { 4z Bài toán li t kê L y m t t p k ph n t c a S, xét t t c k! hoán v c a t p D th y r ng hoán v ó ch nh h p không l p ch p k c a S Ví d l y t p {A, B, C} t p c a t p S ví d thì: (A, B, C), (C, A, B), (B, C, A), ch nh h p không l p ch p c a S i u ó t c li t kê t t c ch nh h p khơng l p ch p k m i t h p ch p k s c tính k! l n V y: S t h p ch p k c a t p g m n ph n t : Ak n! C = n = k! k!(n − k )! k n S t p c a t p n ph n t : C + C1 + + C n = (1 + 1) n = n n n n Lê Minh Hồng { 5z Bài tốn li t kê §2 PH NG PHÁP SINH (GENERATE) Ph ng pháp sinh có th áp d ng gi i toán li t kê t h p t n u nh hai i u ki n sau tho mãn: Có th xác nh c m t th t t p c u hình t h p c n li t kê T ó có th xác nh c c u hình u tiên c u hình cu i th t ã xác nh Xây d ng c thu t tốn t c u hình ch a ph i c u hình cu i, sinh c c u hình k ti p Ph ng pháp sinh có th mơ t nh sau: ; repeat < a c u hình ang có>; ; Th t t i n Trên ki u d li u n gi n chu n, ng i ta th ng nói t i khái ni m th t Ví d ki u s có quan h : < 2; < 3; < 10; , ki u ký t Char c ng có quan h 'A' < 'B'; 'C' < 'c' Xét quan h th t toàn ph n "nh h n ho c b ng" ký hi u "≤" m t t p h p S, quan h hai ngơi tho mãn b n tính ch t: V i ∀a, b, c ∈ S • Tính ph bi n: Ho c a ≤ b, ho c b ≤ a; • Tính ph n x : a ≤ a • Tính ph n i x ng: N u a ≤ b b ≤ a b t bu c a = b • Tính b c c u: N u có a ≤ b b ≤ c a ≤ c Trong tr ng h p a ≤ b a ≠ b, ta dùng ký hi u "