Tải bản đầy đủ (.doc) (5 trang)

Đề cương thực hành trí tuệ nhân tạo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (150.04 KB, 5 trang )

Khoa Công nghệ thông tin - Trường Đại học Bách Khoa

THỰC HÀNH TRÍ TUỆ NHÂN TẠO
(AI: Artificial Intelligence)
1. Khối lượng:
: 1TC (15 tiết)
- Giờ hướng dẫn : 2 tiết
 các công cụ phần mềm Pascal, C, Java, VisuaBasic, .NET, Prolog, Scheme...
 Các phần mềm ứng dụng có trên mạng...
2. Học phần tiên quyết: Tin học đại cương, CTDL và TT, Toán rời rạc
3. Học phần song hành: : Trí tuệ nhân tạo.
4. Mục tiêu:
5. Tài liệu học tập:
- Trí tuệ nhân tạo_Lập trình tiến hóa. Ts Nguyễn Đình Thúc. Nhà xuất bản giáo dục.
- Nhập môn trí tuệ nhân tạo. Học viện Công nghệ bưu chính viễn thông.
- Phương pháp giải các bài toán trong Tin học. ThS Trần Đức Huyên.
- Các tài liệu trên Internet....
6. Nội dung chi tiết học phần:
Buổi 1: Suy luận logic
- Công cụ lập trình sử dụng: Turbo Prolog hoặc Visual Prolog.
- Tài liệu hướng dẫn: />- Danh sách bài tập SV phải hoàn thiện tại lớp.
Câu 1:
Cho tập mênh đề:
1) Ông Tư ăn táo
2) Ông Tư ăn cam
3) Cam là thức ăn
4) Món ăn mà người ăn không chết (sống) gọi là thức ăn
5) Ông Tư đang sống
Hỏi táo có phải là thức ăn?
Câu 2:
Ta có cơ sở tri thức của hệ chuyên gia về bệnh cảm cúm như sau:


1) “Nếu bệnh nhân rát họng và viêm nhiễm thì viêm họng và đi chữa họng”.
2) “Nếu thân nhiệt >37o thì sốt”
3) “Nếu ốm trên 7 ngày và sốt thì viêm nhiễm”
4) “Nếu sốt và ho và kèm theo khó thở hoặc kèm theo tiếng ran thì viêm phổi”
a. Hãy biểu diễn các tri thức trên dưới logic mệnh đề.
b. Có bệnh nhân khai: “Thân nhiệt >37o” và “Ốm trên 7 ngày” kết luận bệnh nhân này bị gì?
Câu 3:
Giả sử chúng ta biết các thông tin sau đây:
1) Ông Ba nuôi 1 con chó.
2) Hoặc ông Ba hoặc ông An đã giết con mèo BiBi.
3) Mọi người nuôi chó đều yêu quý động vật.
4) Ai yêu quý động vật cũng không giết động vật.
5) Chó mèo đều là động vật.
Kết luận ai đã giết con mèo BiBi.
Câu 4:
Giả sử chúng ta biết các thông tin sau đây:
1) Mọi người đều chết.
2) Mọi phụ nữ đều chết.
Giáo viên hướng dẫn: Võ Đức Hoàng


Khoa Công nghệ thông tin - Trường Đại học Bách Khoa
3) Thần thánh không chết.
4) Tất cả những người bệnh phải được điều trị.
5) Beatrice là phụ nữ.
6) Christel là phụ nữ.
7) Marta là phụ nữ.
8) Socrate là người.
9) Zeus là thần thánh.
10) Socrate bị bệnh.

Suy luận Socrate có được điều trị hay không?.
----------------------------------------------------------------------------------------------------------------Buổi 2: Thuật toán
Phần ôn tập NN lập trình và thuật toán
Câu 1: Trò chơi 8 quân cờ (Cờ ta canh)
Tám (8) quân cờ được chỉ ra trong hình, gồm một bảng kích thước 3x3 với 8 quân cờ
dược đánh số từ 1 đến 8 và một ô trống. Một quân cờ đứng cạnh ô trống có thể đi vào ô trống.
Mục tiêu là luôn luôn tiến tới vị trí các quân cờ như ở trong hình bên phải (trạng thái đích).
Trạng thái đầu

Trạng thái đích
1

2

3

4

5

6

7

8

Hãy trình bày thuật toán và viết chương trình demo để di chuyển các quân cờ sao cho số
bước di chuyển là thấp nhất (tối ưu). Dữ liệu được đọc từ file là ma trận vuông 3x3.
Câu 2: Trò chơi viết số
Hai người chơi với nhau trò chơi như sau: với 1 số a đang có sẵn, đến lượt mình chơi,

người đó sẽ viết số a+1 hay 2a với điều kiện số mới viết này không vượt qua số nguyên
dương N cho trước. Với số bắt đầu là 1, ai viết được số N trước thì xem như thắng.
Xem như máy là người đi sau. Trình bày thuật toán và viết chương trình mô tả trò chơi
sao cho khả năng thắng của máy cao. Dữ liệu được đọc từ bàn phím.
Câu 3: Bài toán phân việc
Có n chi tiết máy J 1, J2, ..., Jn cần gia công lần lượt trên 3 máy A, B, C với thời gian hoàn
thành tương ứng của 1 chi tiết là T A, TB, TC. Các chi tiết từ J1, J2, ..., Jn có thể gia công theo thứ
tự bất kỳ tuy nhiên một chi tiết Ji phải được gia công lần lượt theo thứ tự trên máy A  máy
B  máy C.
Trình bày thuật toán và viết chương trình mô tả sao cho tổng thời gian gia công hoàn
thành n chi tiết là thấp nhất (tối ưu). Dữ liệu được đọc từ file có dạng như sau:
DULIEU.INP
n
//số chi tiết cần gia công
J1A, J2A,...., JnA
//thời gian gia công các chi tiết trên máy A
J1B, J2B,...., JnB
//thời gian gia công các chi tiết trên máy B
J1C, J2C,...., JnC
//thời gian gia công các chi tiết trên máy C
Kết quả xuất ra là thứ tự các công việc
Câu 4: Bài toán người du lịch
Giáo viên hướng dẫn: Võ Đức Hoàng


Khoa Công nghệ thông tin - Trường Đại học Bách Khoa
Một người khách du lịch muốn đi thăm n thành phố được đánh số từ 1 n và quay lại
thành phố xuất phát. Mạng lưới giao thông giữa n thành phố này là hai chiều và được cho bởi
ma trận A[i,j] trong đó A[i,j]=1 nếu có đường đi từ thành phố i đến thành phố j, A[i,j]=0 trong
trường hợp ngược lại.

Hãy thiết lập lộ trình cho người khách hay thông báo không tồn tại lời giải. Dữ liệu được
đọc từ file có dạng như sau:
DULIEU.INP
Dòng 1: Ghi số nguyên n (n<=20).
Dòng i+1 (1<=i<=n) ghi n số nguyên không âm (0 hoặc 1).
Kết quả xuất ra chu trình đường đi. (Chu trình HAMILTON)
Câu 5: Bài toán hệ thống dây diện
Một công ty cần thay toàn bộ hệ thống dây điện cho N phòng làm việc. Cho biết sơ đồ
mạng lưới điện hiện có của n căn phòng được biểu diễn bằng ma trận A[i,j] trong đó A[i,j]
chính là độ dài của dây điện nối giữa 2 phòng i và j (A[i,j]=A[j,i], A[i,j]=0 nếu không có
(không thể) dây nối giữa phòng i và j). Hãy lập trình tính độ dài của dây dẫn cần sử dụng sao
cho cả N phòng dều có điện và số lượng này là ít nhất.
Dữ liệu được đọc từ file có N+1 dòng dạng như sau: DULIEU.INP
Dòng 1: Ghi số nguyên N.
Dòng i+1 (1<=i<=N) ghi N số nguyên A[i,1] A[i,2] .........A[i,N].
Các số ghi trên 1 dòng cách nhau ít nhất 1 dấu cách.
Kết quả xuất ra màn hình cách nối và tổng độ dài nhỏ nhất.
Câu 6: Trò chơi đoán số
Cậu bé nghĩ ra 1 số (Gọi là S) gồm bỗn chữ số (không nhất thiết khác nhau) trong sáu chữ
số từu 1 đến 6. Để tìm số đó máy lần lượt đưa ra các số dự đoán (gọi là M), mỗi số gồm 4 chữ
số không nhất thiết khác nhau. Với mỗi lần dự đoán, máy nhận được 2 câu trả lời của cậ bé
cho 2 câu hỏi sau.
+ Có bao nhiêu chữ số trong M là chữ số trong S nhưng vị trí xuất hiện của mỗi chữ số đó
là sai?
+ Có bao nhiêu chữ số trong M là chữ số trong S và đồng thời vị trí xuất hiện của mỗi chữ
số đều đúng?
Yêu cầu: Hãy hiện lên màn hình các số máy dự đoán và nói mỗi số đó nhận 2 câu trả lời từ
bàn phím của cậu bé cho đến khi được số đúng như cậu bé nghĩ. (Số lần dự đoán không quá 6
lần).
Ví dụ: Số cần tìm là 5436

1234
Đúng số - Đúng vị trí : 1
Đúng số - Sai vị trí : 1
2156
Đúng số - Đúng vị trí : 1
Đúng số - Sai vị trí : 1
1416
Đúng số - Đúng vị trí : 2
Đúng số - Sai vị trí : 0
5436
Đúng số - Đúng vị trí : 4
Đúng số - Sai vị trí : 0
Chọn đúng số
Câu 7: Chia quà

Giáo viên hướng dẫn: Võ Đức Hoàng


Khoa Công nghệ thông tin - Trường Đại học Bách Khoa
Trong ngày sinh nhật Tom và Jerry nhận được N đồ chơi (N<=40). Trên đồ chơi i có giá
tiền là Xi. Hai anh em quyết định mỗi người phải có trách nhiệm bảo quản 1 phần số quà và
phân chia sao cho chênh lệch tổng giá trị tiền đồ chơi mà mỗi người phải bảo quản là ít nhất.
Hãy giúp Tom bà Jerry phân chia trách nhiệm. Dữ liệu đọc từ file text có dạng sau:
Dòng 1 : ghi số nguyên dương N.
Dòng 2 : Ghi N số nguyên dương tương ứng với giá trị N đồ vật.
Câu 8: Tô màu bản đồ
Có 1 bản đồ có N nước. Mỗi nước được tô 1 màu để phân biệt. Các nước liền kề nhau
không được tô cùng màu với nhau. Hãy xác định số màu tối thiểu để tô bản đồ sao cho các
miền kề nhau không được tô cùng màu.
◊ File dữ liệu đầu vào: GRAPH.INP có cấu trúc

n
m
(n đỉnh:1,2,...,n; m là số cạnh)
x1
y1
(danh sách m cạnh)
x2
y2
....
xm
ym
................
◊ File kết quả: COLOR.OUT
VERTEX:
1
2
...
n
COLOR:
c1
c2
...
cn
◊ Ví dụ:
GRAPH.INP
COLOR.OUT
10
18
VERTEX: 1 2 3 4 5 6 7 8 9 10
1

2
COLOR: 2 3 2 1 1 1 2 3 2 3
1
4
1
5
1
8
2
3
2
5
2
6
3
5
3
6
3
8
4
7
5
7
5
8
5
9
6
9

6
10
8
9
9
10
--------------5
5
VERTEX:
1
2
3
4
5
1
2
COLOR:
1
2
1
2
3
2
3
3
4
4
5
5
1

Câu 9: Người lái đò
Giáo viên hướng dẫn: Võ Đức Hoàng


Khoa Công nghệ thông tin - Trường Đại học Bách Khoa
Viết chương trình mô phỏng bài toán người lái đò (có thể có 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.
Câu 10: Qua sông
Viết chương trình mô phỏng bài toán qua sông (có thể có giao diện đồ họa). Bài toán phát
biểu như sau:
Tại bến sông nọ có 3 thầy tu và 3 con quỷ muốn qua sông. Biết rằng tại một thời điểm
thuyền chỉ chở tối đa được 2 khách. Nếu bất cứ ở trên bờ nào, bên này hoặc bên kia thì số con
quỷ phải bé hơn hoặc bằng số thầy tu, ngược lại quỷ sẽ ăn thịt thầy tu.
Hãy viết chương trình giải quyết bài toán trên.
----------------------------------------------------------------------------------------------------------------Buổi 3: AI
1. Ứng dụng mạng neural nhân tạo trong nhận dạng chữ viết tay.
2. Ứng dụng thuật toán đàn kiến giải bài toán Người du lịch.
3. Ứng dụng mô hình Markov ẩn (HMM) trong nhận dạng tiếng nói.
4. Ứng dụng Kỹ thuật Support Vector Machine trong phân loại văn bản.
5. Ứng dụng thuật toán di truyền giải bài toán Người du lịch.
6. Ứng dụng DTW trong xác thực chữ ký tự động.
7. Ứng dụng mạng neural nhân tạo trong phục hồi ảnh.
8. Ứng dụng mô hình Markov ẩn trong nhận dạng hình ảnh cử chỉ.
9. Tìm hiểu mô hình cây nhị phân trong xây dựng từ điển đa ngữ.

10. Tìm hiểu ứng dụng logic mờ trong việc dự đoán chứng khoán.

Giáo viên hướng dẫn: Võ Đức Hoàng



×