1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng Dụng Tri Thức Mặc Định (Default Reasoning) Thiết Kế Trò Chơi Wumpus

21 291 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 672,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ưn

Trang 1

CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG

Ứ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

Trang 2

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

Trang 4

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

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ư:

Trang 5

- 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

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

Trang 6

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

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

Trang 7

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

Trang 8

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 địnhMộ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:

Trang 9

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 địnhMộ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:

Trang 10

- 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

Trang 11

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)

Trang 12

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:

StenchStench Stench Stench

Stench

Breeze

Breeze

Trang 13

- 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:

Trang 14

Roompublic 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()

Trang 15

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)

Trang 16

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:

Ngày đăng: 10/04/2015, 16:27

HÌNH ẢNH LIÊN QUAN

Hình 1. Màn hình thể hiện vị trí của Agent, wumpus và pit - Ứng Dụng Tri Thức Mặc Định (Default Reasoning) Thiết Kế Trò Chơi Wumpus
Hình 1. Màn hình thể hiện vị trí của Agent, wumpus và pit (Trang 11)
Hình 4. Giao diện chơi game - Ứng Dụng Tri Thức Mặc Định (Default Reasoning) Thiết Kế Trò Chơi Wumpus
Hình 4. Giao diện chơi game (Trang 18)
Hình 5. Nhìn vào ô “Real status of current room” ta thấy Agent đang - Ứng Dụng Tri Thức Mặc Định (Default Reasoning) Thiết Kế Trò Chơi Wumpus
Hình 5. Nhìn vào ô “Real status of current room” ta thấy Agent đang (Trang 18)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w