Tải bản đầy đủ (.pdf) (65 trang)

Hệ chuyên gia và cơ sở dữ liệu trong bộ nhớ tri thức (LV01000)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (993.71 KB, 65 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

TRẦN THỊ THÚY DIỆU

HỆ CHUYÊN GIA VÀ CƠ SỞ DỮ LIỆU
TRONG BỘ NHỚ TRI THỨC
Chuyên ngành: Khoa học Máy tính
Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ MÁY TÍNH
Người hướng dẫn khoa học: PGS. TS. LÊ HUY THẬP

HÀ NỘI, 2013


LỜI CẢM ƠN
Em xin chân thành cảm ơn toàn thể các thầy cô giáo trong trường Đại
học Sư Phạm Hà Nội 2 đã hết lòng dạy dỗ, chỉ bảo, tạo điều kiện tốt cho em
trong suốt quá trình học tập cũng như trong thời gian thực hiện luận văn tốt
nghiệp này.
Đặc biệt, em xin gửi lời cám ơn chân thành và sâu sắc tới PGS,TS
NCNC Lê Huy Thập– người đã trực tiếp quan tâm, tận tình hướng dẫn, giúp
đỡ và tạo điều kiện hết sức thuận lợi cho em trong quá trình thực hiện luận
văn.
Cảm ơn các bạn đồng khoá và gia đình đã động viên, giúp đỡ tôi rất
nhiều trong quá trình học tập tại ngành Khoa học máy tính cũng như trong
thời gian thực hiện luận văn
Vì năng lực của bản thân em còn hạn chế nên đề tài không thể tránh
khỏi những thiếu sót. Em rất mong được sự chỉ bảo của quý thầy cô và đóng
góp ý kiến của toàn thể các bạn để chương trình ngày càng hoàn thiện hơn


nữa.
Hà Nội, ngày 2 tháng 12 năm 2013
Học viên

Trần Thị Thúy Diệu


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nghiên cứu nào khác./.
Hà Nội, ngày 2 tháng 12 năm 2013
Học viên

Trần Thị Thúy Diệu


DANH MỤC CÁC TỪ VIẾT TẮT
CSDL

: Cơ sở dữ liệu

HCG

: Hệ chuyên gia

KPDL

: Khai phá dữ liệu



MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
1. Lý do chọn đề tài .......................................................................................... 1
2. Mục đích nghiên cứu (Các kết quả cần đạt được)......................................... 1
3. Nhiệm vụ nghiên cứu .................................................................................... 1
4. Đối tượng và phạm vi nghiên cứu ................................................................ 1
5. Giả thuyết khoa học ...................................................................................... 1
6. Phương pháp nghiên cứu ............................................................................... 2
CHƯƠNG 1: TỔNG QUAN........................................................................... 3
1.1. Hệ chuyên gia ............................................................................................. 3
1.1.1. Khái niệm chuyên gia và hệ chuyên gia........................................ 3
1.1.2. Các đặc tính của chuyên gia và hệ chuyên gia ............................. 5
1.1.3. Sự phát triển của hệ chuyên gia .................................................... 7
1.1.4. Các lĩnh vực ứng dụng của hệ chuyên gia .................................... 9
1.1.5. Kiến trúc tổng quát của các hệ chuyên gia ................................. 10
1.2. Hộp đen .................................................................................................... 14
1.2.1. Yêu cầu của quá trình kiểm thử bằng hộp đen ........................... 14
1.2.2. Phân loại kiểm thử bằng hộp đen ............................................... 15
1.3. Cơ sở dữ liệu ............................................................................................ 19
1.3.1. Một số khái niệm cơ bản ............................................................. 19
1.3.2. Các mô hình cơ sở dữ liệu .......................................................... 22
1.3.3. Mô hình thực thể kết hợp ............................................................ 23
1.3.4. Mô hình dữ liệu quan hệ ............................................................. 26
1.4. Kết luận chương ....................................................................................... 29
1.4.1. Khái niệm chuyên gia và hệ chuyên gia...................................... 29
1.4.2. Hộp đen ....................................................................................... 30


1.4.3. Cơ sở dữ liệu ............................................................................... 30

CHƯƠNG 2: HỆ CHUYÊN GIA VÀ CƠ SỞ DỮ LIỆU TRONG BỘ
NHỚ TRI THỨC ........................................................................................... 31
2.1. Các phương pháp thu thập tri thức .......................................................... 31
2.1.1. Thu thập tri thức trong quá trình nghiên cứu định lượng .......... 31
2.1.2. Thu thập tri thức trong quá trình nghiên cứu định tính.............. 34
2.2. Kỹ sư tri thức và các cách thể hiện tri thức.............................................. 37
2.2.1. Kỹ sư tri thức ............................................................................... 37
2.2.2. Các cách thể hiện tri thức ........................................................... 41
2.3. Thiết kế CSDL trong bộ nhớ tri thức. ...................................................... 44
2.3.1. Dạng quan hệ khi thể hiện bằng O-A-V ...................................... 44
2.3.2. Dạng quan hệ khi thể hiện bằng luật .......................................... 46
2.4. Kết luận chương ....................................................................................... 50
CHƯƠNG 3: ỨNG DỤNG LUẬT KẾT HỢP VÀ SUY LUẬN KHÔNG
CHẮC CHẮN TẠI SIÊU THỊ ..................................................................... 51
3.1. Lập trình ứng dụng đề tài tại siêu thị Mỹ phẩm ....................................... 51
3.1.1. Dữ liệu ......................................................................................... 51
3.1.2. Các công cụ phát triển Demo .................................................... 52
3.2. Các giao diện và kết quả của chương trình ứng dụng .............................. 53
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................... 56
TÀI LIỆU THAM KHẢO ............................................................................ 57


DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Một số lĩnh vực ứng dụng của trí tuệ nhân tạo ................................. 4
Hình 1.2. Hoạt động của hệ chuyên gia ............................................................ 5
Hình 1.3. Những thành phần cơ bản của một hệ chuyên gia .......................... 11
Hình 1.4. Quan hệ giữa máy suy diễn và cơ sở tri thức .................................. 12
Hình 1.5. Kiến trúc hệ chuyên gia theo J. L. Ermine ...................................... 13
Hình 1.6. Kiến trúc hệ chuyên gia heo C. Ernest ............................................ 13
Hình 1.7. Kiến trúc hệ chuyên gia theo E. V. Popo ........................................ 14

Hình 1.8. Ký hiệu của thực thể........................................................................ 23
Hình 1.9. Ký hiệu của thuộc tính .................................................................... 23
Hình 1.10. Mối kết hợp không có thuộc tính .................................................. 25
Hình 1.11. Mối kết hợp có thuộc tính ............................................................. 25
Hình 1.12. Khóa .............................................................................................. 25
Hình 2.3-1. Liên kết thực thể … ..................................................................... 45
Hình 2.3-2. Hình dạng một hộp đen ................................................................ 47
Hình 2.3-3. Liên kết thực thể … ..................................................................... 49


DANH MỤC CÁC BẢNG
Bảng 1.1. Sự phát triển của hệ chuyên gia ........................................................ 7
Bảng 1.2. Các lĩnh vực ứng dụng của hệ chuyên gia ........................................ 9
Bảng 1.3. Ví dụ về quan hệ r ........................................................................... 27
Bảng 3.1. Mô tả tập các sự kiện được sử dụng trong Demo ........................... 51
Bảng 3.2. Tập luật trong bộ nhớ tri thức ......................................................... 51
Hình 3.1. Giao diện chính của Demo .............................................................. 53
Hình 3.2. Giao diện khi cập nhật thông tin bảng quan hệ ............................... 54
Hình 3.3. Kết quả sau quá trình khai phá luật kết hợp .................................... 54
Hình 3.4. Tập luật mới được sinh ra ............................................................... 55


1

MỞ ĐẦU
1. Lý do chọn đề tài
HCG được sử dụng rất rộng rãi trong thực tế. Tuy nhiên rất khó can
thiệp vào bộ nhớ tri thức, do vậy mất tính cập nhật (thêm các luật mới, chỉnh
sửa các luật, xóa luật không còn hiệu dụng, mở rộng các luật “bị cháy” nhưng
thực chất nó chưa bị cháy,…). Một cách làm, là đưa các tri thức này vào

CSDL quan hệ hoặc một dạng CSDL có cấu trúc nào đó, khi đó chúng ta có
thể can thiệp (theo nghĩa có thể dùng nhiều bộ môn khoa học khác nhau để hỗ
trợ) một cách dễ dàng theo nghĩa đã nêu trên.
HCG đã được đề cập rất nhiều trên thế giới và Việt Nam. Tuy nhiên, cấu
trúc của bộ nhớ tri thức thì hiện nay vẫn là vấn đề cần nghiên cứu và mở rộng.
Chúng ta sẽ tìm cách thiết kế CSDL trong bộ nhớ tri thức, nhằm mục
đích có thể cập nhật và giảm thời gian làm việc cho các thành đặc biệt là
motor suy luận.
2. Mục đích nghiên cứu (Các kết quả cần đạt được)
Dùng các phương pháp như: thu thập tri thức chuyên gia lĩnh vực, hộp
đen (hoặc thử và sai) để liệt kê các luật trong bộ nhớ tri thức. Kết quả được
đưa vào CSDL.
Lập trình ứng dụng đề tài.
3. Nhiệm vụ nghiên cứu
Nghiên cứu hệ chuyên gia và cơ sở dữ liệu trong bộ nhớ tri thức
4. Đối tượng và phạm vi nghiên cứu
Cơ sở dữ liệu.
Hệ chuyên gia.
5. Giả thuyết khoa học
Dùng hệ hỗ trợ ra QĐ và trí tuệ nhân ta nhằm nâng cao khả năng suy
diễn trong bộ nhớ tri thức.


2
6. Phương pháp nghiên cứu
- Các phương pháp thu thập tri thức.
- Kỹ sư tri thức và các cách thể hiện tri thức.
- Thiết kế CSDL trong bộ nhớ tri thức.
7. Nội dung luận văn
Luận văn bao gồm 3 chương

Chương 1. Tổng quan
1.1. Hệ chuyên gia
1.2. Hộp đen
1.3. Cơ sở dữ liệu
1.4. Kết luận chương
Chương 2. Hệ chuyên gia và cơ sở dữ liệu trong bộ nhớ tri thức
2.1. Các phương pháp thu thập tri thức
2.2. Kỹ sư tri thức và các cách thể hiện tri thức
2.3. Kết luận chương
Chương 3. Ứng dụng luật kết hợp và suy luận không chắc chắn tại siêu thị mỹ
phẩm
3.1. Lập trình ứng dụng đề tài tại siêu thị Mỹ phẩm
3.2. Các giao diện và kết quả của chương trình ứng dụng


3
CHƯƠNG 1: TỔNG QUAN
1.1. Hệ chuyên gia
1.1.1. Khái niệm chuyên gia và hệ chuyên gia
Định nghĩa 1.1: Chuyên gia là một hoặc một nhóm có kiến thức sâu về
chuyên ngành và có kỹ năng giải các vấn đề (của chuyên ngành đó) một cách
có hiệu quả.
Định nghĩa 1.2: Hệ chuyên gia
Một số định nghĩa về hệ chuyên gia:
* Hệ chuyên gia là một hệ thống dựa trên tri thức, nó mô hình hóa các
tri thức của chuyên gia và dùng tri thức này để giải vấn đề phức tạp thuộc lĩnh
vực đó.
* Hệ chuyên gia là một hệ thống bao gồm máy tính và chương trình
được dùng để mô phỏng và bắt chước cách giải quyết vấn đề của chuyên gia.
Trong đó,

* Tri thức của hệ chuyên gia bao gồm các sự kiện và các luật. Các sự
kiện được cấu thành bởi một số nhiều các thông tin, được thu thập rộng rãi,
công khai và được sự đồng tình của các chuyên gia trong lĩnh vực đó. Các
luật biểu thị sự quyết đoán chuyên môn của các chuyên gia trong lĩnh vực.
* Mức độ hiệu quả của một hệ chuyên gia phụ thuộc vào kích thước và
chất lượng của cơ sở tri thức mà hệ đó có được.
* Mỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề nào đó.
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. Dưới đây là một số các lĩnh vực của trí tuệ nhân tạo:


4

Robotic
Vision

Speech

Natural
Lannguage

Artificial Neural
Systems

Expert

Understanding

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 đề (bài toán) khác nhau trong nhiều lĩnh vực. Trong hệ chuyên gia có các
khối cơ bản sau:
* Khối lưu tri thức cơ sở: chúng được sử dụng để lưu các tri thức bao
gồm các sự kiện, các quan hệ và các luật...
* Khối suy luận hay motor suy luận: là bộ xử lý được mô hình hóa theo
cách lập luận và xử lý của chuyên gia. Motor nhận thông tin về sự kiện, so
sánh chúng với các kiến thức đã có trong khối lưu tri thức cơ sở rồi rút ra kết
luận hay bình luận. Như vậy, motor cần có kỹ thuật về suy luận
Phạm vi ứng dụng
* Hỗ trợ ra quyết định
* Sử dụng trong các dây chuyền sản xuất, khai thác... độ hại và nguy
hiểm.
* Hỗ trợ chuyên gia khi cần sử dụng lại các tri thức không còn nhớ
hoặc khuyết thiếu
* Giải hoặc hỗ trợ chuyên giả để “giải các vấn đề” phức tạp


5
1.1.2. Các đặc tính của chuyên gia và hệ chuyên gia
a) Tri thức và các lập luận
Định nghĩa 1.3:
(1) Cơ sở tri thức của chuyên gia lĩnh vực là các kiến thức sẵn có được sử
dụng để giải quyết vấn đề đã cho thuộc lĩnh vực đó.
(2) Cơ sở tri thức của hệ chuyên gia là bộ nhớ tri thức lĩnh vực
Một hệ chuyên gia gồm ba thành 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 có sẵn
· 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
dựa trên cơ sở tri thức
Người sử dụng cung cấp các thông tin, dữ liệu cần được xử lý thông

qua hệ chuyên gia. Sau quá trình xử lý, hệ chuyên gia đưa ra kết quả cần thiết
cho người sử dụng nhờ giao diện tương tác.
Hoạt động của một hệ chuyên gia dựa trên tri thức được minh họa như sau :
Hệ

Cơ sở tri thức

thống

Người sử dụng

giao
tiếp

Máy suy diễn

Hình 1.2. Hoạt động của hệ chuyên gia
Mỗi một hệ chuyên gia chỉ xử lý cho các vấn đề trong một lĩnh vực xác
định dựa trên các tri thức có sẵn được tạo ra từ trước của lĩnh vực đó và các
dữ liệu phụ trợ đi cùng.
Tù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.


6
Loại người sử dụng
Người quản trị
Kỹ thuật viên
Nhà nghiên cứu


Vấn đề đặt ra
Tôi có thể dùng nó để làm gì?
Làm cách nào để tôi vận hành nó tốt
nhất?
Làm sao để tôi có thể mở rộng nó?
Nó sẽ giúp tôi cái gì đây?

Người sử dụng cuối

Nó có rắc rối và tốn kém không?
Nó có đáng tin cậy không?

b) Các đặc trưng của hệ chuyên gia
Có bốn đặc trưng cơ bản của một hệ chuyên gia:
· Hiệu quả cao: Hiệu quả đưa ra kết quả trả lời và độ chính xác cao.
· Thời gian trả lời thoả đáng: Khả năng truy xuất kết quả thông qua dữ liệu
đầu vao cho trước nhanh hơn so với các chuyên gia. 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.
c) 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: Do trả lời tự động thông qua hệ thống vì vậy tiết kiệm
được tiền bạc và công sức cho người sử dụng hơn so với sử dụng các chuyên
gia.



7
· Giảm rủi 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: Hệ chuyên gia có thể sử dụng cho nhiều lĩnh vực khác nhau
và có thể sử dụng nhiều tri thức cơ sở của nhiều lĩnh vực khác nhau. Trong
khi các chuyên gia thông thường chỉ thành thạo trong một lĩnh vực xác định.
· Độ tin cậy: Luôn đảm bảo độ tin cậy khi khai thác.
· Khả năng giảng giải: Các vấn đề được giải quyết thông qua các cơ chế rõ
ràng.
· 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.1.3. Sự phát triển của hệ chuyên gia
Sau đây là một số sự kiện quan trọng trong lịch sử phát triển của công
nghệ hệ chuyên gia (expert system technology).
Năm
1943

1954

Các sự kiện
Dịch vụ bưu điện; mô hình Neuron của (Mc Culloch and Pitts
Model)
Thuật toán Markov (Markov Algorithm) điều khiển thực thi các
luật
Hội thảo Dartmouth;


1956

lý luận logic; tìm kiếm nghiệm suy

(heuristic 1search); thống nhất thuật ngữ trí tuệ nhân tạo (AI: Art
ificial Intelligence)


8
Rosenblatt phát minh khả năng nhận thức; Newell, Shaw và
1957

Simon đề xuất giải bài toán tổng quát (GPS: General Problem
Solver)

1958

Mc Carthy đề xuất ngôn ngữ trí tuệ nhân tạo LISA (LISA AI
language)
Nguyên lý Rosenblatt’s về chức năng thần kinh trong nhận thức

1962

(Rosenblatt’s

Principles

of

Neurodynamicdynamics


on

Perceptions)
Phương pháp hợp giải Robinson. Ưng dụng logic mờ (fuzzy
1965

logic) trong suy luận về các đối tượng mờ (fuzzy object) của
Zadeh. Xây dựng hệ chuyên gia đầu tiên về nha khoa DENDRAL
(Feigenbaum, Buchanan, et.al)

1968

Mạng ngữ nghĩa (semantic nets), mô hình bộ nhớ kết hợp
(associative memory model) của Quillian

1969

Hệ chuyên gia về Toán học MACSYMA (Martin and Moses)

1970

Ưng dụng ngôn ngữ PROLOG (Colmerauer, Roussell, et, al.)
Hệ chuyên gia HEARSAY I về nhận dạng tiếng nói (speech

1971

recognition). Xây dựng các luật giải bài toán con người (Human
Problem Solving) popularizes rules (Newell and Simon)


1973
1975

Hệ chuyên gia MYCIN về chẩn trị y học (Shortliffe, et,al.)
Lý thuyết khung (frames), biểu diễn tri thức (knowledge
representation) (Minsky)
Toán nhân tạo (AM: Artificial Mathematician) (Lenat). Lý thuyết
Dempster−Shafer về tính hiển nhiên của lập luận không chắc

1976

chắn (Dempster−Shafer theory of Evidence for reason

under

uncertainty). Ứng dụng hệ chuyên gia PROSPECTOR trong khai
thác hầm mỏ (Duda, Har)


9
Sử dụng ngôn ngữ chuyên gia OPS (OPS expert system shell)

1977

trong hệ chuyên gia XCON/R1 (Forgy)
Hệ chuyên gia XCON/R1 (McDermott, DEC) để bảo trì hệ thống

1978

máy tính DEC (DEC computer systems)

Thuật toán mạng về so khớp nhanh (rete algorithm for fast pattern
matching) của Forgy; thương mại hoá các ứng dụng về trí tuệ

1979

nhân tạo
Ký hiệu học (symbolics), xây dựng các máy LISP (LISP

1980

machines) từ LMI.
Hệ chuyên gia về Toán học (SMP math expert system); mạng nơron Hopfield (Hopfield Neural Net); Dự án xây dựng máy tính

1982

thông minh thế hệ 5 ở Nhật bản (Japanese Fifth Generation
Project to develop intelligent computers)
Bộ công cụ phục vụ hệ chuyên gia KEE (KEE expert system tool)

1983

(intelli Corp)
Bộ công cụ phục vụ hệ chuyên gia CLIPS (CLIPS expert system

1985

tool (NASA)
Bảng 1.1. Sự phát triển của hệ chuyên gia

1.1.4. Các lĩnh vực ứng dụng của hệ chuyên gia

Hệ chuyên gia thể hiện thể hiện được tầm quan trong của nó trong các
lĩnh vực của đời sống. Sau đây là một số các ứng dụng quan trọng nhất của hệ
chuyên gia:
Lĩnh vực
Cấu hình
Chẩn đoán

Ứng dụng diện rộng
Tập hợp thích đáng những thành phần của một hệ
thống theo cách riêng
Lập luận dựa trên những chứng cứ quan sát được


10
Dạy học kiểu thong minh sao cho sinh viên có thể
Truyền đạt

hỏi vì sao, như thế nào và cái gì nếu giống như hỏi
một người thầy giáo

Giải thích

Giải thích những dữ liệu thu nhận được
So sánh dữ liệu thu lượm được với dữ liệu chuyên

Kiểm tra

môn để đánh giá hiệu quả

Lập kế hoạch


Lập kế hoạch sản xuất theo yêu cầu

Dự đoán

Dự đoán hậu quả từ một tình huống xảy ra

Chữa trị

Chỉ định cách thụ lý một vấn đề

Điều khiển

Điều khiển một quá trình, đòi hỏi diễn giải, chẩ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 của hệ chuyên gia

1.1.5. Kiến trúc tổng quát của các hệ chuyên gia
a) Các 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:


11

Người

Chuyên gia

dùng


Bộ thu nạp
tri thức

Giao diện
người, máy

Bộ giải thích

Mô tơ suy diễn
Suy

Điều

Cơ sở tri thức

Bộ nhớ làm việc

Hình 1.3. 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ử (hay đơn vị) 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 duy diễn: Công cụ (chương trình, hay bộ xử lý) 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 thoả mãn
các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc.


12
· 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ã hoá 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 sử dụng: Là nơi người sử dụng và hệ chuyên gia trao đổi
với nhau.
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 thứ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.
Tri thức phán đoán
Máy suy
diễn

Tri thức thực hành
Cơ sở tri thức

Hình 1.4. Quan hệ giữa máy suy diễn và cơ sở tri thức
b) Một số mô hình kiến trúc của hệ chuyên gia
Có nhiều mô hình kiến trúc hệ chuyên gia theo các tác giả khác nhau.
Sau đây là một số mô hình:



13
1. Mô hình J. L. Ermine
Cơ sở tri thức

Người sử dụng
yêu cầu

Hệ thống thu

Giao diện

Dữ liệu vấn đề

nhận tri thức

cần giải quyết
Tri thức mới
Bộ nhớ làm việc

Hình 1.5. Kiến trúc hệ chuyên gia theo J. L. Ermine

2. Mô hình C. Ernest
Tri thức
Cơ sở tri
Cấu trúc máy

thức

suy diễn
Dữ liệu


Máy suy
diễn

-Lời giải
- Giải thích
- Theo dõi
Hình 1.6. Kiến trúc hệ chuyên gia heo C. Ernest


14
3. Mô hình E. V. Popov
Khả năng
thích nghi
Chuyên
gia

Giao
diện
người
sử
dụng

Người
dùng

Bộ nhớ

Diễn


Cơ sở tri

làm việc

dịch

thức

Sở hữu
tri thức
Hình 1.7. Kiến trúc hệ chuyên gia theo E. V. Popo

1.2. Hộp đen
Kỹ thuật kiểm thử hộp đen hay còn gọi là kiểm thử hướng dữ liệu hay
kiểm thử hướng vào/ra. Trong kỹ thuật này người kiểm thử xem phần mềm
như một hộp đen. Người kiểm thử hoàn toàn không quan tâm đến cấu trúc,
hành vi bên trong phần mềm. Người kiểm thử chỉ quan tâm đến việc tìm ra
các hiện tượng mà phần mềm không xử lý theo đúng đặc tả của nó và vì thế
dữ liệu kiểm thử sẽ xuất phát từ đặc tả.
1.2.1. Yêu cầu của quá trình kiểm thử bằng hộp đen
Quá trình kiểm thử bằng hộp đen cần giải quyết được một số lỗi trong hệ
thống như sau:
· Các chức năng thiếu hoặc không đúng
· Các giao diện lỗi
· Các lỗi cấu trúc dữ liệu trong việc truy cập cơ sở dữ liệu bên ngoài
· Các lỗi thi hành
· Các lỗi khởi tạo hoặc kết thúc
· Các lỗi khác



15
1.2.2. Phân loại kiểm thử bằng hộp đen
Kiểm thử hộp đen áp dụng cho các giai đoạn sau của kiểm thử. Kiểm
thử hộp đen có một số loại của kiểm thử như sau:
a) Kiểm thử phân hoạch lớp giá trị tương đương
Khái niệm: Phân lớp tương đương là một phương pháp kiểm thử hộp đen chia
miền đầu vào của chương trình thành các lớp dữ liệu tương đương nhau. Từ
đó, suy dẫn ra các ca kiểm thử. Phương pháp này cố gắng xác định ra một ca
kiểm thử mà làm lộ ra một lớp lỗi, làm giảm các trường hợp kiểm thử phải
được xác định
Cách thực hiện:
· Bước 1: Xác định các lớp tương đương
· Bước 2: Tạo ra một test case ứng với mỗi lớp tương đương
Với kiểm thử hộp đen bằng lớp tương đương thì dữ liệu đầu vào và yêu
cầu kiểm thử rất quan trọng. Với đầu vào và yêu cầu kiểm thử khác nhau sẽ
sinh ra các lớp tương đương khác nhau. Việc kiểm tra các lớp tương đương
được sinh ra sẽ kết luận các lớp dữ liệu đầu vào là hợp lệ hay không hợp lệ.
Thông thường, với các dữ liệu đầu vào không hợp lệ sẽ có tỉ lệ sinh ra lỗi
nhiều hơn. Từ đó, với dữ liệu đầu vào xác định sẽ có các khả năng xảy ra như
sau:
· Nếu đầu vào định rõ giá trị của một mảng thì có một kiểu lớp cho các giá
trị hợp lệ và một lớp ở bên trong nó
· Nếu điều kiện đầu vào chỉ là một tập giá trị thì chia vùng tương đương
thành hai tình huống là một lớp tương đương hợp lệ và một lớp tương đương
không hợp lệ
· Nếu điều kiện đầu vào xác định là một kiểu đúng/sai thì chia vùng tương
đương thành hai tình huống là một lớp hợp lệ và một lớp không hợp lệ.


16

Ứng dụng và hạn chế
· Kiểm thử sẽ làm giảm đáng kể số lượng test case phải được tạo ra để thực
hiện, nó phù hợp với các hệ thống có nhiều dữ liệu đầu vào và nhận giá trị
trong các miền hay các tập
· Kiểm thử ứng dụng ở mức khử đơn vị, tích hợp hệ thống, kiểm thử chấp
nhận tất cả các yêu cầu của nó là đầu vào hay đầu ra mà có thể được phân
chia dựa theo yêu cầu của hệ thống.
b) Kiểm thử biến đổi trạng thái
Khái niệm: Trạng thái là một điều kiện mà trong đó hệ thống phải chờ đợi một
hay nhiều sự kiện. Các trạng thái ghi nhớ các sự kiện đầu vào và hệ thống
nhận được trong quá khứ, và những phản hồi của hệ thống đối với các sự kiện
kế tiếp theo nếu chúng xảy ra. Các sự kiện này có thể gây ra sự biến đổi các
trạng thái hoặc các hành động phát sinh. Trạng thái nhìn chung được biểu
diễn bằng một hay nhiều biến trong hệ thống.
· Sự chuyển tiếp: Thể hiện sự biến đổi từ trạng thái này sang trạng thái khác
· Biểu đồ trạng thái biểu diễn một thực thể cụ thể, nó mô tả hệ thống quy tắc
và các tương tác phức tạp chỉ trong những kí hiệu nhỏ gọn, các bảng trạng
thái bao gồm 4 cột: Trạng thái, sự kiện, hành động và trạng thái tiếp theo.
· Sự kiện là cái gì đó tác động làm hệ thống biến đổi trạng thái.
· Hành động là hành động được bắt đầu khi có sự biến đổi trạng thái.
Ưu điểm của bảng chuyển trạng thái
· Liệt kê tất cả các kết nối của trạng thái có thể, không chỉ những kết nối hợp
lệ.
· Test tất cả các trạng thái là điều cần thiết bao gồm cả các trạng thái chuyển
đổi mà có thể là không hợp lệ. Bảng chuyển trạng thái có thể phát hiện những
sự kết hợp trước đó không được nhận biết, có thể giải quyết những yêu cầu
của hệ thống.


17

Nhược điểm
· Bảng có thể mở rộng rất nhanh nếu hệ thống có nhiều sự kiện và trạng thái
mà hầu hết các ô trong bảng đều bỏ trống (lãng phí).
· Tạo các test case
ü Tạo một tập các test case mà tất cả các trạng thái được đi qua ít nhất một
lần, đây là test mức yếu.
ü Tạo một tập các test case mà tất cả các sự kiện đều được kích hoạt ít nhất
một lần, đây cũng là test case mức yếu.
ü Tạo một các test case mà tất cả các lộ trình đều được thực hiện ít nhất một
lần, mức độ test này được quan tâm hơn so với mức độ bao phủ của nó tuy
nhiên không dễ thực hiện.
ü Tạo một tập các test case mà tất cả các sự kiện chuyển đổi đều được kiểm
tra ít nhất t một lần, test mức độ này cho ta một mức test bao phủ nhưng
không sinh ra số lượng test lớn.
Cách thực hiện:
· Bước 1: Soạn thảo bảng trạng thái– sự kiện
· Bước2: Soạn thảo cây chuyển tiếp
· Bước 3: Soạn thảo tập lệnh thử nghiệm kiểm tra các trường hợp hợp lệ
· Bước 4: Soạn thảo tập lệnh thử nghiệm kiểm tra các trường hợp không hợp
lệ.
· Bước 5: Soạn thảo tập lệnh thử nghiệm bảo vệ
ü Nếu sự bảo vệ gồm một điều kiện mà một giá trị biên sau đó sự bảo vệ là
môt đối tượng phân tích giá trị biên
ü Nếu sự bảo vệ gồm một điều kiện phức tạp sau đó sự bảo vệ này được bao
phủ bởi nguyên tắc bao phủ điều kiện/quy định đã được sửa đổi.
Ứng dụng và hạn chế
· Giúp ta nhận dạng trạng thái, sự kiện, sự chuyển tiếp cần được kiểm thử



×