Page Ranking Refinement Using Fuzzy Sets and Logic Andrew Laughlin Joshua Olson Donny Simpson Atsushi Inoue ∗ Eastern Washington University Cheney, WA 99004 USA Abstract success of the Google search engine, and the significance is determined based on references and citations (i.e. links) This paper presents a study on personalized add-on filters applied to web search results in order to make those results made to that web page (a comprehensive survey is made in more intuitive to users. Fuzzy Sets and Logic are used in or- reference (Franceschet 2010)). The relevancy of a search der to construct such filters. Linguistic features are extracted result for given keywords is determined by this method ap- as their universe of discourse. Three experimental filters are plying to web pages containing those key words (with varia- presented in the following specific contexts: (1) narrowing tions based on their conjugations)1 . Such a ranking method down results, (2) product specification and (3) tutorial level is effective and efficient regardless of structures and contexts classification. Their performance is briefly studied mostly in of target web pages and is indeed satisfied by many users de- qualitative manners. spite the above mentioned discrepancies. Keywords: Fuzzy Sets, Fuzzy Logic, Page Ranking, Lin- On the other hand, many others hope for additional fine guistic. tunings on the search results in order to overcome those dis- crepancies. As having been already noticed, all of those Introduction discrepancies are caused generally by lack of various lin- Users on the Internet very likely use search engines such as guistic processing on target web pages–e.g. lexical and se- Google and Bing in order to search and access to information mantic processing for the matters of contexts and descrip- of interest. As they enter some key words, the search engines tors, and syntactic and morphological processing for those instantaneously respond lists of web pages that are relevant of the dependencies among words. Knowing this differ- to those key words in the order of significance. While the ence on the basis of determining significance, i.e. structural quality of search results is generally satisfactory, the users (links) versus linguistic (texts), we anticipate an effective- often demand finer tunings, e.g. in terms of contexts, de- ness of some linguistic functionalities that compensates the scriptors and dependencies among key words in phrases. structural page ranking methods. The following lists a few examples of such discrepancies: In this paper, we consider a study on such linguistic functionalities as personalized add-on filters that alter web Contexts. Totally different contexts intended by users, e.g. page rankings generated by conventional web engines, e.g. a type of coffee beans vs. software components for the Google and Bing, in specific, personalized contexts. The in- key word ’java beans’. put of such a filter is a list of (links to) web pages in an order Descriptors. Descriptors that do not symbolically match of significance based on their structures. In text process- with words in target web pages, e.g. some quantifiers such ing aspects, this is considered as stream processing of texts as ’most’ vs. actual quantities such as ’99%’ and quali- with a demand of real-time response (e.g. just as Google re- fiers such as ’good’ vs. similar ones such as ’high quality’ sponds to a search query). We deploy Fuzzy Sets and Logic and ’well written’. as the base method given its proven efficiency on stream pro- Dependencies among words. Symbolic keyword match- cessing (e.g. Fuzzy Controls (Mamdani and Assilian 1975; ing in search engines is most likely performed based on Takagi and Sugeno 1985)) and effectiveness on uncertainty regular grammars (to handle word conjugations) and of- management intrinsic to linguistic processing (Zadeh 1965; ten yields weak or no relevancy, e.g. ’fuzzy parser’, when 1973). interpreted as a list of two key words ’fuzzy’ and ’parser’, Related concepts such as page ranking and fuzzy sets and vs. texts in target web pages such as ’The parser avoids logic are briefly introduced in the next section. Then three fuzzy words...’, ’Parsing a query e.g. founder of fuzzy experimental filters are presented along with their qualitative logic’ and ’... fuzzy sets. ... C parser to compile ...’. studies on performance for the following specific contexts: In theoretical aspects, web page ranking predominantly 1 follows a fundamental ingredient in the development and In practice, massive web pages and their ranks are pre- compiled and key words are indexed by web crawlers, autonomous ∗ Correspond via E-mail to inoueatsushij@gmail.com processes that explore links and URLs. narrowing down results, product specification and tutorial Fuzzy Sets level classification. Some clear distinction from other simi- In the most cases, fuzzy sets represent linguistic expressions lar works is made within the experimental setting. that intrinsically contain fuzziness such as ’tall’ on height and ’low’ on leftover stipend (Zadeh 1965). Related Concepts Definition. A fuzzy subset of a set U is defined by means of The following related concepts are briefly introduced: Page a membership function Ranking, Regular Grammar, Fuzzy Sets and Fuzzy Logic. µ : U → [0, 1] (4) Page Ranking The set U is so-called the universal set. In the above two ex- Let I(P ) the significance of page P and B be the set of amples, linguistic terms ’tall’ and ’low’ correspond to fuzzy pages that refer to (i.e. have a link to) page P (Austin 2011). sets defined over appropriate universal sets such as ’height’ Suppose that page Pi has a link to page P and that Pi has li (i.e. a set (interval) of real numbers representing human links. Then I(P ) is determined as follows: height, e.g. [100, 220] in centimeters) and ’leftover stipend’ X I(Pi ) (e.g. [0, 100] in USD). In case of a crisp set, the range of the I(P ) = (1) membership function becomes {0, 1} instead of [0, 1]. li Pi ∈B To determine I(P ), we need I(Pi ) ∀Pi ∈ B and so do we for each and every one of those pages. This certainly causes ”chicken and egg” situation. To resolve this situa- tion, we use the power method. Let H = [Hij ] be a square matrix2 representing references (links) among all web pages P1 , . . . , Pn such that Figure 1: Fuzzy Sets (Fuzzy Partition)  1 lj if Pj ∈ Bj Usually, fuzzy sets are defined in simple canonical shapes Hij = (2) 0 otherwise such as triangles and trapezoids (see fig. 1 as an example of three trapezoidal fuzzy sets). In this simplicity, you may and let I = [I(Pi )] be a vector whose components are the easily see the elasticity of fuzzy sets such that every crisp (i.e. significance of all the web pages. Then we observe I = non-fuzzy) interval has only one fuzzy set i.e. µ(x ∈ U ) > H · I. This means that I is an eigenvector (aka a stationary 0 and µ(x) = 1 (i.e. the complete membership), and every vector) with λ = 1. The power method iteratively computes fuzzy interval has more than one fuzzy set i.e. µ(x) > 0 H · Ii = v = λi+1 · Ii+1 (3) and µ(x) < 1 for all within that interval (i.e. the partial memberships). Further, a fuzzy partition is often considered until Ii = Ii+1 (i.e. practically |Ii (P )−Ii+1 (P )| <  for all for the sake of completeness in computational models. components). The initial eigenvector usually has only one component whose value is 1, and the remaining components Definition. A fuzzy partition of a set U is a set of normal have 0s. The initial eigenvector is λ1 = 1. The conver- (i.e. at least one element x ∈ U s.t. µ(x) = 1) fuzzy sets of gence of this iteration is determined whether |λ2 | < 1, and U such that X its speed (i.e. #iterations) is determined by the magnitude of µi (x) = 1 ∀x ∈ U (5) |λ2 | such that it gets slower as |λ2 | is closer to 0. i Fuzzy sets may be defined subjectively, unlike probabil- Regular Grammar ity distributions. Appropriate fuzzy partitions with simple Regular grammar can describe a set of strings by a collec- canonical shapes as shown in fig. 1 are often used in many tion of rules in the following patters: A → c and A → cases. They are also dynamically generated or refined by ap- cB (Sipser 2005). Such rules yield only linear parsing trees. plying some machine learning methods. In such cases, sim- In practice such as scripting and programming, we use reg- ple and smooth shapes of fuzzy sets should be maintained ular expressions that consists of the following: due to their elasticity and approximation nature. Finally, their (standard) set operations are defined as fol- |: Boolean ”or.” lows: (. . .): A regular expression within the parentheses. Set intersection: µA∩B (x) = min[µA (x), µB (x)] ∗: Zero or more repetition of the preceding element. Set union: µA∪B (x) = max[µA (x), µB (x)] Set complement: µA (x) = 1 − µA (x) +: One or more repetition of the preceding element. (6) ?: Zero or one repetition of the preceding element. Fuzzy Logic For example, ab?a yields aa and aba; ab ∗ a yields aa, aba and abba; a(cb)+ yields acb and acbcb; and a(c|b)+ yields Fuzzy logic is originally proposed by Zadeh as a qualitative, ac, ab, acc, abb and abc. simplistic method for (especially complex) system analy- sis (Zadeh 1973). In this framework, Modus Ponens is gen- 2 i-th row and j-th column. eralized and formalized as a fuzzy relation (i.e. considered as a partial truth maintenance system). Formally the gener- i-th fuzzy implication and c is the one for all results com- alized Modus Ponens can be written as bined. In case of fuzzy control, c represents all possible outputs with associated partial truth values. In order to de- a → b ∧ a0 ⇒ b0 (7) termine a single output, we need to select one output such 0 where a, b, a and b are fuzzy (sub)sets representing fuzzy that c(⊆ V ) → y ∗ (∈ V ) (so-called defuzzification). Center- statements, e.g. ’temperature is high’. We may now rewrite of-Gravity (CoG) method is proposed in Mamdani’s model this in fuzzy set theoretic, i.e. fuzzy relational, aspects such (see fig. 2). R µc (y) · y dy that _ y∗ = R (11) µc (y) dy µb0 (y ∈ V ) = [Rf (x, y) ∧ µa0 (x ∈ U )] (8) x Takagi-Sugeno fuzzy control model better integrates fuzzy implications and defuzzification as a model-free re- where all the membership functions µ represent those fuzzy gression (Takagi and Sugeno 1985). In this model, each statements (e.g. µhigh in the above example), U and V rep- fuzzy implication Rf (x, y) is approximated as a function resent their universal sets (e.g. ’temperature’ in the above yi = fi (x) for input x, and its output yi is linearly com- example), and Rf is the fuzzy relation that represents the bined based on the partial truth value of the hypothesis, i.e. (fuzzy) implication a → b. µai (x), such that That fuzzy relation is further specified as a result of pro- P µa (x) · fi (x) jecting material implication (i.e. a → b = ¬a ∨ b) such y∗ = i P i (12) that i µai (x) In discrete problem domains such as classification, we Rf (x, y) = (a×b)∪(a×V ) = (µa (x)∧µb (y))∨µa (x) (9) need to identify a class as a result of disjunctively combin- ing all those result fuzzy sets ci . Since their membership where a ⊆ U and b ⊆ V . functions are all constants (i.e. µci (y) = zi ∈ [0, 1] s.t. zi = µai (x) from fuzzy implication ai → bi ), the defuzzifi- cation is achieved simply as a result of the disjunctive com- bination with max[·] in order to select the class label. This is corresponding to the definition of fuzzy classifier such that C = ARGMAXi [µai (x)] (13) where C is a class label associated with µbi from fuzzy im- plication ai → bi , as well as its result µci . Experimental Filters Three experimental filters are presented along with brief studies on their performance for the following specific con- texts: narrowing down results, product specification and tu- torial level classification. The experimental setting is pre- sented first together with some clear distinction from other similar works. Experimental Setting Figure 2: Fuzzy Control (Mamdani) In general, we consider simplicity as the core of develop- ment. In particular, the following setting is followed in the development of experimental filters. In fuzzy control, we only need to consider the special case3 such that Add-on Filters. Given all possible bias on intentions and interpretations, we focus on development of personalized Rf (x, y) = (a × b) ∪ (a × ∅) = (µa (x) ∧ µb (y)) (10) add-on filters on web browsers. Such filters are very likely This is indeed Mamdani’s fuzzy control model when select- implemented as extensions and other forms of modules ac- ing µa (x) ∧ µb (y) = min[µa (x), µb (y)] (Mamdani and As- cording to architectural specifications of web browsers as silian 1975) (see fig. 2). well as application programming interfaces (APIs). Fuzzy When multiple fuzzy implications (aka fuzzy IF-THEN Sets and Logic are used as the technical framework of those rules) exist in the system, we need to disjunctively combine filters and are easily implemented in any forms of develop- all the results, i.e. partial truth such that c = c1 ∨ . . . ∨ cn , ment environment, application framework and programming where c1≤i≤n is a fuzzy set representing the result for the language. The input of each filter is a list of web pages, most likely that of URLs, generated as a result of using a 3 web search engine such as Google and Bing. The filter then System control cannot specify outputs for complements of in- puts, i.e. a × ∅ = ∅. accesses to texts from that list. The output is a modified list of those web pages, e.g. altered orders, selective lists and work. Conventional syntactic analysis is unlikely feasible grouped lists. within this framework; however, stochastic and probabilis- In doing so, users can easily switch back and forth be- tic analysis on n-grams (e.g. Markov process) and simple tween the ordinary and this filtered search results. In addi- parsing with regular grammar may often compensate for this tion, the inputs, i.e. keywords, remain the same in both op- shortcoming. tions. This is different from other works that utilize fuzzy It is commonly known that the web search inputs, i.e. key- sets and logic in a similar manner. For instance, Choi’s words, are short and simple–consisting only of a few key- work (Choi 2003) incorporates linguistic processing features words. As a consequence, a canonical structure such as a (using fuzzy sets and logic) directly to a web search engine, pair of an adjective and a noun can be expected. This very thus demands a modification on the server as well as in in- well fits within the frame work of fuzzy sets and logic such puts. This causes substantial overheads on the server includ- that the adjective (a word or a phrase) corresponds to a fuzzy ing, but not necessarily limited to, configurations of various subset on the universal set and the noun (a word or a phrase) personalization and context dependencies. Such configura- corresponds to that universal set. The elements in that uni- tions may likely serve as very critical overheads when con- versal set are one of those simple linguistic features and the sidering recent studies on bias and ideal usage of web search fuzzy set is generated accordingly on those. engines (Goldman 2008). Recent search engines such as Google and Bing keep Prototype. All the experimental filters presented in this pa- track of search results for various personalization and cus- per are required to be rigorously prototyped. The web search tomization purpose. They are implemented as a part of results are indeed extracted from Google and Bing for spe- server (i.e. search engine) functionalities. In contrast, ours cific queries, i.e. lists of keywords. The standard models of are implemented as extensions of web browsers, thus are fuzzy sets and logic are deployed, e.g. the standard fuzzy set served as additional personalization. operations and Mamdani’s fuzzy control model, for imple- mentation advantages such as simplicity and available tools. Context Dependency. Each user has one’s own intention As a trade-off, performance studies became very limited at and bias in many different situations and none are likely this time–i.e. a continuing work. identical to the others. In other words, it is ideal (i.e. the simplest) to facilitate a collection of add-on filters that cater Filter 1: Narrowing Down Results such different situations with various intentions and biases. This experimental filter considers narrowing down and re- While many works in intelligent systems tend to handle ordering search results from a web search engine about fa- context dependencies by adaptive capacity on the server, this vorite music. The intention is exploration of relevant infor- causes substantial overheads. Anari et. al. approach to con- mation, thus is broad and general. More technical details are text dependencies by incorporating capacities of adaptive as follows: behaviors and generalization (i.e. capacity of fuzzy sets and Queries. For this experiment, we only consider ”good reg- logic) directly in the page ranking method (Anari, Meybodi, gae songs.” and Anari 2009). Such sophistication very likely causes the overhead, thus is not feasible for extensions of conventional Features. The universal set is the normalized frequency f (w∈t∧d) services such as Google and Bing (unlike their own retrieval f = f (w∈t)−f (w∈t∧i) of affirmative words in a text t, e.g. system). ’good’, ’favorite’, ’love’, etc. Function f (w) indicates the frequency of word w with a specified membership (e.g. t, Linguistic Keyword Processing. Fuzzy sets and logic are t ∧ d and t ∧ i). A thesaurus d is used in order to identify well incorporated with the standard statistical natural lan- a set of words and their conjugations. We remove mean- guage processing such that simple features are extracted ingless words such as prepositions and pronouns and they from texts in order to apply various methods of machine are maintained in the ignored word list i. learning and reasoning. Such simple features may include word frequencies and word appearances as the core. We Fuzzy model. A fuzzy classifier consisting of three fuzzy then consider other variations within those features such as sets in a fuzzy partition similar to those in fig. 1: µhigh (f (t)), µmedium (f (t)) and µlow (f (t)). • those on words that are linguistically related, e.g. syn- onyms, antonyms, acronyms, etc. Output. (1) a class of the word frequency as a fuzzy degree of significance, and (2) a defuzzification of those three • those on words with simply conjugation processing, more membership functions as the degree in order to determine generally processing morphological structures. the rank. • those on a sequence of n words, i.e. n-grams. Search engine. Bing. The most significant advantages of such simple features A small and simple performance evaluation was con- are with regard to text stream processing. Texts are parsed ducted as follows: only once (aka one-pass) in order to yield real-time re- sponses. Morphological structures are mostly handled by Subjects to evaluation. Significance labels generated by regular grammars (expressions), and those linguistically re- the fuzzy classifier. lated features demand lexicons such as thesauri. Fortunately, Examinee(s). One person who is familiar with reggae those are feasible within the text stream processing frame- songs. Queries. For this experiment, we only consider ”energy ef- Table 1: Confusion Matrix ficient light bulbs.” l(b) Features. The universal set is the efficiency e(b) = w(b) ∈ [5, 100], where l(b) is the lumen and w(b) is #watts of a light bulb b. Product specification such as l(b) and e(b) are obtained from Google’s product search results by parsing XML attributes and keywords. Fuzzy model. A single fuzzy set representing ’energy effi- ciency’ such that   0 if e(b) ∈ [5, 15] µ(e(b) ∈ [5, 100]) = e(b)−15 if e(b) ∈ (15, 50)  35 1 if e(b) ∈ [50, 100] (14) This is determined based on the official chart of Energy Federation Incorporated (EFI). Output. Reordered list of products according to the mem- bership degree of µ(e(b)). Procedure. Several web pages (texts) that are randomly se- lected from the filtered results are presented to the exami- Search engine. Google Shopping (product search service). nee and ask the one to put one of those three labels (’low’, A qualitative performance study on this filter is conducted ’medium’ and ’high’) in order to indicate significance. as follows: Results. Compiled as a confusion matrix (see table 1) Subjects to evaluation. Quality of product search results. where H indicates the human examinee and M indicates this add-on filter. Examinee(s). A few people who are in need of light bulbs. Despite its very simple linguistic feature, i.e. the normal- Procedure. Obtain testimonials by presenting both product ized word frequency of single word, we noticed some im- lists: filtered and not-filtered. provements. Two out of three misclassification cases are classified in adjacent classes: ’high’ where it should be Results. A collection of testimonies are listed below. See ’medium’. One case is completely off; however, this was fig. 3&4 to compare top 8 products (i.e. energy efficient the web page containing a song list and hardly contained af- light bulbs). Five bulbs in the filtered results also appear firmative words. in the not-filtered one. Among those, only one (the top bulb) appear in the same rank. Three new bulbs appear in the filtered list. Table 2: Top 5 Results from Bing Here is the sample testimonies: 1. ”I think [the filtered result] is better it sticks more to sorting the wattage in order, making the energy efficiency stand out more if people are looking to cut costs by reduc- ing wattage. This is not taking things like price or actual lumenage of the bulb into effect (if people are looking for a brighter, yet energy efficient bulb, which might actually be a higher wattage).” Table 2 indicates the results of the top 5 from Bing search. 2. ”I’d have to go with [the filtered result] mainly because it Two pages are off, but both are song lists and hardly contain ranked the Satco Halogen among the lowest. The Satco affirmative words. Needless to say, more extensive studies Halogen uses the most energy out of all the bulbs with the are necessary. Nevertheless, this small performance study least gain of lumen. 57 watts for 1100 lumens vs 13 watts positively suggested further study. for 900 lumens.” This filter, despite its simplicity in uncertainty manage- Filter 2: Product Specification ment, turned out to be better effective than we expected. This experimental filter anticipates to enhance product The current trends on ecology stimulated the bulb market search results. The key idea is that a certain specification is so that manufacturers release new types of bulbs and users accounted to significance of products appeared in the search (i.e. consumers) are not yet familiar with those new types. results. Such a specification is automatically identified as a More comprehensive implementation of such a filter is likely result of mapping a set of key words to some fuzzy model. significant from marketing aspects and is certainly feasible The technical details of this filter follows: from technical aspects. Figure 3: Product Search Results: not filtered Figure 4: Product Search Results: filtered Filter 3: Tutorial Level Classification 9. m(fa (t)) → cm a = {0.5/0.75} This experimental filter classifies tutorial sites into three 10. m(fe (t)) → ce = {0.5/1} m classes: ’beginner’, ’intermediate’ and ’advanced’. Only a set of few general keywords are taken into account for this where  classification. In doing so, we maintain a high degree of  0 if f ≤ 5 f −5 generality (i.e. domain independence). Each of such key- h(f ) = if 5 < f < 10 (15)  5 words are associated with appropriate membership degrees 1 if f ≥ 10 per class. Mamdani’s model is deployed for this classifica- and tion as a result of defining singleton fuzzy sets over a shared  universal set representing those classes.   0 if f = 0 ∨ f ≥ 10  f −5 Queries. For this experiment, we consider: 5 if 0 < f < 5 m(f ) = (16) (c|ruby|python)(tutorials?|guides?)   1 if f = 5  10−f 5 if 5 < f < 10 Features. We only use the following keywords and their conjugation (handled by regular expres- Output. The degree of expertise e(t) ∈ [0, 1] as a result sions): intro(a| . . . |z)∗, novice, intermediate, of defuzzification of this fuzzy model, where e(t) = 1 advanc(a| . . . |z)∗, experts?. We also use their frequen- means ’expert’ and e(t) = 0 means ’beginner’. The de- cies: fi (t) for intro(a| . . . |z)∗, fn (t) for novice, fm (t) gree of each class is determined as follows: for intermediate, fa (t) for advanc(a| . . . |z)∗ and fe (t) for experts?. Beginner: b(t) = 1 − e(t) Fuzzy model. The following IF-THEN rules and fuzzy sets Intermediate: i(t) = 1 − |e(t) − 0.5| are defined: Advanced: e(t) 1. h(fi (t)) → chi = {1.0/0} Search engine. Bing and Google. 2. h(fn (t)) → chn = {1.0/0.25} Fig. 5 and 6 show a search result and a classified result 3. h(fm (t)) → chm = {1.0/0.5} of Google with query ”python tutorial.” As you may notice, 4. h(fa (t)) → cha = {1.0/0.75} there are a few pages in unintentional context, i.e. Poke- 5. h(fe (t)) → che = {1.0/1} mon. This is a trade off with generality, that is caused due to a shallow linguistic analysis such as word frequencies of 6. m(fi (t)) → cm i = {0.5/0} only a few keywords. Nevertheless, we received several pos- 7. m(fn (t)) → cm n = {0.5/0.25} itive feedbacks about this filter that mainly commends such 8. m(fm (t)) → cm m = {0.5/0.5} a classification offers more efficient information browsing. Sets and Logic at EWU at the end of Fall 2010. The dura- tion of this project was two weeks. The best three projects are presented as experimental filters in this paper and those students are recognized as its co-authors. References Figure 5: Search Results:Google Anari, Z.; Meybodi, M. R.; and Anari, B. 2009. Web page ranking based on fuzzy and learning automata. In Pro- ceedings of the International Conference on Management of Emergent Digital EcoSystems, MEDES ’09, 24:162– 24:166. New York, NY, USA: ACM. Austin, D. 2011. How Google Finds Your Needle in the Web’s Haystack. AMS Feature Column: Monthly Essays on Mathematical Topics. Choi, D.-Y. 2003. Enhancing the power of Web search en- gines by means of fuzzy query. Decis. Support Syst. 35:31– 44. Franceschet, M. 2010. PageRank: Standing on the shoul- ders of giants. ACM Computing Research Repository (CoRR) abs/1002.2858v3. Goldman, E. 2008. Search Engine Bias and the Demise of Search Engine Utopianism. In Spink, A., and Zimmer, M., eds., Web Search, volume 14 of Information Science Figure 6: Classified Results:Google and Knowledge Management. Springer Berlin Heidelberg. 121–133. Concluding Summary Mamdani, E., and Assilian, S. 1975. An experiment in A preliminary study on page ranking refinement using fuzzy linguistic synthesis with a fuzzy logic controller. Interna- sets and logic is presented. Three simply experimental fil- tional Journal of Man-Machine Studies 7(1):1 – 13. ters are presented in order to demonstrate their effectiveness. Sipser, M. 2005. Introduction to the Theory of Computa- Their performance studies, despite their rough and mostly tion (2nd eds.). Course Technology (Thomson). qualitative contents, positively suggest continuing works. In experimental setting, clear difference from similar works is Takagi, T., and Sugeno, M. 1985. Fuzzy identification discussed. of Systems and Its Applications to Modeling and Control. Among many future works, we will first conduct more ex- IEEE Transactions on Systems, Man and Cybernetics. tensive performance studies and prepare some development Zadeh, L. A. 1965. Fuzzy Sets. Information and Control frameworks for popular web browsers such as Fire Fox and 8:338–353. Chrome. Zadeh, L. A. 1973. Outline of a New Approach to the Anal- ysis of Complex Systems and Decision Processes. IEEE Acknowledgement Transactions on Systems, Man, and Cybernetics 3(1):28– This research was conducted as a small course project (so- 44. called Intelligent Search Project) in CSCD498/598 Fuzzy