##
Bulanık olmayan veri tabanı sistemleri için bir bulanık sorgulama aracı

Bulanık olmayan veri tabanı sistemleri için bir bulanık sorgulama aracı

##### Dosyalar

##### Tarih

1996

##### Yazarlar

Mutlu, Taner

##### Süreli Yayın başlığı

##### Süreli Yayın ISSN

##### Cilt Başlığı

##### Yayınevi

Fen Bilimleri Enstitüsü

##### Özet

Bu tez çalışmasında, kesin olmayan ve belirsiz dilsel sorgu cümleleriyle, bulanık olmayan veritabanı sistemleri üzerinde sorgulama yapılmasını sağlayan bir araç oluşturulmaya çalışılmıştır. Bölüm l'de, bulanıklığın tanımı, bilgi ve bulanıklık arasındaki ilişki ve bulanık küme teorisinin ortaya çıkış nedenleri üzerinde durulduktan sonra, bulanık sorgu aracına neden gereksinim olduğuna, değinilmiş ve bulanık sorgu aracından da kısaca bahsedilmiştir. Bölüm 2'de bulanık küme teorisinin temelleri anlatılmıştır. Önce bulanık kümenin tanımı verilmiş, daha sonra bulanık küme işlemleri ve bulanık kümelerin özelliklerinden söz edilmiştir. Bölüm 3'te bulanık mantık konusu işlenmiştir. Önce bulanık mantık ile geleneksel sistemler arasındaki farklar belirtilmiştir. Daha sonra dilsel değişkenler, bulanık önermelerin yapısı ve doğruluk derecelerinin nasıl saptandığı anlatılmıştır. Bölüm 4'te bulanık sorgulamanın önemi üzerinde durulduktan sonra, bulanık sorgu cümlelerinin yapısı ve eşleşme derecelerinin belirlenmesi gösterilmiştir. Bölüm 5'te bulanık sorgu aracı ile ilgili bilgi verilmiştir. Programın genel yapısı anlatılmış ve akışı bir örnekle gösterilmiştir. Daha sonra programın yapısı daha detaylı bir şekilde incelenmiştir.

In general setting, knowledge may be viewed as a collection of proposi tion, e.g. Meral is not short. Most children are naughty. If pressure is high, than volume is low. To constitute knowledge, a proposition must be understood. In this sense, meaning and knowledge are closely interrelated. Often, knowledge; in real-worl environment is not clear cut but uncertain in some respect or other. This uncertainty may arise in a number of ways, for example:. Uncertainty duo to measurement error. Uncertanitiy due to lack of sufficent data. Uncertanity due to lack of available theory to describe a situation. Uncertanity due to inconsistent knowledge. Uncertanity due to the way knowledge expressed. Vagueness. Ambiguity Fuzzy sets are a mathematical concept proposed by Prof. L. A. Zadeh in 1965. The aim of the fuzzy set theory is to process imprecise and vague knowledge. What is called fuzziness is imprecision and vagueness. The notion of a fuzzy set provides a convenient point of departure for the con struction of a conceptual framework used in the ordinary sets, but is more general than the latter and, poteutialy, may prove to have a much wider applicability. Knowledge representation is one of the most basic and activly researched area of artificial intelligence. Because conventionel approaches to knowledge representation e.g., semantic networks, frames, predicate calcu lus, Prolog etc. are based on bivalent logic. A serious shortcoming of such approaches in their inability to come grips with the issue of uncertanity and imprecision. As a consequence, the conventional approaches do not provide an adequate model for modes of reasoning which are approximate rather than exact. Most modes of human reasoning is fall into this category. The importance of fuzzy set theory arises at this point. DBMS's (Database management, systems) performance and functionality have been significantly improved since lOCO's they were first designed. But their querying system is bivalent. A record match or does not match a. query. -VI- As denoted above, human thinking and reasoning is approximate rather than exact and conventioncl querying systems are unable to perform such a query. This is the point of departure in this thesis. In this thesis, a fuzzy query tool for non-fuzzy databases developed. dBASE IV1 database management system is used for application. Program is coded with Borland C++1, and CodeBase1 C library is used for accessing from C++ to dBASE IV files. Program consist of two main part as shown below, fuzzification and querying. First user defines fuzzy sets for the database file and then run queries according to that definitions. Also a fuzzy set databases created in order to store fuzzy set definitions. Proposed querying system is summa- FUZZIFICATION MODULE QUERY MODULE Query Interpreter Query Processor Figure 1. Main component of the program rized in Figure 2. Lot's discuss fuzzy set theory, fuzzy logic and fuzzy query according to our application. Fuzzy Set Theory Most natural languages contains ambiguity and multiplicity of meaning. The objects of adjectives, espcially, are not clearly spesific, and are ambigous in term of breadth of meaning. For example if we say "tall person", we cannot determine who is tall or who is not tall. Also a person does not suddenly stop being tall if his height is decreased by a centimeter at a time. Words are usualy qualitive, but ones like "tall" and "old" are perceived in connection with amounts of height and age. In engineering, espcially, the adjectives taht describe the states and conditions of various things are almost Trademark VII- Fuzzy Set Database Syntax and semantic rules Figure 2 General flowchart always connected to amounts in this way. Let's take a look at the ambiguity of meaning of "tall" and "old" in terms of expression of amount. With a range of height of 140 cm to 200 cm, the degree to which height x cm can be called "tall" is /i, that is, we make height x correspond to degree //.(0 < //. < 1). If the horizontal axis is x and the vertical axis is //., the graph would be drawn as in Figure 1. This graph expresses the ambiguity of "tall" in terms of quantity. In the same way the ambiguity of the concept of "old" is expressed in Figure 3. This kind of representation of a word is called "quantification of meaning". Fuzzy set theory works with quantification of the meanings of words within the framework of set theory. It is an attempt to express "tall" or "old" by means of the concept of sets. Here are some of the essential notations for the introduction of fuzzy sets. VIII- 0.5 140 160 180 200 0.5 20 40 60 80 Figure 3. Grade of tall Figure 4. Grade of old Fuzzy Set : The function //: X - > [0, 1] is given the label A, and A is called a fuzzy subset of X. fj, is called the membership function of A. From the definition we see that the function over the interval [0, 1] is has a one-to-one correspondence with the fuzzy set. This function is a quantification of the ambiguity of area A. Therefore, we can see that it in fact has the same characteristic as the graphs in Figure 3 and Figure 4. Fuzzy sets can be seen as being subjective, as opposed to standart sets, which are objective. Because, for example "the grade of being tall" can differ from one person to other. When it is important to distinguish between fuzzy and standart sets, standart are called "crisp sets" or "non-fuzzy sets". In crisp sets, characteristic function corresponds membership function and it is expressed by, The grade is two- valued. If x ? E it is 1, otherwise it is 0. The grade in a fuzzy set can be anything from 0 to 1, and this range is what makes it different from a crisp set. So, because the membership functions are extensions of the characteristic functions, fuzzy sets are extensions of crisp sets. Since fuzzy sets are defined by membership functions, the operations on fuzzy sets are expressed ill terms of membership functions. The tree basic operations are a.s following. -IX- Union: The union of fuzzy sets A and B, A U B is the fuzzy set defined by the folowing membership function. Union means OR semanticaly. ftAU B(x) = fiA{x)V hb(x) Intersection: The intersection of fuzzy sets A and B, AD B, is the fuzzy set defined by the folowing membership function. Intersection means AND semanticaly. (J.A D B(x) = /i^(.r) A hb(x) Complement: The complement of fuzzy sets A, A', is the fuzzy set defined by the folowing membership function. Complement means NOT semanti caly. pA'(x) = 1 - pa(x) There are of course, many other operations for fuzzy sets which explaned in this thesis and can be found in literature. a- cuts of a fuzzy set : For a fuzzy set A Aa = {x \i*a(x) >a},ae [0, 1) Aâ={x\fiA(x) >=o},o?(0,l] are called weak ct-cut and strong a cut respectively. Fuzzy Numbers : For a normal and convex fuzzy set, if a weak a -cut is a closed interval, it is called a fuzzy number. Fuzzy Logic Fuzzy logic is the logic underlying modes of reasoning which are approxi mate rather than exact. The importance of fuzzy logic derives from the fact that most modes of human reasoning -espcially common sense reasoning- are approximate in nature. Some of the essential characteristics of fuzzy logic relate to the following.. In fuzzy logic, exact reasoning is wieved as a limiting case of approxi mate reasoning.. In fuzzy logic, everything is a matter of degree.. Any logical system can be fuzzified.. In fvizzy logic, knowledge is interpreted as a collection of elastic or, equivalently, fuzzy constraint on a collection of variables.. Inference is viewed as a process of propagation of elastic constraints. Fuzzy logic differs from traditional logical system both in sprit and detail. In fuzzy logic truth value is a fuzzy sııbset of the interval [0,1]. Predicates and predicates modifiers are also fuzzy. What is more, quantifiers, possibilities and probabilities can be interpreted fuzzy numbers and fuzzy sets. -X- It is important to observe that in every instance fuzzy logic adds to the options which arc available in classical logical systems. In this sense, fuzzy logic may be viewed as an extension of such systems. The general form of a fuzzy proposition is usually written as X ore F where X is a class of objects and jP is fuzzy predicate. The truth of this proposition knowing Va: £ X truth(xi is F) (i = 1,..., n) is, 1 " n *? - » 77. If there is a modifier m, which modifies the predicate!, it causes a new fuzzy set to be occured. Therefore truth value can be calculated with above for mula. If there is a quantifier Q, which quantifies the object, first, it is ignored and truth value of proposition r is calculated. The final truth value r' is If many proposition are tied with conjunction and/or disjunction, first, truth values for every subpropositions are calculated, then union and in tersection are used for OR and AND respectively to calculate final truth value. Fuzzy Query With a conventional querying system, one might issue such a query: "List salespeople tinder 25 years old whol sold more than 500 million." But this search would miss the 26 -year old who sold 1 billion and 19-year old who sold 499 million. It would create crisp sets and ignore noteworty fuzzy information at the edges. A vague request would be handier and more useful:" List the young salespeople with a good selling- record." Fuzzy query allows one to deal with the uncertainty of the values as well as vagueness of linguistic terms such as "old", "rich", "good". Second, it permits fuzzy retrieval. When searching for 30-year-olds with green eyes, one can also identify 28-year-olds with green eyes and note the lower degree of match. Fuzzy query clauses can be constructed similar to the fuzzy propositions. In the Fuzzy Query Tool, a query clause may be either fuzzy or nou fuzzy, but it must be consistent in some syntax and semantic rules as following. Linguistic var. [Modifiers] Fuzzy set 1,NOT" [Conj.] Linguistic var. Operator " Constant." [Conj.] XI- Linguistic variable must be an attribute in the file which query is done. Modifiers are fixed in program as HAFİFÇE, ASAGIYUKARI, COK, BIRAZ. Fuzzy Set must be defined by user. Conjuntion must be either VE (and) or VEYA (or). Operator is one of the following. =, >, <, >=, <= and <>. There is also a fuzzy operator called YAKLAŞIK, which converts constant value to a fuzzy number. Constant must start and end with an ". Fuzzy set precedes modifiers NOT, because in Turkish, a natural clause is constructed in that way.

In general setting, knowledge may be viewed as a collection of proposi tion, e.g. Meral is not short. Most children are naughty. If pressure is high, than volume is low. To constitute knowledge, a proposition must be understood. In this sense, meaning and knowledge are closely interrelated. Often, knowledge; in real-worl environment is not clear cut but uncertain in some respect or other. This uncertainty may arise in a number of ways, for example:. Uncertainty duo to measurement error. Uncertanitiy due to lack of sufficent data. Uncertanity due to lack of available theory to describe a situation. Uncertanity due to inconsistent knowledge. Uncertanity due to the way knowledge expressed. Vagueness. Ambiguity Fuzzy sets are a mathematical concept proposed by Prof. L. A. Zadeh in 1965. The aim of the fuzzy set theory is to process imprecise and vague knowledge. What is called fuzziness is imprecision and vagueness. The notion of a fuzzy set provides a convenient point of departure for the con struction of a conceptual framework used in the ordinary sets, but is more general than the latter and, poteutialy, may prove to have a much wider applicability. Knowledge representation is one of the most basic and activly researched area of artificial intelligence. Because conventionel approaches to knowledge representation e.g., semantic networks, frames, predicate calcu lus, Prolog etc. are based on bivalent logic. A serious shortcoming of such approaches in their inability to come grips with the issue of uncertanity and imprecision. As a consequence, the conventional approaches do not provide an adequate model for modes of reasoning which are approximate rather than exact. Most modes of human reasoning is fall into this category. The importance of fuzzy set theory arises at this point. DBMS's (Database management, systems) performance and functionality have been significantly improved since lOCO's they were first designed. But their querying system is bivalent. A record match or does not match a. query. -VI- As denoted above, human thinking and reasoning is approximate rather than exact and conventioncl querying systems are unable to perform such a query. This is the point of departure in this thesis. In this thesis, a fuzzy query tool for non-fuzzy databases developed. dBASE IV1 database management system is used for application. Program is coded with Borland C++1, and CodeBase1 C library is used for accessing from C++ to dBASE IV files. Program consist of two main part as shown below, fuzzification and querying. First user defines fuzzy sets for the database file and then run queries according to that definitions. Also a fuzzy set databases created in order to store fuzzy set definitions. Proposed querying system is summa- FUZZIFICATION MODULE QUERY MODULE Query Interpreter Query Processor Figure 1. Main component of the program rized in Figure 2. Lot's discuss fuzzy set theory, fuzzy logic and fuzzy query according to our application. Fuzzy Set Theory Most natural languages contains ambiguity and multiplicity of meaning. The objects of adjectives, espcially, are not clearly spesific, and are ambigous in term of breadth of meaning. For example if we say "tall person", we cannot determine who is tall or who is not tall. Also a person does not suddenly stop being tall if his height is decreased by a centimeter at a time. Words are usualy qualitive, but ones like "tall" and "old" are perceived in connection with amounts of height and age. In engineering, espcially, the adjectives taht describe the states and conditions of various things are almost Trademark VII- Fuzzy Set Database Syntax and semantic rules Figure 2 General flowchart always connected to amounts in this way. Let's take a look at the ambiguity of meaning of "tall" and "old" in terms of expression of amount. With a range of height of 140 cm to 200 cm, the degree to which height x cm can be called "tall" is /i, that is, we make height x correspond to degree //.(0 < //. < 1). If the horizontal axis is x and the vertical axis is //., the graph would be drawn as in Figure 1. This graph expresses the ambiguity of "tall" in terms of quantity. In the same way the ambiguity of the concept of "old" is expressed in Figure 3. This kind of representation of a word is called "quantification of meaning". Fuzzy set theory works with quantification of the meanings of words within the framework of set theory. It is an attempt to express "tall" or "old" by means of the concept of sets. Here are some of the essential notations for the introduction of fuzzy sets. VIII- 0.5 140 160 180 200 0.5 20 40 60 80 Figure 3. Grade of tall Figure 4. Grade of old Fuzzy Set : The function //: X - > [0, 1] is given the label A, and A is called a fuzzy subset of X. fj, is called the membership function of A. From the definition we see that the function over the interval [0, 1] is has a one-to-one correspondence with the fuzzy set. This function is a quantification of the ambiguity of area A. Therefore, we can see that it in fact has the same characteristic as the graphs in Figure 3 and Figure 4. Fuzzy sets can be seen as being subjective, as opposed to standart sets, which are objective. Because, for example "the grade of being tall" can differ from one person to other. When it is important to distinguish between fuzzy and standart sets, standart are called "crisp sets" or "non-fuzzy sets". In crisp sets, characteristic function corresponds membership function and it is expressed by, The grade is two- valued. If x ? E it is 1, otherwise it is 0. The grade in a fuzzy set can be anything from 0 to 1, and this range is what makes it different from a crisp set. So, because the membership functions are extensions of the characteristic functions, fuzzy sets are extensions of crisp sets. Since fuzzy sets are defined by membership functions, the operations on fuzzy sets are expressed ill terms of membership functions. The tree basic operations are a.s following. -IX- Union: The union of fuzzy sets A and B, A U B is the fuzzy set defined by the folowing membership function. Union means OR semanticaly. ftAU B(x) = fiA{x)V hb(x) Intersection: The intersection of fuzzy sets A and B, AD B, is the fuzzy set defined by the folowing membership function. Intersection means AND semanticaly. (J.A D B(x) = /i^(.r) A hb(x) Complement: The complement of fuzzy sets A, A', is the fuzzy set defined by the folowing membership function. Complement means NOT semanti caly. pA'(x) = 1 - pa(x) There are of course, many other operations for fuzzy sets which explaned in this thesis and can be found in literature. a- cuts of a fuzzy set : For a fuzzy set A Aa = {x \i*a(x) >a},ae [0, 1) Aâ={x\fiA(x) >=o},o?(0,l] are called weak ct-cut and strong a cut respectively. Fuzzy Numbers : For a normal and convex fuzzy set, if a weak a -cut is a closed interval, it is called a fuzzy number. Fuzzy Logic Fuzzy logic is the logic underlying modes of reasoning which are approxi mate rather than exact. The importance of fuzzy logic derives from the fact that most modes of human reasoning -espcially common sense reasoning- are approximate in nature. Some of the essential characteristics of fuzzy logic relate to the following.. In fuzzy logic, exact reasoning is wieved as a limiting case of approxi mate reasoning.. In fuzzy logic, everything is a matter of degree.. Any logical system can be fuzzified.. In fvizzy logic, knowledge is interpreted as a collection of elastic or, equivalently, fuzzy constraint on a collection of variables.. Inference is viewed as a process of propagation of elastic constraints. Fuzzy logic differs from traditional logical system both in sprit and detail. In fuzzy logic truth value is a fuzzy sııbset of the interval [0,1]. Predicates and predicates modifiers are also fuzzy. What is more, quantifiers, possibilities and probabilities can be interpreted fuzzy numbers and fuzzy sets. -X- It is important to observe that in every instance fuzzy logic adds to the options which arc available in classical logical systems. In this sense, fuzzy logic may be viewed as an extension of such systems. The general form of a fuzzy proposition is usually written as X ore F where X is a class of objects and jP is fuzzy predicate. The truth of this proposition knowing Va: £ X truth(xi is F) (i = 1,..., n) is, 1 " n *? - » 77. If there is a modifier m, which modifies the predicate!, it causes a new fuzzy set to be occured. Therefore truth value can be calculated with above for mula. If there is a quantifier Q, which quantifies the object, first, it is ignored and truth value of proposition r is calculated. The final truth value r' is If many proposition are tied with conjunction and/or disjunction, first, truth values for every subpropositions are calculated, then union and in tersection are used for OR and AND respectively to calculate final truth value. Fuzzy Query With a conventional querying system, one might issue such a query: "List salespeople tinder 25 years old whol sold more than 500 million." But this search would miss the 26 -year old who sold 1 billion and 19-year old who sold 499 million. It would create crisp sets and ignore noteworty fuzzy information at the edges. A vague request would be handier and more useful:" List the young salespeople with a good selling- record." Fuzzy query allows one to deal with the uncertainty of the values as well as vagueness of linguistic terms such as "old", "rich", "good". Second, it permits fuzzy retrieval. When searching for 30-year-olds with green eyes, one can also identify 28-year-olds with green eyes and note the lower degree of match. Fuzzy query clauses can be constructed similar to the fuzzy propositions. In the Fuzzy Query Tool, a query clause may be either fuzzy or nou fuzzy, but it must be consistent in some syntax and semantic rules as following. Linguistic var. [Modifiers] Fuzzy set 1,NOT" [Conj.] Linguistic var. Operator " Constant." [Conj.] XI- Linguistic variable must be an attribute in the file which query is done. Modifiers are fixed in program as HAFİFÇE, ASAGIYUKARI, COK, BIRAZ. Fuzzy Set must be defined by user. Conjuntion must be either VE (and) or VEYA (or). Operator is one of the following. =, >, <, >=, <= and <>. There is also a fuzzy operator called YAKLAŞIK, which converts constant value to a fuzzy number. Constant must start and end with an ". Fuzzy set precedes modifiers NOT, because in Turkish, a natural clause is constructed in that way.

##### Açıklama

Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 1996

##### Anahtar kelimeler

Sistem analizi,
Sorgulama dili,
Veri tabanı sistemleri,
System analysis,
Query lanquage,
Database systems