Tải bản đầy đủ (.docx) (20 trang)

Suy diễn lùi - Ứng dụng trong chuẩn đoán sự cố máy vi tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (626.99 KB, 20 trang )

1
Page 1 of 20
Phương pháp biểu diễn tri thức
và ứng dụng
Suy diễn lùi - Ứng dụng trong chuẩn đoán sự cố
máy vi tính
Giảng viên: PGS.TS Đỗ Văn Nhơn
2013
Trần Nguyên Phong
MSHV: CH1101028
MSSHV: CH1101028
T r a n g 2 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 3 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
Mục Lục
Trang
I. Đặt vấn đề 2
II. Cơ sở lý thuyết 2
1. Định nghĩa suy diễn lùi 2
2. Cơ chế suy diễn lùi 2
3. Ưu điểm suy diễn lùi 3
4. Nhược điểm suy diễn lùi 3
III. Nội dung bài toán 3
IV. Xây dựng một cơ sở tri thức 4
1. Tập nút 4
2. Tập luật và giải thích 7
3. Thuật toán 11
4. Tổ chức chương trình 14
V. Thực thi chương trình 16
VI. Tham khảo 18
I. Đặt vấn đề


Trong thời đại công nghệ thông tin hiện nay, máy vi tính trở thành công cụ hỗ trợ đắc lực
cho con người. Máy vi tính đã góp phần giúp con người giải quyết công việc một cách
nhanh chóng hơn bởi các chức năng: lưu trữ, tính toán, xử lý dữ liệu Khi máy tính gặp sự
cố có thể gây chậm trể công việc, ảnh hưởng đến hiệu suất làm việc. Do đó, yêu cầu xử lý
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 4 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
sự cố máy vi tính đã trở nên cấp thiết. Dựa trên kiến thức cơ bản về biểu diễn tri thức, phạm
vi tiểu luận này sẽ trình bày ứng dụng của biểu diễn tri thức cho việc chuẩn đoán cơ bản các
sự cố của máy vi tính.
II. Cơ sở lý thuyết
1. Định nghĩa Suy diễn lùi
Suy diễn lùi là chiến lược suy diễn để chứng minh một giả thiết bằng cách thu
thập thông tin hỗ trợ.
2. Cơ chế Suy diễn lùi
Hệ thống Suy diễn lùi bắt đầu từ đích (kết luận) cần chứng minh.
 Trước hết nó kiểm tra trong bộ nhớ làm việc để xem đích này đã được bổ sung
trước đó chưa. Bước này cần thiết vì cơ sở tri thức khác có thể đã chứng minh
đích này.
 Nếu đích chưa được chứng minh, nó tìm các luật có phần THEN chứa đích. Các
luật này được gọi là đích.
 Hệ thống xem phần giả thuyết của các luật đích này có trong bộ nhớ làm việc hay
không. Các giả thuyết không được liệt kê trong bộ nhớ gọi là các đích mới, các
đích mới này cần được giải nhờ các luật khác.
 Quá trình này tiếp tục đệ quy theo cơ chế tìm theo chiều sâu cho đến khi tìm thấy
một giả thiết không do luật nào cung cấp. Đó là nút tận cùng.
 Khi thấy nút tận cùng, hệ thống dùng các thông tin này để giải đích con và đích
ban đầu.
3. Ưu điểm của Suy diễn lùi
* Ưu điểm chính của Suy diễn lùi là phù hợp với bài toán đưa ra giả thiết rồi
xem giả thiết đó có đúng không.

* Suy diễn lùi tập trung vào đích đã cho. Nó tạo ra một loạt các câu hỏi chỉ
liên quan đến vấn đề đang xét, đến hoàn cảnh thuận tiện đối với người dùng.
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 5 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
* Khi suy diễn lùi muốn suy diễn cái gì đó từ các thông tin đã biết, nó chỉ tìm
trên một phần của cơ sở tri thức thích đáng đối với bài toán đang xét.
* Suy diễn lùi được đánh giá cao trong các bài toán giải quyết nhiệm vụ như
là chuẩn đoán, dự đoán, tìm lỗi.
4. Nhược điểm Suy diễn lùi
* Nhược điểm cơ bản của Suy diễn lùi là nó thường tiếp theo dòng suy diễn,
thay vì đúng ra phải dừng ở đó mà sang nhánh khác.
* Tuy nhiên có thể khắc phục nhược điểm này bằng cách dùng nhân tố tin cậy
và các luật meta.
III. Nội dung bài toán
Sẽ có 2 file là Nut và Luat với cách tổ chức như sau
- File luật được lưu dưới dạng text: sẽ được viết lại dưới dạng mệnh đề toán học.
- File nút lưu dưới dạng XML: chứa các sự cố máy tính mà ta quan sát được cũng
như những kết luận về sự cố máy tính
<Nut>
<doi_tuong name="Dây điện">
<Benh id="d">bị lỏng</Benh>
<Benh id="f">bị hư</Benh>
</doi_tuong>
<doi_tuong name="Công tắc màn hình">
<Benh id="b">sáng</Benh>
</doi_tuong>
</Nut>
Khi chạy chương trình, người dùng sẽ phải trả lời những câu hỏi mà chương trình
đưa ra bằng cách sẽ trả lời
Phương pháp biểu diễn tri thức và ứng dụng

T r a n g 6 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
Có: 1
Không: 0
Và chương trình sẽ đưa ra kết luận có kèm theo lời giải thích cho những vấn
đề mà người dùng yêu cầu.
IV. Xây dựng một cơ sở tri thức
1. Tập nút
• Về mặt từ ngữ
TẬP NÚT
a. Màn hình không lên hình
b. Công tắt màn hình sáng
c. Cắm lại dây điện màn hình, màn hình sáng
d. Dây điện bị lỏng
e. Thay dây điện mới, màn hình sáng
f. Dây điện lỏng
g. Màn hình bị hư
h. Cắm lại dây nguồn, màn hình sáng
i. Dây nguồn bị lỏng
j. Thay dây nguồn mới, màn hình sáng
k. Dây nguồn CPU bị hư
l. Cắm lại sợi cáp nối màn hình với CPU, màn hình sáng
m. Sợi cáp nối màn hình với CPU bị lỏng
n. Thay sợi cáp nối màn hình với CPU
o. Sợi cáp nối màn hình với CPU bị hư
p. CPU phát tiếng bíp
q. Con chíp bị hư
r. Cắm lại Ram/Card màn hình màn hình sáng
s. Ram/Card màn hình bị lỏng
t. Thay Ram/Card màn hình màn hình sáng
u. Ram/Card màn hình bị hư

v. Main bị hư
w. Máy tự động restart
x. CPU bị nóng
y. Quạt CPU bị hư
z. Cài lại win máy hoạt động tốt
aa. Hệ điều hành bị lỗi
ab. Thay Ram, máy hoạt động tốt
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 7 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
ac. Ram bị hư
ad. Cổng USB không nhận
ae. Có cài chức năng nhận USB cho máy
af. Cắm lại sợi cáp nối Main với cổng USB, máy nhận USB
ag. Cáp nối Main với cổng USB bị lỏng
ah. Cáp nối Main với cổng USB bị hư
ai. Bàn phím lúc gõ được, lúc không gõ được
aj. Cắm lại cổng bàn phím, bàn phím hoạt động tốt
ak. Cổng bàn phím bị lỏng
al. Thay cổng bàn phím mới, bàn phím hoạt động tốt
am. Cổng bàn phím bị hư
an. Bàn phím bị hư
ao. Chuột không di chuyển theo ý muốn
ap. Máy bị treo
aq. Cắm lại cổng PS2, chuột di chuyển tốt
ar. Cổng PS2 bị lỏng
as. Thay chuột mới, chuột di chuyển tốt
at. Chuột bị hư
au. Cổng PS2 bị hư
av. Không đọc được đĩa
aw.Đĩa không cùng loại ổ đĩa

ax. Thay đĩa mới, đọc được
ay. Đĩa bị hư
az. Ổ đĩa bị hư
• Về mặt cấu trúc dữ liệu:
Stt Tên Ý nghĩa Câu hỏi Loại nút Giá trị
1 a Màn hình không
sáng
Màn hình không sáng
??
3 -1
Trong đó:
• Stt: biến thuộc kiểu nguyên dương. Lưu chỉ số thứ tự của nút
• Tên: thuộc kiểu string. Lưu tên của nút (a, b, c, ~a, ~b ….)
• Ý nghĩa: thuộc kiểu string. Lưu ý nghĩa của nút
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 8 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
• Câu hỏi: thuộc kiểu string. Lưu câu hỏi để khi suy diễn buộc phải đặt câu hỏi để lấy
giá trị của nút thì lấy câu hỏi ra để đặt với người sử dụng.
• Loại nút: biến thuộc kiểu nguyên dương. Bao gồm {1,2,3}  xác định nút thuộc kiểu
nào: nút kết luận, nút trung gian hay nút giả thiết.
• Giá trị: biến thuộc kiểu nguyên. Bao gồm 3 giá trị
o 1: có giá trị True
o 0: có giá trị false
o -1: biến chưa khởi tạo giá trị
Lưu ý khi nhập giá trị cho 1 nút thì nút phủ định của nó cũng nhận được giá trị tương
ứng. Vì tập nút ở đây bao gồm nút và nút phủ định của nút đó.
2. Tập luật và giải thích:
• Về mặt từ ngữ
1. a ^ ~b ^ c => d
If (Màn hình không lên hình And công tắt màn hình không sáng And cắm lại dây

điện màn hình, màn hình lên hình) Then (Dây điện màn hình bị lỏng).
2. a ^ ~b ^ ~c ^ e => f
If (Màn hình không lên hình And công tắt màn hình không sáng And cắm lại dây
điện màn hình, màn hình không lên And thay dây điện màn hình khác, màn hình
lên hình) Then (dây điện màn hình bị hư).
3. a ^ ~b ^ ~c ^ ~e => g
If (Màn hình không lên hình And công tắt màn hình không sáng And dây điện
màn hình không bị lỏng And thay dây điện màn hình khác, màn hình không lên
hình) Then (màn hình bị hư).
4. a ^ b ^ h => i
If (Màn hình không lên hình And Công tắt màn hình sáng And cắm lại dây nguồn
CPU, màn hình lên hình) Then (Dây nguồn CPU bị lỏng).
5. a ^ b ^ ~h ^ j => k
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 9 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
If (Màn hình không lên hình And Công tắt màn hình sáng cắm lại dây nguồn
CPU, màn hình không lên hình And thay dây nguồn CPU mới, màn hình lên
hình) Then (dây nguồn CPU bị hư).
6. a ^ b ^ l => m
If (Màn hình không lên hình And Công tắt màn hình sáng And cắm lại sợi cáp
nối màn hình với CPU, màn hình lên hình) Then (sợi cáp nối màn hình với CPU
bị lỏng).
7. a ^ b ^ ~l ^ n => o
If (Màn hình không lên hình And Công tắt màn hình sáng And cắm lại sợi cáp
nối màn hình với CPU, màn hình không lên hình And Thay sợi cáp khác, màn
hình lên) Then (sợi cáp nối màn hình với CPU bị hư).
8. a ^ b ^ ~l ^ ~n ^ ~p => q
If (Màn hình không lên hình And Công tắt màn hình sáng And sợi cáp nối màn
hình với CPU không bị lỏng And Thay sợi cáp khác, màn hình không lên And
CPU không có phát ra tiếng “bip”) Then (con chíp bị hư).

9. a ^ b ^ p ^ r => s
If (Màn hình không lên hình And Công tắt màn hình sáng And CPU có phát ra
tiếng “bip” And cắm lại Ram/card màn hình, màn hình lên) Then (Ram/card màn
hình bị lỏng).
10. a ^ b ^ p ^ ~r ^ t => u
If (Màn hình không lên hình And Công tắt màn hình sáng And CPU có phát ra
tiếng “bip” And cắm lại Ram/card màn hình, màn hình không lên And thay
Ram/card màn hình mới, màn hình lên) Then (Ram/card màn hình bị hư).
11. a ^ b ^ p ^ ~r ^ ~t=> v
If (Màn hình không lên hình And Công tắt màn hình sáng And CPU có phát ra
tiếng “bip” And cắm lại Ram/card màn hình, màn hình không lên And thay
Ram/card màn hình mới, màn hình không lên) Then (Main bị hư).
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 10 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
12. w ^ x => y
If (máy tự động restart And CPU bị nóng) Then (Quạt CPU bị hư).
13. w ^ ~x ^ z => aa
If (máy tự động restart And CPU không bị nóng And cài lại Win máy hết restart)
Then (hệ điều hành bị lỗi).
14. w ^ ~x ^ bb => cc
If (máy tự động restart And CPU không bị nóng And thay Ram máy hết Restart)
Then (Ram bị hư).
15. w ^ ~x ^ ~bb => v
If (máy tự động restart And CPU không bị nóng And cài lại Win máy vẫn restart
And thay Ram máy vẫn Restart) Then (Main bị hư).
16. dd ^ ~ee => aa
If (Cổng USB không hoạt động được And không cài chức năng nhận USB cho
máy) Then (lỗi khi cài hệ điều hành).
17. dd ^ ee ^ ff => gg
If (Cổng USB không hoạt động được And có cài chức năng nhận USB cho máy And

cắm lại sợi cáp nối từ Main ra cổng USB, cổng USB nhận) Then ( sợi cáp nối từ
Main ra cổng USB bị lỏng).
18. dd ^ ee ^ ~ff => hh
If (Cổng USB không hoạt động được And có cài chức năng nhận USB cho máy And
cắm lại sợi cáp nối từ Main ra cổng USB, cổng USB không nhận) Then (cáp nối
từ Main ra cổng USB hư).
19. ii ^ jj => kk
If (bàn phím lúc gõ được, lúc không được And cắm lại cổng bàn phím hoạt động
bình thường) Then (cổng bàn phím bị lỏng).
20. ii ^ ~jj ^ ll=> mm
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 11 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
If (bàn phím lúc gõ được, lúc không được And cắm lại cổng bàn phím vẫn không
hoạt động bình thường And thay cổng bàn phím mới, bàn phím hoạt động) Then
(cổng bàn phím bị hư).
21. ii ^ ~jj ^ ~ll=> nn
If (bàn phím lúc gõ được, lúc không được And cắm lại cổng bàn phím vẫn không
hoạt động bình thường And thay bàn phím mới, bàn phím vẫn không hoạt động
tốt) Then (bàn phím bị hư).
22. oo ^ pp => aa
If (con chuột không di chuyển theo ý muốn And Hệ điều hành bị treo) Then (Lỗi do
hệ điều hành).
23. oo ^ ~pp ^ qq => rr
If (con chuột không di chuyển theo ý muốn And Hệ điều hành không bị treo And
cắm lại cổng PS2, chuột hoạt động tốt) Then (Cổng PS2 bị lỏng).
24. oo ^ ~pp ^ ss => tt
If (con chuột không di chuyển theo ý muốn And Hệ điều hành không bị treo And
thay chuột mới, chuột hoạt động tốt) Then (Chuột bị hư).
25. oo ^ ~pp ^ ~qq ^ ~ss => uu
If (con chuột không di chuyển theo ý muốn And Hệ điều hành không bị treo And

thay chuột mới, chuột vẫn không hoạt động tốt And cắm lại cổng PS2, chuột
không hoạt động tốt) Then (Cổng PS2 bị hư).
26. vv ^ ww => wa
If (không đọc được đĩa And Đĩa không cùng loại với ổ đĩa) Then (Đĩa và ổ đĩa
không tương thích nhau).
27. vv ^ ~ww ^ xx => yy
If (không đọc được đĩa And Đĩa cùng loại với ổ đĩa And thay đĩa mới, đọc được đĩa)
Then (Đĩa bị hư).
28. vv ^ ~ww ^ ~xx => zz
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 12 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
If (không đọc được đĩa And Đĩa cùng loại với ổ đĩa And thay đĩa mới, không đọc
được đĩa) Then (ổ đĩa bị hư).
• Về mặt cấu trúc dữ liệu:
Stt Vế trái Vế phải
1 a ^ ~b ^c d
Trong đó:
• Stt: biến thuộc kiểu nguyên dương. Lưu chỉ số thứ tự của luật.
• Vế trái: mảng string. Lưu các nút nằm bên vế trái.
• Vế phải: mảng string. Lưu các nút nằm bên vế phải.
3. Thuật toán:
*** Thuật toán tách vế:
Input: tập luật
Output: tách các nút nằm ở vế trái, vế phải
Duyệt qua tập luật
Ở mỗi luật duyệt từ trái sang, chỉ lấy các phần từ là ký hiệu các nút
Nếu chưa gặp dấu phân cách giữa 2 vế (“ > ”) thì thêm các nút vào vế trái
Ngược lại, thêm các nút vào vế phải.
Hết tập luật
*** Thuật toán phân loại nút

Input : Tên nút
Output: Loại nút
Với DOM (loại nút)={1,2,3}={Nút kết luận, nút trung gian, nút tận cùng}.
 Tập nút kết luận = Vế phải \ Vế trái (các nút chỉ có trong vế phải).
 Tập nút trung gian = Vế trái ∩ Vế phải (các nút nằm ở vế trái và vế phải).
 Tập nút giả thiết = Vế trái \ Vế phải (các nút chỉ nằm ở vế trái).
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 13 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
• Tạo tập kết luận:
Duyệt tập nút ở vế phải
Duyệt tập nút ở vế trái
Nếu nút ở vế trái có trong vế phải, dừng duyệt nút vế trái và ghi nhận
nút vế phải đó nằm trong vế trái.
Hết tập nút ở vế trái
Nếu nút đó không được ghi nhận trong vế phải thì thêm nút đó vào tập kết
luận.
Hết tập nút ở vế phải.
• Tạo tập trung gian:
Duyệt tập nút ở vế phải
Duyệt tập nút ở vế trái
Nếu nút ở vế trái có trong vế phải, dừng duyệt nút vế trái và ghi nhận nút vế
phải đó nằm trong vế trái.
Hết tập nút ở vế trái
Nếu nút đó ghi nhận nằm trong vế phải thì thêm nút đó vào tập trung gian.
Hết tập nút ở vế phải.
• Tạo tập giả thiết:
Duyệt tập nút ở vế trái
Duyệt tập nút ở vế phải
Nếu nút ở vế trái có trong vế phải, dừng duyệt nút vế phải và ghi nhận
nút vế phải đó nằm trong vế phải.

Hết tập nút ở vế phải
Nếu nút đó không được ghi nhận trong vế phải thì thêm nút đó vào tập giả
thiết.
Hết tập nút ở vế trái.
*** Thuật toán suy diễn lùi với cơ chế giải thích Why và How
Input: Tập các nút kết luận
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 14 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
Output: Một kết luận đúng hoặc xuất ra “không giải đáp được”.
Đọc tập nút.
Đọc tập luật.
Áp dụng thuật toán phân loại nút để phân thành tập kết luận, tập trung gian, tập giả
thiết.
Khai báo loại nút cho từng nút. DOM={1,2,3}={nút kết luận, nút trung gian, nút giả
thiết}.
Phục vụ cho giải thích của cơ chế Why bao gồm 2 stack : stack_why1 và stack_why2
Phục vụ cho giải thích của cơ chế How bao gồm 1 stack : stack_how
** Suy diễn lùi với cơ chế giải thích Why và How với tham số truyền vào là số thứ tự
của luật
Tìm giá trị luật đang xét tương ứng với số thứ tự của luật;
Nếu giá trị luật đang xét = 1
Xuất ra kết luận đúng
Chấm dứt chuỗi suy diễn
Nếu có kết luận = 0
Xuất ra “Không giải đáp được”.
** Thủ tục tìm giá trị nút.
Giá trị luật = 1
Push (stack_why1, số thứ tự của nút kết luận đang xét).
Push (stack_why2, số thứ tự của nút kết luận đang xét).
Lấy ra vế trái của luật đó

Lặp lại khi hết các nút trong vế trái của luật
Nếu 1 nút đã có giá trị : giá trị luật = giá trị luật AND giá
trị nút.
Ngược lại
Trường hợp: loại nút = 2 // nút trung gian
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 15 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
Tìm giá trị luật; (với nút đang xét là nút kết luận của
luật)
Trường hợp: loại nút = 3 // nút giả thiết
Yêu cầu nhập dữ liệu cho nút
Giá trị luật = giá trị luật AND giá trị nút
Nếu giá trị luật = 0, dừng việc duyệt các nút trong vế trái của luật
Hết các nút trong vế trái của Luật
Giá trị các nút vế phải của luật = giá trị luật
Nếu giá trị của nút đang xét = 1
Push(stack_how, số thứ tự của nút kết luận đang xét).
*Cơ chế giải thích Why:
Lặp lại đến khi stack_why1 rỗng
Pop(stack_why1,int biến số thứ tự).
Nối chuỗi các luật có nút kết luận mang số thứ tự là biến stt
Hết stack_why1
Xuất chuỗi các luật để trả lời.
Sau khi giải thích xong:
Stack_why1 = Stack_why2.
*Cơ chế giải thích How:
Lặp đến khi stack_how rỗng
Pop (stack_how, int biến stt)
Nối chuỗi các luật có nút kết luật mang số thứ tự là biến stt.
Hết stack_how.

Xuất chuỗi các luật để trả lời.
4. Tổ chức chương trình:
 Vì có nhu cầu cho người dùng nhập tình trạng vào. Sau đó chương trình mới
tiến hành suy diễn dựa trên các tình trạng máy của người dùng. Do đó, chương
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 16 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
trình sẽ hỗ trợ người dùng nhập liệu nếu tình trạng khai báo của người dùng
không nằm trong triệu chứng trong cơ sở tri thức thì chương trình không xác
định các luật xung quanh tình trạng đó để tiến hành suy diễn. Cũng như nảy
sinh thêm vấn đề nếu người dùng khai báo tình trạng có thể liên quan đến 2
hay nhiều bệnh thì đòi hỏi chương trình cũng giải quyết được.
 Hướng xử lý chính của chương trình:
Độ ưu tiên của các luật được dùng trong quá trình suy diễn lùi để tìm ra kết luận, luật
có độ ưu tiên cao thì chương trình sẽ lấy luật đó xử lý trước. Trong đó, độ ưu tiên của
luật được đánh giá dựa trên các giả thiết đã được xác định giá trị trong luật đó. Sự xác
định giá trị của giả thiết của luật dựa trên tình trạng của người dùng nhập vào. Do đó,
khi một luật có độ ưu tiên cao thì luật đó càng gần với kết luận vấn đề của người dùng.
Để giải quyết lưu trữ lại độ ưu tiên của luật, chương trình phải có được hàng đợi ưu
tiên. Hàng đợi ưu tiên trong chương trình được xây dựng theo skiplist
 Giới thiệu chung về skiplist
Skiplist là một danh sánh liên kết, mà trong đó mỗi nút được phân thành nhiều cấp độ
để tìm kiếm nhanh chóng. Chương trình dựa trên đặc tính phân thành các cấp độ,
tương tự như các độ ưu tiên của các luật và mỗi luật sẽ là một nút trong skiplist.
Thêm phần tử vào skiplist với cấp độ ưu tiên
Cách xử lý
Duyệt cấp cao nhất của skiplist, duyệt đến cấp 0 của skiplist
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 17 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
Nếu phần tử đầu của skiplist có cấp độ nhỏ hơn cấp độ của skiplist
Phần tử xét = phần tử kế phần tử đầu skiplist ở cấp độ cao nhất

Ngược lại
Phần tử xét = phần tử đầu của skiplist
Trạng thái=Suy diễn lùi với phần tử xét
Nếu trạng thái bằng 1 ( kết luật được luật)
Dừng thuật giải
Duyệt trong khi phần tử kế sau phần tử xét khác rỗng
Phần tử xét= phần tử kế sau xét
Trạng thái=Suy diễn lùi với phần tử xét
Nếu trạng thái bằng 1 ( kết luật được luật)
Dừng thuật giải
Hết duyệt phần tử trong skiplist
Thực thi chương trình
• Đây là một chương trình chẩn đoán sự cố máy tính được thực hiện trên nền tảng ngôn
ngữ C# thông qua thư viện Visual Studio .Net 2008.
• Chương trình với các chức năng chính: nhập, bắt đầu, nguyên nhân và làm lại.
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 18 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
• Chức năng “Làm Lại”
Cho phép người dùng tiếp tục tìm hiểu các sự cố khác của máy tính bằng cách làm mới
form như ban đầu.
• Chức năng “nhập”
Cho người dùng nhập vào thông tin sự cố.
• Chức năng “chuẩn đoán”
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 19 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
Chương trình đặt ra các câu hỏi liên quan tới sự cố máy vi tính và người dùng sẽ trả
lời “có” hay “không”. Dựa vào câu trả lời của người dùng mà chương trình sẽ đưa ra
những câu hỏi tiếp theo. Trong quá trình đặt câu hỏi chương trình có hỗ trợ lời giải thích
“tại sao”.
Sau khi đã hoàn tất trả lời các câu hỏi, chương trình sẽ đưa ra kết quả chẩn đoán sự

cố máy vi tính.
• Chức năng “Nguyên Nhân”
Chức năng này nhằm giúp người sử dụng hiểu rõ hơn về sự cố máy tính bằng cách đưa
ra nguyên nhân của kết quả chẩn đoán. Đây cũng chính là tri thức lấy từ thực tiễn đã áp
dụng vào chương trình.
Phương pháp biểu diễn tri thức và ứng dụng
T r a n g 20 | C h u ẩ n đ o á n s ự c ố m á y v i t í n h
V. Tham khảo
VI. Tham khảo
[1]. GS.Hoàng Kiếm, TS.Đỗ Phúc, TS.Đỗ Văn Nhơn - Giáo trình Các Hệ Cơ Sở Tri Thức
NXB Đại Học Quốc Gia TP.HCM 2008 – Chương 2. Các kỹ thuật suy diễn và lập luận –
Phần 1. Cài đặt cơ chế giải thích với lập luận suy diễn lùi – Trang 59-67
[2]. Kiến thức thực tiễn của nhân viên sửa chữa về sự cố phần cứng máy tính – Trạm bảo
hành công ty FPT.
[3]. />[4]. />Phương pháp biểu diễn tri thức và ứng dụng

×