Giải thuật Vasilevskii-Chow

Một phần của tài liệu Nghiên cứu phương pháp xây dựng mô hình tự động (Trang 26)

Như đã đề cập ở trên, đối tượng Teacher được xây dựng từ giải thuật Vasilevskii – Chow(VC) [8], [13]. Ở mỗi bước lặp, L* phải xây dựng một DFA Di dựa trên bảng quan sát đóng (S, E, T) như đã trình bày trong định nghĩa 3.1. Sau đó, L* sẽ chuyển DFA Di thành một hệ chuyển trạng thái được

Giải thuật 3.1: L* học một mô hình chính xác M của C.

Input: Một thành phần phần mềm C và bảng quan sát rỗng (S, E, T)

Output: M là một mô hình chính xác của C 1. Initially, S = {ε} E = {ε}

2. loop

3. update T by performing the experiments on C 4. while (S, E, T) is not closed do

5. add to S to make (S, E, T) closed, where S and a Σ 6. update T by performing the experiments on C

7. end while

8. conform = VC(S, E, C, n) 9. if conform == true then

10. construct a candidate model Mi from the closed table (S, E, T) 11. return Mi

12. else

13. for each ′ suffix(conform) and ′ E do 14. add ′ to E

15. end for 16. end if

gán nhãn an toàn LTS Mi như một mô hình ứng viên của C. Hình 3.4 mô tả sơ đồ thuật toán VC kiểm tra sự tương thích giữa Mi và C. Giải thuật VC sẽ kiểm tra mỗi chuỗi s Σ* thì hoặc s L(Mi) và s L(C) hoặc s không thuộc cả hai tập đó. Nếu mọi chuỗi s Σ* mà đều thỏa mãn hoặc s L(Mi) và s L(C) hoặc s không thuộc cả 2 tập đó thì khi đó ta nói Mi và C là tương thích hay Mi là mô hình chính xác của thành phần phần mềm C.

Hình 3.4: Sơ đồ thuật toán Vasilevskii – Chow.

Để làm điều đó ta xây dựng một hàm check: Σ* → {0, 1}. Với mỗi chuỗi s Σ* thì check(s) = 0 khi và chỉ khi hoặc s L(Mi) và s L(C) hoặc s

 L(Mi) và s  L(C). Trái lại, check(s) = 1. Giải thuật VC sử dụng tập S và E lấy từ bảng đóng (S, E, T) của mô hình ứng viên Mi và giá trị n là cận trên kích thước của ôtômát mô hình hóa cho C làm đầu vào, được trình bày trong giải thuật 3.2. Các chuỗi được kiểm tra có định dạng σ = sxe với s S, e E và | x | ≤ n - |S|.

Giải thuật 3.2: VC(S, E, C, n)

Input: S, E, C, n: tập S các tiền tố, tập E các hậu tố trong bảng quan sát (S, E, T), một thành phần phần mềm C như một hộp đen và giá trị cận trên n kích thước của ôtômát mô hình hóa cho thành phần C.

Output: True hoặc d: true nếu mô hình ứng viên Mi và C là tương thích, trái lại d phản ảnh sự khác biệt giữa L(Mi) và L(C).

Candidate model Mi Black – box component C s in Σ* true/cex Check(s)

Độ phức tạp của giải thuật VC là O(t2kn-t+1) [8], [13], trong đó, t là kích thước của S (tức số trạng thái của Mi), k là kích thước bảng chữ cái Σ và n là cận trên kích thước các ôtômát mô hình hóa cho thành phần C.

Một phần của tài liệu Nghiên cứu phương pháp xây dựng mô hình tự động (Trang 26)

Tải bản đầy đủ (PDF)

(53 trang)