Chức năng suy diễn tiến

Một phần của tài liệu đồ án công nghệ thông tin Ứng dụng công nghệ phần mềm trong bài toán hệ chuyên gia.Giải quyết các bài toán hệ chuyên gia dựa trên các quy trình công nghệ phần mềm. (Trang 81 - 84)

Mụ tả

Cựng với chức năng suy diễn lựi đõy là chức năng trọng tõm của hệ thống. Người dựng cú nhiệm vụ cho biết cỏc thụng tin về sự kiện ngay khi bắt đầu suy diễn. Hệ thống dựa vào cỏc thụng tin này mà suy diễn ra cỏc thụng tin mới.

Luồng sự kiện

Chức năng này được thực hiện khi người dựng chọn sử dụng chiến lược suy diễn tiến.

Điều kiện thực hiện chức năng này

Người dựng sử dụng phải xõy dựng bộ nhớ làm việc cho suy diễn tiến.

Kết quả sau khi thực hiện chức năng

Suy diễn ra cỏc thụng tin, chứng minh cỏc kết luận của người dựng nhập cú đỳng khụng.

Giải thuật suy diễn tiến

- Tập cỏc luật RULE={r1,r2,…}cú dạng chuẩn Horn p1^p2…^pnq - Tập cỏc kết luận KL={q1,q2,….,qk}

Đầu ra

Thụng bỏo thành cụng nếu mọi kết luận cú thể suy ra từ cỏc giả thiết nhờ sử dụng tập luật đó cho.

Thuật toỏn:

/* Tgian là tập cỏc sự kiện đỳng tai thời điểm đang xột, ban đầu Tgian=GT*/ {

TG=GT;

SAT=loc{RULE,Tgian}

/* SAT là tập cỏc luật cú dạng p1^p2^…^pnq sao cho ∀1,n, pi∈Tgian While KL∉Tgian and SAT≠φ

{

r ← get(SAT) /* lấy một luật r khả hợp từ tập SAT theo chiến lược giải quyết đụng độ đó chọn */

/* giả sử r cú dạng p1^p2…^pnq*/

Tgian ← Tgian ∪{q} /* trong bước này cú tớnh lại CF của q theo cụng thức tớnh CF từ nhiều nguồn (12) trong chương IV */ RULE ←RULE \{r}

SAT=loc(RULE,Tgian) }

If KL⊂Tgian then Exit (“ Thành cụng ”) Else Exit(“Khụng thành cụng”)

}

Cơ sở tri thức Suy diễn tiến Bộ nhớ làm việc Danh sách luật và sự kiện

D/s giả thiết và kết luận Người dùng

Cháy luật

Kết luận của luật cháy

Giao diện

D/s giả thiết

Hỡnh 5.4 Suy diễn tiến

Giải quyết cạnh tranh trong suy diễn tiến:

Để giải quyết vấn đề này xin nờu cỏc định nghĩa bổ trợ sau:

- Đồ thị FPG: Một sự kiện Fi đứng trước sự kiện Fj (ta kớ hiệu là Fi  Fj) nếu Fj là kết quả của một luật r nào đấy mà chứa Fi bờn phớa trỏi.

Fi  Fj⇔∃ r: l eft  right thoả món Fj ∈ right và Fi∈ left.

- Đồ thị RPG: Một luật riđứng trước một luật rj (ta kớ hiệu ri  rj) nếu như cú một kết quả nào đấy của luật ri đồng thời nằm trong phần điều kiện của luật rj.

Ri  rj ⇔∃ F: F ∈ righti và F ∈ leftj

Trong suy diễn tiến tỡnh huống đụng độ xảy ra với tập F nào đú, ∃ ri, rj trong đú lefti, leftj ∈ F. Cõu hỏi đặt ra là sẽ ỏp dụng luật nào.

Để giải quyết vấn đề này, cú thể sử dụng cỏc giải phỏp sau đõy:

Giải phỏp 1: Tổ chức cỏc luật theo một cấu trỳc nào đấy (như là stack, queue).

Giải phỏp 2: Sử dụng đồ thị FPG - đồ thị thứ tự sự kiện (Fact predence Graph).

Lựa chọn luật cú một sự kiện mức thấp hơn trong FPG, nếu cựng mức sẽ sử dụng một trong cỏc chiến lược để lựa chọn như là duyệt theo chiều rộng, duyệt theo chiều sõu.

Giải phỏp 3: Sử dụng đồ thị RPG - đồ thị thứ tự của luật (Rule Precedence Graph).

Lựa chọn luật cú mức độ thấp hơn trong FPG, nếu cựng mức sẽ sử dụng một trong cỏc chiến lược để lựa chọn như là duyệt theo chiều rộng, duyệt theo chiều sõu.

Giải phỏp 4: Sử dụng heuristic. Cỏc heuristic cú thể sử dụng là độ chắc chắn của luật (Sử dụng luật cú độ chắc cao hơn).

Trong bài đồ ỏn này tụi lựa chọn giải phỏp 4.

Một phần của tài liệu đồ án công nghệ thông tin Ứng dụng công nghệ phần mềm trong bài toán hệ chuyên gia.Giải quyết các bài toán hệ chuyên gia dựa trên các quy trình công nghệ phần mềm. (Trang 81 - 84)