PHẦN 3 MÔ HÌNH MẠNG CÁC ĐỐI TƯỢNG TÍNH TOÁN

Một phần của tài liệu Hệ thống tri thức mạng suy diễn C-Object mạng các C-Object và bài toán minh họa (Trang 29)

3.1 Mô hình

— Một mạng các đối tượng tính toán cơ bản là một bộ (O, M, F) gồm:

1) O = {O1, O2, ... , On} là một tập hợp các đối tượng C-Object cơ bản. 2) M là một tập hợp các thuộc tính của các đối tượng thuộc O.

3) F = {f1, f2, ... , fm} là một tập hợp các quan hệ tính toán trên các thuộc tính thuộc M.

— Ví dụ: Cho tam giác cân ABC, cân tại A, và cho biết trước góc đỉnh α, cạnh đáy a. Bên ngoài tam giác có hai hình vuông ABDE và ACFG. Tính độ dài EG.

Bài toán có dạng một mạng các đối tượng tính toán bao gồm : 1) Bốn đối tượng :

O1 : tam giác cân ABC, O2 : tam giác AEG, O3 : hình vuông ABDE, O4 : hình vuông ACFG,

trong đó mỗi tam giác có các biến: a, b, c, GocA, GocB, GocC, ha, hb, hc, S, p, R, r, ... và mỗi hình vuông có các biến: a (cạnh), c (đường chéo), S (diện tích), ...

2) M = { O1.b, O1.c, O1.GocA, O2.b, O2.c, O2.GocA, O3.a, O4.a, O2.a}. M(f1) = { O1.c , O3.a },

M(f3) = { O2.b , O4.a }, M(f4) = { O2.c , O3.a },

M(f5) = { O1.GocA , O2.GocA }, O2.a : là thuộc tính cần tính 3) Các quan hệ giữa các đối tượng :

f1 : O1.c = O3.a // cạnh c của tam giác ABC = cạnh của hình vuông ABDE f2 : O1.b = O4.a // cạnh b của tam giác ABC = cạnh của hình vuông ACFG f3 : O2.b = O4.a // cạnh b của tam giác AEG = cạnh của hình vuông ACFG f4 : O2.c = O3.a // cạnh c của tam giác AEG = cạnh của hình vuông ABDE f5 : O1.GocA + O2.GocA = π

3.2 Các bài toán trên mạng các đối tượng tính toán3.2.1 Ba bài toán cơ bản 3.2.1 Ba bài toán cơ bản

1) Có thể xác định được tập B từ tập A nhờ các quan hệ trong F và các đối tượng thuộc O hay không? Nói cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị của các biến thuộc A hay không?

2) Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến thuộc B như thế nào?

3) Tìm một lời giải tốt nhất (hay lời giải tối ưu) của bài toán tính toán B từ giả thiết A?

3.2.2 Thuật giải cho các bài toán

1) Bài toán 1: Để xét tính giải được trong mạng các đối tượng tính toán ta có thể xét trong mạng suy diễn tính toán, theo đó bài toán A → B là giải được khi và chỉ khi B ⊆ A.

Nhập :Mạng các đối tượng tính toán (O, M, F), và A ⊆ M. Xuất : A

Thuật toán : 1. A’ ← A;

if (t áp dụng được trên A) then A ← t(A); 3. if (A ≠ A’) then

goto 1; 4. A ← A’

Thuật toán trên có thể được viết theo cách khác như sau : 1. Repeat

A’ ← A;

for ( f ∈ F ) do

if (f đối xứng and Card (M(f) \ A) ≤ r(f) ) or

(f không đối xứng and M(f) \ A ⊆ v(f)) then begin A ← t(A); F ← F \ {f}; end; for ( t ∈ O ) do if (t(A) ≠ A) then A ← t(A); Until (A = A’); 2. A ← A’;

2) Bài toán 2: tìm một lời giải cho bài toán theo cách tương tự như đối với một mạng suy diễn tính toán.

Nhập : Mạng các đối tượng tính toán (O, M, F), tập giả thiết A ⊆ M, và tập biến cần tính B ⊆ M.

Xuất : lời giải cho bài toán A → B Thuật toán :

1. Solution ← empty; // Solution là danh sách các quan hệ

// hay các đối tượng sẽ áp dụng

2. if B ⊆ A then begin

Solution_found ← true;

// biến Solution_found = true khi bài toán là giải được

goto 5; end else Solution_found ← false; 3. Repeat Aold ← A;

Chọn ra một f ∈ F chưa xem xét (trong bước 3 lần này);

while not Solution_found and (chọn được f) do begin

if ( f đối xứng and 0 < Card (M(f) \ A) ≤ r(f) ) or

( f không đối xứng and ∅≠ M(f) \ A ⊆ v(f) ) then begin

A ← f(A);

Solution ← Solution ∪{ f }; // thêm f vào Solution

end;

if B ⊆ A then

Solution_found ← true;

Chọn ra một f ∈ F chưa xem xét (trong bước 3 lần này);

end; { while }

Until Solution_found or (A = Aold); 4. if not Solution_found then

begin

Chọn ra một Oi ∈ O (theo thứ tự ưu tiên đã nói ở trên) sao cho Oi(A) ≠ A;

if (chọn được Oi) then begin

if (B ⊆ A) then begin Solution_found ← true; goto 5; end; else goto 3; end; end;

5. if not Solution_found then

Bài toán không có lời giải;

else

Begin

5.1: Lần ngược theo các bước giải trong <Solution> để xem xét loại bỏ những bước giải dư thừa

5.2: <Solution> là một lời giải. End

3.3 Mạng các C-Object tổng quát

— Giả sử ta có một mô hình (cơ sở) tri thức các C-Object COKB = (C, H, R, Ops, Rules). Ta gọi một mạng các C-Object trong mô hình COKB, viết vắn tắt bởi CO- Net, là một bộ (O, F) với:

1) O là một tập hợp các C-Object (hay các đối tượng), mỗi đối tượng có một tên cụ thể và thuộc một khái niệm được biết trong COKB.

2) F là một tập hợp sự kiện, mỗi sự kiện thể hiện một tính chất hay một liên hệ nào đó trên các đối tượng hay trên các thuộc tính của các đối tượng.

Đối với một CO-Net (O, F), khi ta phải xem xét một tập sự kiện mục tiêu G và muốn khảo sát những vấn đề suy diễn và tính toán (hay giải toán) các sự kiện trong G từ mạng thì ta nói rằng ta có một bài toán trên CO-Net. Bài toán này sẽ được ký hiệu là:

Một phần của tài liệu Hệ thống tri thức mạng suy diễn C-Object mạng các C-Object và bài toán minh họa (Trang 29)