Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
398,75 KB
Nội dung
Chương 3: LÝ THUYẾT TỔ HỢP BÀI TOÁN TỒN TẠI 3.2 BÀI TOÁN ĐẾM TỔ HỢP 3.3 BÀI TOÁN LIỆT KÊ 3.4 BÀI TOÁN TỐI ƯU BÀI TOÁN TỒN TẠ I MỞ ĐẦU Trong nhiều toán tổ hợp, việc tồn cấu hình tổ hợp thỏa mãn tính chất cho trước có ý nghĩa quan trọng mặt lí thuyết thực tế Trong tổ hợp xuất toán quan trọng Bài toán tồn tại: Xét tồn cấu hình tổ hợp thỏa mãn tính chất cho trước Một tốn tồn tổ hợp xem giải xong cách xây dựng cấu hình, chứng minh chúng khơng có Tuy nhiên hai khả dễ Để thấy rõ phức tạp vấn đề, ta xét số toán tồn tổ hợp cổ điển tiếng MỘT SỐ VÍ DỤ Bài tốn 36 sĩ quan: Bài toán nhà toán học Euler đưa ra, nội dung sau: Người ta triệu tập từ trung đoàn, trung đoàn sĩ quan có cấp bậc khác nhau: thiếu úy, trung úy, thượng úy, đại úy, thiếu tá, trung tá Hỏi xếp 36 sĩ quan thành hình vng 66 cho hàng dọc hàng ngang có đại diện trung đồn có cấp bậc khác Để đơn giản ta dùng chữ in hoa A, B, C, D, E, F để trung đoàn chữ thường a, b, c, d, e, f để cấp bậc Bài tốn tổng qt hóa cách thay số n Trong trường hợp n = 4, lời giải toán 16 sĩ quan: Ab Dd Ba Cc Bc Ca Ad Db Cd Bb Dc Aa Da Ac Cb Bd Một lời giải cho trường hợp n = toán 25 sĩ quan: Aa Bb Cc Dd Ee Cd De Ea Ab Bc Eb Ac Bd Ce Da Be Ca Db Ec Ad Dc Ed Ae Ba Cb Do lời giải tốn biểu diễn hai hình vng với chữ hoa thường xếp cạnh nên tốn tổng qt cịn có tên gọi tốn hình vng la tinh trực giao Sinh thời, nhà toán học Euler nhiều cơng sức tìm lời giải cho tốn khơng thành cơng Vì vậy, ơng đưa giả thuyết lời giải cho toán tổng qt khơng tồn Ví dụ: * 132 … 1324 * AN … ANH * BANDIT … BANK * 13246 … 1341 b Thuật toán sinh tổng quát Kí hiệu s cấu hình hành, so cấu hình (theo thứ tự từ điển) + B1: Khởi tạo, gán s so + B2: Kết xuất s + B3: Kiểm tra tiêu chuẩn kết thúc: Nếu s cấu hình cuối kết thúc, ngược lại sang bước + B4: Tìm cấu hình t đứng sau s theo thứ tự từ điển Gán s t quay lại bước c Liệt kê tất dãy nhị phân có độ dài n * Phát biểu toán Cho n N Hãy liệt kê (theo nghĩa từ điển) tất dãy nhị phân độ dài n, tức dãy [b1, b2, ,bn] với bi {0, 1}, i = 1, 2, …, n Số dãy nhị phân 2n dãy nhị phân đầu tiên: so = [0, 0, , 0] Phương pháp tìm dãy Cho dãy nhị phân s = [s1, s2, …, sn], ta tìm dãy t = [t1, t2, …, tn] - Từ dãy s, xuất phát từ sn từ phải sang trái tìm phần tử sm, m n, thỏa sm = + Nếu không tìm thấy s = [1, 1, , 1] dãy cuối kết thúc + Nếu tìm thấy ta xây dựng dãy t = [t1, t2, , tn] sau: ti = si với i = 1, 2, , m – tm = ti = với i = m + 1, m + 2, , n Ví dụ: Cho dãy nhị phân s = [010011], tìm dãy kế tiếp? Thuật tốn liệt kê dãy nhị phân - Đầu vào: nhập n - Đầu ra: Danh sách tất dãy nhị phân độ dài n theo thứ tự từ điển tăng dần + B1: Khởi tạo: Gán si = với i = 1, 2, , n + B2: Kết xuất s + Bước 3: Tìm m thoả mãn m = max{i | si = 0} Nếu khơng tìm thấy s = [1,1, ,1] dãy cuối kết thúc Nếu tìm thấy ta đặt: sm si với i = m + 1, m + 2, , n Quay lại bước VÍ DỤ Liệt kê dãy nhị phân có độ dài 3.3.3 THUẬT TOÁN QUAY LUI Nội dung thuật tốn xây dựng dần thành phần cấu hình cách thử tất khả Giả thiết cấu hình cần mơ dãy gồm n thành phần x1x2 xn Giả sử xác định i – thành phần x1, x2, , xi-1 Ta xác định thành phần thứ i xi cách duyệt tất khả có (đánh số khả từ đến ni) Với khả j, kiểm tra xem khả j có chấp nhận khơng Có thể có trường hợp sau: - Nếu j chấp nhận xác định xi theo j, sau i = n ta có cấu hình, cịn i < n tiến hành xác định xi+1 - Nếu thử tất khả mà khơng có khả chấp nhận quay lại bước trước để xác định lại xi-1 Bước xác định xi diễn tả qua thủ tục đệ quy sau: Procedure try(i:integer) var j: integer begin for j to ni if then begin if i = n then else try(i + 1); end; End; Đoạn chương trình tốn liệt kê có dạng: Begin Init; Try(1) End VÍ DỤ Đoạn chương trình liệt kê dãy nhị phân có độ dài n: Var n:integer x: array[0 20] of Procedure Try(i:integer); Var j: integer; Begin for j to begin x[i] j; if i = n then Result else Try(i+1) end; Begin Init; Try(1); End .. .3 BÀI TOÁN TỒN TẠI 3. 2 BÀI TOÁN ĐẾM TỔ HỢP 3. 3 BÀI TOÁN LIỆT KÊ 3. 4 BÀI TOÁN TỐI ƯU BÀI TOÁN TỒN TẠ I MỞ ĐẦU Trong nhiều toán tổ hợp, việc tồn cấu hình tổ hợp thỏa mãn tính... có độ dài 10 bắt đầu 00 kết thúc 11? 3. 3 BÀI TOÁN LIỆT KÊ 3. 3.1 GiỚI THIỆU BÀI TOÁN 3. 3.2 PHƯƠNG PHÁP SINH 3. 3 .3 THUẬT TOÁN QUAY LUI 3. 3.1 GiỚI THIỆU BÀI TỐN Ví dụ: Một băng video ghi C giây... có ý nghĩa quan trọng mặt lí thuyết thực tế Trong tổ hợp xuất toán quan trọng Bài toán tồn tại: Xét tồn cấu hình tổ hợp thỏa mãn tính chất cho trước Một toán tồn tổ hợp xem giải xong cách xây