Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
Lời mở đầu
V
ới sự phát triển của xã hội ngày nay, đời sống con người ngày càng được cải
thiện hơn và nhu cầu của con người cũng phát sinh nhiều hơn.Vì thế có
nhiều nhiều ngành nhiều nghề đa dạng đã ra đời trong hoàn cảnh như thế nhằm
phục vụ được tất cả các nhu cầu của con người. Và trong những ngành kinh tế
không thể không kể đến sự đóng góp đáng kể của ngành Công Nghệ Thông Tin, nó
luôn giữ một vị trí quan trọng trong mỗi ngành, mỗi nghề của cuộc sống. Hiện nay,
Công Nghệ Thông Tin đang phát triển ở mỗi quốc gia trên thế giới, bởi vì Công
Nghệ Thông Tin được xác định là một ngành mũi nhọn nhằm thúc đẩy sự phát
triển chung cho nhiều ngành. Công Nghệ Thông Tin đang cần một lượng lớn các kỹ
thuật viên, kỹ sư khám phá ra nhiều điều còn đang tiềm ẩn trong một môi trường
đầy tiềm năng.
1
Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
Lời Cảm Ơn
Chúng em xin chân thành cảm ơn sự tận tâm giảng dạy từng khía cạnh của bài
2. Tập luật IF – THEN:............................................................................7
Chương 4: Triển Khai Thử Nghiệm.............................................................8
Chương 5: Kết Luận................................................................................11
Chương 6: Mã Nguồn..............................................................................12
3
Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
Chương 1: Sơ Lược Về Đề Tài
Trong cuộc sống hiện đại ngày nay, mỗi người đều có thể “tậu” cho riêng
mình một chiếc xe máy. Tùy vào khả năng tài chính của mỗi người mà sắm cho
mình “con ngựa chiến”. Nhưng “ngựa” nào thì cũng có ngày cũng phải hư cái này
hoặc hỏng cái khác. Khi bạn có một chiếc xe mà nó trở chứng thì bạn cứ từ từ tìm
xem nguyên nhân làm sao mà nó trở chứng như vậy.
Ví dụ như vào 1 ngày đẹp trời bạn lấy xe ra đi dạo nhưng đề xe hoài mà nó
không nổ lúc này bạn cảm thấy hơi bực rồi, trong lòng cứ nghĩ mãi không hiểu sao
lâu nay mình chạy vẫn bình thường mà. Bạn cứ lây quây với chiếc xe, tìm hết cách
này đến cách khác để làm cho xe chạy được. Khi đã tìm không được bệnh của xe thế
là bạn phải đem ra tiệm cho thợ coi lại. Ở đây với kinh nghiệm lâu năm của người
thợ chỉ trong chốc lát thôi thì họ liền báo bệnh của xe bạn liền. Khi người thợ ngồi
chữa bệnh cho chiếc xe yêu dấu của bạn , bạn nên ngồi đó coi xem những chi tiết
nho nhỏ coi mình sau này nhở xe hư còn biết đường trị nó “với điều kiện bệnh nhẹ
nhẹ thôi” . Nhiều lúc xe hư những chi tiết nhỏ , thay vì phải mang ra tiệm cho người
sửa xe kiểm tra , thì giờ đây các bạn có thể tự kiểm tra xem “ con ngựa sắt” của các
bạn bị hư hỏng gì ? Và có thể tự sữa chữa nó.
Chuẩn đoán (diagnostic).
-
Từ hiện tại đến quá khứ (present to past).
-
Từ kết quả đến giả thiết (consequent to antecedent).
-
Lập luận từ trên xuống dưới.
-
Làm việc lùi tìm lại các sự kiện nhằm củng cố cho giả thuyết (work
backward to find facts that support the hypothesis).
-
Thuận lợi trong tìm kiếm sâu (depth first).
-
Căn cứ vào hiệu quả để quyết định cho hướng tìm kiếm (consequent…).
-
-
Nhược điểm:
• Nhược điểm cơ bản của suy diễn lùi là nó thường tiếp theo dòng suy diễn,
thay vì đứng ra phải dừng ở đó mà sang nhánh khác.
• Tuy nhiên có thể khắc phục nhược điểm này bằng cách dùng nhân tố tin
cậy và các luật meta. (Giới hạn không gian trạng thái).
6
Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
Chương 3: Hệ Thống Cài Đặt
Hệ chuyên gia gồm chương trình suy diễn, tập tin Nut.txt chứa các nút được mã hóa
các chuẩn đoán và tập tin Luat.txt chứa tập luật suy diễn IF – THEN.
1. Bảng tập tin các nút:
Nú
t
2.
Ý nghĩa
a
No_may_khi_dap
Ro_le_hong
j
Chieu_dai_than_h
r2:e^i=>f
7
Khóa luận mơn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
r3:a^b=>c
r4:d^g=>b
r5:j=>e
R1: IF Hong_buri AND De_khong_duoc THEN Dut_cau_chi
R2: IF Choi_than_mon AND Role_long THEN De_khong_duoc
R3: IF No_may_khi_dap AND Con_dien_acqui THEN Hong_buri
R4: IF Coi_keu AND Nuoc_binh_acqui_day THEN Con_dien_acqui
R5: IF Chieu_dai_than _
9
Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
- Nếu người sử dụng muốn xem giá trị của các nút thì nhấn chọn phím số 4 trên
bàn phím. Chương trình sẽ đưa ra các giá trị nút cho người sử dụng xem.
- Nếu người sử dụng muốn thoát khỏi chương trình thì người sử dụng nhấn chọn
phím số 5 trên bàn phím.
10
Khóa luận mơn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
Chương 5: Kết Luận
Trong quá trình làm khoá luận không thể không
tránh khỏi những thiếu xót , thêm vào đó là những sự
hiểu biết hạn hẹp của xe cộ. Nhóm chỉ đưa ra một số hư
hỏng không kém phần quan trong của xe. Vì vậy đề tài
chưa đươc hoàn chỉnh và tốt lắm nhưng cũng phần nào
nó làm cho chúng ta biết thêm về sự hư hỏng của xe
máy. Vì thế đề tài chưa được hoàn chỉnh và đáp ứng
đầy đủ các yêu cầu.
Hy vọng sắp tới đây, được sự đóng góp của thầy và các bạn đề
Moi nut thuoc 1 trong 3 loai: NutLa, TrungGian, KetLuan
*/
typedef enum Loai {NutLa,TrungGian,KetLuan};
typedef struct tagLuat
{
char TenLuat[10];
int
VT[2*LEN_VT];
int
VP;
tagLuat() // Ham khoi tao
{
for (int i=0; i
}
fclose(f);
}
// Ham nay tim vi tri cua nut co ten (Ten) trong mang NutTen[]
int TimVitriNut(char *Ten)
13
Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
{
for (int i=1; i
TapLuat[i].VT[2*nCount] = NODE_AND;
}
else
if (stInput[iFnd] == '|')
{
TapLuat[i].VT[2*nCount] = NODE_OR;
}
else
if (stInput[iFnd] == '~')
bNot = -1;
else
{
j = iFnd;
while (j
for (int k=1; k
Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
return 0;
}
/////////////////////////////////////////////////////////////////////
// Ham nay tinh gia tri cua 1 nut ket luan
void TinhGiaTriCuaNutKetLuan(int SoHieuNut)
{
LUAT r;
int bNot;
int giatri, x;
// Neu nut nay co gia tri roi--> khong can tinh
if (GTNut[SoHieuNut] >=0)
return;
// Tim luat co ket luan la SoHieuNut
for (int i=0; i
if (r.VT[2*j] == NODE_AND)
giatri = AND(giatri, x);
else
giatri = OR(giatri,x);
}
GTNut[r.VP] = giatri;
}
}
}
/////////////////////////////////////////////////////////////////////
void HienThiTapNut()
{
//
clrscr();
printf("\n DANH SACH CAC NUT \n");
printf("\nTEN NUT
Y NGHIA\n");
for (int i=1; i tao chuoi luat
19
Khóa luận môn CH CSTT
");
strcat(ChuoiLuat, NutTen[TapLuat[SoHieuLuat].VP]);
ChuoiLuat[strlen(ChuoiLuat)] = '\0';
}
/////////////////////////////////////////////////////////////////////
// Hien thi danh sach cac luat
{
GTNut[i] = -1;
}
for (i=1; i
case '2':
HienThiTapLuat();
break;
case '3':
Xuly_SuyDienLui();
break;
case '4':
HienThiGTNut();
break;
22
Khóa luận môn CH CSTT
Đại học CNTT – Đại học Quốc gia TPHCM
case '5':
exit(0);
}
}while (1);
}
// Chuong trinh chinh
void main()
{
DocNutTuFile(FileNut);
DocLuatTuFile(FileLuat);
PhanLoaiNut();
// Khoi tao gia tri cua cac nut =-1 (Chua biet)
for (int i=1; i
Tài liệu tham khảo
− Giáo trình “Các Hệ Cơ Sở Tri Thức” của ĐHQG TPHCM.
− Trang web: www.echip.com.vn
www.edu.net
www.quantrimang.com
24