Sẽ có hai giải pháp cho chúng ta lựa chọn hoặc là tự mình xác định máy tính bị “bệnh” gì?, ta có thể sửa được không?, có nguy hiểm lắm không?,… từ đó ta xác định được phương án đối phó.
Trang 1Bài tập lớn: Tìm hiểu về Expert System Shell
Trang 3I Xác định bài toán
a Bài toán đặt ra là gì?
i Ngày nay, máy tính không còn là thứ đồ xa xỉ Cùng với thời gian, máy tính
sẽ phải gặp những trục trặc, điều này có thể làm ảnh hưởng rất lớn đến công việc của chúng ta Có thể đó là một lỗi rất nặng, chúng ta cần một chuyên gia trong lĩnh vực linh kiện máy tính giúp đỡ, nhưng cũng có thể đó chỉ là
do ổ điện của chúng ta không vào điện, một khe RAM vừa bị lỏng ra Chúng ta sẽ làm gì khi đó? Sẽ có hai giải pháp cho chúng ta lựa chọn hoặc
là tự mình xác định máy tính bị “bệnh” gì?, ta có thể sửa được không?, có nguy hiểm lắm không?,… từ đó ta xác định được phương án đối phó Thứ hai bạn có thể đưa nó ra các trung tâm sửa chữa để được trợ giúp Ở đó bạn
có thể phải ngồi chờ cả nửa ngày vì nếu để đó về thì sợ bị “luộc đồ” Sẽ thật ngớ ngẩn nếu phải ngồi đó chờ cả nửa ngày để được cắm lại một khe RAM hay thay cáp tín hiệu của ổ cứng Đó là trường hợp bạn đã tìm được cho mình một cửa hàng sửa chữa đủ tin tưởng, nếu không thì sẽ không biết có những chuyện gì sẽ xảy ra.
ii Mặt khác, các bệnh thường gặp trong máy tính là không quá nhiều và chúng cũng có những cách kiểm tra không đỏi hỏi một trình độ hiểu biết sâu rộng Trên cở sở phân tích các bệnh thường gặp trong máy tính để bàn nhóm chúng em nhận thấy cần thực hiện: “phỏng đoán và đưa ra giải pháp cho các bệnh thường gặp ở máy tính để bàn”.
b Tầm quan trọng của bài toán
iii Vì sao cần bài toán này?
1 Ngày nay, linh kiện máy tính để bàn được bảo hành trong một khoảng thời gian khá dài: ba năm cho ổ cứng, RAM, Mainboard, CPU; 6 tháng cho chuột và bàn phím Điều đó cho thấy việc trục trặc
kỹ thuật ở các linh kiện này có xác suất khá thấp Các sự cố gặp phải thường do phần mềm, do tiếp xúc giữa các linh kiện giảm sút sau một thời gian hoạt động,… Những sự cố này ta có thể khắc phục được nếu được chỉ dẫn.
2 Phần lớn những người dùng máy tính hiện này còn rất ít quan tâm hay có rất ít kiến thức về các sự cố của máy tính Khi sự cố xảy ra,
họ sẽ không biết phải sử lý thế nào và phải nhờ đến sự trợ giúp của các thợ sửa chữa máy tính, nhưng không phải lúc nào ta cũng tìm
Trang 43 Trước tình hình đó, nhóm quyết định lựa chọn thực hiện phỏng đoán
và đưa ra giải pháp cho các bệnh thường gặp của máy tính để bàn.
c Phạm vi bài toán.
i Bài toán chỉ tập trung vào việc xây dựng phần mềm phỏng đoán và đưa ra các giải pháp cho các bệnh của máy tính để bàn Các bệnh được xét thường
là các bệnh có thể tự mình thực hiện khắc phục hoặc là để tìm ra bộ phận gây ra sự cố giúp cho người sử dụng có được các nhận định và kiến thức để
sử dụng trong lúc bắt buộc phải đưa máy tới các trung tâm sửa chữa và bảo hành.
ii Bài toán được xây dựng với mục đích chia sẻ kiến thức và kinh nghiêm cho tất cả mọi người một cách miễn phí.
d Các giải pháp đề ra
i Giới thiệu các giải pháp:
1 Giải pháp 1: Thực hiện đào tạo về các các bệnh thường gặp của máy tính và phương pháp sửa chữa tới mọi người bằng các phương tiện thông tin đại chúng và trên mạng chia sẻ.
2 Giải pháp 2: Xuất bản ebook chia sẻ, đồng thời xuất bản ấn bản sách
về các bệnh của máy tính.
3 Giải pháp 3: Xây dựng một phần mềm đáp ứng yêu cầu ở trên.
4 Giải pháp 4: Xây dựng một hệ chuyên gia phỏng đoán và đưa ra các giải pháp thường gặp ở máy tính để bàn.
ii Kết luận giải pháp lựa chọn:
1 Giải pháp 1:
a Ưu điểm:
i Có thể trực tiếp truyền thụ được kiến thức cho mọi người.
ii Có thể lấy các ý kiến phản hồi của người nghe.
iii Có thể phát tán thông tin một cách rộng rãi nhanh chóng.
b Nhược điểm:
i Chi phí cho một khóa đào tạo là không nhỏ do phải lên giáo trình, thuê giảng viên, xây dựng chương trình và chi phí đăng lên các phương tiện thông tin đại chúng.
ii Khi máy tính chưa gặp sự cố có thể người sử dụng sẽ không quan tâm tới những gì chúng ta muốn chia sẻ iii Chưa tìm được nguồn kinh phí cho những chi phí phải trả.
2 Giải pháp 2:
a Ưu điểm:
i Chi phí thấp.
b Nhược điểm:
Trang 5iv Vấn đề chúng ta đặt ra đã có nguồn tri thức chuyên gia
và có thể biểu diễn được.
v Vấn đề cần giải quyết là nhỏ lên có thể hiện thực hệ chuyên gia một cách dễ dàng.
b Nhược điểm:
i Việc thu thập tri thức chuyên gia phụ thuộc vào kinh nghiệm của người thực hiện.
ii Việc xây dựng hệ chuyên gia phải luôn luôn cập nhật
và nâng cấp, sẽ không có phiên bản cuối cùng.
5 Kết luận:
a Từ việc phân tích ở trên kết hợp với mục đích của đề tài là
Trang 6dụng không phải cài đặt bất cứ phần mềm nào khác cũng có thể sử dụng được Điều này cũng làm cho việc chia sẽ và phổ biến trở lên dễ dàng hơn Ta chỉ cần đăng kí một máy chủ và tên miền miễn phí sau đó đưa hệ chuyên gia của ta lên để mọi người có thể sử dụng Mặt khác trong khi máy tính của người
sử dụng không thể khởi động lên nếu ta lại yêu cầu người sử dụng phải cài đặt mới có thể sự dụng sẽ rất khó khăn.
b Trước những lựa chọn đó nhóm đã quyết định sử dụng một
“Expert System Shell” để xây dựng hệ chuyên gia của nhóm Điều này sẽ giúp giảm chi phí cho việc xây dựng hệ chuyên gia Điều này hoàn toàn phù hợp với mục đích của dự án là xây dựng một hệ chuyên gia chia sẻ cho mọi người.
c Sau khi đã quyết định giải pháp qua quá trình tìm hiểu nhóm chúng em nhận thấy Shell: “eXpertise2Go” phù hợp với những yêu cầu đặt ra của đề tài là miễn phí, có thể chạy hệ chuyên gia trên mạng và dễ dàng xây dựng và cập nhật cơ sở tri thức bằng giao diện đồ họa.
II Giới thiệu Shell eXpertise2Go
a Tổng quan:
- Công nghệ sử dụng: Shell eXpertise2Go được viết bằng Java, là một
ngôn ngữ lập trình hướng đối tượng Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi Như vậy bằng cách này Java thường chạy nhanh hơn những ngôn ngữ lập trình thông dịch khác như PHP, Python.
- Cú pháp Java được xây dựng trên nền tảng từ C và C++ nhưng cú pháp
hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn Chương trình viết bằng Java có thể chạy trên mọi nền tảng khác nhau với điều kiện nó được cài JVM Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS…Ngoài ra một
số công ty, tổ chức cũng như cá nhân cũng có thể phát triển môi trường thực thi Java cho những hệ điều hành khác, trong đó đáng kể là IBM Java Platform hỗ trợ Windowx, Linux, AIX.
- Để sử dụng được Shell eXpertise2Go chúng ta phải cần Java Runtime
Engine (JRE) được cài đặt và cấu hình đúng trên máy tính
i Cài đặt:
Trang 7- e2gRuleEngine là một Java applet được nhúng trong trang HTML để nó
chạy trong trình duyệt web của người dùng Applet có thể được tải về từ một máy chủ Web, trình duyệt của người dùng nạp và thực thi Applet tải cơ sở tri thức từ các máy chủ hoặc máy tính cá nhân và sau đó thực hiện trong trình duyệt
ii Phân tích ưu nhược điểm của Shell eXpertise2Go
1 Ưu điểm:
Shell eXpertise2Go rất dễ dàng cài đặt, bạn chỉ cần download trên internet, cài đặt và cấu hình phiên bản gần đây (phiên bản 1.6.x trở lên) của Java Runtime Engine (JRE) tương thích với máy là có thể bắt đầu sử dụng, bên cạnh đó nó cũng tương đối dễ sử dụng.
Có thể kết hợp e2gRuleEngine vào những trang Web mà người dùng phát triển.
2 Nhược điểm:
Đây là một phần mềm đang được phát triển, nó phục vụ cho mục đích giáo dục và thực nghiệm nên giao diện không được chú trọng, chưa được hợp lí.
Phần mềm này sẽ là nguyên mẫu cho việc phát triển trong tương lai gần, vấn đề bắt sự kiện trong quá trình sử dụng còn kém.
b Giới thiệu sơ lượt về cách sử dụng Shell eXpertise2Go:
i Cách sử dụng shell.
1 Bắt đầu e2gRuleWriter:
Trang 8Giao diện của e2gRuleWriter
- Màn hình đầu vào đại diện cho ba chế độ:
o CONDITIONS: Điều kiện (Màu vàng).
o ACTION: Hành động (Màu xanh lá).
o RULE: Luật (Màu xanh nhạt).
- e2gRuleWriter bắt đầu hoạt động trong chế độ CONDITIONS (điều
kiện) Chọn một dòng ACTION để thay đổi phương thức của hành động Nhấp chuột vào cột RULE (luật) ở trên cùng của bảng để thay đổi và loại trừ các luật.C
- Chương trình luôn luôn khởi tạo bảng quyết định với 5 CONDITIONS
(điều kiện), 3 ACTION (Hành động) và 5 RULE (Luật) Các điều kiện, hành động và luật có thể được thêm vào hoặc xóa đi trong suốt quá trình phát triển.
Trang 9- Khi ở CONDITIONS (điều kiện) hoặc ACTION (Hành động) 1 hàng
trong đó được chọn thì sẽ có màu xanh lam Cột RULE (Luật) được chọn cũng sẽ có màu xanh lam Một cột hoặc hàng được chọn khi ấn vào bất kì nơi nào trong hàng hoặc cột Có thể kéo và thả các cột RULE (Luật) để sắp xếp lại chúng trên một số luật và kéo cột đến vị trí mong muốn trong khi giữ chuột trái Để thay đổi chiều rộng hiển thị của một cột RULE (Luật), click vào thanh giữa các tiêu đề của luật, trong khi giữ chuột trái, kéo thanh sang trái hoặc sang phải để tăng hoặc giảm chiều rộng của cột.
- Ngoài ra ta có thể thấy được các sự lựa chọn sau:
1 Add a condition : Thêm một hàng điều kiện mới vào bản quyết định Nếu một điều kiện đang được chọn, hàng mới sẽ được thêm vào trước hàng đang lựa chọn Nếu không có hàng điều kiện nào đang được lựa chọn thì hàng mới thêm vào sau hàng điều kiện cuối cùng.
2 Add an action : Thêm một hàng hành động mới vào bảng quyết định Nếu một hàng hành động đang được chọn, hàng sẽ được thêm vào trước hàng đang được lựa chọn.Nếu một hàng hành động không được chọn, các dòng mới được thêm vào sau khi hàng hành động cuối cùng
3 Move selected row up : Khi e2gRuleWriter tạo ra một cơ sở tri thức cho e2gRuleEngine, các điều kiện và các hành động là đầu ra theo thứ tự chúng xuất hiện trong bảng quyết định (trên xuống dưới) Để thay đổi thứ tự, điều kiện hoặc hành động hàng có thể được thay đổi
vị trí bằng cách chọn hàng, sau đó nhấp vào Move selected row
up Mỗi bấm vào nút di chuyển các điều kiện lựa chọn hoặc hành động lên một hàng trong bảng quyết định Vì khi điều kiện hay hành động đứng trước thì sẽ được ưu tiên lựa chọn trước do đó với sự lựa chọn này người lập trình có thể thực hiện quy định thứ tự các điều kiện được xét hay các hành động được lựa chọn đầu tiên
4 Delete selected condition/action: Bấm vào nút này xóa nút điều kiện hoặc hành động hiện đang được chọn Nếu điều kiện đó đã được sử dụng trong một luật bất kì thì chương trình sẽ đưa ra các tùy chọn trước khi xóa các Khi bạn chắc chắn muốn xóa thì sẽ chọn OK để xóa.
- Để làm rõ quá trình phát triển e2gRuleWriter, chúng ta sẽ xét ví dụ:
Trang 10 Các yếu tố trong bảng quyết định trên là:
CONDITIONS (điều kiện) và giá trị của CONDITIONS (điều kiện)
có thể có:
i precipitation (Lượng mưa):
1 expected (Dự kiến)
2 Not expected (Không dự kiến)
ii the expected temperature ( Nhiệt độ dự kiến) number between -30 and 120 ( Giữa -30 độ và 120 độ).
Các ACTION (Hành động) và giá trị có thể của ACTION (Hành động):
i the recommendation (Đề nghị)
ii wear a raincoat ( Mặc áo mưa) iii wear your boots (Mang giày ống)
Trang 11iv wear whatever you want :default value if the recommendation cannot be determined (Mặc gì bạn muốn: đây chính là giá trị mặc định khi không có đề nghị nào được xác định).
Các thuộc tính của các Prompt (nhắc nhỏ, tư vấn):
i precipitation (Lượng mưa)
1 multiple choice input (Nhiều sự lựa chọn)
2 allow input of certainty factor (CF) (Cho đầu vào một
CF (độ chắc chắn))
ii the expected temperature (Nhiệt độ dự kiến)
1 numeric input (Số đầu vào)
2 acceptable range of input: -30 to 120 (Phạm vi chấp nhận được của đầu vào là nhiệt độ từ -30 đến 120)
3 allow input of certainty factor (Cho đầu vào một CF (độ chắc chắn))
Để nhập dữ liệu vào bảng quyết định bước đầu tiên là nhập CONDITIONS (điều kiện), nhập điều kiện màn hình như sau:
Trang 12i Các bước để xác định "precipitation (lượng mưa)" bao gồm:
ii Với hàng điều kiện đầu tiên được lựa chọn, click vào ô EDITING (type name, ENTER).
iii Nhập vào giá trị precipitation (lượng mưa).
iv Bấm phím ENTER bạn sẽ thấy precipitation (lượng mưa) được hiển thị như là các nhãn điều kiện đầu tiên trong bảng quyết định.
v Tiếp theo đến ô NEW LIST VALUE (type name, ENTER).
vi Nhập giá trị expected (dự kiến) rồi ấn Enter, ta sẽ thấy giá trị expected (dự kiến) bên trái của ô NEW LIST VALUE (type name, ENTER).
vii Làm tương tự, nhập giá trị not expected (dự kiến) rồi ấn Enter,
ta sẽ thấy giá trị expected (dự kiến) bên trái của ô NEW LIST VALUE (type name, ENTER).
viii Lựa chọn MultChoice ở prompt type.
ix Trong hộp prompt: nhập According to the weather forecast, precipitation is (theo dự báo thời tiết lượng mưa là) rồi ấn Enter.
Trong quá trình nhập CONDITIONS (điều kiện) và ACTION (Hành động) chúng ta có thể lưu lại bất cứ lúc nào bằng cách nhấn Save decision table Hộp thoại dưới đây sẽ xuất hiện, bạn chọn đường dẫn đến thư mục mình mong muốn, gõ tên file với phần mở rộng tập tin kbt và nhấn Save decision table nút để hoàn thành việc lưu lại.
Trang 13- Bước thứ hai là xác định ACTION (hành động):
Trang 14i. Với hàng đầu tiên được lựa chọn, click vào ô EDITING (type name, ENTER).
ii. Bạn hãy nhập tên của hành động vào ô EDITTING sau đó nhấn Enter để hoàn tất Tên của hành động ngay lập tức sẽ được hiển thị trên bảng.
iii. Nếu hành động đó là một giải pháp mà hệ chuyên gia của bạn muốn đưa ra cho người dùng thì bạn hãy check vào Goal? Tiếp theo đến ô NEW LIST VALUE (type name, ENTER).
iv. Nhập các giá trị của hành động vào ô NEW LIST VALUE sau đó
ấn Enter để thêm giá trị đó vào cho hành động.
v. Bạn có thể tùy chọn cho hành động của mình là một đoạn văn bản (check vào hộp “text”), một lựa chọn true-false (chọn ô
“T/F”) hay là dạng số (chọn ô “Num”)
Trang 15- Bước thứ ba là xác định RULE (luật):
i. Để thiết lập các điều kiện và hành động tương ứng của luật bạn hãy nhấp vào mã luật bất kì.
ii. Click vào RULE 1 để để lựa chọn luật.
iii. Nhập tên của luật vào ô EDTTING sau đó nhấn ENTER.
iv. Trên cột chứa luật đang lựa chọn, bạn click double vào ô nằm trên hàng của điều kiện mà bạn muốn đưa vào luật để thực hiện lựa chọn giá trị của điều kiện tương ứng với luật đó.
v. Tương tự như xây dựng RULE 1(luật 1) xây dưng RULE 2(luật 2).
vi. Ta có thể thiết lập CF (độ chắc chắn ) cho mỗi the recommendation (đề nghị) ở mỗi RULE (luật ) bằng lựa chọn CF.
- Tạo lập một cơ sở tri thức: Bước cuối cùng là chọn độ chắc chắn (CF)
tối thiểu cho hành động bằng cách lựa chọn từ hộp MINCF để xác định
Trang 16thức nhấn nút Display knowledge base Một cửa sổ hiển thị cơ sở tri thức với danh sách các luật, điều kiện, giá trị mặc định, và các tùy chọn… của cơ sở tri thức ta vừa xây dựng, cơ sở tri thức xuất hiện ở một cửa sổ mới:
- Để e2RuleEngine có thể sử dụng cơ sở tri thức bạn vừa tạo ra ở trên bạn
cần thực hiện một bước cuối cùng là lưu cơ sở tri thức lại bằng cách nhấn vào nút Save knowledge base Một hộp thoại tập tin sẽ mở ra cho phép lựa chọn tên tập tin cơ sở tri thức Tên này phải có phần mở rộng kb.
III Cài đặt.
a Xây dựng cơ sở dữ liệu.
Cơ sở dữ liệu của bài toán:
i Bệnh 1: Không có đèn nguồn, quạt nguồn không quay.
Bước đầu tiên: Hãy cắm lại giắc nguồn cho tiếp xúc tôt Nếu sự cố không thể khắc phục thì thực hiện bước 2: Mượn một nguồn còn tốt của một ai đó thay thế và thử Nếu được thì nguồn Máy tính của bạn đã gặp vấn đề Điều này nằm ngoài khả năng của những nghiệp dư như chúng ta Hãy đưa nguồn tới một cửa hàng uy tín xem có thể sửa được