Soft computing refers to a group of computational techniques that are based on artificial intelligence (AI) and natural selection. They are often used to develop cost-effective solutions for complex real-world problems that are either difficult or impossible to be solved by conventional computing techniques.

 

Soft computing differs from conventional computing as it deals with approximation models.

The term ‘soft computing’ was first coined in 1992 by Zadeh to provide precise approximation and quick solutions for complex real-life problems. For example, a soft computing system can be used for character recognition as shown in Fig. 10.29.

images

FIGURE 10.29 Soft Computing

Soft computing is an emerging domain that can map a human mind. In fact, the human mind is a role model for soft computing.

 

Computation is a process of converting input of one form to another form using certain control actions. The input is called an antecedent and the output is called the consequent.

10.3.1 Characteristics of Soft Computing

Soft computing provides an approximate but precise solution for real-world complex problems that cannot be solved by conventional computing techniques.

Soft computing algorithms are not affected by changes in the environment. This makes these algorithms adaptive for the current process.

Soft computing algorithms do not require any mathematical model to solve the problem as it learns from experimental data.

Solutions given by soft computing are uncertain since we get different solutions on solving the same problem using the same set of input data at different intervals of time. Refer Fig. 10.30 to understand how soft computing differs from hard computing

images

FIGURE 10.30 Computational paradigms and Soft Computing

It is based on Fuzzy logic, genetic algorithms, machine learning, ANN and expert systems. Table 10.4 draws comparison between hard and soft computing.

  • Soft-computing algorithms are robust as they can work well even in the presence of noise in the input data.
  • Soft computing provides low-cost solutions for problems which could be computationally very expensive if solved using hard computing.

10.3.2 Need for Soft Computing

  1. Hard computing or conventional techniques are usually good for solving mathematical problems that need a precise answer. But when the task is to solve a complex real-world problem where either approximate solution works better or there exist no precise solution, then soft computing is the only possibility.
  2. For applications that need to map human mind, soft computing is the only viable technique. For better understanding of the concept, refer Table 10.4 and Table 10.5 that makes a comparison between Soft Computing and Hard Computing and between Soft Computing and AI respectively.

 

TABLE 10.4 Soft computing vs hard computingimages

 

TABLE 10.5 Differences between AI and Soft Computingimages

Example: Let us consider a problem that cannot be solved by traditional computing, but soft computing gives an approximate solution. If you ask, ‘is the tea is hot or cold?’ Traditional computing techniques may give an answer to this question but when asked, ‘how much hot?’, they will not be able to tell. Soft computing rescues this situation by saying, ‘moderately hot’.

Advantages

  1. Applies simple mathematical calculations
  2. Gives efficient solutions
  3. Can be applied to solve problems in real-time
  4. Based on human reasoning

Disadvantages

  1. Instead of precise, it gives approximate results.
  2. Even a small error may halt the entire system. In such a case, the system must be corrected from the beginning. And this may take more time to process input data to give the output.

10.3.3 Applications of Soft Computing

  1. Soft computing can be used to control motors automatically like the induction motor.
  2. Intelligent control systems to control power plants can be designed using soft computing.
  3. Soft computing takes an image, music or video as input to get an exact duplicate of the original image, music or video.
  4. In biomedical field, soft computing techniques (refer Fig. 10.31) are used for diagnosis, monitoring, treatment and therapy.
  5. To perform a task, smart devices automatically communicate with other devices using different communication protocols. There is no proper standard protocol to communicate and this often creates problem. Soft computing techniques are used in such a situation to facilitate communication between smart devices with high privacy and robustness.

In fact, there are many more applications where soft computing is widely used.

images

FIGURE 10.31 Soft Computing Techniques

10.3.4 Elements of Soft Computing

Soft computing lays the foundation for an emerging field of conceptual intelligence. Technologies like fuzzy logic (FL), machine learning (ML), neural network (NN), probabilistic reasoning (PR) and evolutionary computation (EC) are the supplements of soft computing and are used to resolve any complex problem.

Fuzzy Logic

As discussed, fuzzy logic applies mathematical concepts to solve problems with an open and imprecise spectrum of data to get an array of precise conclusions.

Fuzzy logic achieves the best possible solution to complex problems using the available information on the input data. Fuzzy logic is considered the best solution finder.

images

FIGURE 10.32 Fuzzy Logic for movement of a Robot

Example: Fuzzy logic is used to control the movement of a robot (refer Fig. 10.32) from one place to another within a short time where there are many obstacles on the way. To calculate its movement to reach the destination without colliding to any obstacle, fuzzy solutions may give better results than precise solutions.

Probabilistic Reasoning

The technique applies the concept of probability to determine the uncertainty of a given event. The probability of an event is calculated using the below formula:

images

Probabilistic reasoning is mainly used in the following scenarios:

  1. When conducting an experiment, we get an unknown error.
  2. When we are not sure about uncertain outcomes.
  3. When number of predicates are too large to handle.

Neural Network (ANN)

Neural networks, developed in the 1950s, facilitate users to solve real-world problems, which a traditional program can never solve. They work in the same way as the human brain, by emulating a network of neurons that makes a human brain. ANN enables a machine to mimic the human brain so that it can think and take an effective decision. The output obtained is mathematically justifiable on the current input data based on past information stored.

A neural network is made of several interconnected layers. Each layer has one or more nodes for processing inputs received. A layer accepts the output of the previous layer as its input, processes it to give the output to the layer succeeding it. This is known as forward propagation.

After giving the final output, backward propagation starts. In this phase, the result obtained from neural network is compared with the actual output. If an error is identified (due to forward propagation), then the task is to propagate backwards in the network to minimize the value/weight of that neuron(s) that are responsible for the error.

Soft computing usually uses deep neural networks. A deep neural network has a greater number of hidden layers as compared to a simple ANN. While a traditional neural network has two to three hidden layers, a deep neural network, on the other hand, has as many as 150 layers.

Genetic Algorithms (GA)

Genetic algorithm finds solutions by deriving concepts from natural selection and survival of the fittest which are very important concepts in genetics.

Genetic algorithms that come under the category of evolutionary algorithms were introduced by Prof. John Holland in 1965. They mainly solve optimization problems like maximization and minimization of objective functions.

Genetic algorithms are based on heuristic or randomized search that provides an initial set of solutions and then generates a solution to the NP-hard problems efficiently and effectively in real time. This means that complex problems which cannot be solved mathematically can be easily solved by using genetic algorithm.

Example: A person wants to invest some money in the bank. There are numerous banks where he can invest in different schemes and policies (refer Fig. 10.33). The decision regarding bank and policy for investment must be taken to maximize profits. In such a scenario, application of evolution computing using genetic algorithms gives the best results.

images

FIGURE 10.33 Genetic Algorithm for Selecting Bank and its Policies

When applying genetic algorithm, remember that the initial population contains several solutions to a concerning problem. Let us quickly enumerate the steps performed to solve a problem using genetic algorithm.

Step 1: The algorithm calculates the fitness of each individual solution and provides them with the fitness score. Higher the fitness score, higher is the probability of a solution being selected for the reproduction process.

Step 2: The algorithm selects the solution with the highest fitness score.

Step 3: Perform crossover on the selected individual from the population to get an offspring.

Step 4: Add this offspring to the initial population.

Step 5: To maintain population diversity, mutation phase inserts random genes into the offspring.

The algorithm will stop producing the offsprings when they are different than the previous generation.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *