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

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

Đ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

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 đề

Chương 6: Biểu diễn tri thức sử dụng luật Nội dung Tri thức khai báo thủ tục Suy diễn tiến, suy diễn lùi Lập trình logic Giới thiệu ngôn ngữ Prolog Tri thức khai báo thủ tục Biểu diễn dạng khai báo Là dạng biểu diễn mà ñó tri thức ñược ñặc tả sử dụng không ñược nói ðể sử dụng cần bổ sung chương trình ñặc tả ñược làm với tri thức cách Ví dụ: Dạng ñặc tả: tập “logical assertion” Bộ phân giải ñược hiểu cách ñể làm việc với tập assertions Tập assertions DATA vào BỘ PHÂN GIẢI Một cách nhìn khác: tập assertions PROGRAM Ở ñó: Luật giúp cho suy diễn xảy Các ñường suy diễn khác từ START – GOAL (hay ngược lại) ñược quan niệm ñường thực thi chương trình Tri thức khai báo thủ tục (tt) Biểu diễn dạng thủ tục Là 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 tri thức ñó ðể sử dụng cần: bổ sung với thông dịch thực thi thị chứa tri thức Sự khác tri thức thủ tục khai báo nằm chổ: Thông tin ñiều khiển nằm ñâu ? Suy diễn tiến & suy diễn lùi Suy diễn tiến Cho tập luật (câu có dạng): p1 ∧ p2 ∧ … ∧ pn ⇒ q tập kiện {q,r,…} Hỏi kiện p có phải hệ tập luật tập kiện hay không? Tìm tất luật có giả thiết thuộc tập kiện Thêm kết luận vào tập kiện Tiếp tục dẫn xuất khác Suy diễn tiến & suy diễn lùi (tt) Suy diễn tiến: ví dụ Suy diễn tiến & suy diễn lùi (tt) Suy diễn tiến: ví dụ Suy diễn tiến & suy diễn lùi (tt) Suy diễn lùi Cho tập luật (câu có dạng): p1 ∧ p2 ∧ … ∧ pn ⇒ q tập kiện {q,r,…} Hỏi kiện p có phải hệ tập luật tập kiện hay không? Kiểm tra xem p có thuộc tập kiện hay không Nếu không tìm tất luật có kết luận p Nếu giả thiết luật hội, tiếp tục thủ tục (ñệ quy) với thứa số phép hội Suy diễn tiến & suy diễn lùi (tt) Suy diễn lùi : ví dụ Suy diễn tiến & suy diễn lùi (tt) Suy diễn lùi : ví dụ 10 Chương trình Prolog mẫu domains nguoi = string predicates cha(nguoi,nguoi) me(nguoi,nguoi) ong_noi(nguoi,nguoi) ong_ngoai(nguoi,nguoi) clauses /*cac qui tac */ ong_noi(X,Y):- cha(X,Z),cha(Z,Y) ong_ngoai(X,Y):- cha(X,Z),me(Z,Y) /* cac su kien */ cha(nam,minh) cha(minh,lam) cha(long,giang) cha(long,thu) me(thu,phi) 13 Phần domains : miền xác ñịnh Là phần ñịnh nghĩa kiểu dựa vào kiểu ñã biết Cú pháp ñịnh nghĩa kiểu = = Trong ñó kiểu phân cách dấu «,», kiểu ñã biết phân cách dấu «;» 14 Phần domains (tt) VD 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) 15 Phần Predicates : vị từ Là phần bắt buộc phải có Phần predicates cần phải khai báo ñầy ñủ vị từ sử dụng phần Clauses Cú pháp () Các kiểu ñược phân cách «,» VD Predicates so_huu (ten, do_vat) so_nguyen_to(integer) 16 Phần Clauses : luật Là phần bắt buộc phải có, dùng ñể mô tả kiện luật Sử dụng vị từ ñã khai báo phần predicates Cú pháp () () ……… () 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ừ) 17 Phần Clauses (tt) VD Clauses so_nguyen_to(2):-! so_nguyen_to(N):-N>0, so_nguyen_to(M), M0, so_nguyen_to(M), M0,M = N–1, facto(M, Z), Y=N*Z 24 Các hàm xuất nhập chuẩn Xuất hình write( Arg1, Arg2, … ,Argn) in hình giá trị ñối số writef(ñinh_dang, Arg1, Arg2, … ,Argn) in hình giá trị ñối số theo ñịnh_dạng Các ñịnh_dạng “%d”: In số thập phân bình thường; ñối số phải char integer “%c”: ðối số số integer, in ký tự có mã Ascci ñối số ñó, chẳng hạn writef(“%c”,65) ñược A “%e”: In số thực dạng lũy thừa 10 “%x”: In số Hexa; ñối số phải char integer “%s”: In chuỗi symbol 25 Các hàm xuất nhập chuẩn (tt) Nhập vào từ bàn phím Readln(X): Nhập chuỗi ký tự vào biến X ReadInt(X): Nhập số nguyên vào biến X ReadReal(X): Nhập số thực vào biến X ReadChar(X): Nhập vào ký tự vào biến X 26 Ví dụ … Tháp Hà nội Người nông dân Random … 27 [...]... số Hexa; ñối số phải là char hoặc integer “%s”: In một chuỗi hoặc một symbol 25 Các hàm xuất nhập chuẩn (tt) Nhập vào từ bàn phím 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 26 Ví dụ … Tháp Hà nội Người nông dân Random … 27 ... Clauses : luật Là phần bắt buộc phải có, dùng ñể mô tả các sự kiện và các luật Sử dụng các vị từ ñã khai báo trong phần predicates Cú pháp () () ……… () 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ừ) 17 Phần Clauses (tt)... ñịnh nghĩa sẵn: char,integer, real string và symbol char: ký tự, hằng phải nằm trong dấu nháy: ‘a’, ‘#’ integer: -32768 ñến 32767 real: số thực string: chuỗi ký tự, hằng chuỗi ký tự nằm trong dấu nháy kép; ”prolog” 22 Kiểu do người dùng ñịnh nghĩa Kiểu mẩu tin Cú pháp = 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... 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 11 Giới thiệu về ngôn ngữ Prolog Cấu trúc chương trình (tt) Domains /* domain... 14 Phần domains (tt) VD 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) 15 Phần Predicates : vị từ Là phần bắt buộc phải có Phần predicates cần phải khai báo ñầy ñủ các vị từ sử dụng trong phần Clauses Cú pháp ()... 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) 23 Kỹ thuật ñệ quy Sử dụng ñệ quy khi một vị từ ñược ñịnh nghĩa nhờ vào chính vị từ ñó Trường hợp dừng ñược thể hiện bằng một sự kiện VD Predicates Facto (integer, integer) Clauses Facto(0,1):- ! Facto(N, Y) :- N>0,M = N–1, facto(M, Z), Y=N*Z 24... Clauses so_nguyen_to(2):-! so_nguyen_to(N):-N>0, so_nguyen_to(M), M ... chương trình Tri thức khai báo thủ tục (tt) Biểu diễn dạng thủ tục Là 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 tri thức ñó ðể sử dụng cần: bổ...Nội dung Tri thức khai báo thủ tục Suy diễn tiến, suy diễn lùi Lập trình logic Giới thiệu ngôn ngữ Prolog Tri thức khai báo thủ tục Biểu diễn dạng khai báo Là dạng biểu diễn mà ñó tri thức ñược... luận vào tập kiện Tiếp tục dẫn xuất khác Suy diễn tiến & suy diễn lùi (tt) Suy diễn tiến: ví dụ Suy diễn tiến & suy diễn lùi (tt) Suy diễn tiến: ví dụ Suy diễn tiến & suy diễn lùi (tt) Suy diễn

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan