soft computing
soft computing
The need for soft computing arises from the limitations of traditional, classical computing
methods in solving real-world problems. Soft computing is a branch of artificial intelligence
that provides approximate solutions to complex problems that are difficult or impossible to
solve using classical methods.
The following are some of the reasons why soft computing is needed:
1. Complexity of real-world problems: Many real-world problems are complex and
involve uncertainty, vagueness, and imprecision. Traditional computing methods are
not well-suited to handle these complexities.
2. Incomplete information: In many cases, there is a lack of complete and accurate
information available to solve a problem. Soft computing techniques can provide
approximate solutions even in the absence of complete information.
3. Noise and uncertainty: Real-world data is often noisy and uncertain, and classical
methods can produce incorrect results when dealing with such data. Soft computing
techniques are designed to handle uncertainty and imprecision.
4. Non-linear problems: Many real-world problems are non-linear, and classical methods
are not well-suited to solve them. Soft computing techniques such as fuzzy logic and
neural networks can handle non-linear problems effectively.
5. Human-like reasoning: Soft computing techniques are designed to mimic human-like
reasoning, which is often more effective in solving complex problems.
Overall, soft computing provides an effective and efficient way to solve complex real-world
problems that are difficult or impossible to solve using classical computing methods.
In this article, we will cover the need for soft computing and why it is important. So, to
understand the need for soft computing let us first understand the concept of computing.
Concept of computing :
According to the concept of computing, the input is called an antecedent and the output is
called the consequent. For example, Adding information in DataBase, Compute the sum of
two numbers using a C program, etc.
There are two types of computing as following :
1. Hard computing
2. soft computing
Characteristics of hard computing :
The precise result is guaranteed.
In soft computing, you can consider an example where you can see the evolution
changes for a specific species like the human nervous system and behavior of an
Ant’s, etc.
Many analytical models are valid for ideal cases. Real-world problems exist in a non-
ideal environment.
Soft computing provides insights into real-world problems and is just not limited to
theory.
Hard computing is best suited for solving mathematical problems which give some
precise answers.
Some important fields like Biology, Medicine and humanities, etc are still intractable
using Convention mathematical and Analytical models.
It is possible to map the human mind with the help of Soft computing but it is not
possible with Convention mathematical and Analytical models.
Examples –
Consider a problem where a string w1 is “abc” and string w2 is “abd”.
Problem-1 :
Tell that whether w1 is the same as w2 or not?
Solution –
The answer is simply No, it means there is an algorithm by which we can analyze it.
Problem-2 :
Tell how much these two strings are similar?
Solution –
The answer from conventional computing is either YES or NO. But these maybe 80% similar,
this can be answered only by Soft Computing.
1. In the field of Big Data, soft computing working for data analyzing models, data
behavior models, data decision, etc.
2. In case of Recommender system, soft computing plays an important role for analyzing
the problem on the based of algorithm and works for precise results.
3. In Behavior and decision science, soft computing used in this for analyzing the
behavior, and model of soft computing works accordingly.
4. In the fields of Mechanical Engineering, soft computing is a role model for computing
problems such that how a machine will works and how it will make the decision for a
specific problem or input given.
5. In this field of Computer Engineering, you can say it is core part of soft computing
and computing working on advanced level like Machine learning, Artificial
intelligence, etc.
Advantages of Soft Computing:
1. Robustness: Soft computing techniques are robust and can handle uncertainty,
imprecision, and noise in data, making them ideal for solving real-world problems.
2. Approximate solutions: Soft computing techniques can provide approximate solutions
to complex problems that are difficult or impossible to solve exactly.
3. Non-linear problems: Soft computing techniques such as fuzzy logic and neural
networks can handle non-linear problems effectively.
4. Human-like reasoning: Soft computing techniques are designed to mimic human-like
reasoning, which is often more effective in solving complex problems.
5. Real-time applications: Soft computing techniques can provide real-time solutions to
complex problems, making them ideal for use in real-time applications.
Disadvantages of Soft Computing:
1. Approximate solutions: Soft computing techniques provide approximate solutions,
which may not always be accurate.
2. Computationally intensive: Soft computing techniques can be computationally
intensive, making them unsuitable for use in some real-time applications.
3. Lack of transparency: Soft computing techniques can sometimes lack transparency,
making it difficult to understand how the solution was arrived at.
4. Difficulty in validation: The approximation techniques used in soft computing can
sometimes make it difficult to validate the results, leading to a lack of confidence in
the solution.
5. Complexity: Soft computing techniques can be complex and difficult to understand,
making it difficult to implement them effectively.
Example:
Learning Examples
1. Handwritten Digit Recognition
o Method: Neural Networks or Support Vector Machines (SVMs).
o Application: Recognizing handwritten digits from images (e.g., MNIST
dataset).
o Learning Type: Supervised learning.
2. Spam Email Detection
o Method: Naive Bayes or Logistic Regression.
o Application: Classifying emails as spam or not based on their content.
o Learning Type: Supervised learning.
3. Recommendation Systems
o Method: Collaborative filtering or matrix factorization.
o Application: Suggesting products (e.g., movies, books) to users based on their
preferences and behavior.
o Learning Type: Semi-supervised learning.
4. Autonomous Driving
o Method: Deep Reinforcement Learning.
o Application: Training self-driving cars to navigate roads by learning optimal
driving strategies.
o Learning Type: Reinforcement learning.
5. Language Translation
o Method: Recurrent Neural Networks (RNNs) or Transformer models (e.g.,
BERT, GPT).
o Application: Translating text from one language to another.
o Learning Type: Supervised learning (or unsupervised pretraining with
supervised fine-tuning).
7. Hybrid Systems
Purpose: Combine multiple soft computing tools to exploit their individual strengths.
Examples:
o Neuro-fuzzy systems (ANN + Fuzzy Logic).
o Genetic-fuzzy systems (GA + Fuzzy Logic).
Applications:
o Adaptive control systems.
o Complex decision-making.
BASICS
What is soft computing
Soft computing is the reverse of hard (conventional) computing. It refers to a
group of computational techniques that are based on artificial intelligence
(AI) and natural selection. It provides cost-effective solutions to the complex
real-life problems for which hard computing solution does not exist.
Zadeh coined the term of soft computing in 1992. The objective of soft
computing is to provide precise approximation and quick solutions for complex
real-life problems.
In simple terms, you can understand soft computing - an emerging approach that
gives the amazing ability of the human mind. It can map a human mind and the
human mind is a role model for soft computing.
Note: Basically, soft computing is different from traditional/conventional
computing and it deals with approximation models.
Some characteristics of Soft computing
o Soft computing provides an approximate but precise solution for real-life
problems.
o The algorithms of soft computing are adaptive, so the current process is
not affected by any kind of change in the environment.
o The concept of soft computing is based on learning from experimental
data. It means that soft computing does not require any mathematical
model to solve the problem.
o Soft computing helps users to solve real-world problems by providing
approximate results that conventional and analytical models cannot solve.
o It is based on Fuzzy logic, genetic algorithms, machine learning, ANN,
and expert systems.
Example
Soft computing deals with the approximation model. Yoi will understand with
the help of examples of how it deals with the approximation model.
Let's consider a problem that actually does not have any solution via traditional
computing, but soft computing gives the approximate solution.
string1 = "xyz" and string2 = "xyw"
1. Problem 1
2. Are string1 and string2 same?
3. Solution
4. No, the solution is simply No. It does not require any algorithm to analyz
e this.
Let's modify the problem a bit.
1. Problem 2
2. How much string1 and string2 are same?
3. Solution
4. Through conventional programming, either the answer is Yes or No. But t
hese strings might be 80% similar according to soft computing.
You have noticed that soft computing gave us the approximate solution.
Applications of soft computing
There are several applications of soft computing where it is used. Some of them
are listed below:
Advertisement
o It is widely used in gaming products like Poker and Checker.
o In kitchen appliances, such as Microwave and Rice cooker.
o In most used home appliances - Washing Machine, Heater,
Refrigerator, and AC as well.
o Apart from all these usages, it is also used in Robotics work (Emotional
per Robot form).
o Image processing and Data compression are also popular applications
of soft computing.
o Used for handwriting recognition.
As we already said that, soft computing provides the solution to real-time
problems and here you can see that. Besides these applications, there are many
other applications of soft computing.
Need of soft computing
Sometimes, conventional computing or analytical models does not provide a
solution to some real-world problems. In that case, we require other technique
like soft computing to obtain an approximate solution.
o Hard computing is used for solving mathematical problems that need a
precise answer. It fails to provide solutions for some real-life problems.
Thereby for real-life problems whose precise solution does not exist, soft
computing helps.
o When conventional mathematical and analytical models fail, soft
computing helps, e.g., You can map even the human mind using soft
computing.
o Analytical models can be used for solving mathematical problems and
valid for ideal cases. But the real-world problems do not have an ideal
case; these exist in a non-ideal environment.
o Soft computing is not only limited to theory; it also gives insights into
real-life problems.
o Like all the above reasons, Soft computing helps to map the human mind,
which cannot be possible with conventional mathematical and analytical
models.
Elements of soft computing
Soft computing is viewed as a foundation component for an emerging field of
conceptual intelligence. Fuzzy Logic (FL), Machine Learning (ML), Neural
Network (NN), Probabilistic Reasoning (PR), and Evolutionary Computation
(EC) are the supplements of soft computing. Also, these are techniques used by
soft computing to resolve any complex problem.
1. Fuzzy Logic
Key Mathematics:
Fuzzy Sets:
o A fuzzy set AAA is defined as A={(x,μA(x))∣x∈X}A = \{ (x, \mu_A(x)) \mid
x \in X \}A={(x,μA(x))∣x∈X}, where μA(x)∈[0,1]\mu_A(x) \in [0, 1]μA
(x)∈[0,1] is the membership function representing the degree of membership
of xxx in AAA.
Operations on Fuzzy Sets:
o Union: μA∪B(x)=max(μA(x),μB(x))\mu_{A \cup B}(x) = \max(\mu_A(x), \
mu_B(x))μA∪B(x)=max(μA(x),μB(x)).
o Intersection: μA∩B(x)=min(μA(x),μB(x))\mu_{A \cap B}(x) = \min(\
mu_A(x), \mu_B(x))μA∩B(x)=min(μA(x),μB(x)).
o Complement: μ¬A(x)=1−μA(x)\mu_{\neg A}(x) = 1 - \mu_A(x)μ¬A
(x)=1−μA(x).
Fuzzy Inference:
o Uses fuzzy rules (e.g., "If xxx is A, then yyy is B") and reasoning mechanisms
to map inputs to outputs.
Example:
Fuzzy rule: "If temperature is high, then fan speed is fast."
Membership function of "high temperature" μhigh(temp)=temp−2030−20\mu_{high}
(temp) = \frac{temp - 20}{30 - 20}μhigh(temp)=30−20temp−20, for 20≤temp≤3020 \
leq temp \leq 3020≤temp≤30.
4. Probabilistic Reasoning
Key Mathematics:
Bayes' Theorem:
o P(A∣B)=P(B∣A)P(A)P(B)P(A \mid B) = \frac{P(B \mid A) P(A)}
{P(B)}P(A∣B)=P(B)P(B∣A)P(A), where:
P(A∣B)P(A \mid B)P(A∣B): Posterior probability.
P(B∣A)P(B \mid A)P(B∣A): Likelihood.
P(A)P(A)P(A): Prior probability.
P(B)P(B)P(B): Evidence.
Markov Models:
∣St).
o Transition probabilities between states P(St+1∣St)P(S_{t+1} \mid S_t)P(St+1
5. Rough Sets
Key Mathematics:
Approximation:
o Lower Approximation L(A)={x∈U∣[x]⊆A}L(A) = \{ x \in U \mid [x] \
subseteq A \}L(A)={x∈U∣[x]⊆A}.
6. Hybrid Systems
Mathematics in hybrid systems combines the above tools. For example:
Neuro-Fuzzy Systems:
o Neural networks optimize fuzzy rule parameters using gradient descent.
o Example: Tuning membership functions for fuzzy inference.
Genetic-Fuzzy Systems:
o Genetic algorithms evolve fuzzy rules or membership functions.
Statistical Approaches:
1. Parametric Models:
o Assume a specific functional form for the relationship between yyy and x\
mathbf{x}x.
Examples: Linear regression, Generalized Linear Models (GLMs).
2. Non-Parametric Models:
o Make minimal assumptions about the functional form.
Examples: Kernel regression, splines.
3. Bayesian Regression:
o Incorporates prior distributions over model parameters.
o Predictive distribution is updated using Bayes' theorem.
4. Quantile Regression:
o Models conditional quantiles of the response variable instead of the mean.
o Useful for understanding variability in data.
2. Classification
Goal:
Predict a discrete label yyy from input features x\mathbf{x}x.
Learning Approaches:
1. Logistic Regression:
o Model: Estimates probabilities using the sigmoid function:
P(y=1∣x)=11+e−(w⊤x+b)P(y=1 \mid \mathbf{x}) = \frac{1}{1 + e^{-
(\mathbf{w}^\top \mathbf{x} + b)}}P(y=1∣x)=1+e−(w⊤x+b)1.
o Loss Function: Cross-entropy loss.
o Applications: Binary and multi-class classification (using softmax).
2. Decision Trees:
o Recursive partitioning of the feature space into regions.
o Criteria: Gini index, entropy, or misclassification rate.
o Applications: Medical diagnosis, credit risk assessment.
3. Support Vector Machines (SVM):
o Finds a hyperplane that maximizes the margin between classes.
o Can use kernels for non-linear classification.
4. k-Nearest Neighbors (k-NN):
o Predicts the label based on the majority vote of kkk-nearest training points.
o Non-parametric, instance-based learning.
5. Neural Networks for Classification:
o Multi-layer networks trained with cross-entropy loss.
o Output layer uses a softmax activation for multi-class classification.
6. Ensemble Methods:
o Boosting (e.g., AdaBoost, Gradient Boosting).
o Bagging (e.g., Random Forests).
Statistical Approaches:
1. Bayesian Classification:
o Uses Bayes’ theorem to calculate the posterior probability of classes:
P(y∣x)=P(x∣y)P(y)P(x)P(y \mid \mathbf{x}) = \frac{P(\mathbf{x} \mid
y) P(y)}{P(\mathbf{x})}P(y∣x)=P(x)P(x∣y)P(y).
o Example: Naive Bayes classifier.
2. Discriminant Analysis:
o Linear Discriminant Analysis (LDA): Assumes Gaussian distributions for
classes.
o Quadratic Discriminant Analysis (QDA): Allows different covariance
matrices for each class.
3. Kernel Density Estimation (KDE):
o Estimates probability densities for each class and uses Bayes’ rule for
classification.
4. Hierarchical Bayesian Models:
o Extend Bayesian classification by adding hierarchical structures to priors.
Comparison of Approaches
Aspect Learning Approaches Statistical Approaches
Assumptions Data-driven, fewer assumptions. Relies on probabilistic models.
May struggle with highly non-linear
Flexibility Flexible, can handle complex patterns.
data.
Varies (e.g., decision trees are Often interpretable (e.g., logistic
Interpretability
interpretable). regression).
Sensitive to overfitting (requires Sensitive to distributional
Robustness
regularization). assumptions.
Aspect Learning Approaches Statistical Approaches
Suited for smaller datasets with clear
Applications Scalable to large datasets.
structure.
Single-Layer Networks: Perceptron, adaptive linear neuron
(Adaline), and the LMS algorithm.
1. Perceptron
Concept:
Introduced by Frank Rosenblatt in 1958, the perceptron is a binary classifier.
It determines the linear separability of two classes by finding a decision boundary (a
hyperplane).
Mathematics:
Model:
y=sign(w⊤x+b)y = \text{sign}(\mathbf{w}^\top \mathbf{x} + b)y=sign(w⊤x+b), where:
o w\mathbf{w}w: Weight vector.
o x\mathbf{x}x: Input vector.
o bbb: Bias term.
o sign\text{sign}sign: Activation function that outputs +1+1+1 or −1-1−1.
Learning Rule (Perceptron Algorithm):
o Update weights when there is a misclassification:
w←w+η(ytrue−ypred)x\mathbf{w} \leftarrow \mathbf{w} + \eta (y_{\text{true}} -
y_{\text{pred}}) \mathbf{x}w←w+η(ytrue−ypred)x,
b←b+η(ytrue−ypred)b \leftarrow b + \eta (y_{\text{true}} - y_{\
text{pred}})b←b+η(ytrue−ypred),
where η\etaη is the learning rate.
Key Characteristics:
Works only for linearly separable data.
Converges to a solution in a finite number of steps if the data is linearly separable (Perceptron
Convergence Theorem).
Limitations:
Fails to classify non-linearly separable data (e.g., XOR problem).