II. HỌC BẰNG CÁCH XÂY DỰNG CÂY ĐỊNH DANH
BÀI TẬP CHƯƠ NG
1) Viết chương trình giải bài toán hành trình người bán hàng rong bằng hai thuật giải GTS1 và GTS2 trong trường hợp có n địa điểm khác nhau.
2) Viết chương trình giải bài toán phân công công việc bằng cách ứng dụng nguyên lý thứ tự.
3) Ứng dụng nguyên lý thứ tự, hãy giải bài toán chia đồ vật sau. Có n vật với khối lượng lần lượt là M1, M2, … Mn. Hãy tìm cách chia n vật này thành hai nhóm sao cho chênh lệch khối lượng giữa hai nhóm này là nhỏ nhất.
4) Viết chương trình giải bài toán mã đi tuần. 5) Viết chương trình giải bài toán 8 hậu.
6) Viết chương trình giải bài toán Ta-canh bằng thuật giải A*. 7) Viết chương trình giải bài toán tháp Hà Nội bằng thuật giải A*.
8)* Viết chương trình tìm kiếm đường đi ngắn nhất trong một bản đồ tổng quát. Bản đồ được biểu diễn bằng một mảng hai chiều A, trong đó A[x,y]=0 là có thể đi được và A[x,y]= 1 là vật cản. Cho phép người dùng click chuột trên màn hình để tạo bản đồ và xác định điểm xuất phát và kết thúc. Chi phí để đi từ một ô bất kỳ sang ô kế cận nó là 1.
Mở rộng bài toán trong trường hợp chi phí để di chuyển từ ô (x,y) sang một bất kỳ kế (x,y) là A[x,y].
CHƯƠNG 2
1. Viết chương trình minh họa các bước giải bài toán đong nước (sử dụng đồ họa càng tốt).
2. Viết chương trình cài đặt hai thuật toán Vương Hạo và Robinson trong đó liệt kê các bước chứng minh một biểu thức logic.
3. Viết chương trình giải bài toán tam giác tổng quát bằng mạng ngữ nghĩa (lưu ý sử dụng thuật toán ký pháp nghịch đảo Ba Lan)
4. Hãy thử xây dựng một bộ luật phức tạp hơn trong ví dụ đã được trình bày dùng để chuẩn đoán hỏng hóc của máy tính. Viết chương trình ứng dụng bộ luật này trong việc chuẩn đoán hỏng hóc của máy tính (sử dùng thuật toán suy diễn lùi).
5. Hãy cài đặt các frame đặc tả các đối tượng hình học bằng kỹ thuật hướng đối tượng trong ngôn ngữ lập trình mà bạn quen dùng. Hãy xây dựng một ngôn ngữ script đơn giản cho phép người dùng có thể sử dụng các frame này trong việc giải một số bài toán hình học đơn giản.
CHƯƠNG 3
1) Cho bảng số liệu sau
Hãy xây dựng cây định danh và tìm luật để xác định một người là Châu Âu hay Châu Á bằng hai phương pháp vector đặc trưng của Quinlan và độ đo hỗn loạn.
STT Dáng Cao Giới Châu
1 To TB Nam Á
2 Nhỏ Cao Nam Á 3 Nhỏ TB Nam Âu
4 To Cao Nam Âu
5 Nhỏ TB Nữ Âu 6 Nhỏ Cao Nam Âu 7 Nhỏ Cao Nữ Âu
8 To TB Nữ Âu
2)* Viết chương trình cài đặt tổng quát thuật toán học dựa trên việc xây dựng cây định danh. Chương trình yêu cầu người dùng đưa vào danh sách các thuộc tính dẫn xuất, thuộc tính mục tiêu cùng với tất cả các giá trị của mỗi thuộc tính; yêu
cầu người dùng cung cấp bảng số liệu quan sát. Chương trình sẽ liệt kê lên màn hình các luật mà nó tìm được từ bảng số liệu. Sau đó, yêu cầu người dùng nhập vào các trường hợp cần xác định, hệ thống sẽ đưa ra kết luận của trường hợp này.
Lưu ý : Nên sử dụng một hệ quản trị CSDL để cài đặt chương trình này.
GS.TSKH. Hoàng Kiếm Ths. Đinh Nguyễn Anh Dũng