1. Trang chủ
  2. » Công Nghệ Thông Tin

Biểu diễn tri thức và sử dụng mệnh đề

27 318 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 27
Dung lượng 240,99 KB

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

Nội dung

Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề Biểu diễn tri thức và sử dụng mệnh đề

Trang 1

Bi ể u di ễ n tri th ứ c và s ử

d ụ ng lu ậ t

Trang 2

N ộ i dung

 Tri thức khai báo và thủ tục

 Suy diễn tiến, suy diễn lùi

 Lập trình logic

Trang 3

Tri th ứ c khai báo và th ủ t ụ c

 Là một dạng biểu diễn mà ở ñó tri thức ñược ñặc tả nhưng sự sử dụng nó không ñược nói ra.

 ðể sử dụng nó cần bổ sung một chương trình ñặc tả cái gì sẽ

ñược làm với tri thức và bằng cách nào

 Ví dụ:

 Bộ phân giải có thể ñược hiểu như là cách ñể làm việc với tập assertions trên.

 Tập assertions như là DATA vào BỘ PHÂN GIẢI.

 Một cách nhìn khác: tập assertions trên như là một PROGRAM

Ở ñó: Luật giúp cho sự suy diễn xảy ra Các con ñường suy diễn

khác nhau từ START – GOAL (hay ngược lại) ñược quan niệm như con ñường thực thi trong chương trình.

Trang 4

Tri th ứ c khai báo và th ủ t ụ c (tt)

 Là một dạng biểu diễn mà thông tin ñiều khiển cần

thiết cho việc sử dụng tri thức ñược nhúng vào chính tri thức ñó

 ðể sử dụng cần: bổ sung nó với một bộ thông dịch có

thể thực thi các chỉ thị chứa trong tri thức

 Sự khác nhau cơ bản giữa tri thức thủ tục và khai báo nằm ở chổ: Thông tin ñiều khiển nằm ở ñâu ?

Trang 5

Suy di ễ n ti ế n & suy di ễ n lùi

 Suy diễn tiến

 Cho một tập luật (câu có dạng): p1 ∧ p2 ∧ … ∧ pn ⇒ q

và một tập các sự kiện {q,r,…}

 Hỏi một sự kiện p có phải là một hệ quả của tập luật và

tập sự kiện hay không?

 Tìm tất cả các luật có giả thiết thuộc tập các sự kiện

 Thêm kết luận vào tập các sự kiện

 Tiếp tục các dẫn xuất khác

Trang 6

Suy di ễ n ti ế n & suy di ễ n lùi (tt)

 Suy diễn tiến: ví dụ

Trang 7

Suy di ễ n ti ế n & suy di ễ n lùi (tt)

 Suy diễn tiến: ví dụ

Trang 8

Suy di ễ n ti ế n & suy di ễ n lùi (tt)

 Suy diễn lùi

 Cho một tập luật (câu có dạng): p1 ∧ p2 ∧ … ∧ pn ⇒ q

và một tập các sự kiện {q,r,…}

 Hỏi một sự kiện p có phải là một hệ quả của tập luật và

tập sự kiện hay không?

 Kiểm tra xem p có thuộc tập các sự kiện hay không

 Nếu không tìm tất cả các luật có kết luận là p

 Nếu giả thiết của các luật này là một hội, tiếp tục thủ tục (ñệ quy) với từng thứa số của phép hội

Trang 9

Suy di ễ n ti ế n & suy di ễ n lùi (tt)

 Suy diễn lùi : ví dụ

Trang 10

Suy di ễ n ti ế n & suy di ễ n lùi (tt)

 Suy diễn lùi : ví dụ

Trang 11

Gi ớ i thi ệ u v ề ngôn ng ữ Prolog

 Ngôn ngữ Prolog là ngôn ngữ lập trình suy luận trên cơ

sở tóan học logic ñể giải quyết các bài tóan trong lĩnh vực trí tuệ nhân tạo

 ðặc ñiểm của ngôn ngữ là xử lý tri thức của các bài

tóan ñược mã hóa bằng ký hiệu

 Một ñiểm mạnh khác của ngôn ngữ là xử lý danh sách trên cơ sở xử lý song song và ñệ qui với các thuật tóan tìm kiếm

 Ngôn ngữ cho phép liên kết với các ngôn ngữ khác như

C, Pascal và Assempler

Trang 12

Gi ớ i thi ệ u v ề ngôn ng ữ Prolog

Trang 14

Ph ầ n domains : mi ề n xác ñị nh

biết

 <DS kiểu mới> = <kiểu ñã biết> hoặc

 <DS kiểu mới> = <DS kiểu ñã biết>

Trong ñó các kiểu mới phân cách bởi dấu «,», các kiểu ñã biết phân cách bởi dấu «;»

Trang 15

Ph ầ n domains (tt)

Domains

ten, tac_gia, nha_xb, dia_chi = string

nam, thang, so_luong = integer

dien_tich = real

nam_xb = nxb(thang, nam)

do_vat = sach(tac_gia, ten, nha_xb, nam_xb); xe(ten,

so_luong); nha(dia_chi, dien_tich)

Trang 16

<Tên vị từ> (<danh sách các kiểu>)

Các kiểu ñược phân cách nhau bởi «,»

Predicates

so_huu (ten, do_vat)

Trang 17

<Tên vị từ>(<danh sách các tham số>) <kí hiệu>

<Tên vị từ 1>(<danh sách các tham số 1>) <kí hiệu>

………

<Tên vị từ N>(<danh sách các tham số N>) <kí hiệu>

Các ký hiệu bao gồm :- (ñiều kiện nếu);

, (ñiều kiện và)

; (ñiều kiện hoặc)

(kết thúc vị từ)

Trang 19

Ph ầ n goal

ñịnh và tìm kết quả

 Nếu ñược viết sẵn trong CT thì ñó gọi là goal nội; Nếu không, khi chạy CT Prolog sẽ yêu cầu ta

nhập goal vào, goal ngoại

 Constants

 Pi = 3.141592653

Trang 20

VD ch ươ ng trình prolog

domainsso_nguyen = integerpredicates

so_nguyen_to(so_nguyen)Clauses

so_nguyen_to(2):-!

so_nguyen_to(N):-N>0,so_nguyen_to(M),

M<N,

N MOD M <>0

goal

Trang 21

 Trace: Khi có từ khoá này ở ñầu chương trình, thì

chương trình ñược thực hiện từng bước ñể theo dõi

 Fail: Khi ta dùng goal nội, ñể nhận về tất cả các kết quả khi chạy goal nội, ta dùng toán tử Fail

 ! hay còn gọi là nhát cắt, nhận chỉ một kết quả từ goal ngoại, ta dùng ký hiệu !

Trang 23

Ki ể u do ng ườ i dùng ñị nh ngh ĩ a

 Cú pháp <tên kiểu mẩu tin> = tên mẩu tin (danh sách các kiểu phần tử)

Domains

ten, tac_gia, nha_xb, dia_chi = string

nam, thang, so_luong = integer

dien_tich = real

nam_xb = nxb(thang, nam)

Trang 25

chẳng hạn writef(“%c”,65) ñược A

Trang 26

Các hàm xu ấ t nh ậ p chu ẩ n (tt)

 Readln(X): Nhập một chuỗi ký tự vào biến X

 ReadInt(X): Nhập một số nguyên vào biến X

 ReadReal(X): Nhập một số thực vào biến X

 ReadChar(X): Nhập vào một ký tự vào biến X

Ngày đăng: 08/12/2016, 15:21

TỪ KHÓA LIÊN QUAN

w