TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH KHOA KHOA HỌC MÁY TÍNH BÁO CÁO MÔN HỌC BIỂU DIỄN TRI THỨC VÀ SUY LUẬN TÌM HIỂU THUẬT GIẢI SUY DIỄN TIẾN TRÊN
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
KHOA KHOA HỌC MÁY TÍNH
BÁO CÁO MÔN HỌC BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
TÌM HIỂU THUẬT GIẢI
SUY DIỄN TIẾN TRÊN
MIỀN TRI THỨC ĐIỆN
MỘT CHIỀU
Giảng viên:
PGS TS Đỗ Văn Nhơn
Sinh viên thực hiện:
Phạm Nguyên Hưng
MSSV :
12520167
Trang 2MỤC LỤC
MỤC LỤC 2
CHƯƠNG 1 GIỚI THIỆU CHUNG 3
CHƯƠNG 2 THUẬT GIẢI SUY DIỄN TIẾN TRÊN MIỀN TRI THỨC ĐIỆN MỘT CHIỀU 4
2.1 Vấn đề suy diễn trên miền tri thức điện một chiều: 4
2.1.1 Phát biểu vấn đề suy diễn trên miền tri thức điện một chiều: 4
2.1.2 Tổ chức lưu trữ tri thức K trên máy tính: 6
Tập tin OBJECT.txt: 6
Tập tin CONCEPTS.txt: 7
Tập tin ATTRIBUTES.txt: 12
Tập tin RELATIONS.txt: 13
Tập tin RULES.txt: 14
2.2 Thuật giải suy diễn tiến trên miền tri thức điện một chiều: 23
2.2.1 Ý tưởng thuật giải suy diễn tiến: 23
2.2.2 Thuật giải suy diễn tiến: 24
2.2.3 Ví dụ minh họa: 25
2.2.4 Đánh giá thuật giải suy diễn tiến: 26
Trang 3CHƯƠNG 1 GIỚI THIỆU CHUNG
Trong cấu trúc của một Hệ giải toán thông minh dựa trên cơ sở tri thức thì hai thành phần trung tâm của hệ thống là cơ sở tri thức và bộ suy diễn dựa trên cơ sở tri thức Bộ máy suy diễn này sẽ mô phỏng quá trình tìm lời giải bài toán tương tự như cách giải của con người khi gặp một bài toán cụ thể trong thực tế, bằng cách tìm lời giải cho yêu cầu của bài toán từ những sự kiện đã biết ( giả thiết ), thông qua việc áp dụng các luật của cơ
sở tri thức để suy ra những sự kiện mới Tồn tại nhiều phương pháp suy diễn có thể áp dụng để tìm lời giải đã nghiên cứu được như thuật giải suy diễn tiến, suy diễn lùi, … Với phạm vi bài tập tuần này, em xin trình bày vấn đề suy diễn và thuật giải suy diễn tiến cho miền tri thức về điện một chiều ở chương trình bậc trung học cơ sở ( lớp 9 )
Trang 4CHƯƠNG 2 THUẬT GIẢI SUY DIỄN TIẾN TRÊN MIỀN TRI THỨC ĐIỆN
MỘT CHIỀU 2.1 Vấn đề suy diễn trên miền tri thức điện một chiều:
Vấn đề suy diễn trên cơ sở tri thức nói chung:
Giả sử ta có cơ sở tri thức về miền lĩnh vực ứng dụng K đã được mô hình hóa sẵn và một bài toán P đang được xem xét để tìm lời giải dựa trên tri thức K, ta phải tìm lời giải cho bài toán P
Xét bài toán P có đặc điểm như sau:
Từ đó suy ra: Cần thực hiện suy diễn ( tìm kiếm ) để suy ra được KL từ giả thiết GT ( sử dụng tri thức K )
Giả định K có tập luật bao gồm các luật r có thể áp dụng để sinh ra các sự kiện mới từ một số sự kiện đã biết
Vấn đề suy diễn trên miền tri thức điện một chiều:
9 đã được mô hình hóa và lưu trữ chi tiết như ở phần 2.1.2
cho biết trước giá trị hoặc sự kiện quan hệ giữa các đối tượng được xác định như Vôn kế mắc song song, các Điện trở trong mạch mắc nối tiếp,
…
chưa biết giá trị, hoặc chứng minh quan hệ giữa các yếu tố, hoặc hỏi ( hay chứng minh ) về một hiện tượng ( sự kiện ) trong mạch như Độ sáng của Bóng đèn, khóa K đóng hay mở, …
( O, M, Func, Facts, Goals )
Trang 5Trong đó:
P
Thông tin về một thuộc tính
của một đối tượng mạch
điện
<tham số đối tượng>.< thuộc tính>
AB.U, BD.R
Thông tin giá trị của một
thuộc tính của đối tượng
song hoặc nối tiếp giữa các
đối tượng mạch điện
<tham số của đoạn mạch> = [<tên loại quan hệ>,<tham số đối tượng 1>,<tham số đối tượng 2>]
AB = [song_song,R1,R2],
BC = [noi_tiep,U1,U2]
Thông tin về quan hệ so
sánh giữa thuộc tính của 2
điện thế không đổi 12V
a) Tính cường độ dòng điện trong mạch chính ? b) Tính công suất tiêu thụ của mỗi điện trở ?
Mô hình bài toán trong ví dụ trên:
O = { AB:DOAN_MACH, R1:DIEN_TRO, R2:DIEN_TRO}
M = { AB.U, AB.I, R1.P, R2.P, R1.R, R2.R }
Trang 6Func = { TinhCuongDoDoanMach( tham số đoạn mạch ), TinhCongSuatTieuThu( tham số đối tượng ) }
Facts = { AB = [song_song,R1,R2], R1.R = 60, R2.R = 40, AB.U = 12 } Goals = { AB.I, R1.P, R2.P }
Cơ sở tri thức K được mô hình hóa theo mô hình Ontology COKB như sau:
(Concepts, Relations, Rules)
Concepts = {{DIEN_TRO: U, I, R….}, {BONG_DEN: U, I, R, Umax,
Umin…}, {AMPE_KE: U, I, R, ….}, {VON_KE: U, I, R….}….}
Relations = {song song, nối tiếp, tương đương, ….}
[<Tên object 2> ,<Ký hiệu> , “<Giải thích>”]
Trang 7[<Tên object 3> ,<Ký hiệu> , “<Giải thích>”]
… end_objects
- Nội dung chi tiết:
[<thuộc tính 2>] : [<loại thuộc tính>];
… end_attributes
Trang 8begin_formulas [công thức 1]
[công thức 2]
… end_formulas end_object
begin_object: [<tên object 2>]
begin_attributes [<thuộc tính 1>] : [<loại thuộc tính>]; [<thuộc tính 2>] : [<loại thuộc tính>]; …
end_attributes
begin_formulas [công thức 1]
[công thức 2]
… end_formulas end_object
… end_concepts
Trang 9- Nội dung chi tiết:
Trang 12[<tên sự kiện 1>, <ký hiệu>, <đơn vị>]
[<tên sự kiện 2>,<ký hiệu> ,<đơn vị>]
…
end_attributes
Trang 13- Nội dung chi tiết:
Trang 14- Nội dung chi tiết:
<Luật dẫn 2>
… end_rules
Trang 15begin_rule<Số thứ tự của luật dẫn> begin_parameters
<tham số 1> : <kiểu đối tượng>; <tham số 2> : <kiểu đối tượng>; …
end_parameters
begin_supposes <Giả thiết 1> ; <Giả thiết 2>;
… end_ supposes begin_concludes <Kết luận 1>;
<Kết luận 2>;
… end_concludes end_rule<Số thứ tự của luật dẫn>
Trang 16- Nội dung chi tiết:
Trang 232.2 Thuật giải suy diễn tiến trên miền tri thức điện một chiều:
Suy diễn tiến chính là quá trình suy diễn theo chiều thuận, có nghĩa là quá trình
suy luận đi từ giả thiết đến kết luận thông qua việc áp dụng các định luật, định lý
Quá trình này xuất phát từ giả thiết để sinh ra những sự kiện mới, rồi từ các sự
kiện mới này lại sinh ra sự kiện mới khác cho đến khi đạt được mục tiêu hay cho tới
khi không còn tìm được công thức nào của đối tượng hoặc không tìm được bất cứ luật
r nào trong tập luật của K mà kết luận của r có chứa công thức ( hoặc sự kiện ) có thể
áp dụng được để sinh ra sự kiện mới, nói cách khác là cho đến khi bị bế tắc
Trang 24Để dễ hình dung, ta có thể hiểu suy diễn tiến là một quá trình suy luận gồm một
chuỗi các bước suy diễn mà mỗi bước có dạng như sau:
Các ký hiệu:
Các bước thực hiện thuật giải:
để sinh ra sự kiện mới
Nếu tìm được sự kiện ( công thức ) thuộc tập kết luận của r thì {
Bổ sung [tên luật r, sự kiện đã áp dụng của r] vào S;
Bổ sung sự kiện mới vào Known;
} Ngược lại {
Tìm công thức f nào của đối tượng trong mạch chưa xuất hiện trong S
mà có thể áp dụng được trên Known để sinh ra sự kiện mới Nếu tìm được công thức f thì
{
Trang 25Bổ sung sự kiện mới vào Known;
} Ngược lại
Bế tắc và kết thúc;
} }
Bước 3:
Kết luận tìm được mục tiêu
30Ω Hiệu điện thế 2 đầu đoạn mạch không đổi là 10V
Tính cường độ dòng điện trong mạch AB và công suất tiêu thụ của mỗi điện trở
Mô hình bài toán:
O = { AB:DOAN_MACH, R1:DIEN_TRO, R2:DIEN_TRO}
M = { AB.U, AB.I, R1.P, R2.P, R1.R, R2.R }
TinhCongSuatTieuThu( tham số đối tượng ) }
Facts = { AB = [song_song,R1,R2], R1.R = 40, R2.R = 30, AB.U = 10 }
sự kiện trong tập kết luận của r
Đối tượng được áp dụng công thức
Công thức của đối tượng
R1.R, R2.R, AB.U, R1.U, R2.U
[ rule2, AB.U = R1.U
Trang 26R1.U, R2.U, R1.I
R]
AB.U, R1.U, R2.U, R1.I, R2.I
[ rule2, AB.U = R1.U
= R2.U], [ R1, I = U / R], [ R2, I = U / R]
R2.I
R1.R, R2.R, AB.U, R1.U, R2.U, R1.I, R2.I, AB.I
[ rule2, AB.U = R1.U
= R2.U], [ R1, I = U / R], [ R2, I = U / R], [ rule2, AB.I = R1.I + R2.I]
AB.U, R1.U, R2.U, R1.I, R2.I, AB.I, R1.P
[ rule2, AB.U = R1.U
= R2.U], [ R1, I = U / R], [ R2, I = U / R], [ rule2, AB.I = R1.I + R2.I], [ R1, P = I^2 * R]
AB.U, R1.U, R2.U, R1.I, R2.I, AB.I, R1.P, R2.P ( dừng )
[ rule2, AB.U = R1.U
= R2.U], [ R1, I = U / R], [ R2, I = U / R], [ rule2, AB.I = R1.I + R2.I], [ R1, P = I^2 * R], [ R2, P = I^2 * R] Kết quả tập S :
rồi tìm thấy điều cần suy diễn
tin ban đầu
nhiệm vụ theo yêu cầu như: lập kế hoạch, điều hành, điều khiển, diễn dịch,
…
Trang 27 Hệ thống suy diễn có thể tồn tại những bước giải mà cũng có liên quan đến vấn đề cần giải quyết nhưng loại bỏ nó cũng chẳng ảnh hưởng gì đến lời giải, tức là chỉ cần một số các bước giải ít hơn cũng có thể kết luận được
đề cần giải quyết