Bài giảng Thiết kế và đánh giá thuật toán

231 1,015 19

Meo Gửi tin nhắn Báo tài liệu vi phạm

Tải lên: 1,273 tài liệu

  • Loading ...
1/231 trang
Tải xuống

Thông tin tài liệu

Ngày đăng: 12/09/2012, 22:56

Bài giảng Thiết kế và đánh giá thuật toán 11Thiết kế đánh giá Thiết kế đánh giá thuật toánthuật toánCao học, khoa công nghệ thông tinCao học, khoa công nghệ thông tinĐại học quốc gia Hà nội.Đại học quốc gia Hà nội.Phan Thị Hà DươngPhan Thị Hà DươngViện Toán học. Viện Toán học. phan.haduong@gmail.comphan.haduong@gmail.com22Chương trìnhChương trìnhChương 1Chương 1: Giới thiệu về thuật toán: Giới thiệu về thuật toánChương 2Chương 2: Phân tích tính hiệu quả của thuật : Phân tích tính hiệu quả của thuật toán toán Chương 3Chương 3: Phương pháp “tham lam”: Phương pháp “tham lam”Chương 4Chương 4: Phương pháp “chia để trị”: Phương pháp “chia để trị”Chương 5Chương 5: Phương pháp qui hoạch động: Phương pháp qui hoạch độngChương 6Chương 6: Thuật toán trên đồ thị: Thuật toán trên đồ thịChương 7Chương 7: Phương pháp xác suất: Phương pháp xác suấtChương 8Chương 8: Về độ phức tạp tính toán: Về độ phức tạp tính toán33Ví dụ: Chương 3: Phương pháp Ví dụ: Chương 3: Phương pháp “tham lam”“tham lam”I.I.Giới thiệu chungGiới thiệu chungII.II.Thuật toán trên đồ thịThuật toán trên đồ thị1)1)Cây bao trùm nhỏ nhấtCây bao trùm nhỏ nhất2)2)Đường đi ngắn nhấtĐường đi ngắn nhấtIII.III.Thuật toán sắp xếp lịch làm việcThuật toán sắp xếp lịch làm việcIV.IV.Thuật toán “heurisitic”Thuật toán “heurisitic”1)1)Tô màu đồ thịTô màu đồ thị2)2)Người đưa hàngNgười đưa hàng44Sách tham khảoSách tham khảo55Sách tham khảoSách tham khảo2. 2. Algorithmique - conception et analyseAlgorithmique - conception et analyseG. Brassard and P.Bratley, Masson, Paris , G. Brassard and P.Bratley, Masson, Paris , 198719873. 3. Data structure and algorithmsData structure and algorithmsA. Aho, J. Hopcroft and J. Ullman, Addison A. Aho, J. Hopcroft and J. Ullman, Addison Wesley Publishing CompanyWesley Publishing Company4. 4. Lý thuyết độ phức tạp tính toán.Lý thuyết độ phức tạp tính toán.Phan Đình Diệu.Phan Đình Diệu.66Chương 1: Giới thiệu về thuật Chương 1: Giới thiệu về thuật toántoánI.I.Khái niệm thuật toánKhái niệm thuật toánII.II.Một số ví dụMột số ví dụIII.III.Đánh giá thuật toán trong trường hợp Đánh giá thuật toán trong trường hợp xấu nhất theo trung bìnhxấu nhất theo trung bìnhIV.IV.Về thuật toán hiệu quảVề thuật toán hiệu quảV.V.Một số bài toán cụ thểMột số bài toán cụ thểVI.VI.Cấu trúc dữ liệu Cấu trúc dữ liệu 77Khái niệm về thuật toánKhái niệm về thuật toánThuật toán:Thuật toán:Dữ kiện vàoKết quả raQuá trình tính toánMột dãy các bước tính toánMột dãy sốDãy số được sắp xếpThuật toán sắp xếp88Một số từ khóaMột số từ khóaif (điều kiện) then {…} elseif (điều kiện) then {…} elsefor (điều kiện) do {…}for (điều kiện) do {…}while (điều kiện) do {…}while (điều kiện) do {…}procedure (T, a, b) {…}procedure (T, a, b) {…}function(A) {… return r; }function(A) {… return r; }99Sắp xếp chèn vàoSắp xếp chèn vào5522 4 6 1 3 4 6 1 3225 5 44 6 1 3 6 1 3224 5 4 5 66 1 3 1 3114 54 56 6 11 3 3112 4 5 6 2 4 5 6 331 2 3 4 5 61 2 3 4 5 61010Thuật toán xếp chèn vàoThuật toán xếp chèn vàoInsertion-Sort (A) {Insertion-Sort (A) {forfor j = 2 j = 2 toto length (A) length (A) dodo { { k = A[j]; // k = A[j]; // chèn A[j] vào dãy đã sắp A[1 j-1]chèn A[j] vào dãy đã sắp A[1 j-1]j = j-1;j = j-1;while while i > 0 and A[i] > k do {i > 0 and A[i] > k do {A[i+1] = A[i];A[i+1] = A[i];I = i-1; }I = i-1; }A{i+1} = k; }A{i+1} = k; }}}[...]... nghĩa:F(0) = 0, F(1) = 1, và F(0) = 0, F(1) = 1, và F(n) = F(n-1) + F(n-2) với n > 1.F(n) = F(n-1) + F(n-2) với n > 1.Tìm thuật tốn tính số Fibonacci thứ n.Tìm thuật tốn tính số Fibonacci thứ n. 1414 Đánh giá thuật toán Đánh giá thuật toán Giải quyết một bài tốn. Giải quyết một bài tốn. Vấn đề:Vấn đề:Có nhiều thuật tốn. Chọn thuật tốn nào ?Có nhiều thuật tốn. Chọn thuật tốn nào ?Mơ hình... binarytreenode;}}ab cde f 77Khái niệm về thuật toán Khái niệm về thuật toán Thuật toán: Thuật tốn:Dữ kiện vàoKết quả raQ trình tính tốnMột dãy các bước tính tốnMột dãy sốDãy số được sắp xếp Thuật tốn sắp xếp 1313Phân tích thuật tốn Merge-SortPhân tích thuật tốn Merge-SortĐây là một thuật toán chia để trị.Đây là một thuật toán chia để trị.ChiaChia::bước 2:... pháp đánh giá Phương pháp đánh giá Phương pháp thực nghiệmPhương pháp thực nghiệm: Lập trình, thử trên các ví : Lập trình, thử trên các ví dụ xem thuật toán nào nhanh.dụ xem thuật toán nào nhanh.Phương pháp lý thuyếtPhương pháp lý thuyết: Tính tốn thời gian, bộ nhớ, … : Tính tốn thời gian, bộ nhớ, … cần thiết của mỗi thuât toán dựa theo độ lớn của dữ liệu cần thiết của mỗi thuât toán. .. element;value: information element;neighbours: list; }neighbours: list; }1243 11 Thiết kế đánh giá Thiết kế đánh giá thuật tốn thuật tốnCao học, khoa cơng nghệ thơng tinCao học, khoa công nghệ thông tinĐại học quốc gia Hà nội.Đại học quốc gia Hà nội.Phan Thị Hà DươngPhan Thị Hà DươngViện Toán học. Viện Toán học. phan.haduong@gmail.comphan.haduong@gmail.com 2525CâyCâytypetype... hóaLập chương trìnhViết thuật toán 1818Thời gian chạy trong trường hợp xấu nhất: Thời gian chạy trong trường hợp xấu nhất: là cận trên đối với mọi dữ liệu vào.là cận trên đối với mọi dữ liệu vào.Thời gian chạy trung bình: thường khó phân Thời gian chạy trung bình: thường khó phân tích đánh giá hơn.tích đánh giá hơn. 1717Ví dụVí dụHãy chạy thuật tốnHãy chạy thuật tốnInsertion-SortInsertion-SortMerge-SortMerge-SortĐối... xứng” bắc cầuđối xứng” bắc cầu 33Ví dụ: Chương 3: Phương pháp Ví dụ: Chương 3: Phương pháp “tham lam”“tham lam”I.I.Giới thiệu chungGiới thiệu chungII.II. Thuật toán trên đồ thị Thuật toán trên đồ thị1)1)Cây bao trùm nhỏ nhấtCây bao trùm nhỏ nhất2)2)Đường đi ngắn nhấtĐường đi ngắn nhấtIII.III. Thuật toán sắp xếp lịch làm việc Thuật toán sắp xếp lịch làm việcIV.IV. Thuật. .. trị.ChiaChia::bước 2: bước 2: θθ(1)(1)TrịTrị::bước 3 4:bước 3 4:2T(n/2)2T(n/2)Hợp lạiHợp lại::bước 5:bước 5:θθ(n)(n)Tổng kếtTổng kết::T(n) = T(n) = θθ(1)(1)nếu n=1nếu n=12T(n/2) + 2T(n/2) + θθ(n)(n)nếu n >1nếu n >1 2020 Thuật toán thứ nhất thứ hai Thuật toán thứ nhất thứ haifontionfontion fib1(n){ fib1(n){ifif n < 2 n... ik +t;}i = ik +t;}t = h^2;t = h^2;h = 2kh+t;h = 2kh+t;k = k^2+t;k = k^2+t;n = n div 2;n = n div 2;}}return return j;j;}} 4848 Thuật toán sinh Thuật toán sinh Thuật_ toán Tham_lam{ Thuật_ toán Tham_lam{// // vào: tập hợp C các đối tượngvào: tập hợp C các đối tượng// ra: tập S (giải pháp tối ưu)// ra: tập S (giải pháp tối ưu)S = S = Ø;Ø;whilewhile(! (! solutionsolution(S)... “heurisitic” Thuật tốn “heurisitic”1)1)Tơ màu đồ thịTơ màu đồ thị2)2)Người đưa hàngNgười đưa hàng 3434Sắp xếp các hàm sau theo quan hệ 0 Sắp xếp các hàm sau theo quan hệ 0 θθ 22Chương trìnhChương trìnhChương 1Chương 1: Giới thiệu về thuật tốn: Giới thiệu về thuật tốnChương 2Chương 2: Phân tích tính hiệu quả của thuật : Phân tích tính hiệu quả của thuật toán toán Chương... “khơng có nghiệm”;}} 44Sách tham khảoSách tham khảo 4545Giới thiệu chung Giới thiệu chung (greedy algorithms)(greedy algorithms)Các thuật toán tham lam chủ yếu để giải Các thuật toán tham lam chủ yếu để giải quyết các bài toán tối ưu. Ta có:quyết các bài tốn tối ưu. Ta có:- Một tập các đối tượng- Một tập các đối tượng- Một dãy các đối tượng đã lựa chọn- Một dãy các đối tượng đã lựa chọn- . >1141 4Đánh giá thuật toán ánh giá thuật toánGiải quyết một bài toán. Giải quyết một bài toán. Vấn đề:Vấn đề:Có nhiều thuật toán. Chọn thuật toán nào. 1 1Thiết kế và đánh giá Thiết kế và đánh giá thuật toánthuật toánCao học, khoa công nghệ thông tinCao học, khoa
- Xem thêm -

Xem thêm: Bài giảng Thiết kế và đánh giá thuật toán, Bài giảng Thiết kế và đánh giá thuật toán, Bài giảng Thiết kế và đánh giá thuật toán, a= gA mod p B: gb mod p x= bA mod p B: y = aB mod p, 1 1 2 2 3 3 4 4 5 5 6 6 7 7 6: Thuật toán trên đồ thị 6: Thuật toán trên đồ thị, 7: Giới thiệu về 7: Giới thiệu về

Từ khóa liên quan

Gợi ý tài liệu liên quan cho bạn