Phân tích hệ thống

Một phần của tài liệu tìm hiểu về logic mô tả el và cài đặt ví dụ minh họa (Trang 43 - 74)

Nội dung của phần này là phân tích cỏc trường hợp sử dụng của tỏc nhõn. Những trường hợp sử dụng được rơt ra từ những đặc tả yâu cầu tác nhõn và chức năng hệ thống trong phần trước.

Hình 4.2. Trường hợp sử dụng của người sử dụng

Trường hợp sử dụng hiển thị nội dung cơ sở tri thức ban đầu

Luồng sự kiện: Người sử dụng yêu cầu hiển thị nội dung của cơ sở tri thức bao

gồm nội dung của TBox và ABox. Yêu cầu được gửi tới khối hiển thị nội dung cơ sở tri thức đầu. Khối này sẽ thu thập thông tin từ cơ sở tri thức có được và gửi phản hồi về cho người sử dụng. Thông tin này bao gồm:

- Các khái niệm: khái niệm nguyên thủy và khái niệm phức. - Các quan hệ nguyên thủy

- Các cá thể và các khẳng định của các cá thể.

Khi nhận được thông tin về TBox và ABox, người sử dụng có thể gửi yêu cầu để thu được mô tả phức của khái niệm phức được chọn, hoặc có thể yêu cầu thực hiện truy vấn thu về các cá thể thuộc lớp đối tượng được chọn. Khối hiển thị sẽ nhận các yêu cầu này, thực hiện truy vấn vào cơ sở tri thức và trả lại kết quả cho người sử dụng.

Thông tin đầu vào:

- Yâu cầu hiển thị

- Tờn khái niệm cần đưa ra định nghĩa - Tờn lớp đối tượng cần thực hiện truy vấn

Hiển thị cơ sở tri thức ban đầu

Khử phép bao hàm Chuẩn hóa TBox

Hiển thị cơ sở tri thức đã chuẩn hóa

Hiển thị cây đồ thị

Thông tin trả về:

- Nội dung TBox và ABox - Định nghĩa của khỏi niệm

- Cỏc cỏ thể thuộc lớp đối tượng truy vấn.

Hình 4.3. Biểu đồ người sử dụng yêu cầu hiển thị nội dung cơ sở tri thức ban đầu

Trường hợp sử dụng khử phép bao hàm trong TBox

Luồng sự kiện: Người sử dụng yâu cầu tiến hành khử phộp bao hàm xuất hiện

trong cỏc luật của TBox ban đầu. Khối chức năng này sẽ lấy thĩng tin từ cơ sở tri thức, thu lại tập cỏc luật trong TBox. Sau đó sẽ xét những luật cú chứa phộp bao hàm, thực hiện thuật toán khử phộp bao hàm, tiến hành cập nhật tập luật mới vào cơ sở tri thức, cuối cùng trả lại kết quả cho người sử dụng.

Thông tin đầu vào:

- Nội dung TBox bao gồm cỏc khỏi niệm, cỏc quan hệ, và cỏc định nghĩa khái niệm.

Thông tin trả về:

- Các luật cú chứa phép bao hàm của tập luật cũ.

- Kết quả khử phép bao hàm của cỏc luật cú chứa phộp bao hàm.

Yêu cầu hiện mô tả khái niệm Phản hồi kết quả

Người sử dụng Hiển thị cơ sở

tri thức cũ

Yêu cầu hiển thị

TBox và ABox Thu thập

thông tin

Thu thập thông tin Phản hồi kết quả

Yêu cầu truy vấn

theo lớp đối tượng Thu thập thông tin Phản hồi kết quả

- TBox thu được sau khi khử phép bao hàm

Hình 4.4. Biểu đồ người sử dụng yêu cầu khử phép bao hàm trong cơ sở tri thức.

Trường hợp sử dụng chuẩn hóa TBox

Hình 4.5. Biểu đồ người sử dụng yêu cầu khai triển TBox.

Luồng sự kiện: Người sử dụng yâu cầu triển khai cỏc luật trong TBox, thay

cỏc ký hiệu tân ở vế phải của cỏc luật bằng mĩ tả phức mà nỉ mĩ tả cho, cho đến khi bờn vế phải khụng cũn xuất hiện cỏc ký hiệu tờn nào. Khối chức năng này sẽ lấy thĩng tin từ cơ sở tri thức, thu về tập luận của TBox, sử dụng thuật toán triển khai TBox để thay thế dần cỏc ký hiệu tờn bờn vế phải. Cuối cùng kết quả được cập nhật và cơ sở tri thức và trả về cho người sử dụng.

Thông tin đầu vào:

- TBox đã được khử phép bao hàm

Người sử dụng Khử phép bao hàm Cơ sở tri thức Yêu cầu khử phép bao hàm Thu thập thông tin Phản hồi Xử lý Cập nhật

Người sử dụng Chuẩn hóa TBox Cơ sở tri thức Yêu cầu khử phép bao hàm Thu thập thông tin Phản hồi Xử lý Cập nhật

Thông tin đầu ra:

- Các luật của TBox đã được triển khai nhằm thay thế các ký hiệu tân bằng các ký hiệu gốc.

Trường hợp sử dụng hiển thị kết quả chuẩn hóa

Luồng sự kiện: Người sử dụng yâu cầu hệ thống hiển thị kết quả chuẩn hỉa

cuối cùng của cơ sở tri thức. Khối chức năng này sẽ truy nhập lấy thơng tin từ cơ sở tri thức đã được chuẩn hỉa, và trả lại kết quả cho người sử dụng.

Thông tin đầu vào:

- Yêu cầu hiển thị.

- TBox của cơ sở tri thức ban đầu.

Thông tin đầu ra:

- TBox đã được chuẩn hóa qua hai bước.

Hình 4.6. Biểu đồ người sử dụng yêu cầu hiển thị kết quả TBox đã chuẩn hóa.

Trường hợp sử dụng hiển thị kết quả chuẩn hóa

Luồng sự kiện: Người sử dụng yâu cầu hệ thống hiển thị cây đồ thị mô tả của

Tbox đã chuẩn hóa. Khối chức năng này sẽ truy nhập lấy thơng tin từ cơ sở tri thức đã được chuẩn hỉa, và trả lại kết quả cho người sử dụng.

Thông tin đầu vào:

- Yêu cầu hiển thị.

- TBox của cơ sở tri thức đã chuẩn hóa.

Thông tin đầu ra:

- Cây đồ thị mô tả Tbox đã chuẩn hóa.

Người sử dụng Hiển thị TBox đã

chuẩn hóa Cơ sở tri thức Yêu cầu hiển thị

TBox

Thu thập thông tin Phản hồi

Hình 4.7. Biểu đồ người sử dụng yêu cầu hiển thị cây đồ thị mô tả. 4.3. Thiết kế hệ thống

4.3.1. Thiết kế định dạng file lưu trữ cơ sở tri thức 4.3.1.1. TBox 4.3.1.1. TBox

TBox gồm hai thành phần cần định nghĩa: các khái niệm và các vai trò.

a) Các khái niệm

Khái niệm nguyên thủy

Để định nghĩa khái niệm nguyên thủy ta sử dụng định dạng sau:

(defclass Ten_khai_niem)

Trong đó:

- “defclass”: xác định đây là dòng định nghĩa khái niệm. - “Ten_khai_niem” : tên khái niệm cần định nghĩa.

Ví dụ:

(defclass ConNguoi)

Khái niệm phức

Để định nghĩa khái niệm phức ta sử dụng:

(defclass Ten_khai_niem (Mo_ta_khai_niem))

Trong đó:

- “defclass”: xác định đây là dòng định nghĩa khái niệm. - “Ten_khai_niem” : tên khái niệm cần định nghĩa.

- “Mo_ta_khai_niem”: mô tả phức mà khái niệm định nghĩa cho.

Người sử dụng Hiển thị cây đồ thị

mô tả Cơ sở tri thức

Yêu cầu hiển thị cây đồ thị mô tả

Thu thập thông tin Phản hồi

Ví dụ:

(defclass Nam (is-a (ConNguoi and GiongDuc))

b) Các vai trò

Để khai báo các vai trò nguyên thủy ta sẽ sử dụng định dạng sau:

(defrole Ten_vai_tro (Tham_so_1) (Tham_so_2))

Trong đó:

- “defrole”: xác định đây là dòng khai báo vai trò nguyên thủy. - “Ten_vai_tro”: tên vai trò cần khai báo.

- “Tham_so_1” và “Tham_so_2”: các khái niệm có quan hệ hai ngơi theo quan hệ này.

Ví dụ:

(defrole coCon (ConNguoi) (ConNguoi)) (defrole coChong(ConNguoi) (ConNguoi)) 4.3.1.2. ABox

Các cá thể và các khẳng định cá thể trong ABox được khai báo dưới dạng sau:

([instance_xx] of Ten_class

(Ten Ten_ca_the)

(Ten_quan_he Ca_the_1 and Ca_the_2 and …))

Trong đó:

- “Ten_class”: xác định lớp đối tượng mà cá thể đó thuộc vào. - “Ten_ca_the”: tên gọi của cá thể được khai báo.

- “Ten_quan_he Ca_the_1 and Ca_the_2 and …”: Các cá thể có tên Ca_the_1, Ca_the_2 … có quan hệ hai ngôi với cá thể Ten_ca_the theo quan hệ có tên Ten_quan_he.

4.3.2. Thiết kế khối hiển thị cơ sở tri thức ban đầuMô tả: Mô tả:

- Thông tin của cơ sở tri thức sẽ được đọc ra từ hai file TBox.tbox và ABox.abox.

- Cơ sở tri thức được đọc và phân loại để hiển thị ra màn hình. - Kết quả phân loại được lưu trữ vào các tập kết quả tương ứng.

Hình 4.8. Sơ đồ quá trình thu thập và hiển thị cơ sở tri thức.

4.3.3. Thiết kế khối khử phép bao hàmMô tả: Mô tả:

- Đọc nội dung TBox từ tập các khái niệm phức mà khối hiển thị nội dung cơ sở tri thức thu được.

Đọc dòng dữ liệu trong TBox của cơ sở tri thức

Là khái niệm

hay vai trò? Cho vào tập các quan hệ

Là khái niệm nguyên thủy?

Cho vào tập các khái niệm nguyên thủy

Cho vào tập các khái niệm phức Hết file? Hiển thị Vai trị Không Khái niệm Không

- Xem xét các luật có phép bao hàm, tiến hành khử phép bao hàm. - Lưu kết quả vào các tập kết quả tương ứng.

Quá trình khử phép bao hàm được thực hiện như sau:

Hình 4.9. Sơ đồ quá trình khử phép bao hàm

4.3.4. Thiết kế khối triển khai TBoxMô tả: Mô tả:

1. Đọc kết quả TBox thu được từ quá trình khử phép bao hàm.

Đọc tập các mô tả khái niệm phức

Có chứa phép bao

hàm?

Thêm khái niệm nguyên thủy mới

Xây dựng mô tả mới. Thay thế mô tả cũ

Còn luật để duyệt?

Lưu lại tập các mô tả phức

Không

Không

2. Triển khai các luật

3. Lưu lại kết quả cuối cùng thu được.

Quá trình triển khai luật được thực hiện như sau:

Hình 4.10. Sơ đồ quá trình triển khai TBox 4.4. Lập trình xây dựng hệ thống

4.4.1. Mô hình cài đặt hệ thống

Hệ thống được xây dựng dựa trên các class sau: - MainFrame: class chính của chương trình.

Đọc mô tả khái niệm

Tách các ký hiệu xuất hiện bên vế phải

Đọc ký hiệu thứ i

Thay thế ký hiệu = mô tả phức của nó iStop ← true i ← 0 isStop ← false i ← i +1 isStop = true ?

Lưu lại kết quả

Là ký hiệu tên Mô tả phức cuối cùng ? Không Không Không Ký hiệu cuối cùng Không

- TBoxPanel, ABoxPanel: hai class thực hiện các chức năng hiển thị cơ sở tri thức ban đầu.

- InclusionPanel: class thực hiện các chức năng khử phép bao hàm trong tập định nghĩa của TBox.

- ExpensePanel: class thực hiện các chức năng triển khai TBox.

- NormalizeTBox: class thực hiện các chức năng hiển thị kết quả chuẩn hóa cuối cùng của TBox.

- AddConcept: Thêm các khái niệm vào trong TBox.

- GraphTbox: Hiển thị cây đồ thị mô tả của TBox đã ở dạng chuẩn hóa. DynamicTree: cây dựng để hiển thị các kết quả thu được

Các lớp được mô tả chi tiết như sau:

DynamicTree

Trong chương trình, ta sẽ sử dụng Tree để hiển thị kết quả. Lớp DynamicTree ở đây được kế thừa từ lớp JTree trong Java, có tác dụng xây dựng một cây động, nghĩa là một cây có thể thêm, xóa các nút trên cây. Các biến và hàm của lớp này được thể hiện ở hình 4.10.

Hình 4.11. Lớp DynamicTree

Lớp TboxPanel

Lớp này có chức năng là đọc cơ sở tri thức ban đầu từ file Tbox.tbox, sau đó kiểm tra để phân loại khái niệm nguyên thủy và khái niệm phức hợp. - Biến Hash_Atomic và Hash_Tbox là hai tập lưu trữ tập các khái niệm

nguyên thủy và các khái niệm phức của TBox.

- Hàm loadTbox( ): đọc nội dung của cơ sở tri thức, và lưu trữ vào hai tập Hash_Atomic và Hash_Tbox.

- Hàm processTbox(String): xử lý để phân loại xem đó là khái niệm nguyên thủy hay khái niệm phức.

Hình 4.12. Lớp TboxPanel

Lớp InclusionPanel

Đây là lớp thực hiện các chức năng khử phép bao hàm trong các mô tả phức của TBox. Lớp này sẽ lấy ra các khái niệm nguyên thủy và các khái niệm phức ban đầu, sau đó duyệt xem khái niệm nào chứa phép bao hàm rồi tiến hành khử phép bao hàm, tiếp theo sẽ lưu các khái niệm nguyên thủy, và các khái niệm phức đã được khử phép bao hàm, đồng thời lớp còn thực hiện các chức năng hiển thị cơ sở tri thức ban đầu là cơ sở tri thức khi chưa thực hiện phép khử bao hàm và thực hiện chức năng hiển thị cơ sở tri thức sau khi đã thực hiện phép khử bao hàm.

- Biến Hash_Atomic, Hash_Rule: lưu trữ tập các khái niệm nguyên thủy và các khái niệm phức sau khi đã được khử phép bao hàm.

- Hàm setHashtable(Hashtable, Hashtable): đọc và lấy lại tập các khái niệm nguyên thủy và khái niệm phức ban đầu.

- Hàm processTbox( ): thực hiện thuật toán khử phép bao hàm.

- Hàm showTBoxOrigin( ) và showTreeOrigin( ): hiển thị các khái niệm nguyên thủy, khái niệm phức và các mô tả của các khái niệm phức của cơ sở tri thức chưa được khử phép bao hàm.

- Hàm showTBoxNew( ) và showTreeNew( ): hiển thị các khái niệm nguyên thủy, khái niệm phức và các mô tả của các khái niệm phức của cơ sở tri thức đã được khử phép bao hàm.

Hình 4.13. Lớp InclusionPanel

Lớp ExpensePanel

Đây là lớp thực hiện các chức năng khai triển TBox, dựa trên kết quả khử phép bao hàm đã được thực hiện trước đó.

- Biến Hash_Atomic: tập các khái niệm nguyên thủy đã được khử phép bao hàm.

- Biến Hash_Rule: tập các mô tả khái niệm phức đã được khử phép bao hàm. - Biến Hash_Rule2: tập các mô tả khái niệm phức sau khi đã được triển khai. - Hàm setHashtable(Hashtable, Hashtable): lấy lại tập các khái niệm nguyên thủy và các khái niệm phức sau khi tiến hành khử phép bao hàm.

Hình 4.14. Lớp ExpensePanel

Lớp AboxPanel

- Biến hash: lưu trữ tập các cá thể cùng các khẳng định của các cá thể. - Hàm loadAbox( ): đọc nội dung cơ sở tri thức, lấy thông tin về các cá thể và lưu trữ và trong tập hash.

Lớp NormalizeTbox

Lớp này thực hiện chức năng hiển thị nội dung TBox thu được sau cả hai phép chuẩn hóa trên.

Hình 4.16. Lớp NormalizeTBox

Lớp GraphTbox.

Lớp này thực hiện chức năng chuyển TBox đã ở dạng chuẩn hóa sang dạng cây đồ thị.

Hình 4.17. Lớp GraphTbox

Lớp này thực hiện chức năng thêm các khái niệm mới và các vai trò mới vào trong cơ sở tri thức ban đầu TBox.

- Hàm writetofile: Thêm các khái niệm mới và các vai trò mới vào trong file TBox.tbox ban đầu.

Hình 4.18. Lớp Addconcept

Lớp MainClass

4.4.2. Giao diện chương trình

Hình 4.20. Giao diện hiển thị cơ sở tri thức trước khi chuẩn hóa.

Hình 4.22. Giao diện triển khai TBox

Hình 4.24. Giao diện hiển thị cây đồ thị của TBox đã chuẩn hóa

4.5. Chương trình thử nghiệm

4.5.1. Bài toán “Gia đình”4.5.1.1. Nội dung cơ sở tri thức 4.5.1.1. Nội dung cơ sở tri thức

a) Khái niệm nguyên thủy

Khái niệm Giải thích Điều kiện

ConNguoi Con Người

Bảng 4.1. Các khái niệm nguyên thủy của bài toán “Gia đình” b) Khái niệm phức

Khái niệm Biểu thức Giải thích

Nu ConNguoi Phụ nữ

Nam ConNguoi Đàn ông

Me ≡ Nu ∃coCon.ConNguoi Người mẹ

Father ≡ Nam ∃coCon.ConNguoi Người cha

ChaMe ≡ ConNguoi ∃coCon.ConNguoi Cha mẹ

Ba ≡ Me ∃coCon.ChaMe Người bà

Ong ≡ Cha ∃coCon.ChaMe Người ông

Vo ≡ Nu ∃coChong.Nam Người vợ

Chong ≡ Nam ∃coVo.Nu Người chồng

Bảng 4.2. Các khái niệm phức của bài toán “Gia đình” c) Quan hệ nguyên thủy

Quan hệ Giải thích Domain Range

coCon Có con ConNguoi ConNguoi

coChong Có chồng ConNguoi ConNguoi

coVo Có vợ ConNguoi ConNguoi

4.5.1.2. Kết quả hiện thị cơ sở tri thức chưa được chuẩn hóa

Hiển thị TBox

Hình 4.26. Nội dung TBox của bài toán “Gia đình”

Hiển thị ABox

Hình 4.27. Nội dung ABox của bài toán gia đình

4.5.1.3. Kết quả thu được khi tiến hành khử phép bao hàm Tập các luật ban đầu của TBox có nội dung như sau:

Hình 4.28. Tập luật ban đầu của TBox trong bài toán “Gia đình”

Trong tập luật này ta thấy có luật số 4 và 5 có chứa phép bao hàm.

Nam ConNguoi Nu ConNguoi

Cách khử bao hàm được tiến hành như sau:

Hình 4.29. Khử phép bao hàm trong TBox của bài toán “Gia đình”

- Để khử phép bao hàm ta thêm khái niệm mới vào vế phải của phép bao

Một phần của tài liệu tìm hiểu về logic mô tả el và cài đặt ví dụ minh họa (Trang 43 - 74)