ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
________ ________
BÀI THU HOẠCH MÔN HỌC
CÔNG NGHỆ TRI THỨC
VÀ ỨNG DỤNG
Đề Tài:
Ứng Dụng Tri Thức Mặc Định (Default Reasoning)
Thiết Kế Trò Chơi Wumpus
Học viên thực hiện:
Nguyễn Anh Nhân
MSSV: CH1101114
Trần Thanh Quốc Thắng
MSSV: CH1101131
TP. HCM, năm 2012
MỤC LỤC
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG 1
TP. HCM, năm 2012 1
MỤC LỤC 2
Phần I: Tổng Quan Về Cơ Sở Tri Thức 4
I. Giới thiệu về cơ sở tri thức 4
1. Lịch sử phát triển 4
2. Ứng dụng 4
3. Một vài hệ cơ sở tri thức 5
4. Giới hạn 5
II. Lý luận mặc định – Default Reasoning 6
1. Giới Thiệu 6
2. Lý luận có thể thủ tiêu - Defeasible Reasoning 6
3. Vấn đề với logic sắp xếp đầu tiên 6
4. Suy luận ngầm định 7
5. Những sự hiệu chỉnh trong nguyên tắc suy luận mặc định 10
Phần 2: Ứng Dụng Tìm Đường Trong Trò Chơi 11
I. Giới thiệu tổng quan về trò chơi 11
II. Tổng quan về cách hiện thực game 12
Tài liệu tham khảo 21
![]()
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Phần I: Tổng Quan Về Cơ Sở Tri Thức
I. Giới thiệu về cơ sở tri thức
Cơ sở tri thức là ứng dụng chạy trên các thiết bị, hệ thống máy móc
nhằm giúp con người giải quyết các vấn đề, tìm ra các nguyên lý một cách tối
ưu nhất và hiệu quả nhất.
1. Lịch sử phát triển
Trong thời kỳ phát triển ban đầu, cơ sở tri thức chỉ là những hệ thống
kiến thức nền tảng. Việc phát triển các hệ thống kiến thức nền được xem như
là sự chuyển giao kiến thức của con người vào các hệ thống đó. Việc chuyển
giao này dựa trên sự giả định là các kiến thức cần thiết cho hệ thống kiến
thức nền đã có sẵn và chỉ cần thu thập, hiện thực chúng. Các kiến thức này
thu được bằng việc phỏng vấn các chuyên gia về các phương pháp mà họ
giải quyết các vấn đề cụ thể.
Tuy nhiên hệ thống này dần bộc lộ các điểm yếu do các kiến thức tìm
thấy được trong các hệ thống này chỉ là những kiến thức đã tồn tại và các
kiến thức này đã được giả định là đúng, nhưng trên thực tế chúng có thể sai.
Ngày nay, các hệ thống cơ sở tri thức đang dần được cải tiến trên cở sở
xây dựng các mô hình máy tính có khả năng giải quyết vấn đề như các
chuyên gia thực sự trong từng lĩnh vực cụ thể. Các hệ cơ sở tri thức sẽ có
khả năng tự đưa ra các đánh giá cũng như tự bổ sung các tri thức nhằm làm
tăng tính chính xác cho các nhận định của chúng. Trong quá trình đánh giá,
các chuyên gia có thể tìm cách liên kết các kiến thức của họ theo một cách
chủ quan để đưa ra các đánh giá của mình, tuy nhiên, họ sẽ không nhận thấy
được vài phần kiến thức quan trọng vì chúng là những phần kiến thức ẩn so
với khả năng củ họ. Những kiến thức này không thể đạt được một cách trực
tiếp mà phải được khai phá và xây dựng trong suốt quá trình tìm kiếm tri
thức. Chính vì thế mà mô hình này không chỉ còn là một mô hình chuyển giao
kiến thức giữa người và máy, mà nó đã trỡ thành một mô hình xây dựng và
khai thác tri thức.
2. Ứng dụng
Cơ sở tri thức có rất nhiều ứng dụng trong nhiều lĩnh vực như:
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 4
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Giải quyết vấn đề và đưa ra quyết định
- Khai phá dữ liệu
- Trao đổi thông tin, tương tác qua lại giữa người và máy
…
3. Một vài hệ cơ sở tri thức
Dựa vào cách biểu diễn tri thức, có thể chia các hệ cơ sở tri thức thành
một số dạng sau:
- Hệ cơ sở tri thức dựa trên logic mệnh đề và logic vị từ
- Hệ cơ sở tri thức dựa trên đối tượng
- Hệ cơ sở tri thức dựa trên luật dẫn
- Hệ cơ sở tri thức dựa trên các khung dữ liệu
- Hệ cơ sở tri thức dựa trên mạng ngữ nghĩa
…
4. Giới hạn
Bên cạnh những ưu điểm của mình, các hệ thống cơ sở tri thức cũng
còn tồn tại nhiều giới hạn do:
- Khả năng tính toán của máy tính
- Cách thức định nghĩa vấn đề
- Ngôn ngữ máy
Trong các giới hạn kể trên, giới hạn liên quan đến khả năng tính toán
của máy tính đã dần được cải thiện. Tốc độ xử lý của máy tính ngày một
nâng cao, vài tỷ lệnh trong một giây. Cùng với đó là khả năng lưu trữ dữ liệu
cũng không ngừng được cải thiện. Tốc độ truyền tải dữ liệu cũng tăng lên
đáng kể. Có thể nói ngày nay, khả năng của máy tính đã vượt qua nhiều giới
hạn và sự kỳ vọng.
Cách thức mà con người tiếp cận các vấn đề và tìm cách giải thích, định
nghĩa các vấn đề này cho máy tính tạo nên một giới hạn thực sự cho các hệ
thống cơ sở tri thức do các hệ thống giao tiếp giữa con người và máy móc rất
giới hạn, tạo nên một rào cản lớn giữa người và máy. Các hệ cơ sở tri thức
chỉ có thể giải quyết đúng đắn, chính xác các vấn đề nếu việc định nghĩa các
vấn đề cho máy được thực hiện hiệu quả bởi con người.
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 5
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Việc con người tìm hiểu, giải thích và đưa ra các giải pháp cho các vấn
đề đã là một việc khó khăn. Việc biểu diễn các vấn đề và các giải pháp đó
bằng ngôn ngữ lập trình để máy tính có thể hiểu được thậm chí còn khó khăn
hơn gấp nhiều lần.
II. Lý luận mặc định – Default Reasoning
1. Giới Thiệu
Lý luận mặc định là một hình thức của suy luận có thể dùng để diễn tả
những sự kiện như "mặc định, một cái gì đó là đúng sự thật".
Logic mặc định là một logic không đơn điệu bởi Raymond Reiter đề xuất để
chính thức hóa lý luận với những giả định mặc định. Tiêu chuẩn logic chỉ có
thể diễn tả rằng cái gì là đúng hay một điều gì đó là sai. Đây là một vấn đề vì
lý do liên quan đến sự kiện mà đúng trong đa số trường hợp nhưng không
phải luôn luôn.
Ví dụ: "Chim thường bay" với lại "Tất cả các con chim bay"
Trường hợp ngoại lệ - Chim cánh cụt, Đà điểu.
2. Lý luận có thể thủ tiêu - Defeasible Reasoning
Suy luận là co thể thủ tiêu khi đối số tương ứng là hợp lý hấp dẫń
nhưng không suy diễn hợp lệ. Sự thật của các cơ sở của một đối số co thể́
thủ tiêu tốt cung cấp hỗ trợ cho kết luận, mặc dù nó là có thể cho các cơ sở là
đúng sự thật và kết luận sai. Nói cách khác, sự hỗ trợ được cung cấp bởi các
cơ sở để kết luận là một trong những dự kiến, có khả năng đánh bại bởi các
thông tin bổ sung. Lý luận co thể thủ tiêu thường được giới hạn để suy luậń
liên quan đến các ngoại lệ cho phép tổng quát, đó là, suy luận những gì đã,
đang hoặc sẽ xảy ra trên cơ sở của những gì thường xảy ra.
3. Vấn đề với logic sắp xếp đầu tiên
Logic Sắp xếp đầu tiên là một logic đơn điệu trong ý nghĩa rằng mối
quan hệ hậu quả của nó là đơn điệu.
Nếu một câu φ có thể được suy ra trong từ một Γ- tập hợp của các cơ
sở, sau đó nó cũng có thể được suy ra từ bất kỳ Δ tập hợp các cơ sở có Γ là
một tập hợp con.
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 6
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Mối quan hệ hậu quả của FOL có thuộc tính nếu Γ φ và Γ Δ sau⊆⊨
đó delta φ. thuộc tính này được gọi là thuộc tính đơn điệu.⊨
Trực giác, điều này ngụ ý rằng việc học một đoạn mới của kiến thức
không có thể làm giảm các thiết lập của những gì được biết.
Có sự khác biệt nổi bật giữa hình thức logic và sự hoạt động của trí óc
khi nói đến đối phó với kiến thức không đầy đủ (chẳng hạn như nhận thức,
sự mơ hồ, cảm giác chung, quan hệ nhân quả và dự đoán). Logic cổ điển
thiếu công cụ để mô tả làm thế nào để sửa đổi một lý thuyết chính thức để
đối phó với mâu thuẫn gây ra bởi thông tin mới.
Có hai loại chủ yếu là các phiên bản:
a. Mẫu sắp xếp lại thế giới: vấn đề rất khó sửa đổi mô hình phức
tạp. Phức tạp thường bắt nguồn từ một phần của mô hình dựa trên các phần
khác của mô hình.
Ví dụ. Sửa đổi ý kiến của một người bạn sau khi phát hiện sự
không trung thực của người đó.
b. Thường xuyên sửa đổi - Vấn đề dễ dàng hơn. Liên quan đến
việc duy trì các sự kiện mà mặc dù được thể hiện phổ biến thật sự có trường
hợp ngoại lệ.
Ví dụ. Nói rằng tất cả các loài chim thường bay, nhưng sau đó
tìm ra rằng chim cánh cụt không bay được, sửa đổi các cơ sở tri thức bao
gồm thực tế rằng đa số chim đều bay được.
Logic cổ điển đã bị bỏ qua các trường hợp đơn giản trên bằng cách
thay đổi các ký hiệu, trong đó quy định được nêu.
Ví dụ. "Tất cả các loài chim ngoại trừ chim cánh cụt, đà điểu, bay "
Logic cổ điển cũng không thể xử lý những kiểu lý luận như trên.
4. Suy luận ngầm định
Mặc định suy luận (và mặc định logic) đã được đề xuất để xử lý các
vấn đề sửa đổi không đơn điệu và sự tin tưởng. Nó chủ yếu là nhằm mục
đích suy luận chính thức hóa mặc định mà không nêu rõ tất cả các trường
hợp ngoại lệ.
a. Logic chính thức hóa lý luận mặc định
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 7
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Logic có thể để đối phó với giả định mặc định tùy ý (mặc định
Logic, lý luận co thể thủ tiêu, và lập trình tập hợp các câu trả lời)́
Logic là chính thức hóa các giả định mặc định cụ thể sự kiện mà không biết là
đúng có thể được giả định sai theo mặc định (giả định thế giới khép kín và có
giới hạn).
b. Cú pháp của logic mặc định
Một lý thuyết mặc định là một cặp <D,W>
W là một tập hợp các công thức hợp lý, được gọi là lý thuyết nền
tảng, chính thức hóa các sự kiện được biết chắc chắn. D là một tập hợp các
quy tắc mặc định, mỗi một trong những hình thức:
Điều kiện tiên quyết: dẫn chứng 1, , dẫn chứng n …, kết luận
Theo mặc định này, nếu chúng tôi tin rằng điều kiện tiên quyết đó là sự thật,
và mỗi dẫn chứng là phù hợp với niềm tin hiện tại của chúng tôi, chúng tôi
được dẫn đến tin kết luận đó là đúng.
Các công thức hợp lý trong W và công thức tất cả trong một mặc định ban
đầu được giả định là công thức logic của lệnh đầu tiên, nhưng chúng có khả
năng có thể là công thức trong một logic hình thức tùy ý.
Ví dụ về cú pháp:
Mặc định cho "Chim thường bay" được chính thức hóa theo mặc định sau:
Nguyên tắc là nếu X là một con chim và được cho rằng nó có thể bay được,
kết luận lại là chim đó có thể bay được. Lý thuyết nền cho công thức trên là
W = {chim(Kềnh kềnh)}, chim(chim cánh cụt), -Bay(Chim cánh cụt),
Bay(Chim ưng)
Những gì chúng ta có thể kết luận:
Bay (Kềnh Kềnh)
Những gì chúng ta không có thể kết luận:
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 8
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Bay (Chim cánh cụt)
Chim (Chim ưng)
Một ví dụ khác: Một người Mỹ trưởng thành thì sở hữu một chiếc xe hơi
Qui tắc mặc định có thể được áp dụng nếu chúng ta có thể chứng minh rằng
John là một người Mỹ và đã trưởng thành và cho nên sự tin chắc có một
chiếc xe được sở hữu bởi John thì trở nên hợp lý. Nếu cả hai khẳng định trên
được thoả mãn, nguyên tắc trên cho chúng ta khẳng định được John sở hữu
một chiếc xe hơi.
Thêm một ví dụ khác: Một giả định mặc định thông thường khác đó là những
điều không được biết là đúng thì được tin rằng là sai. Giả định này được biết
đến với tên gọi Closed-World Assumption và nó được hình thành trong lý
thuyết giả định mặc định sử dụng một mặc định như hàm dưới đây:
c. Sự hạn chế:
Một mặc định là bình thường nếu sao có một chứng minh đúng đắn từ giả
thuyết đến kết luận của nó. Một mặc định là siêu chuẩn tắc nếu nó vừa là rõ
ràng và không bất thường. Một mặc định là bán bình thường nếu mọi chứng
minh đúng đắn của nó dẫn đến kết luận.
d. Ngữ nghĩa học của Logic mặc định
Một nguyên tắc mặc định có thể được áp dụng vào một lý thuyết
nếu những điều kiện ban đầu của nó được dẫn đến bởi lý thuyết và những
chứng minh của nó hoàn toàn thống nhất với lý thuyết
Khi một lý thuyết mà không được áp dụng bởi một mặc định nào lý thuyết đó
được gọi là phần mở rộng của lý thuyết mặc định.
Những nguyên tắc mặc định có thể được áp dụng theo những thứ tụ khác
nhau và nó có thể dẫn đến những phần mở rộng khác nhau.
e. Sự thừa kế:
Sự thừa kế của một công thức từ một lý thuyết mặc định có thể
được xác định bằng 2 cách:
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 9
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Nghi vấn : Một hàm được dẫn ra nếu nó được dẫn ra bởi tất cả
các phần mở rộng của nó
- Tin tưởng: Một hàm được dẫn ra nếu ít nhất nó được dẫn ra
bởi một thành phần mở rộng của nó
5. Những sự hiệu chỉnh trong nguyên tắc suy luận mặc định
a. Được chứng minh: Khác so với những suy luận nguyên thuỷ là nó sẽ
không được áp dụng nếu một tập hợp trở nên không đồng nhất với một sự
chứng minh của một mặc định đã được áp dụng
b. Ngắn gọn: Một mặc định được áp dụng chỉ khi nếu hệ quả của nó
chưa được đưa đến bởi một tập hợp
c. Được ràng buộc: Một mặc định được áp dụng chỉ khi nếu tập hợp
được kết hợp từ lý thuyết tổng quát. Mọi chứng minh của mặc định được áp
dụng và hệ quả của chúng phải đồng nhất với nhau.
d. Hợp lý: Tương tự như những logic mặc định bị ràng buộc, nhưng lý
luận và kết quả không được ràng buộc bởi tính thống nhất
e. Sự cẩn trọng: Những mặc định có thể được áp dụng nhưng nếu
chúng xung đột với những mặc định khác thì sẽ bị từ chối áp dụng.
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 10
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Phần 2: Ứng Dụng Tìm Đường Trong Trò Chơi
I. Giới thiệu tổng quan về trò chơi
Hình 1. Màn hình thể hiện vị trí của Agent, wumpus và pit
Hình 2. Agent và hướng đi hiện tại
Sau đây là 1 số cảm giác mà Agent – nhân vật chính trong game cảm
nhận được:
Strench (mùi hôi): xuất hiện trong ô chứa Wumpus (quái vật) và các ô
liền kề nó (không tính ô xéo).
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 11
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Breeze (hơi gió): xuất hiện trong các ô liền kề ô chứa pit (hồ nước).
Glitter (óng ánh): xuất hiện trong ô chứa vàng.
Scream (tiếng kêu): xuất hiện trong ô có quái vật đã bị tiêu diệt. Khi quái
vật bị tiêu diệt thì mùi hôi ở ô nó ở và các ô liền kề sẽ mất đi.
Agent chỉ cảm nhận được các cảm giác như trên (trừ Scream và Glitter)
ở các ô liền kề với ô Agent đang đứng. Agent sẽ không biết 1 ô đang chứa
vàng hay có quái vật (hoặc hồ nước) trừ khi đang ở trong ô đó. Khi vào ô có
quái vật hay hồ nước Agent sẽ chết.
Các hành động mà Agent được thực hiện là: quẹo trái, quẹo phải (trong
ô đang đứng), di chuyển sang ô trước mặt, lượm vàng trong ô hiện tại, bắn 1
mũi tên về phía trước để tiêu diệt quái vật (nếu có) trong ô trước mặt.
Vì số lượng các ô nhỏ (4 x 4) nên trong game này sẽ chỉ có 1 nơi có
quái vật, 1 nơi chứa vàng, và 3 nơi có hồ nước.
Nhiệm vụ của Agent là tìm cho được nơi chứa vàng và lấy nó. Cho nên
game sẽ kết thúc khi Agent kiếm được vàng hoặc bị chết.
II. Tổng quan về cách hiện thực game
Định nghĩa ô an toàn:
- Để Agent có thể quyết định hành động tiếp theo, do chỉ biết được thông
tin các ô liền kề với những ô đã đi qua, nên chúng ta chỉ cần biết có ô là an
toàn kế với ô Agent đang đứng, là có thể đi được.
- Một ô là an toàn khi ta chắc chắn được nó không có hồ nước hay quái
vật:
Stench
Stench Stench Stench
Stench
Breeze
Breeze Breeze
Breeze
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 12
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
- Trong 2 hình trên các ô đỏ là các ô không an toàn, do đó nếu ta biết
được 1 trong các ô liền kề không có Stench thì ô đó không có quái vật, một
trong các ô liền kề không có Breeze thì ô đó không có hồ nước.
Các hành động của Agent trong trò chơi:
Để dễ dàng hiện thực game ta sẽ định nghĩa lại các hành động của
Agent trong game dựa trên các hành động cơ bản của Agent:
• Forward: di chuyển sang ô trước mặt.
• Turn left: quẹo trái, di chuyển sang ô trước mặt.
• Turn right: quẹo phải, di chuyển sang ô trước mặt.
• Go back: quẹo trái 2 lần, di chuyển sang ô trước mặt, quẹo phải 2
lần.
• Pick: lượm vàng trong ô hiện tại.
• Fire: bắn 1 mũi tên về phía trước để tiêu diệt quái vật (nếu có)
trong ô trước mặt.
Mặc định Agent sẽ di chuyển lên phía trước, nếu ô phía trước có thể có
quái vật thì Agent sẽ bắn 1 mũi tên rồi đi tới, nếu không được nó sẽ quẹo trái,
không thì quẹo phải. Nếu tất cả các ô không đi được, thì Agent sẽ lùi lại phía
sau tìm đường khác. Nếu tất cả các ô xung quanh đều không thể di chuyển
hay ô trước mắt đã đi qua và nó không có quái vật mà có thể có hồ nước, ô
phía sau cũng không có để lùi lại, thì chương trình sẽ ngừng để đảm bảo an
toàn cho Agent.
Sơ đồ lớp:
Hiện thực chương trình gồm tất cả 3 loại lớp: Room (ô) , Matrix (chứa 16
ô), Agent (chứa 1 Matrix để lưu lại thông tin về các ô Agent đã quan sát
được, qua đó dự đoán bước đi tiếp theo). Sau đây là hiện thực chính của các
lớp này:
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 13
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Room
public bool has_Wumpus;
public bool has_Gold;
public bool has_Pit;
public bool has_Agent;
public bool is_Visited;
public bool is_Safe;
public bool is_Check;
public bool is_Stench;
public bool is_Breeze;
public bool is_Glitter;
public bool is_Scream;
public Room()
public void Reset()
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 14
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Matrix
public Room[] iRoom
public Matrix()
public void Reset()
public int right_room(int room_id)
public int left_room(int room_id)
public int up_room(int room_id)
public int down_room(int room_id)
public void set_Wumpus(int room_id)
public void kill_Wumpus(int room_id)
public void kill_Wumpus_in_Agent_view(int
room_id, Matrix real)
public void set_Pit(int room_id)
public void set_Gold(int room_id)
public void pick_Gold(int room_id)
public void select_Agent(int room_id)
public void deselect_Agent(int room_id)
public void safe_checking(int id)
public bool can_has_pit(int id)
public bool can_has_wumpus(int id)
public bool is_Check_and_not_Breeze(int id)
public bool is_Check_and_not_Stench(int id)
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 15
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Agent
public bool is_fire
public Matrix Agent_Matrix
public direction _direction
public int current_position
public Agent()
public void Reset()
public void find_start_position(Matrix real)
public void look_around(Matrix real)
public void get_status(Matrix real, int id)
public void turn_left()
public void turn_right()
public int get_right_room()
public int get_left_room()
public int get_forward_room()
public int get_back_room()
public void forward()
public void go_back()
public bool is_died(Matrix real)
public bool can_pick_gold(Matrix real)
public void analyze()
public bool can_go_forward()
public bool can_go_back()
public bool can_turn_left()
public bool can_turn_right()
public action decide_action()
public void fire(Matrix real)
Thiết kế game:
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 16
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Game được viết bằng C#.NET 2010. Trong tab “Settings”, người dùng
tự nhập vị trí Agent, Wumpus và Pit. Sau đó, nhấn nút “View and save
settings” để lưu lại (Wumpus, Pit, Agent không được chung 1 ô).
Trong tab “Play Game”, người dùng nhấn nút “Start new game” để bắt
đầu chơi.
Hình 3. Giao diện game khi nhập vị trí Agent, Wumpus và Pit
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 17
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Hình 4. Giao diện chơi game
Hình 5. Nhìn vào ô “Real status of current room” ta thấy Agent đang
đứng ở ô mà Wumpus đã bị giết
Hiện thực một số hàm chính yếu của game:
Lớp Agent:
public action decide_action()
{
int forward_id = get_forward_room();
if(can_go_forward())
{
return action.forward;
}
else
{
if (this.is_fire)
{
this.is_fire = false;
return action.forward;
}
if (this.Agent_Matrix.can_has_wumpus(forward_id))
{
this.is_fire = true;
return action.fire;
}
}
if (can_turn_left())
{
return action.turn_left;
}
if (can_turn_right())
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 18
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
{
return action.turn_right;
}
if (can_go_back())
{
return action.go_back;
}
return action.none;
}
Lớp Matrix:
public void safe_checking(int id)
{
if (this.iRoom[id].is_Safe)
{
return;
}
if (this.iRoom[id].is_Visited)
{
this.iRoom[id].is_Safe = true;
return;
}
if(!can_has_pit(id) && !can_has_wumpus(id))
{
this.iRoom[id].is_Safe = true;
return;
}
}
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 19
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Trong phạm vi ngắn gọn của đề tài, nghiên cứu về công nghệ tri thức và
ứng dụng của nó trong tin học, thông qua lý thuyết về tri thức mặc định và trò
chơi wumpus, giúp chúng ta có một cách nhìn rộng hơn về một khía cạnh
mới của công nghệ tri thức. Đề tài này hoàn thành là nhờ chính sự nỗ lực của
bản thân và bạn Trần Thanh Quốc Thắng, nhưng bên cạnh đó là sự giúp đỡ
và hướng dẫn của Thầy Hoàng Văn Kiếm cùng các bạn cao học Khoá 06. Tôi
chân thành cảm ơn.
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 20
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
Tài liệu tham khảo
1. Bài giảng môn học “Công Nghệ Tri Thức và Ứng Dụng” .
Giảng viên : GS.TSKH Hoàng Văn Kiếm
Chương trình đào tạo thac sĩ CNTT qua mạng.
2. Elaine Rich & Kevin Knight, "Artificial Intelligence",
3. McGraw-Hill Science/Engineering/Math; 2nd edition.
4. Russel S. and Norvig P., "Artificial Intelligence: a Modern Approach",
Prentice Hall, 1998.
5. Nilsson, N.J., "Artificial Intelligence, a New Approach", Morgan
Kaufmann, 2000.
MÔN HỌC: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC 21