Trí tuệ nhân tạo - Artificial Intelligence

Đề 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

 

Lê Thanh Hương - Bộ môn Hệ thống Thông tin - Viện CNTT&TT - ĐHBK Hà Nội
Email: huonglt@soict.hust.edu.vn