Unit-1
Computing
Computing refers to the process of using computer technology to perform various
tasks, including data processing, information storage and retrieval, mathematical
calculations, and problem-solving. It involves the use of hardware (such as
computers, servers, and mobile devices) and software (applications and
programs) to manipulate and manage data and perform specific tasks.
Y=f(X)
Here, Input is known as “antecedent”, Output is known as “consequent”, and ‘X’
is control action (It is known as control action as it can manipulate the output into
desired result).
Characteristics of Computing –
Following are the characteristics of computing –
The problem should have “Precise Solution”.
Control action should be “Unambiguous and Accurate”.
Mathematical model
Types of computing
Various types of computing are –
Hard Computing
Soft Computing
Hybrid Computing
Characteristics of hard computing:
The precise result is guaranteed.
The control action is unambiguous.
The control action is formally defined (i.e. with a mathematical model)
Characteristics of Soft computing:
It may not yield a precise solution.
Algorithms are adaptive.
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.
Learning from experimental data.
Advantages of Soft Computing:
Robustness: Soft computing techniques are robust and can handle
uncertainty, imprecision, and noise in data, making them ideal for solving
real-world problems.
Approximate solutions: Soft computing techniques can provide
approximate solutions to complex problems that are difficult or impossible
to solve exactly.
Non-linear problems: Soft computing techniques such as fuzzy logic and
neural networks can handle non-linear problems effectively.
Human-like reasoning: Soft computing techniques are designed to mimic
human-like reasoning, which is often more effective in solving complex
problems.
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:
Approximate solutions: Soft computing techniques provide approximate
solutions, which may not always be accurate.
Computationally intensive: Soft computing techniques can be
computationally intensive, making them unsuitable for use in some real-
time applications.
Lack of transparency: Soft computing techniques can sometimes lack
transparency, making it difficult to understand how the solution was
arrived at.
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.
Complexity: Soft computing techniques can be complex and difficult to
understand, making it difficult to implement them effectively.
Necessity and Adequacy for Soft Computing / Need for Soft
Computing
The following are some of the reasons why soft computing is needed:
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.
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.
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.
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.
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.
Soft computing vs hard computing
Hard computing uses existing mathematical algorithms to solve certain
problems. It provides a precise and exact solution of the problem. Any
numerical problem is an example of hard computing.
On the other hand, soft computing is a different approach than hard
computing. In soft computing, we compute solutions to the existing
complex problems. The result calculated or provided by soft computing
are also not precise. They are imprecise and fuzzy in nature.
Various dialects of Soft Computing-
The various dialects/types of soft computing Techniques are –
Fuzzy Logic and Fuzzy Sets
Artificial Neural Networks
Evolutionary Algorithms
Fuzzy logic
Fuzzy logic is nothing but mathematical logic which tries to solve
problems with an open and imprecise spectrum of data. It makes it easy to
obtain an array of precise conclusions.
Fuzzy logic is basically designed to achieve the best possible solution to
complex problems from all the available information and input data. Fuzzy
logics are considered as the best solution finders.
Fuzzy logic is logic which is not very precise.
Fuzzy sets extend the concept of classical crisp sets by allowing elements
to belong to a set to varying degrees, rather than just being either fully in
or fully out of the set.
Elements in a fuzzy set are characterized by membership degrees, which
represent the extent to which an element belongs to the set. Membership
degrees typically range between and 1.
Fuzzy sets are often represented graphically using membership functions,
which define how the membership degree varies across the universe of
discourse (the set's domain).
Applications of Fuzzy Logic and Fuzzy Sets in Soft Computing:
Fuzzy logic is widely used in control systems, particularly in
applications where precise mathematical models are hard to obtain or
where human expertise is crucial (e.g., automotive control, HVAC
systems, and industrial processes).
Fuzzy systems are used in decision support systems, expert systems,
and pattern recognition applications.
Fuzzy sets find applications in areas such as image processing, natural
language processing, and machine learning, where handling
uncertainty is essential.
Artificial Neural Networks
Neural networks were developed in the 1950s, which helped soft
computing to solve real-world problems, which a computer cannot do
itself. We all know that a human brain can easily describe real-world
conditions, but a computer cannot.
An artificial neural network (ANN) emulates a network of neurons that
makes a human brain (means a machine that can think like a human mind).
Thereby the computer or a machine can learn things so that they can take
decisions like the human brain.
Artificial Neural Networks (ANN) are mutually connected with brain cells
and created using regular computing programming. It is like as the human
neural system.
The basic elements of artificial Neural Network are: input nodes,
weights, activation function and output node. Inputs are associated with
synaptic weights. They are all summed and passed through an activation
function giving output y. In a way, output is summation of the signal
multiplied with synaptic weight over many input channels.
Applications of ANNs in soft computing techniques:
Pattern Recognition: ANNs are used extensively in pattern recognition
tasks such as image and speech recognition. They can be trained to
recognize patterns in data and make predictions or classifications based on
these patterns.
Neuro-Fuzzy Systems: Combining neural networks with fuzzy logic leads
to neuro-fuzzy systems, which can model complex systems that involve
both numeric and linguistic data. These systems are used in areas like
modelling and control.
Swarm Intelligence: ANNs can be used to model and simulate swarm
behaviour, such as that observed in ant colonies or bird flocks. This can be
applied to optimization problems, routing, and decentralized control
systems.
Anomaly Detection: ANNs can be used for anomaly detection in various
domains, such as cybersecurity (intrusion detection), industrial systems
(fault detection), and healthcare (disease detection).
Time Series Prediction: ANNs, especially recurrent neural networks
(RNNs) and Long Short-Term Memory (LSTM) networks, are widely
employed for time series forecasting and prediction tasks in finance,
weather forecasting, and more.
Financial Forecasting: ANNs are used for predicting financial market
trends, stock prices, and risk assessment in investment portfolios.
Evolutionary Algorithms
Genetic algorithm is almost based on nature and take all inspirations from
it. There is no genetic algorithm that is based on search-based algorithms,
which find its roots in natural selection and the concept of genetics.
These are mostly derivative free optimization algorithms that perform
random search in a systematic manner to optimize the solution to a hard
problem.
It is also known as “Genetic Algorithms”.
In addition, a genetic algorithm is a subset of a large branch of
computation.
Applications of genetic algorithms in soft computing:
Optimization Problems: GAs are widely used to solve optimization
problems where the goal is to find the best solution from a large set of
possible solutions. This includes parameter optimization in machine
learning algorithms, such as tuning hyperparameters for neural
networks or support vector machines.
Robotics and Control: GAs can be employed to evolve control
strategies for robots or autonomous systems. They can optimize control
parameters to improve the performance of these systems in various
tasks, such as path planning or trajectory optimization.
Feature Selection: In machine learning and data analysis, genetic
algorithms can assist in selecting the most relevant features from a
large feature set. This helps improve the performance of models by
reducing dimensionality and removing noise.
Game Playing: Genetic algorithms have been applied to evolve
strategies for playing games. They can be used to develop game-
playing agents or to optimize game-playing strategies in various
domains, including board games and video games.
Image and Signal Processing: GAs can be used for tasks like image
enhancement, denoising, and compression. They can also optimize
filter coefficients for signal processing applications.
Vehicle Routing: In logistics and transportation, GAs can optimize
vehicle routing problems, helping companies minimize transportation
costs and improve delivery efficiency.