Matrix computation for information systems

https://doi.org/10.1016/S0020-0255(00)00072-4Get rights and content

Abstract

Rough set theory is a new mathematical tool to deal with vagueness and uncertainty. We need a practical approach to apply the theory. Some problems (for example, the general problem of finding all reducts) are NP-hard. Thus, it is important to investigate computational methods for the theory. In rough set theory, a table called information system or database is used as a special kind of formal language to represent knowledge. We discuss matrix computation for information systems in this paper. Matrices can be computed intuitively and efficiently. A matrix can be seen as an internal representation of equivalence relations. Furthermore, matrix computationmin” implements the operation “AND” on equivalence relations, and the matrix relation “⩽” corresponds to the relation “⊆”. Finally, this operation on matrices is carried out for its elements individually. So it can be implemented in parallel mode to get concurrently the “AND” matrix.

Introduction

This work has two objectives: first, to introduce rough set theory, developed by Pawlak, to a wider audience; second, to present computational methods for the theory, allowing it to be implemented in many more systems. Rough set theory is a new mathematical tool to deal with vagueness and uncertainty. This approach seems to be of fundamental importance to artificial intelligence and cognitive sciences. Although the burgeoning methodology has been successful in many real-life applications, there are still several theoretical problems to be solved. We need a practical approach to apply the theory. Some problems (for example, the general problem of finding all reducts) are NP-hard. Thus, it is important to investigate computational methods for the theory. This is a part of the work. In rough set theory, a table called information system or database is used as a special kind of formal language to represent knowledge. The issue of knowledge representation is primarily important. Semantically, knowledge is defined as partitions, and syntactically, information systems.

Furthermore, representing knowledge in a form of a matrix has many advantages. For example, [1], [2], [3], [4], [5], [6], [7] proposed to represent knowledge in a form of a discernibility matrix to enable simple conputation of the core, reducts, etc.

We discuss matrix computation for information systems in this paper. Equivalence relations are expressed in terms of matrices which can be computed intuitively and efficiently. We can introduce “AND” operations on the family of matrices and the family of equivalence relations. These two families are isomorphic. Then we have partial ordering relations “⊆” on these families.

A matrix can be seen as an internal representation of equivalence relations. Furthermore, matrix computation “min” implements the operation “AND” on equivalence relations, and the matrix relation “⩽” corresponds to the relation “⊆”. Finally, this operation on matrices is carried out for its elements individually. So it can be implemented in parallel mode to get concurrently the “AND” matrix.

In another paper, we have discussed matrix computation for knowledge bases. In this paper, we discuss how to apply these methods to databases and provide a new insight into properties of data, dependencies of attributes in databases. In Section 2, we discuss equivalence relations and matrices on universe U and their “AND” intersections. The time complexity for computing an intersection matrix of two matrices is O(|U|2), where |U| is the cardinality of U. In Section 3, we introduce information systems and attribute matrices. An information system consists of two finite sets: one universe U and one attribute set A. Algorithm M with the time complexity O(|U|2) from an attribute to find the corresponding matrix is given. The algorithm can be run in parallel mode to compute concurrently all corresponding matrices from many attributes. In Section 4, we discuss matrices for many attributes. Section 5 discusses functional dependencies. The time complexity to check the functional dependency of two attribute subsets is O(|U|2). Section 6 discusses identity dependencies. The time complexity to check the identity dependency of two attribute subsets is O(|U|2). Section 7 introduces the significance of an attribute. Let the attribute set be A. The time complexity for computing a significance is O(|A|×|U|2). Algorithm C with the time complexity O(|A|2|U|2) is presented to allow us to find the core, that is, the set of significant attributes. Section 8 introduces attribute dependencies on A. Section 9 discusses keys, that is, the minimal identity dependent subsets of A. We present Algorithm A with the time complexity O(|A|3|U|2) to find one key. The algorithm can be run in parallel mode to compute concurrently all keys. Algorithm K with the time complexity O(2|A||A||U|2) to find all keys is presented in Section 10. Algorithm H with the time complexity O(|A|×|U|2) and Algorithm H with the time complexity O(|A|2×|U|2) to find at most one key are presented in Section 11.

Section snippets

Equivalence matrices

Let U={u1,u2,…,un} be a non-empty finite set (n>0). We denote the number n of elements (called objects) in U by |U|. We call U the universe of objects.

A binary relation θ on U is called an equivalence (relation) if it is

  • (i) reflexive: uθu for all uU;

  • (ii) symmetric: if uθv, then vθu for all u,vU;

  • (iii) transitive: if uθv and vθw, then uθw for all u,v,wU.

An equivalence relation θ gives a partition πθ={X1,X2,…,X|πθ|} such that u and v in U are in the same subset X if and only if uθv, and vice

Information systems and attribute matrices

An information system I is a system 〈U,A〉, where (1) U={u1,u2,…,ui,…,u|U|} is a finite non-empty set, called universe or object space; elements of U are called objects; (2) A={a1,a2,…,al,…,a|A|} is also a finite non-empty set; elements of A are called attributes; (3) for every aA there is a mapping a from U into some space a:U→a(U), and a(U)={a(u)|u∈U} is called the domain of attribute a. An information system is also called a knowledge representation system, an attribute-value system, or a

Matrices for many attributes

Now, consider a subset XA. We have a corresponding equivalence matrix MX=[rij] as follows: rij=1 if and only if a(ui)=a(uj) for every aX. We know that MX=∩aXMa.

For the empty set, we take M=Mδ, where Mδ=[rij],rij=1 for all i,j=1,2,…,|U|. That is, Mδ is the identity: MδM=M for every equivalence matrix M over U.

We know that Mδ is the greatest element (with respect to ⩽) in the semi-group (M,∩) of equivalence matrix set M under intersection operation ∩.

Theorem 4.1

LetU,Abe an information system. Then,

Functional dependencies

Definition 5.1

A functional dependency (FD) between two subsets X,YA of attributes in an information system I=〈U,A〉, is a statement, denoted by XY, which holds in the information system I, if and only if, for every pair u,vU we have that a(u)=a(v) for all aX implies a(u)=a(v) for all aY.

Theorem 5.1

A functional dependency XY if and only if MXMY; i.e.,aXMa⩽∩aYMa.

Proof

By Definition 5.1, we know that XY, if and only if, for every pair u,vU we have that a(u)=a(v) for aX implies a(u)=a(v) for aY; i.e., Xv implies

Identity dependencies

Definition 6.1

An identity dependency (ID) between two subsets X,YA of attributes in an information system I=〈U,A〉, is a statement, denoted by XY, which holds in the information system I, if and only if, both XY and YX hold.

From Theorem 5.1, we have the following.

Theorem 6.1

An identity dependency XY if and only if MX=MY; i.e.,aXMa=∩aYMa.

Thus, we can easily check whether or not XY for X,YA by checking MX=MY, and the time complexity for checking it is O(|U|2).

Example 6.1

For the Skull database, we have the following e.g.: x

Significance and core

Let I=〈U,A〉 be an information system.

Definition 7.1

Let X be a non-empty subset of A: ∅⊂XA. Given an attribute xX, we say that x is significant in X if MX<MX−{x}; and that x is not significant or nonsignificant in X if MX=MX−{x}.

That is, xX is significant in X if and only if XX−{x};x∈X is not significant in X if and only if XX−{x}.

Example 7.1

Let X={x}, a singleton in 2A.

Notice that MX=∩x∈XMx=Mx,MX−{x}=M=Mδ=[rij],rij=1 for all i,j. We have the following.

  • 1.

    x is significant in X if MxMδ.

  • 2.

    x is not significant in X if Mx=M

Attribute dependencies

Let 〈U,A〉 be an information system, where U is the universe, and A is the set of attributes.

Definition 8.1

Let X be a non-empty subset of A:∅⊂X⊆A. The non-empty subset X is said to be independent if each xX is significant in X; otherwise X is dependent.

An empty set ∅ is said to be independent.

Example 8.1

Let X={x}, a singleton in 2A.

We have the following.

  • Case A. MxMδ. X is independent since x is significant in X.

  • Case B. Mx=Mδ. X is dependent since x is not significant.

Example 8.2

From Example 7.3, for the Skull database we know

Keys

Let 〈U,A〉 be an information system.

Definition 9.1

Let X be a (non-empty or empty) subset XA of A. A subset X0 of X is said to be a key of X if X0 satisfies

  • 1.

    X0X; i.e., MX0=MX;

  • 2.

    if X′⊂X0 then X′X; i.e., if X′⊂X0 then MX<MX.

The empty subset ∅ has key ∅ (see Example 9.1 below).

That is, X0 is a minimal identity dependent subset of X, i.e., we have X↔⋯↔X0X′→⋯ for X⊇⋯⊇X0X′⊇⋯.

From this definition, the time complexity to find keys is exponential. First, we need consider all |2X|=2|X| subsets of X. And for every

Finding all keys for a database

Let I=〈U,A〉 be an information system, where U is universe and A is the set of attributes. We want to find all its keys. That is, we want to find all subsets A0:A01,A02,…,A0s of A such that

  • (1) MA0=MA; i.e., A0A; and

  • (2) if A′⊂A0 then MA<MA; i.e., if A′⊂A0 then A′A.

Algorithm K

This algorithm finds all keys of A by searching from singletons to A. Let A={a1,a2,…,aj,…,a|A|}. We should check all the subsets of A. Let us denote the binomial coefficients byCkl=l!k!(l−k)!.

  • (1) Let us denote C1|A|=|A| singletons,

Finding one key

Algorithm H

Let 〈U,A〉 be an information system. Let X={x1,x2,…,xj,…,x|X|} be a subset of A. This algorithm finds at most one key of X.

Step 1. If |X|=1,X={x1},Mx1=Mδ, then ∅ is the unique key of X and the algorithm is completed. If |X|⩾1 and there exists an xX such that MxMδ then compute sig(xj)=MδMxj for j=1,2,…,|X|. Suppose that |sig(xj1)|⩾|sig(xj2)|⩾|sig(xj3)|⩾⋯⩾|sig(xj|X|−1)|⩾|sig(xj|X|)|, where |sig(xj1)|>0.

Step 2. If |sig(xj2)|=0 then (Mxj2=Mxj3=⋯=Mxj|X|=Mδ so we can take X={xj1,xj2} and) {xj1} is

Summary

Rough set theory is a new mathematical tool to deal with vagueness and uncertainty. This approach seems to be of fundamental importance to artificial intelligence and cognitive sciences. It is important to investigate computational methods for the theory. In this paper, we suggest a series of algorithms for the computation in information systems. Especially, we suggest the use of matrices. By using matrices, we can design some algorithms with lower price.

References (7)

  • Z. Pawlak

    Rough Sets: Theoretical Aspects of Reasoning about Data

    (1991)
  • Z. Pawlak et al.

    Rough sets

    CACM

    (1995)
  • L. Polkowski et al.

    Rough Sets in Knowledge Discovery, vol. 1, Methodology and Applications

    (1998)
There are more references available in the full text version of this article.

Cited by (35)

View all citing articles on Scopus
1

Sidler Clarke Inc., 6465 Millcreek Drive, Unit 205, Mississauga, Ont., Canada L5N 5R3.

View full text