SlideShare uma empresa Scribd logo
1 de 17
SEMINAR
Sử dụng phương pháp tham lam để giải quyết
bài toán lập lịch công việc.
SVTH: Nguyễn Danh Thanh
Nội Dung
1 Phát biểu bài toán
2 Giải quyết bài toán
3 Chứng minh tính đúng đắn
4 Tính toán độ phức tạp
5 Giới thiệu chương trình
6 Ứng dụng thực tế
1. Phát biểu bài toán
1.1 Bài toán
Cho n việc cần phải hoàn thành, mỗi việc
thực hiện trong 1 đơn vị thời gian. Việc i sẽ đem
lại wi tiền thưởng nếu hoàn thành đúng hạn di .
[?].Tìm cách thực hiện các công việc để có lợi
nhuận cao nhất mà thời gian thực hiện là ít nhất.
1. Phát biểu bài toán
1.2 Ví dụ
Làm việc nào trước đây
!!!!......
1. Phát biểu bài toán
1.3 Input/Output
Input: n bộ {i , di , wi }
i = 1…n; di € N+ ; wi € Z+.
Output: B, T.
i: Công việc thứ i.
di: Thời điểm kết thúc công việc i.
wi: Số tiền được thưởng nếu hoàn thành công việc i.
B: Lịch thực hiện công việc sao cho T là lớn nhất.
T: Tổng số tiền được thưởng.
2. Giải quyết bài toán
2.1 Ý tưởng 30s
Bước 1: Xác định tất cả các lịch có thể tạo ra từ n công việc.
Bước 2: Tính tổng số phần thưởng ở mỗi lịch.
Bước 3: So sánh tổng phần thưởng ở các lịch -> Đưa ra lịch cần tìm
và tổng tiền thưởng tương ứng.
2. Giải quyết bài toán
2.2 Ý tưởng 30s
Xếp n công việc vào n thời điểm ta có n! cách -> có n! lịch.
Với n = 3 -> 3! = 6
n = 10 -> 10! = 3 628 800
n = 60 -> 60! = 8.32 x 1081
……………………………
n = 10000 ?
Có cách khác không ?
2. Giải quyết bài toán
2.3 Sử dụng phương pháp tham lam
- Sắp xếp lại lịch theo chiều không tăng của phần thưởng wi. Thay đổi
i và di tương ứng.
- Xét trục thời gian B[m]. m = max(di), k=0.
+ Nếu giờ b[di] trên B rỗi thì gán b[di] = i.
+ Nếu giờ b[di] trên B đã bận thì tìm giờ b[j] (j< di) rỗi gần b(di)
nhất.
Nếu tồn tại giờ b[j] thì gán b[j] = i.
Ngược lại c[k++]= i.
- Dồn các việc i trên B để tạo lịch làm việc trù mật.
- Bổ xung các việc trên C vào B.
2. Giải quyết bài toán
2.3 Sử dụng phương pháp tham lam !
Thời gian(h) 1 2 3 4 5 6 7 8 9
Công việc
Tiền thưởng ($)
Công việc (i)
Thời hạn (di)
Tiền thưởng (wi)
5
3
90
6
7
60
3
4
50
4
6
40
2
2
40
8
2
30
1
4
20
7
9
10
1
4
20
2 5 3 4 6 7
30 40 90 50 40 60 10
8 1
20
Tổng tiền thưởng : T = 320!
2. Giải quyết bài toán
2.4 Giải thuật:
1. Sort W, wi > =wj . vs j > i. and change ai ,di
2. T = 0; m = max(di); B[i] = 0, i = 0…m, k = 0.
For i = 1 to n do
j = di
while B[j] > 0 do - - j.
if j = 0 then C[k++] = ai .
else
B[j] = ai .
T += wi .
Exit for
3. f0 = 0,
For i = 1 to m do
if B[i] > 0 then B[f0++] = B[i].
4. B = B +C.
Return B, T.
3. Chứng minh tính đúng đắn
1.Thời gian thực hiện n công việc là ít nhất.
Lịch làm việc trù mật.
Thời điểm bj thực hiện chỉ công việc i.
N công việc.
=> Thời gian thực hiện là n đvtg.
2.Phần thưởng nhận được là lớn nhất.
Xét {ci}. i =1…n ci > cj .
Tại mỗi bước chọn pi, wi đạt max.
Tổng phần thưởng nhận được là lớn nhất
4. Độ phức tạp thuật toán
4.1 Độ phức tạp thời gian
1. Sort W, wi > =wj . vs j > i. and change ai ,di
2. T = 0; m = max(di); B[i] = 0, i = 0…m, k = 0.
For i = 1 to n do
j = di
while B[j] > 0 do - - j.
if j = 0 then C[k++] = ai .
else
B[j] = ai .
T += wi .
Exit for
3. f0 = 0,
For i = 1 to m do
if B[i] > 0 then B[f0++] = B[i].
4. B = B +C.
Return B, T.
O(n.m)
O(m)
Độ phức tạp O(n.m)
O(nlogn)
4. Độ phức tạp thuật toán
4.2 Độ phức tạp không gian
1 mảng lưu n thời hạn kết thúc O(n)
1 mảng lưu n phần thưởng tương ứng O(n)
1 mảng trục thời gian m O(m)
1 mảng lưu công việc trễ k=|m-n| O(k)
Độ phức tạp không gian: O(n)
5. Giới thiệu chương trình
• Ngôn ngữ lập trình C++
• Dữ liệu đầu vào
• Đầu ra
5. Giới thiệu chương trình
5.2 So sánh kết quả
Thời gian mili giây
6. Ứng dụng thực tế
• Xếp thời gian biểu
• Lập lịch cho CPU
Phương pháp tham lam giải bài toán lập lịch công việc

Mais conteúdo relacionado

Mais procurados

Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
Hoat Thai Van
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)
lieu_lamlam
 
Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++
ANHMATTROI
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
trieulongweb
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
zDollz Lovez
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
Cao Toa
 
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại viĐề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đỗ Đức Hùng
 

Mais procurados (20)

Ktmt chuong 2
Ktmt chuong 2Ktmt chuong 2
Ktmt chuong 2
 
Tích phân-5-Ứng dụng tích phân tính diện tích hình phẳng-pages-60-78
Tích phân-5-Ứng dụng tích phân tính diện tích hình phẳng-pages-60-78Tích phân-5-Ứng dụng tích phân tính diện tích hình phẳng-pages-60-78
Tích phân-5-Ứng dụng tích phân tính diện tích hình phẳng-pages-60-78
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệ
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)
 
Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++Mot so ham do hoa trong c c++
Mot so ham do hoa trong c c++
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
Giáo trình mạng máy tính
Giáo trình mạng máy tínhGiáo trình mạng máy tính
Giáo trình mạng máy tính
 
Giải bài tập Phương pháp tính
Giải bài tập Phương pháp tínhGiải bài tập Phương pháp tính
Giải bài tập Phương pháp tính
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++
 
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
chuong 1. co so logic
chuong 1. co so logicchuong 1. co so logic
chuong 1. co so logic
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại viĐề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
Đề Cương ôn tập kiến trúc máy tính và thiết bị ngoại vi
 

Semelhante a Phương pháp tham lam giải bài toán lập lịch công việc

Cđ dãy số viết theo quy luật
Cđ dãy số viết theo quy luậtCđ dãy số viết theo quy luật
Cđ dãy số viết theo quy luật
Cảnh
 
Bai tap-toan-nang-cao-lop-7
Bai tap-toan-nang-cao-lop-7Bai tap-toan-nang-cao-lop-7
Bai tap-toan-nang-cao-lop-7
Kim Liên Cao
 
Các bài toán về tỷ lệ thức
Các bài toán về tỷ lệ thứcCác bài toán về tỷ lệ thức
Các bài toán về tỷ lệ thức
Kim Liên Cao
 

Semelhante a Phương pháp tham lam giải bài toán lập lịch công việc (20)

Cđ dãy số viết theo quy luật
Cđ dãy số viết theo quy luậtCđ dãy số viết theo quy luật
Cđ dãy số viết theo quy luật
 
Dedan chi tiet khu vuc 32010
Dedan chi tiet khu vuc 32010Dedan chi tiet khu vuc 32010
Dedan chi tiet khu vuc 32010
 
đề Thi tuyển sinh lớp 10 thpt tỉnh hà nội năm 2013
đề Thi tuyển sinh lớp 10 thpt tỉnh hà nội năm 2013đề Thi tuyển sinh lớp 10 thpt tỉnh hà nội năm 2013
đề Thi tuyển sinh lớp 10 thpt tỉnh hà nội năm 2013
 
Bai tap-toan-nang-cao-lop-7
Bai tap-toan-nang-cao-lop-7Bai tap-toan-nang-cao-lop-7
Bai tap-toan-nang-cao-lop-7
 
Gt12cb 67
Gt12cb 67Gt12cb 67
Gt12cb 67
 
Gt12cb 68
Gt12cb 68Gt12cb 68
Gt12cb 68
 
Gt12cb 69
Gt12cb 69Gt12cb 69
Gt12cb 69
 
Toan9 hd thang1
Toan9 hd thang1Toan9 hd thang1
Toan9 hd thang1
 
Toan9 hd thang1
Toan9 hd thang1Toan9 hd thang1
Toan9 hd thang1
 
Bai toan va thuat toan
Bai toan va thuat toanBai toan va thuat toan
Bai toan va thuat toan
 
Giai phuong-trinh-nghiem-nguyen-son
Giai phuong-trinh-nghiem-nguyen-sonGiai phuong-trinh-nghiem-nguyen-son
Giai phuong-trinh-nghiem-nguyen-son
 
Gt12cb 70
Gt12cb 70Gt12cb 70
Gt12cb 70
 
Ứng dụng đồng dư vào giải toán chia hết lớp 9
Ứng dụng đồng dư vào giải toán chia hết lớp 9Ứng dụng đồng dư vào giải toán chia hết lớp 9
Ứng dụng đồng dư vào giải toán chia hết lớp 9
 
Hoan chinh
Hoan chinhHoan chinh
Hoan chinh
 
TỔNG HỢP KIẾN THỨC TOÁN LỚP 2
TỔNG HỢP KIẾN THỨC TOÁN LỚP 2TỔNG HỢP KIẾN THỨC TOÁN LỚP 2
TỔNG HỢP KIẾN THỨC TOÁN LỚP 2
 
Toan hn da_full
Toan hn da_fullToan hn da_full
Toan hn da_full
 
Gt12cb 66
Gt12cb 66Gt12cb 66
Gt12cb 66
 
Các bài toán về tỷ lệ thức
Các bài toán về tỷ lệ thứcCác bài toán về tỷ lệ thức
Các bài toán về tỷ lệ thức
 
Hhc 2014 2015
Hhc 2014 2015Hhc 2014 2015
Hhc 2014 2015
 
Tai lieu boi duong hsg toan 7 chuyen de
Tai lieu boi duong hsg toan 7 chuyen deTai lieu boi duong hsg toan 7 chuyen de
Tai lieu boi duong hsg toan 7 chuyen de
 

Último

bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
dangdinhkien2k4
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
dnghia2002
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
ChuThNgnFEFPLHN
 
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Kabala
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
Xem Số Mệnh
 

Último (20)

bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
 
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...
 
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
 
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdfGiáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họcChương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
 
Logistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdfLogistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdf
 
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...
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
 
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàBài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
 
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
 
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...
 
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...
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
 

Phương pháp tham lam giải bài toán lập lịch công việc

  • 1. SEMINAR Sử dụng phương pháp tham lam để giải quyết bài toán lập lịch công việc. SVTH: Nguyễn Danh Thanh
  • 2. Nội Dung 1 Phát biểu bài toán 2 Giải quyết bài toán 3 Chứng minh tính đúng đắn 4 Tính toán độ phức tạp 5 Giới thiệu chương trình 6 Ứng dụng thực tế
  • 3. 1. Phát biểu bài toán 1.1 Bài toán Cho n việc cần phải hoàn thành, mỗi việc thực hiện trong 1 đơn vị thời gian. Việc i sẽ đem lại wi tiền thưởng nếu hoàn thành đúng hạn di . [?].Tìm cách thực hiện các công việc để có lợi nhuận cao nhất mà thời gian thực hiện là ít nhất.
  • 4. 1. Phát biểu bài toán 1.2 Ví dụ Làm việc nào trước đây !!!!......
  • 5. 1. Phát biểu bài toán 1.3 Input/Output Input: n bộ {i , di , wi } i = 1…n; di € N+ ; wi € Z+. Output: B, T. i: Công việc thứ i. di: Thời điểm kết thúc công việc i. wi: Số tiền được thưởng nếu hoàn thành công việc i. B: Lịch thực hiện công việc sao cho T là lớn nhất. T: Tổng số tiền được thưởng.
  • 6. 2. Giải quyết bài toán 2.1 Ý tưởng 30s Bước 1: Xác định tất cả các lịch có thể tạo ra từ n công việc. Bước 2: Tính tổng số phần thưởng ở mỗi lịch. Bước 3: So sánh tổng phần thưởng ở các lịch -> Đưa ra lịch cần tìm và tổng tiền thưởng tương ứng.
  • 7. 2. Giải quyết bài toán 2.2 Ý tưởng 30s Xếp n công việc vào n thời điểm ta có n! cách -> có n! lịch. Với n = 3 -> 3! = 6 n = 10 -> 10! = 3 628 800 n = 60 -> 60! = 8.32 x 1081 …………………………… n = 10000 ? Có cách khác không ?
  • 8. 2. Giải quyết bài toán 2.3 Sử dụng phương pháp tham lam - Sắp xếp lại lịch theo chiều không tăng của phần thưởng wi. Thay đổi i và di tương ứng. - Xét trục thời gian B[m]. m = max(di), k=0. + Nếu giờ b[di] trên B rỗi thì gán b[di] = i. + Nếu giờ b[di] trên B đã bận thì tìm giờ b[j] (j< di) rỗi gần b(di) nhất. Nếu tồn tại giờ b[j] thì gán b[j] = i. Ngược lại c[k++]= i. - Dồn các việc i trên B để tạo lịch làm việc trù mật. - Bổ xung các việc trên C vào B.
  • 9. 2. Giải quyết bài toán 2.3 Sử dụng phương pháp tham lam ! Thời gian(h) 1 2 3 4 5 6 7 8 9 Công việc Tiền thưởng ($) Công việc (i) Thời hạn (di) Tiền thưởng (wi) 5 3 90 6 7 60 3 4 50 4 6 40 2 2 40 8 2 30 1 4 20 7 9 10 1 4 20 2 5 3 4 6 7 30 40 90 50 40 60 10 8 1 20 Tổng tiền thưởng : T = 320!
  • 10. 2. Giải quyết bài toán 2.4 Giải thuật: 1. Sort W, wi > =wj . vs j > i. and change ai ,di 2. T = 0; m = max(di); B[i] = 0, i = 0…m, k = 0. For i = 1 to n do j = di while B[j] > 0 do - - j. if j = 0 then C[k++] = ai . else B[j] = ai . T += wi . Exit for 3. f0 = 0, For i = 1 to m do if B[i] > 0 then B[f0++] = B[i]. 4. B = B +C. Return B, T.
  • 11. 3. Chứng minh tính đúng đắn 1.Thời gian thực hiện n công việc là ít nhất. Lịch làm việc trù mật. Thời điểm bj thực hiện chỉ công việc i. N công việc. => Thời gian thực hiện là n đvtg. 2.Phần thưởng nhận được là lớn nhất. Xét {ci}. i =1…n ci > cj . Tại mỗi bước chọn pi, wi đạt max. Tổng phần thưởng nhận được là lớn nhất
  • 12. 4. Độ phức tạp thuật toán 4.1 Độ phức tạp thời gian 1. Sort W, wi > =wj . vs j > i. and change ai ,di 2. T = 0; m = max(di); B[i] = 0, i = 0…m, k = 0. For i = 1 to n do j = di while B[j] > 0 do - - j. if j = 0 then C[k++] = ai . else B[j] = ai . T += wi . Exit for 3. f0 = 0, For i = 1 to m do if B[i] > 0 then B[f0++] = B[i]. 4. B = B +C. Return B, T. O(n.m) O(m) Độ phức tạp O(n.m) O(nlogn)
  • 13. 4. Độ phức tạp thuật toán 4.2 Độ phức tạp không gian 1 mảng lưu n thời hạn kết thúc O(n) 1 mảng lưu n phần thưởng tương ứng O(n) 1 mảng trục thời gian m O(m) 1 mảng lưu công việc trễ k=|m-n| O(k) Độ phức tạp không gian: O(n)
  • 14. 5. Giới thiệu chương trình • Ngôn ngữ lập trình C++ • Dữ liệu đầu vào • Đầu ra
  • 15. 5. Giới thiệu chương trình 5.2 So sánh kết quả Thời gian mili giây
  • 16. 6. Ứng dụng thực tế • Xếp thời gian biểu • Lập lịch cho CPU