Ngoài ra bài toán này đóng vai trò quan trọng trong quá trình quyết định về việc phân công nhân sự đến các nhiệm vụ cụ thể, từ đó cải thiện hiệu suất và đảm bảo cộng đồng hài hòa trong n
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH
BÁO CÁO TRÍ TUỆ NHÂN TẠO
CÁC PHƯƠNG PHÁP XÁC ĐỊNH VỊ TRÍ KHUÔN MẶT TRONG HỆ
THỐNG NHẬN DIỆN KHUÔN MẶT
Ngành: Công Nghệ Thông Tin
Giảng viên hướng dẫn: BÙI DANH HƯỜNG
Sinh viên thực hiện: Phạm Thị Như Ngọc Mã SV: 2180608394
Sinh viên thực hiện: Lê Đình Hải Dương Mã SV: 2180607398
Sinh viên thực hiện: Kiều Thị Kim Phương Mã SV: 2180607909
Sinh viên thực hiện : Mai Thanh Bình Mã SV: 2180609349
Sinh viên thực hiện: Phan Duy Thanh Mã SV: 2180608021
Tp.HCM, ngày 01 tháng 12 năm 2023
Trang 2MỤC LỤC
Lý do chọn đề tài
Chương 1 : Giới Thiệu đề tài
Chương 2 : Cơ Sở Lý Thuyết 1 Định nghĩa
2 Các thành phần cơ bản
3 Phương pháp giải quyết truyền thống
4 Mô hình hóa toán học
5 Thuật toán phổ biến
6 Các thuật toán khác
7 Ứng dụng và phương pháp trong thực tế
Chương 3 :Kết luận và hướng phát triển
1 Kết luận
2 Hướng phát triển
3 Tổng kết
Trang 31 Liên kết với Trí Tuệ Nhân Tạo:
Bài toán phân công công việc là thách thức yêu cầu sự linh hoạt và thông minhtrong quá trình đưa ra quyết định Trí Tuệ Nhân Tạo, với khả năng học máy và xử lý dữliệu lớn, mang lại cơ hội lớn để giải quyết bài toán này một cách hiệu quả và tự động
2 Ứng dụng thực tế cao:
Phần lớn mọi lĩnh vực đều sẽ có sự xuất hiện của bài toán phân công công việc nhưquản lý dự án, sản xuất, và logictics Việc áp dụng Trí Tuệ Nhân Tạo vào và giải quyếtbài toán này mang lại sự tối ưu hóa nguồn nhân lực đến dự đoánbvaf giảm thiểu về thờigian
3 Tương tác Người – Máy:
Trong môi trường công việc hiện
đại, tương tác giữa người và máy là không
thể tránh khỏi Giải quyết bài toán phân
công công việc thông qua Trí Tuệ Nhân
Tạo không chỉ tăng cường sự hiệu quả mà
còn mở ra cánh cửa cho tương tác thông
minh giữa người và hệ thống
Trang 4Chương 1 : Giới Thiệu Đề Tài
Bài toán phân công công việc là một trong những thách thức quan trọng và phổ biến trong lĩnh vực quản lý nguồn lực và tối ưu hóa quy trình làm việc Tại mỗi tổ chức, việc phân công công việc một cách hiệu quả không chỉ ảnh hưởng đến năng suất mà còn đặt ra nhiều tháchthức về quản lý thời gian, nguồn lực và nhân sự
Việc có thể hiểu rõ về bài toán này giúp tối ưu hóa sự phân bổ nguồn lực và thời gian, giảm thiểu sự lãng phí vằ tăng cường khả năng hoạt động của tổ chức Ngoài ra bài toán này đóng vai trò quan trọng trong quá trình quyết định về việc phân công nhân sự đến các nhiệm vụ
cụ thể, từ đó cải thiện hiệu suất và đảm bảo cộng đồng hài hòa trong nhóm làm việc
Để giải quyết bài toán phân công công việc, các tổ chức thường sử dụng các phương pháp toán
hoc, thuậttoán
Bài toán này vó rất nhiều ứng dụng trong nhiều lĩnh vực lhasc nhau Trong quản lý dự án,
nó giúp xác định lịch trình công việc và nguồn nhân lực cần thiết Trong sản xuất, nó đóng vai trò quan trọng trong việc quyết định công việc của máy móc và nhân viên Đồng thời, bài toán này cũng được áp dụng lập kế hoạch và phân phối nguồn lực trong chuỗi cung ứng logistics
Chương 2 : Cơ Sở Lý Thuyết
1 Định nghĩa
Trang 5Bài toán phân công công việc là một vấn đề tối ưu hóa trong quản lý nguồn lực, mục tiêu là phân phối công việc cho các tài nguyên sao cho đạt được hiệu suất tối ưu Các yếu tố như nhân sự, thiết bị, và thời gian được gán để đáp ứng yêu cầu và ràng buộc
cụ thể, nhằm giảm thiểu chi phí hoặc tối ưu hóa hiệu suất tổng thể Bài toán này có ứng dụng rộng rãi trong nhiều lĩnh vực và đặt ra thách thức về việc tối ưu hóa quyết định trong môi trường hạn chế
2
Các thành phần cơ bản
Công việc (Tasks)
- Đặc điểm công việc: Mỗi công việc được đặc trưng bởi các đặc điểm riêng, bao gồm mức độ phức tạp, thời gian, ước lượng, và kỹ năng cần thiết
- Yêu cầu công việc: Chi tiết về yêu cầu của từng công việc bao gồm kiến thức, kỹ năng và công cụ cần thiết để thực hiện công việc đó
- Mục tiêu công viêc: Xác định mục tiêu cụ thể mà mỗi công việc hướng đến, nhưu việc hoàn thành đúng thời hạn hay đạt được chất lượng nhất định
Nguồn lực, tài nguyên (Resources)
Trang 6- Loại nguồn lực, tài nguyên: Xác định các nguồn nhân lực hoặc tài nguyên sẵn có, chẳng hạn như nhân sự, máy móc, nguyên liệu, và bất kỳ yêu stoos nào ảnh hưởng đến quá trình thực hiện công việc.
- Sức mạnh và hạn chế: Phân tích sức mạnh và hạn chế của mỗi nguồn nhân lực để hiểu rõ khả năng và rủi ro khi sử dụng
3 Phương pháp giải quyết truyền thống
Trong quá trình quản lý và phân công công việc, trước khi có sự hỗ trợ từ công nghệ và máy tính, người ta đã sử dụng các phương pháp giải quyết truyền thống, chủ yếu dựa trên sự hiểu biết và kinh nghiệm cá nhân Dưới đây là một số chiến lược và phương pháp thủ công thường được áp dụng:
Lập kế hoạch thủ công
- Sử dụng lịch làm việc và bảng kế hoạch để đặt lịch và phân công công việc cho nhân viên
- Tính toán thời gian dựa trên ước lượng và kinh nghiệm cá nhân
Phân chia công việc dựa trên kỹ năng
- Gán công việc cho những người có kỹ năng phù hợp nhất với yêu cầu công việc
- Tận dụng sức mạnh và kinh nghiệm cá nhân để đảm bảo hiệu suất cao
Trang 7Quản lý bằng tình cảm và kinh nghiệm.
- Dựa vào mối quan hệ cá nhân để phân công công việc
- Chủ động thay đổi phân công dựa trên tình hình và tâm lý của nhóm làm việc
Đánh giá định kỳ và điều chỉnh
- Thực hiện đánh giá định kỳ về hiệu suất công việc
- Tự động điều chỉnh phâm công dựa trên đánh giá và phản hồi
Tinh thần đồng đội
- Tạo tinh thần đồng đội để hỗ trợ nhau trong quá trình thực hiện công việc
- Sử dụng kỹ thuật nhóm để giúp giải quyế vấn đề và tăng cường sự hợp tác.Những chiến lược này, mặc dù có thể đem lại hiệu suất tốt trong môi trường nhỏ và đơn giản, nhưng thường gặp khó khăn khi đối mặt với những bài toán lớn trong quản lý nguồn lực Để đáp ứng yêu cầu ngày càng cao của doanh nghiệp ngày nay, nhiều tổ chức
đã chuyển từ phương pháp truyền thống sang các giải pháp hiện đại, sử dụng công nghệ
và thuật toán tối ưu hóa để tăng cường quản lý và hiệu suất công việc
4 Mô hình hóa toán học
Lý Do Sử Dụng Mô Hình Hóa Toán Học trong Giải Bài Toán Phân Công Công Việc:
Đơn Giản Hóa Vấn Đề:
Bài toán phân công công việc thường có nhiều yếu tố và ràng buộc phức tạp Mô hình hóa toán học giúp chúng ta trừu tượng hóa và đơn giản hóa vấn đề, chuyển đổi các yếu tốnày thành các biểu thức toán học dễ hiểu và quản lý
Dễ Dàng Đặc Tả:
Việc sử dụng toán học giúp chúng ta mô tả các chi tiết của bài toán một cách rõ ràng và chặt chẽ Các công việc, nguồn lực, và ràng buộc được biểu diễn bằng các biểu thức toán học, giúp tạo ra một bức tranh toàn diện về vấn đề
Khả Năng Dự Đoán và Thử Nghiệm:
Trang 8Mô hình hóa toán học cung cấp khả năng thử nghiệm các kịch bản khác nhau một cách nhanh chóng Bằng cách thay đổi các tham số và điều kiện, chúng ta có thể dự đoán ảnh hưởng của những thay đổi đó đối với kết quả cuối cùng.
Tối Ưu Hóa và Quyết Định Có Cơ Sở:
Mô hình hóa toán học cho phép chúng ta áp dụng các phương pháp tối ưu hóa để tìm ra giải pháp tốt nhất trong điều kiện đã cho Các quyết định dựa trên cơ sở toán học mang lại sự minh bạch và chắc chắn
Dễ Dàng Thay Đổi và Mở Rộng:
Khi có sự thay đổi trong yêu cầu hoặc ràng buộc, mô hình hóa toán học giúp dễ dàng thực hiện điều chỉnh mà không cần phải thay đổi toàn bộ cấu trúc của hệ thống Điều này làm cho quá trình quản lý và cập nhật trở nên linh hoạt hơn
Hiệu Suất và Độ Chính Xác
Sử dụng mô hình hóa toán học giúp chúng ta tiếp cận giải pháp với độ chính xác cao Các
kỹ thuật và thuật toán toán học có thể được áp dụng để đạt được hiệu suất tối ưu trong quá trình phân công công việc
Sử dụng mô hình hóa toán học không chỉ giúp giải quyết bài toán phân công một cách có
hệ thống mà còn mang lại sự linh hoạt và khả năng dự đoán, giúp quản lý nguồn lực hiệu quả và đưa ra quyết định có cơ sở
5 Thuật toán phổ biến
Chi Tiết Về Các Phương Pháp Giải Bài Toán Phân Công Công Việc và Ví Dụ Minh Họa:
Trang 9- Thuật toán Hungarian dựa trên tinsh chất rút giảm của ma trận Khi trừ đi hay cộng thêm các giá trị thích hợp cho vào các phần tử ma trận chi phí ta sẽ có một ma trận chi phí cơ hội Chi phí cơ hội là giá trị thiệt hại khi có sự phân công chưa phải là tối ưu nhất.
- Nếu ta có thể rút giảm ma trận đến khi có các phần tử có giá trị không “0” ở mỗi dòng và cột thì có thể đạt được sự phân công tối ưu vào các ô giá trị không “0” đó
Cách giải:
Trang 10Ví Dụ Minh Họa:
Ví dụ 1: Chúng ta xem xét một ví dụ trong đó bốn công việc (J1, J2, J3 và J4) cần được thực hiện bởi bốn công nhân (W1, W2, W3 và W4), mỗi công việc cho mỗi công nhân Ma trận dưới đây cho thấy chi phí để phân công một công nhân nhất định vào một công việc nhất định Mục tiêu là giảm thiểu tổng chi phí của nhiệm vụ.
Trang 11Bước 3: Che tất cả các số 0 bằng số dòng tối thiểu.
Bây giờ sẽ xác định số dòng tối thiểu (ngang hoặc dọc) cần thiết để bao phủ tất
cả các số 0 trong ma trận Tất cả các số không có thể được bao phủ bằng 3 dòng:
Vì số dòng cần thiết (3) nhỏ hơn kích thước của ma trận (n=4) nên tiếp tục với Bước 4.
Bước 4: Tạo thêm số 0.
Đầu tiên, chúng tôi thấy rằng số chưa được che nhỏ nhất là 6 Chúng tôi trừ số này khỏi tất cả các phần tử chưa được che và cộng nó với tất cả các phần tử được che hai lần Điều này dẫn đến ma trận sau:
Bây giờ chúng ta quay lại Bước 3.
Bước 3: Che tất cả các số 0 bằng số dòng tối thiểu.
Trang 12Một lần nữa, chúng tôi xác định số dòng tối thiểu cần thiết để bao gồm tất cả các số
0 trong ma trận Bây giờ có 4 dòng bắt buộc:
Vì số dòng cần thiết (4) bằng với kích thước của ma trận (n=4), nên có một phép gán tối ưu giữa các số 0 trong ma trận Do đó, thuật toán dừng lại.
Sự phân công tối ưu.
Các số 0 sau đây bao gồm một bài tập tối ưu:
Điều này tương ứng với phép gán tối ưu sau trong ma trận chi phí ban đầu:
Do đó, công nhân 1 nên thực hiện công việc 3, công nhân 2 công việc 2, công nhân
3 công việc 1 và công nhân 4 nên thực hiện công việc 4 Tổng chi phí của nhiệm vụ tối ưu này là 69 + 37 + 11 + 23 = 140.
6 Các thuật toán khác
Bài Toán Phân Công Bằng Quy Hoạch Tuyến Tính
Ví dụ 2: Sáu người thợ nhận làm khoán ba loại sản phẩm, với số lượng sản phẩm làm khoán (chiếc/ngày) như trong bảng Phân công 2 thợ làm 1 loại sản phẩm sao cho đạt nhiều sản phẩm nhất.
Cách giải:
Đặt ẩn số X tương ứng với sự phân công người thợ i và loại sản phẩm j.ij
Trang 13
Mô hình toán:
Trang 15 Bài Toán Người Bán Hàng Rong:
GTS là thuật toán giải quyết TSP:
- GTS (Greedy Travelling Salesman) là một thuật toán được thiết kế để giải quyết vấn
đề người du lịch bán hàng (TSP)
- TSP là một vấn đề tối ưu hóa trong lĩnh vực học máy và toán học, liên quan đến việc tìm kiếm đường đi ngắn nhất để đi qua một tập hợp các thành phố và quay lại thành phố xuất phát
Chiến lược "tham lam" trong GTS:
- GTS sử dụng chiến lược "tham lam" (greedy), nghĩa là luôn chọn lựa giải pháp tốt nhất tại mỗi bước mà không xem xét đến các quyết định tương lai
Quy trình thực hiện của GTS:
- Bắt đầu từ một thành phố bất kỳ, GTS chọn thành phố kế tiếp sao cho chi phí tăng thấp nhất
Trang 16- Quá trình lặp lại cho đến khi tất cả các thành phố đều được thăm qua, và người du lịchquay lại thành phố xuất phát.
Tốc độ giải quyết nhanh nhưng không đảm bảo tối ưu toàn cầu:
- GTS có khả năng đưa ra giải pháp nhanh chóng do chiến lược tham lam
- Tuy nhiên, không đảm bảo tìm ra giải pháp tối ưu toàn cầu vì chỉ xem xét quyết định
ở mức địa phương tại từng bước
Hạn chế của chiến lược tham lam trong GTS:
- Chiến lược tham lam có thể dẫn đến giải pháp local optimum thay vì global optimum
- Không có cơ chế để điều chỉnh quyết định đã đưa ra ở các bước trước đó khi quyết định sau có thể tạo ra giải pháp tối ưu hơn
Tầm quan trọng của chiến lược lựa chọn toàn cầu:
- GTS là một ví dụ cho thấy sự cần thiết của chiến lược lựa chọn toàn cầu để đảm bảo tìm ra giải pháp tối ưu cho vấn đề TSP
Ví dụ minh họa:
Giả sử có một người bán hàng rong muốn thăm một số thành phố để bán hàng Ông ấy bắt đầu từ một thành phố cụ thể và muốn ghé thăm mỗi thành phố một lần duy nhất trước khi quay trở về thành phố xuất phát Mục tiêu là tìm một hành trình sao cho tổng chi phí (hoặc khoảng cách) của hành trình là ngắn nhất Cho một ví dụ đơn giản, giả sử có 4 thành phố (A, B,
C, D) và ma trận chi phí dưới đây thể hiện chi phí (hoặc khoảng cách) giữa các thành phố:
Trang 17Giải chi tiết và giải thích
Bước 1: Chọn thành phố xuất phát (A)
- Các chi phí từ thành phố A đến các thành phố khác:
- Chi phí đến B: 10
- Chi phí đến C: 15
- Chi phí đến D: 20
- Chọn thành phố có chi phí thấp nhất, tức là thành phố B với chi phí là 10
- Hành trình tạm thời sau bước này là: A -> B
Bước 2: Chọn thành phố tiếp theo từ B
Trang 18- Đánh dấu thành phố B đã được thăm.
- Cập nhật ma trận chi phí bằng cách loại bỏ cột và hàng của B
- Các chi phí từ thành phố B đến các thành phố khác:
- Chi phí đến A: 10 (đã thăm)
- Chi phí đến C: 35
- Chi phí đến D: 25
- Chọn thành phố có chi phí thấp nhất, tức là thành phố D với chi phí là 25
- Hành trình tạm thời sau bước này là: A -> B -> D
Bước 3: Chọn thành phố tiếp theo từ D
- Đánh dấu thành phố D đã được thăm
- Cập nhật ma trận chi phí bằng cách loại bỏ cột và hàng của D
- Các chi phí từ thành phố D đến các thành phố khác:
- Chi phí đến A: 20 (đã thăm)
- Chi phí đến B: 25 (đã thăm)
- Chi phí đến C: 30
- Chọn thành phố có chi phí thấp nhất, tức là thành phố C với chi phí là 30
- Hành trình tạm thời sau bước này là: A -> B -> D -> C
Bước 4: Chọn thành phố tiếp theo từ C
- Đánh dấu thành phố C đã được thăm
- Cập nhật ma trận chi phí bằng cách loại bỏ cột và hàng của C
- Các chi phí từ thành phố C đến các thành phố khác:
- Chi phí đến A: 15 (đã thăm)
- Chi phí đến B: 35 (đã thăm)
- Chi phí đến D: 30 (đã thăm)
- Chọn thành phố có chi phí thấp nhất, tức là thành phố A với chi phí là 15
- Hành trình tạm thời sau bước này là: A -> B -> D -> C -> A
Bước 5: Quay lại thành phố xuất phát (A - Kết thúc)
- Chi phí tạm thời là 15
Hành trình tìm được là: A -> B -> D -> C -> A với tổng chi phí là 15 Đây là một giải pháp tối ưu tìm được bằng thuật toán GTS cho bài toán cụ thể này
Trang 19* Bài toán phân công công việc ( t tìm bổ sung thêm
thuật toán mới 2 cái kia ít quá :3 )
Thuật toán Lập Lịch Động (Dynamic Scheduling Algorithms): Đối với các bài toán lập lịch công việc, thuật toán lập lịch động như thuật toán CPM (Critical Path Method) có thể được sử dụng để xác định lịch trình tối ưu
Bài toán lập lịch động là một loại bài toán quan trọng trong lĩnh vực quản lý dự án và tối ưu hóa tài nguyên thời gian Mục tiêu của bài toán này là xác định thời gian bắt đầu và kết thúc cho mỗicông việc sao cho các ràng buộc thời gian được đáp ứng và một tiêu chí tối ưu hóa (ví dụ: tối thiểu hóa thời gian hoàn thành toàn bộ dự án)
Dưới đây là một số biến thể phổ biến của bài toán lập lịch động
Thuật toán PERT (Program Evaluation and Review Technique): Sử dụng để định lượng thời gian dự kiến cho các công việc và quản lý rủi ro
Để minh họa cách sử dụng thuật toán PERT (Program Evaluation and Review Technique) để định lượng thời gian dự kiến cho các công việc và quản lý rủi ro, hãy xem xét một ví dụ đơn giản về dự án xây dựng nhà
Bài tập
Giả sử có một dự án xây dựng nhà gồm các công việc sau:
1 **Lập kế hoạch (Planning):** Dự kiến mất 2 tuần
2 **Đào đất (Excavation):** Dự kiến mất 3 tuần
3 **Xây móng (Foundation):** Dự kiến mất 4 tuần
4 **Xây tường (Walls Construction):** Dự kiến mất 5 tuần
5 **Lắp mái (Roof Installation):** Dự kiến mất 2 tuần
6 **Hoàn thiện nội thất (Interior Finishing):** Dự kiến mất 6 tuần
Xác Định
Bước đầu tiên của thuật toán PERT là xác định thời gian dự kiến cho từng công việc Trong trường hợp này, chúng ta có thể giả định rằng thời gian dự kiến là thời gian tối thiểu, thời gian trung bình và thời gian tối đa cho mỗi công việc Ví dụ: