Đọc yêu cầu trước khi chọn cách giải
Nhóm xử lí dữ liệu lượt mượn sách bằng chương trình, lập mạng nhỏ và thử dự đoán nhu cầu. Ta xét đúng dữ liệu, thuật toán và giới hạn của kết quả ở từng việc.
Những câu hỏi giúp bắt đầu
Dữ liệu đã sắp xếp chưa? Cần một vị trí hay mọi vị trí? Điều kiện vòng lặp dừng thế nào? Sơ đồ mạng có đủ đường và cổng? Dữ liệu kiểm mô hình có độc lập với dữ liệu học không? Kết quả mô phỏng dựa trên giả định nào? Các câu hỏi này nối về kiến thức đã học, không phải một phương pháp giải mới.
Đếm theo điều kiện
```python
a = [12, 5, 18, 7, 10]
count = 0
s = 0
for x in a:
if x >= 10:
count += 1
s += x
print(count, s)
```
Các giá trị được lấy là 12,18,10; count=3 và s=40. Chương trình duyệt mọi phần tử một lần. Ta không dùng tìm nhị phân để đếm theo cách này trên dãy chưa sắp xếp.
Thử vận dụng
Nếu đổi điều kiện thành x > 10, count và s là gì?
Đây là kết quả điều kiện >=10.
Đúng: hai giá trị 12 và 18.
Tổng của 12 và 18 là 30.
12 cũng lớn hơn 10 nên không chỉ lấy 18.
Lời giải
Loại giá trị đúng 10, chỉ còn 12 và 18 nên số lượng 2, tổng 30.
Đánh giá một bộ dự đoán
Mô hình thử trên 50 trường hợp chưa dùng để chọn/huấn luyện, đúng 40 trường hợp: kết quả trên bộ ấy là 80%. Ta cần xem dữ liệu có phản ánh mục đích dùng không và lỗi ở nhóm nào. Tăng máy tính mạnh hơn không tự sửa nhãn sai hoặc thiếu đại diện.
Ví dụ xem cách làm
Đánh giá đúng/sai: (a) tìm nhị phân kiểu đã học dùng được trực tiếp trên mọi dãy chưa sắp; (b) hai vòng độc lập n lượt có tổng 2n lượt; (c) mô phỏng luôn dùng AI; (d) tập kiểm tra trùng dữ liệu học có thể làm điểm đánh giá lạc quan.
Lời giải
(a) Sai: cần thứ tự phù hợp. (b) Đúng: chi phí nối tiếp cộng. (c) Sai: có mô phỏng theo công thức/quy tắc. (d) Đúng: một phần dữ liệu không còn mới với mô hình.
Ví dụ xem cách làm
Một switch nối 8 máy bàn, một máy chủ, một AP và một đường lên router. Cần tối thiểu mấy cổng theo sơ đồ này?
Lời giải
8+1+1+1=11 cổng. Các thiết bị không dây qua AP không tính thành từng cổng riêng trên switch.
Ví dụ xem cách làm
Muốn kiểm hàm tìm lớn nhất của dãy không rỗng, chọn ba bộ thử có mục đích khác nhau.
Lời giải
Ví dụ [3] kiểm một phần tử; [-8,-2,-5] kiểm toàn âm; [7,7,4] kiểm giá trị lớn nhất lặp. Kết quả lần lượt 3,−2,7. Có thể thêm dãy tăng/giảm để kiểm vị trí cực trị.
Học tiếp và luyện thêm
Nếu chưa chắc bước chương trình, quay lại Python và Thuật toán. Nếu kết luận mô hình còn quá rộng, xem Học máy/Khoa học dữ liệu/Mô phỏng. Kho câu hỏi theo định hướng giúp luyện thêm tình huống sau khi hiểu các bước này.
Đang học