16
Báo cáo bài tập lớn Môn hệ chuyên gia Đề tài : Hệ chuyên gia tư vấn mua xe ô tô Nhóm 2 - Lớp khoa học máy tính 1 khóa 4 1

Bai tap lon He chuyen gia - Tu van mua xe o to

Embed Size (px)

DESCRIPTION

BTL HCG danh cho cac ban hoc cong nghe thong tin

Citation preview

Page 1: Bai tap lon He chuyen gia - Tu van mua xe o to

Báo cáo bài tập lớn

Môn hệ chuyên gia

Đề tài : Hệ chuyên gia tư vấn mua xe ô tô

Nhóm 2 - Lớp khoa học máy tính 1 khóa 4

1

Page 2: Bai tap lon He chuyen gia - Tu van mua xe o to

Mục lục

Bảng phân công công việc.............................................................................................................3

Lời nói đầu......................................................................................................................................4

Cơ sở lý thuyết...............................................................................................................................5

Cấu trúc dữ liệu và giải thuật.......................................................................................................6

Demo chương trình......................................................................................................................10

Hình 1: giao diện chính của chương trình.................................................................................11

Hình 2: bộ sưu tập.......................................................................................................................12

Hình 3: Tình trạng xe..................................................................................................................12

Hình 4: Dòng xe...........................................................................................................................13

Hình 5: Ngoại thất.......................................................................................................................14

Hình 6: giá thành.........................................................................................................................14

Tài liệu tham khảo.........................................................................................................................14

2

Page 3: Bai tap lon He chuyen gia - Tu van mua xe o to

Bảng phân công công việc

Nhiệm vụ Thành viên

- Tạo luật và xây dựng cây suy diễn - Nguyễn Trần Tiến

- Xây dựng thuật toán

- Lập trình

- Trần Phương Quỳnh

- Thiết kế giao diện - Trần Thị Danh

- Bùi Thúy Quỳnh

3

Page 4: Bai tap lon He chuyen gia - Tu van mua xe o to

Lời nói đầu

Thực tế cho thấy rằng hiện nay nhu cầu mua xe hơi là rất nhiều tuy nhiên những người

không biết gì về thông số kỹ thuật cũng cơ cấu hoạt động của xe khi họ muốn mua xe họ

không biết phải lựa chọn như thế nào để phù hợp với mình và đặc biệt là vấn đề về giá cả

cũng như chất lượng xe. Vì vậy ý tưởng về hệ chuyên gia tư vấn mua xe được đề xuất.

Dựa trên phương pháp suy diễn tiến kết hợp với phương pháp hỏi xa và ngôn ngữ lập

trình C# nhóm 2 đã hoàn thành chương trình hệ chuyên gia tư vấn mua xe.

Tuy nhiên chương trình vẫn còn nhiều hạn chế như chưa khai thác triệt để phương pháp

suy diễn tiến, chương trình chưa được tối ưu hóa về mặt hình thức lẫn nội dung… vì vậy

rất mong được sự góp ý của thầy cô và các bạn.

4

Page 5: Bai tap lon He chuyen gia - Tu van mua xe o to

Cơ sở lý thuyết

Phương pháp suy diễn tiến

Suy diễn tiến ( forward charning ) là lập luận từ các sự kiện, sự việc để rút ra các kết

luận. Ví dụ : nếu thấy trời mưa trước khi ra khỏi nhà (sự kiện) thì phải lấy áo mưa (kết

luận).

Trong phương pháp này, người sử dụng cung cấp các sự kiện cho hệ chuyên gia để hệ

thống (máy suy diễn) tìm cách rút ra các kết luận có thể. Kết luận được xem là những

thuộc tính có thể được gán giá trị. Trong số những kết luận này, có thể có những kết luận

làm người sử dụng quan tâm, một số khác không nói lên điều gì, một số khác vắng mặt.

Các sự kiện thường có dạng :

Attribute = value;

Lần lượt các sự kiện trong cơ sở tri thức được chọn và hệ thống xem xét tất cả các luật

mà các sự kiện này xuất hiện như là tiên đề. Theo nguyên tắc lập luận trên, hệ thống sẽ

lấy ra những luật thỏa mãn. Sau khi gán giá trị cho các thuộc tính thuộc kết luận tương

ứng, người ta nói rằng các sự kiện đã được thỏa mãn. Các thuộc tính được gán giá trị sẽ

là một phần của kết quả chuyên gia. Sau khi mọi sự kiện đã được xem xét, kết quả được

xuất ra cho người sử dụng.

5

Page 6: Bai tap lon He chuyen gia - Tu van mua xe o to

Phương pháp hỏi xa

Hỏi đến khi thu thập được giả thiết để suy ra kết luận.

A. Biết kết luận

HỎIxa= {f/ đường đi p FPG, p= f … g, g KL}

TRÁI= lefti

PHẢI={q1……qn}

R={r1…..rm}

ri: left i qi

HỎIxa={f TRAI\ PHẢI/ đường đi p:f ….. g, g KL}

B. Không biết kết luận

HỎI= TRÁI \ PHẢI

Xét ví dụ ở trên:

TRÁI={ a b c m n f g h}

PHẢI={c f g h k}

HỎI=TRÁI \ PHẢI={a b d e m n}

Cấu trúc dữ liệu và giải thuật

- Xây dựng mô tơ suy diễn :

Các luật được biểu diễn và lưu vào file text. Tạo các biến lưu trữ như sau :

public static string[] R_left = new string[100];// lưu trữ các dữ kiện vế"

trái cu#a luật.

public static string[] R_right = new string[100];// lưu trữ các dữ kiện vế"

pha#i cu#a luật.

public static string[] KL = { "R", "S", "T", "U", "V", "W", "X", "Y" };//

tập các dữ kiện thuộc tập kế"t luận.

public static int soptTrai;

6

Page 7: Bai tap lon He chuyen gia - Tu van mua xe o to

public static int soptPhai;

Tạo phương thức load file text lưu trữ các luật vào project, sau đó đưa các luật vào mảng.

string a;

string str;

string chuoi = "";

char[] R = new char[100];

StreamReader docFile = new StreamReader("Rule.txt");

a = docFile.ReadLine();

while (a != null)

{

R = a.ToCharArray(); // đưa chuỗBi a vào ma#ng R

for (int i = 0; i < a.Length; i++)

{

char thuong = R[i];

char hoa = char.ToUpper(R[i]);

string shoa = hoa.ToString();

string sthuong = thuong.ToString();

if (string.Compare(sthuong, shoa) == 0 && char.IsNumber(R[i])

== false && R[i].ToString() != ":" && R[i].ToString() != " ")

{

chuoi = chuoi + shoa;

}

}

str = chuoi;

// đưa từng ký tự bến pha#i cu#a luật vào ma#ng

7

Page 8: Bai tap lon He chuyen gia - Tu van mua xe o to

soptPhai++;

string ganphai = str.Substring(str.Length - 1, 1);

R_right[soptPhai] = ganphai;

// đưa ký tự bến trái cu#a luật vào ma#ng

soptTrai++;

string gantrai = str.Substring(0, str.Length - 1);

R_left[soptTrai] = gantrai;

chuoi = "";

a = docFile.ReadLine();

- Tạo ra một biến trung gian, mỗi dữ kiện mới được thêm vào tập trung gian. Ví dụ:

- if (O.Checked == true)

- {

- frmTinhTrangXe.trunggian = frmTinhTrangXe.trunggian

+ "O";

- }

- if (P.Checked == true)

- {

- frmTinhTrangXe.trunggian = frmTinhTrangXe.trunggian

+ "P";

- }

- if (Q.Checked == true)

- {

- frmTinhTrangXe.trunggian = frmTinhTrangXe.trunggian

+ "Q";

- }

- Kiểm tra và thêm vế phải của các luật vào tập trung gian.

- public static string themluat(string tg)

8

Page 9: Bai tap lon He chuyen gia - Tu van mua xe o to

- {

- try

- {

- for (int i = 1; i <= frmMain.soptTrai; i++)

- {

- string rleft = frmMain.R_left[i];

- if (tg.IndexOf(rleft) >= 0)

- {

- tg = tg + frmMain.R_right[i];

- }

- }

- return tg;

- }

- catch (Exception ex)

- {

- MessageBox.Show(ex + "");

- return null;

- }

- }

- Tìm kết luận trong tập trung gian

- public static string timkiem(string tg)

- {

- try

- {

- for (int i = 0; i <= 8; i++)

- {

- string ketluan = frmMain.KL[i];

- //string kltam = "";

9

Page 10: Bai tap lon He chuyen gia - Tu van mua xe o to

- if (tg.IndexOf(ketluan) >= 0)

- {

- //kltam = kltam + ketluan;

- tg = ketluan;

- break;

- }

- }

- return tg ;

- }

- catch

- {

- MessageBox.Show("Thật tiế"c ! \r\n\t showroom cu#a

chúng tỗi khỗng có xe nào đáp ứng như cầZu cu#a bạn \r\n\t bạn hãy thư# lại

với những yếu cầZu khác có lẽ sẽ tìm được xe !","KẾ"T QUA#");

- tg = "";

- return null;

- }

- }

Demo chương trình

- Giao diện chính của chương trình : có 2 chức năng cho bạn lựa chọn là

Tư vấn mua xe để đến đợt khảo sát của hệ thống

Bộ sưu tập để xem ảnh của các loại xe trong showroom.

10

Page 11: Bai tap lon He chuyen gia - Tu van mua xe o to

Hình 1: giao diện chính của chương trình

- Bộ sưu tập : lưu trữ một số hình ảnh minh họa cho các loại xe trong showroom

11

Page 12: Bai tap lon He chuyen gia - Tu van mua xe o to

Hình 2: bộ sưu tập

- Sau khi chọn chức năng tư vấn mua xe, các câu hỏi giúp bạn tìm mua được xe phù

hợp sẽ được hiển thị lần lượt.

Câu hỏi 1:

Hình 3: Tình trạng xe

Sau khi chọn “tiếp theo” câu hỏi thứ 2 hiển thị

12

Page 13: Bai tap lon He chuyen gia - Tu van mua xe o to

Hình 4: Dòng xe

Câu hỏi thứ 3 :

13

Page 14: Bai tap lon He chuyen gia - Tu van mua xe o to

Hình 5: Ngoại thất

Câu hỏi thứ 4 :

Hình 6: giá thành

Tài liệu tham khảo

1) Bài giảng hệ chuyên gia – Đại Học Hàng Hải

2) Các hệ cơ sở tri thức

3) Giáo trình hệ chuyên gia

……………..

14