EarthWeb   
HomeAccount InfoLoginSearchMy ITKnowledgeFAQSitemapContact Us
     

   
  All ITKnowledge
  Source Code

  Search Tips
  Advanced Search
   
  

  

[an error occurred while processing this directive]
Previous Table of Contents Next


8.6. The Satisfiability Problem

The satisfiability problem (SAT, in brief) comes from a domain of two-valued logic and Boolean functions (combinational systems) and concerns a question of whether a given Boolean expression (function) assumes one (becomes satisfied) for a certain combination of its arguments. A sort of a brute force solution comes through a direct enumeration: starting from all arguments equal to 0 (false) we proceed through possible combinations up to the last one in which all the variables are set to 1(true). For small values of the arguments (n), this enumeration does not form a problem yet the search space grows rapidly once “n” increases. The growth is exponential and the number of possible variations of the variables is equal to 2n. Thus for n = 10 we get 210 = 1024 elements. However, for n = 100 we get 2100 ≈ 1030 and this makes the search space enormously large and eliminates any eventual direct enumeration as a feasible search method.

The SAT problem can be then revisited in the realm of GAs. As the problem itself is binary, the fitness function specified as the Boolean function itself is of no help

where xi is in {0, 1}. Such a fitness function is not continuous, meaning that all strings that do not satisfy the Boolean expression (even to different degrees) are treated in the same way and return zero.

One possible repair would be to reformulate the fitness function itself to furnish it with a badly needed continuity. The other option would be to reformulate the problem itself and make it continuous. Here is the point where fuzzy sets get involved. The idea is to replace the original two-valued function by its multivalued version. Denote it by F. The multivalued extension is carried out in two steps:

• replacing Boolean variables by their continuous (multivalued) counterparts assuming values in [0, 1].
• implementing logic AND and OR operations in terms of the triangular norms. The selection of different norms could result in a different efficiency of the GA search. One should stress, however, that all of the multivalued versions are functionally equivalent to the original Boolean expression when it comes to the corners of the unit hypercube.

As the induced function is multivalued, so is the fitness function

This allows us to evaluate the fitness of each of the strings and make a clear discrimination between individual elements of the population.

Once the best string has been identified, one produces its Boolean equivalent via a straightforward thresholding:

  if x ≥ 0.5 then x is converted to 1 otherwise x becomes equal zero.

Finally, one has to check if the binarized (thresholded) version of the best individual satisfies the original Boolean function.

The underlying concept of the induced fuzzy (multivalued) SAT problems is highlighted in Fig. 8.11.


Figure 8.11  Induced mutlivalued SAT problem - an algorithmic framework

We discuss two illustrative examples. They exploit a continuous (real number coded) version of the GA. The crossover rate is set to 0.5 and α = 0.3. The mutation rate is equal to 0.05. The population size equals 8 in the first experiment and 40 in the second one.

Example 1. The Boolean function takes on the form

(here the plus symbol stands for the OR operation).

The multivalued version of the function is realized with the use of the maximum and product operations. The performance of the GA is quantified both in terms of the best string and the average fitness of the entire population, Fig. 8.12. The best string is equal to [0.74 0.93 0.25 0.60]. After thresholding it converts into the expression [ 1 1 0 1 ] that is essentially the second product of the Boolean function.

Example 2. Here the Boolean expression is a sum of two products of six variables

The results of evolution are summarized in the form of the fitness function assumed for the best individuals as well as an average fitness across the population, Fig. 8.13. Then the best individual is [0.366725 0.625493 0.322614 0.630793 0.217059 0.625782] which after thresholds (at the level of 0.5) yields [0 1 0 1 0 1].


Figure 8.12  Fitness function in successive populations


Figure 8.13  Fitness function in successive populations

8.7. Evolutionary rule-based modeling of analytical relationships

The rule-based model can be found useful in an approximation of continuous functions. In comparison to rule-based approximation of experimental (discrete) data, this type of approximation problem has not attracted too much attention so far even though there is a genuine need for modeling continuous relationships. Let f be a continuous function defined in a subset of R

We also assume its differentiability at x0. A straightforward linear approximation of the function realized around x0 is expressed as

The right-hand side of the above formula reads in an explicit form as

where obviously

and

The performance of such linear approximation depends on how far a current argument (x) is from the approximation knot (x0). Then the resulting local approximation error can be quantified as

In general, not confining ourselves to a specific value of the current argument (x), we define a global approximation error as the following integral

More importantly, this global error depends upon a selection of the approximation knot. By changing a position of x0 we can affect the performance index and eventually minimize its value

Instead of a single approximation knot we assume a number of them, say m. Denote this collection by ,

The rule-based system approximating the original function comes in the form

  if x is A1 then y = L1(x, a1, b1)
  if x is A2 then y = L2(x, a2, b2)
  …
  if x is Am then y = Lm(x, am, bm)


Previous Table of Contents Next

Copyright © CRC Press LLC

HomeAccount InfoSubscribeLoginSearchMy ITKnowledgeFAQSitemapContact Us
Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Read EarthWeb's privacy statement.