Đề cương môn học
Bài giảng
Bài tập lớn
|
BÀI TẬP LỚN
Yêu cầu:
Sinh viên có thể làm bài tập lớn độc lập hoặc theo nhóm, nhóm làm chương
trình tối đa 4 người, nhóm làm lý thuyết tối đa 2 người. Mỗi đề tài có
tối đa 2 nhóm đăng ký. Sinh viên đăng ký nhóm và tên đề tài qua link trong
fb group của lớp trước ngày 29/02/2021. Mỗi sinh viên
sẽ phải bảo vệ kết quả của mình vào 2 tuần cuối trước khi kết thúc môn
học.Các nhóm phải nộp chương trình và báo cáo chung của nhóm khi bảo vệ
kết quả.
Nội dung báo cáo gồm:
- tên đề tài
- mục lục
- phân công công việc
- phân tích bài toán (Mục đích bài toán, cách làm, nhấn mạnh vào đóng
góp mới của mình so với các chương trình đã có)
- ngôn ngữ sử dụng (C++, Java, LISP, PROLOG,…)
- cấu trúc dữ liệu lưu trữ + cách biểu diễn trạng thái của bài toán
- các thuật toán sử dụng (dưới dạng pseudocode hoặc sơ đồ thuật toán)
- một số giao diện và kết quả chạy chương trình
- phụ lục (các cơ sở tri thức sử dụng trong chương trình).
- tài liệu tham khảo
Lưu ý:
Các nhóm bảo vệ bài tập lớn theo đúng thứ tự đã đăng ký. Nếu sai thứ
tự hay chuyển sang buổi bảo vệ khác trong các buổi bảo vệ hợp lệ của lớp
sẽ bị trừ 1 điểm. Các nhóm không được bảo vệ kết quả ngoài các buổi đã
được sắp lịch cho lớp mình.
Đề tài:
Các đề tài dưới đây có tính chất tham khảo. Sinh viên có thể lựa chọn
các đề tài này hoặc tự đề xuất đề tài của mình. Khi đề xuất đề tài mới,
sinh viên cần tham khảo ý kiến của giáo viên bằng cách gửi thư đến địa
chỉ huongLt@soict.hust.edu.vn. Các đề tài tự chọn cần được sự chấp nhận
của giáo viên trước khi thực hiện (chú ý ghi rõ đóng góp của nhóm trong
đề tài là gì).
A. Viết chương trình
1. Viết chương trình cờ vua. Chương trình cho phép người chơi với máy.
2. Viết chương trình cờ tướng. Chương trình cho phép người chơi với máy.
3. Viết chương trình tìm đường đi trong mê cung. Chương trình cho phép
tạo ra một mê cung, người chơi tự tìm đường đi và có sự trợ giúp của máy
tính.
4. Viết chương trình giải bài toán người du lịch dùng giải thuật di truyền.
5. Viết chương trình nhận dạng chữ viết dùng mạng nơ ron.
6. Viết chương trình hỏi đáp bằng ngôn ngữ tự nhiên (chatbot).
7. Viết chương trình mô phỏng bài toán con khỉ - nải chuối với giao diện
đồ họa. Xuất phát từ 1 trạng thái bất kỳ, chương trình có thể đưa ra được
cách giải quyết để con khỉ lấy được nải chuối. Chương trình cho phép máy
tự chơi hoặc người chơi, máy trợ giúp.
9. Viết chương trình mô phỏng bài toán người lái đò với giao diện đồ họa.
Bài toán phát biểu như sau:
• Tại bến sông nọ có bắp cải, sói và dê muốn bác lái đò chở qua sông.
Biết rằng tại một thời điểm thuyền của bác lái đò chỉ chở tối đa được
2 khách. Nếu sói và dê đứng riêng với nhau (không có mặt bác lái đò và
bắp cải) thì sói sẽ ăn thịt dê. Nếu dê và bắp cải đứng riêng với nhau
(không có mặt bác lái đò và sói) thì dê sẽ ăn bắp cải.
• Ký hiệu bờ sông mà sói, dê, bắp cải và bác lái đò đang đứng là 1, bờ
sông bên kia là 2. Hãy viết chương trình giải quyết bài toán trên.
• Chương trình cho phép máy tự chơi hoặc người chơi, máy trợ giúp. Trong
trường hợp người chơi, máy trợ giúp, nếu người tắc ở một tình thế nào
đó giải được, máy sẽ hướng dẫn cách đi đến trạng thái đích. Nếu không,
đưa ra thông báo là “Bạn không thể hoàn thành công việc”.
B. Lý thuyết: Đọc hiểu tài liệu, viết bài thu hoạch
dựa trên các hướng nghiên cứu về trí tuệ nhân tạo, học máy, xử lý ngôn
ngữ tự nhiên. Ví dụ các chủ đề sau:
- học sâu (deep learning) và ứng dụng vào một trong các bài toán xử lý
ảnh, xử lý ngôn ngữ tự nhiên, v.v...
- các nghiên cứu mới về chatbot
|