Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,13 MB
Nội dung
LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn thạc sĩ Công nghệ thông tin "Phương pháp sinh toàn số đối tượng tổ hợp" công trình nghiên cứu thực cá nhân tôi, không trùng với luận văn khác Luận văn hoàn thành kết nghiên cứu cá nhân hướng dẫn tận tình Tiến sĩ Đỗ Phan Thuận Hà Nội, tháng 09 năm 2012 Tác giả Nguyễn Thị Hảo LỜI CẢM ƠN Đề hoàn thành chương trình học, xin chân thành cảm ơn quý thầy cô Viện Công nghệ thông tin truyền thông - Trường Đại học Bách Khoa Hà nội tận tình dạy bảo thời gian qua Tôi xin gửi lời biết ơn sâu sắc tới Tiến sĩ Đỗ Phan Thuận dành nhiều thời gian, tận tình hướng dẫn hoàn thành luận văn Nhân đây, cho gửi lời cảm ơn đến ban lãnh đạo trường Đại học Hùng Vương tạo điều kiện thuận lợi cho lớp học thạc sĩ Công nghệ thông tin năm 2010 học tập trường Trong trình làm luận văn, cố gắng nghiên cứu song tránh thiếu xót Vì vậy, mong nhận ý kiến đóng góp quý báu quí thầy cô bạn Hà Nội, tháng 09 năm 2012 Tác giả Nguyễn Thị Hảo Mục lục Lời cam đoan Mục lục Lời nói đầu Chương Giới thiệu định nghĩa 1.1 Giới thiệu 1.2 Một số đối tượng tổ hợp quan trọng 10 1.2.1 Từ Dyck 10 1.2.2 Từ Motzkin 13 1.2.3 Từ Sch¨oder 14 1.3 Bài toán liệt kê số phương pháp sinh 15 1.3.1 Bài toán liệt kê 15 1.3.2 Một số phương pháp sinh 16 1.4 Độ phức tạp thuật toán sinh 20 1.5 Phương pháp ECO luật 21 1.5.1 Phương pháp ECO đơn tầng 22 1.5.2 Phương pháp ECO đa tầng 22 1.5.3 Luật sinh 23 Chương Họ từ Dyck mở rộng số từ liên quan 26 2.1 Các từ Grand Dyck 26 2.2 Các từ Grand Motzkin 27 2.3 Các từ Grand Schr¨oder 28 2.4 Các từ mở rộng khác từ Dyck 28 2.4.1 Các từ Dyck k - phân 28 2.4.2 Các từ Dyck m - màu 30 2.4.3 Mối quan hệ từ Dyck m màu từ Grand Dyck 31 2.4.4 Các từ Dyck k - phân m - màu Chương Một số thuật toán sinh luật đề xuất 32 35 3.1 Một số thuật toán sinh 35 3.2 Phương pháp sinh theo luật đường chạy cuối cho lớp từ 35 3.2.1 Lớp từ Dyck 35 3.2.2 Các từ Dyck m - màu 38 3.2.3 Các từ Grand Dyck 39 3.2.4 Các từ Dyck k - phân 40 3.2.5 Các từ Dyck k - phân m - màu 41 3.2.6 Các từ Motzkin 43 3.3 Các từ Grand Motzkin 45 3.4 Các từ Schr¨oder 46 3.5 Các từ Grand Schr¨oder 47 3.6 Các từ nhị phân mật độ cố định 48 Chương Giả mã phân tích độ phức tạp thuật toán sinh 50 4.1 Giải thuật chung cho số lớp từ tổ hợp 50 4.2 Giải thuật sinh cho lớp từ 51 4.2.1 Giải thuật sinh cho lớp từ Dyck 51 4.2.2 Giải thuật sinh cho lớp từ Grand Dyck 52 4.2.3 Giải thuật sinh cho lớp từ Dyck k - phân m - màu 53 4.2.4 Giải thuật sinh cho lớp từ Motzkin 54 4.2.5 Giải thuật sinh cho lớp từ Schr¨oder 56 4.3 Đánh giá độ phức tạp giải thuật 57 Kết luận 60 Tài liệu tham khảo 61 Phụ lục: Một số hình ảnh chương trình sinh 63 DANH MỤC CÁC BẢNG Bảng Nội dung bảng Trang 2.1 Bảng tổng hợp số lớp từ 33 4.1 Các kết thử nghiệm thuật toán cho luật đường chạy cuối 58 cho số nhị phân mật độ cố định C(k, n) 4.2 Các kết thử nghiệm thuật toán cho luật đường chạy cuối 58 thứ từ Motzkin 4.3 Các kết thử nghiệm thuật toán với quy luật đường chạy 59 cuối cho từ Schr¨oder 4.4 Các kết thử nghiệm thuật toán với quy luật đường chạy cuối cho từ Grand Dyck 59 DANH MỤC CÁC HÌNH Hình Nội dung hình Trang 1.1 Biểu diễn từ có độ dài 10 1.2 Biểu diễn từ Dyck 11 1.3 Mã hóa nhị phân 12 1.4 Biểu diễn từ Motzkin 14 1.5 Biểu diễn từ Schr¨oder 15 2.1 Biểu diễn từ Grand Dyck 27 2.2 Biểu diễn từ Grand Motzkin 27 2.3 Biểu diễn từ Grand Schr¨oder 28 2.4 Biểu diễn mối liên hệ lớp từ 29 2.5 Biểu diễn từ Dyck - phân 30 2.6 Đường từ Dyck - màu 31 2.7 Minh họa từ Dyck - phân màu 32 3.1 Bốn từ từ Dyck 36 3.2 Bốn từ từ Dyck 38 3.3 Ba từ từ Dyck - màu 39 3.4 Minh họa sinh từ Grand Dyck 41 3.5 Bốn từ từ Dyck - phân 42 3.6 Bốn từ β từ Dyck - phân -màu có độ dài 43 3.8 Bốn từ từ Motzkin 45 3.10 Bốn từ từ Schr¨oder 39 MỞ ĐẦU 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 yêu cầu toán nghiên cứu Mỗi cách phân bố coi “cấu hình tổ hợp” Nguyên lý chung để giải toán tổ hợp dựa nguyên lý sở nguyên lý cộng, nguyên lý nhân số nguyên lý khác, đặc thù tách rời toán học tổ hợp việc chứng minh kiểm chứng phương pháp giải toán tách rời máy tính Ngày nay, tổ hợp lĩnh vực tích cực với ứng dụng tác động khác từ phân tích thuật toán tới ngành vật lý thống kê sinh học Trong tổ hợp, tổ hợp liệt kê tổ hợp ánh xạ xử lý đặc biệt với vấn đề cấu trúc tính toán lớp tổ hợp giải thích xuất cấu trúc theo định kỳ Tổ hợp liệt kê phần tổ hợp có liên quan tới việc đếm số lượng phần tử lớp hữu hạn cách xác gần Có nhiều vấn đề phát sinh từ lĩnh vực khác giải cách phân tích chúng từ quan điểm tổ hợp Thông thường, vấn đề có tính phổ biến đại diện đối tượng đơn giản phù hợp với kỹ thuật liệt kê tổ hợp Những dạng toán quan trọng mà lý thuyết tổ hợp đề cập toán đếm, toán liệt kê, toán tồn toán tối ưu Một vấn đề giải phần thuật toán tổ hợp tạo kết sinh hiệu lớp tổ hợp đặc biệt theo cách đối tượng sinh lần Trong thực tế, nhiều câu hỏi thực tế cần thiết cho việc lấy mẫu đối tượng ngẫu nhiên từ lớp tổ hợp hay việc tìm kiếm toàn đối tượng lớp Do đó, có nhiều lý để phát triển thuật toán cho danh sách sản xuất đối tượng tổ hợp Trên thực tế, giải thuật hữu ích tìm thấy nhiều ứng dụng lĩnh vực khác nhau, chẳng hạn kiểm thử phần cứng, phần mềm hóa học tổng hợp Có nhiều vấn đề lý thuyết tổ hợp đặc biệt giải pháp tổ hợp đưa nhờ số Catalan Cuốn sách “tổ hợp liệt kê” (Enumerative Combinatorics) Richard P Stanley đưa danh sách tập mô tả 66 giải thích khác số Catalan Vấn đề sinh toàn đối tượng tổ hợp áp dụng nhiều nhiều ngành sinh học, y học, hóa học khoa học máy tính Một cách tiếp cận biết đến nhiều để sinh toàn đưa đề án mã Gray cho việc sinh số nhị phân n bit theo cách số liên tiếp khác vị trí bit Trong luận văn này, giới thiệu thuật toán sinh toàn bộ, thuật toán chung cho lớp luật Thuật toán hiệu phân tích khấu trừ (Constant Amortized Time viết tắt CAT); CAT sử dụng số lượng số phép tính đối tượng sinh Đề tài luận văn dựa sở thực tiễn khoa học: Nghiên cứu số tổ hợp quan trọng quan tâm ứng dụng rộng rãi lĩnh vực lý thuyết tổ hợp nói riêng lý thuyết sở ngành tin học nói chung; số tổ hợp xuất nhiều ngành tin học ứng dụng Mục đích đề tài: Tìm phương pháp sinh toàn số đối tượng tổ hợp quan trọng Ứng dụng đề tài: Nghiên cứu tính chất dãy số, sinh toàn số với độ dài n cách biểu diễn dãy số Bố cục đề tài chia thành chương sau: - Chương Giới thiệu định nghĩa - Chương Họ từ Dyck mở rộng số từ liên quan - Chương Một số thuật toán sinh luật đề xuất - Chương Giả mã phân tích độ phức tạp thuật toán sinh Chương Giới thiệu định nghĩa 1.1 Giới thiệu Từ Dyck xem đối tượng tiếng lớp đối tượng tổ hợp, chúng thường xuất vài loại cây, hoán vị, Hơn nữa, phương pháp sinh số đối tượng tổ hợp mối quan tâm lớn thập kỷ trước Trước vào tìm hiểu số khái niệm đối tượng tổ hợp, ta có số qui ước sau: - Một chữ La tinh in thường biểu diễn kí tự bảng chữ Ví dụ, a, b1 , cn kí tự - Các chữ Hy Lạp in thường biểu diễn từ bảng chữ Ví dụ, α, β, δ ký hiệu từ, λ biểu thị từ rỗng có độ dài Nếu α từ α(i) kí tự thứ i α, với quy ước kí tự α α(1) - Nếu a kí tự an từ chứa n lần a Ví dụ, a3 = aaa; (ab)2 = abab; α = bc α4 = (bc)4 = bcbcbcbcbc - Các từ biểu diễn đường lưới ô vuông (latticepath) hệ trục tọa độ Z với bước (1, −1), (1, 0), (m, m) với m ≥ Một đường lưới không xuống phía trục Ox gọi không âm Xem ví dụ sau, với đường biểu diễn năm từ lưới ô vuông, từ có độ dài Khi biểu diễn từ đường lưới ô vuông, đường nằm trục Ox, bắt đầu kết thúc trục Ox Qui ước a tượng trưng cho bước (m, m), m ≥ 0; b tượng trưng cho bước (1, −1); tượng trưng cho (1, 0), từ tương ứng với đường lưới ô mã hóa với từ bảng chữ a, b, Ví dụ, đường lưới ô vuông có độ dài mã hóa từ: ababab, abaabb, aa0b0b, ababbb, aabbbb - Cho bảng chữ A, An biểu diễn tập từ độ dài n A A∗ tập Hình 1.1 : Biểu diễn từ có độ dài từ có độ dài A; ta có A∗ = n≥0 An - Độ dài α ∈ A∗ ký hiệu |α| số lần xuất kí tự x α, với x ∈ A ký hiệu |α|x - Cho từ α, β sau: α = α(1)α(2) α(n), β = α(1)α(2) α(k), k ≤ n đó, β gọi tiền tố α Nếu thêm điều kiện k = n tiền tố β gọi tiền tố chặt (proper) α - Với X tập kí tự, từ α ∈ ({a, b} ∪ X)∗ có tính chất tiền tố với tiền tố β α, |β|b ≤ |β|a , tập từ Y ⊂ ({a, b} ∪ X)∗ có tính chất tiền tố α ∈ Y có tính chất tiền tố Ví dụ, X = 0, α = ab0ab có tính chất tiền tố với β = ab0a tiền tố α thỏa mãn |β|b ≤ |β|a tập từ Y ⊂ (a, b, 0)∗ α ∈ Y có tính chất tiền tố Như vậy, tính chất tiền tố đảm bảo đường lưới ô vuông nằm trục Ox - Cho α từ tập {a, b} Từ β thu từ α cách thay đổi a b, ngược lại thay b a, β gọi đảo α Ví dụ, cho α = abab, theo cách xây dựng ta có β = baba gọi đảo α 1.2 Một số đối tượng tổ hợp quan trọng 1.2.1 Từ Dyck - Định nghĩa: Một từ α tập {a, b} gọi từ Dyck có tính chất tiền tố |α|b = |α|a 10 end for end if end procedure Với giải thuật sinh trên, kích thước từ n từ có độ dài n sinh ra, ngược lại kích thước từ chưa n tiếp tục tìm bit từ.Từ giải thuật chung này, ta đưa giải thuật riêng cho lớp từ 4.2 Giải thuật sinh cho lớp từ 4.2.1 Giải thuật sinh cho lớp từ Dyck Vấn đề sinh từ Dyck mô tả giả mã sau: Giải thuật 4.2 procedure Gen_Dyck(size) local i if size = n then Print(D) else D[size + 2] := ’b’ i := size + repeat D[i] := ’a’ Gen_Dyck(size + 2) D[i] := ’b’ i := i − until D[i] = ’b’ end if end procedure Giải thuật Gen_Dyck(size) cho phép sinh vị trí size từ Dyck, size = n hiển thị từ Dyck có độ dài n qua thủ tục Print(D) ngược lại tiếp tục sinh vị trí từ Dyck Phần tử D[i] chứa bit thứ i từ Dyck Sinh từ Dyck có độ dài n, chương trình ta gọi Gen_Dyck(0) 51 4.2.2 Giải thuật sinh cho lớp từ Grand Dyck Tương tự giải thuật sinh từ Dyck, ta có giải thuật sinh cho lớp từ Grand Dyck: Giải thuật 4.3 procedure Gen_GDyck(size) local i, s, t if size = n then Print(GD) else GD[size + 1] := ’a’ GD[size + 2] := ’b’ Gen_GDyck(size + 2) GD[size + 1] := ’b’ GD[size + 2] := ’a’ Gen_GDyck(size + 2) if GD[size] = ’b’ then s := ’b’ t := ’a’ else s := ’a’ t := ’b’ end if i := size GD[size + 1] := GD[size + 2] := s while GD[i] := s GD[i] := t Gen_GDyck(size + 2) GD[i] := s i := i − end while end if end procedure Trong chương trình gọi thủ tục Gen_GDyck(0) 52 4.2.3 Giải thuật sinh cho lớp từ Dyck k - phân m - màu Với lớp từ Dyck k - phân m - màu mã hóa sau: a1 ∼ 1, b1 ∼ 2, a2 ∼ 3, b2 ∼ 4, , ∼ i ∗ − 1, bi ∼ i ∗ 2, với i = 1, 2, , m, m màu tăng hay giảm đặc trưng số 1, 2, , ∗ m, n bội k (các từ Dyck k - phân m - màu có độ dài n) Giải thuật cho lớp từ sau: Giải thuật 4.4 procedure GenM KDyck(size) local i, j, c if size = n then Print(M KD) else c := M KD[size] if c = then for j = to k M KD[size + j] := c end for i := m + repeat M KD[i] := c − GenM KDyck(size + k) M KD[i] := c i := i − until M KD[i] = c end if for i := to m if i ∗ = c then M KD[size + 1] := i ∗ − for j := to k M KD(size + j) end for GenM KDyck(size + k) end if 53 end for end if end procedure 4.2.4 Giải thuật sinh cho lớp từ Motzkin Ở chương trước, xây dựng từ Motzkin có hai cách xây dựng dựa quy luật kế vị Tương ứng hai cách xây dựng đó, ta có hai giải thuật sinh cho lớp từ Motzkin a) Giải thuật sinh thứ cho lớp từ Motzkin: Với giải thuật này, ban đầu ta khởi tạo phần tử X[1] = 0, X[2] = 1, A[1] = 2, A[0] = 1, M 1[1] = chương trình ta gọi thủ tục GenM otzkin1(2, 1) Giải thuật 4.5 procedure GenM otzkin1(k, size) local i, j, c if size = n then Print(M 1) else j := X[size + 1] M 1[size + 1] := ’b’ for i := to (k − 1) M 1[j] := ’a’ if A[j] = p + then A[X[j]] := A[j] + X[A[j] + 1] := X[j] else A[X[j]] := A[j] X[A[j]] := X[j] end if GenM otzkin1(i, size + 1) M 1[j] := if A[j] = size + then A[X[j]] := j X[A[j] + 1] := j 54 else A[X[j]] := j X[A[j]] := j end if j := X[j] end for M 1[size + 1] := X[size + 2] := size + A[size + 1] := size + if (k = 1) then GenM otzkin1(2, size + 1) else GenM otzkin1(k + 1, size + 1) end if end if end procedure b) Giải thuật sinh thứ hai cho lớp từ Motzkin: Giải thuật 4.6 procedure GenM otzkin2(size) local i if size ≥ n then if size = n then Print(M 2) end if else GenM otzkin2[size + 2] := ’b’ i := size + repeat M 2[i] := ’a’ GenM otzkin2(size + 2) M 2[i] := ’b’ i := i − 55 until (M 2[i] = b ) i := size + repeat M 2[i] := GenM otzkin2(size + 1) M 2[i] := ’b’ i := i − until (S2[i] ’b’) end if end procedure Sinh từ Motzkin có độ dài n theo phương pháp thứ hai, chương trình ta gọi GenM otzkin2(0) 4.2.5 Giải thuật sinh cho lớp từ Schr¨ oder Giải thuật sinh cho lớp từ Schr¨oder ta sử dụng mảng S để lưu bit từ Schr¨ oder; chương trình ta gọi thủ tục GenSchroder(0) Giải thuật 4.7 procedure GenSchroder(size) local i if size = n then Print(M 1) else i := size + repeat S[i] := S[i + 1] := GenSchroder(size + 2) S[i] := ’b’ S[i + 1] := ’b’ i := i − until (S[i] = ’b’) i := size + 56 S[size + 2] := ’b’ repeat S[i] := ’a’ GenSchroder(size + 2) S[i] := ’b’ i := i − until (S[i] = ’b’) end if end procedure 4.3 Đánh giá độ phức tạp giải thuật Các quy luật tăng trưởng theo đường chạy cuối cho họ từ Dyck, từ Schr¨ oder quy luật tăng trưởng đường chạy cuối thứ cho từ Motzkin thực trực tiếp thuật toán sinh CAT Thực chất, thuật toán sinh thuật toán đệ qui thực trực tiếp từ quy luật tăng trưởng tương ứng cho lớp từ Như vậy, vòng lặp lời gọi đệ qui cho việc xử lý đường chạy cuối từ Theo quy luật tăng trưởng trên, chiều dài đường chạy cuối từ đưa p có p + từ kế tiếp, điều có nghĩa lời gọi có bậc Vì vậy, thỏa mãn yêu cầu thuật toán CAT Tuy nhiên, quy luật tăng trưởng theo đường chạy cuối từ nhị phân mật độ cố định đại diện C(k, n) không đưa thuật toán CAT trường hợp chung Kết thử nghiệm đây, trọng số k tỷ lệ với độ dài n, thấy quy luật tăng trưởng thực thuật toán CAT Liên quan tới quy luật tăng trưởng đường chạy cuối từ Motzkin, xem kết thử nghiệm bảng đây, thấy tỷ lệ số lượng lời gọi đệ qui với số lượng đối tượng sinh giảm dần khoảng 1.50 Vì vậy, hy vọng chứng minh thuật toán cho lớp từ thỏa mãn CAT Một số kết thử nghiệm cho số lớp từ: Các kết thử nghiệm quy tắc đường chạy cuối cho số nhị phân mật độ cố định C(k, n) minh họa bảng Các số dòng giá trị độ dài n; số cột giá trị trọng số k; ô qua giá trị số n k tỷ lệ số lượng lời gọi đệ qui với số lượng 57 đối tượng sinh tương ứng 20 15 10 10.5 5.5 5.25 4 4.2 3.2 3.5 2.67 1.83 2.29 1.57 2.62 10 1.91 1.45 k n 5.33 3.67 2.75 2.2 1.38 Bảng 4.1 : Các kết thử nghiệm thuật toán cho luật đường chạy cuối cho số nhị phân mật độ cố định C(k, n) n calls objects 11 13 16 17 21 22 23 1.75 1.76 1.73 1.67 1.61 1.59 1.58 1.57 1.56 1.55 1.55 Bảng 4.2 : Các kết thử nghiệm thuật toán cho luật đường chạy cuối thứ từ Motzkin Các thuật toán sinh thực nhanh đặc tính CAT Điều có nghĩa tổng số phép tính toán chia cho tổng số lượng đối tượng sinh biến đổi số, tức là, có lượng không đổi phép tính toán thực đối tượng phán đoán Qua kết thử nghiệm thuật toán với quy luật đường đường chạy cuối cho lớp từ, ta thấy tỷ lệ tổng số phép tính toán với tổng số lượng đối tượng giảm dần Các từ sinh cách đầy đủ không bị bỏ sót thời gian cho phép 58 n calls objects 10 12 14 16 18 20 22 1.33 1.363 1.33 1.30 1.284 1.271 1.26 1.254 1.249 1.24 Bảng 4.3 : Các kết thử nghiệm thuật toán với quy luật đường chạy cuối cho từ Schr¨ oder n calls objects 12 16 18 20 22 1.333 1.40 1.40 1.379 1.366 1.361 1.358 1.356 Bảng 4.4 : Các kết thử nghiệm thuật toán với quy luật đường chạy cuối cho từ Grand Dyck 59 KẾT LUẬN Luận văn "Phương pháp sinh toàn số đối tượng tổ hợp" đạt kết sau: - Nghiên cứu số đối tượng tổ hợp quan trọng: Dyck, Motzkin, Schr¨oder hướng mở rộng chúng - Nghiên cứu phương pháp sinh ECO cho đối tượng đưa phương pháp sinh đối tượng tổ hợp cách có hiệu dựa vào quy luật tăng trưởng cho đường chạy cuối đối tượng tổ hợp - Đưa giải thuật sinh đối tượng tổ hợp cài đặt, biểu diễn số đối tượng tổ hợp đồ thị - Phân tích đánh giá độ phức tạp cho giải thuật sinh đối tượng tổ hợp Qua kết thử nghiệm thuật toán với quy luật đường đường chạy cuối cho lớp từ, ta thấy tỷ lệ tổng số phép tính toán với tổng số lượng đối tượng giảm dần Các từ sinh cách đầy đủ không bị bỏ sót thời gian cho phép Vấn đề sinh toàn đối tượng tổ hợp việc nghiên cứu đối tượng nhiều tác giả nước quan tâm Vì vậy, cho rằng: Đây bước khởi điểm để tiếp tục nghiên cứu đề xuất phương pháp sinh cho đối tượng cách có hiệu nghiên cứu ứng dụng chúng lĩnh vực 60 Tài liệu tham khảo [1] A Bernini, I Fanti, and L Ferrari (2007) "An exhaustive generation algorithm for Catalan objects and others", PU.M.A [2] Phan Thuan DO, Vincent VAJNOVSZKI, (2007), "CAT generation of Dyck words and relatives", CGCS2007, Marseille - Luminy, France [3] E Barcucci, A Del Lungo, E Pergola, and R Pinzani (1999) "ECO: a methodology for the enumeration of combinatorial objects", Journal of Difference Equations and Applications, (5:435–490) [4] E Barcucci, E Pergola, R Pinzani, and S Rinaldi (2000), "ECO-systems for Dyck and Schr¨ oder paths", PU.M.A., 11:401 – 407 [5] Enrica Duchi, Jean-Marc Fedou, Simone Rinaldi () "From object grammars to ECO systems" [6] Luca Ferrari,(2008), "Journal Article: Some combinatorics related to central binomial coefficients: Grand-Dyck paths, coloured noncrossing partitions and signed pattern avoiding permutations", http://arxiv.org [7] L Ferrari, E Pergola, R Pinzani, and S Rinaldi (2003), "Jumping succession rules and their generating functions", Discrete Math, (271:29–50) [8] Philippe Duchon (1998), "On the enumeration and generation of generalized Dyck words" [9] S Bacchelli, E Barcucci, E Grazzini, and E Pergola (2004), "Exhaustive generation of combinatorial objects by ECO", Acta Informatica, (40:585 –602) [10] Nguyễn Tô Thành, Nguyễn Đức Nghĩa (1994), Toán rời rạc, ĐHBK Hà Nội [11] Frank Ruskey (2003) "Combinatorial genration", Working Version (1j-CSC 425/520) no comments printed, pseudo-code version [12] (2012) "ECO-based Gray codes generation for particular classes of words" [13] V Vajnovszki (2008), "Simple Gray codes constructed by ECO method",JMIT, Mons, Belgique [14] V Vajnovszki (2002), "Gray visiting Motzkins", Acta Informatica 38(2002), 793-811 62 PHỤ LỤC: MỘT SỐ HÌNH ẢNH TRONG CHƯƠNG TRÌNH SINH Hình 4.1 : Chương trình sinh số đối tượng tổ hợp Hình 4.2 : Chương trình sinh lớp từ Dyck 63 Hình 4.3 : Chương trình sinh lớp từ Dyck k- phân m- màu Hình 4.4 : Chương trình sinh lớp từ Grand Dyck 64 Hình 4.5 : Chương trình sinh lớp từ Motzkin Hình 4.6 : Chương trình sinh lớp từ Schr¨oder 65 ... Pinzani phương pháp liệt kê số lớp đối tượng tổ hợp Phương pháp đưa cách xây dựng đệ qui đối tượng theo kích thước chúng - Phương pháp ECO phương pháp đệ qui cho vấn đề liệt kê lớp đối tượng tổ hợp. .. hình nên 15 dùng phương pháp liệt kê không phương pháp khác tìm lời giải 1.3.2 Một số phương pháp sinh a) Phương pháp sinh - Phương pháp sinh áp dụng để giải toán liệt kê tổ hợp đặt hai điều... nói chung; số tổ hợp xuất nhiều ngành tin học ứng dụng Mục đích đề tài: Tìm phương pháp sinh toàn số đối tượng tổ hợp quan trọng Ứng dụng đề tài: Nghiên cứu tính chất dãy số, sinh toàn số với độ