Genetic Algorithm

Today, in the world of data mining, business intelligence and analytics, techniques which can learn and provide decision support is gradually gaining in importance in leaps and bound. The three major techniques or groups of algorithms which have gained a lot of visibility in recent times are fuzzy logic, neural networks and genetic algorithms.

A genetic algorithm (GA) is a search based, self learning algorithm (technique) that imitates the theory of natural evolution based on selective screening of results based on fitness of purpose. This self learning algorithm is routinely used to generate solutions to multi-criteria  decision making problems, optimization problems and search problems. Genetic algorithms have evolved from the more popular class of evolutionary algorithms (EA), which generate solutions to optimization problems using techniques mimicked from that of natural evolution like those of inheritance, selection, mutation  and crossover.

The structure of a generic technique developed based on the genetic algorithm would follow the mention sequence given in the diagram below:

First while coding using a genetic algorithm, the first activity is to code the data-sets in such a way so as to be equatable  for the fitness of purpose of the problem domain. Then typically, a random sample is chosen from the data set and the fitness of purpose of these data points are evaluated. Now for those points which have a higher fitness score, they are selected for further application of genetic algorithm optimization techniques like those of inheritance, selection, mutation  and crossover. The other data points are rejected and the algorithm continues to recreate data-points from this pool of selected data points using the techniques of inheritance, selection, mutation  and crossover.

Selection: During each successive iteration, a part of the existing population is selected to form a new generation sample pool. These data points are selected through a fitness-based purpose of usage in the problem domain, where fitter solutions (as measured by a fitness function) are  selected preferentially. Some selection algorithms rate the fitness of purpose of each solution and preferentially select the best solutions. Other methods often rate only a random sample of the population, as this process may be very time-consuming.

Reproduction using Cross-over and Mutation
The next step is to generate the next generation population of data points from those selected earlier (using selection), through the operator algorithms called crossover (also called recombination), and/or mutation.

Cross-over: During cross-over, a pair (or triplet) of data points are chosen from the refined selection and they are combined and data-exchange takes place based on the individual coding. After the data exchange occurs multiple times, the new data points created from this process is returned to the selection pool to be operated by the selection operator.

Mutation: The coded data point obtained after the operation of selection on the sample pool of data points, is modified by tweaking one parameter to test its fitness factor and this continues for the entirely set of selected data points. The newly created generation of data-points are then tested using the selection operator again and the entirely process is restarted.

Although Crossover and Mutation are known as the main operators of genetic algorithm, there are also other operators such as regrouping, colonization-extinction, or migration in genetic algorithms.

The application of these operators and re-selection of these new generation data-points continue till the optimal fitness of purpose is attained. Common terminating conditions are often due to a solution satisfying minimum criteria, fixed number of generations being reached, allocated resources (complexity of computation, computation time, money) reached, the highest ranking solution’s fitness level is reaching or a fitness plateau has been reached such that successive iterations no longer produce better results, manual inspection produces better results or even combinations of these.

Fuzzy Logic and Fuzzy Systems

A fuzzy system is basically a control system based on fuzzy logic, which is a mathematical system that analyzes input values in terms of logical variables that take on continuous values between 0 and 1 instead of belongingness or non-belongingness to any set, as in crisp set theory or classical or digital logic, which operates either in 1 or in 0  for a logic to be true or false respectively. Fuzzy systems have become extremely popular in recent times for their various business applications.

Fuzzy logic on the other hand is the mathematical theory based on set theory, from which fuzzy systems have been developed. Essentially, fuzzy logic is based on fuzzy set theory which proposes that logical variables can take on continuous values between 0 and 1 instead of crisp belongingness or non-belongingness to any set, as in crisp set theory  which operates either in 1 or in 0  for a logic to be true or false respectively.

Typically, a response in real life situation is not crisp, i.e. its not in black and white. Say one is asked to judge the performance of a technology application, typically the person (judge) will think that for every specification of feature there is a degree of acceptability in performance while in certain dimensions, the performance is not acceptable. This is precisely what fuzzy logic or fuzzy sets attempts to capture.  Here, every item of a set may belong to multiple sets by a degree of belongingness and not by absolution of belongingness or non-belongingness to any set.

Today, Fuzzy sets and systems have taken a major interest from both the academia and the industry for its numerous and unlimited applicability and the scope.  The first wave of application of these systems were primarily in process control and electronics, while slowly, these have made their impact felt in information systems development and deployment in business processes and activities. The largest applications are in the area of decision sciences in business intelligence and decision making, and is being thought of as one of the biggest change creating mathematical tool.

Applications of Fuzzy Set Theory and Fuzzy Logic

Fuzzy set theory provides a major newer paradigm in modeling and reasoning with uncertainty. Though there were several forerunners in science and philosophy, in particular in the areas of multivalued logic and vague concepts. Continue reading “Applications of Fuzzy Set Theory and Fuzzy Logic”

Marketing using Technology-The Sales and Marketing Productivity Systems

Over the past three decades, subtle changes have taken place in the theory and practice of marketing which has been reshaping companies. These changes have also been evident in marketing and management related information systems. The transaction based view and relationship based view of marketing is no more. Today, it is the era of information marketing or as popularly called database marketing. Continue reading “Marketing using Technology-The Sales and Marketing Productivity Systems”

Top 10 trends in Information Management technologies

Information management appears to be the talk of the day amongst all technology buzz. Information management or IM is the collection and management of information from one or more sources and the distribution of that information to one or more audiences. Management means the organization of and control over the structure, processing and delivery of information. Continue reading “Top 10 trends in Information Management technologies”