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

Tiểu luận môn biểu diễn tri thức và suy luận TÌM HIỂU MẠNG TÍNH TOÁN VÀ CÁC ĐỐI TƯỢNG TÍNH TOÁN XÂY DỰNG ỨNG DỤNG DEMO

25 443 1

Đ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 25
Dung lượng 249,78 KB

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

Nội dung

Thuật toán hay thuật giải là một dạng của tri thức thủ tục Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm… được thấy, cảm nhận, cấu tạo như thế nào một cái bàn thườn

Trang 1

CH1301065

Thành phố Hồ Chí Minh - Tháng 3 Năm 2014

Trang 2

Trang 3

Phần I: Biểu Diễn Tri Thức

I Khái niệm tri thức 1

II Các phương pháp biểu diễn tri thức 1

1 Bộ ba đối tượng – Thuộc tính – Giá trị 2

2 Logic mệnh đề 2

3 Logic vị từ 2

4 Mạng ngữ nghĩa 3

5 Frame 3

6 Luật dẫn 3

Phần II: Mạng Tính Toán Và Các Đối Tượng Tính Toán I Mạng tính toán 7

II Mạng các đối tượng tính toán 10

Phần III: Cài đặt demo I Giới thiệu ứng dụng 16

II Thiết kế các class trên môi trường NET 16

III Cài đặt thuật giải Suy Diễn Tiến, thuật toán tìm lời giải tốt, và expression tree 17

IV Hình ảnh demo của chương trình 20

V Kết luận 21

Tài liệu tham khảo 22

Trang 4

Phần I: Biểu Diễn Tri Thức

I Khái niệm tri thức

Tri thức là sự “hiểu biết” của người trong một phạm vi, lĩnh vực nào đó, được xem xét theocác mục tiêu hay các vấn đề nhất định

Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều thành tố với

những mối liên hệ tác động qua lại như:

Các khái niệm (concepts), với những mối liên hệ cơ bản nhất định (relationships).

Các thực thể hay đối tượng, một phần tử cụ thể (objects).

Phân loại tri thức:

Dựa vào cách thức con người giải quyết vấn đề, các nhà nghiên cứu đã xây dựng các lỹ thuật để biễu diễn cá dạng tri thức khác nhau trên máy tính Sau đây là các dạng biểu diễn tri thức thường gặp

Tri thức sự kiện: là các khẳng định về một sự kiện, khái niệm nào đó (trong phạm vi xác đ.

Các định luật vật lý, toán học … thường được xếp vào loại này Ví dụ: mặt trời mọc ở đằng đông, tam giác đều có ba góc 600…)

Tri thức thủ tục: thường dùng để diển tả phương pháp, các bước cần tiến hành, trình tự

hay ngắn gọn là các giải quyết một vấn đề Thuật toán hay thuật giải là một dạng của tri thức thủ tục

Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm… được thấy, cảm nhận,

cấu tạo như thế nào ( một cái bàn thường có bốn chân, con người có hai tay, hai mắt …)

Tri thức heuristic: là một dạng tri thức cảm tính Các tri thức thuộc loại này thường có

dạng ước lượng, phỏng đoán, và được hình thành thông qua kinh nghiệm

Tri thức có câu trúc: mô tả tri thức theo cấu trúc Loại tri thức này mô tả mô hình tổng

quan hệ thống theo quan điểm của chuyên gia, bao gồm khái niệm, khái niệm con, và các đối tượng: diễn tả chức năng và mối liên hệ giữa các tri thức dựa theo câu trúc xác định

II Các phương pháp biểu diễn tri thức

Các phương pháp diễn tả và tổ chức tri thức trong máy tính cho các hệ thông tin có tính chất trí tuệ để máy có thể tiến hành các phép lập luận tự động Trong trí tuệ nhân tạo, các phương pháp BDTT thường được sử dụng như lôgic tân từ, mạng ngữ nghĩa, biểu diễn khung,luật dẫn

Trang 5

1 Bộ ba đối tượng - Thuộc tính – giá trị

Cơ chế tổ chức nhận thức của con người thường được xây dựng dựa trên các sự kiện(fact), xem như các đơn vị cơ bản nhất Một sự kiện là một dạng tri thức khai báo Nó cung cấp một số hiểu biết về một biến cố hay một vấn đề nào đó

Một sự kiện có thể được dùng để xác nhận giá trị của một thuộc tính xác định của một vài đối tượng Ví dụ mệnh đề “quả bóng màu đỏ“ xác nhận “đỏ” là giá trị thuộc tính “màu” của đối tượng “quả bóng” Kiểu sự kiện này được gọi là bộ ba Đối tượng - Thuộc tính – giá trị

Ta ký hiệu mệnh đề bằng những chữ cái la tinh như a, b, c,

Có 3 phép nối cơ bản để tạo ra những mệnh đề mới từ những mệnh đề cơ sở là phép hội (  ) ,

giao( ) và phủ định ( )

Bạn đọc chắn hẳn đã từng sử dụng logic mệnh đề trong chương trình rất nhiều lần (như trong cấu trúc lệnh IF THEN ELSE) để biểu diễn các tri thức "cứng" trong máy tính ! Bên cạnh các thao tác tính ra giá trị các mệnh đề phức từ giá trị những mệnh đề con, chúng

ta có được một cơ chế suy diễn như sau :

 Modus Ponens: Nếu mệnh đề A là đúng và mệnh đề A B là đúng thì giá trị của B sẽ là đúng

 Modus Tollens: Nếu mệnh đề A B là đúng và mệnh đề B là sai thì giá trị của A sẽ là sai

3 Logic vị từ

Biểu diễn tri thức bằng mệnh đề gặp phải một trở ngại cơ bản là không thể can thiệp vào cấu trúc của một mệnh đề Hay nói một cách khác là mệnh đề không có cấu trúc Điều này làm hạn chế rất nhiều thao tác suy luận Do đó, người ta đã đưa vào khái niệm vị từ và lượng

từ ( - với mọi,  - tồn tại) để tăng cường tính cấu trúc của một mệnh đề

Trong logic vị từ, một mệnh đề được cấu tạo bởi hai thành phần là các đối tượng tri thức vàmối liên hệ giữa chúng (gọi là vị từ) Các mệnh đề sẽ được biểu diễn dưới dạng :

Trang 6

Vị từ (<đối tượng 1>, <đối tượng 2>, …, <đối tượng n>)Như vậy để biểu diễn vị của các trái cây, các mệnh đề sẽ được viết lại thành :

Cam có vị Ngọt  Vị (Cam, Ngọt), Cam có màu Xanh  Màu (Cam, Xanh)

5 Frame

Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến một đối tượng

cụ thể nào đó Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng Ngược lại với các phương pháp biểu diễn tri thức đã được đề cập đến, frame "đóng gói" toàn bộ một đối tượng, tình huống hoặc cả một vấn đề phức tạp thành một thực thể duy nhất có cấu trúc Một frame bao hàm trong nó một khối lượng tương đối lớn tri thức về một đối tượng, sự kiện, vị trí, tình huống hoặc những yếu tố khác Do đó, frame có thể giúp ta mô tả khá chi tiết một đối tượng Frame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những tri thức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn kẽ Bộ não của con người chúng ta vẫn luôn "lưu trữ" rất nhiều các tri thức chung mà khi cần, chúng ta cóthể "lấy ra" để vận dụng nó trong những vấn đề cần phải giải quyết Frame là một công cụ thích hợp để biểu diễn những kiểu tri thức này

6 Biểu diễn tri thức bằng luật dẫn

Đây là một kiểu biểu diễn tri thức có cấu trúc Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp điều kiện & hành động : "NẾU điều kiện xảy ra THÌ hành động sẽ được thi

Trang 7

hành" Chẳng hạn : NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máy tính

đã mở mà không khởi động được THÌ kiểm tra nguồn điện, v.v…

Luật dẫn có thể là một công cụ mô tả để giải quyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống Trong trường hợp này, các luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ đó làm giảm không gian tìm kiếm Một ví dụ khác là luật dẫn có thể được dùng để bắt chước hành vi của những chuyên gia Theo cách này, luật dẫn không chỉ đơn thuần là một kiểu biểu diễn tri thức trong máy tính mà là một kiểu biễu diễn các hành vi của con người

Một cách tổng quát luật sinh có dạng như sau: P1  P2   Pn  Q

Tùy vào các vấn đề đang quan tâm mà luật dẫn có những ngữ nghĩa hay cấu tạo khác nhau : Trong logic vị từ : P1, P2, , Pn, Q là những biểu thức logic

Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh

IF (P1 AND P2 AND AND Pn) THEN Q

Trong lý thuyết hiểu ngôn ngữ tự nhiên, mỗi luật dẫn là một phép dịch:

f1 ^ f2 ^ ^ fi  qTrong đó, các fi, q đều thuộc F

Cơ chế suy luận trên các luật dẫn

Suy diễn tiến: là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác định các sự

kiện có thể được "sinh" ra từ sự kiện này

Sự kiện ban đầu : H, K

R3 : H  A {A, H K }

R1 : A  E { A, E, H, K }

R5 : E  K  B { A, B, E, H, K }

Trang 8

R2 : B  D { A, B, D, E, H, K }

R6 : D  E  K  C { A, B, C, D, E, H, K }

Suy diễn lùi : là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta tìm kiếm

các sự kiện đã "sinh" ra sự kiện này Một ví dụ thường gặp trong thực tế là xuất phát từ các tình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc ở đâu Ví dụ:

Không sử dụng được máy tính

Điện vào máy tính "có" hay "không"

Trang 9

Như vậy là để xác định được nguyên nhân gây ra hỏng hóc là do ổ cứng hỏng hay cáp màn hình lỏng, hệ thống phải lần lượt đi vào các nhánh để kiểm tra các điều kiện như điện vào máy

"có", âm thanh ổ cứng "không".Tại một bước, nếu giá trị cần xác định không thể được suy ra

từ bất kỳ một luật nào, hệ thống sẽ yêu cầu người dùng trực tiếp nhập vào Chẳng hạn như để biết máy tính có điện không, hệ thống sẽ hiện ra màn hình câu hỏi "Bạn kiểm tra xem có điện vào máy tính không (kiểm tra đèn nguồn)? (C/K)" Để thực hiện được cơ chế suy luận lùi, người ta thường sử dụng ngăn xếp (để ghi nhận lại những nhánh chưa kiểm tra)

So sánh ưu nhược điểm của các phương pháp biểu diễn tri thức

Luật dẫn Cú pháp đơn giản, dễ hiểu, diễn dịch đơn giản,

tính đơn thể cao, linh động (dễ điều chỉnh)

Rất khó theo dõi sự phân cấp, không hiệu quả trong những hệ thống lớn, không thể biểu diễn được mọi loại tri thức, rất yếu trong việc biểu diễn các tri thức dạng

Frame Có sức mạnh diễn đạt tốt, dễ cài đặt các thuộc

tính cho các slot cũng như các mối liên hệ, dễ dàng tạo ra các thủ tục chuyên biệt hóa, dễ đưa vào các thông tin mặc định và dễ thực hiện các thao tác phát hiện các giá trị bị thiếu sót

Khó lập trình, khó suy diễn, thiếu phần mềm hỗ trợ

Trang 10

PHẦN II: MẠNG TÍNH TOÁN VÀ CÁC ĐỐI TƯỢNG TÍNH TOÁN

I Mạng tính toán

Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các vấn

đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài toán Mỗi mạngtính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt và sử dụngđược cho việc tính toán Chúng ta xét một mạng tính toán gồm một tập hợp các biến cùng vớimột tập các quan hệ (chẳng hạn các công thức) tính toán giữa các biến Trong ứng dụng cụ thểmỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thểhiện một sự tri thức về sự vật

Mô hình: (M, F)

M: tập các biến đơn, như các biến thực

F: Tập các luật dạng phương trình trên các biến của M

Kỹ thuật vận dụng: không xử dụng trực tiếp các phương trình trong quá trình suy luận mà chuyển sang dạng luật dẫn để có thể dùng thuật giải suy diễn tiến trên hệ luật dẫn

Mỗi luật ở dạng phương trình sẽ được chuyển đổi thành một số các luật dẫn kèm theo công thức tính toán tương ứng

Ví dụ: luật A+B+C = pi được chuyển thành 3 luật dẫn như sau:

Ta có mô hình dạng hệ luật dẫn: (M, R)

M = tập các sự kiện, mỗi sự là phát biểu về tính xác định của một biến

R = tập các luật dẫn, mỗi luật dẫn có một công thức tính toán tương ứng

Vấn đề:

Cho trước một số biến, yêu cầu tìm (hay tính) một số biến mục tiêu

Trang 11

1 Bài toán trên mạng suy diễn tính toán

Cho một mạng tính toán (M,F), M là tập các biến và F là tập các quan hệ Giả sử có một tậpbiến A  M đã được xác định và B là một tập biến bất kỳ trong M

Các vấn đề đặt ra là:

Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nói cách khác, ta

có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị của các biến thuộc Ahay không?

Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến thuộc B như thếnào?

Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để có thể xácđịnh được B

Bài toán xác định B từ A trên mạng tính toán (M,F) được viết dưới dạng:A  B, trong đó Ađược gọi là giả thiết, B được gọi là mục tiêu tính toán của bài toán

Đối với mỗi f  F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f Dĩ nhiên M(f)

là một tập con của M: M(f)  M Nếu viết f dưới dạng:

f : u(f)  v(f)thì ta có M(f) = u(f)  v(f)

Ví dụ 1: Cho tam giác ABC có cạnh a và 2 góc kề là ,  được cho trước Tính diện tích S

của tam giác

Để tìm ra lời giải cho bài toán trước hết ta xét mạng tính toán của tam giác Mạng tính toánnầy gồm :

1 Tập biến M = a, b, c, , , , ha, hb, hc, S, p, R, r, ,

trong đó a,b,c là 3 cạnh; , ,  là 3 góc tương ứng với 3 cạnh; ha, hb, hc là 3 đường cao; S làdiện tích tam giác; p là nửa chu vi; R là bán kính đường tròn ngoại tiếp tam giác; r là bán kínhđường tròn nội tiếp tam giác, v.v

3 Yêu cầu tính : S (diện tích của tam giác)

Theo đề bài ta có giả thiết là : A = a, , , và tập biến cần tính là B = S

Trang 12

Áp dụng thuật toán tìm lời giải (thuật toán suy diễn tiến) ta có một lời giải cho bài tính làdãy quan hệ sau: f1, f2, f3, f5, f9 Xuất phát từ tập biến A, lần lượt áp dụng các quan hệtrong lời giải ta có tập các biến được xác định mở rộng dần đến khi S được xác định :

a, ,  ⃗f 1 a, , ,  ⃗f 2 a, , , , b ⃗f 3 a, , , , b, c

a, ,  ⃗f 1 a, , ,  ⃗f 2 a, , , , b ⃗f 9 a, , , , b, S

Theo lời giải nầy, ta có quá trình tính toán như sau :

 Giải được hầu hết các bài toán GT  KL nếu như đáp ứng đầy đủ các giả thiết cần thiết

 Thuật toán đơn giản dễ cài đặt cho nên việc bảo trì hệ thống tương đối đơn giản

 Có thể xây dựng hệ thống suy luận và giải thích một cách rõ ràng và dễ hiểu

Khuyết điểm:

 Do hệ thống chỉ bao gồm 1 cặp (M, F) để biểu diễn tri thức nên khi gặp phải những bàitoán phức tạp thì có thể xảy ra việc lưu trữ khó khăn và nhập nhằng khi quản lý Đồngthời việc xây dựng lại thuật toán là một việc tương đối khó khăn  phải bảo trì lại toàn

bộ hệ thống

 Đối với các bài toán mà sử dụng nhiều các đối tượng tính toán bài toán trở nên phức tạp,việc giải quyết bài toán bằng mạng tính toán trở nên khó khăn cho người lập trình

Trang 13

II Mạng các đối tượng tính toán

Cấu trúc của mạng tính toán bao gồm một tập các biến M và một tập các quan hệ F thể hiệntri thức về sự liên hệ tính toán giữa các biến trong mạng Bây giờ nếu ta xét một bài toán gồm

có hai tam giác có một số liên hệ với nhau, chẳng hạn cạnh a của tam giác nầy bằng cạnh b

của tam giác kia, thì ta có một mạng tính toán bao gồm 2 “đối tượng” có cùng loại (đều là tam

giác) Mỗi đối tượng trong trường hợp nầy có thể được thay thế bởi một mạng tính toán tương

ứng, và từ đó ta được một mạng tính toán trong đó có 2 bộ phận (hay 2 mạng con) có cùng

loại

Hình 1.1 Mạng tính toán gồm 2 tam giác.

Hình 1.2 Mạng tính toán gồm 2 bộ phận,

mỗi bộ phận là mạng tính toán của 1 tam giác

1 Mạng con, đối tượng tính toán

Một mạng tính toán (M,F) được gọi là một mạng con của mạng tính toán (M’,F’) nếu thỏa

các điều kiện sau đây :

(1) M  M’,

Trang 14

Ghi chú : Lời giải tốt của một bài toán trên mạng thu hẹp không nhất thiết là tốt trên mạng

lớn hơn vì nó chỉ sử dụng “kiến thức” gồm một tập quan hệ ít hơn Tuy nhiên, có thể nói lờigiải đó là tốt trong một phạm vi tri thức giới hạn

Một mạng tính toán còn được xem là một đối tượng tính toán Theo quan niệm nầy, từ

bên ngoài phạm vi của mạng tính toán ta xem nó như một tổng thể bao gồm một số yếu tố taquan tâm và các yếu tố khác (xem như phần nội bộ bên trong của đối tượng) mà ta ít quan tâmhơn Trong hình 1.1 TAM GIAC 1 là một đối tượng tính toán mà trong mạng gồm 2 tam giác

Trang 15

ta đặc biệt quan tâm đến cạnh a của nó, còn các yếu tố khác của TAM GIAC 1 như cạnh b,cạnh c, diện tích S, nửa chu vi p, v.v tạm thời chưa được quan tâm

Như vậy đối với mỗi đối tượng tính toán O, có một tập biến và một tập các quan hệ tươngứng Tập các biến và tập các quan hệ của đối tượng O lần lượt được ký hiệu là M(O), F(O)

Từ đó ta có thể viết :

O = ( M(O),F(O) )

Hình vẽ dưới đây biểu diễn cho một đối tượng O, trong đó tập x1, , xk  M(O) là một tậpbiến đang được quan tâm xem xét của đối tượng O

Hình 1.3 Đối tượng tính toán O.

Ngoài ra đối tượng tính toán, giả sử là O, còn có khả năng đáp ứng lại một số thông điệp yêucầu từ bên ngoài Trong các khả năng đó của đối tượng tính toán ta có thể kể đến những điểmsau đây :

(1) Xác định bao đóng (trong đối tượng O) của một tập A  M(O)

(2) Xác định tính giải được của một bài toán A  B,

trong đó A  M(O), B  M(O)

(3) Tìm một lời giải tốt cho bài toán A  B trên mạng (M(O),F(O)),

trong đó A  M(O), B  M(O)

2 Mạng các đối tượng tính toán :

Trong mục nầy trình bày một số khái niệm về mạng các đối tượng tính toán Trong đó cókhái niệm về quan hệ giữa các đối tượng Ta gọi một quan hệ f giữa các biến của các đối

tượng tính toán là một quan hệ giữa các đối tượng đó Quan hệ nầy cho phép ta tính được

một hay nhiều biến của các đối tượng từ một số biến khác

Ví dụ 1: Giả sử có 2 đối tượng O1, O2 Trong các biến của đối tượng O1 có một biến, ký hiệu

a, có liên hệ f với một biến của đối tượng O2, ký hiệu b, được xác định bởi hệ thức :

Ngày đăng: 19/05/2015, 00:28

HÌNH ẢNH LIÊN QUAN

Hình 1.1.  Mạng tính toán gồm 2 tam giác. - Tiểu luận môn biểu diễn tri thức và suy luận TÌM HIỂU MẠNG TÍNH TOÁN VÀ CÁC ĐỐI TƯỢNG TÍNH TOÁN XÂY DỰNG ỨNG DỤNG DEMO
Hình 1.1. Mạng tính toán gồm 2 tam giác (Trang 13)
Hình vẽ dưới đây biểu diễn cho một đối tượng O, trong đó tập x 1 , ..., x k   M(O) là một tập biến đang được quan tâm xem xét của đối tượng O. - Tiểu luận môn biểu diễn tri thức và suy luận TÌM HIỂU MẠNG TÍNH TOÁN VÀ CÁC ĐỐI TƯỢNG TÍNH TOÁN XÂY DỰNG ỨNG DỤNG DEMO
Hình v ẽ dưới đây biểu diễn cho một đối tượng O, trong đó tập x 1 , ..., x k   M(O) là một tập biến đang được quan tâm xem xét của đối tượng O (Trang 15)
Hình 1.4. f là một quan hệ giữa O 1  và O 2 - Tiểu luận môn biểu diễn tri thức và suy luận TÌM HIỂU MẠNG TÍNH TOÁN VÀ CÁC ĐỐI TƯỢNG TÍNH TOÁN XÂY DỰNG ỨNG DỤNG DEMO
Hình 1.4. f là một quan hệ giữa O 1 và O 2 (Trang 16)

TỪ KHÓA LIÊN QUAN

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

w