=Paper=
{{Paper
|id=Vol-1584/paper8
|storemode=property
|title=Fuzzy Algorithms: Applying Fuzzy Logic to the Golden Ratio Search to Find Solutions Faster
|pdfUrl=https://ceur-ws.org/Vol-1584/paper8.pdf
|volume=Vol-1584
|authors=Stephany Coffman-Wolph
|dblpUrl=https://dblp.org/rec/conf/maics/Coffman-Wolph16
}}
==Fuzzy Algorithms: Applying Fuzzy Logic to the Golden Ratio Search to Find Solutions Faster==
Stephany Coffman-Wolph MAICS 2016 pp. 33–39
Fuzzy Algorithms: Applying Fuzzy Logic to the Golden Ratio Search to
Find Solutions Faster
Stephany Coffman-Wolph
West Virginia University Institute of Technology
405 Fayette Pike, Montgomery, West Virginia 25136
sscoffmanwolph@mail.wvu.edu
Abstract solutions naturally contain a high level of similari-
Applying the concept of fuzzy logic (an abstract version of ty/symmetry or form natural groups/clusters.
Boolean logic) to well-known algorithms generates an ab- This process has already been successfully applied to the
stract version (i.e., fuzzy algorithm) that often results in following algorithms: (1) a concept-oriented fuzzification
computational improvements. Precision may be reduced but
for finding fuzzy patterns (Coffman-Wolph & Kountanis
counteracted by gaining computational efficiency. The
trade-offs (e.g., small increase in space, loss of precision) 2013c), (2) a fuzzification of both data and the operators
for a variety of applications are deemed acceptable. The for a fuzzy process particle swarm optimization (FP2SO)
fuzzification of an algorithm can be accomplished using a (Coffman-Wolph & Kountanis 2013a), (3) a fuzzification
simple three-step framework. Creating a new fuzzy algo- of multiple algorithm components to find strategies for
rithm goes beyond simply converting the data from raw data
adversarial situations from game theory (Coffman-Wolph
into fuzzy data by additionally converting the operators and
concepts into their abstract equivalents. This paper demon- 2013), and (4) a fuzzification of the simple simplex method
strates: (1) how to apply the general framework by develop- for the transportation problem (Coffman-Wolph & Coff-
ing a fuzzy algorithm for a simple linear search algorithm man, Jr 2014). All of the above fuzzy algorithms were
and (2) the success of this process through the development generated using a simple three-step framework (Coffman-
of the Fuzzy Golden Ratio Section Search.
Wolph & Kountanis 2013b). Similarly, other researchers
have used fuzzy logic controls with various evolutionary
Background algorithms (Sabzi, et al 2016). The author previously as-
serted that the general framework technique could be suc-
Fuzzy logic is a set of rules and techniques for dealing with cessfully applied to many other algorithms to take ad-
logic beyond a two-value (yes/no, on/off, true/false) sys- vantage of the power of fuzzy logic. This paper demon-
tem. In other words, fuzzy logic is an abstraction of two- strates the successful application of the framework to one-
value logic and allows for not only multiple values but also dimensional search algorithms with the Golden Ratio Sec-
an overlap of values between fuzzy sets. Therefore, fuzzy tion Search used to illustrate the process.
logic can mimic a more human-like approach to decision
making. L. Zadeh introduced fuzzy logic in the 1960s as an
expansion of Boolean logic in his paper entitled “Fuzzy Fuzzification of Algorithms
Sets” (Zadeh 1965). There are three main categories of components within an
Applying the concepts of fuzzy logic to an algorithm algorithm that can be fuzzified: (1) data, (2) operators, and
essentially creates an abstract version of the original algo- (3) concepts. As stated earlier, fuzzification is a method of
rithm. The abstract version allows for faster processing by adding abstraction. The fuzzification of data is the process
taking advantage of integer calculations, reduced search of taking “raw”/non-fuzzy data and converting it into fuzzy
trees, etc. A fuzzy algorithm can (potentially) find multi- data. The fuzzification of operators is the process of con-
ple similar solutions while the non-fuzzy version of the verting a mathematical, logical, or comparative operator to
algorithm generates only one solution. Fuzzification of an its fuzzy counterpart, which operates on fuzzy sets instead
algorithm is extremely advantageous when components or of pure numbers. The fuzzification of concepts, the most
difficult of the three, is the conversion of an idea into a
Copyright held by the author.
33
Stephany Coffman-Wolph MAICS 2016 pp. 33–39
similar fuzzy idea. These three techniques, together, will operator needs to deal with the overlap that can exist be-
be used within the framework to create a fuzzy algorithm. tween fuzzy sets.
Within fuzzy logic there exists several predefined opera-
Fuzzification of Data tors – the majority of them are logical operators. Each of
The process of fuzzifying data (also known as fuzzifica- these well-defined fuzzy operators’ behavior is based on
tion of data) is a simple two-step process. The first is scal- the equivalent operators from traditional set theory. Op-
ing or normalizing the data. The second is assigning each erators are most commonly associated with numbers, but in
data point to a fuzzy set. When the process is complete the the fuzzy world, operators can deal with a greater range of
data is ready to be used within a fuzzy algorithm. data representations. Often the user needs to expand these
Begin by scaling each of the data points. For easier predefined operators into special operators specifically
conversion from raw data to fuzzy data, scale or normalize defined for the context of the data.
the data first. There are many ways to scale data. For ex- Fuzzy operators can either be written as an equation or
ample, scale each data point xi, using the following stand- as a set of if/then rules. Both methods are common. Equa-
ard normalization equation: tions are computationally faster than if/then rules, provid-
ing greater speed advantages within an algorithm. On the
The Normalized value: other hand, if/then rules are often easier to write, providing
xinorm = ((xi – min) / (max – min)), an advantage design-wise.
Where:
max is the maximum value of all data points Fuzzification of Concepts
min is the minimum value of all the data points The fuzzification of a given concept is the most challeng-
ing of the three presented in this paper mainly because a
After the data is normalized, the fuzzification process concept can be difficult to define. A concept is an essential
can begin. There are two important decisions that need to element from the algorithm. Like the fuzzification of data
be made during this phase: (1) the total number of fuzzy or an operator, the purpose is to create an abstract version
sets and (2) the amount of overlap between the sets. The of the non-fuzzy “concept”. To identify concepts that are
higher the number of fuzzy sets and the smaller the over- candidates for the fuzzification process, look for places
lap between the sets, the more precise the system is (i.e., where items could be represented by a set or look for items
less fuzziness). If each fuzzy set only represents one value that only differ by a small amount. Another way to identi-
and there is no overlap, then the system is essentially the fy concepts that would benefit from being fuzzified is to
same as the original non-fuzzy version. Often these two notice repeated information or items that could be catego-
values are left as user defined parameters in the final algo- rized. Fuzzification (i.e., the creation of fuzzy sets) lends
rithm. itself well to these types of situations.
There are numerous ways to define fuzzy sets. It is
common to define the fuzzy sets using an equation. It is
possible to have “uneven” fuzzy sets (i.e., the fuzzy set Fuzzy Algorithm
size is not a constant or the overlap is not consistent). Many researchers refer to a “fuzzy algorithm” as one in
However, the most common approach to create fuzzy sets which the data has been fuzzified (for example: Ko-
is to divide the range of values evenly with consistent over- teshwariah et al 2015). This paper excludes algorithms
lap. where only the data has been fuzzified resulting in a more
strict definition of a fuzzy algorithm. Specifically, to be
Fuzzification of Operators considered fuzzy, an algorithm must go beyond simply
Any calculation using fuzzy data requires that all operators using fuzzy data. To truly make the algorithm fuzzy, either
are also fuzzified. Changing all the operators from the the operators and/or the concepts within the algorithm need
traditional version to the equivalent fuzzy version causes to be fuzzified. When the algorithm is modified to in-
the end calculation to be more abstract. The term operator cludes a fuzzy concept, the algorithm is undeniable a fuzzy
does not simply refer to mathematical operators, but also algorithm. It is trickier to determine if the algorithm is
logical and comparative operators. fuzzy when only the operators have been fuzzified because
Writing fuzzy operators can be challenging on a number of the fine line between a traditional operator and a fuzzy
of levels and requires many decisions to be made. For ex- operator – even when operating on fuzzy data. A fuzzy
ample, when defining the comparative operators, decisions operator is differentiated from the basic operator by being
will need to be made regarding what makes two sets equal, re-written to accommodate the meaning of the fuzzy data.
not equal, less than, greater than, etc. Additionally, a fuzzy
34
Stephany Coffman-Wolph MAICS 2016 pp. 33–39
Fuzzy Algorithm Framework The Golden Ratio Section Search
The following describes the general framework for the
In this paper, the Golden Ratio Section Search will be
fuzzfication of any algorithm and provides the steps to
fuzzified. The Golden Ratio Section Search belongs to a
convert any algorithm from a traditional non-fuzzy version
class of problems known as the one-dimensional search
to a fuzzy version. The framework is written as a general
algorithms. One-dimensional search methods are used to
procedure so it can be applied to a broad spectrum of algo-
find the minimum or maximum of a function within a par-
rithm types.
ticular interval. Other similar searches include: Dichoto-
The three steps of the framework:
mous Search (bisection method), Uniform Search Method,
1. Decide what can/should be fuzzified and determine
Equal Interval Method, Fibonacci Search Method, Quad-
the category of each piece to be fuzzified
ratic (or polynomial) Interpolation, and Newton’s Method.
2. Fuzzify each piece (identified in step 1) based on the
The Golden Ratio Section Search has the advantage of
category
faster convergence than most simple algorithms without
a. Scale/normalize the data, then fuzzify the data
requiring function derivatives making the method more
b. Fuzzify the operators
versatile.
c. Fuzzify the concepts
For this paper, two problems will be run on both a fuzzy
3. Defuzzification (if needed/applicable)
and traditional version of the Golden Ratio Section Search.
The two versions will be compared in terms of computa-
The first step is to make an in-depth examination of the
tion complexity, number of iterations, and an evaluation of
algorithm (which is to be fuzzified) and decide which ele-
advantages and disadvantages. A walkthrough will be
ments to fuzzify. It is helpful to determine what the solu-
provided so the reader and compare the fuzzy and non-
tion will look like in the fuzzy form. This will lay the
fuzzy versions of the algorithm.
foundation for the entire fuzzified algorithm. Therefore, it
can be helpful to work backwards through the algorithm to
Application of One-dimensional Search Algo-
determine what elements (data, operators, or concepts)
need to be changed in order for the solution to be pro-
rithms
duced. There are many types of problems that can be formulated
As mentioned in previous sections, data, operators, and so that searching for a minimum or maximum of a function
concepts can be fuzzified. Simply fuzzifying the data is yields the desired result. Thus, this type of search has far
not necessarily a complete fuzzification of an algorithm. reaching applications. One example is finding the roots of
Conversely, not everything needs to be fuzzified. The a polynomial, which can be challenging if n>3. One-
challenge is selecting which elements should be fuzzified dimensional searches are used to find the “fixed point” of a
and which elements should not. Almost everything numer- function (i.e., given a function f(x), then a fixed point c is a
ic could be fuzzified (by the process provided in the sec- point that satisfies f(c) = c). Similarly, it can be used to
tion on fuzzification of data). Elements that are essential find the “zeros” of a function (i.e., given a function f(x),
to the fundamentals of the algorithm are generally not then a zero of the function is any point where f(x) = 0). In
fuzzified. For example, in an algorithm for finding the non-linear constrained or unconstrained optimization, one-
shortest path from a starting location to a destination loca- dimensional search algorithms are used to find the step size
tion, the starting and ending locations should not be fuzzi- to move in the “improving” direction (e.g., in steepest de-
fied. However, the distances between locations could be scent, the improving direction is the gradient).
fuzzified and, additionally, the concept of ordering might
be fuzzified. Of course, these decisions may depend great- The (Non-Fuzzy) Algorithm
ly on the application of the algorithm. Golden Ratio Section Search works similar to most bi-
The final optional step is defuzzification. Defuzzifica- section searches but there is more than one internal point.
tion, the opposite of fuzzification, is used to convert the (And, thus, more than two segments). One common appli-
result back to a non-fuzzy result. In some cases, this step cation of this algorithm is to find the absolute minimum (or
might be unnecessary. The determination of needing de- maximum) of a mathematical function. The algorithm
fuzzification is both problem dependent and usage depend- begins by finding (or calculating) the upper and lower
ent. If the algorithm is being used to narrow the solution bounds of the area that contains the minimum (or maxi-
space and the information will be fed into a non-fuzzy al- mum) value. Calculate the two interior points using the
gorithm, then it is important to develop a method of de- bounds forming three sub-segments. The algorithm then
fuzzification. Defuzzification can be applied to data or decides which sub-segment contains the minimum (or
concepts. maximum) value. The upper and lower bounds are nar-
rowed and the process is repeated until the minimum (or
35
Stephany Coffman-Wolph MAICS 2016 pp. 33–39
maximum) value is located within a specific tolerance. The version. (A subscript f will be used to denote a fuzzified
Golden Ratio is defined as follows: value or operator. Note that 1f is a “fuzzy” 1 and is actual-
ly a set). The value of φ and τ will remain crisp and non-
Golden Ratio = φ = ≈ 1.6180339 fuzzified as these values are essential to the algorithm.
The Golden Ratio Section Search uses τ: Golden Ratio = φ = ≈ 1.6180339
τ= ≈.6180339 τ= ≈.6180339
(Which is the Golden Ratio minus one) x1f =f LBf +f (1-τ) *f (UBf -f LBf)
x2f =f LBf +f (τ) *f (UBf -f LBf)
This value, τ, will be used to subdivide the line such that
the ratio of the lengths of the segments is the Golden Ratio.
With a lower bound of LB and an upper bound of UB, cal- Example #1: Simple Polynomial
culate the two points x1 and x2 that subdivide the line into The Fuzzy Golden Ratio Section Search will first be tested
three segments. The general formulas for this are: using the problem: find the minimum of the polynomial:
x1 = LB + (1 - τ)(UB-LB) x2 - y +2 = 0 (see figure 1). The lower bound (LB) and
x2 = LB + τ(UB-LB) upper bound (UB) will be set to -3 and 3 respectively.
This polynomial will be used to provide the reader with a
The Fuzzy Algorithm full example for comparison purposes of the non-fuzzy
As mentioned in an earlier section, the preliminary re- traditional algorithm and the fuzzified version.
search for fuzzy algorithms began with a fuzzy PSO for
solving the Traveling Salesperson problem (Coffman-
Wolph & Kountanis 2013a) and continued in the author’s
dissertation (Coffman-Wolph 2013). This research contin-
ues exploring what algorithms can benefit from being fuzz-
ifed using the framework.
To fuzzify the Golden Ratio Search, we must consider
what should and should not be fuzzified. A fuzzy algo-
rithm produces a fuzzy solution (unless a defuzzification
process is applied to the solution). The fuzzy solution for
this type of problem is a fuzzy minimum (or maximum).
Thus, we must ask ourselves if a precise minimum (or
maximum) is required. Often, a precise minimum (or max-
Figure 1: x2 - y +2 = 0.
imum) is not required. Generally, the Golden Ratio Search
(and other bi-sectioning algorithms) are used as a feeder
Non-Fuzzy Walkthrough
into other algorithms (e.g., curve fitting, finding minimum
of a polynomial) and do not require the absolute best solu- Using the bounds -3 and 3, begin by calculating the two
tion – a “good enough” solution is all that is required. In points x1 and x2 to subdivide the line:
some cases, the fuzzy version of an algorithm can be used x1 = LB + (1 - τ)(UB-LB) = -3 + (1-.618)(3-(-3)) = -.708
to eliminate a significant portion of the search space and x2 = LB + τ(UB-LB) = -3 + .618(3-(-3)) = .708
then be used as a starting range in a precise non-fuzzy al-
gorithm to find the absolute minimum (or maximum). We There are now three line segments (-3 to -.708), (-.708 to
can conclude that the concept of fuzzy minimum (or max- .708), and (.708 to 3). Evaluate the f(UB), f(x1), f(x2), and
imum) is an appropriate concept to be fuzzified for the f(LB):
algorithm. f(UB) = 11
The next concept to consider for fuzzification is the cal- f(x1) = 2.501
culated points. For the traditional Golden Ratio Section f(x2) = 2.501
Search, we calculate 2 precise points (and thus create 3 f(LB) = 11
exact segments). In the fuzzified version, these 2 precise
points would be represented by 2 fuzzy sets (and 3 fuzzy Since both f(x1) and f(x2) are less than both f(LB) and
segments). These sets are not necessarily distinct and may f(UB), the minimum must be between x1 and x2 and, thus,
contain overlap. Earlier, the crisp calculations were pro- they will become the new LB and UB respectively. The
vided to find the 2 precise points. These formulas, opera- algorithm continues by repeating the previous process to
tors, and values will be converted to an abstract fuzzified find the next x1 and x2 but using the new more restricted
36
Stephany Coffman-Wolph MAICS 2016 pp. 33–39
lower and upper bounds. Using the same formulas, calcu- y +2 = 0 with the initial LB (lower bound) and UB (upper
late the next x1 and x2: bound) of -3 and 3, respectively. All fuzzy data and opera-
x1 = -.708 + (1 - .618)(.708-(-.708)) = -0.167 tors will be denoted with a subscript f. It is important to
x2 = -.708 + .618(.708-(-.708)) = .167 remember that the fuzzy values represent a set, but for
simplification purposes will be represented in the write-up
Next we evaluate the f(UB), f(x1), f(x2), and f(LB): as a single integer value with a subscript f.
f(UB) = 2.501 During the setup of the algorithm, a few decisions need
f(x1) = 2.02 to be made: (1) size of the fuzzy sets and (2) allowing
f(x2) = 2.02 overlap between fuzzy sets. Both of these values control
f(LB) = 2.501 the level of precision for the algorithm. (For example:
crisp, traditional numbers could be represented with a
Using these values, the new lower and upper bounds are fuzzy set size of only one value with no overlaps). Addi-
determined to be: tionally, the size of the fuzzy sets does not need to remain
LB = -.167 constant throughout the algorithm execution. Keeping in
UP = .167 the spirit of the Golden Ratio Section Search algorithm,
this example will hold the size of the fuzzy sets constant at
The algorithm proceeds by calculating the next new val- +/- τ and, thus, create an overlap of approximately .236
ues of x1 and x2 and the corresponding evaluations: between fuzzy sets. For example, -1f is defined as -1.618
x1 = -.167 + (1-.618)(.167-(-.167)) = -.039 to -.382, 0f is defined as -.618 to .618, and 1f is defined as
x2 =-.167 +.618(.167-(-.167)) = .039 .382 to 1.618.
f(x1) = 2.001 The algorithm begins the same as the traditional algo-
f(x2) = 2.001 rithm, with the calculation of the internal two points based
on the fuzzified lower and upper bounds of -3f and 3f. (As
Given the above x1 and x2, the new lower and upper previously mentioned: the value of τ will remain crisp as
bounds become: well as the calculation of 1- τ. The value of τ is essential to
LB = -.039 the original algorithm and not fuzzified. Additionally, this
UP = .039 value is essential to the definition of the fuzzy set size).
The values are calculated as follows:
The algorithm will make another pass to further tighten x1f =f LBf +f (1 - τ) *f (UBf -f LBf)
the lower and upper bounds to find the minimum of the =f -3f +f (1- .618) *f (3f -f -3f)
polynomial. The algorithm will calculate the next values =f -1f
of x1 and x2 and the corresponding evaluations: x2f =f LBf +f (τ) *f (UBf -f LBf)
x1 = -.039 + (1-.618)(.039-(-.039)) = -.009 =f -3f +f (.618) *f (3f -f -3f)
x2 =-.039 +.618(.039-(-.039)) = .009 =f 1f
f(x1) = 2.000
f(x2) = 2.000 There are now three line segments (-3f to -1f), (-1f to 1f),
and (1f to 3f). We now evaluate the f(UB), f(x1), f(x2), and
Given the above x1 and x2, the new lower and upper f(LB):
bounds become: ff(UBf) =f 11f
LB = -.009 ff(x1f) =f 3f
UP = .009 ff(x2f) =f 3f
ff(LBf) =f 11f
One can continue the algorithm further to find a more
precise results. Otherwise, the algorithm can be stopped at Both ff(x1f) and ff(x2f) are less than both ff(LBf) and
this point. As can been seen from figure 1, the minimum ff(UBf). The minimum must be between x1f and x2f and
value of the polynomial is 2 at the point x = 0. The value they will become the new LBf and UBf. The process re-
we calculated is approximately 2.000. For many purposes peats and the next x1f and x2f are calculated:
(as mentioned earlier), this value is accurate enough and x1f =f LBf +f (1-τ) *f (UBf -f LBf)
we can consider the algorithm complete. =f -1f +f (1-τ) *f (1f -f -1f)
=f 0f
Fuzzy Walkthrough x2f =f LBf +f (τ) *f (UBf -f LBf)
The author will now proceed with the Fuzzy Golden Ratio =f -1f +f (τ) *f (1f -f -1f)
Section Search to find the minimum of the polynomial: x2 - =f 0f
37
Stephany Coffman-Wolph MAICS 2016 pp. 33–39
There are now three line segments (-1f to 0f), (0f to 0f), Testing Environment
and (0f to 1f). Next, evaluate the f(UB), f(x1), f(x2), and
f(LB): The programming code for both the Fuzzy and Traditional
ff(UBf) =f 11f version of the Golden Ratio Section Search was written in
ff(x1f) =f 2f Java. The testing environment is as follows: Eclipse Mars,
ff(x2f) =f 2f SDK 4.5.1 using Java version 1.8 on a HP Spectre running
ff(LBf) =f 11f Windows 10 with 2.5 GHz Intel Core i7.
The algorithm will be stopped at this point. As can been
Discussion and Concluding Remarks
seen from figure 1, the minimum value of the polynomial
is 2. The value we found is approximately 2 (i.e., the fuzzy The Golden Ratio Section Search algorithm was success-
set 2). (In general, the algorithm would continue, like the fully converted into a fuzzified version of the algorithm
non-fuzzy version, until reaching the desired level of accu- using the Framework for Fuzzification of Algorithms
racy). (Coffman-Wolph and Kountanis 2013b). For both exam-
ple polynomials, the fuzzy version of the Golden Ratio
Section Search performed better since it required fewer
Example #2: More Complex Polynomial iterations to find a suitable range for the minimum or max-
In this example, the Fuzzy Golden Ratio Section Search imum solution. As stated before, these ranges are suffi-
will be tested with a more complex polynomial. The ex- cient for many of the applications that use Golden Ratio
ample was run using two simple Java programs: (1) the Section Search and other similar one-dimensional search
traditional Golden Ratio Section Search and (2) the Fuzzy methods. For example, in each iteration of a non-linear
Golden Ratio Section Search. The results of the fuzzy ver- optimization algorithm, one is required to use these types
sion will be compared to the traditional version. of techniques to estimate the best step size in the improv-
This second example is to find the maximum of the pol- ing direction. The fuzzy version of the Golden Ratio Sec-
ynomial: f(x) = 12x – 3x4 – 2x6 (Hillier and Lieberman tion Search takes advantage of the computer’s natural high
1990). The lower and upper bounds are defined as 0 and 2 speed of integer calculations. (The traditional version uses
(which are the two points where the function begins to be the Java double data type for the calculations).
negative). The traditional algorithm ran the function as There are two disadvantages to using the fuzzy algo-
defined. The fuzzy version of the algorithm used a scaled rithm over the traditional. The fuzzy algorithm often re-
version of the problem which allows the algorithm to take quires scaling (but this scaling can be controlled by the
advantage of integer calculations. The algorithm can be user to their desired level of precision). The second dis-
scaled to any number of “decimal points” (denoted as d) of advantages is that in cases where precise answers are need-
precision by dividing each x by 10d and then multiplying ed, the fuzzy algorithm would only be able to provide a
the entire equation by 10d. starting lower and upper bound and is unable to provide
The maximum value of the f(x) = 12x – 3x4 – 2x6 occurs extremely high levels of accuracy.
in the range of 0.828 and 0.843 and is approximately 0.836
(Hillier and Lieberman 1990). The traditional version of
Future Work
the Golden Ratio Section Search required 5 iterations and
computes the maximum to fall in the range of 0.833 and The work done in this paper focuses on only two specific
0.839. The fuzzy version of the Golden Ratio Section polynomials and provides only the beginning of explora-
Search uses only 3 iterations and computes that the maxi- tion into the use of the fuzzy framework for this kind of
mum falls in the range of 8 and 9 (on the scaled problem) search algorithm. Since these preliminary results show
which is .8 and .9 on the non-scaled version. great potential, the next step would be to expand to larger
The computation complexity of the algorithm is not in- and more varied polynomials as well as non-polynomial
creased by adding fuzzification to the algorithm. The Java functions. Further work could be conducted on other simi-
code for the fuzzy algorithm contains only one additional lar algorithms including: Dichotomous Search (bisection
method - a customized Java code to determine the fuzzy method), Uniform Search Method, Equal Interval Method,
equivalence between fuzzy sets. This extra method is Fibonacci Search Method, and Quadratic (or polynomial)
called only twice during each iteration and contains 8 lines Interpolation. Additionally, the author would like to ex-
of code most of which are a series of branching statements. pand to other even more general search algorithms (e.g.,
This adds minimal execution time to the overall algorithm. Tabu search) and sorting algorithms.
38
Stephany Coffman-Wolph MAICS 2016 pp. 33–39
References
Coffman-Wolph, S. 2015. The Hunch Factor: Exploration into
Using Fuzzy Logic to Model Intuition in Particle Swarm Optimi-
zation. In the Proceedings of the 26th Modern AI and Cognitive
Science Conference (MAICS 2015).
Coffman-Wolph, S and Coffman, Jr, P. 2014. Fuzzification of the
Special Simplex Method for the Transportation Problem. Confer-
ence Presentation. In the Proceedings of the INFORMS Annual
Meeting, San Francisco, California.
Coffman-Wolph, S. 2013. Fuzzy Search Strategy Generation for
Adversarial Systems using Fuzzy Process Particle Swarm Opti-
mization, Fuzzy Patterns, and a Hunch Factor. Ph.D. diss., De-
partment of Computer Science, Western Michigan University,
Kalamazoo, MI.
Coffman-Wolph, S. and Kountanis, D. 2013a. Fuzzy Process
Particle Swarm Optimization. In the Proceedings of the 43rd
Southeastern Conference on Combinatorics, Graph Theory, &
Computing. Winnipeg: Utilitas Mathematica Pub. Inc.
Coffman-Wolph, S. and Kountanis, D. 2013b. A General
Framework for the Fuzzification of Algorithms. In the Proceed-
ings of the 4th biennial Michigan Celebration of Women in Com-
puting (MICWIC 2013).
Coffman-Wolph, S. and Kountanis, D. 2013c. Finding Strategies
in Adversarial Situations. In the Proceedings of the 24th Modern
AI and Cognitive Science Conference (MAICS 2013).
Hillier, F. S., and Lieberman, G. J. 1990. Introduction to Opera-
tions Research. McGraw-Hill.
Kennedy, J., and Eberhart, R. C. 2001. Swarm Intelligence. San
Francisco, CA: Morgan Kaufmann Publishers, Inc.
Koteshwariah, C. B., Kisore, N. R., Ravi, V., 2015. A Fuzzy Ver-
sion of Generalized DBSCAN Clustering Algorithm. In the Pro-
ceedings of the Second ACM IKDD Conference on Data Scienc-
es (CoDS 15). New York: ACM.
Lasden, L. (1970) Optimization Theory for Large Systems. New
York, NY: Macmillan Publishing Co, Inc.
Luenberger, D. 1973. Introduction to Linear and Nonlinear Pro-
gramming. Reading, MA: Addison-Wesley Publishing Company.
Sabzi, H. Z., Humberson, D., Abudu, S., King, J. P., 2016. Opti-
mization of Adaptive Fuzzy Logic Controller Using Novel Com-
bined Evolutionary Algorithms, and Its Application in Diez La-
gos Food Controlling System, Southern New Mexico. Expert
Systems With Applications. 43: 154-164.
Wismer, D. and Chattergy, R. 1978. Introduction to Nonlinear
Optimization. New York, NY: Elsevier North-Holland, Inc.
Zadeh, L.A. 1965. Fuzzy Sets. Information and Control. 8: 338-
353.
39