SlideShare ist ein Scribd-Unternehmen logo
1 von 24
BÁO CÁO
HỆ CƠ SỞ TRI THỨC
ĐỀ TÀI: NGÔN NGữ JESS
NỘI DUNG TRÌNH BÀY
• Sơ lược về Jess
• Biểu diễn tri thức
• Động cơ suy diễn
• Giải quyết xung đột
SƠ LƯỢC VỀ JESS
• Jess là viết tắt của Java Expert System Shell
• Jess là một công cụ quy tắc ra đời vào năm 1995 được viết
hoàn toàn bằng Java dựa trên nền tảng của Clip bởi Ernest
Friedman-Hill tại Sandia National Laboratories ở Canada
• Jess thích hợp với Java: có thể gọi hàm API Java từ Jess và
ngược lại.
• Jess là một phiên bản nâng cao của thuật toán RETE.
SƠ LƯỢC VỀ JESS
Jess là một công cụ hệ thống chuyên gia bởi vì nó là một môi trường
hoàn chỉnh cho phát triển hệ thống chuyên gia bao gồm: một trình soạn
thảo tích hợp và một công cụ gỡ rối.
Jess sử dụng cú pháp giống như Lisp sử dụng dấu ngoặc đơn thay dấu
phân cách.
Cấu trúc dữ liệu cơ bản là danh sách.
Có thể truy cập JavaBean
Tri thức được biểu diễn theo dạng IF-THEN
SƠ ĐỒ KIẾN TRÚC JESS

W
ORKING
MEMORY

INFER
ENCE
ENGINE

PATTER
MATCHER

RULE
BASE
AGENDA

EXECUTION
ENGINE
CÁC KHÁI NIệM CƠ BảN
atom ký tự, số và $*=+/<>_?#. Trường hợp ngoại lệ số, chuỗi ký tự, comments (;)
3 atom đặc biệt là nil, true, false
lists đơn vị cơ bản của cú pháp trong Jess( a b c),
variables (?) + atoms : ?x
multivariable $+ variable: $?y
(defrule example
(grocery-list $?list) => (printout t "i need to buy " $?list crlf))
jess> (assert (grocery-list eggs milk bacon))
global variable : ?*x* or ?*all-values*
BIẾN VÀ DANH SÁCH

• Tất cả là danh sách trong Jess
• Ví dụ: cộng 2 số
• (bind ?x 2) ; assign x = 2
• (bind ?y 3) ; assign y = 3
• (bind ?result (+ ?x ?y)) ; find
sum

DANH SÁCH HỢP LỆ TRONG JESS

• (a b c) ; list of tokens
• (1 2 3) ; list of integers
• (+ 2 3) ; an expression
• (“hello world!”) ; a string
• (foo ?x ?y) ; a function call
HÀM
Hàm là một đoạn mã thực thi xác định bởi một tên cụ thể, mà trả về
một giá trị hữu ích hoặc thực hiện một hiệu ứng phụ hữu ích
(deffunction get-input()
“get user input from console.”
//được người dùng nhập vào từ giao diện điều khiển
(bind ?s (read))
(return ?s))
(printout )// lệnh xuất ra
BIểU DIễN Sự KIệN TRONG JESS
(Bộ NHớ LÀM VIệC)
• Sự kiện trong Jess được biểu diễn bằng bộ ba: O-A-V (Đối tượng –
Thuộc tính – Giá trị)
• Một đối tượng có thể có một hoặc nhiều thuộc tính với các kiểu giá
trị khác nhau
• Một thuộc tính cũng có thể có một hay nhiều giá trị. Chúng được gọi
là các sự kiện đơn trị (single -valued) hay đa trị (multi-valued)
=> Linh động trong việc biểu diễn các tri thức cần thiết
LẬP LUẬN KHẲNG ĐỊNH

LẬP LUẬN MỜ

• Lập luận mờ không sắp xếp
• Cơ sở lập luận lưu trữ các điều
các lập luận có vùng tương
kiện ban đầu
ứng với các thuộc tính của
;; Asserting a new
“pattern” fact.
JavaBean
(printout t “enter
• defclass – tạo ra
pattern name:” crlf)
1deftemplate từ 1 bean.
(bind ?x getinput)
(assert pattern (name ? • definstance – thêm 1
bean vào bộ nhớ làm việc.
x))
BIỂU DIỄN TRI THỨC
Luật/Quy tắc: chủ yếu dành cho kiến thức heuristic dựa trên kinh
nghiệm
Hàm: dành cho kiến thức thủ tục
Lập trình hướng đối tượng: chủ yếu dành cho kiến thức thủ tục. Các
tính năng được hỗ trợ: lớp, thông điệp xử lý, trừu tượng, đóng gói,
thừa kế và đa hình.
ĐỘNG CƠ SUY DIỄN
Pattern matcher(tương hợp mẫu): quyết định quy tắc
nào/khi nào để khai hỏa.
Agenda: Thứ tự quy tắc được khai hỏa
Công cụ thực thi: Khai hỏa quy tắc và thực thi code
QUÁ TRÌNH SUY DIỄN
So khớp các điều kiện với các quy tắc
Chọn quy tắc để khai hỏa
Thực thi các hành động liên quan đến quy tắc
ĐộNG CƠ SUY DIỄN
Jess hỗ trợ 2 cơ chế suy diễn là suy diễn tiến và suy diễn lùi
Trên thực tế thì suy diễn tiến được sử dụng phổ biến hơn
 Suy diễn tiến
o Khi tất cả các tiền đề được thỏa thì hành động sẽ được kích hoạt.
Ví dụ:
J
ess> (assert (human Socrates))
J
ess> (defrule mortal (human ?X)
=>
(assert (mortal ?X)))
J
ess> (watch facts)
J
ess> (run)
==> f-1 (MAIN::mortal Socrates) 1
ĐỘNG CƠ SUY DIỄN
 Suy diễn lùi
o Phương pháp suy diễn lùi không tường minh cho người lập trình.
 Chỉ có các luật đặc biệt được định nghĩa mới sử dụng được suy diễn lùi.
 Thường được dùng để kéo dữ liệu vào Jess từ một cơ sở dữ liệu yêu cầu.
 Để sử dụng cơ chế suy diễn lùi trong Jess trước tiên phải khai báo các mẫu sự kiện
để phản ứng suy diễn lùi sử dụng hàm do-backward-chaining.
 Khai báo các luật sau cho phù hợp với các sự kiện.
 Khá phức tạp.
JESS LÀM VIỆC NHƯ THẾ NÀO?
• Jess so khớp sự kiện trên cơ sở quy tắc
• Các quy tắc chứa các lời gọi hàm thao tác trên cơ sở
thực tế and/or khác Java code
• So khớp các mẫu
• Một tập các nút kết nối lại = bộ nhớ làm việc
ĐIỀU KHIỂN LUỒNG
• Thường gặp

• Đặc trưng Jess

foreach

apply

if/then/else

build

while

eval
progn
DEFTEMPLATE
• Được sử dụng để định nghĩa cơ sở lập luận
(deftemplate
pattern “a design pattern.”
(slot name)
(slot type (default “creation”))
(slot intent)
(slot solution))
LUẬT/ QUY TẮC
• Là những cơ sở tri thức của hệ thống có thể thực hiện hành động
dựa trên nội dung của sự kiện
• Khai hỏa chỉ một lần trên tập các cơ sở lập luận
• Sử dụng mô hình ràng buộc để phù hợp cơ sở lập luận
• Sử dụng nhanh hơn câu lệnh If<điều kiện>-Then<Hành động>
CÚ PHÁP ĐỂ BIỂU DIỄN QUY TẮC
• Luật/ quy tắc có “tay trái” (LHS) và “tay phải” (RHS)
• LHS chứa các cơ sở lập luận phù hợp với vùng nhất định
• RHS chứa các lời gọi hàm
• ĐƠN GIẢN
• Kiểm tra trạng thái bộ nhớ làm việc
;; a not very useful error handler
(defrule report-error
(error-is-present)
=>
(printout t “there is an error”
crlf))

• PHỨC TẠP
Sử dụng các ràng buộc trong mô hình quy tắc
;; a more useful error handler
(defrule report-err
?err <- (is-error (msg ?msg))
=>
(printout t "error was: " ?msg
crlf)
(retract ?err))
MẪU VÀ CÔNG CỤ ĐIỀU KHIỂN
Matching
•Literal / ràng buộc biến
•Kiểm tra điều kiện Logic
•Vị từ

Cấu trúc và điều khiển
•Salience
•Modules
•Defquery
•Dây chuyền lùi
AGENDA
• Chứa tập các quy tắc ưu tiên
• Jess thực hiện các hành động ở bên phải của các ưu tiên cao
nhất. Quá trình này tiếp tục cho đến khi không được kích hoạt
hoặc gặp 1 lệnh dừng lại.
jess> (agenda)
[activation: main::duck f-0 ; time=2 ; salience=0]
for a total of 1 activations.
jess>
• Mỗi luật chỉ được khai hỏa 1 lần
GIẢI QUYẾT XUNG ĐỘT
Jess cung cấp 2 chế độ khác nhau để giải quyết xung đột :
• Độ sâu(LIFO): các luật gần nhất sẽ được “khai hỏa” trước.
• Chiều rộng(FIFO): các luật được “khai hỏa” theo một trật tự
nó được kích hoạt.
ƯU NHƯợC ĐIểM
Ưu điểm
• Dễ dàng mở rộng với các lệnh mới
• Dễ học và sử dụng
• Jess nhanh hơn một số hệ thống shell chuyên gia viết bằng C
• Jess có môi trường mã Java

JESS

Nhược điểm
• Đòi hỏi không gian bộ nhớ lớn

call

Java
CảM ƠN THầY VÀ CÁC BạN ĐÃ LắNG
NGHE!

Weitere ähnliche Inhalte

Was ist angesagt?

Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbotleeminhpark
 
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...https://www.facebook.com/garmentspace
 
Hướng dẫn sử dụng phần mềm Arcgis Arcmap Destop
Hướng dẫn sử dụng phần mềm Arcgis Arcmap DestopHướng dẫn sử dụng phần mềm Arcgis Arcmap Destop
Hướng dẫn sử dụng phần mềm Arcgis Arcmap DestopThiều Nem
 
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gponKhoa Nguyen
 
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonBáo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonjackjohn45
 
Xây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdf
Xây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdfXây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdf
Xây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdfMan_Ebook
 
Bài giảng: XỬ LÝ TÍN HIỆU SỐ
Bài giảng: XỬ LÝ TÍN HIỆU SỐ Bài giảng: XỬ LÝ TÍN HIỆU SỐ
Bài giảng: XỬ LÝ TÍN HIỆU SỐ nataliej4
 
ĐIều khiển thông minh
ĐIều khiển thông minhĐIều khiển thông minh
ĐIều khiển thông minhMan_Ebook
 
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...jackjohn45
 
TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...
TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...
TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...lamluanvan.net Viết thuê luận văn
 
Luận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAY
Luận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAYLuận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAY
Luận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAYViết thuê trọn gói ZALO 0934573149
 
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdfĐiều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdfMan_Ebook
 
Giai thuat va lap trinh - LE MINH HOANG
Giai thuat va lap trinh - LE MINH HOANGGiai thuat va lap trinh - LE MINH HOANG
Giai thuat va lap trinh - LE MINH HOANGNguyen Tuan
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 

Was ist angesagt? (20)

Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbot
 
Giaotrinhthietketopsolid
GiaotrinhthietketopsolidGiaotrinhthietketopsolid
Giaotrinhthietketopsolid
 
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
Khóa luận tốt nghiệp Phân tích, thiết kế hệ thống thông tin quản lý nhân sự t...
 
Đề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đĐề tài: Tổng quan về mobile robot, HAY, 9đ
Đề tài: Tổng quan về mobile robot, HAY, 9đ
 
Hướng dẫn sử dụng phần mềm Arcgis Arcmap Destop
Hướng dẫn sử dụng phần mềm Arcgis Arcmap DestopHướng dẫn sử dụng phần mềm Arcgis Arcmap Destop
Hướng dẫn sử dụng phần mềm Arcgis Arcmap Destop
 
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
85898174 mạng-truy-nhập-quang-đến-thue-bao-gpon
 
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonBáo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
 
Xây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdf
Xây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdfXây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdf
Xây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu.pdf
 
Bài giảng: XỬ LÝ TÍN HIỆU SỐ
Bài giảng: XỬ LÝ TÍN HIỆU SỐ Bài giảng: XỬ LÝ TÍN HIỆU SỐ
Bài giảng: XỬ LÝ TÍN HIỆU SỐ
 
ĐIều khiển thông minh
ĐIều khiển thông minhĐIều khiển thông minh
ĐIều khiển thông minh
 
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, 9đ
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, 9đLuận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, 9đ
Luận văn: Nghiên cứu hệ thống trợ lý thông minh ảo, 9đ
 
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
 
TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...
TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...
TẠO ĐỘNG LỰC LÀM VIỆC CHO NHÂN VIÊN SẢN XUẤT TẠI CÔNG TY TRÁCH NHIỆM HỮU HẠN ...
 
Đề tài: Chế tạo hệ thống xác định chướng ngại vật trên xe, HOT
Đề tài: Chế tạo hệ thống xác định chướng ngại vật trên xe, HOTĐề tài: Chế tạo hệ thống xác định chướng ngại vật trên xe, HOT
Đề tài: Chế tạo hệ thống xác định chướng ngại vật trên xe, HOT
 
Luận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAY
Luận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAYLuận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAY
Luận văn: Nâng cao sự gắn kết nhân viên nòng cốt công ty KPMG, HAY
 
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdfĐiều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
Điều khiển cánh tay Robot học lệnh gắp sản phẩm trên băng chuyền.pdf
 
Khóa luận công tác quản trị nguồn nhân lực tại công ty Xây dựng.docx
Khóa luận công tác quản trị nguồn nhân lực tại công ty Xây dựng.docxKhóa luận công tác quản trị nguồn nhân lực tại công ty Xây dựng.docx
Khóa luận công tác quản trị nguồn nhân lực tại công ty Xây dựng.docx
 
Giai thuat va lap trinh - LE MINH HOANG
Giai thuat va lap trinh - LE MINH HOANGGiai thuat va lap trinh - LE MINH HOANG
Giai thuat va lap trinh - LE MINH HOANG
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Luận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOT
Luận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOTLuận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOT
Luận văn: Kỹ thuật đối sánh hình dạng sử dụng đặc trưng, HOT
 

Andere mochten auch

10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_in10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_inCindy Celen
 
Pechakucha
PechakuchaPechakucha
Pechakuchamerioso
 
109765054 best-global-brands-2012
109765054 best-global-brands-2012109765054 best-global-brands-2012
109765054 best-global-brands-20127875240414
 
Progress update please do not remove
Progress update   please do not removeProgress update   please do not remove
Progress update please do not removeamberaley
 
DES134 Introduction to interaction design techniques
DES134 Introduction to interaction design techniquesDES134 Introduction to interaction design techniques
DES134 Introduction to interaction design techniquesTasha_x3
 
WIPJam Cross Platform Tools - Dec 2013
WIPJam   Cross Platform Tools - Dec 2013WIPJam   Cross Platform Tools - Dec 2013
WIPJam Cross Platform Tools - Dec 2013Mark Arteaga
 
Task 1 - Research
Task 1 - ResearchTask 1 - Research
Task 1 - Researchniksssp
 
10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_in10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_inCindy Celen
 
Examen pracial x paul
Examen pracial x paulExamen pracial x paul
Examen pracial x paulluisangelbar
 
Tylor's family story
Tylor's family storyTylor's family story
Tylor's family storycindysha
 
Art&Fashion #3 | Métodos & Práticas de um COOLHUNTER
Art&Fashion #3 | Métodos & Práticas de um COOLHUNTERArt&Fashion #3 | Métodos & Práticas de um COOLHUNTER
Art&Fashion #3 | Métodos & Práticas de um COOLHUNTERartefashion
 

Andere mochten auch (20)

Task 6
Task 6Task 6
Task 6
 
10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_in10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_in
 
Pechakucha
PechakuchaPechakucha
Pechakucha
 
101 no qa
101 no qa101 no qa
101 no qa
 
109765054 best-global-brands-2012
109765054 best-global-brands-2012109765054 best-global-brands-2012
109765054 best-global-brands-2012
 
Task 7
Task 7Task 7
Task 7
 
Dalla ragionenicoletta 2012-13_es3a
Dalla ragionenicoletta 2012-13_es3aDalla ragionenicoletta 2012-13_es3a
Dalla ragionenicoletta 2012-13_es3a
 
Task 6
Task 6Task 6
Task 6
 
The diary of William Smitherson
The diary of William SmithersonThe diary of William Smitherson
The diary of William Smitherson
 
Ppt media
Ppt mediaPpt media
Ppt media
 
Sebastian 9 4
Sebastian 9 4Sebastian 9 4
Sebastian 9 4
 
Progress update please do not remove
Progress update   please do not removeProgress update   please do not remove
Progress update please do not remove
 
DES134 Introduction to interaction design techniques
DES134 Introduction to interaction design techniquesDES134 Introduction to interaction design techniques
DES134 Introduction to interaction design techniques
 
WIPJam Cross Platform Tools - Dec 2013
WIPJam   Cross Platform Tools - Dec 2013WIPJam   Cross Platform Tools - Dec 2013
WIPJam Cross Platform Tools - Dec 2013
 
Task 1 - Research
Task 1 - ResearchTask 1 - Research
Task 1 - Research
 
10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_in10 stappen naar_een_perfect_profiel_op_linked_in
10 stappen naar_een_perfect_profiel_op_linked_in
 
Examen pracial x paul
Examen pracial x paulExamen pracial x paul
Examen pracial x paul
 
Tylor's family story
Tylor's family storyTylor's family story
Tylor's family story
 
Art&Fashion #3 | Métodos & Práticas de um COOLHUNTER
Art&Fashion #3 | Métodos & Práticas de um COOLHUNTERArt&Fashion #3 | Métodos & Práticas de um COOLHUNTER
Art&Fashion #3 | Métodos & Práticas de um COOLHUNTER
 
Task 1
Task 1Task 1
Task 1
 

Ähnlich wie Báo cáo Jess(Java Expert System Shell)

Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_javaLam Man
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcmHong Phuoc Nguyen
 
LTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.pptLTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.pptssuserf603dc1
 
Tài liệu Lập trình Zend Framework 2.x
Tài liệu Lập trình Zend Framework 2.xTài liệu Lập trình Zend Framework 2.x
Tài liệu Lập trình Zend Framework 2.xZendVN
 
Speaker nguyen son tung search tuning
Speaker nguyen son tung   search tuningSpeaker nguyen son tung   search tuning
Speaker nguyen son tung search tuningAiTi Education
 
Rtos 3 semaphore vs mutex
Rtos 3 semaphore vs mutexRtos 3 semaphore vs mutex
Rtos 3 semaphore vs mutexAnhTT8
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượngHưởng Nguyễn
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7Hoang le Minh
 
OOP_02_Java can ban.pdf
OOP_02_Java can ban.pdfOOP_02_Java can ban.pdf
OOP_02_Java can ban.pdfssuserd01a5c
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoTráng Hà Viết
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPelearninglabvn
 

Ähnlich wie Báo cáo Jess(Java Expert System Shell) (16)

Java Tieng Viet
Java Tieng VietJava Tieng Viet
Java Tieng Viet
 
Ky thuat l.trinh_java
Ky thuat l.trinh_javaKy thuat l.trinh_java
Ky thuat l.trinh_java
 
[Cntt] all java
[Cntt] all java[Cntt] all java
[Cntt] all java
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 
LTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.pptLTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.ppt
 
Tài liệu Lập trình Zend Framework 2.x
Tài liệu Lập trình Zend Framework 2.xTài liệu Lập trình Zend Framework 2.x
Tài liệu Lập trình Zend Framework 2.x
 
Bai08 lap trinhtongquat
Bai08 lap trinhtongquatBai08 lap trinhtongquat
Bai08 lap trinhtongquat
 
Speaker nguyen son tung search tuning
Speaker nguyen son tung   search tuningSpeaker nguyen son tung   search tuning
Speaker nguyen son tung search tuning
 
Rtos 3 semaphore vs mutex
Rtos 3 semaphore vs mutexRtos 3 semaphore vs mutex
Rtos 3 semaphore vs mutex
 
Lappj trình hướng đối tượng
Lappj trình hướng đối tượngLappj trình hướng đối tượng
Lappj trình hướng đối tượng
 
Java
JavaJava
Java
 
Qtu.vn sql - chuong 7
Qtu.vn  sql - chuong 7Qtu.vn  sql - chuong 7
Qtu.vn sql - chuong 7
 
OOP_02_Java can ban.pdf
OOP_02_Java can ban.pdfOOP_02_Java can ban.pdf
OOP_02_Java can ban.pdf
 
Oop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng caoOop unit 05 một số kỹ thuật java nâng cao
Oop unit 05 một số kỹ thuật java nâng cao
 
Web201 slide 3
Web201   slide 3Web201   slide 3
Web201 slide 3
 
E learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHPE learning lab - Tim hieu Cake PHP
E learning lab - Tim hieu Cake PHP
 

Báo cáo Jess(Java Expert System Shell)

  • 1. BÁO CÁO HỆ CƠ SỞ TRI THỨC ĐỀ TÀI: NGÔN NGữ JESS
  • 2. NỘI DUNG TRÌNH BÀY • Sơ lược về Jess • Biểu diễn tri thức • Động cơ suy diễn • Giải quyết xung đột
  • 3. SƠ LƯỢC VỀ JESS • Jess là viết tắt của Java Expert System Shell • Jess là một công cụ quy tắc ra đời vào năm 1995 được viết hoàn toàn bằng Java dựa trên nền tảng của Clip bởi Ernest Friedman-Hill tại Sandia National Laboratories ở Canada • Jess thích hợp với Java: có thể gọi hàm API Java từ Jess và ngược lại. • Jess là một phiên bản nâng cao của thuật toán RETE.
  • 4. SƠ LƯỢC VỀ JESS Jess là một công cụ hệ thống chuyên gia bởi vì nó là một môi trường hoàn chỉnh cho phát triển hệ thống chuyên gia bao gồm: một trình soạn thảo tích hợp và một công cụ gỡ rối. Jess sử dụng cú pháp giống như Lisp sử dụng dấu ngoặc đơn thay dấu phân cách. Cấu trúc dữ liệu cơ bản là danh sách. Có thể truy cập JavaBean Tri thức được biểu diễn theo dạng IF-THEN
  • 5. SƠ ĐỒ KIẾN TRÚC JESS W ORKING MEMORY INFER ENCE ENGINE PATTER MATCHER RULE BASE AGENDA EXECUTION ENGINE
  • 6. CÁC KHÁI NIệM CƠ BảN atom ký tự, số và $*=+/<>_?#. Trường hợp ngoại lệ số, chuỗi ký tự, comments (;) 3 atom đặc biệt là nil, true, false lists đơn vị cơ bản của cú pháp trong Jess( a b c), variables (?) + atoms : ?x multivariable $+ variable: $?y (defrule example (grocery-list $?list) => (printout t "i need to buy " $?list crlf)) jess> (assert (grocery-list eggs milk bacon)) global variable : ?*x* or ?*all-values*
  • 7. BIẾN VÀ DANH SÁCH • Tất cả là danh sách trong Jess • Ví dụ: cộng 2 số • (bind ?x 2) ; assign x = 2 • (bind ?y 3) ; assign y = 3 • (bind ?result (+ ?x ?y)) ; find sum DANH SÁCH HỢP LỆ TRONG JESS • (a b c) ; list of tokens • (1 2 3) ; list of integers • (+ 2 3) ; an expression • (“hello world!”) ; a string • (foo ?x ?y) ; a function call
  • 8. HÀM Hàm là một đoạn mã thực thi xác định bởi một tên cụ thể, mà trả về một giá trị hữu ích hoặc thực hiện một hiệu ứng phụ hữu ích (deffunction get-input() “get user input from console.” //được người dùng nhập vào từ giao diện điều khiển (bind ?s (read)) (return ?s)) (printout )// lệnh xuất ra
  • 9. BIểU DIễN Sự KIệN TRONG JESS (Bộ NHớ LÀM VIệC) • Sự kiện trong Jess được biểu diễn bằng bộ ba: O-A-V (Đối tượng – Thuộc tính – Giá trị) • Một đối tượng có thể có một hoặc nhiều thuộc tính với các kiểu giá trị khác nhau • Một thuộc tính cũng có thể có một hay nhiều giá trị. Chúng được gọi là các sự kiện đơn trị (single -valued) hay đa trị (multi-valued) => Linh động trong việc biểu diễn các tri thức cần thiết
  • 10. LẬP LUẬN KHẲNG ĐỊNH LẬP LUẬN MỜ • Lập luận mờ không sắp xếp • Cơ sở lập luận lưu trữ các điều các lập luận có vùng tương kiện ban đầu ứng với các thuộc tính của ;; Asserting a new “pattern” fact. JavaBean (printout t “enter • defclass – tạo ra pattern name:” crlf) 1deftemplate từ 1 bean. (bind ?x getinput) (assert pattern (name ? • definstance – thêm 1 bean vào bộ nhớ làm việc. x))
  • 11. BIỂU DIỄN TRI THỨC Luật/Quy tắc: chủ yếu dành cho kiến thức heuristic dựa trên kinh nghiệm Hàm: dành cho kiến thức thủ tục Lập trình hướng đối tượng: chủ yếu dành cho kiến thức thủ tục. Các tính năng được hỗ trợ: lớp, thông điệp xử lý, trừu tượng, đóng gói, thừa kế và đa hình.
  • 12. ĐỘNG CƠ SUY DIỄN Pattern matcher(tương hợp mẫu): quyết định quy tắc nào/khi nào để khai hỏa. Agenda: Thứ tự quy tắc được khai hỏa Công cụ thực thi: Khai hỏa quy tắc và thực thi code QUÁ TRÌNH SUY DIỄN So khớp các điều kiện với các quy tắc Chọn quy tắc để khai hỏa Thực thi các hành động liên quan đến quy tắc
  • 13. ĐộNG CƠ SUY DIỄN Jess hỗ trợ 2 cơ chế suy diễn là suy diễn tiến và suy diễn lùi Trên thực tế thì suy diễn tiến được sử dụng phổ biến hơn  Suy diễn tiến o Khi tất cả các tiền đề được thỏa thì hành động sẽ được kích hoạt. Ví dụ: J ess> (assert (human Socrates)) J ess> (defrule mortal (human ?X) => (assert (mortal ?X))) J ess> (watch facts) J ess> (run) ==> f-1 (MAIN::mortal Socrates) 1
  • 14. ĐỘNG CƠ SUY DIỄN  Suy diễn lùi o Phương pháp suy diễn lùi không tường minh cho người lập trình.  Chỉ có các luật đặc biệt được định nghĩa mới sử dụng được suy diễn lùi.  Thường được dùng để kéo dữ liệu vào Jess từ một cơ sở dữ liệu yêu cầu.  Để sử dụng cơ chế suy diễn lùi trong Jess trước tiên phải khai báo các mẫu sự kiện để phản ứng suy diễn lùi sử dụng hàm do-backward-chaining.  Khai báo các luật sau cho phù hợp với các sự kiện.  Khá phức tạp.
  • 15. JESS LÀM VIỆC NHƯ THẾ NÀO? • Jess so khớp sự kiện trên cơ sở quy tắc • Các quy tắc chứa các lời gọi hàm thao tác trên cơ sở thực tế and/or khác Java code • So khớp các mẫu • Một tập các nút kết nối lại = bộ nhớ làm việc
  • 16. ĐIỀU KHIỂN LUỒNG • Thường gặp • Đặc trưng Jess foreach apply if/then/else build while eval progn
  • 17. DEFTEMPLATE • Được sử dụng để định nghĩa cơ sở lập luận (deftemplate pattern “a design pattern.” (slot name) (slot type (default “creation”)) (slot intent) (slot solution))
  • 18. LUẬT/ QUY TẮC • Là những cơ sở tri thức của hệ thống có thể thực hiện hành động dựa trên nội dung của sự kiện • Khai hỏa chỉ một lần trên tập các cơ sở lập luận • Sử dụng mô hình ràng buộc để phù hợp cơ sở lập luận • Sử dụng nhanh hơn câu lệnh If<điều kiện>-Then<Hành động>
  • 19. CÚ PHÁP ĐỂ BIỂU DIỄN QUY TẮC • Luật/ quy tắc có “tay trái” (LHS) và “tay phải” (RHS) • LHS chứa các cơ sở lập luận phù hợp với vùng nhất định • RHS chứa các lời gọi hàm • ĐƠN GIẢN • Kiểm tra trạng thái bộ nhớ làm việc ;; a not very useful error handler (defrule report-error (error-is-present) => (printout t “there is an error” crlf)) • PHỨC TẠP Sử dụng các ràng buộc trong mô hình quy tắc ;; a more useful error handler (defrule report-err ?err <- (is-error (msg ?msg)) => (printout t "error was: " ?msg crlf) (retract ?err))
  • 20. MẪU VÀ CÔNG CỤ ĐIỀU KHIỂN Matching •Literal / ràng buộc biến •Kiểm tra điều kiện Logic •Vị từ Cấu trúc và điều khiển •Salience •Modules •Defquery •Dây chuyền lùi
  • 21. AGENDA • Chứa tập các quy tắc ưu tiên • Jess thực hiện các hành động ở bên phải của các ưu tiên cao nhất. Quá trình này tiếp tục cho đến khi không được kích hoạt hoặc gặp 1 lệnh dừng lại. jess> (agenda) [activation: main::duck f-0 ; time=2 ; salience=0] for a total of 1 activations. jess> • Mỗi luật chỉ được khai hỏa 1 lần
  • 22. GIẢI QUYẾT XUNG ĐỘT Jess cung cấp 2 chế độ khác nhau để giải quyết xung đột : • Độ sâu(LIFO): các luật gần nhất sẽ được “khai hỏa” trước. • Chiều rộng(FIFO): các luật được “khai hỏa” theo một trật tự nó được kích hoạt.
  • 23. ƯU NHƯợC ĐIểM Ưu điểm • Dễ dàng mở rộng với các lệnh mới • Dễ học và sử dụng • Jess nhanh hơn một số hệ thống shell chuyên gia viết bằng C • Jess có môi trường mã Java JESS Nhược điểm • Đòi hỏi không gian bộ nhớ lớn call Java
  • 24. CảM ƠN THầY VÀ CÁC BạN ĐÃ LắNG NGHE!