Do vậy, càng ngày chúng ta càng thấy xuất hiện nhiều hệ chuyên gia được sử dụng hằng ngày để thay thế con người đưa ra các quyết định, các dự đoán, tư vấn trong một số lĩnh vực cụ thể nh
Trang 1MỤC LỤC L
Ờ I C ẢM ƠN 1
M Ụ C L Ụ C 2
DANH M Ụ C HÌNH Ả NH 4
DANH M Ụ C B Ả NG 5
L Ờ I M Ở ĐẦ U 6
CHƯƠNG 1: GI Ớ I THI Ệ U H Ệ CHUYÊN GIA 7
1.1 ệ H chuyên gia là gì 7
1.2.Đặc trưng và ưu điể m c ủ a h ệ chuyên gia 9
1.3.Các lĩnh vự c ứ ng d ụ ng c ủ a h ệ chuyên gia 9
1.4 ữ ng thành phNh ần cơ bả n c ủ a m ộ t h ệ chuyên gia 10
1.5 ể u diBi ễ n tri th ứ c trong các h ệ chuyên gia 12
Biểu diễn tri thức bởi các luật sản xuất .12
Biểu diễn tri thức nhờ mệnh đề logic 13
Biểu diễn tri thức nhờ mạng ngữ nghĩa 14
Biểu diễn tri thức nhờ ngôn ngữ nhân tạo 14
CHƯƠN G 2: BÀI TOÁN VÀ THU TH Ậ P TRI TH Ứ C H Ệ CHUYÊN GIA 15
2.1.Tên đề tài và m ục đích xây dựng đề tài 15
2.2.Phát bi ể u bài toán 15
2.3 ử S d ụng phương pháp logic vị t ừ 16
Xây dựng các vị từ về máy tính .16
Xây dựng các logic vị từ về nhóm máy tính .17
Xây dựng các logic vị từ về hướng dẫn chọn máy tính .17
2.4 ể u diBi ễ n các c ấ u hính máy tính và yêu c ầ u trong ngôn ng ữ Prolog 18
1
Trang 2Xây dựng các sự kiện về máy tính .18
Xây dựng các nhóm máy tính .19
Xây dựng các cách chọn nhóm máy tính .19
Các tư vấn về máy tính theo từng yêu cầu của khách hàng .19
2.5.Nhúng prolog vào trong C# 20
2.6 ế t kThi ế chương trình 21
CHƯƠNG 3 :GIAO DIỆN CHƯƠNG TRÌNH 22
3.1.Giao di ệ n prolog 22
Tra cứu 1 hướng dẫn chọn máy ta có .22
Tra cứu các nhóm máy tính có thể chọn .22
Cấu hình máy tính của các nhóm .23
Chương trình minh họa .23
3.2.Giao di ệ n C# 24
Trang chính .24
Giao diện cập nhật dữ liệu .25
Giao diện tư vấn chọn laptop .26
Giao diện kết quả và giải thích .26
K Ế T LU Ậ N 27
2
Trang 3DANH MỤC HÌNH ẢNH
Hình 1.1: M ộ t s ố lĩnh vự c ứ ng d ụ ng c ủ a trí tu ệ nhân t ạ o 7
Hình 1.2: Ho ạt độ ng c ủ a h ệ chuyên gia 8
Hình 1.3: Quan h ệ gi ữa lĩnh vự c v ấn đề và lĩnh vự c tri th ứ c 8
Hình 1.4: Nh ữ ng thành ph ần cơ bả n c ủ a m ộ t h ệ chuyên gia 11
Hình 1.5: Quan h ệ gi ữ a máy suy di ễn và cơ sở tri th ứ c 12
Hình 1.6: Bi ể u di ễ n tri th ứ c nh ờ ngôn ng ữ nhân t ạ o trong MYCIN 14
Hình 3.1: Hướ ng d ẫ n ch ọ n máy 22
Hình 3.2: Tra c ứ u nhóm máy tính 22
Hình 3.3: H ệ th ống tư vấ n ch ọ n máy tính 23
Hình 3.4: Chương trình minh họ a 24
Hình 3.5: Giao di ệ n trang chính 24
Hình 3.6: Giao di ệ n c ậ p nh ậ t d ữ li ệ u 25
Hình 3.7: Giao di ện tư vấ n ch ọ n laptop 26
Hình 3.8: Giao di ệ n k ế t qu ả 26
Hình 3.9: Giao di ệ n gi ả i thích 26
Trang 4DANH MỤC BẢNG
B
ả ng 1.1 Cách nhìn nh ậ n v ề h ệ chuyên gia 9 B
ảng 1.2 Các lĩnh vự c ứ ng d ụ ng h ệ chuyên gia 10 B
ả ng 2.1 Các v ị t ừ v ề máy tính 17 B
ả ng 2.2 Các yêu c ầ u 20
Trang 5là 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 hệ thống nào đó nhằ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
Bên cạnh đó, ngày nay khi mà nhiều lĩnh vực trong cuộc sống đang ngày càng được chuyên môn hóa một cách sâu sắc Cùng với đó là việc chúng ta luôn muốn xây dựng các chương trình, các hệ thống có thể hoạt động thay thế cho các quyết định của con người
Do vậy, càng ngày chúng ta càng thấy xuất hiện nhiều hệ chuyên gia được sử dụng hằng ngày để thay thế con người đưa ra các quyết định, các dự đoán, tư vấn trong một số lĩnh vực cụ thể như y học, kỹ thuật,…
Chính vì những lý do trên, cùng với mong muốn được áp dụng những kiến thức đã học từ môn Hệ chuyên gia, nhóm chúng em đã chọn đề tài “Xây dựng hệ chuyên gia tư vấn chọn máy tính theo yêu cầu” nhằm xây dựng một hệ thống có thể giúp chúng ta có thể xác định nhanh chóng và chính xác máy tính phù hợp với yêu cầu của bản thân
Do kiến thức còn nhiều hạn chế và quá trình tìm hiểu còn nhiều thiếu sót nên chúng em vẫn chưa thể xây dựng được một hệ chuyên gia hoàn chỉnh và chính xác trong lĩnh vực chuẩn đoán sự cố hỏng hóc máy tính Chúng em rất mong nhận được những ý kiến đóng góp từ các thầy cô và các bạn để chúng em có thể xây dựng được một hệ thống hoàn chỉnh hơn nữa
Trang 6CHƯƠNG 1: GIỚI THIỆU HỆ CHUYÊN GIA
1.1 Hệ chuyên gia là gì
Theo E.Feigenbaum: Hệ chuyên gia(Expert System) là một chương trình máy tính thông minh sử dụng tri thức và các thủ tục suy luận để giải thích những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới giải được
Hệ chuyên gia là một hệ thống tin học có thể mô phỏng năng lực quyết đoán và hành động của một chuyên gia Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo
Hình 1.1: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo
Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn đề khác nhau thuộc mọi lĩnh vực
Tri thức trong hệ chuyên gia phản ánh sự tinh thông được tích tụ từ sách vở, tạp chí,
từ các chuyên gia hay các nhà bác học Các thuật ngữ hệ chuyên gia, hệ thống dựa trên tri thức hay hệ chuyên gia dựa trên tri thức thường có cùng nghĩa
Một hệ chuyên gia gồm ba phần chính là: cơ sở tri thức, máy suy diễn hay mô tơ suy diễn và hệ thống giao tiếp với người sử dụng 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 qua hệ thống giao tiếp
Người sử dụng cung cấp sự kiện 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
Trang 7Hoạt động của một hệ chuyên gia dựa trên tri thức:
Hình 1.2: Hoạt động của hệ chuyên giaMỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề nào đó, như y học, tài chính, khoa học hay công nghệ… mà không phải cho bất cứ một lĩnh vực vấn đề nào.Tri thức chuyên gia để giải quyết một vấn đề đặc trưng được gọi là lĩnh vực tri thức
Hình 1.3: Quan hệ giữa lĩnh vực vấn đề và lĩnh vực tri thứcTùy theo yêu cầu người sử dụng mà có nhiều cách nhìn nhận khác nhau về một hệ chuyên gia
Trang 8Nhà nghiên cứu Làm sao để tôi có thể mở rộng nó?
Nó có rắc rối và tốn kém không?
Nó có đáng tin cậy không?
Bảng 1.1 Cách nhìn nhận về hệ chuyên gia
1.2 Đặc trưng và ưu điểm của hệ chuyên gia
Các đặc trưng cơ bản của một hệ chuyên gia:
- Hiệu quả cao Khả năng trả lời với mức độ tinh thông bằng hoặc cao hơn so với chuyên gia trong cùng lĩnh vực
- Thời gian trả lời thỏa đáng Thời gian trả lời hợp lý, bằng hoặc nhanh hơn so với chuyên gia để đi đến cùng một quyết định Hệ chuyên gia là một hệ thống thời gian thực
- Độ tin cậy cao Không thể xảy ra sự cố hoặc giảm sút độ tin cậy khi sử dụng
- Dễ hiểu Hệ chuyên gia giải thích các bước suy luận một cách dễ hiểu và nhất quán, không giống như cách trả lời bí ẩn của các hộp đen
Những ưu điểm của hệ chuyên gia:
- Phổ cập Là sản phẩm chuyên gia, được phát triển không ngừng với hiệu quả sử dụng không thể phủ nhận
- Giảm giá thành
- Giảm rủ ro Giúp con người tránh được trong các môi trường rủi ro, nguy hiểm
- Tính thường trực Bất kể lúc nào cũng có thể khai thác sử dụng, trong khi con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt
- Đa lĩnh vực Chuyên gia về nhiều lĩnh vực khác nhau và được khai thác đồng thời bất kể thời gian sử dụng
- Độ tin cậy Luôn đảm bảo độ tin cậy khi khai thác
- Khả năng trả lời Trả lời theo thời gian thực, khách quan
- Tính ổn định, suy luận có lý và đầy đủ mọi lúc mọi nơi
- Trợ giúp thông minh như một người hướng dẫn
- Có thể truy cập như là một cơ sở dữ liệu thông minh
1.3 Các lĩnh vực ứng dụng của hệ chuyên gia
Cho đến nay, hàng trăng hệ chuyên gia đã được xây dựng và đã được báo cáo thường xuyên trong các tạp chí, sách, báo và hội thảo khoa học Ngoài ra còn các hệ chuyên gia được sử dụng trong các công ty, các tổ chức quân sự mà không được công bố
vì lý do bảo mật
Trang 9viên có thể hỏi vì sao, như thế nào và cái
gì nếu giống như hỏi một thầy giáo
chuyên môm để đánh giá hiệu quả
giải, chuẩn đoán, kiểm tra, lập kế hoạch,
dự đoán và chữa trị
Bảng 1.2 Các lĩnh vực ứng dụng hệ chuyên gia
1.4 Những thành phần cơ bản của một hệ chuyên gia
Một hệ chuyên gia kiểu mẫu gồm bảy thành phần cơ bản như sau:
Trang 10Hình 1.4: Những thành phần cơ bản của một hệ chuyên gia
- Cơ sở tri thức: gồm các phần tử 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
- Máy suy diễn: công cụ tạo ra sự suy luận bằng cách 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 thỏa mãn, thực hiện các luật có tính ưu tiên cao nhất
- Lịch công việc: danh sách các luật ưu tiên do máy suy diễn tạo ra thỏa mãn các
sự kiện, các đối tượng có mặt trong bộ nhớ làm việc
- Bộ nhớ làm việc: cơ sở dữ liệu toàn cục chứa các sự kiện phục vụ cho các luật
- Khả năng 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
- Khả năng thu 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 bằng cách mã hóa tri thức một cách tường minh Khả năng thu nhận tri thức là yếu tố mặc nhiên của nhiều hệ chuyên gia
- Giao diện người dùng: là nơi người sử dụng và hệ chuyên gia trao đổi với nhau
Cở sở tri thức còn được gọi là bộ nhớ sản xuất trong hệ chuyên gia Trong một cơ sở tri thức, người ta thường phân biệt hai loại tri thức là tri thức phán đoán và tri thức thực hành
Các tri thức phán đoán mô tả các tình huống đã được thiết lập hoặc sẽ được thiết lập các tri thức thực hành thể hiện những hậu quả rút ra hay những thao tác cần phải hoàn thiện khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh vực đang xét Các tri
Trang 11thức thực hành thường được thể hiện bởi các biểu thức dễ hiểu và dễ triển khai thao tác đối với người sử dụng.
Hình 1.5: Quan hệ giữa máy suy diễn và cơ sở tri thức
Từ việc phân biệt hai loại tri thức, người ta nói máy suy diễn là công cụ triển khai các
cơ chế tổng quát để tổ hợp các tri thức phán đoán và các tri thức thực hành
1.5 Biểu diễn tri thức trong các hệ chuyên gia
Tri thức của một hệ chuyên gia có thể được biểu diễn theo nhiều cách khác nhau.Thông thường người ta sử dụng các cách sau đây:
- Biểu diễn tri thức bởi các luật sản xuất
- Biểu diễn tri thức nhờ mệnh đề logic
- Biểu diễn tri thức nhờ mạng ngữ nghĩa
- Biểu diễn tri thức nhờ ngôn ngữ nhân tạo
Biểu diễn tri thức bởi các luật sản xuất
Hiện nay, hầu hết các hệ chuyên gia đều là các hệ thống dựa trên luật bởi các lý dosau:
- Bản chất đơn giản
- Khả năng diễn giải dễ dàng
- Tương tự quá trình nhận thức của con người
Luật là một kiểu sản xuất được nghiên cứu từ những năm 1940 Trong một hệ thốngdựa trên luật, công cụ suy luận sẽ xác định những luật nào là tiên đề thỏa mãn các sự việc: Các luật sản xuất thường được viết dưới dạng IF THEN Có hai dạng:
IF <điều kiện> THEN <hành động>
Hoặc
Trang 12IF <điều kiện> THEN <kết luận> DO <hành động>
Tùy theo hệ chuyên gia cụ thể mà mỗi luật có thể được đặt tên Chẳng hạn mỗi luật
có rạng rule: tên Sau phân tên là phần IF của luật.
Phần giữa IF và THEN là phần trái luật, có nội dung được gọitheo nhiều tên khác nhau như: tiên đề, điều kiện, mẫu so sách khớp
Phần sau THEN là kết luận hay hậu quả Một số hệ chuyên gia có thêm phần hành động được gọi là phẩn phải luật
Biểu diễn tri thức nhờ mệnh đề logic.
Người ta sử dụng các ký hiệu để thể hiện tri thức và các phép toán logic tác động lên các ký hiệu để thể hiện suy luận logic Kỹ thuật chủ yếu thường được sử dụng là logic
vị từ
Ví dụ minh họa các thể hiện các phát biểu dưới dạng vị từ:
Với quy ước MAN(X) có nghĩa “X là một người” và MORTAL(X) có nghĩa “X chết” MAN và MORTAL được gọi là các
vị từ đối với biến X
Các vị từ thường có chứa hằng, biến hay hàm Người ta gọi các vị từ không chứa biến là các mệnh đề Mỗi vị từ có thể là một sự kiện hay một luật Luật là vị từ gồm hai
vế trái và phải được nối nhau bởi một dấu mũi tên () Các vị từ còn lại được gọi là các
sự kiện
Ví dụ: từ các tri thức sau:
Peter có tóc vàng hoe, còn jean có tóc màu nâu Pierre là cha của Jean Peter là cha của Pierre Jean là ca của Ren Peter là còn của Marc
Giả sử X, Y, Z là những người nào đó, nếu Y là con của X thì X là cha của Y Nếu
X là cha của Z và Z là cha của Y thì X là ông của Y Ta có thể biểu diễn thành các sự kiện
và các luật như sau:
Trang 132 BROWN (jean)
Trang 143 FATHER (pierre, jean)
4 FATHER (peter, pierre)
5 FATHER (jean, ren)
6 SON (peter, marc)
7 FATHER (X, Y) ← SON (Y, X)
Người ta gọi tập hợp các sự kiện và các luật là một cơ sở tri thức
Biểu diễn tri thức nhờ mạng ngữ nghĩa.
Trong phương pháp này, người ta sử dụng một đồ thị gồm các nút và các cung nối với các nút để biểu diễn tri thức Nút dùng để thể hiện các đối tượng, thuộc tính của đối tượng và giá trị của thuộc tính Còn cung dùng để thể hiện các quan hệ giữa có đối tượng Các nút và các cung đều được gắn nhãn
Bằng cách thêm vào các đồ thị các nút mới và các cung mới người ta có thể mở rộng một mạng ngữ nghĩa Các nút mới được thêm thể hiện các đối tượng tương tự(với các nút đã có trong đồ thị), hoặc tổng quát hơn
Một trong những tính chất quan trọng của mạng ngữ nghĩa là tính kế thừa Khi sử dụng mạng ngữ nghĩa để biểu diễn tri thức, người ta phải xây dựng các phép toán tương ứng
Biểu diễn tri thức nhờ ngôn ngữ nhân tạo.
Nói chung, theo quan điểm của người sử dụng, ngôn ngữ tự nhiên là phương cách thuận tiện nhất để giao tiếp với một hệ chuyên gia, không những đối với người quản trị
hệ thống(tư cách chuyên gia), mà còn đối với người sử dụng cuối Hiện nay đã có những
hệ chuyên gia có khả năng đối thoại trên ngôn ngữ tự nhiên nhưng chỉ hạn chế trong lĩnh vực ứng dụng chuyên môn của hệ chuyên gia
Hình dưới đây là thể hiện một đơn vị tri thức(luật) trong hệ chuyên gia MYCIN dùng để chuẩn đoán các bệnh virut Cột bên trái là một luật được viết bằng tiếng Anh, cột bên phải là mã hóa nhân tạo của luật đó
Hình 1.6: Biểu diễn tri thức nhờ ngôn ngữ nhân tạo trong MYCIN
Hệ thống tư vấn chọn máy tính theo yêu
Trang 15CHƯƠNG 2: BÀI TOÁN VÀ THU THẬP TRI THỨC HỆ CHUYÊN
GIA
Tên đề tài: “Xây dựng hệ chuyên gia tư vấn chọn máy tính theo yêu cầu”
Mục đích xây dựng đề tài: xây dựng được một hệ chuyên gia thu thập các thông tin
về máy tính, nhu cầu sử dụng của người mua máy tính từ ngoài đời thật Từ đó giúp người mua máy tính có cái nhìn tổng quát về các dòng máy tính, và có được lựa chọn máy tính đáp ứng nhu cầu sử dụng của bản thân
2.2 Phát biểu bài toán
Yêu cầu bài toán là phải xây dựng được một hệ chuyên gia trong môi trường windows có thể đưa ra các tư vấn máy tính về giá cả, máy tính phù hợp với những yêu cầu và mục đích sử dụng của người dùng
Các thông tin mà người sử dụng đưa vào là các câu trả lời “Đúng” hoặc “Sai” cho các câu hỏi về yêu cầu chọn máy tính mà hệ chuyên gia đưa ra
Để thực hiện được các yêu cầu đó, hệ thống cần xây dựng được một hệ cơ sở tri thức Trong đó:
- Bộ cơ sở tri thức bao gồm tập các sự kiện và tập các luật về nhu cầu và mục đích sử dụng của người mua được thu thập từ các hãng cung cấp máy tính và từ những người đi mua máy tính
- Bộ động cơ suy diễn là các cài đặt để tìm kiếm các sự kiện và các luật liên quan đến yêu cầu của người sử dụng để từ đó đưa ra các tư vấn về máy tính và dòng máy phù hợp Với bài toán này, bộ động cơ suy diễn được cài đặt theo cơ chế suy diễn lùi
Sau quá trình thu thập tri thức, hệ thống tạm thời đưa ra các sự kiện sau:
1) Bạn cần mua máy dưới 10 triệu để học tập phải không
2) Bạn cần mua máy từ 10 triệu tới 15 triệu để học tập phải không
3) Bạn cần mua máy trên 15 triệu để học tập phải không
4) Bạn cần mua máy dưới 10 triệu để giải trí phải không
5) Bạn cần mua máy từ 10 triệu tới 15 triệu để giải trí phải không
6) Bạn cần mua máy trên 15 triệu để học tập phải không
7) Có phải bạn thích dòng máy tính dell
8) Có phải bạn thích dòng máy tính asus
9) Có phải bạn thích dòng máy tính acer
10) Có phải bạn thích dòng máy tính apple
11) Có phải bạn thích dòng máy tính sony