Báo cáo Đồ án môn Hệ chuyên gia - Đề tài: Xây dựng hệ chuyên gia chẩn đoán lỗi phần cứng máy tính

Trường Đại Học Bách Khoa  
Khoa Công Nghệ Thông Tin  
---o0o---  
BÁO CÁO ĐỒ ÁN MÔN HỌC  
HỆ CHUYÊN GIA  
XÂY DỰNG HỆ CHUYÊN GIA  
CHẨN ĐOÁN LỖI PHẦN CỨNG MÁY TÍNH  
Nhóm sinh viên:  
Huỳnh Ngọc Sơn  
Trần Duy  
Trần Đình Tú  
Nguyễn Vi Tùng  
Lớp: 05TLT  
Đà Nẵng – 10/2006  
CHƯƠNG 1  
GIỚI THIỆU  
I. Đặt vấn đề  
Những năm gần đây, ngành công nghiệp máy tính cá nhân đã có những bước phát triển  
rất mạnh mẽ. Mọi người đã quen thuộc với cảnh máy vi tính xuất hiện trong từng hộ gia đình  
như một thiết bị điện tử thông dụng. Tuy nhiên, chúng ta không thể phủ nhận rằng máy tính là  
một thiết bị phức tạp và khó sử dụng. Khi những hỏng hóc xuất hiện, cho dù là những hỏng  
hóc rất nhỏ, cũng có thể làm người sử dụng bối rối. Vì vậy, sự xuất hiện một phần mềm  
hướng dẫn mọi người tự tay khắc phục những lỗi thông dụng là thực sự cần thiết.  
Có hai giải pháp cho vấn đề trên. Một là 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.  
Cả hai phương án điều khả thi, nhưng với tình hình hiện nay, phương án thứ hai là phù  
hợp hơn cả. Một chương trình “thông minh” 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, như chúng ta đã biết, việc xây dựng một hệ chuyên gia đòi hỏi phải  
có một kho tri thức và công cụ xây dựng chương trình chuyên dụng. Hiện nay, nguồn thông  
tin khổng lồ trên Internet đã đáp ứng được yêu cầu thứ nhất. Thứ hai, ngôn ngữ Prolog là đủ  
mạnh để xây dựng bất kỳ chương trình thuộc lĩnh vực trí tuệ nhân tạo nào.  
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 Hệ chuyên gia, chúng tôi đã 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”. Đây thực ra là một lĩnh vực hẹp so với một hệ chuyên gia chẩn đoán, sửa  
chữa máy vi tính và các thiết bị ngoại vi.  
Do thời gian có hạn, chúng tôi không mong muốn 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 qui trình xây dựng hệ chuyên gia thông qua ví dụ nhỏ  
này. Những kiến thức sử dụng để xây dựng cơ sở luật trong bài tập này được chúng tôi thu  
thập chủ yếu từ các số báo của tạp chí Thế Giới Vi Tính Việt Nam, tạp chí eChip, cộng với  
kinh nghiệm bản thân.  
II. Nội dung thực hiện  
Nội dung thực hiện đề tài:  
ƒ Thu thập tri thức liên quan, chuẩn bị cho quá trình xây dựng cơ sở luật của hệ  
chuyên gia, 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.  
ƒ Phân tích các tri thức thu thập được, sau đó phân loại và biểu diễn thành các phát  
biểu. Sử dụng logic vị từ để xây dựng các tập luật, sự kiện.  
ƒ Chuyển các các luật và sự kiện thành ngôn ngữ Prolog.  
ƒ Sử dụng phần mềm Swi-Prolog để xây dựng hệ chuyên gia.  
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
III. Dự kiến kết quả đạt được  
Một người sử dụng hệ thống chẩn đoán lỗi phần cứng máy tính là để tìm ra nguyên nhân  
hỏng hóc của một máy tính nào đó, không bao gồm phần hướng dẫn sửa chữa. Vì vậy, chức  
năng duy nhất của chương trình là chỉ ra cho họ biết thiết bị nào là nguyên nhân gây ra hỏng  
hóc. Cách thức hoạt động có thể phát biểu ngắn gọn như sau:  
ƒ Người dùng đặt câu hỏi cho hệ thống: thiết bị nào là nguyên nhân gây hỏng hóc?  
ƒ Chương trình sẽ liên tục đưa ra các câu hỏi và thu thập câu trả lời từ người sử dụng.  
Nội dung câu hỏi sẽ xoay quanh các biểu hiện bên ngoài của máy tính. Các câu hỏi  
có thể là sự lựa chọn “có” hay “không”, hoặc chọn một câu trả lời trong danh sách  
cho trước.  
ƒ Dựa vào cơ sở luật được xây dựng sẵn, cộng với các câu trả lời thu thập được,  
chương trình sẽ đưa ra quyết định cuối cùng: chỉ định thiết bị gây ra lỗi. Việc hướng  
dẫn sửa chữa không thuộc phạm vi của bài toán này.  
IV. Bố cục trình bày  
Báo cáo này được trình bày thành bốn mục chính như sau:  
ƒ Phần I – Giới thiệu: xác định vấn đề, lựa chọn phương hướng giải quyết, trình bày  
tên đề tài, mục đích đề tài, và dự kiến kết quả thực hiện được.  
ƒ Phần II – Thu thập tri thức chuyên gia: trình bày sơ lược các kiến thức về phần  
cứng máy tính, các triệu chứng hỏng hóc thông thường đã thu thập được.  
ƒ Phần III – Phân tích và thiết kế: trình bày chi tiết việc chuyển đổi các tri thức thu  
thập được thành các tập luật, sự kiện trong logic vị từ. Sau đó chuyển đổi các tập  
luật, sự kiện này về dạng ngôn ngữ Prolog.  
ƒ Phần IV – Thực hiện & một số kết quả: giới thiệu một vài kết quả xây dựng được.  
2
CHƯƠNG 2  
THU THẬP TRI THỨC CHUYÊN GIA  
I. Một số kiến thức cơ bản về phần cứng máy tính  
I.1. Nhóm thiết bị xử lý  
I.1.1. Bo mạch chủ (mainboard)  
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.  
I.1.2. 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).  
I.1.3. 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ệ thố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.  
I.1.4. 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).  
I.2. Nhóm thiết bị hiển thị  
I.2.1. Card video (video card)  
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.  
I.2.2. 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ị (display).  
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
I.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à ổ điã 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.  
II. Giới thiệu các hỏng hóc thường gặp  
II.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 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à điã 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.  
II.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ị long 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.  
II.3. Các hỏng hóc từ các 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 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. Phần này chỉ đề  
cập tới loại BIOS tương đối phổ dụng là Phoenix.  
BIOS Phoenix phát ra 3 loạt tiếng bíp một. Chẳng hạn, 1 bíp dừng-3 bíp dừng. Mỗi loại  
được tách ra nhờ một khoảng dừng ngắn. Hãy lắng nghe tiếng bíp, đếm số lần bíp và tra cứu  
trong danh sách bên dưới.  
Mô tả mã lỗi chẩn đoán POST của BIOS PHOENIX:  
ƒ (1_1_3): lỗi không thể đọc được thông tin cấu hình lưu trong CMOS.  
ƒ (1_1_4): BIOS cần phải thay thế.  
ƒ (1_2_1): lỗi chip đồng hồ trên MAINBOARD bị hỏng.  
4
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
ƒ (1_3_1): MAINBOARD có thể bị hỏng.  
ƒ (1_4_2): kiểm tra lại RAM có bị lỏng hay không.  
ƒ (2_0_0) tiếng bíp kéo dài sau 2 lần bíp: RAM có thể bị hỏng.  
ƒ (3_2_4): chip kiểm tra bàn phím có thể bị hỏng.  
ƒ (3_3_4): card màn hình có thể bị lỏng.  
ƒ (3_4_0): card màn hình có thể bị hỏng.  
ƒ (4_2_4): một trong những card bổ sung gắn trên MAINBOARD có thể bị hỏng.  
ƒ (4_3_4): pin CMOS có thể bị hỏng.  
ƒ (4_4_1): cổng nối tiếp có thể bị hỏng.  
ƒ (4_4_2): cổng song song có thể bị hỏng.  
ƒ (4_4_3): bộ vi xử lý hỏng.  
5
CHƯƠNG 3  
PHÂN TÍCH VÀ THIẾT KẾ  
I. Tổng hợp và phân loại tri thức  
Trong quá trình tổng hợp và phân loại tri thức, chúng tôi chia các hỏng hóc thông  
thường thành bốn nhóm. Các hỏng hóc thuộc cùng một nhóm thì có chung một số biểu hiện  
ban đầu. Việc khoanh vùng này giúp việc mô tả các luật rõ ràng hơn. Phần này giới thiệu các  
biểu hiện đặt trưng của mỗi nhóm và dấu hiệu nhận biết các lỗi chi tiết bên trong nhóm. Hình  
3.1 trang bên sẽ mô tả các tri thức đã được phân loại này.  
I.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ì nó chính là  
nguyên nhân.  
ƒ Ngược lại, nếu như cáp nguồn không bị lỏng mà máy tính vẫn không khởi động  
được thì có thể có lỗi về bộ nguồn của máy tính.  
I.2. Nhóm hỏng hóc từ màn hình  
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ị thông tin.  
Các thiết bị có khả năng gây ra lỗi: do cáp tín hiệu hoặc 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 chính là nguyên nhân.  
ƒ Nếu cáp tín hiệu màn hình không lỏng thì nguyên nhân có thể là chỉnh sai các nút  
điều khiển trên màn hình.  
ƒ Nếu cáp tín hiệu màn hình không lỏng và các 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.  
I.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ó khả năng gây ra lỗi: CMOS, BIOS, mainboard, RAM, CPU…  
Chẩn đoán: số lượng tiếng bip 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 (xem lại phần II - thu thập tri thức chuyên gia):  
ƒ (1_1_3): lỗi không thể đọc được thông tin cấu hình lưu trong CMOS.  
ƒ (1_1_4): BIOS cần phải thay thế.  
ƒ (1_2_1): lỗi chip đồng hồ trên MAINBOARD bị hỏng.  
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
ƒ (1_3_1): mainboard có thể bị hỏng.  
ƒ (1_4_2): kiểm tra lại RAM có bị lỏng hay không.  
ƒ (2_0_0) tiếng bíp kéo dài sau 2 lần bíp: RAM có thể bị hỏng.  
ƒ (3_2_4): chip kiểm tra bàn phím có thể bị hỏng.  
ƒ (3_3_4): card màn hình có thể bị lỏng.  
ƒ (3_4_0): card màn hình có thể bị hỏng.  
ƒ (4_2_4): một trong những card bổ sung gắn trên mainboard có thể bị hỏng.  
ƒ (4_3_4): pin CMOS có thể bị hỏng.  
ƒ (4_4_1): cổng nối tiếp có thể bị hỏng.  
ƒ (4_4_2): cổng song song có thể bị hỏng.  
ƒ (4_4_3): bộ vi xử lý hỏng.  
I.4. Nhóm hỏng hóc do dữ liệu  
Dấu hiệu: màn hình có hiển thị thông tin, loa máy tính phát ra một tiếng bip 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ó khả năng gây ra lỗi: ổ cứng, cáp dữ liệu ổ cứng, hệ điều 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ư lỗi hệ điều hành, hoặc master boot_record, boot sector bị hỏng (gọi chung  
là lỗi hệ điều hành).  
7
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
8
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
II. Xây dựng các luật và sự kiện  
II.1. Bảng tên các hằng, luật, và sự kiện  
Các hằng sau đây được sử dụng để chỉ định các thiết bị máy tính trong hệ thống chẩn  
đoán lỗi, bao gồm các thiết bị có khả năng phát sinh lỗi (CPU, RAM, đĩa cứng...) và các thiết  
bị hiển thị trạng thái (đèn led, loa...):  
Stt  
1
2
3
4
Hằng  
Giải thích  
Chương trình BIOS trên mainboard  
Một card bất kỳ nào đó trên mainboard  
Chương trình CMOS trên mainboard  
Pin CMOS  
bios  
card_on_mainboard  
cmos  
cmos_battery  
cmos_ram  
5
6
RAM của CMOS  
Ổ đĩa cứng  
hdd  
hdd_cab  
keyboard  
7
8
Cáp dữ liệu hoặc cáp cấp điện của ổ đĩa cứng  
Bàn phím  
keyboard_test_chip  
mainboard  
mainboard_clock_chip  
monitor  
9
Chip kiểm tra bàn phím  
Bo mạch chủ  
Chip đồng hồ trên mainboard  
Màn hình  
Các nút điều chỉnh tín hiệu trên màn hình  
Cáp tín hiệu nối giữa CASE và màn hình  
Hệ điều hành  
Cổng song song  
Cáp nguồn máy tính  
Quạt nguồn  
Đèn led báo nguồn điện trên Case máy tính  
Bộ nhớ RAM  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
monitor_control_bnt  
monitor_signal_cable  
os  
parallel_port  
power_cab  
power_fan  
power_led  
ram  
ram_slot  
serial_port  
vga_card  
Khe cắm RAM  
Cổng nối tiếp  
Card video  
Khe cắm card video  
vga_card_slot  
Vị từ được sử dụng để biểu thị trạng thái của các thiết bị trong hệ thống. Ví dụ, đèn led  
nguồn sáng sẽ được biểu diễn thành ON(power_led).  
Stt  
1
2
Vị từ  
BAD_MSG(X)  
BIP(X)  
Giải thích  
Màn hình hiển thị thông báo lỗi về thiết bị X  
Máy tính phát ra tiếng BIP có đặt điểm X  
X có trạng thái là mở  
ON(X)  
3
LOAD(X)  
RIGHT(X)  
RUN(X)  
TIGHT(X)  
GROUP(X)  
ASK(Y,X)  
4
5
6
7
8
9
X được đọc (ví dụ, hệ điều hành)  
X được điều chỉnh đúng trạng thái (ví dụ: các nút chỉnh)  
X đang trong trạng tháy chạy (ví dụ: quạt nguồn)  
X được gắn đúng (ví dụ: dây cáp điện, cáp tín hiệu...)  
Máy tính đang thuộc nhóm hỏng hóc X nào đó  
Đưa ra câu hỏi cho người dùng rằng thiết bị X hiện có mang  
trạng thái Y hay không.  
REASON(X)  
10  
X là nguyên nhân gây ra lỗi  
9
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
Các hằng chỉ định bốn nhóm hỏng hóc:  
Stt  
1
2
3
4
Hằng  
Giải thích  
os_problem  
Tình trạng máy tính không vào được hệ điều hành  
Tình trạng màn hình không có tín hiệu  
Tình trạng không có nguồn điện vào  
monitor_problem  
power_problem  
processor_problem  
Tình trạng máy tính hỏng một thiết bị xử lý nào đó  
II.2. Xây dựng sự kiện và luật  
Để đưa ra câu hỏi cho người dùng và thu thập câu trả lời từ họ, chúng ta sử dụng vị từ  
ASK(Y,X). Trong đó, X là tên thiết bị, Y là biểu hiện (trạng thái) của thiết bị đó. Ví dụ, một  
thiết bị X bất kỳ đưa ra thông báo lỗi (bad message) nếu người dùng xác nhận là đúng:  
∀X, ASK(bad_msg, X) Æ BAD_MSG(X)  
Tương tự, chúng ta có được các luật sau:  
∀X, ASK(on,X) Æ ON(X)  
∀X, ASK(bip,X) Æ BIP(X)  
∀X, ASK(run,X) Æ RUN(X)  
∀X, ASK(right,X) Æ RIGHT(X)  
Các luật dùng để xác định nhóm hỏng hóc:  
¬ON(power_led) ∧ ¬ON(monitor) ∧ ¬RUN(power_fan) Æ GROUP(power_broblem)  
ON(power_led) ∧ ¬ON(monitor) ∧ BIP(1) Æ GROUP(monitor_broblem)  
ON(power_led) ∧ ¬ON(monitor) ∧ ¬BIP(1) Æ GROUP(processor_broblem)  
ON(monitor) ∧ BIP(1) ∧ ¬LOAD(os) Æ GROUP(os_broblem)  
Các luật dùng để chẩn đoán cho hỏng hóc từ nguồn điện:  
GROUP(power_broblem) ∧ TIGHT(power_cable) Æ REASON(power)  
GROUP(power_broblem) ∧ ¬TIGHT(power_cable) Æ REASON(power_cable)  
Các luật cho hỏng hóc liên quan đến mà hình máy tính:  
GROUP(monitor_problem) ∧ ¬TIGHT(monitor_signal_cable)  
Æ REASON(monitor_signal_cable)  
GROUP(monitor_problem) ∧ TIGHT(monitor_signal_cable)  
Æ REASON(monitor_control_bnt)  
GROUP(monitor_problem) ∧ TIGHT(monitor_signal_cable) ∧  
RIGHT(monitor_control_bnt)  
Æ REASON(monitor)  
Các luật cho hỏng hóc từ các đơn vị xử lý:  
GROUP(processor_problem) ∧ BIP(1_1_3)Æ REASON(cmos)  
GROUP(processor_problem) ∧ BIP(1_1_4)Æ REASON(bios)  
GROUP(processor_problem) ∧ BIP(1_2_1)Æ REASON(mainboard_clock_chip)  
GROUP(processor_problem) ∧ BIP(1_3_1)Æ REASON(mainboard)  
GROUP(processor_problem) ∧ BIP(1_4_2)Æ REASON(ram_slot)  
10  
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
GROUP(processor_problem) ∧ BIP(2_0_0)Æ REASON(ram)  
GROUP(processor_problem) ∧ BIP(3_2_4)Æ REASON(keyboard_test_chip)  
GROUP(processor_problem) ∧ BIP(3_3_4)Æ REASON(vga_card_slot)  
GROUP(processor_problem) ∧ BIP(3_4_0)Æ REASON(vga_card)  
GROUP(processor_problem) ∧ BIP(4_2_4)Æ REASON(card_on_mainboard)  
GROUP(processor_problem) ∧ BIP(4_3_4)Æ REASON(cmos_battery)  
GROUP(processor_problem) ∧ BIP(4_4_1)Æ REASON(serial_port)  
GROUP(processor_problem) ∧ BIP(4_4_2)Æ REASON(paralel_port)  
GROUP(processor_problem) ∧ BIP(4_4_3)Æ REASON(cpu)  
Các luật cho hỏng hóc từ đĩa cứng và dữ liệu:  
GROUP(os_problem) ∧ BAD_MSG(hdd) ∧ TIGHT(hdd_cab) Æ REASON(hdd)  
GROUP(os_problem) ∧ BAD_MSG(hdd) ∧ ¬TIGHT(hdd_cab)Æ REASON(hdd_cable)  
GROUP(os_problem) ∧ ¬BAD_MSG(hdd) Æ REASON(os)  
III. Chuyển các luật và sự kiện về ngôn ngữ Prolog  
Các luật hỏi trạng thái:  
on(X):- ask(on,X).  
run(X):- ask(run,X).  
tight(X):- ask(tight,X).  
right(X):- ask(right,X).  
bip(X):- ask(bip,X).  
load(X):- ask(load,X).  
bad_mess(X):- ask(bad_message,X).  
Các luật xác định nhóm hỏng hóc:  
group(power_problem):- not(on(power_led)), not(run(power_fan)), not(on(monitor)).  
group(monitor_problem):- on(power_led), not(on(monitor)), bip(one_bip).  
group(processor_problem):- on(power_led), not(on(monitor)), not(bip(one_bip)).  
group(os_problem):- on(power_led), on(monitor), not(load(os)).  
Nhóm hỏng hóc do nguồn:  
reason(power_cable):- group(power_problem), not(tight(power_cable)).  
reason(power):- group(power_problem), tight(power_cable).  
Nhóm hỏng hóc do màn hình:  
reason(monitor_signal_cable):- group(monitor_problem),  
not(tight(monitor_signal_cable)).  
reason(monitor_contrast_button):- group(monitor_problem),  
tight(monitor_signal_cable),  
not(right(monitor_button_bnt)).  
11  
Hệ chuyên gia chẩn đoán lỗi phần cứng máy tính  
reason(monitor):- group(monitor_problem),  
tight(monitor_signal_cable),  
right(monitor_button_bnt).  
Nhóm hỏng hóc từ các thiết bị xử lý:  
reason(cmos):- group(processor_problem), bip(one_one_three).  
reason(bios):- group(processor_problem), bip(one_one_four).  
reason(mainboard_clock_chip):- group(processor_problem), bip(one_two_one).  
reason(mainboard):- group(processor_problem), bip(one_three_one).  
reason(ram_slot):- group(processor_problem), bip(one_four_two).  
reason(keyboard_test_chip):- group(processor_problem), bip(three_two_four).  
reason(vga_card):- group(processor_problem), bip(three_four_zero).  
reason(vga_card_slot):- group(processor_problem), bip(three_three_four).  
reason(cmos_battery):- group(processor_problem), bip(four_three_four).  
reason(serial_port):- group(processor_problem), bip(four_four_one).  
reason(parallel_port):- group(processor_problem), bip(four_four_two).  
reason(cpu):- group(processor_problem), bip(four_four_three).  
Nhóm hỏng hóc từ dữ liệu:  
reason(os):- group(os_problem), not(bad_msg(hdd)).  
reason(hdd_cable):- group(os_problem), bad_msg(hdd), not(tight(hdd_cable)).  
reason(hdd):- group(os_problem), bad_msg(hdd), tight(hdd_cable).  
IV. Đặt câu hỏi  
Đặt câu hỏi:  
?- reason(X).  
Kết quả trả lời từ Prolog:  
4 ?- reason(X).  
power_led:off?  
|: yes.  
power_fan:stop?  
|: yes.  
monitor:off?  
|: yes.  
power_cable:loosely?  
|: yes.  
X = power_cable ;  
12  
KẾT LUẬN  
Xây dựng một hệ chuyên nói chung và hệ chuyên gia về chẩn đoán, sửa chữa máy tính  
là một công việc đòi hỏi nhiều thời gian và công sức. Do bị giới hạn về mặt thời gian, bài tập  
này chỉ hoàn thành ở mức cơ bản, mang một qui mô nhỏ. Trong quá trình thực hiện đồ án,  
chúng tôi đã thực hiện được những công việc sau:  
ƒ Mô tả bài toán, tổng hợp và phân loại tri thức  
ƒ Mô tả tri thức bằng logic vị từ, chuyển về ngôn ngữ Prolog  
ƒ Cài đặt bài toán bằng phần mềm Swi-Prolog  
Hướng phát triển của bài tập:  
ƒ Tiếp tục thu thập dữ liệu để củng cố kho cơ sở tri thức cho bài toán.  
ƒ Mở rộng qui mô chẩn đoán của chương trình, theo chiều sâu (xác chi tiết lỗi hơn)  
lẫn chiều rộng (cho chép chẩn đoán tất cả các lỗi phần cứng lẫn phần mềm).  
ƒ Sử dụng các công cụ mạnh hơn Swi-Prolog như WinProlog, Visual Prolog nhằm  
xây dựng giao diện trực quan cho chương trình.  
MỤC LỤC  
GIỚI THIỆU...............................................................................................................................1  
I. Đặt vấn đề ...........................................................................................................................1  
II. Nội dung thực hiện.............................................................................................................1  
III. Dự kiến kết quả đạt được..................................................................................................2  
IV. Bố cục trình bày ...............................................................................................................2  
THU THẬP TRI THỨC CHUYÊN GIA ...................................................................................3  
I. Một số kiến thức cơ bản về phần cứng máy tính ................................................................3  
I.1. Nhóm thiết bị xử lý ......................................................................................................3  
I.1.1. Bo mạch chủ (mainboard).....................................................................................3  
I.1.2. Bộ vi xử lý (CPU - Central Processor Unit).........................................................3  
I.1.3. Hệ vào/ra cơ sở (BIOS).........................................................................................3  
I.1.4. Bộ nhớ chính (main memory) ...............................................................................3  
I.2. Nhóm thiết bị hiển thị ..................................................................................................3  
I.2.1. Card video (video card).........................................................................................3  
I.2.2. Màn hình (monitor)...............................................................................................3  
I.3. Nhóm thiết bị lưu trữ....................................................................................................4  
II. Giới thiệu các hỏng hóc thường gặp..................................................................................4  
II.1. Các hỏng hóc từ nguồn điện .......................................................................................4  
II.2. Các hỏng hóc từ đĩa cứng và hệ điều hành .................................................................4  
II.3. Các hỏng hóc từ các thiết bị xử lý ..............................................................................4  
PHÂN TÍCH VÀ THIẾT KẾ .....................................................................................................6  
I. Tổng hợp và phân loại tri thức ............................................................................................6  
I.1. Nhóm hỏng hóc từ nguồn điện.....................................................................................6  
I.2. Nhóm hỏng hóc từ màn hình........................................................................................6  
I.3. Nhóm hỏng hóc từ các thiết bị xử lý............................................................................6  
I.4. Nhóm hỏng hóc do dữ liệu...........................................................................................7  
II. Xây dựng các luật và sự kiện.............................................................................................9  
II.1. Bảng tên các hằng, luật, và sự kiện.............................................................................9  
II.2. Xây dựng sự kiện và luật ..........................................................................................10  
III. Chuyển các luật và sự kiện về ngôn ngữ Prolog ............................................................11  
IV. Đặt câu hỏi .....................................................................................................................12  
KẾT LUẬN ..............................................................................................................................13  
pdf 15 trang yennguyen 22480 Free
Bạn đang xem tài liệu "Báo cáo Đồ án môn Hệ chuyên gia - Đề tài: Xây dựng hệ chuyên gia chẩn đoán lỗi phần cứng máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbao_cao_do_an_mon_he_chuyen_gia_de_tai_xay_dung_he_chuyen_gi.pdf