This is an old revision of the document!
The XTT^2 ALSV(FD) Specification
Author: Grzegorz J. Nalepa, based on the work with Antoni Ligêza
Version: Draft 2008Q3
Introduction to Attributive Logics
Attributive logics constitute a simple yet widely-used tool for knowledge specification and development of rule-based systems.
In fact in a large variety of applications in various areas of Artificial Intelligence (AI) and Knowledge Engineering (KE) attributive languages constitute the core knowledge representation formalism.
The most typical areas of applications include rule-based systems, expert systems (ones based on rule formalism) and advanced database and data warehouse systems with knowledge discovery applications and contemporary business rules and business intelligence components.
The description of AL presented here is based on several papers, including
ALSV(FD)
In SAL (Set Attributive Logic) as well as in its current version ALSV(FD), the very basic idea is that attributes can take atomic or set values.
After (ali2005thebook) it is assumed that an attribute A_i is a function (or partial function) of the form
Here O is a set of objects and D_i is the domain of attribute A_i.
A generalized attribute A_i is a function (or partial function) of the form
where 2^D_i is the family of all the subsets of D_i.
The basic element of the language of Attribute Logic with Set Values over Finite Domains (ALSV(FD) for short) are attribute names and attribute values.
For simplicity of presentation no objects are considered here; in practice, the same attribute applied to two (or more) different objects can be considered as two (or more) new, different, object-labelled attributes. Moreover, unless two (or more) different objects are considered at the same time, no explicite reference to an object is necessary.
Let us consider:
Let
A = A_1, A_2, … ,A_n
be all the attributes such that their values define the state of the system under consideration.
It is assumed that the overall domain D is divided into n sets (disjoint or not),
D} = D_1 u D_2 u … u D_n,
where D_i is the domain related to attribute
A_i, i=1,2, … ,n.
Any domain D_i is assumed to be a finite (discrete) set.
The set can be ordered, partially ordered, or unordered; in case of ordered (partially ordered) sets some modifications of the notation are allowed.
As we consider dynamic systems, the values of attributes can change over time (or state of the system).
We consider both simple attributes of the form
A_i : T → D_{i}
(i.e. taking a single value at any instant of time) and
generalized ones of the form
A_i: T → 2^D_iA_{i} = dA_{i} \neq dA_{i} \in D_{i}\setminus \{d \}.A_{i} \in V_{i}d\in V_{i}(A_{i} = d_{1})\otimes (A_{i} = d_{2})\otimes\ldots \otimes (A_{i} = d_{k})V_{i} = \{d_{1}, d_{2},\ldots,d_{k} \}\otimesA_{i} \not\in V_{i}A_{i} \in D_{i}\setminus V_{i}A_{i} = V_{i}V_{i}A_{i} \neq V_{i}V_{i}A_{i} \subseteq V_{i}V_{i}A_{i} \supseteq V_{i}V_{i}A \sim VV_{i}V_{i}A_{i} \not\sim V_{i}V_{i}V_{i}\wedgeA = VV = \{d_{1}, d_{2},\ldots, d_{k} \}A = VA \supseteq \{d_{1}\}\wedge A \supseteq \{d_{2}\}\wedge\ldots\wedge A \supseteq \{d_{k}\}VA\subseteq VA \supseteq VA \sim VA\subseteq V \equiv A=UV \cap X \neq \emptyset\frac{A \supseteq W}{A \supseteq V}\frac{A \subseteq V}{A \subseteq W}\modelsA=d_{j}A\neq d_{j}A \in V_{j}A \not\in V_{j}A=d_{i}d_{i} = d_{j}d_{i}\neq d_{j}d_{i}\in V_{j}d_{i}\not\in V_{j}A \neq d_{i}d_{i} = d_{j}V_{j} = D\setminus \{d_{i}\}V_{j} = \{d_{i} \}A \in V_{i}V_{i} = \{d_{j} \}d_{j}\not\in V_{i}V_{i}\subseteq V_{j}V_{i}\cap V_{j} = \emptysetA \not\in V_{i}D\setminus V_{i} = \{d_{j}\}V_{i} = \{d_{j}\}V_{j}=D\setminus V_{i}V_{j}\subseteq V_{i}\modelsA=WA\neq WA\subseteq WA \supseteq WA \sim WA \not\sim WA=VV=WV\neq WV\subseteq WV\supseteq WV\cap W\neq \emptysetV\cap W = \emptysetA\neq VV=WW = DW = DA \subseteq VV \subset WV\subseteq WW = DV\cap W = \emptysetA \supseteq VW \subset VW = DV\supseteq WV\cap W \neq \emptysetA \sim VV\cap W=\emptysetW = DV=WA\not\sim VV\cap W\neq\emptysetW = DW=DV=WA\subseteq V\wedge A\subseteq WV\cap W=\emptyset\not\modelsA=WA\subseteq WA \supseteq WA \sim WA=VW\neq VV \not\subseteq WW\not\subseteq VV\cap W \neq \emptysetA \subseteq VW\not\subseteq VV\cap W = \emptysetW\not\subseteq VW\cap V =\emptysetA \supseteq VV\not\subseteq WV\not\subseteq WA \sim VV\cap W \neq \emptysetW\not\subseteq V(A_{1}\propto_{1} V_{1})\wedge (A_{2}\propto_{2} V_{2})\wedge \ldots (A_{n}\propto_{n} V_{n}) \longrightarrow \mathit{RHS}(A_{1}=S_{1})\wedge(A_{2}=S_{2})\wedge \ldots \wedge (A_{n}=S_{n})S_{i} = d_{i}d_{i}\in D_{i}S_{i}= V_{i}V_{i}\subseteq D_{i}$)
</latex>
for complex.
Any and NULL
ALi
In case the value of A_i is unspecified we shall write A_i = NULL (a database convention).
Following a Prolog convention and logic, a ANY attribute value is possible in comparison (see_
in Prolog).
The semantics can be: “any value”, “not important”, etc.