Một hướng triển khai của cơ chế cho phép suy luận trên cơ sở dữ liệu mờ

Tóm tắt. Bài báo này giới thiệu một hướng triển khai cơ chế kết hợp biểu diễn các luật suy luận và thông tin mờ được lưu trữ trong một cơ sở dữ liệu quan hệ truyền thống để xây dựng một module có khả năng suy ra dữ liệu mới từ dữ liệu đã có trong các bảng. Các suy luận có thể áp dụng trên dữ liệu rõ (dữ liệu chính xác), dữ liệu mờ hoặc cả hai loại dữ liệu rõ và mờ.

pdf15 trang | Chia sẻ: thanhle95 | Lượt xem: 200 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Một hướng triển khai của cơ chế cho phép suy luận trên cơ sở dữ liệu mờ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
JOURNAL OF SCIENCE OF HNUE FIT., 2013, Vol. 58, pp. 13-27 This paper is available online at MỘT HƯỚNG TRIỂN KHAI CỦA CƠ CHẾ CHO PHÉP SUY LUẬN TRÊN CƠ SỞ DỮ LIỆU MỜ Nguyến Tiến Thành, Hồ Cẩm Hà1 1Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Hà Nội 1Email: hahc@hnue.edu.vn Tóm tắt. Bài báo này giới thiệu một hướng triển khai cơ chế kết hợp biểu diễn các luật suy luận và thông tin mờ được lưu trữ trong một cơ sở dữ liệu quan hệ truyền thống để xây dựng một module có khả năng suy ra dữ liệu mới từ dữ liệu đã có trong các bảng. Các suy luận có thể áp dụng trên dữ liệu rõ (dữ liệu chính xác), dữ liệu mờ hoặc cả hai loại dữ liệu rõ và mờ. Từ khóa: Cơ sở dữ liệu quan hệ, suy luận mờ. 1. Giới thiệu Mô hình quan hệ được đưa ra bởi Codd [1], cho đến nay đã có được nền tảng lí thuyết phát triển đầy đủ và có phạm vi ứng dụng rộng rãi nhất trong thực tế. Trong những năm qua, với cách tiếp cận dùng lí thuyết tập mờ, đã có nhiều cách mở rộng mô hình quan hệ truyền thống để biểu diễn và thao tác với thông tin mờ được đề xuất [2,3,4,5,6]. Để một hệ CSDL quan hệ có thêm chức năng biểu diễn, suy luận và truy vấn được các giá trị mờ (chẳng hạn như “tìm những người còn trẻ”), cần có một ngôn ngữ truy vấn mềm dẻo, đồng thời cần có một cơ chế suy diễn trên tập dữ liệu rõ và mờ, Medina, Pons và Vila đã đưa ra hai ý tưởng đó trong [7]. Chúng tôi đã triển khai một hệ thống CSDL suy diễn theo ý tưởng của Igrancio Blanco, Juan C. Cubero, Olga Pons, và Amparo Vila [8], nhằm mở rộng cơ sở dữ liệu quan hệ để có thêm hai khả năng là biểu diễn được thông tin mờ và suy luận ra dữ liệu mới từ các dữ liệu đã có. 2. Nội dung nghiên cứu 2.1. Một mô hình cơ sở dữ liệu suy diễn mờ 2.1.1. Ý tưởng về hệ CSDL suy diễn của Media, Pons, Vila và Cubero Các tác giả Medina, Pons, Vila và Cubero [9] đã đặt tên FSQL cho ngôn ngữ truy vấn mờ, tức là một ngôn ngữ truy vấn mềm dẻo hoạt động trên các giá trị mờ và rõ, và đặt 13 Nguyến Tiến Thành, Hồ Cẩm Hà tên DFSQL cho ngôn ngữ suy luận mờ, tức là ngôn ngữ truy vấn mà có thể suy luận trên cả dữ liệu rõ và mờ. Cấu trúc cho một Server CSDL suy diễn với ba thành phần được mô tả trong hình 1. Chức năng của mỗi thành phần được giải thích như sau: DFSQL Client: Nhận các câu DFSQL từ người sử dụng và chuyển nó đến DFSQL Server và trả ra kết quả của truy vấn được hiển thị cho người sử dụng. DFSQL Server: Nhận các câu truy vấn được gửi đến từ DFSQL Client, tách chúng thành các phần riêng biệt bao gồm phép xử lí mờ và các phép suy luận. Chúng ta cần phân biệt giữa FSQL (câu lệnh truy vấn mờ), DSQL (câu lệnh suy diễn) và các câu DFSQL. Tất cả chúng được chuyển thành một tập các câu SQL cố điển và các lời gọi hàm. Bộ thực thi phát biểu SQL: Nhận các câu SQL cố điển, theo đó DFSQL Server sẽ dịch các câu DFSQL của người dùng và thực thi nó trên cơ sở dữ liệu, sử dụng từ điển dữ liệu được lưu trữ trong Catalog dữ liệu bao gồm Catalog dữ liệu cổ điển và Catalog dữ liệu mở rộng được tạo nên từ FMB(Fuzzy Meta-Base) và Ruler base. Cơ sở dữ liệu: Bao gồm dữ liệu. Hình1. Tổ chức hệ thống DFSQL trong FREDDI Catalog: Bao gồm thông tin về dữ liệu trong cơ sở dữ liệu. Catalog mở rộng: Bao gồm thông tin về dữ liệu mờ được lưu trữ trong cơ sở dữ liệu (FMB hay Fuzzy Meta-Base) cũng như các luật logic được sử dụng để suy luận trên cơ sở dữ liệu (Ruler base). Mô tơ suy luận: Sử dụng thông tin về dữ liệu mờ và luật suy luận được lưu trữ trong Catalog mở rộng để suy luận ra dữ liệu mới từ dữ liệu đã có. 14 Một hướng triển khai của cơ chế cho phép suy luận trên cơ sở dữ liệu mờ 2.1.2. Các hướng triển khai và các mô hình biến thể Khi mở rộng một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) để nó có thêm khả năng biểu diễn thông tin mờ và suy luận, chúng ta sẽ bị giới hạn bởi mô hình quan hệ và tất cả các cấu trúc được sử dụng trong mô hình đó. Các hướng triển khai Hai khả năng biểu diễn thông tin mờ và suy luận được triển khai trên hai thành phần riêng biệt mà không có mối liên hệ nào giữa chúng. Do đó, cần phải có một module hòa hợp kết quả của hai thành phần khi chúng ta thực hiện các thao tác. Oracle c© đã được tích hợp thêm thành phần mới và theo cách khác nhau trên các phiên bản khác nhau của FREDDI. Mô tơ suy luận là một module ngoại diên, nó không làm ảnh hưởng gì đến các chức năng của hệ quản trị cơ sở dữ liệu quan hệ và được triển khai trên cơ sở một ngôn ngữ có khả năng kết nối với Oracle c©. Hiện nay, Oracle c©, đã cung cấp các ngôn ngữ lập trình có khả năng kết nối đó. Có hai khả năng lựa chọn và phụ thuộc vào ngôn ngữ được cung cấp bởi Oracle c©: Thứ nhất là Pro*C c©. Đây là ngôn ngữ C có thêm các câu lệnh mở rộng cho phép sử dụng hay kết nối với Oracle c©. Thứ hai là PL/SQL c©. Đây là ngôn ngữ lập trình cơ sở dữ liệu có ngay trong RDBMS. Các module được tạo ra, lưu trữ và thực thi trong RDBMS, vì vậy không cần đến khả năng kết nối. Tuy nhiên ngôn ngữ này lại không thông dụng và có nhiều hạn chế hơn lựa chọn đầu tiên. Các mô hình biến thể Phụ thuộc vào ngôn ngữ được lựa chọn, chúng ta có vài biến thể từ mô hình ban đầu. Máy suy luận ngoại diên: Là mô hình được gợi ý khi sử dụng những ngôn ngữ bên ngoài RDBMS như Pro*C c© được sử dụng (Hình 2). Hình 2. Mô hình máy suy ngoại diên 15 Nguyến Tiến Thành, Hồ Cẩm Hà Máy suy luận nội hàm: Là mô hình được gợi ý khi sử dụng những ngôn ngữ bên trong RDBMS, như PL/SQL c© được sử dụng (Hình 3). Hình 3. Mô hình máy suy luận nội hàm 2.1.3. Biểu diễn thông tin mờ và luật logic trong mô hình quan hệ Catalog về dữ liệu được mở rộng để lưu trữ thông tin về dữ liệu mờ và các luật logic trong cơ sở dữ liệu. Nó gồm hai catalog con: - FMB catalog hay Fuzzy Meta-Base catalog: Lưu trữ thông tin về dữ liệu mờ. - Ruler Base catalog: Lưu trữ các luật logic phục vụ cho sự suy luận. a. FMB catalog Các kiểu thuộc tính mờ có thể biểu diễn trong hệ thống là: Các thuộc tính mờ loại 1: Là các thuộc tính có thể nhận các giá trị rõ nhưng được truy vấn bởi các câu truy vấn mờ trên các giá trị chúng được gán nhãn trong miền giá trị. Các thuộc tính mờ loại 2: Là các thuộc tính có thể lưu trữ các số mờ, như Zadeh đề xuất [10]. Các số mờ đó được biểu diễn bởi sự phân bố trên những miền liên tục hoặc rời rạc mà trong đó tồn tại mối quan hệ về thứ bậc. Các kiểu giá trị của các thuộc tính này có thể là: - Kiểu giá trị thuộc chuẩn hình thang: Được biểu diễn dựa trên một hàm thuộc mà dữ liệu được xác định bởi bốn thông số [α, β, γ, δ]. - Các nhãn ngôn ngữ: Được biểu diễn bởi các từ mang tính ngôn ngữ, cũng được biểu diễn bởi sự phân bố, chẳng hạn như nhãn “cao” hay “nặng” của một người. - Các giá trị xấp xỉ: Biểu diễn cho nội dung mờ “xấp xỉ n” khi n là một giá trị nằm 16 Một hướng triển khai của cơ chế cho phép suy luận trên cơ sở dữ liệu mờ trên một miền có thứ tự. Sự phân bố được biểu diễn bởi một hình tam giác, xác định bởi một thông số gọi là margin và được biểu diễn bằng [n – margin, n, n, n + margin]. - Các giá trị khoảng: Đặc thù bởi sự phân bố trên hình thang khi mà không có sự nghiêng đi của các cạnh. Loại này do Grant đề xuất [11] và được biểu diễn bằng [α, α, β, β]. Các thuộc tính mờ loại 3: Là các thuộc tính được định nghĩa một cách rời rạc trên các miền không có thứ bậc, nơi mà mối quan hệ giữa các giá trị là như nhau. Các kiểu giá trị của loại này có thể là: - Các giá trị vô hướng: Là khả năng phân bố mà chỉ có một giá trị tồn tại. Kí hiệu (1, d) cho trường hợp chỉ có 1 giá trị d xuất hiện và độ thuộc của nó bằng 1. - Các giá trị phân bố trên một miền vô hướng: Là dữ liệu được xác định là nằm trên các miền các xác định giá trị vô hướng và không có thứ tự {(p1, d1), .., (pn, dn)}. Đối với các kiểu mờ này, có những giá trị đặc biệt được giới thiệu bởi Cold [12-15] cần phải quan tâm đến đó là: UNKNOWN: biểu diễn sự không xác định của một giá trị thuộc tính. Nghĩa là một thuộc tính có thể nhận bất kì giá trị nào trong miền giá trị với khả năng là 1 vì vậy có thể được biểu diễn bằng {1/u, ∀u ∈ U} với U là miền xác định. UNDEFINED: được dùng khi không có giá trị nào trong miền xác định mà thuộc tính này có thể nhận được và vì vậy nó có thể được biểu diễn bằng {0/u, ∀u ∈ U} với U là miền xác định. NULL: để chỉ ra rằng không có thông tin nào về thuộc tính bởi vì không thể biết nó thuộc UNKNOWN hay UNDEFINED vì vậy có thể biểu diễn nó bằng 1/UNKNOWN, 1/UNDEFINED. Tóm lại, có thể lưu trữ các giá trị mờ loại 2 được trình bày trong bảng 1 và các giá trị mờ loại 3 trong bảng 2. Bảng 1. Biểu diễn của các thuộc tính mờ loại 2 trong một RDBMS Kiểu giá trị Thuộc tính dữ liệu cho kiểu giá trị mờ loại 2FT F1 F2 F5 F4 UNKNOWN 0 NULL NULL NULL NULL UNDEFINED 1 NULL NULL NULL NULL NULL 2 NULL NULL NULL NULL RÕ 3 d NULL NULL NULL NHÃN 4 FUZZY_ID NULL NULL NULL KHOẢNG[n,m] 5 n NULL NULL m XẤP XỈ(d) 6 d d - margin d + margin margin HÌNH THANG 7 α β γ δ 17 Nguyến Tiến Thành, Hồ Cẩm Hà Trong đó FT lưu trữ kiểu giá trị và F1, F2, F3 và F4 lưu mỗi giá trị thông số. Giá trị NULL trong bảng này mang ý nghĩa là giá trị không được lưu trữ để dùng trong một RDBMS. Bảng 2. Biểu diễn của các thuộc tính mờ loại 3 trong một RDBMS Kiểu giá trị Thuộc tính dữ liệu cho kiểu giá trị mờ loại 2FT FP1 F1 FPn Fn UNKNOWN 0 NULL NULL NULL NULL UNDEFINED 1 NULL NULL NULL NULL NULL 2 NULL NULL NULL NULL ĐƠN 3 p d NULL NULL MIỀN 4 p1 d1 pn dn Trong đó FT lưu trữ kiểu giá trị và mỗi cặp (pn, dn) biểu diễn rằng có thể nhân giá trị dn trên miền giá trị với độ chắc chắn là pn. Cấu trúc bảng của FMB được trình bày trong hình 4 và nó dựa trên cơ sở cấu trúc bảng của Oracle c©. Hình 4: Cấu trúc bảng của FMB 18 Một hướng triển khai của cơ chế cho phép suy luận trên cơ sở dữ liệu mờ Dưới đây là mô tả các thành phần của mỗi bảng: FUZZY_COL_LIST: bao gồm danh sách các thuộc tính trong cơ sở dữ liệu có thể được xử lí theo cách mờ. Mô tả thuộc tính đó trong bảng (OBJ#) thuộc về cột (COL#) với kiểu mờ (F_TYPE), số các giá trị trong phân bố nếu nó là thuộc tính mờ loại 3 là (LEN) và chú thích cho thuộc tính là (COM). FUZZY_OBJECT_LIST: chứa các đối tượng mờ biểu diễn các giá trị trong các thuộc tính của cơ sở dữ liệu. Mỗi đối tượng được mô tả bởi bảng và cột chứa nó, một định danh F_ID, một tên và một kiểu mờ. FUZZY_LABEL_DEF: chứa thông tin về sự phân bố theo chuẩn hình thang của các nhãn ngôn ngữ. Được mô tả bởi bốn thông số: α, β, γ và δ. FUZZY_APPROX_FCOMP: chứa các thông số margin và fcomp được sử dụng nếu làm việc với đối tượng thuộc kiểu mờ loại 1 hoặc kiểu mờ loại 2. Bảng bao gồm các cột MARGIN, MUCH, OBJ# và COL#. FUZZY_NEARNESS_DEF: chứa các giá trị về độ tương tự giữa các cặp giá trị trong cùng một miền. Quan hệ tương tự là quan hệ giữa các giá trị mờ loại 3. Bậc (DEGREE) là thông số so sánh giữa các cặp giá trị F_ID1 và F_ID2 có trong cột COL# của bảng OBJ#. FUZZY_COMPATIBLE_COL: chứa thông tin về sự đối sánh của các thuộc tính mờ loại 3 vì khi một thuộc tính được đối sánh với một thuộc tính khác thì nó sẽ không cần phải định nghĩa lại tất cả các nhãn và các mối quan hệ. Mỗi dòng biểu diễn một mối quan hệ giữa (OBJ#1, COL#1) và (OBJ#2, COL#2). FUZZY_QUALIFIERS_DEF: chứa thông tin về mỗi nhát cắt với lượng từ QUALIFIER của nhãn mang tính ngôn ngữ (F_ID) được chứa trong cột COL# của bảng OBJ#. Những bảng nói trên chỉ được lưu trữ trong DFSQLServer và được quản trị bởi người quản tri cơ sở dữ liệu, tất cả các Client truy cập tới chúng chỉ có quyền đọc, không có quyền ghi hay sửa. Ruler base catalog Bảng 3. Bảng cha mẹ Bố / Mẹ Con trai / Congái John Mike Mary Mike Karl Louise Maggie Louise Mike Jake Louise Jake 19 Nguyến Tiến Thành, Hồ Cẩm Hà Giả sử chúng ta có một bảng như bảng 3 và cần phải tìm thông tin về tổ tiên của một người nào đó. Có hai cách làm, cách thứ nhất là biểu diễn thông tin đó trong cơ sở dữ liệu thành một bảng có dạng như bảng 4. Bảng 4. Bảng tổ tiên Tổ tiên Con cháu John Mike John Jake Mary Mike Mary Jake Karl Louise Karl Jake Maggie Louise Maggie Jake Mike Jake Louise Jake Việc thêm một thông tin về bố mẹ trong bảng cha mẹ sẽ dẫn đến việc thêm thông tin về tổ tiên trong bảng tổ tiên. Trong nhiều trường hợp, số lượng thông tin phải thêm vào bảng tổ tiên là rất lớn. Tuy nhiên, có một cách làm khác mà vẫn có thể thu được thông tin về tổ tiên bằng việc biểu diễn cách hoàn thành bảng tổ tiên. Chúng ta biết rằng, cha mẹ của một người là tổ tiên của người đó, và cha mẹ của cha mẹ cũng là tổ tiên, và cứ thế. Nếu biểu diễn thông qua luật logic thì ta có: TOTIEN(X , Y) CHAME(X , Y) TOTIEN(X , Y)⇐ CHAME(X , Z) AND TOTIEN(Z , Y) (1) Có thể thiết kế một module thu thập dữ liệu từ các luật này để bảng tổ tiên có thể được cập nhật một cách hoàn toàn tự động ngay khi thông tin mới được thêm vào bảng cha mẹ. Ta thấy có hai tân từ xuất hiện trong các luật ở (1). Thuộc tính CHAME là tân từ ứng với bảng chứa dữ liệu, trong khi tân từ TOTIEN thì lại không. Vì vậy ta có các kiểu của các tân từ là: Tân từ ngoại diên xuất hiện trên các bảng ngoại diên, là những bảng mà nội dung không phụ thuộc vào nội dung của các bảng khác. Mỗi biến của một tân từ ngoại diên thuộc về một cột trong bảng ngoại diên. Sự tham chiếu này được lưu trữ trong catalog luật. Tân từ nội hàm xuất hiện trong các bảng nội hàm, tức là những bảng mà nội dung phụ thuộc vào nội dung của các bảng khác. Các bảng và các tân từ nội hàm được đăng ký lưu trú trong bảng được gọi là INTENSIONAL_CATALOG. Trường hợp đơn giản nhất khi thực hiện suy diễn là các luật có chiều cao mức 1, 20 Một hướng triển khai của cơ chế cho phép suy luận trên cơ sở dữ liệu mờ tức là các luật chỉ bao gồm các tân từ ngoại diên hoặc các hằng. Nhưng tiếc thay, đó lại là điều ít khi xảy ra. Suy diễn thường phải thực hiện với các luật có chiều cao ở mức lớn hơn 1 và bao gồm tân từ nội hàm hoặc cả những thông số không được tính toán từ trước. Trường hợp khó nhất là suy luận với những luật bao gồm các tân từ được định nghĩa bởi các luật khác. Một luật suy diễn có dạng: P← K1 ∨ K2 ∨...∨ Km ∧ Km+1 ∧ Km+2 ∧...∧Kn (2) có thể chuyển về dạng: P← (K1∨ K2 ∨ ...∨ Km) ∧ (Km+1∧ Km+2 ∧ ...∧ Kn) (3) Chuyển luật về dạng chuẩn tắc tuyển ta được: P← (K1 ∧ (Km+1 ∧ Km+2 ∧ ... ∧ Kn)) ∨ (K2 ∧ (Km+1 ∧ Km+2 ∧ ... ∧ Kn)) ∨ ... ∨ (Km ∧ (Km+1 ∧ ∧ Km+2 ∧ ... ∧ Kn)) (4) và kết quả rút gọn là: P← P1 ∨ P2 ∨ ... ∨ Pm (5) với: Pi← Ki ∧ (Km+1 ∧ Km+2 ∧ .. ∧ Kn) (6) Vì luật được chuyển thành tuyển của các luật nên trong biểu thức của các luật chỉ còn lại một phép tính liên từ. Cấu trúc bảng thể hiện thông tin này được mô tả ở hình 5. Hình 5. Cấu trúc bảng của rule base Dưới đây là mô tả chi tiết hơn về mỗi bảng: INTENSIONAL_TABLE_DESCRIPTION: lưu trữ các tân từ nội hàm P (TABLE_ID) được định nghĩa thông qua các luật Pi (RULER_ID). RULER_DESCRIPTION: mô tả mỗi luật Pi là một chuỗi các tân từ nội hàm, các tân từ ngoại diên hoặc cả tân từ nội hàm và cả tân từ ngoại diên được liên kết với nhau bởi các phép tính liên từ. Các tân từ có thể đi kèm các dấu phủ định. Một tân từ có thể xuất hiện nhiều hơn một lần trong một luật nhưng ở các vị trí khác nhau. TABLE_ID và RULER_ID định danh luật. PRED_ID định danh tân từ, OCC_NUMBER xác định vị trí của luật, NEGATED chỉ ra nếu như tân từ được cho là phủ định và TYPE cho biết tân từ là nội hàm, ngoại diên hay là so sánh. 21 Nguyến Tiến Thành, Hồ Cẩm Hà PREDICATE_DESCRIPTION: mô tả thứ tự của các biến trong các tân từ Ki. Một biến có thể xuất hiện nhiều hơn một lần trong một tân từ nhưng trong nhiều trường hợp, vị trí xuất hiện của biến là quan trọng. TABLE_ID và RULER_ID định danh luật, PRE_ID xác đinh tân từ, OCC_NUMBER chỉ ra vi trí xuất hiện của tân từ trong luật, VAR_ID chỉ ra biến và COL_ID xác định vị trí của biến trong tân từ. CONDITION_DESCRIPTION: mô tả các điều kiện, kiểu đặc biệt của tân từ, nó chỉ bao gồm hai biến và các kiểu của nó là =, 6=,≤,≥ và >. TABLE_ID và RULER_ID định danh luật, PRED_ID định danh tân từ, OCC_NUMBER chỉ ra vi trí của tân từ trong luật. VAR_ID1 chỉ ra biến đầu tiên, VAR_ID2 chỉ ra biến thứ 2 trong tân từ, và COMP_OP chỉ ra kiểu của tân từ so sánh. 2.2. Đề xuất giải thuật suy luận và cách triển khai module mờ 2.2.1. Cấu trúc dữ liệu Ý tưởng của giải thuật suy luận mà chúng tôi giới thiệu sau đây tương tự như kĩ thuật suy luận prolog. Nó dựa trên ý tưởng của các tác giả Igrancio Blanco, Juan C. Cubero, Olga Pons, và Amparo Vila [8]. Kết quả của việc khai triển một luật là một tập các bộ giá trị biến thỏa mãn luật. Chẳng hạn trong dạng 2 của luật, tập giá trị các biến sẽ có dạng: X Y Z Cấu trúc cơ sở này của tập giá trị có thể được sử dụng để biểu diễn cho tất cả các kết quả có thể có của việc khai triển luật. Để lưu trữ được thông tin này, chúng ta sử dụng một bảng được gọi là PRED_RULER với biểu diễn tân từ thứ pred của luật thứ rule. Cấu trúc của các bảng này sẽ có dạng dưới đây: IDSET VAR1 ... VARn NEG INST APPL TABLEP IDSETP ACT CTRL Thuộc tính VARi biểu diễn giá trị của biến luật thứ i. Như trong dạng (2) của luật, một tân từ có thể khai triển nhiều hơn một lần, chúng ta có thể sử dụng các bảng PREDi_RULERj khác nhau nhưng nó sẽ đòi hỏi không gian nhớ quá lớn. Một lựa chọn khác là sử dụng cùng một bảng có cấu trúc tương tự bảng PREDi_RULERj nhưng phân biệt giữa những tập giá trị của các biến được dùng trong khai triển. Nếu như vậy, một thứ tự giữa các tâp giá trị phải được thiết lập, và thứ tự này được lưu trữ trong thuộc tính IDSET. Dựa vào đó ta có thể phân biệt được các tập giá trị với nhau. Hơn nữa, nếu có thể tạo ra một bộ đặc biệt dùng để phân biệt giữa tập giá trị cuối cùng của một khai triển với tập giá trị đầu tiên của khai triển tiếp theo (ta tạm gọi là bộ phân cách), thì tập giá trị của các khai triển được phân biệt. Kiểu của các bộ được lưu trong thuộc tính CTRL và nhận giá trị 1 nếu là bộ giá trị thông thường và 2 nếu là bộ phân cách. Các tập giá trị của cùng 22 Một hướng triển khai của cơ chế cho phép suy luận trên cơ sở dữ liệu mờ một khai triển dùng chung dữ liệu cũng như các biến bởi vì các biến sẽ được gán các giá trị từ các khai triển sâu hơn. Thông tin này là chung cho tất cả các tập giá trị trong cùng một khai triển cho nên phần tử phân cách có thể được lưu trữ để sử dụng. Giải thuật suy luận chỉ có thể thực hiện tuần tự với mỗi tập giá trị một lần, vì vậy chúng ta cần đánh dấu vào tập giá trị đang được xử lí trong thuộc tính ACT. Điều này được hiểu là giải thuật suy luận đang khai triển luật trên một cây suy luận với thứ tự thực hiện là không quan trọng. Thuộc tính CTRL nhận giá trị 1 nếu là tập giá trị đang được xử lí và nhận giá trị là 0 nếu là tập giá trị thông thường. Giải thuật suy luận thực thi với một bộ một lần và sau đó trao quyền cho một bộ khác. Nhưng chúng ta cần phải lưu ý rằng các luật logic có thể là đệ quy, có nghĩa là, các tân từ đã được định nghĩa là tân từ nội hàm có thể bao hàm chính tân từ đó, do đó quyền điều khiển có thể được luân chuyển từ một bộ đến một bộ khác trong chính một khai triển của cùng một tân từ. Chính vì vậy, sẽ là cần thiết phải lưu trữ có bao nhiêu tân từ đã được khai triển trong mỗi bộ. Số tân từ này được lưu trữ trong thuộc tính APPL. Thêm nữa là các biến đã được gán các giá trị sẽ được lưu trong thuộc tính INST. Cả hai giá trị đều là quan trọng bởi sự khác biệt giữa hai khai triển của cùng một tân từ là số lượng của các biến được khai triển. Khi một tập các biến được gán giá trị thì điều cần thiết là phải định danh tập giá trị được gọi đến để điền vào các biến. Thông tin này được lưu trữ trong thuộc tính TABLEP và IDSETP. Thuộc tính NEG được sử dụng để chỉ ra rằng tập giá trị là thỏa mãn luật hoặc là có thể thực hiện nó vào giai đoạn cuối cùng của khai triển. Nó hữu ích khi mà ta phải khai triển một tân từ có dấu phủ định. Toán tử so sánh có thể thực hiện theo cách đặc biệt. Một toán tử so sánh có thể xuất hiện ở bất kì đâu trong luật, nhưng chỉ có thể thực hiện được khi có đủ các giá trị của các biến. Trường hợp thiếu giá trị của các biến thì phép so sánh được trì hoãn lại đến khi có đủ điều kiện thực hiện. 2.2.2. Giới