Soft computing is a kind of computing technology that we use to develop intelligent machines. These machines have human-like problem-solving capabilities. Later they offer imprecise, but useful solutions for problems that are complex and even computational.
The technologies used in soft computing to address such complex problems include fuzzy logic, neural network, genetic algorithms and support vector machines. Each of these techniques contributes in a unique way while addressing the problem. Soft computing conducts the entire process in a cooperative way.
These techniques are complementary to each other instead of being competitive while solving the problem. So they offer their own advantages in partnership to allow solutions for the problems that are otherwise unsolvable.
In our previous content, we discussed the techniques of genetic algorithms and neural networks in detail. Let’s explore more about soft computing.
Content: Soft Computing
What is Soft Computing?
Soft computing is an association of methods that works collaboratively for providing flexible information processing capability for handling real-life ambiguous situations. The computing exploits the tolerance of:
- Approximate reasoning
- Partial truth
The above elements help the computing technique in order to achieve:
- Low-cost solutions
The main concept of soft computing is to devise a method of computation that will provide an acceptable solution at a low cost for an imprecisely or precisely formulated problem. Soft computation is the fusion of fields such as:
- Fuzzy logic
- Neuro computing
- Genetic computing
- Probabilistic computing
The two major advantages of soft computing are:
- Firstly, it enables us to solve non-linear problems even if there is no mathematical model available.
- Secondly, it enacts the human mind and introduces features such as cognition, recognition, understanding, learning and others.
Soft Computing Techniques
The core of soft computing techniques are of four types:
- Neural Networks
- Support Vector Machines
- Fuzzy Logic
- Genetic Algorithm
- Neural Networks
The neural network is a network trained to perform complex tasks. Initially, the network consists of the number of processing elements that we refer to as neurons. The neurons in the network either accept input from the outer world or from the output of the other neurons in the network.
Further, the output from all the neurons propagates through the network and reaches the final layer where the result is output to the real world. The processing of the network depends on the weight of the interconnections connecting the neurons in the network.
The functioning of the network depends on:
- The number of neurons present in the network.
- Also, on the topology of the interconnectivity of the neurons in the network.
- The network assigns weights to connections between the neurons.
Support Vector Machines
A support vector machine is supervised learning used for classification and regression problems. However, the aim of SVM is to generate a decision boundary, we also refer to it as hyperplane.
The task of the hyperplane is to separate n-dimensional space into classes. This allows us to easily identify in which class we can put new data points. However, SVM has two supporting vectors that help in creating the hyperplane, we refer to them as support vectors.
The figure below shows you a hyperplane and two support vectors that separates two classes of circles and square.
The fuzzy logic is a mathematical logic implemented in the case where the value is not clear or that is vague. It simply deals with uncertain and imprecise data. The logic tries to resolve the problem in a human way. Just like the human’s reason with real-world knowledge in case of uncertainty.
Uncertainty arises in the case of vagueness, ambiguity, or if there is a piece of incomplete knowledge. Usually, in our day-to-day life, we come across situations where we are unable to determine the state of the solution whether it is true or false.
In such cases, we can implement fuzzy logic that will reason in a human way and consider all the possible values between true and false.
A genetic algorithm is a classification technique developed on the basis of Darwin’s theory of natural evolution. According to theory, the fittest individual survives. Similarly, the genetic algorithm identifies the best optimal solution among the population of several solutions.
The figure below explains the working of a genetic algorithm in the best possible way.
- The initial population is a collection of several solutions to a concerning problem. As we are aware that to one problem there can be several possible solutions. Thus, the initial population holds several solutions.
- Next, the algorithm calculates the fitness of each individual solution and provides them with the fitness score. The fitness score shows the probability of a solution being selected for the reproduction process.
- The algorithm selects the solution with the highest fitness score.
- Crossover is performed on the selected individual from the population. The offspring generated from the crossover is added to the initial population.
- The mutation phase then inserts the random genes into the off springs in order to maintain the population diversity.
- The algorithm will stop producing the off springs when the produced off springs are different previous generation.
Application of Soft Computing
Although we can implement the concept of soft computing in many applications, we will discuss a few of them below:
- Handwriting recognition
- Automotive systems and manufacturing
- Decision support system
- Power systems
- Neuro-fuzzy systems
- Fuzzy logic control
So, soft computing is implemented in applications that require human-like thinking such as games like poker and chess etc.
So, this is all about soft computing, it plays an important role in developing intelligent machines using the field of science and engineering. Soft computing reflects the fact that, unlike modern computers, the human brain has a remarkable ability to store and process information that is not clear, imprecise, uncertain and even can’t be categorised.