Tải bản đầy đủ (.doc) (24 trang)

Tiểu luận môn CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG TÌM HIỂU VÀ XÂY DỰNG HỆ CHUYÊN GIA CHẨN ĐOÁN LỖI PHẦN CỨNG MÁY 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 (423.79 KB, 24 trang )

CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
Trang 1
ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
Tháng 10, 2014
TÌM HIỂU VÀ XÂY DỰNG HỆ CHUYÊN GIA
CHẨN ĐOÁN LỖI PHẦN CỨNG MÁY TÍNH
BÀI THU HOẠCH MÔN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
Giáo viên hướng dẫn: GS.TSKH. Hoàng Văn Kiếm
Học viên thực hiện: Vũ Xuân Vinh
Mã số học viên: CH1301117
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
LỜI MỞ ĐẦU
Từ khi ra đời chiếc máy tính điện tử số đầu tiên (ENIAC – Electronic Numerical
Integrator And Computer) hoàn thành vào năm 1946 cho đến nay, ngành công nghiệp
máy tính đã có những bước phát triển nhảy vọt về công nghệ và kiểu dáng. Mọi người đã
trở nên quen thuộc với việc máy vi tính xuất hiện trong từng hộ gia đình như một thiết bị
điện tử gia dụng. Tuy nhiên, máy tính cá nhân vẫn là một thiết bị phức tạp và không dễ
nắm bắt, nhất là ở phần cứng bên trong. Khi những hỏng hóc hay trục trặc dù rất nhỏ liên
quan đến phần cứng, cũng có thể làm người sử dụng trở nên bối rối và không hiểu rõ
nguyên nhân và cách sửa chữa. Với nhu cầu đó, xây dựng hệ chuyên gia chẩn đoán hỏng
hóc của phần cứng máy tính là một việc cần thiết để giải quyết vấn đề một cách nhanh
chóng. Đề tài gồm các phần như sau:
• Chương 1 Tổng quan: Giới thiệu tổng quan về đặt vấn đề, mục tiêu
• Chương 2 Cơ sở lý thuyết: thu thập tri thức, chuẩn bị xây dựng cơ sở luật, bao
gồm kiến thức về phần cứng máy tính và các triệu chứng hỏng hóc thông thường.
• Chương 3 Phân tích thiết kế, cài đặt và thử nghiệm: tiến hành phân tích thiết kế cài
đặt chương trình dựa trên các cơ sở lý thuyết đã trình bày ở chương 2
• Chương 4 Kết quả và hướng phát triển: trình bày các kết quả đạt được và đề xuất
hướng phát triển


Qua đây, em cũng xin được gửi lời cảm ơn chân thành đến Giáo sư Tiến sĩ Khoa
học Hoàng Văn Kiếm, người không những tận tâm truyền đạt những kiến thức nền tảng
cơ bản về môn học mà còn giúp em có được cơ sở vững chắc để phục vụ cho việc nghiên
cứu sau này.
Trang 2
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
MỤC LỤC HÌNH ẢNH
Hình 1: Mô hình hoạt động hệ chuyên gia
Hình 2: Cấu trúc thư mục code
Hình 3: Giao diện chương trình
Hình 4: Màn hình các lỗi thông thường
Hình 5: Màn hình hỏi đáp
MỤC LỤC
Trang 3
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
CHƯƠNG 1 TỔNG QUAN
1.1 Giới thiệu
Khi xây dựng một phần mềm hướng dẫn người dùng tìm ra nguyên nhân hỏng hóc
của phần cứng máy tính, có 2 giải pháp giải quyết được vấn đề trên. Một là tổng hợp, xây
dựng cơ sở dữ liệu về kiến thức phần cứng máy tính, những sự cố thông thường và cách
khắc phục. Hai là xây dựng một hệ chuyên gia chẩn đoán sự cố máy tính dựa trên những
triệu chứng mà người dùng cung cấp. Trong bài thu hoạch này, em sẽ sử dụng phương án
thứ hai. Một chuyên gia “thực thụ” sẽ tiết kiệm được nhiều thời gian, công sức cho người
sử dụng. Hơn nữa, với sự phát triển nhanh chóng của khoa học máy tính, mà cụ thể là
lĩnh vực công nghệ tri thức, đã làm công cụ mạnh mẽ cho việc thiết kế các hệ chuyên gia
ở từng lĩnh vực cụ thể như chuẩn đoán y khoa, hệ dự báo thời tiết, hệ chẩn đoán hỏng hóc
phần cứng máy tính…
Chính vì những lý do trên, cộng với mong muốn áp dụng những kiến thức đã học từ
môn Công nghệ tri thức và ứng dụng, em đã chọn đề tài “Xây dựng hệ chuyên gia chẩn
đoán lỗi phần cứng máy tính”. Do thời gian có hạn, bài thu hoạch không xây dựng một

phần mềm hoàn chỉnh và chính xác, mà chỉ cố gắng áp dụng quy trình từ thu thập tri thức
đến xây dựng cơ sở luật và thử nghiệm cài đặt một hệ chuyên gia thu nhỏ.
Trang 4
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
1.2 Mục tiêu đề tài
• Xây dựng hệ chuyên gia chẩn đoán sự cố cùa phần cứng máy tính và viết
chương trình chạy trên trình duyệt web để hỗ trợ người dùng.
• Ứng dụng công nghệ tri thức vào việc xây dựng hệ cơ sở tri thức dùng phương
pháp luật dẫn và kỹ thuật suy diễn lùi.
• Phát triển thuật giải suy diễn lùi để lưu giữ các trạng thái và biểu diễn tri thức
được lưu.
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Cơ sở tri thức
2.1.1 Giới thiệu
Trong các chương trình truyền thống, cách thức xử lý hay hành vi của chương trình đã
được cài đặt sẵn qua các dòng lệnh của chương trình dựa trên một thuật giải và cấu trúc
dữ liệu đã định sẵn. Điều này dẫn đến chương trình ‘xơ cứng’ kém tính linh hoạt. Để
khắc phục khuyết điểm này, hiện nay, trong lĩnh vực trí tuệ nhân tạo các nhà nghiên cứu
đã xây dựng các kỹ thuật biểu diễn các dạng tri thức khác nhau trong máy tính.
Trong các hệ cơ sở tri thức, có hai thành phần quan trọng nhất: cơ sở tri thức và động
cơ suy diễn. Với các hệ thống phức tạp, bản thân động cơ suy diễn cũng có thể là một hệ
cơ sở tri thức chứa các siêu tri thức (tri thức về cách sử dụng các tri thức khác).
Việc tách biệt giữa tri thức khỏi các cơ chế điều khiển giúp ta dễ dàng thêm vào các
tri thức mới trong tiến trình phát triển một chương trình. Đây là điểm tương tự của động
cơ suy diễn trong một hệ CSTT và não bộ con người (điều khiển xử lý), là không đổi cho
dù hành vi của cá nhân có thay đổi theo kinh nghiệm và kiến thức mới nhận được.
Chúng ta xét ví dụ sau để làm rõ tính ‘xơ cứng’ của chương trình truyền thống. Giả sử
một chuyên gia dùng các chương trình truyền thống để hỗ trợ công việc hàng ngày, sự
Trang 5
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014

thay đổi hành vi của chương trình yêu cầu họ phải biết cách cài đặt chương trình. Nói
cách khác, chuyên gia phải là một lập trình viên chuyên nghiệp. Hạn chế này được giải
quyết khi các chuyên gia tiếp cận sử dụng các hệ CSTT. Trong các hệ CSTT, tri thức
được biểu diễn tường minh chứ không nằm ở dạng ẩn như trong các chương trình truyền
thống. Do vậy có thể thay đổi các CSTT, sau đó các động cơ suy diễn sẽ làm việc trên
các tri thức mới được cập nhật nhằm thực hiện yêu cầu mới của chuyên gia.
2.1.2 Phân loại hệ cơ sở tri thức
Trong thực tế các ứng dụng có các yêu cầu phức tạp khác nhau. Không có một kỹ
thuật nào có thể giải quyết đầy đủ cơ chế tổ chức tri thức trong ứng dụng. Sau đây là các
dạng tri thức thường gặp, mà tùy vào bài toán con người có thể lựa chọn dạng biểu diễn
thích hợp nhất.
• Tri thức thủ tục mô tả cách thức giải quyết một vấn đề. Loại tri thức này đưa ra
giải pháp để thực hiện một công việc nào đó. Các dạng tri thức thủ tục tiêu biểu
thường là các luật, chiến lược, lịch trình, và thủ tục.
• Tri thức khai báo cho biết một vấn đề được thấy như thế nào. Loại tri thức này
bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúng hoặc sai.
Tri thức khai báo cũng có thể là một danh sách các khẳng định nhằm mô tả đầy đủ
hơn về đối tượng hay một khái niệm nào đó.
• Siêu tri thức mô tả tri thức về tri thức. Loại tri thức này giúp lựa chọn tri thức
thích hợp nhất trong số các tri thức khi giải quyết một vấn đề. Các chuyên gia sử
dụng tri thức này để điều chỉnh hiệu quả giải quyết vấn đề bằng cách hướng các
lập luận về miền tri thức có khả năng hơn cả.
• Tri thức heuristic mô tả các "mẹo" để dẫn dắt tiến trình lập luận. Tri thức
heuristic còn được gọi là tri thức nông cạn do không bảm đảm hoàn toàn chính xác
về kết quả giải quyết vấn đề. Các chuyên gia thường dùng các tri thức khoa học
như sự kiện, luật, … sau đó chuyển chúng thành các tri thức heuristic để thuận tiện
hơn trong việc giải quyết một số bài toán.
Trang 6
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
• Tri thức có cấu trúc mô tả tri thức theo cấu trúc. Loại tri thức này mô tả mô hình

tổng quan hệ thống theo quan điểm của chuyên gia, bao gồm khái niệm, khái niệm
con, và các đối tượng; diễn tả chức năng và mối liên hệ giữa các tri thức dựa theo
cấu trúc xác định.
2.1.3 Hệ chuyên gia
Khái niệm
Hệ chuyên gia là một loại hệ CSTT được thiết kế cho một lĩnh vực ứng dụng cụ thể.
Chẳng hạn hệ chuyên gia dùng trong các ứng dụng chẩn đoán bệnh cho người và hệ
thống. Ngoài ra, chúng còn có thể chơi cờ, tạo những dự án tài chính, quản lý hệ thống
thời gian thực và những kiến thức có thể liên quan đến các lĩnh vực chuyên môn.
Hoạt động của một hệ chuyên gia
Một hệ chuyên gia bao gồm ba thành phần chính là cơ sở tri thức (knowledge base),
máy suy diễn hay mô tơ suy diễn (inference engine), và hệ thống giao tiếp với người sử
dụng (user interface). Cơ sở tri thức chứa các tri thức để từ đó, máy suy diễn tạo ra câu
trả lời cho người sử dụng thông qua hệ thống giao tiếp.
Người sử dụng cung cấp sự kiện (fact) là những gì đã biết, đã có thật hay những thông
tin có ích cho hệ chuyên gia, và nhận được những câu trả lời là những lời khuyên hay
những gợi ý đúng đắn (expertise).
Hoạt động của hệ chuyên gia dựa trên tri thức được minh họa như sau:
Trang 7
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
Hình 1 Mô hình hoạt động hệ chuyên gia
Các thành phần cơ bản của hệ chuyên gia
• Giao diện người sử dụng: là nơi người sử dụng và hệ chuyên gia trao đổi với nhau.
• Động cơ suy diễn: tạo ra sự suy lụân bằng cách sẽ quyết định xem những luật nào
sẽ làm thỏa mãn các sự kiện, các đối tượng, chọn ưu tiên các luật có tính ưu tiên
cao nhất.
• Cơ sở tri thức: gồm các phần tử (hay đơn vị) tri thức thông thường được gọi là
luật, được tổ chức như một cơ sở dữ liệu.
• Cơ chế giải thích: giải nghĩa cách lập luận của hệ thống cho người sử dụng.
• Bộ nhớ làm việc: cấu trúc dữ liệu và cơ sở dữ liệu toàn cục chứa các sự kiện phục

vụ cho các luật.
• Tiếp nhận tri thức: cho phép người sử dụng bổ sung các tri thức vào hệ thống một
cách tự động thay vì tiếp nhận tri thức vào hệ thống bằng cách mã hóa tri thức một
cách tường minh.
2.1.4 Các phương pháp biểu diễn cơ sở tri thức
Có nhiều cách biểu diễn tri thức:
• Logic
• Các luật dẫn
• Mạng ngữ nghĩa
• Đối tượng – Thuộc tính – Giá trị
• Frame
Trang 8
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
2.2 Một số kiến thức cơ bản về phần cứng máy tính
2.2.1 Nhóm thiết bị xử lý
• Bo mạch chủ
Còn gọi là bo mạch chính, bo mạch chủ hay bo hệ thống (main board, system board,
planar board). Đây là một bản mạch in lớn nằm trong hộp máy chính, chứa hầu hết bộ
nhớ và mạch vi xử lý của máy tính, cũng như các bus mở rộng có card mở rộng cắm trên
đó. Bo mạch chính cùng với các thành phần gắn trên nó quyết định tốc độ xử lý chung
của hệ thống.
• Bộ vi xử lý (CPU – Central Processor Unit)
Là một mạch tích hợp rất phức tạp, đảm nhận việc xử lý các thông tin của máy tính.
Hơn bất kỳ yếu tố nào, công năng của một loại máy tính phụ thuộc chủ yếu vào các đặc
trưng kỹ thuật và nhãn hiệu của bộ vi xử lý (VXL).
• Hệ vào/ ra cơ sở (BIOS)
BIOS (Basic Input/Output System) là một tập hợp chương trình sơ cấp để hướng dẫn
các hoạt động cơ bản của máy tính, bao gồm cả thủ tục khởi động và việc quản lý các tín
hiệu nhập vào từ bàn phím. BIOS được nạp cố định trong một chip nhớ chỉ đọc (ROM)
lắp trên board mẹ. Một chức năng khác của BIOS là cung cấp chương trình cài đặt, đó là

một chương trình dựa vào trình đơn để ta tự chọn các thông số cấu hình hệ thống cơ bản
như ngày giờ hệt hống, cấu hình ổ đĩa, kích cỡ bộ nhớ, thông số cache, shadow ROM,
trình tự khởi động, và kể cả mật khẩu. Các thông số quan trọng này sẽ được giữ lại trong
chip CMOS thuộc BIOS và được nuôi bằng pin.
Trang 9
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
• Bộ nhớ chính (main memory)
Được lắp trên mainboard, bộ nhớ chính có nhiệm vụ chứa tạm dữ liệu và các lệnh
chương trình để lấy dùng trực tiếp và nhanh chóng cho bộ VXL trong phiên công tác, vì
khi tắt máy nội dung nhớ sẽ bị mất hết. Bộ nhớ chính còn gọi là bộ nhớ truy cập ngẫu
nhiên (Random Access Memory - RAM).
2.2.2 Nhóm thiết bị hiển thị
• Card video
Card video (hay bộ điều hợp hiển thị) làm nhiệm vụ nhận lệnh từ CPU để điều khiển
nội dung sẽ hiển thị trên màn hình. Card video còn kiểm tra độ phân giải, tốc độ quét, dải
màu có sẵn của một màn hình cụ thể. Card video cũng như màn hình có nhiều loại, nhiều
chuẩn do đó giữa card màn hình và màn hình phải tương thích với nhau.
• Màn hình (monitor)
Là thiết bị dùng để theo dõi, giám sát và giao tiếp với máy tính thông qua những ký tự
và hình ảnh được biểu hiện trên một màn hiển thị.
2.2.3 Nhóm thiết bị lưu trữ
Các thiết bị lưu trữ thông tin dùng phổ biến trong máy tính cá nhân là ổ đĩa mềm
(FDD), ổ điã cứng (HDD), ổ đĩa CD-ROM và ổ băng ghi lưu. Ngoài ra còn một số
phương tiện lưu trữ khác như đĩa flash (còn gọi là đĩa USB), ổ đĩa zip.
2.3 Một số hỏng hóc thường gặp của phần cứng máy tính
2.3.1 Các hỏng hóc từ nguồn điện
Bộ nguồn đóng vai trò rất quan trọng trong hệ thống máy tính. Nếu bản thân bộ nguồn
bị cháy, hệ thống sẽ không hoạt động. Mặt khác, nếu bộ nguồn hoạt động không ổn định
Trang 10
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014

có thể là nguyên nhân của hàng loạt hỏng hóc từ mainboard, RAM, hoặc CPU và đĩa
cứng cũng không phải là ngoại lệ.
Khi một máy tính bị “chết”, không có biểu hiện gì khi nhấn nút power, thì hư hỏng
này có thể rất nặng mà có thể lại là chẳng có gì. Có thể nguyên nhân xuất phát từ các đầu
nối cấp điện, các cầu chì. Hãy kiểm tra lại dây cắm điện và ấn lại tất cả các đầu nối. Nếu
mọi chuyện vẫn không có gì thay đổi, rất có thể bộ nguồn đã bị hỏng.
Trong một số trường hợp, bộ nguồn vẫn cung cấp điện nhưng điện áp lại không ổn định.
Sau đó, kéo theo hàng loạt các vấn đề khác như hỏng ổ đĩa cứng. Triệu chứng của hư
hỏng này là đĩa khởi động chính xác sau đó bị chết trong khi máy nóng lên. Thông báo
xuất hiện trên màn hình đại khái là "Seek error, Abort, Retry, Fail". Có thể quá trình xảy
ra là, thay vì cung cấp đúng 5 volt cho động cơ, thì bộ nguồn nuôi lại đưa ra 8 hay 10
volt. Động cơ chạy rất nhanh và nóng lên, cho nên biểu hiện trục trặc là không có khả
năng đọc hay ghi một cách chính xác.
2.3.2 Các hỏng hóc từ đĩa cứng và hệ điều hành
Nếu đĩa cứng bị hỏng khi khởi động thì nguyên nhân chủ yếu là lỏng đầu cáp hoặc
card bị lỏng chân cắm. Hãy tắt máy, rút phích điện, mở nắp máy và ấn card cho cắm chắc
vào khe rồi ấn chặt lại đầu cáp. Nếu không có tác dụng gì, có thể là ổ cứng đã bị hỏng
hoàn toàn (do nguồn điện không ổn định hoặc bị “sốc” do chấn động). Trường hợp đĩa
cứng hoạt động tốt (không có thông báo lỗi từ BIOS) nhưng không vào được hệ điều
hành thì nguyên nhân có thể thuộc về phần mềm. Bao gồm hỏng master-boot-record,
bảng FAT, hoặc hệ điều hành bị lỗi.
2.3.3 Các hỏng hóc từ thiết bị xử lý
Loại trừ các trường hợp hỏng hóc ở trên, các nguyên nhân còn lại có thể xuất phát từ
các thiết bị tham gia vào quá trình xử lý thông tin như CPU, RAM, mainboard, hoặc
video card. Cách chẩn đoán hỏng hóc tốt nhất trong trường hợp này là lắng nghe tiếng bip
Trang 11
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
phát ra từ chiếc loa nhỏ gắn trong thùng máy. Số lượng tiếng bip, loại tiếng bip và
khoảng cách giữa chúng cho ta biết được thiết bị nào đang bị hỏng. Tuy nhiên, giải pháp
này không bao giờ hoàn toàn chính xác vì những qui ước này tùy thuộc vào nhà sản xuất

BIOS.
Qua việc nghiên cứu và tham khảo, dưới đây là danh sách lỗi thường gặp của phần
cứng:
[Err1] Lỗi không thể đọc được thông tin cấu hình lưu trong CMOS
[Err2] BIOS cần phải thay thế
[Err3] Lỗi chip đồng hồ trên MAINBOARD bị hỏng.
[Err4] MAINBOARD có thể bị hỏng
[Err5] RAM có thể bị lỏng
[Err6] Chip kiểm tra bàn phím có thể bị hỏng
[Err7] Card màn hình có thể bị lỏng
[Err8] Card màn hình có thể bị hỏng
[Err9] Một trong những card bổ sung gắn trên MAINBOARAD có thể bị hỏng.
[Err10] Pin CMOS có thể bị hỏng
[Err11] Cổng nối tiếp có thể bị hỏng
[Err12] Cổng song song có thể bị hỏng
[Err13] Bộ vi xử lý có thể bị hỏng
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT
3.1 Phân loại tri thức cho lỗi phần cứng máy tính
3.1.1 Nhóm hỏng hóc từ nguồn điện
Dấu hiệu: đèn led nguồn tắt, quạt nguồn không chạy, màn hình không hiển thị. Các
thiết bị có khả năng gây ra lỗi: cáp nguồn bị lỏng, bộ nguồn bị cháy. Chẩn đoán: Kiểm tra
lại cáp nguồn. Nếu như cáp nguồn của máy tính bị lỏng thì chính là nguyên nhân. Ngược
Trang 12
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
lại, nếu như cáp nguồn không bị lỏng mà máy vẫn không hoạt động thì có thể lỗi về bộ
nguồn.
3.1.2 Nhóm hỏng hóc từ các thiết bị xử lý
Dấu hiệu: đèn led nguồn sáng, có một tiếng bíp ngắn chứng tỏ máy tính khởi động
được, nhưng màn hình lại không hiển thị.Các thiết bị có thể gây ra lỗi: do cáp tín hiệu
hay màn hình. Chẩn đoán: Kiểm tra lại cáp tín hiệu màn hình, nếu lỏng thì đây là nguyên

nhân. Nếu như cáp tín hiệu màn hình không lỏng và nút trên màn hình cũng không chỉnh
sai thì có thể nguyên nhân chính là do màn hình bị hỏng.
3.1.3 Nhóm hỏng hóc từ các thiết bị xử lý
Dấu hiệu: đèn led nguồn sáng, nhưng màn hình không hiển thị thông tin, kèm theo
một dãy các tiếng bip phát ra từ loa hệ thống gắn trong case. Các thiết bị có thể gây ra lỗi:
CMOS, BIOS, mainboard, RAM, CPU. Chẩn đoán: Số lượng tiếng pip và khoảng thời
gian giữa chúng cho biết một thiết bị cụ thể nào đó là nguyên nhân gây ra lỗi.
3.1.4 Nhóm hỏng hóc do dữ liệu
Dấu hiệu: màn hình có hiển thị, loa máy tính phát ra tiếng píp ngắn chứng tỏ quá
trình kiểm tra phần cứng thành công, tuy nhiên máy tính không vào được hệ điều hành.
Các thiết bị có thể gây ra lỗi: ổ cứng, cáp dữ liệu ổ cứng, hệ điều hành bị hỏng. Chẩn
đoán: Nếu màn hình xuất hiện thông báo: “Hard Disk Failure” thì nguyên nhân có thể là
do lỏng cáp dữ liệu hoặc cáp nguồn đĩa cứng. Nếu cắm lại cáp mà kết quả vẫn không thay
đổi, thì nguyên nhân là do ổ đĩa cứng có vấn đề. Nếu không có thông báo “Hard Disk
Failure” thì nguyên nhân xuất phát từ phần mềm như hệ điều hành bị lỗi, hoặc master
boot_record, boot sector bị hỏng…
3.2 Cài đặt và thử nghiệm
3.2.1 Mô hình hóa tri thức
Tri thức được mô hình hóa gồm tập các sự kiện Facts và tập các luật Rules. Trong đó,
mỗi sự kiện f trong Facts là một bộ gồm: (FC, Q, Y, N)
Trang 13
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
Với:
• FC là tập các tên sự kiện
• Q là tập các câu hỏi dựa trên tập sự kiện
• Y là tập các câu khẳng định trên tập sự kiện
• N là tập các câu phủ định trên tập sự kiện
Ví dụ:
Xét sự kiện f: với FC(f):DEN_LED_NGUON_TAT thì:
• Q(f): Kiểm tra lại cáp nguồn có bị lỏng hay không?

• Y(f): Cáp nguồn bị lỏng
• N(f): Bộ nguồn của máy tính có thể bị lỗi
Hệ thống gồm có tập 53 sự kiện sau:
STT Tên sự kiện Mô tả
1
DEN_LED_NGUON_TAT Đèn led nguồn tắt
2
QUAT_NGUON_KHONG_CHAY Quạt nguồn không chạy
3
MAN_HINH_KHONG_HIEN_THI Màn hình không hiển thị
4
MOT_TIENG_BIP_NGAN Một tiếng bip ngắn
5
HAI_TIENG_BIP_NGAN Hai tiếng bip ngắn
6
BA_TIENG_BIP_NGAN Ba tiếng bip ngắn
7
BON_TIENG_BIP_NGAN Bốn tiếng bip ngắn
8
NAM_TIENG_BIP_NGAN Năm tiếng bip ngắn
9
SAU_TIENG_BIP_NGAN Sáu tiếng bip ngắn
10
BAY_TIENG_BIP_NGAN Bảy tiếng bip ngắn
11
TAM_TIENG_BIP_NGAN Tám tiếng bip ngắn
12
CHIN_TIENG_BIP_NGAN Chín tiếng bip ngắn
13
MUOI_TIENG_BIP_NGAN Mười tiếng bip ngắn

14
MUOI_MOT_TIENG_BIP_NGAN Mười một tiếng bip ngắn
Trang 14
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
15
MOT_BIP_DAI_BA_BIP_NGAN Một bip dài 3 bíp ngắn
16
MOT_BIP_DAI_TAM_BIP_NGAN Một bip dài 8 bíp ngắn
17
MOT_MOT_BA_PHOENIX Một bip dừng 1 bip dừng 3 bip dừng
18
MOT_MOT_BON_PHOENIX Một bip dừng 1 bip dừng 4 bip dừng
19
MOT_HAI_MOT_PHOENIX Một bip dừng 2 bip dừng 1 bip dừng
20
MOT_BA_MOT_PHOENIX Một bip dừng 3 bip dừng 1 bip dừng
21
MOT_BON_HAI_PHOENIX Một bip dừng 4 bip dừng 2 bip dừng
22
HAI_KHONG_KHONG_PHOENIX Tiếng bip kéo dài sau 2 lần bip
23
BA_HAI_BON_PHOENIX Ba bip dừng 2 bip dừng 4 bip dừng
24
BA_BON_KHONG_PHOENIX
Ba bip dừng 4 bip dừng tiếng bip
kéo dài sau đó.
25
BON_HAI_BON_PHOENIX Bốn bip dừng 2 bip dừng 4 bip dừng
26
BON_BA_BON_PHOENIX Bốn bip dừng 3 bip dừng 4 bip dừng

27
BON_BON_MOT_PHOENIX Bốn bip dừng 4 bip dừng 1 bip dừng
28
BON_BON_HAI_PHOENIX Bốn bip dừng 4 bip dừng 2 bip dừng
29
BON_BON_BA_PHOENIX Bốn bip dừng 4 bip dừng 3 bip dừng
30
MOT_MOT_HAI_PHOENIX Một bip dừng 1 bip dừng 2 bip dừng
31
MAY_KHONG_VAO_HE_DIEU_HANH Máy không vào hệ điều hành
32
CAP_NGUON_BI_LONG Cáp nguồn bị lỏng
33
LOI_BO_NGUON Lỗi bộ nguồn
34
CAP_NGUON_KHONG_BI_LONG Cáp nguồn không bị lỏng
35
DEN_LED_NGUON_SANG Đèn led nguồn sáng
36
MOT_TIENG_BIP_DAI Một tiếng bip dài
37
CAP_TIN_HIEU_BI_LONG Cáp tín hiệu bị lỏng
38
CAP_TIN_HIEU_KHONG_BI_LONG Cáp tín hiệu không bị lỏng
39
MAN_HINH_BI_HONG Màn hình bị hỏng
Trang 15
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
40
LOI_CAU_HINH_CMOS

Lỗi không thể đọc thông tin cấu
hình trong CMOS
41
BIOS_CAN_THAY Bios cần thay thế
42
CHIP_MAINBOARD_HONG Chip đồng hồ trên mainboard bị hỏng
43
MAINBOARD_HONG Mainboard bị hỏng
44
RAM_BI_LONG RAM bị lỏng
45
RAM_BI_HONG RAM bị hỏng
46
CHIP_BAN_PHIM_HONG Chip kiểm tra bàn phím bị hỏng
47
CARD_MAN_HINH_BI_LONG Card màn hình bị lỏng
48
CARD_MAN_HINH_BI_HONG Card màn hình bị hỏng
49
PIN_CMOS_HONG Pin CMOS bị hỏng
50
CONG_NOI_TIEP_HONG Cổng nối tiếp bị hỏng
51
CONG_SONG_ SONG _HONG Cổng song song bị hỏng
52
VI_XU_LY_HONG Bộ vi xử lý bị hỏng
53
CPU_BI_HONG CPU bị hỏng
3.2.2 Tập các luật (Rules)
Hệ thống gồm có tập 31 luật như sau:

R1: DEN_LED_NGUON_TAT AND QUAT_NGUON_KHONG_CHAY AND MAN_HINH_KHONG_HIEN_THI =>
CAP_NGUON_BI_LONG
R2: DEN_LED_NGUON_TAT AND QUAT_NGUON_KHONG_CHAY AND MAN_HINH_KHONG_HIEN_THI AND
CAP_NGUON_KHONG_BI_LONG=> LOI_BO_NGUON
R3: DEN_LED_NGUON_SANG AND MOT_TIENG_BIP_DAI AND MAN_HINH_KHONG_HIEN_THI =>
CAP_TIN_HIEU_BI_LONG
R4: DEN_LED_NGUON_SANG AND MOT_TIENG_BIP_DAI AND MAN_HINH_KHONG_HIEN_THI AND
CAP_TIN_HIEU_KHONG_BI_LONG => MAN_HINH_BI_HONG
R5: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND MOT_MOT_BA_PHOENIX
=> LOI_CAU_HINH_CMOS
R6: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND MOT_MOT_BON_PHOENIX
=> BIOS_CAN_THAY
R7: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND MOT_HAI_MOT_PHOENIX
Trang 16
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
=> CHIP_MAINBOARD_HONG
R8: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND MOT_BA_MOT_PHOENIX
=> MAINBOARD_HONG
R9: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND MOT_BON_HAI_PHOENIX
=> RAM_BI_LONG
R10: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND HAI_KHONG_KHONG_PHOENIX
=> RAM_BI_HONG
R11: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BA_HAI_BON_PHOENIX
=> CHIP_BAN_PHIM_HONG
R12: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BA_BA_BON_PHOENIX
=> CARD_MAN_HINH_BI_LONG
R13: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BA_BON_KHONG_PHOENIX
=> CARD_MAN_HINH_BI_HONG
R14: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BON_HAI_BON_PHOENIX
=> MAINBOARD_HONG

R15: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BON_BA_BON_PHOENIX
=> PIN_CMOS_HONG
R16: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BON_BON_MOT_PHOENIX
=> CONG_NOI_TIEP_HONG
R17: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BON_BON_HAI_PHOENIX
=> CONG_SONG_ SONG _HONG
R18: DEN_LED_NGUON_SANG AND MAN_HINH_KHONG_HIEN_THI AND BON_BON_BA_PHOENIX
=> VI_XU_LY_HONG
R19: HAI_TIENG_BIP_NGAN => CHIP_MAINBOARD_HONG
R20: BA_TIENG_BIP_NGAN => RAM_BI_HONG
R21: BON_TIENG_BIP_NGAN => MAINBOARD_HONG
R22: NAM_TIENG_BIP_NGAN => RAM_BI_LONG
R23: MOT_TIENG_BIP_NGAN => LOI_BO_NGUON
R24: SAU_TIENG_BIP_NGAN => CHIP_BAN_PHIM_HONG
R25: BAY_TIENG_BIP_NGAN => CPU_BI_HONG
R26: TAM_TIENG_BIP_NGAN => CARD_MAN_HINH_BI_HONG
R27: CHIN_TIENG_BIP_NGAN => BIOS_CAN_THAY
R28: MUOI_TIENG_BIP_NGAN => LOI_CAU_HINH_CMOS
R29: MUOI_MOT_TIENG_BIP_NGAN => PIN_CMOS_HONG
R30: MOT_BIP_DAI_BA_BIP_NGAN => RAM_BI_HONG
R31: MOT_BIP_DAI_TAM_BIP_NGAN => CARD_MAN_HINH_BI_HONG
3.2.3 Lưu trữ tri thức
Trang 17
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
Tri thức được lưu trữ dưới định dạng XML. Với nút gốc root có 2 nút con, nút facts
và nút rules. Trong đó facts có tập các nút con fact, rules có tập các nút con rule.Mỗi fact
f gồm có fcode, question, answery, answern tương ứng chính là FC(f), Q(f), Y(f), N(f).
Tập các sự kiện:
<xml id='knowledge-base' style='display: none'>
<root>

<facts>
<fact>
<fcode>DEN_LED_NGUON_TAT</fcode>
<question>Đèn led nguồn tắt đúng không?</question>
<answery>Đèn led nguồn tắt</answery>
<answern>Đèn led nguồn sáng</answern>
<commonerror>n</commonerror>
</fact>
<fact>
<fcode>QUAT_NGUON_KHONG_CHAY</fcode>
<question>Quạt nguồn không chạy được đúng không? </question>
<answery>Quạt nguồn không chạy được</answery>
<answern>Quạt nguồn bình thường</answern>
<commonerror>n</commonerror>
</fact>
<fact>
<fcode>MAN_HINH_KHONG_HIEN_THI</fcode>
<question>Màn hình không hiển thị đúng không?</question>
<answery>Màn hình không hiển thị</answery>
<answern>Màn hình hiển thị</answern>
<commonerror>n</commonerror>
</fact>
<fact>
<fcode>MOT_TIENG_BIP_NGAN</fcode>
<question>Loa trong thùng máy phát một tiếng bip ngắn đúng không?</question>
<answery>Loa trong thùng máy phát một tiếng bip ngắn</answery>
<answern>Loa trong thùng máy không phát một tiếng bip ngắn</answern>
<commonerror>n</commonerror>
</fact>
Biểu diễn tập luật:

<rules>
<rule><form>DEN_LED_NGUON_TAT AND QUAT_NGUON_KHONG_CHAY AND MAN_HINH_KHONG_HIEN_THI
=> CAP_NGUON_BI_LONG</form></rule>
<rule><form>DEN_LED_NGUON_TAT AND QUAT_NGUON_KHONG_CHAY AND MAN_HINH_KHONG_HIEN_THI
AND CAP_NGUON_KHONG_BI_LONG=> LOI_BO_NGUON</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MOT_TIENG_BIP_DAI AND MAN_HINH_KHONG_HIEN_THI
=>CAP_TIN_HIEU_BI_LONG</form></rule>
Trang 18
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
<rule><form>NOT DEN_LED_NGUON_TAT AND MOT_TIENG_BIP_DAI AND MAN_HINH_KHONG_HIEN_THI
AND CAP_TIN_HIEU_KHONG_BI_LONG => MAN_HINH_BI_HONG</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MAN_HINH_KHONG_HIEN_THI AND
MOT_MOT_BA_PHOENIX=> LOI_CAU_HINH_CMOS</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MAN_HINH_KHONG_HIEN_THI AND
MOT_MOT_BON_PHOENIX=> BIOS_CAN_THAY</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MAN_HINH_KHONG_HIEN_THI AND
MOT_HAI_MOT_PHOENIX=> CHIP_MAINBOARD_HONG</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MAN_HINH_KHONG_HIEN_THI AND
MOT_BA_MOT_PHOENIX=> MAINBOARD_HONG</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MAN_HINH_KHONG_HIEN_THI AND
MOT_BON_HAI_PHOENIX=> RAM_BI_LONG</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MAN_HINH_KHONG_HIEN_THI AND
HAI_KHONG_KHONG_PHOENIX=> RAM_BI_HONG</form></rule>
<rule><form>NOT DEN_LED_NGUON_TAT AND MAN_HINH_KHONG_HIEN_THI AND
BA_HAI_BON_PHOENIX=> CHIP_BAN_PHIM_HONG</form></rule>
3.2.4 Phương pháp suy diễn
Ta đã có thuật toán suy diễn lùi có giải thích. Tuy nhiên, khi cài đặt bước ‘yêu cầu
người dùng nhập dữ liệu’ (các ngôn ngữ lập trình giao diện dạng event, callback như việc
lập trình trên form, hay trên trình duyệt – TRỪ việc lập trình trên CONSOLE) các ngôn
ngữ lập trình KHÔNG chờ người dùng nhập xong dữ liệu mới thực hiện bước tiếp theo

thuật toán. Thực tế, các ngôn ngữ lập trình sẽ gọi pop-up hiển thị giao diện đồng thời
thực hiện các bước tiếp theo của thuật toán. Sau đó khi Pop-up được nhập dữ liệu và chọn
OK thì giá trị yêu cầu mới được gán, tuy nhiên lúc này không có ý nghĩa gì vì thuật toán
thực tế đã chạy xong.
Để giải quyết vấn đề này, trong phần source code demo, em đã cải tiến thuật toán suy
diễn lùi có cơ chế giải thích, mà với mỗi bước yêu cầu người dùng nhập câu trả lời thì
thuật toán sẽ lưu lại trạng thái hiện hành các luật, các sự kiện đang xét. Sau khi người
dùng nhập câu trả lời hệ thống sẽ gọi lại hàm suy diễn lùi với các trạng thái luật và sự
kiện xét trước đó.
3.2.5 Thiết kế và cài đặt
• Nền tảng hỗ trợ
Chương trình được xây dựng dựa trên ngôn ngữ javascript, html, css vì vậy có thể dễ
dàng chạy được đa nền tảng từ các trình duyệt Chrome, Firefox, IE. Đồng thời chỉ cần
một chút chỉnh sửa nhỏ là có thể chạy được trên các nền tảng di động như Android, iOS.
• Cấu trúc thư mục code
Trang 19
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
Chương trình dùng thư viện Ext Js để xây dựng giao diện. Cấu trúc thư mục code như
sau:
Hình 2: Cấu trúc thư mục code
Dưới đây là bảng mô tả thư mục và tập tin chính trong chương trình demo.
ST
T
Thư
mục/tập tin
Mô tả
1 css Chứa các định dạng màu sắc, font cho giao diện
2 images Chứa các hình ảnh trong ứng dụng
3 js Đây là thư mục chính chứa các xử lý, thuật toán suy diễn trên cơ
sở tri thức

4 index.js Giống như hàm main của C, dùng để hiển thị và thao tác trên
giao diện, khởi tạo các đối tượng chính trong ứng dụng
5 gui Chứa các lớp giao diện xây dựng cho chương trình. Như ta thấy
tập tin chat-panel.js dùng để tạo giao diện chat cho máy tính và
người sử dụng
6 index.html Chứa các cơ sở tri thức lưu dưới dạng xml và dùng để kích hoạt
chương trình.
Trang 20
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
3.2.6 Một số hình ảnh minh họa
Hình 3: Giao diện chương trình
Trang 21
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
Hình 4: Màn hình những lỗi thông thường
Hình 5: Màn hình hỏi đáp
Trang 22
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
CHƯƠNG 4 KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN
Việc tìm hiểu và xây dựng một hệ chuyên gia đầy đủ là việc đòi hỏi nhiều thời gian
và công sức. Do hạn chế về thời gian, nên bài báo cáo chưa thể hoàn tất một hệ chuyên
gia chẩn đoán một cách đầy đủ. Tuy nhiên, qua việc xây dựng hệ chuyên gia này em đã
đạt được một số kết quả, đồng thời cũng nhận biết được hạn chế còn lại của ứng dụng,
qua đó đề xuất hướng phát triển như sau.
4.1 Kết quả đạt được
• Tìm hiểu, phân tích và thiết kế được hệ chuyên gia chuẩn đoán lỗi phần cứng máy
tính
• Tìm hiểu và nắm được quy trình xây dựng một hệ chuyên gia
• Xây dựng chương trình demo
4.2 Hạn chế
• Hệ chuyên gia chỉ giải quyết một số lỗi thường gặp, dẫn đến tập luật còn đơn giản

• Bộ xử lý ngôn ngữ tự nhiên còn đơn giản
• Chưa xây dựng được một hệ chuyên gia hoàn chỉnh
4.3 Hướng phát triển
• Tiếp tục tìm hiểu và thu thập tri thức, tạo một bộ tri thức đầy đủ cho bài toán
• Xây dựng bộ xử lý ngôn ngữ tự nhiên tiện lợi và gần gũi với người sử dụng hơn.
• Xây dựng hệ chuyên gia hoàn chỉnh
TÀI LIỆU THAM KHẢO
[1] GS. TSKH Hoàng Kiếm, Bài giảng “Công nghệ tri thức và ứng dụng”, 2014
[2] Các Hệ Cơ Sở Tri Thức – Đại Học Quốc Gia TP HCM 2003 – Chủ biên: GS.TSKH
Hoàng Kiếm – TS Đỗ Văn Nhơn – TS Đỗ Phúc
Trang 23
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 2014
Trang 24

×