Bài giảng Thuật toán và tư duy thuật toán

46 27 0
Bài giảng Thuật toán và tư duy thuật toán

Đ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

Bài giảng Thuật toán và tư duy thuật toán với mục tiêu củng cố khái niệm và những đặc trưng cơ bản về thuật toán; củng cố và phân tích thêm về thiết kế thuật toán; nâng cao hiệu quả giảng dạy thuật toán và cài đặt thuật toán ở PT.

RÈN LUYỆN TƯ DUY VÀ KHẢ NĂNG CÀI ĐẶT THUẬT TOÁN Ở TRƯỜNG PT Mục tiêu  Củng cố khái niệm đặc trưng thuật toán  Củng cố phân tích thêm thiết kế thuật toán  Nâng cao hiệu giảng dạy thuật toán cài đặt thuật toán PT Hồ Cẩm Hà-ĐHSPHN THUẬT TỐN • Khái niệm thuật tốn • Máy tính thuật tốn • Đánh giá thuật tốn 1.1 KHÁI NIỆM THUẬT TỐN (1) • Khơng đề cập đến khái niệm hình thức xác thuật tốn (định nghĩa thơng qua mơ hình máy Turing) Xem xét số định nghĩa (khơng hình thức) nhiều khác • Bản chất mơ tả cách thức mà nhiệm vụ hay tiến trình thực thuật toán 1.1 KHÁI NIỆM THUẬT TỐN (2) Định nghĩa 1(K.Rosen): Một thuật tốn thủ tục xác định để giải toán (vấn đề), sử dụng số hữu hạn bước Mỗi bước gồm thao tác/phép tốn 1.1 KHÁI NIỆM THUẬT TỐN (3) Định nghĩa 2.(G Brookshear) Một thuật toán tập hợp có thứ tự bứớc khơng nhập nhằng, thực được, xác định tiến trình có kết thúc, (tức việc thực thuật toán phải dẫn tới kết thúc) 1.1 KHÁI NIỆM THUẬT TOÁN (4) Định nghĩa 3.(A V Aho, J.E Hopcroft, J D Ullman) Thuật toán dãy hữu hạn câu lệnh, câu lệnh có ý nghĩa rõ ràng thực với lượng công sức hữu hạn thời gian hữu hạn 1.1 KHÁI NIỆM THUẬT TOÁN (5) Định nghĩa (C A Shaffer) Một thuật toán bảng dẫn để giải tốn, bước cụ thể khơng nhập nhằng Thuật tốn phải đắn theo nghĩa phải tính hàm mong muốn , chuyển đổi đầu vào (dữ liệu vào) thành đầu (dữ liệu ra) đúng, có độ dài hữu hạn phải kết thúc với liệu vào hợp lệ 1.1 KHÁI NIỆM THUẬT TỐN (6) Các tính chất:  Đầu vào (dữ liệu vào) có giá trị đầu vào lấy từ tập xác định Đầu (kết ra) Từ tập giá trị đầu vào, thuật toán sản sinh giá trị đầu thuộc tập xác định Các giá trị đầu chứa lời giải tốn Tính xác định Các bước thuật toán phải định nghĩa xác (khơng nhập nhằng) 1.1 KHÁI NIỆM THUẬT TỐN (7) Các tính chất (tiếp)  Tính hữu hạn Phải cho kết (đầu ra) mong đợi sau số hữu hạn bước (có thể lớn) với đầu vào thuộc tập liệu vào hợp lệ Tính hiệu Phải có khả thực bước thuật tốn cách đắn (chính xác) thời gian chấp nhận Tính tổng quát (phổ dụng) phải áp dụng cho tốn có chung dạng, mà khơng phải cho riêng tập liệu vào đặc biệt 10 2.3 TÍNH ĐƠN THỂ (ví dụ) Giả sử ta muốn robot vẽ hai hình vng đồng tâm hình sau         Hai hình vng đồng tâm mà robot phải vẽ đầu điểm X tâm điểm hai hình vng   32 2.3 TÍNH ĐƠN THỂ (ví dụ) Giả sử robot lúc mặt nhìn vào tờ giấy bút nhấc lên Phiên thuật toán: (1) Dịch chuyển tới điểm A Vẽ hình vng có cạnh 10cm Dịch chuyển tới điểm B Vẽ hình vng có cạnh 20cm 33 2.3 TÍNH ĐƠN THỂ (ví dụ) Bước bước thuật tốn bao gồm việc vẽ hình vng, q trình tự đầy đủ, hồn tồn độc lập với phần cịn lại thuật tốn Một mơđun thuật tốn tự đầy đủ thiết kế độc lập với ngữ cảnh sử dụng Một thuật tốn sử dụng mơđun nói gọi tới mơđun (Chẳng hạn thuật tốn gọi tới thủ tục vẽ hình vng hai lần) 34 2.3 TÍNH ĐƠN THỂ (ví dụ) module vẽhìnhvng(kíchthước)  For i:=1 to begin hạ bút xuống dịch chuyển (kíchthước ) nhấc bút lên trái (90) end; 35 2.3 TÍNH ĐƠN THỂ (ví dụ) Tổng qt, mơđun có dạng sau module têncủamơđun (các tham số hình thức) { đặc tả tiến trình đưưỵc mơđun mơ tả } thân mơđun 36 2.3 TÍNH ĐƠN THỂ Một lời gọi tới mơđun có dạng têncủamơđun ( tham số thực )  Lời gọi xử lý hiểu lệnh thực thân mơđun (tên rõ), cịn tham số hình thức thay tham số thực 37 2.3 TÍNH ĐƠN THỂ  tham số hình thức xem biểu diễn thơng tin cần cho mơđun gọi tới  tham số thực mảnh thông tin cung cấp cho lần gọi cụ thể chúng chỗ tham số hình thức mơđun thực 38 2.3 TÍNH ĐƠN THỂ (ví dụ) Có thể tinh chế thuật tốn vẽ hai hình vng đồng tâm sau: (2) trái (45) dịch chuyển ( 50 ) { thẳng tới điểm A } trái (135) vẽ hình vng (10) { vẽ hình vng bên } trái (45) dịch chuyển ( 50 ) { thẳng tới điểm B} trái (135) vẽ hình vng (20) { vẽ hình vng bên ngồi } 39 2.3 TÍNH ĐƠN THỂ (ví dụ) Người thiết kế thuật tốn khơng cần biết mơđun làm việc , mà cần biết kết việc thực (chỉ cần đọc đặc tả đầu mơđun) Điều làm giảm độ phức tạp q trình thiết kế  có thiết kế tin cậy Đặc tả thuật tốn mơ tả thuật tốn làm mà khơng sâu vào cách thức làm 40 2.3 TÍNH ĐƠN THỂ (ví dụ) Xét cách tiếp cận khác cho mơđun vẽhìnhvng:  Thiết kế mơđun vẽ hình đa giác sau gọi với tham số thực thích hợp cần vẽ hình vng 41 2.3 TÍNH ĐƠN THỂ (ví dụ) module vẽđagiác ( kíchthưước, N ) For i:=1 To N Do begin hạ bút xuống dịch chuyển (kíchthước) nhấc bút lên trái ( 360/N ) end 42 2.3 TÍNH ĐƠN THỂ  Các mơđun phù hợp cách tự nhiên với cách tinh chế thuật tốn cho thiết kế trên-xuống  Một mơđun thành phần tự đầy đủ thuật toán lớn gọi tới Việc thiết kế mơđun thuật tốn gọi tới thực riêng biệt khiến trình thiết kế đơn giản tin cậy ( lỗi, sai sót hơn) 43 2.3 TÍNH ĐƠN THỂ  Để sáp nhập (cấy) mơ đun vào thuật tốn, cần biết thuật tốn làm mà khơng cần biết làm  Dùng mơđun làm đơn giản việc thiết kế thuật toán, nên việc hiểu thuật tốn dễ dàng Do đó, trường hợp cần phải sửa đổi thuật tốn cơng việc dễ dàng, thuận lợi 44 2.3 TÍNH ĐƠN THỂ  Một mơđun thiết kế, “cấy” vào thuật tốn cần tới  xây dựng thư viện môđun, phục vụ cho ứng dụng thuộc chủ đề 45 HỆ THỐNG THƠNG TIN ... đặc trưng thuật toán  Củng cố phân tích thêm thiết kế thuật tốn  Nâng cao hiệu giảng dạy thuật toán cài đặt thuật tốn PT Hồ Cẩm Hà-ĐHSPHN THUẬT TỐN • Khái niệm thuật tốn • Máy tính thuật tốn... kết thúc với liệu vào hợp lệ 1.1 KHÁI NIỆM THUẬT TỐN (6) Các tính chất:  Đầu vào (dữ liệu vào) có giá trị đầu vào lấy từ tập xác định Đầu (kết ra) Từ tập giá trị đầu vào, thuật toán sản sinh giá... việc thiết kế thuật toán , thường sử dụng rộng rãi cho kết tốt 26 2.2 TINH CHẾ THUẬT TOÁN (2) Ý tư? ??ng chia tiến trình phải thực thành số bước, bước mơ tả thuật toán nhỏ đơn giản so với thuật tốn

Ngày đăng: 14/05/2021, 20:12

Tài liệu cùng người dùng

Tài liệu liên quan