Professional Documents
Culture Documents
Final Exam
Final Exam
1. Các thuật toán đã học và ứng dụng thực nghiệm cho bài toán thực tế, trong
đó:
2. Thực hiện chạy từng bước thuật toán cho bộ dữ liệu cho trước: Xây dựng cây
quyết định, Xây dựng mạng nơron, Thuật toán k-mean,...
Giải
1. Các thuật toán đã học và ứng dụng thực nghiệm cho bài toán thực tế, trong
đó:
Thuật toán cho bài toán “Bài toán cho thuê máy”
− Đầu vào:
− Phát biểu bài toán, ý nghĩa thực tế: bài toán này xuất phát từ nhu cầu quản lý và
phân chia tài nguyên máy móc hiệu quả trong môi trường cho thuê. Ý nghĩa
thực tế là tối ưu hóa lợi nhuận thông qua việc quản lý một tập hợp các máy và
phân bổ chúng cho các khách hàng sao cho hiệu suất là cao nhất.
− Mô tả bộ dữ liệu dùng cho bài toán:
+ Dữ liệu bao gồm thông tin về các máy có sẵn (giá thuê, khả năng làm
việc, v.v.).
+ Yêu cầu và thời gian sử dụng từng khách hàng.
− Mô hình hoá dữ liệu: mô hình hoá dữ liệu bằng cách sử dụng biểu đồ đồ thị,
trong đó các đỉnh biểu diễn máy và cạnh biểu diễn khả năng sử dụng máy đó
trong một khoảng thời gian nhất định.
− Các bước xử lý dữ liệu:
+ Tiền xử lý dữ liệu để chuẩn hóa thông tin về giá thuê, khả năng làm
việc, và thời gian sử dụng.
+ Xác định các ràng buộc cụ thể, chẳng hạn như khả năng máy chỉ có thể
phục vụ một khách hàng tại một thời điểm.
− Các bước áp dụng thuật toán: sử dụng vét cạn để giải quyết bài toán
+ Bước 1: Khởi tạo vòng lặp i từ 0 đến N(N là số khách hàng).
+ Bước 2: Thêm phần tử Customers[i] vào danh sách (Customers là danh
sách khách hàng). Sau đó thêm danh sách vừa rồi vào “danh sách quản
lý”.
+ Bước 3: Khởi tạo vòng lặp j từ i + 1 đến N.
+ Bước 4: Kiểm tra xem phần từ Customers[j] có thỏa mãn với tất cả danh
sách trong “danh sách quản lý hay không”, nếu có thêm vào.
+ Bước 5: Tăng j lên 1 đơn vị và quay lại bước 4. Nếu j = N thì xuống
bước 6.
+ Bước 6: So sánh từng danh sách trong “danh sách quản lý”. Danh sách
nào có số ngày thuê lớn nhất thì gán vô “danh sách đáp án”.
+ Bước 7: Tăng i lên 1 đơn vị và quay lại bước 2. Nếu i = N thì xuống
bước 8.
+ Bước 8: Trả về “danh sách đáp án”.
− Nhận xét ưu nhược điểm của thuật toán:
+ Ưu điểm: Tính linh hoạt, có khả năng tối ưu hóa lợi nhuận toàn cầu.
+ Nhược điểm: Có thể mất thời gian lớn với bộ dữ liệu lớn.
− Đề xuất cải tiến cho thuật toán: Nếu danh sách cực lớn, tốn thời gian chi phí,
thì chúng ta nên áp dụng giải thuật tham lam để giải quyết bài toán. Mặc dù đáp
án có thể không hoàn hảo, nhưng kết quả cho ra chấp nhận được và tốc độ xử
lý nhanh.
* Kết luận: thuật toán cho thuê máy là một ứng dụng thực tế quan trọng trong lĩnh vực
quản lý tài nguyên. Việc tối ưu hóa phân chia máy cho khách hàng không chỉ giúp
tăng cường hiệu suất mà còn mang lại lợi nhuận lớn cho doanh nghiệp. Cải tiến liên
tục của thuật toán là cần thiết để đáp ứng với sự biến động của môi trường kinh doanh
và quản lý tài nguyên.
2. Thực hiện chạy từng bước thuật toán cho bộ dữ liệu cho trước: Xây dựng cây
quyết định, Xây dựng mạng nơron, Thuật toán k-mean,...
K-MEAN
1. Phương pháp thực hiện
• Bước 1: Chọn ngẫu nhiên K điểm bất kì trong tập huấn luyện để làm các tâm
cụm ban đầu.
• Bước 2: Phân nhóm các điểm dữ liệu vào cụm có tâm gần nó nhất.
• Bước 3: Cập nhập tâm cụm bằng cách lấy trung bình cộng của các điểm dữ
liệu.
• Bước 4: Nếu tâm cụm ở bước 3 không thay đổi so với vòng lặp trước đó thì
dừng thuật toán.
• Bước 5: Quay lại bước 2.
2. Khoảng cách Euclid
3. Ví dụ:
Khoảng cách giữa A(2, 10) và T2(5, 8): √(𝟐 − 𝟓)𝟐 + (𝟏𝟎 − 𝟖)𝟐 = 3.60555 ≈ 3.61
Tâm cụm 2: (8 + 5 + 7 + 6 + 4) / 5 = 6 và (4 + 8 + 5 + 4 + 9) / 5 = 6. Suy ra T2(6, 6).
5 là số phần tử: C, D, E, F và H
DECISION TREE
−9 9 5 5
VD: [9+,5-] => E = log 2 − log 2 ≈ 0.94
14 14 14 14
[9+,5-] có nghĩa là 9 Yes, 5 No của cột PlayTennis.
[6+,2-] cũng tương tự, 6 Yes, 2 No của cột PlayTennis của những dòng
“Weak” ở cột Wind.
−𝟔 𝟔 𝟐 𝟐
E(𝑺𝒘𝒆𝒂𝒌 ) = 𝑬([𝟔+, 𝟐−]) = 𝐥𝐨𝐠 𝟐 − 𝐥𝐨𝐠 𝟐 = 𝟎. 𝟖𝟏𝟏𝟐𝟕𝟖𝟏𝟐𝟒𝟒
𝟖 𝟖 𝟖 𝟖
Giả thuyết rằng S là một tập được mô tả bởi các thuộc tính bao gồm thuộc
tính Xuất xứ có thể nhận giá trị Trung Quốc hoặc Âu/Mỹ. Như trong bảng,
ta giả định rằng S là một tập gồm 8 mẫu example trong [6+,2-]. Giả sử
trong 8 mẫu này có 2 mẫu positive và 2 mẫu negative có Xuất xứ = Trung
Quốc, và các mẫu còn lại có Xuất xứ = Âu/Mỹ. Thu hoạch thông tin thu
được do việc sắp xếp 8 mẫu ban đầu theo thuộc tính Xuất xứ có thể được
tính toán như sau:
Xuất xứ ={Trung Quốc, Âu/Mỹ}: 𝑺𝑻𝒓𝒖𝒏𝒈 𝑸𝒖ố𝒄= [2+, 2-]; 𝑺Â𝒖/𝑴ỹ = [4+, 0-]
Tương tự:
Thể loại={MMORPG, MOBA, Sport}:
𝑺𝑴𝑴𝑶𝑹𝑷𝑮 =[3+, 0-]; 𝑺𝑴𝑶𝑩𝑨 =[2+, 1-]; 𝑺𝑺𝒑𝒐𝒓𝒕 =[1+,1-]
Đồ họa={Đẹp, Tương đối}: 𝑺Đẹ𝒑 = [3+, 1-]; 𝑺𝑻ươ𝒏𝒈 đố𝒊 = [3+, 1-]
−6 6 2 2
Sau đó tính được: E(S) = log 2 − log 2 ≈ 0.81
8 8 8 8
𝟒 𝟒
Gain(S, Xuất xứ) = 𝟎. 𝟖𝟏 − ∗ 𝟏 − ∗ 𝟎 = 𝟎. 𝟑𝟏 (Âu/Mỹ ko có
𝟖 𝟖
negative(0-) nên khỏi cần tính nó vô).
𝟑 𝟑 𝟐
Gain(S, Thể loại) = 𝟎. 𝟖𝟏 − ∗ 𝟎 − ∗ 𝟎. 𝟗𝟏𝟖 − ∗ 𝟏 = 𝟎. 𝟐𝟏𝟓𝟕𝟓
𝟖 𝟖 𝟖
𝟒 𝟒
Gain(S, Đồ họa) = 𝟎. 𝟖𝟏 − ∗ 𝟎. 𝟖𝟏 − ∗ 𝟎. 𝟖𝟏 = 𝟎
𝟖 𝟖
𝟒 𝟒
Gain(S, Hình thức trả phí) = 𝟎. 𝟖𝟏 − ∗ 𝟎. 𝟖𝟏 − ∗ 𝟎. 𝟖𝟏 = 𝟎
𝟖 𝟖
Xuất xứ
{1, 3, 5, 6} {2, 4, 7, 8}
[2+,2-] Yes
Gain(𝑺𝑻𝒓𝒖𝒏𝒈 𝑸𝒖ố𝒄, Thể loại) lớn nhất nên chọn Thể loại cho nhánh
Trung Quốc
Xuất xứ
Yes
{3, 6} Yes
Yes
[1+,1-]
Ta có: 𝑆𝑇𝑟𝑢𝑛𝑔 𝑄𝑢ố𝑐𝑇ℎể 𝑙𝑜ạ𝑖 = {3, 6} = [1+, 1 −] và E(𝑆𝑇𝑟𝑢𝑛𝑔 𝑄𝑢ố𝑐𝑇ℎể 𝑙𝑜ạ𝑖 ) = 1
𝟐
Gain(𝑆𝑇𝑟𝑢𝑛𝑔 𝑄𝑢ố𝑐𝑇ℎể 𝑙𝑜ạ𝑖 , Đồ họa) = 𝟏 − ∗𝟏= 𝟎
𝟐
𝟏 𝟏
Gain(𝑆𝑇𝑟𝑢𝑛𝑔 𝑄𝑢ố𝑐𝑇ℎể 𝑙𝑜ạ𝑖 , Hình thức trả phí) = 𝟏 − ∗𝟎 − ∗𝟎= 𝟏
𝟐 𝟐
Gain(𝑺𝑻𝒓𝒖𝒏𝒈 𝑸𝒖ố𝒄𝑻𝒉ể 𝒍𝒐ạ𝒊 , Hình thức trả phí) lớn nhất chọn Hình
thức trả phí cho nhánh Sport.
Xuất xứ
Yes
Yes
Yes Hình thức
trả phí
No Yes
NEURAL NETWORK(Mạng Nơ-ron)