=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== https://ceur-ws.org/Vol-1584/paper8.pdf
 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