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…^pnq - 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^…^pnq 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…^pnq*/
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.