Sie sind auf Seite 1von 10

FuzzyBase: a Fuzzy Logic Aid for

Relational Database Queries


D. Gazzotti ~, L. Piancastelli 2, C. Sartori 1, D. Beneventano 1
1 - Universit~ di Bologna, Dip. di Elettronica, Informatica e Sistemistica
2 - UniversitA di Bologna, DIEM
Abstract
This paper presents a similarity query generator for DBMSs. A user query which turns
out to be too restrictive and returns an empty set of rows is relaxed and transformed into a
similar one: the resulting set of tuples will resemble, at some degree, the set defined by the
original query. The relaxing activity is based on fuzzy logic and the system provides a user
interface to express the query, to obtain suggestions on possible search values and to val-
idate, on the basis of semantic integrity rules, the expressed conditions.

1 Introduction
Expert systems, neural networks and fuzzy systems are different ways of increasing
machine intelligence, but, in most cases, the effectiveness of a solution heavily de-
pends on the effectiveness of data access. Fuzzy logic [1, 2, 6, 7, 8] is useful both in
AI and human reasoning as well as in decision making and is well suited in searching
problems when we can define a set of search conditions, but we can accept a result
which resembles, at some degree, the expressed conditions.
A common DBMS is designed to process exact queries, e. g. select * from T
where name = "John". You are often allowed to set up queries with pattern matching
schemes, but more than often such searching features are restricted to the simplest se-
lect 9 from T where name like "Jo", meaning to retrieve all records with the field
name beginning with the string "John", such as "Jonathan" or "Johnny".
Moreover, if a query "fails" to retrieve any data, since there are no records in the
data base with the specified attributes, there is no way of making the DBMS retrieve
records with attributes similar to the ones specified by the user defined query.
Therefore, using a "traditional" DBMS, it is impossible to express similarity
queries. The purpose of FuzzyBase is to obtain results when the traditional query
fails: the program manages the gradual relaxing of the selection predicates of the query
executing a fuzzy algorithm. The process is carried on until the new query retrieves a
non-empty set of records in the data base: this set is the most similar to the one
originally searched by the user.
On summary, the concept of query itself is fuzzified: the user defined query
matches required data with grade one, while a fuzzy similarity query matches required
data with grade lower than one: the closer the similarity grade is to one, the greater
the retrieved data are like the ones searched by the user [9].
The capability of similarity queries imposes one major limitation. The fi~7-Afica-
tion must be driven by a set of rules which are strictly related to a specific application
domain: it would be impossible to perform an effective, non-trivial, relaxing activity
for a generic application domain. For this reason, FuzzyBase is parametrized, and
must be initialized for a specific application domain.
The fuzzy-logic inferential engine of FuzzyBase is able to formulate proper sugges-
tions about possible values of search keys. Possible search values are calculated by a
Contact Address: Claudio Sartori, DEIS - Univ. Bologna, Viale Risorgimento, 2, 1-40136
Bologna, Italy, Tel: +39 51 644.3554 (op. 3001, fax 3540), e-mail csartori@deis.unibo.it
386

fuzzy-logic controller based on a knowledge table made of linguistic rules expressing


relations between attributes. This fuzzy engine operates only on numerical attributes,
following the standard structure of Fuzzy Logic Controllers (FLC), and is made of
three main blocks [4]:
1. Fuzzyfication: a crisp user defined search value is fuzzyfied by partitioning the
related continuous universe of discourse, represented by the interval of possible
values of that attribute in the data base, using three fuzzy sets, labeled Small, Me-
dium and Large. Then, membership degrees of any search value to the three mem-
bership functions of the fuzzy sets are calculated.
2. Decision-ma~'ng: the output fuzzy value for a search key is set by consulting a
table of linguistic rules e.g. if A is Small and B is Medium, then C is Large, and
executing fuzzy logic inferences on the available rules. The output fuzzy value is
made of three Membership Degrees (MD) to any of the membership functions of
fuzzy sets "Small", "Medium", and "Large".
3. Defuzzyfication: the output crisp value is cumputed with the fttzzy-centroid
method. The crisp (non-fuzzy) value obtained is the possible value desired.
The implemented FLC permits generation of fuzzy suggestions and execution of
fuzzy coherence controls of user desired values. This engine is guided by a table of
fuzzy if ... then ... rules linguistically expressed: these rules summarize the expert
knowledge. An expert of the application domain must code his precious knowledge in
these rules, as they are important guide lines for users in choosing search keys and
setting their search values, so that they can be easily led to retrieve the data they
desired, or, at least, most similar to those desired.
The main features of the system are the following:
9 Complete parameterization, in order to manage any sort of data base: it can be de-
fined a generic shell that can be tailored to a wide class of applications.
9 It's easy to generate queries by using a GUI, even for very large data base collec-
tions with even hundreds of attributes that often are uncomfortable to handle by
means of common query by example forms or SQL.
9 Generation of similarity queries: FuzzyBase generates a query that looks like the
user defined query if the latter fails to retrieve data from the database. The query it-
self is fitzzyfied: it is similar to the user defined query, with a computed grade.
Such uncertain retrieval method is a fundamental base for many common practical
applications, such as similitude design [5].
9 Generation of useful suggestions for the user when he is choosing search keys or is
setting search values. Possible search values are calculated by a fuzzy controller
whose knowledge is based upon a table of linguistic rules [4]. This fuzzy inferen-
tial engine is also responsible of fuzzy controls upon search values correctness.
9 Non-fuzzy crisp controls upon the congruence and correctness of search values de-
fined by the user during query specification. These controls are structured in two
sections: absurd rules and warning rules: the former are unviolable structural
rules about integrity of the universe represented by the data base, the latter are
warnings of possible errors in search values.
9 Delay of query execution to the latest moment, to increase efficiency, especially in
the case of distributed data base systems: on a network client FuzzyBase can gen-
erate the proper query relying only on its local fuzzy and statistical knowledge,
then a database engine (e.g. an SQL server) processes the query and sends retrieved
data back to the inquiring client,
387

9 Complete context independence of the code with respect to a specific application


domain. FuzzyBase relys only on a series of tables containing structural informa-
tion about the data base, to be set up at initialization time by an expert of the ap-
plication field. The initialization procedure is "transparent" for the end user.
The remainder of the paper is organized as follows: section 2 illustrates the main
data structures of FuzzyBase, with particular attention to the representation of rules.
Section 3 describes the functional architecture of FuzzyBase, while Section 4 describes
the first application domain for which the system has been tested.

2 Data Structures in FuzzyBase


The customization parameters of FuzzyBase are contained in a series of tables.
Domain data can be either in local tables or on a remote server. The FuzzyBase tables
are grouped as follows:
a) Data that customize the generic shell and its user interface.
b) Statistical information about the data base.
c) The data base itself.
d) Crisp rules, structured in absurd and warnings, containing integrity constraints of
the values of data base attributes.
e) Fuzzy rules, needed to "program" the FLC behavior so that it can deliver sugges-
tions and controls of search values.
The statistical information table plays a preeminent role in parametrizing
FuzzyBase operations. The statistical table contains the complete description of every
attribute in the data base. The statistical information need to be brought up to date
whenever the data base is supposed to have been changed significatively: their cor-
rectly mirroring of stored data is a valuable prelude to the retrieval of desired data.
A series of controls about search values are arranged to obtain queries retrieving
data the closest to user's will. Two tables, containing absurd rules and warning
rules are kept: the former establishes congruence rules on search values providing data
integrity, the~latter is made of suggested relations between search values that guarantee
retrieved data significance. Moreover, those tables contain appropriate comments to
each rule that advises the user about the mistakes in the query search values.
Query correctness is a fundamental prelude to avoid a useless data access. In fact,
query processing can require a significant execution time, especially for remote
DBMSs, therefore, it is worth to exploit any available knowledge in order to reduce
the risk of a query failure and the effort necessary to modify a failed query.
Absurd and warning rules represent a flexible tool to assist the user in the formula-
tionofa query which does not violate the semantics of the application domain: they
represent the crisp knowledge base of the programabout the domain.
The rules must be character strings containing a boolean expression which can be
evaluated by the FoxPro interpreter, therefore they must be both syntactically and se-
mantically correct.
The fuzzy knowledge base is made of a table containing linguistic rules, such as:
if fieldINl = <label> [ f u z z y cond.]
AND fieldIN2 = <label> [ f u z z y cond.]
AND fieldIN3 = <value>, [ c r i s p cond.]
THEN fieldOUT = <label> [fuzzy output]
where fieldlN1, fieldIN2 and fieldOUT are two possible fuzzy inputs and the fuzzy
output of the implemented FLC, and fieldlN3 is a crisp input. The semantic of the
388

crisp input is strictly boolean (non fuzzy): if the conditionfieldlN3 = <value> is true
(fuzzyfying its boolean value, it has membership degree 1), then the rule is computed
by the FLC; if it is false (membership degree 0), then the rule is not computed. This
behavior is the coherent reduction of fuzzy logic to binary (crisp) logic: if the MD as-
signed to the crisp rule is 0, fuzzy AND operator, implemented by the minimum
squares rule, will assign to fieldOUT a fuzzy value Medium with null MD, that
would not influence the possible value computation for fieldOUT.
The implemented FLC is a two fuzzy inputs, with crisp input, and one fuzzy out-
put system. It is, indeed, reducible to a one or none fuzzy input and none crisp input
simply by inserting value 0 into the fields containing attributes numbers.

3 FuzzyBase Architecture
The software is structured in some fundamental modules:
9 Search keys insertion module which contains the numerical search values fuzzyfica-
tion phase.
9 Fuzzy logic inference module, which generates possible values and controls of
numerical search values
9 Crisp controls modules, structured in absurd and warnings.
9 Fuzzy control module.
9 Query generation module, which provides a SQL query.
9 Similarity queries module, based on fuzzy logic.
9 Add-ons modules, for the update of statistics, dependent values computation, print,
session save and restore, parameters tuning.

3.1 Search Keys Insertion


The search keys insertion module lets the user set the search values that will pro-
duce the selection predicate of the query to be generated.
The insertion module checks if it is possible to use the chosen attribute as search
key. A preliminary check is made when the pop-up menu is built up. The validation
condition is stored as a boolean expression in the statistics table.
Afterwards, the module presents an insertion form taylored to the attribute type
(number, characters string, enumerate, ...). The user can specify search value or search
interval in that insertion form. The user can also ask for a suggestion about a possible
value for a numerical search key. These possible values depend on the previously
specified search values. When the specification is made, the insertion module executes
generic consistence checks for numerical fields: search value or search interval must be
included into attribute's values interval in the data base.
The fttzzyfication of search values partitions the universe of discourse into three
fuzzy sets labeled "SMALL", "MEDIUM" and "LARGE", as shown in Figure 1a.
Then, for each numerical search value, the three membership degrees to the proper
membership functions of the fuzzy sets are computed. That is a way of expressing the
magnitude grade of any search value with fuzzy linguistic variables related to attrib-
ute's values in the data base.
If the value to be fuzzyfied is a search interval, then the fttzzyfication phase assigns
to fuzzy set "Small" the membership degree of the smaller value in the interval, to
fuzzy set "Medium" the MD of the average point, and to fuzzy set "Large" the MD of
the larger value.
389

Let us suppose that the stored values of the search key y e a r are between 1980 and
1995. The interval 1990-1993 is being searched. The fuzzyflcation of the search
interval computes the membership degree values as the heights of the intersections
between the projection of the search value and the membership function considered, as
in Figure lb, giving: MD(SmaI1) = 0, MD(Medium) = 0.5, MD(Large) = 0.78.
MEDIUM LARGE
SMALL MEDIUM LARGE
1,
0.78
0.5

0
minimumvalueinthedb maximum
valueinthedb ~ 9 9 5
1990 1993
a/ b)
F I G U R E | - P A R T I T I O N I N G ANF FUZZYFYING A SEARCH INTERVAL

Before finishing, the insertion module visualizes two windows containing the fol-
lowing information:
a) fields used as search keys
b) fields yet to be specify as search keys in the query.
The mandatory search keys, specified by the system installer into the s t a t i s t i c s ta-
ble, are supposed to be fundamental keys for retrieving the desired data into the data
base. For instance, it is useful to force the use as search keys of fields that permit a
great selectivity or that imply an important categorization of stored data.

3.2 Suggestions Module


Suggestions module is a simple but efficient implementation of a two-inputs one-
output Fuzzy Logic Controller [4]. As a matter of fact, it is a fuzzy inferential engine
with a crisp input added. The crisp condition validates the computation of the rule,
for instance:
IF a t t r i b u t e num. 12 IS small
AND a t t r i b u t e num.15 IS large [fuzzy cond.]
A N D a t t r i b u t e num.10 IS g r e a t e r than 2 [crisp cond.]
THEN a t t r i b u t e num.ll IS m e d i u m [fuzzy output]
If the crisp condition is true, then the rule is computed by the inferential engine,
otherwise the rule is ignored by the process. The boolean semantic assigned to the
crisp input is the coherent reduction of fuzzy logic to binary logic, in fact it can be
proved that the fuzzyfication of the crisp rule and its evaluation using fuzzy logic
would produce the same result obtained by the boolean implementation: assigning a
membership degree 0 to the non-true crisp condition, the fuzzy AND operator, im-
plemented by the minimum squares method, would assign a null MD to the output
fuzzy set, thereby it would be not influent on the computation of the desired possible
value; the same way, assigning a MD 1 to the true crisp condition, the fuzzy AND
operator between fuzzy inputs and crisp input would assign to the output the MD re-
sulting from fuzzy inference between the fuzzy inputs, so this adding of a crisp input
results coherent again with the fuzzy logic inference of the suggestions module. It
390

should be observed that the coherence of the implemented crisp semantic is not mined
by the fuzzy operator between fuzzy inputs, that can be both AND or OR.
If the user asks FuzzyBase for a value of a given search key, the FLC consults the
partial view of the fuzzy rules table including only the rules with that key as fuzzy
output. The rules are read in blocks with same fuzzy inputs. In fact, a complex rule
involving two inputs and one output can be made explicit in sum of products, then
expressed as simple AND rules implicitly connected with OR operator.
For each rule in the block with the crisp condition true, the logic evaluation of the
rule is computed: a membership degree obtained by the minimum operator (AND
rule) or by the maximum operator (OR rule) between the two membership degrees of
the fuzzy inputs is assigned to the fuzzy output.
Fuzzy outputs of each rule block are superimposed according to the compositional
max-min rule [4]: the pointwise sum of the obtained fuzzy sets. From that the defuz-
zyfication phase computes the desired crisp output. The defuzzyfication method im-
plemented is the gravitational fuzzy-centroid method, which is considered to be the
most general in control applications [3, 4, 2].
The fuzzy centroids computed from each block are combined, if they are not too
far each other. The program computes an average sum of fuzzy centroids if their rela-
tive difference is smaller than 30% of the attribute's values interval of the stored data.
That's a designer's choice which can be taylored to the specific application.
All designer's choices, such as overlapping grade of fuzzy sets partitioning the
universes of discourse, or the fuzzy operators nature, or the defttzzyfication method are
easily changeable by the software installer or by the user itself. The actual choice of
partitioning the universe of discourse by the fuzzy sets overlapping for 25% of their
area is considered a good tradeoff for many control applications [2, 4].

3.3 Crisp Controls Module


The user can execute controls of congruence and coherence of search values at any
time of search keys insertion phase. These controls are a useful help to avoid query
failure, then to save precious time. They are also considerable helpful guide lines to
the specification of a proper query that precisely retrieves desired data.
The crisp controls are structured on two levels to enhance controls flexibility: ab-
surd rules and warning rules:
1. If an absurd rule is violated, the user receives an error message and is forced to
modify the search values involved in the rule, as records with such attributes do
not exist in the data base.
2. If a warning rule is violated, the user receives a warning message, as records with
such attributes are not supposed to exist in the data base, but the user is anyway
allowed to produce such a query.
The rules and comments that feed these controls represent the knowledge of an ex-
pert in the work area to which the data stored belong. They are a fimdamental starting
point for optimizing search keys' choice and search values' setting.
'The architecture of the crisp controls procedures is based on a simple loop process-
ing one rule at a time: for each rule the validation condition is evaluated; if it is true,
the user is advised of the error and, eventually, is forced to modify search values.

3.4 Fuzzy Controls Module


The user can execute, beneath crisp controls stated above, fuzzy controls about
search values coherence.
391

The flow of this module is as follows: for each numerical search key, a possible
value is asked the suggestions module; that module, described in 3.2, is made of a
fuzzy inferential engine delivering a crisp output as possible value for a given search
key: if the possible value is too far from the search value chosen by the user, then a
warning is generated.
The fuzzy-generated waming do not force the user to change any search value, as
such records may still exist in the data base. The maximum distance between the
search value and the possible value is a designer's choice.

3.5 Query Generation Module


The query generation is executed when the following conditions are true:
1. All mandatory search keys have been specified.
2. The estimated selectivity factor of the query is small enough.
If the query does not retrieve any data, the query generation module starts the
similarity query generation module to obtain a new query with relaxed conditions,
and repeats the generation and database search phase.

3.6 Similarity Query Generation Module


If the specified search predicates are too tight so that the DBMS do not retrieve
any data desired by the user, then FuzzyBase can relax some predicates containing
conditions on search keys, so that it provides a new query similar to the user defined
query that has failed, but less selective and with better chances to retrieve tuples from
the data base. These tuples will not exactly be those wanted by the user, but they will
be the most similar to those desired: e. g. if there are no objects with weight = 10
lb., FuzzyBase may retrieve an object with weight = 9 lb. 6 oz.!

3.6.1 Similarity Query Module Architecture


The execution flow. of this module, that is operative for numerical fields only, is
the following:
1. The specified search keys are considered one at a time ordered by the similarity
order that better fits similar objects in the particular data base. The first predicates
that are relaxed are those whose search keys less differentiate the objects repre-
sented in the data base, as described by the order number in the statistical infor-
mations table. If no data field is known being a better choice to start the relaxing
procedure, search keys can be ordered e. g. by ascending selectivity factor of its
predicate. This choice permits to relax the most selective predicates first, and
avoids relaxing the same predicate too many times subsequently. The relaxing
technique is called or-cut and works by comparing the user-specified search
interval, say from rmin to rmax, and the domain of the attribute, say from valmin
to valmax. For o~ = 1, the system considers a search interval equal to the one
required by the user. For {x = 0, the search interval is the whole interval ~f
possible values of that attribute in the data base. For intermediate values of tx the
width is given by the trapezium of Figure 2a. Initially, ct is set to I.
2. In order to relax the query, the module enlarges the considered search interval by
reducing the membership degree cr and uses as search interval the new segment
produced by the projection of the t~-cut on the continue universe of discourse
(Figure 2b).
392

The new search interval, obtained reducing the membership degree, produces a
lower similarity degree of the new query in comparison with the previous one. The
query similarity degree is computed considering it as the fuzzy logic computation of
the selection predicate of the query using as values the membership degree of each
search key to its fuzzy interval. Moreover, to this relaxed query is associated an en-
larged selectivity factor: the new query is less selective.

va mm ~in Ha• vBtm~x va ~m ~in rm~x va max

a) b)
FIGURE 2 - RELAXING QUERY PREDICATES

1. If the new query is too different from the previous one, or if the selectivity factor
rated for the new query has raised enough, then the module stops the relaxing
phase, otherwise it considers the next search key and repeats steps 2, 3, and 4.
Remarks:
9 If the tx-cut associated to a search interval reaches zero, then the whole interval of
possible values is used as search interval: its selectivity is reduced to zero and it
works as if the query did not contain that selection predicate.
9 If all the yet specified search values are relaxed and the desired level of similar-
ity/selectivity is still not reachable, then the program restarts the relaxing proce-
dure from the beginning, always ordering the search keys by the chosen fit order.
9 There is a maximum number of iterations of this algorithm that causes the defini-
tive stop of the relaxing phase. It has been arranged in order to avoid infinite
looping, even if that eventuality has not occurred during software testing trials.
9 The whole procedure described above is still valid even if the initial search value
is not an interval, in fact we know that a trapezoidal fuzzy set can degenerate in
various shapes, such as a line, a triangle or a square.

3.6.2 The Query as a Fuzzy Value


Rather then regarding fuzzy theory as a single theory, we should regard the process
of fuzzyfication as a methodology to generalize any specific theory from a crisp
(discrete) to a continuous (fuzzy) form [1].
Therefore, the query itself is fuzzyfiable. As a matter of fact FuzzyBase manages
two different queries: the user defined query and the fuzzy relaxed query. The latter
produces an interrogation similar to the former. If the membership degrees ct of each
search interval to the fuzzy set associated to the possible search values interval are set
to 1, then the user defined query is being processed. If the similarity module reduces
even only one of these membership degrees below 1, then a query similar to the ini-
tial one is being processed: by computing the fuzzy logical value resulting from the
combination of fuzzy values associated to each search key according to the selection
predicate in the query it is possible to obtain a fuzzy value indicating the similarity
393

degree between the initial and the final query. For example, if the user defined query,
written in SQL, is:
SELECT * FROM data
WHERE a = 1 AND b = 5 OR d = i0
and the fuzzy-relaxed query generated by the similarity module isi
SELECT * FROM data [a]
WHERE a > 0.8 AND a < 1.2 0.6
AND b > 4.9 AND b < 5.1 0.9
OR d > 8.3 AND d < ii.i 0.75
then, the boolean selection predicate, evaluated according to fuzzy logic using
values, gives: o~ (a) AND cx (b) OR o~ (d) = 0.6 AND 0.9 OR 0.75 -- 0.75. The value
0.75 is assumed to be the fuzzy similarity degree between the initial user query and
the query generated by the similarity module.

3.6.3 Statistical Computation vs. Fuzzy Inference


We have just introduced the concept of fuzzy query. But we must notice that the
algorithm that produces the gradual relaxing of predicates in the query is based also
on statistical values. For instance, the computation method of the selectivity factors
belongs to statistical concepts. The selectivity factor of the predicates of a query is ob-
tained by the well known empirical formulas given in [10].
One of the termination criteria of the relaxation phase is a condition about the new
query selectivity: it is a statistical condition, which can be contrary to the similarity
grade property. This is not a contradiction of the fuzzy nature of the relaxing proce-
dure, as the statistical value is only one of the termination criteria, and it can be dis-
abled at system initialization time.
Moreover, even if the process of relaxing a query has been explained on fuzzy ba-
sis, it is still possible to read in a probabilistic key [9] the behavior of the fuzzy com-
ponent. We can recall [1, 2, 3] that, in a fuzzy set, each generic element x of the uni-
verse belongs to the set with a grade expressed as a real number from the interval [0,
1]. So both probabilistic theories and fuzzy theory describe uncertainty as a numerical
property, both systems combine sets and propositions associatively, commutatively
and distributively. The key distinction concerns how the systems jointly treat a set A
and its opposite A c: classical set theory demands that A n A c = O , and probabilis-
tic theory conforms: P ( A n A c) = P ( O ) = O. So A n A c represents, from a prob-
abilistic point of view, an impossible event. But fuzzyness begins when
A r i a c : ~ 0 [2].

4 An Example: Gear Design by Similitude Criteria


Gear design is largely dependent on experience. Uncertainty in load magnitude and
application sequence, manufacturing error and deflection of supports may vary service
life by a factor 2. For this reason new designs are greatly influenced by data measured
on gears that work in analogous condition. This analogy is called similitude. Simili-
tude criteria are introduced even in ISO/DIN/AGMA standards and ad hoc procedures
for design are introduced. However all these techniques are based on formulas that are
based on experimental measurement in test rigs and interpolate and extrapolate these
results to obtain new design. These formulas start from the beam theory of De Saint
Venaint and in Hertz model for contact and are heavily corrected by various c~ifi-
394

cients that are multiplied to the theoretical results. In this paper similitude is directly
identified by a fuzzy search in a data base of existing and well known gears. The fuz-
zyfication of similitude criteria is based on previous works of various authors that are
aimed to a first choice of the parameters of a new design. Initial requirements are
modified by using fuzzy numbers. This process is based on fuzzyfication criteria for a
specific field.
At the end of the process similar gears are found. It is probable that these require-
ments are not fulfilled by these existing gears. However, an expert data-base is de-
fined in this way. These data may be used to iteratively define the new design by us-
ing standard formulas in a manner very similar to the traditional design method. The
difference is that experience-based factor can be obtained from the expert data-base.
Another approach is to use a rule based expert system to modify the most similar ex-
isting gear in order to fulfill requirements. An expert system of this kind, written is
Prolog, was developed by one of the authors in his Doctorate thesis.

5 Conclusions
The paper presents FuzzyBase, a system for the generation of similarity queries in
relational DBMSs. Similarity is an important design technique in many technological
applications, such as gear design. FuzzyBase was developed upon a DBMS for PC:
Microsoft FoxPro for Windows, ver. 2.5, therefore it exhibits a comfortable graphic
user interface, perfectly integrated in the Microsoft Windows operating system. The
first test bed was the gear design problem described in section 4. The system is under
evaluation, but preliminary results are satisfactory.

6 Bibliography
[1] Zadeh L. A. : "Outline of a new approach to the Analysis of Complex System
and decision Process". IEEE Transaction on Systems, M a n , and Cybernetics,
vol. SMC-3, No. 1 January 1973
[2] Kosko B. : "Neural Networks and Fuzzy Systems: a dynamical systems ap-
proach to machine intelligence", Prentice-Hall International Inc., 1992.
[3] Bezdek J. : "Fuzzy Models. What are They, and W h y ? " , IEEE Transactions on
Fuzzy Systems, Vol. 1, No. 1, February 1993.
[4] Lee C. C.: "Fuzzy Logic in control systems: fuzzy logic controller - part 1 and
2", IEEE Trans. on Systems, Man and Cybernetics, vol. 20, pp. 404-435, 1990.
[5] Piancastelli L.: "Analisi ed implementazione eli un metodo di calcolo per mote
dentate basato sulla similitudine con applicazioni esistenti e gi/L collaudate",
Universitd di Bologna e Firenze PhD thesis in Applied Mechanics, 1988.
[6] Leung K.S., Wong M.H., Lain W.: "A fuzzy expert database system", IEEE
Trans. on Knowledge and Data Engineering, 4 -1989.
[7] Vassilliadis S., Triantafyllos G., Kobrosly W.: "A Fuzzy Reasoning Database
Question Answering System", IEEE Trans. on Knowledge and Data Engineer-
ing, December 1994.
[8] Zadeh L. A. : "The role of fuzzy logic in the management of uncertainty in ex-
pert systems", Fuzzy Sets and Systems 11 (1983).
[9] Zadeh L. A. : "Fuzzy Sets as a Basis for a thory of Possibility", Fuzzy Sets and
Systems 1 (1978).
[10] Selinger, P.G. et al. : "Access path selection in a relational database system",
ACM SIGMOD Conf., Boston, May 1979.

Das könnte Ihnen auch gefallen