1. Trang chủ
  2. » Công Nghệ Thông Tin

Kỹ thuật đánh giá thuật toán

78 467 3

Đ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 78
Dung lượng 630,19 KB

Nội dung

Kỹ thuật đánh giá thuật toán Nội dung: 1. Công cụ sơ cấp 2. Hàm sinh 3. Nhóm Hoán vị 4. Định lý Master Phép toán chủ yếu trong các đoạn mã là phép gán và so sánh. Phƣơng pháp này không giải quyết đƣợc hết các trƣờng hợp tổng quát

CHƯƠNG 2 KỸ THUẬT ĐÁNH GIÁ THUẬT TOÁN 1 NỘI DUNG  1. Công cụ sơ cấp  2. Hàm sinh  3. Nhóm Hoán vị  4. Định lý Master 2 NỘI DUNG  1. Công cụ sơ cấp  1.1 Phƣơng pháp chung  1.2 Phân loại sơ bộ các đoạn mã thể hiện thuật toán  1.3 Vấn đề rẽ nhánh  2. Hàm sinh  3. Nhóm hoán vị  4. Định lý Master 3 1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Phân tích trực tiếp đoạn mã và sử dụng các kỹ thuật:  Phép đếm  Tính tổng hữu hạn  Xét dấu hàm  …  Phép toán chủ yếu trong các đoạn mã là phép gán và so sánh  Phƣơng pháp này không giải quyết đƣợc hết các trƣờng hợp tổng quát 4 Xác định số phép toán chủ yếu 1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Xét đoạn mã sau: 5 sum = 0; i = 1; while (i ≤ n) { j = n-i*i; while ( j ≤ i*i ) { sum = sum +i*j; j = j +1; } i = i +1; } Tính số phép gán ? Tính số phép so sánh ? 1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Tính số phép gán 6 sum = 0; i = 1; while (i ≤ n) { j = n-i*i; while ( j ≤ i*i ) { sum = sum +i*j; j = j +1; } i = i +1; } 1 gán 1 gán n gán  i gán  i gán n gán P i 1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Tính số phép gán Số phép gán Vòng lặp của đoạn P i đƣợc thực hiện chỉ khi 7          n i i n i i n i i n n nPGann 1 1 1 222 222 )(11   2 222 n iiin  1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Tính số phép gán Từ đó: 8                 2 12 2 0 2 1)( 2 0 22 2 222 2 n ikhini n ikhi n ikhiini n ikhi i i   1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Tính số phép gán Số phép gán 9                                                          n n i n n i n n i n n i i n i i inn nin n 2 2 2 2 2 2 2 1 221222 12222 2222  1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Tính số phép gán Số phép gán 10                                                                  2 2 2 2 411 2 222 2211 2 222 n n n n nn in n nn n n i [...]... CÁC ĐOẠN MÃ THỂ HIỆN THUẬT GIẢI  Không có tính toán lặp   Tùy tình huống Có tính toán lặp  Loại 1: Số lần lặp xác định tƣờng minh (thể hiện rõ ràng trong đoạn mã)  Loại 2: Số lần lặp không tƣờng minh  Có thể tính toán xác định Ví dụ: Tổng n số nguyên  Biến ngẫu nhiên phụ thuộc dữ liệu nhập Ví dụ: Tìm số lớn nhất 11 1 CÔNG CỤ SƠ CẤP 1.2 PHÂN LOẠI SƠ BỘ CÁC ĐOẠN MÃ THỂ HIỆN THUẬT GIẢI  Ví dụ:... a[0]; while (i < n) { if (max < a[i]) { max = a[i]; } i = i +1; } {1 gán} { 1 gán} {n ss} i là biến ngẫu nhiên lấy giá trị rời rạc {0, 1, …, n-1} {n-1 ss} {i gán} {n-1 gán} 16 BÀI TẬP 2.1.1 Tính số phép so sánh của ví dụ trong slide 5 Từ đó xác định thời gian thực hiện của thuật toán đó  2.1.2 Xác định thời gian thực thi của đoạn mã sau:  sum = 0; i = 1; while (i ≤ n) { j = i; while ( j > 0 )... Việc xác định số phép gán, số phép n so sánh đƣợc qui về tính   i i 1  Nhận xét: j là tổng các số lẽ 1, 3, 5, …  j là số chính phƣơng 13 1 CÔNG CỤ SƠ CẤP 1.2 PHÂN LOẠI SƠ BỘ CÁC ĐOẠN MÃ THỂ HIỆN THUẬT GIẢI  Ví dụ: i = 1; ret = 0; while (i ≤ n) { j = 1; k = 1; while ( j ≤ i ) { ret = ret +i*j; k = k+2; j = j +k; } i = i +1; } {1 gán} { 1 gán} {n+1 ss} {n gán} {n gán} {i +1 ss} {i gán} {i gán}... ngoài thì số vòng lặp tƣờng minh: n lần  Vòng lặp trong số vòng lặp không xác định một cách hiển nhiên {i gán} {i gán} {i gán} {n gán} 12 1 CÔNG CỤ SƠ CẤP 1.2 PHÂN LOẠI SƠ BỘ CÁC ĐOẠN MÃ THỂ HIỆN THUẬT GIẢI  Ví dụ: i = 1; ret = 0; while (i ≤ n) { j = 1; k = 1; while ( j ≤ i ) { ret = ret +i*j; k = k+2; j = j +k; } i = i +1; } {1 gán} { 1 gán} {n+1 ss} {n gán} {n gán} {i +1 ss} {i gán} {i gán}... 1.1  1.1  2 c 2  1 1  1 1  1 1  3 cn  n  1  1 H ( z)    n  1z n (1  z ) 2 n  0 28 2 HÀM SINH 2.3 HÀM SINH CỦA DÃY PHÂN BỐ XÁC SUẤT  Định nghĩa Cho X là biến ngẫu nhiên rời rạc lấy giá trị trong tập {0, 1, 2, …} Đặt pi = P(X= i) Ta có: 0  pi  1    pi  1  i 0 Dãy {pn} đƣợc gọi là dãy phân bố xác suất Hàm sinh của dãy này là  G ( z )   pn z n n 0 29 2 HÀM SINH 2.3 HÀM... SUẤT  Số lƣợng phép gán phần tử mảng:  = + 1 với  {0, 1, 2} Ví dụ n= 3; i = 1; max = a[0]; {1 gán} while (i < n) { if (max < a[i]) { max = a[i]; } i = i +1; } Khi a[0], a[1], a[2] lấy ngẫu nhiên các giá trị phân biệt thì Trường hợp a[0] . 7          n i i n i i n i i n n nPGann 1 1 1 22 2 22 2 )(11   2 222 n iiin  1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Tính số phép gán Từ đó: 8                 2 12 2 0 2 1)( 2 0 22 2 222 2 n ikhini n ikhi n ikhiini n ikhi i i   1                                                     n n i n n i n n i n n i i n i i inn nin n 2 2 2 2 2 2 2 1 22 122 2 122 22 222 2  1. CÔNG CỤ SƠ CẤP 1.1 PHƢƠNG PHÁP CHUNG  Ví dụ: Tính số phép gán Số phép gán.                                                             2 2 2 2 411 2 222 22 11 2 222 n n n n nn in n nn n n i 1. CÔNG CỤ SƠ CẤP 1 .2 PHÂN LOẠI SƠ BỘ CÁC ĐOẠN MÃ THỂ HIỆN THUẬT GIẢI  Không

Ngày đăng: 19/06/2014, 10:50

TỪ KHÓA LIÊN QUAN

w