SlideShare a Scribd company logo
1 of 5
Download to read offline
1/10/2011
1
Phần I – Giới thiệu về
Thuật toán
KHÁI NIỆM CƠ BẢN
Chương 1.1
Nội dung
• 1.1. Thuật toán là gì?
• 1.2 Tính chất của thuật toán
• 1.2 .1 Tính chính xác
• 1.2.2 Tính hiệu quả
• 1.3 Chứng minh thuật toán đúng
• 1.4 Biểu diễn thuật toán
1.1 Thuật toán là gì ?
• Thuật toán:
• thủ tục để thực hiện một nhiệm vụ cụ thể
• ý tưởng nằm sau các chương trình máy tính.
• Thuật toán phải giải quyết bài toán tổng quát, và được định
nghĩa rõ ràng.
• Một thuật toán giải bài toán đặt ra là một thủ tục xác định bao
gồm một dãy hữu hạn các bước cần thực hiện để thu được
đầu ra cho một đầu vào cho trước của bài toán.
Các bước
thực hiện
Đầu vào Đầu ra
1/10/2011
2
1.1 Thuật toán là gì ?
Bài toán: sắp xếp
• Đầu vào: một dãy gồm n khóa
• Đầu ra: một hoán vị có thứ tự của các khóa đầu vào trong đó
Trường hợp cụ thể của bài toán
• {14, 45, 68, 24, 54, 34}
• {Mike, Bob, Sally, Jill, Jan}
• Chúng ta chỉ quan tâm đến các thuật toán chính xác và hiệu
quả, và dễ cài đặt
1 2
, ,.., n
a a a
1 2
' ' .. 'n
a a a
  
1.2.1 Tính chính xác
• Thuật toán phải cho đầu ra mong muốn ứng với bất cứ đầu
vào hợp lệ nào của bài toán.
• Tính chính xác không phải lúc nào cũng dễ thấy!
VD. Bài toán chọn lịch xem phim
• Đầu vào: Một tập L gồm thời gian chiếu trong ngày của n bộ
phim
• Đầu ra: Tập con của L chứa số bộ phim lớn nhất có thể xem
(không được chồng nhau về thời gian)
P1
P2
P3
Sherlock holmes Up in the air
Avatar
One
Madagasca 2
Angel and demon
Up
Alice in the wonderland
1.2.1 Tính chính xác
• Thuật toán 1. Chọn bộ phim sớm nhất trong L mà không trùng
với các bộ phim đã chọn trước đó. Lặp lại cho đến khi không
thể chọn thêm.
• Thuật toán 2. Chọn bộ phim có thời gian chiếu ngắn nhất
trong L mà không trùng với các bộ phim đã chọn trước. Lặp lại
cho đến khi không chọn thêm được.
1.2.1 Tính chính xác
• Thuật toán 3. Duyệt toàn bộ: duyệt 2n tập con của n bộ phim
trong L. Chọn ra tập con nào có số lượng phần tử lớn nhất.
Đảm bảo thu được kết quả tối ưu
Thuật toán chạy rất chậm, vd n =20 thì số tập con là 220
• Thuật toán 4. Thuật toán tối ưu: sắp xếp các lịch chiếu phim
theo thứ tự không giảm thời gian kết thúc. Lần lượt xem xét
các phim trong danh sách đã sắp xếp, bổ sung vào danh sách
xem bộ phim đang xét nếu nó không chồng lên các bộ phim đã
có trong danh sách xem.
• Có những bài toán mà không tồn tại thuật toán chính xác để
giải!
1/10/2011
3
1.2.1 Tính chính xác
• Phân biệt giữa thuật toán chính xác và không chính xác: đưa
ra một ví dụ thuật toán mà thuật toán cho kết quả sai (phản ví
dụ).
• Chứng minh tính đúng đắn của thuật toán: khó khăn hơn
nhiều.
• Bài tập. Tìm các phản ví dụ cho các thuật toán giải bài toán
hành trình du lịch tối ưu.
1.2.2 Tính hiệu quả
“Tại sao không chỉ sử dụng mỗi siêu máy tính? ”
• Siêu máy tính chỉ cho người giàu và những người quá
ngốc để có thể thiết kế một thuật toán hiệu quả!
• Thuật toán nhanh hơn chạy trên các máy tính chậm
hơn sẽ thắng trong trường hợp dữ liệu đầu vào đủ lớn.
Bài toán cái túi
• Đầu vào: n đồ vật, mỗi đồ vật i có một trọng lượng wi và một
giá trị ci. Một cái túi có thể chứa các đồ vật với trọng lượng tối
đa là b
• Đầu ra: Cách chất các đồ vật vào túi sao cho trọng lượng tối đa
không vượt quá b, và tổng giá trị các đồ vật trong túi là lớn
nhất.
• Xây dựng thuật toán chất các đồ vào túi ?
∑ →
Chọn đồ vật có giá trị cao trước
• Sắp xếp các đồ vật theo thứ tự giảm về giá trị.
• Lần lượt xét các đồ theo thứ tự này, cho đồ vật đang xét vào
túi nếu nó còn có thể chứa thêm được
1/10/2011
4
Chọn đồ vật trọng lượng nhỏ trước
• Sắp xếp các đồ vật theo thứ tự tăng trọng lượng
• Lần lượt xét các đồ vật theo thứ tự này, chọn đồ vật đang xét
vào túi nếu nó vẫn có thể chứa thêm
Chọn đồ vật theo tỉ lệ ci/wi
• Sắp xếp các đồ vật theo thứ tự giảm của tỉ lệ giá trị/ trọng
lượng
…
• Lần lượt xét các đồ vật theo
thứ tự này, chọn đồ vật đang
xét vào túi nếu nó vẫn có
thể chứa thêm
Tìm phản ví dụ ?
Chứng minh thuật toán sai bằng
cách chỉ ra một phản ví dụ
• Tìm trong các trường hợp dữ liệu
nhỏ
• Các ví dụ mà sát với các tiêu chuẩn
lựa chọn của thuật toán
• Các ví dụ của các trường
hợp cực trị (lớn nhất, nhỏ nhất …)
Không tìm được phản ví dụ không có nghĩa thuật toán là đúng!
1.3 Chứng minh tính đúng đắn
• Thuật toán được định nghĩa đệ quy: Thuật toán được định
nghĩa lại bằng chính nó (với kích thước bài toán nhỏ hơn)
!
1 ế 0
1 ! ế 0
• Chứng minh tính đúng đắn của thuật toán
đệ quy bằng phương pháp quy nạp
1
2
1/10/2011
5
1.4 Biểu diễn thuật toán
• Cần biểu diễn các bước thực hiện tuần tự của thuật toán một
cách cụ thể.
• Biểu diễn bằng:
• Ngôn ngữ tự nhiên
• Giả ngôn ngữ (pseudocode)
• Lưu đồ
• Ngôn ngữ lập trình cụ thể (C/C++, java,…)
Tính
chính
xác
Tính
dễ
dàng

More Related Content

Similar to Chapter.1.1.Principle.Concepts.pdf

Cơ sở mật mã học PTIT
Cơ sở mật mã học PTITCơ sở mật mã học PTIT
Cơ sở mật mã học PTITNguynMinh294
 
Kỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế BảoKỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế BảoNguyen Van Nghiem
 
Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)nhok_lovely
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 

Similar to Chapter.1.1.Principle.Concepts.pdf (10)

Gt co so mat ma hoc
Gt co so mat ma hocGt co so mat ma hoc
Gt co so mat ma hoc
 
Cơ sở mật mã học PTIT
Cơ sở mật mã học PTITCơ sở mật mã học PTIT
Cơ sở mật mã học PTIT
 
Đề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAYĐề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAY
 
Kỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế BảoKỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
Kỹ thuật lập trình - PGS.TS. Phạm Thế Bảo
 
Bai 4
Bai 4Bai 4
Bai 4
 
SLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptxSLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptx
 
Thuat Toan
Thuat ToanThuat Toan
Thuat Toan
 
Thuat Toan 2
Thuat Toan 2Thuat Toan 2
Thuat Toan 2
 
Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)Kỹ thuật lập trình (khoa toán tin học)
Kỹ thuật lập trình (khoa toán tin học)
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 

Recently uploaded

BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaTài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaKhiNguynCngtyTNHH
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx7E26NguynThThyLinh
 
Báo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxBáo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxhoangvubaongoc112011
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...Nguyen Thanh Tu Collection
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfHngNguyn271079
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......thoa051989
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
CH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfCH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfSuperJudy1
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...Nguyen Thanh Tu Collection
 
Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayLcTh15
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...Nguyen Thanh Tu Collection
 
trò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minhtrò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minhNguynHuTh6
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...Nguyen Thanh Tu Collection
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTrangL188166
 

Recently uploaded (20)

BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaTài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
 
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
 
Báo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxBáo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptx
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
CH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfCH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdf
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
 
Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hay
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
 
trò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minhtrò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minh
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
 

Chapter.1.1.Principle.Concepts.pdf

  • 1. 1/10/2011 1 Phần I – Giới thiệu về Thuật toán KHÁI NIỆM CƠ BẢN Chương 1.1 Nội dung • 1.1. Thuật toán là gì? • 1.2 Tính chất của thuật toán • 1.2 .1 Tính chính xác • 1.2.2 Tính hiệu quả • 1.3 Chứng minh thuật toán đúng • 1.4 Biểu diễn thuật toán 1.1 Thuật toán là gì ? • Thuật toán: • thủ tục để thực hiện một nhiệm vụ cụ thể • ý tưởng nằm sau các chương trình máy tính. • Thuật toán phải giải quyết bài toán tổng quát, và được định nghĩa rõ ràng. • Một thuật toán giải bài toán đặt ra là một thủ tục xác định bao gồm một dãy hữu hạn các bước cần thực hiện để thu được đầu ra cho một đầu vào cho trước của bài toán. Các bước thực hiện Đầu vào Đầu ra
  • 2. 1/10/2011 2 1.1 Thuật toán là gì ? Bài toán: sắp xếp • Đầu vào: một dãy gồm n khóa • Đầu ra: một hoán vị có thứ tự của các khóa đầu vào trong đó Trường hợp cụ thể của bài toán • {14, 45, 68, 24, 54, 34} • {Mike, Bob, Sally, Jill, Jan} • Chúng ta chỉ quan tâm đến các thuật toán chính xác và hiệu quả, và dễ cài đặt 1 2 , ,.., n a a a 1 2 ' ' .. 'n a a a    1.2.1 Tính chính xác • Thuật toán phải cho đầu ra mong muốn ứng với bất cứ đầu vào hợp lệ nào của bài toán. • Tính chính xác không phải lúc nào cũng dễ thấy! VD. Bài toán chọn lịch xem phim • Đầu vào: Một tập L gồm thời gian chiếu trong ngày của n bộ phim • Đầu ra: Tập con của L chứa số bộ phim lớn nhất có thể xem (không được chồng nhau về thời gian) P1 P2 P3 Sherlock holmes Up in the air Avatar One Madagasca 2 Angel and demon Up Alice in the wonderland 1.2.1 Tính chính xác • Thuật toán 1. Chọn bộ phim sớm nhất trong L mà không trùng với các bộ phim đã chọn trước đó. Lặp lại cho đến khi không thể chọn thêm. • Thuật toán 2. Chọn bộ phim có thời gian chiếu ngắn nhất trong L mà không trùng với các bộ phim đã chọn trước. Lặp lại cho đến khi không chọn thêm được. 1.2.1 Tính chính xác • Thuật toán 3. Duyệt toàn bộ: duyệt 2n tập con của n bộ phim trong L. Chọn ra tập con nào có số lượng phần tử lớn nhất. Đảm bảo thu được kết quả tối ưu Thuật toán chạy rất chậm, vd n =20 thì số tập con là 220 • Thuật toán 4. Thuật toán tối ưu: sắp xếp các lịch chiếu phim theo thứ tự không giảm thời gian kết thúc. Lần lượt xem xét các phim trong danh sách đã sắp xếp, bổ sung vào danh sách xem bộ phim đang xét nếu nó không chồng lên các bộ phim đã có trong danh sách xem. • Có những bài toán mà không tồn tại thuật toán chính xác để giải!
  • 3. 1/10/2011 3 1.2.1 Tính chính xác • Phân biệt giữa thuật toán chính xác và không chính xác: đưa ra một ví dụ thuật toán mà thuật toán cho kết quả sai (phản ví dụ). • Chứng minh tính đúng đắn của thuật toán: khó khăn hơn nhiều. • Bài tập. Tìm các phản ví dụ cho các thuật toán giải bài toán hành trình du lịch tối ưu. 1.2.2 Tính hiệu quả “Tại sao không chỉ sử dụng mỗi siêu máy tính? ” • Siêu máy tính chỉ cho người giàu và những người quá ngốc để có thể thiết kế một thuật toán hiệu quả! • Thuật toán nhanh hơn chạy trên các máy tính chậm hơn sẽ thắng trong trường hợp dữ liệu đầu vào đủ lớn. Bài toán cái túi • Đầu vào: n đồ vật, mỗi đồ vật i có một trọng lượng wi và một giá trị ci. Một cái túi có thể chứa các đồ vật với trọng lượng tối đa là b • Đầu ra: Cách chất các đồ vật vào túi sao cho trọng lượng tối đa không vượt quá b, và tổng giá trị các đồ vật trong túi là lớn nhất. • Xây dựng thuật toán chất các đồ vào túi ? ∑ → Chọn đồ vật có giá trị cao trước • Sắp xếp các đồ vật theo thứ tự giảm về giá trị. • Lần lượt xét các đồ theo thứ tự này, cho đồ vật đang xét vào túi nếu nó còn có thể chứa thêm được
  • 4. 1/10/2011 4 Chọn đồ vật trọng lượng nhỏ trước • Sắp xếp các đồ vật theo thứ tự tăng trọng lượng • Lần lượt xét các đồ vật theo thứ tự này, chọn đồ vật đang xét vào túi nếu nó vẫn có thể chứa thêm Chọn đồ vật theo tỉ lệ ci/wi • Sắp xếp các đồ vật theo thứ tự giảm của tỉ lệ giá trị/ trọng lượng … • Lần lượt xét các đồ vật theo thứ tự này, chọn đồ vật đang xét vào túi nếu nó vẫn có thể chứa thêm Tìm phản ví dụ ? Chứng minh thuật toán sai bằng cách chỉ ra một phản ví dụ • Tìm trong các trường hợp dữ liệu nhỏ • Các ví dụ mà sát với các tiêu chuẩn lựa chọn của thuật toán • Các ví dụ của các trường hợp cực trị (lớn nhất, nhỏ nhất …) Không tìm được phản ví dụ không có nghĩa thuật toán là đúng! 1.3 Chứng minh tính đúng đắn • Thuật toán được định nghĩa đệ quy: Thuật toán được định nghĩa lại bằng chính nó (với kích thước bài toán nhỏ hơn) ! 1 ế 0 1 ! ế 0 • Chứng minh tính đúng đắn của thuật toán đệ quy bằng phương pháp quy nạp 1 2
  • 5. 1/10/2011 5 1.4 Biểu diễn thuật toán • Cần biểu diễn các bước thực hiện tuần tự của thuật toán một cách cụ thể. • Biểu diễn bằng: • Ngôn ngữ tự nhiên • Giả ngôn ngữ (pseudocode) • Lưu đồ • Ngôn ngữ lập trình cụ thể (C/C++, java,…) Tính chính xác Tính dễ dàng