Bài giảng Tin học đại cương - Phần 2: Giải quyết bài toán - Chương 1: Giải quyết bài toán

TIN HỌC ĐẠI CƯƠNG  
Phần 2: GIẢI QUYẾT BÀI TOÁ N  
Phần 2: Giải quyết bài toá n  
Nội dung chí nh  
1. Chương 1: Giải quyết bài toá n  
• Khái niệm về bài toá n  
• Quá trình giải quyết bài toán bằng má y tí nh  
• Phương pháp giải quyết bài toán bằng MT  
2. Chương 2: Thuật toá n  
• Khá i niệm  
• Biểu diễn thuật toá n  
• Thuật toán đệ quy  
• Thuật giải heuristic  
• Một số thuật toá n thô ng dụng  
01-Jan-16  
2
Chương 1: Giải quyết bài toá n  
Nội dung chí nh  
1. Khái niệm về bài toá n  
2. Quá trì nh giải quyết bài toá n bằng  
má y tí nh  
3. Phương pháp giải quyết bài toán  
bằng máy tí nh  
01-Jan-16  
3
Chương 1: Giải quyết bài toá n  
1. Khái niệm bài toá n  
Problem – Bài toán hay vấn đề?  
• Theo Socrate (470-399 TCN): Vấn đề  
thường được dùng với ý nghĩa rộng hơn  
bài toá n  
• Bài toá n là vấn đề mà để giải quyết phải liên  
quan í t nhiều đến tí nh toá n  
– Bài toá n trong vật lý, hóa học, xâ y  
dựng, kinh tế,…  
01-Jan-16  
4
Chương 1: Giải quyết bài toá n  
1. Khái niệm bài toá n  
Phân loại vấn đề (Pytago)  
• Theorema:  
– Vấn đề cần khẳng định đúng sai  
• Ví dụ: Chứng minh cá c định lý trong toán học  
• Problema:  
– Vấn đề cần tìm giải pháp để đạt mục tiêu xác  
định từ những điều kiện ban đầu  
• Ví dụ: Bài toá n dựng hình, tì m đường đi ngắn nhất,  
tổng hợp chất hó a học…  
01-Jan-16  
5
Chương 1: Giải quyết bài toá n  
1. Khái niệm bài toá n  
Biểu diễn vấn đề (1/3)  
A → B  
• A: Giả thiết, điều kiện ban đầu  
• B: Kết luận, mục tiêu cần thực hiện  
• →: Suy luận, giải pháp cần xác định  
01-Jan-16  
6
Chương 1: Giải quyết bài toá n  
1. Khái niệm bài toá n  
Biểu diễn vấn đề (2/3)  
• Cho vấn đề/bài toá n:  
Cho A vàB  
• Giải quyết vấn đề/bài toá n:  
Từ A dùng một số hữu hạn các bước  
suy luận có lý hoặc hành động thí ch hợp  
để đạt B.  
Cần xác định tập các thao tác cơ bản được  
dùng trong suy luận và hành động  
01-Jan-16  
7
Chương 1: Giải quyết bài toá n  
1. Khái niệm bài toá n  
Biểu diễn vấn đề (3/3)  
Trong tin học  
A → B  
• A: Input  
• B: Output  
• →: Chương trì nh cho phé p biến  
đổi A thành B .  
01-Jan-16  
8
Chương 1: Giải quyết bài toá n  
1. Khái niệm bài toá n  
Chương trì nh  
• Chương trì nh  
– Cách mã hóa lại thuật toán/thuật giải để giải  
quyết vấn đề/bài toá n đã cho  
– Tạo thành từ các lệnh cơ bản của máy tí nh  
• Khó khăn:  
– Tồn tại các yếu tố không xác định  
• A và B khô ng đầy đủ, rõ ràng  
• Giải quyết bài toá n trên má y tí nh?  
– Vấn đề tổ chức dữ liệu và thiết kế giải thuật  
Cấu trúc dữ liệu + Giải thuật = Chương trình  
01-Jan-16  
9
Chương 1: Giải quyết bài toá n  
1. Khái niệm bài toá n  
Thiết kế thuật giải  
• Thực hiện bởi con người  
– Là cá ch thức chủ yếu, dựa trên  
• Những thô ng tin được phản ánh rõ ràng trong A, B  
hoặc →  
• Cá c tri thức của con người  
• Tự động hóa xâ y dựng thuật giải  
– Lĩnh vực mới, đang được nghiên cứu  
– Cần phải biểu diễn nội dung và các tri thức liên  
quan dưới dạng tương minh và đầy đủ  
01-Jan-16  
10  
Chương 1: Giải quyết bài toá n  
Nội dung chí nh  
1. Khái niệm về bài toá n  
2. Quá trì nh giải quyết bài toá n bằng  
má y tí nh  
3. Phương pháp giải quyết bài toán  
bằng máy tí nh  
01-Jan-16  
11  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Má y tí nh & Lập trì nh viên  
• Má y tí nh  
– Chỉ làm được những gì được bảo.  
– Khô ng thô ng minh: không thể tự phâ n tích vấn đề  
và đưa ra giải phá p.  
– Khô ng thể dùng giải quyết các vấn đề liên quan đến  
hành động vật lý hoặc biểu thị cảm xúc  
• Lập trình viên  
– Phâ n tích vấn đề  
– Tạo ra các chỉ dẫn để giải quyết vấn đề (xây dưng  
chương trình).  
• Má y tí nh sẽ thực hiện các chỉ dẫn này.  
01-Jan-16  
12  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Cá c bước giải quyết bài toá n  
1. Xá c định bài toá n  
2. Lựa chọn phương pháp giải  
3. Xâ y dựng thuật toán hoặc thuật giải  
4. Cài đặt chương trì nh  
5. Hiệu chỉnh chương trì nh  
6. Thực hiện chương trì nh  
01-Jan-16  
13  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Bước 1: Xá c định bài toá n  
• Mô tả bài toán cần giải quyết  
– Dữ liệu vào: Danh sá ch cá c dữ kiện vào  
– Điều kiện vào: Ràng buộc, quan hệ giữa chúng  
– Dữ liệu ra: Danh sá ch cá c dữ liệu ra  
– Điều kiện ra: Ràng buộc, quan hệ giữa chúng  
• Đánh giá, nhận định tí nh khả thi của bài toá n  
– Thời gian, kinh phí, nguồn lực,…  
Ví dụ: Bài toá n tìm ƯSCLN của 2 số nguyên dương  
– Nhập: 2 số X, Y  
– Điều kiện nhập: X, Y nguyên dương  
– Dữ liệu ra: Z  
– Điều kiện ra: Z là ƯSCLN(X,Y)  
01-Jan-16  
14  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Bước 2: Lựa chọn phương pháp giải  
• Tồn tại nhiều phương pháp khá c nhau  
– Khá c nhau về thời gian thực hiện, chi phí lưu  
trữ dữ liệu, độ chí nh xác…  
• Tùy theo nhu cầu cụ thể và khả năng xử lý  
tự động được sử dụng để lựa chọn phương  
phá p thí ch hợp  
Ví dụ: Bài toá n sắp xếp dã y số  
– Nổi bọt, Vun đống, Sắp xếp nhanh,…  
01-Jan-16  
15  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Bước 3: Xâ y dựng thuật giải  
• Xây dựng mô hình chặt chẽ, chí nh xá c và chi tiết  
cho phương pháp đã lựa chọn  
• Lặp liên tiếp các bước sau để thuật toán ngày càng  
hoàn chỉnh hơn (quá trì nh tinh chỉnh từng bước)  
1. Xác định và chí nh xá c hó a cá c thao tá c  
– Để đạt được kết quả cần làm gì ?  
2. Xác định cá c dữ liệu cần dùng và tính chất của chúng  
– Để thực hiện, thao tác cần gì và sẽ tạo ra gì ?  
3. Xác định trình tự các thao tá c  
– Thao tác nào cần làm trước  
– Thao tác thực hiện 1 hay nhiều lần, thực hiện trong điều kiện  
nào..?  
01-Jan-16  
16  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Bước 3: Xâ y dựng thuật giải (tiếp)  
• Quá trình tinh chỉnh từng bước dừng lại khi  
– Yêu cầu cho biết 1 hay nhiều đại lượng  
– Tính một đại lượng theo cô ng thức đã biết rõ  
– Thông báo một hay nhiều kết quả đã xử lý  
• Sau khi tinh chỉnh cần phải diễn tả giải thuật  
dưới dạng chuẩn  
– Ngôn ngữ liệt kê cá c hành động  
– Sơ đồ khối…  
01-Jan-16  
17  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Bước 4: Cài đặt chương trì nh  
Mã hóa giải thuật bằng một ngô n ngữ lập trì nh  
• Thay thế các thao tác bằng cá c lệnh tương ứng  
của ngô n ngữ sử dụng  
– Thao tá c: In ra một thô ng bá o  
– Câ u lệnh: printf(“….”)/ write(“…..”);  
• Lựa chọn ngôn ngữ lập trì nh, tùy theo bài toán giải  
quyết  
– NNLT bậc thấp: Hợp ngữ  
– NNLT bậc cao: C, Pascal, Java,..  
01-Jan-16  
18  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Bước 5: Hiệu chỉnh chương trì nh  
Chạy thử để phát hiện và điều chỉnh cá c sai  
só t có thể có ở bước 4.  
– Lỗi cú phá p:  
• Viết sai cú phá p của ngôn ngữ lập trì nh  
lựa chọn  
– Lỗi ngữ nghĩa  
• Mã hó a sai giải thuật  
• Giải thuật sai  
01-Jan-16  
19  
Chương 1: Giải quyết bài toá n  
2. Quá trình giải quyết bài toán bằng má y tí nh  
Bước 6: Thực hiện chương trì nh  
• Cho má y tí nh thực hiện chương trì nh.  
• Tiến hành phâ n tích kết quả thu được  
– Kết quả đó có phù hợp hay khô ng.  
– Không phù hợp kiểm tra lại toàn bộ cá c bước.  
01-Jan-16  
20  
Tải về để xem bản đầy đủ
pptx 32 trang baolam 20720 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Phần 2: Giải quyết bài toán - Chương 1: Giải quyết bài toán", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_tin_hoc_dai_cuong_phan_2_giai_quyet_bai_toan_chuon.pptx