THÔNG TIN TÀI LIỆU
THIẾT KẾ VÀ ĐÁNH GIÁ THUẬT TỐN Giới thiệu mơn học Một số khái niệm Máy Turing Hàm đệ quy ngun thủy Giới thiệu mơn học • THÔNG TIN CHUNG VỀ MÔN HỌC Lớp: K53A2, học kì năm học 2010-2011 Thời lượng: 3tín Giờ lên lớp hàng tuần: tiết, sáng thứ Tư, 9h00 đến 11h50 Giờ tự học: 6tiết/tuần • GIẢNG VIÊN TS Nguyễn Thị Hồng Minh Khoa Sau đại học, ĐHQGHN ĐT: 0904101065 (DĐ) – 37547615 (CQ) – 35654358 (NR) Email: nth_minh@yahoo.com Giới thiệu môn học • MỤC TIÊU MƠN HỌC Mục tiêu kiến thức: o Trang bị kiến thức thiết kế đánh giá thuật toán o Cung cấp số thuật toán Mục tiêu kĩ o Hiểu việc phân tích tốn, q trình xây dựng thuật tốn, đánh giá độ phức tạp thuật toán xây dựng o Triển khai chương trình thể thuật tốn Mục tiêu khác o Hoàn thiện thêm số kỹ suy luận xác lập trình; phát triển ý tưởng để xây dựng phần mềm ứng dụng Giới thiệu mơn học • NỘI DUNG TĨM TẮT Mơn học gồm phần nội dung chính: Phần 1: Các vấn đề lí thuyết thuật tốn Phần 2: Các phương pháp thiết kế thuật toán Phần 3: Các thuật toán phổ dụng Trong triển khai giảng dạy, nội dung phần phần phối hợp truyền đạt thực hành tập Giới thiệu mơn học • HỌC LIỆU Giáo trình chính: [1] Thomas H Cormen, Charles E Leiserson, Ronald L Rivest and Clifford Stein, Introduction to Algorithms (Second Edition) McGraw Hill - MIT Press © 2001 (ISBN:0262032937) Bản dịch: Giáo trình thuật tốn, NXB Thống kê, 2001 Bản ebook: MIT.Introduction.to.Algorithms.Second.Edition.chm Slides giảng tham khảo: http://www.cs.iupui.edu/~xkzou/teaching/CS580/ [2] Ian Parberry and William Gasarch, Problems on Algorithms, ebooks 2002 Download files tại: http://www.mediafire.com/?ev4r88w9ubv6w Giới thiệu môn học Học liệu tham khảo: [1] John E Hopcroft, Jeffrey D Ullman, Formal languages and their relation to automata, Addision-Wesley publishing company [2] V Aho, J E Hopcroft, J D Ullman, The design, analysis of computer algorithms [3] Robert Sedgewick, Algorithms (2 tập) [4] Nigel Cutland, An introdution to recursive function theory, Cambridge University Press, 1980 [5] Niklaus With Algorithms + Data Structures = Programs [6] Knuth., The art of computer programming Giới thiệu mơn học • ĐÁNH GIÁ MƠN HỌC Điểm mơn học tính sau: DMH = (DCC * 0.2) + (DKT * 0.3) + (DBT * 0.5) DMH : Điểm môn học DCC: Điểm chuyên cần DKT: Điểm kiểm tra kì DBT: Điểm thi hết mơn CHƯƠNG MỘT SỐ KHÁI NIỆM CƠ BẢN Mở đầu Thuật toán khái niệm tảng hầu hết lĩnh vực Tin học “Thuật toán + Cấu trúc liệu = Chương trình” (Algorithms + Data Structures = Programs) (Niklaus Wirth) Một số khái niệm • Bài toán Thuật ngữ “bài toán” tin học: lớp tốn cụ thể loại o Ví dụ Sắp xếp dãy số theo thứ tự Cho: Một dãy số a= (a1, a2, , an) Cần: Xác định dãy a’ = (a’1,a’2, ,a’n), a’i thuộc a, a’1 p; -điều khiển đầu đọc/ghi theo { //} Máy Turing • Ví dụ máy Turing M1 = (K, , , s) Trong đó: K = {s,q,“h”,"yes","no“}, “h” trạng thái dừng Bảng hàm chuyển Sq(q,) = (p,, { //}) s (s, 0, ) s (s, 1, ) s (q, , ) s (s, , ) q (“h”, 1,) q (q, 0, ) q (“h”, ,) Hàm đệ quy nguyên thủy • Khái niệm Hàm đệ quy nguyên thủy hàm lí thuyết số từ tập số tự nhiên sang số tự nhiên (số ngun khơng âm) có n đối, với n số tự nhiên Các hàm gọi hàm n-đối Các hàm đệ quy nguyên thủy hàm tính tốn (computable) Giả sử f hàm đệ quy nguyên thủy, tồn máy Turing M để tính tốn giá trị f Xem thêm: http://en.wikipedia.com/ Primitive_recursive_function Hàm đệ quy nguyên thủy • Định nghĩa Các hàm đệ quy nguyên thủy định nghĩa sau: o Hàm hằng: Hàm 0-đối đệ quy nguyên thủy (C=const) o Hàm kế tiếp: Hàm 1-đối S trả lại giả trị đổi hàm đệ quy nguyên thủy (S(x) = x+1) o Hàm chiếu: Với n≥1 với i thỏa mãn 1≤i≤n, hàm chiếu n-đối Pin, trả lại giá trị đối thứ i (Pin(x1, ,xi,…xn)=xi) Hàm đệ quy nguyên thủy • Định nghĩa Các hàm đệ quy nguyên thủy phức tạp nhận thơng qua phép đệ quy nguyên thủy đối biển sau: o Đổi biến: Cho hàm đệ quy nguyên thủy k-đối f k hàm đệ quy nguyên thủy m-đối g1, ,gk Hàm nhận nhờ phép đổi biến hàm f với g1, ,gk, hàm m-đối h(x1, ,xm) = f(g1(x1, ,xm), ,gk(x1, ,xm)) đệ quy nguyên thủy o Đệ quy nguyên thủy: Cho hai hàm đệ quy nguyên thủy k-đối (k+2)-đối f g Hàm (k+1)-đối nhận nhờ phép đệ quy nguyên thủy hàm f g, hàm h tức h(0,x1, ,xk) = f(x1, ,xk) h(S(n),x1, ,xk) = g(h(n,x1, ,xk),n,x1, ,xk), đệ quy nguyên thủy Hàm đệ quy nguyên thủy •Một số hàm đệ quy nguyên thủy Hàm cộng: add(a,b)= a+b Hàm nhân: mul(a,b)= a×b Hàm lũy thừa: exp(a,b)= ab, Hàm giai thừa: fac(a) = a! Hàm giảm đối: pred(a) = (a>0 ? a-1 : 0) Hàm trừ đúng: proper_sub(a,b) = ( a ≥ b ? a-b : 0) Hàm lấy min: minimum(a1, an) Hàm lấy max: maximum (a1, an) … Xem thêm: http://en.wikipedia.org/wiki/Primitive_recursive_function ... có: - Một băng tuyến tính dài vơ hạn hai phía, - Đầu đọc: dịch trái, dịch phải, đọc/ghi kí hiệu - Một tập trạng thái Q tập lệnh P điều khiển đầu đọc Máy Turing • Mơ tả máy Turing Hoạt động - Cho... Rivest and Clifford Stein, Introduction to Algorithms (Second Edition) McGraw Hill - MIT Press © 2001 (ISBN:0262032937) Bản dịch: Giáo trình thuật tốn, NXB Thống kê, 2001 Bản ebook: MIT .Introduction. to.Algorithms.Second.Edition.chm... input vào băng - Đầu đọc viết vị trí trái băng - Máy thực theo hệ lệnh P đến máy dừng liệu băng trạng thái máy output Máy Turing • Mơ tả máy Turing Về vật lí : Máy Turing cấu gồm có: - Một băng
Ngày đăng: 15/12/2022, 16:05
Xem thêm: