Nhận xét: Với cùng một ôtômat thì đồ thị miền có số đỉnh ít hơn rất nhiều so với đồ thị vùng tương ứng, tức là độ phức tạp của bài toán đồ thị miền theo đó cũng giảm theo.
2.1.3.Đồ thị đạt được nguyên
Kĩ thuật xây dựng đồ thị vùng nguyên được trình bày trong [1] rất chi tiết. trong luận văn xin tổng quát lại hướng xây dựng đồ thị nguyên:
Lấy Kx là hằng số lớn nhất trong các rằng buộc thời gian x X, K = max{Kx | x X}. Sử dụng các bổ đề, tính chất của lớp tương đương của vùng đồng hồ đã được chứng minh trong [1].
Định nghĩa [1]: v1, v2 là hai thể hiện đồng hồ, v1 tương đương với v2 kí hiệu v1 v2 x X v1(x) = v2(x) hoặc v1 Kx+1 v2(x) Kx+1.
Bổ đề [1]: nếu (s,v) d a, (s’,v’) thì (s, [v]) d a, (s’, [v’]) và ngược lại, nếu (s, ) d a, (s’, ’) thì với v thuộc tồn tại v’ thuộc ’ sao cho (s,v)
,
d a
(s’,v’).
+ Một đỉnh vV là một vùng trạng thái <s, >, trong đó là vùng đồng hồ,
s được gọi là vị trí đặc trưng của v (và kí hiệu s v).
+ Vùng <s', '> được gọi là hậu duệ của <s, > nếu , ' ', d
N và e = <s, , a, , s'> sao cho (s, )d a, (s', ').
+ Nếu <s, > V và <s', '> là hậu duệ của <s, > thì (<s, >, <s', '>) là một cung trong E. Mỗi cung e được gán nhãn là đoạn [l(e), u(e)], ở đây l(e) và u(e) biểu thị thời gian tối thiểu và tối đa mà ôtômat có thể nằm lại tại vị trí s
trước khi chuyển đến s'.
Một tính chất quan trọng của đồ thị vùng nguyên là mỗi đường chạy của ôtômat sẽ tương ứng với một đường đi trong đồ thị sao cho tổng thời gian trên đường chạy luôn bị chặn bởi tổng các cận l và u trên đường đi này.
Xuất phát từ đỉnh ban đầu <s0, 0> V, ta có thể xây dựng hoàn toàn RG
bằng một thuật toán chi tiết được cho trong bảng 2-1 của luận văn. Procedure Integral-Reachability-Graph; {input: ôtômat thời gian A } Begin { output: đồ thị vùng đạt được nguyên RG= (V, E) }
V = {(so, )}; E = while (true) do begin
if mọi đỉnh trong V đã được thăm then exit; lấy v =(s, ) V là đỉnh chưa được thăm; for với mỗi phép chuyển e =,( , , , ') a s do
for d = 0 to K do begin
if ( + d ) không thoả I(s) I s( ) then loop;
if (n + d)[( +d)[ : 0] then loop;
' ( d)[ =0];
if ( ', ')s V then bổ sung ( ', ')s vào V; if (( , ), ( ', '))s s E then begin bổ sung e =(( , ), ( ', '))s s vào E; if d k then l(e)=u(e)=d else begin l(e) = d; u(e) = ; end; end; end;
đánh dấu =(s, ) là đã được thăm; end;
end; End.
Bảng 2-1: Thuật toán xây dựng đồ thị đạt được nguyên
cho trong hình 1-3. Trong đồ thị này, mọi cung đều có l = u nên nhãn của chúng chỉ được gán bởi (l).