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

SLIDE TOÁN RỜI RẠC Chương 2:4 BÀI TOÁN LIỆT KÊ TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT

110 56 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

Thông tin cơ bản

Định dạng
Số trang 110
Dung lượng 2,36 MB

Nội dung

IẾP TỤC CHƯƠNG 1 CỦA MÔN TOÁN RỜI RẠC MÌNH SẼ GỬI DẾN D CÁC BẠN SLIDE BÀI GIẢNG CHƯƠNG 2.4 MÔN TOÁN RỜI RẠC CỦA TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT MONG RẰNG VỚI CÁC SLIDE NÀY SẼ GIÚP CÁC BẠN DỄ DÀNG CHINH PHỤC ĐƯỢC MÔN TOÁN RỜI RẠC NÀY

CHƯƠNG 2: LÝ THUYẾT TỔ HỢP Gv: Đặng Hữu Nghị NỘI DUNG 2.1 Sơ lƣợc tổ hợp 2.2 Bài toán đếm 2.3 Bài toán tồn 2.4 Bài toán liệt kê 2.5 Bài toán tối ƣu 2.4.1 GIỚI THIỆU BÀI TỐN tốn đƣa danh sách tất cấu hình tổ hợp có, đƣợc gọi hài toán liệt kê tổ hợp  Bài toán liệt kê tổ hợp giải đƣợc nhƣ ta xác định thuật tốn để theo lần lƣợt xây dựng đƣợc tất cấu hình cần quan tâm  Một thuật tốn liệt kê phải đảm bảo yêu cầu bản:  Bài   Khơng đƣợc lặp lại cấu hình, Khơng đƣợc bỏ sót cấu hình 2.4.2 PHƯƠNG PHÁP SINH  Phƣơng pháp sinh áp dụng để giải toán liệt kê tổ hợp đặt nhƣ hai điều kiện sau đƣợc thực hiện:   Có thể xác định thứ tự tập cấu hình tổ hợp cần liệt kê Từ xác định cấu hình cấu hình cuối thứ tự xác định Xây dựng thuật tốn từ cấu hình chưa phải cuối có, đưa cấu hình 2.4.2 PHƯƠNG PHÁP SINH Thuật tốn sinh procedure Generate; Begin ; Stop:=false; while not stop begin ; if () then else Stop:= true; end; End LIỆT KÊ TẤT CẢ CÁC DÃY NHỊ PHÂN ĐỘ DÀI N  Liệt kê tất dãy nhị phân độ dài n: b1 b2 bn, bi  {0, 1}  Xem dãy nhị phân b = b1b2 bn biểu diễn nhị phân số nguyên p(b)  Ta nói dãy nhị phân b = b1 b2 bn trước dãy nhị phân b' = b'1 b'2 b'n thứ tự tự nhiên ký hiệu b  b' p(b) < p(b') LIỆT KÊ TẤT CẢ CÁC DÃY NHỊ PHÂN ĐỘ DÀI N dụ: Khi n=3, dãy nhị phân độ dài đƣợc liệt kê theo thứ tự tự nhiên bảng bên  Ví  Dễ thấy thứ tự trùng với thứ tự từ điển LIỆT KÊ TẤT CẢ CÁC DÃY NHỊ PHÂN ĐỘ DÀI N Dãy là: 00  Dãy cuối là: 11  Giả sử b1 b2 bn dãy có  Nếu dãy gồm toàn số 1, kết thúc,  Trái lại, dãy nhận đƣợc cách cộng thêm (theo modun 2, có nhớ) vào dãy  Từ ta có qui tắc sinh dãy nhƣ sau:  Tìm i (theo thứ tự i=n, n-1, , 1) thoả mãn bi =  Gán lại bi = bj = với tất j > i Dãy thu đƣợc dãy cần tìm  LIỆT KÊ TẤT CẢ CÁC DÃY NHỊ PHÂN ĐỘ DÀI N Ví dụ:  Xét dãy nhị phân độ dài 10: b = 1101011111  Ta có i =  Do đó, đặt b5 = 1, bi = 0, i = 6, 7, 8, 9, 10, ta thu đƣơc xâu nhị phân 1101100000 1101011111 1101100000 LIỆT KÊ TẤT CẢ CÁC DÃY NHỊ PHÂN ĐỘ DÀI N void Next_Bit_String( ) /*Sinh xâu nhị phân theo thứ tự từ điển xâu có b1 b2 bn  1 */ { i:=n; while (bi = 1) { bi = 0; i:=i-1; } bi := 1; } 10 THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Đẩy hậu dòng sang cột thứ ROW 2, COL ROW 1, COL 1 đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Xếp đƣợc hậu dòng ta tiếp tục xếp hậu dòng ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Thử xếp hậu dòng vào cột ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Thử xếp hậu dòng vào cột ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Xếp đƣợc hậu dòng ta tiếp tục xếp hậu dòng 4: Thử cột ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Thử xếp đƣợc hậu dòng vào cột ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Thử xếp đƣợc hậu dòng vào cột ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Thử xếp đƣợc hậu dòng vào cột ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Không xếp đƣợc hậu dòng ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Quay lại tìm vị trí cho hậu dòng 3: Thử cột ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Quay lại tìm vị trí cho hậu dòng 3: Thử cột ROW 2, COL ROW 1, COL đặt THUẬT TỐN LÀM VIỆC NHƢ THẾ NÀO Khơng có cách xếp cho hậu dòng ROW 2, COL ROW 1, COL đặt THUẬT TOÁN LÀM VIỆC NHƢ THẾ NÀO Quay lại tìm cách xếp cho hậu dịng 2: Khơng có ROW 2, COL ROW 1, COL đặt THUẬT TỐN LÀM VIỆC NHƢ THẾ NÀO Quay lại tìm cách xếp cho hậu dòng 1: Chuyển sang cột ROW 2, COL ROW 1, COL đặt MỘT LỜI GIẢI CỦA BÀI TOÁN XẾP HẬU KHI N = ... printf(" "); Next_Permutation(); } } 31 CHƢƠNG 2.4 BÀI TOÁN LIỆT KÊ 2.4. 3 THUẬT TOÁN QUAY LUI Backtracking Algorithm 32 NỘI DUNG 2.4. 3.1 Sơ đồ thuật toán 2.4. 3.2 Liệt kê cấu hình tổ hợp Liệt kê xâu...NỘI DUNG 2.1 Sơ lƣợc tổ hợp 2.2 Bài toán đếm 2.3 Bài toán tồn 2.4 Bài toán liệt kê 2.5 Bài toán tối ƣu 2.4. 1 GIỚI THIỆU BÀI TỐN tốn đƣa danh sách tất cấu hình tổ hợp có, đƣợc gọi... hình cấu hình cuối thứ tự xác định Xây dựng thuật tốn từ cấu hình chưa phải cuối có, đưa cấu hình 2.4. 2 PHƯƠNG PHÁP SINH Thuật tốn sinh procedure Generate; Begin ; Stop:=false;

Ngày đăng: 17/01/2022, 08:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w