0% found this document useful (0 votes)
29 views33 pages

SC Unit 1

The document provides an overview of soft computing, highlighting its evolution, methods, and applications in various fields such as image processing, medical diagnosis, and robotics. It contrasts soft computing with hard computing, emphasizing its ability to handle uncertainty, imprecision, and complex real-world problems through techniques like fuzzy logic and neural networks. Recent trends in soft computing include hybrid approaches, deep learning integration, and applications in areas like healthcare, finance, and cybersecurity.

Uploaded by

msaicse2105g3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views33 pages

SC Unit 1

The document provides an overview of soft computing, highlighting its evolution, methods, and applications in various fields such as image processing, medical diagnosis, and robotics. It contrasts soft computing with hard computing, emphasizing its ability to handle uncertainty, imprecision, and complex real-world problems through techniques like fuzzy logic and neural networks. Recent trends in soft computing include hybrid approaches, deep learning integration, and applications in areas like healthcare, finance, and cybersecurity.

Uploaded by

msaicse2105g3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

UNIT-I

Introduction to Soft Computing: Evolutionary Computing, "Soft" computing


versus "Hard" computing, Soft Computing Methods, Recent Trends in Soft
Computing, Characteristics of Soft computing, Applications of Soft Computing
Techniques. Pattern Recognition, Fuzzy Pattern Recognition, Image
Processing, Fuzzy Image Processing, Image Processing Through Clustering,
Application of Soft Computing in Real Estate, Soft Computing in Mobile Ad
hoc Network, Biogeography-Based Optimization, Soft Computing in
Information Retrieval and Semantic Web, Soft Computing in Software
Engineering

Introduction to 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.

Or

Soft computing is a computing method that uses approximate solutions to solve


complex problems. It's based on techniques like fuzzy logic, genetic algorithms, and
neural networks.
Note: Basically, soft computing is different from traditional/conventional computing and it
deals with approximation models.

Need for 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.
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
How it works
 Soft computing is tolerant of uncertainty, imprecision, and partial truths.
 It's based on biological inspirations like genetics, evolution, and human nervous
systems.
 Soft computing is used when finding an exact solution isn't as important as finding a
quick approximate solution.

Soft computing is used in many fields, including:

o Machine vision: Soft computing is effective in machine vision tasks.


o Medical diagnosis: Soft computing is used in medical diagnosis.
o Pattern recognition: Soft computing is used in pattern recognition.
o Weather forecasting: Soft computing is used in weather forecasting.
o Network optimization: Soft computing is used in network optimization.
o Robotics: Soft computing is used in robotics.
o Image processing: Soft computing is used in image processing.
o Data compression: Soft computing is used in data compression.

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.

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.

 The control action is unambiguous.

 The control action is formally defined (i.e. with a mathematical model)


 Now, the question arises that if we have hard computing then why do we require the
need for soft computing.

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 behaviour of an
Ant’s, etc.

 Learning from experimental data.


Hard computing vs. Soft Computing:

Evolutionary computing:

Evolutionary computing is a subfield of soft computing that uses algorithms to solve


complex problems by mimicking natural evolution. It's a popular technique in
computer science because it can produce highly optimized solutions.

Classification of Evolution Algorithms:


How it works
 Initial solutions: Create a set of possible solutions
 Evaluate solutions: Test the solutions and evaluate their properties
 Select solutions: Choose the best solutions based on the evaluation results
 Update solutions: Introduce small random changes and remove less desirable
solutions
 Repeat: Repeat the process until the requirements are met What it's used for
 Optimization: Solve complex optimization problems that have too many variables for
traditional algorithms
 Soft sensor design: Create soft sensors with superior performance
 Evolutionary biology: Study common aspects of general evolutionary processes.

Examples of evolutionary algorithms


 Genetic algorithms
 Evolutionary programming
 Genetic programming
 Particle swarm optimization
 Ant colony optimization
 Artificial immune systems
 Differential evolution
 Memetic algorithms
Soft Computing Methods:
1. Artificial Neural network
2. Fuzzy sets and fuzzy logic
2.1 Fuzzy sets
2.2 Fuzzy logic
3. Intutionitic fuzzy sets
4. Rough set theory

Artificail Neural Network(ANN)


Artificial Neural Networks contain artificial neurons which are called units .
These units are arranged in a series of layers that together constitute the whole
Artificial Neural Network in a system. A layer can have only a dozen units or
millions of units as this depends on how the complex neural networks will be
required to learn the hidden patterns in the dataset. Commonly, Artificial Neural
Network has an input layer, an output layer as well as hidden layers. The input layer
receives data from the outside world which the neural network needs to analyze or
learn about. Then this data passes through one or multiple hidden layers that
transform the input into data that is valuable for the output layer. Finally, the output
layer provides an output in the form of a response of the Artificial Neural Networks
to input data provided.

The structures and operations of human neurons serve as the basis for artificial
neural networks. It is also known as neural networks or neural nets. The input layer of
an artificial neural network is the first layer, and it receives input from external
sources and releases it to the hidden layer, which is the second layer. In the hidden
layer, each neuron receives input from the previous layer neurons, computes the
weighted sum, and sends it to the neurons in the next layer. These connections are
weighted means effects of the inputs from the previous layer are optimized more or
less by assigning different-different weights to each input and it is adjusted during the
training process by optimizing these weights for improved model performance.

Fuzzy Sets:
What is Fuzzy?
The term fuzzy refers to things that are not clear or are vague. In the real world
many times we encounter a situation when we can’t determine whether the state is
true or false, their fuzzy logic provides very valuable flexibility for reasoning. In this
way, we can consider the inaccuracies and uncertainties of any situation.
Fuzzy Logic:
Fuzzy Logic is a form of many-valued logic in which the truth values of
variables may be any real number between 0 and 1, instead of just the traditional
values of true or false. It is used to deal with imprecise or uncertain information and
is a mathematical method for representing vagueness and uncertainty in decision-
making.

Fuzzy Logic is based on the idea that in many cases, the concept of true or
false is too restrictive, and that there are many shades of gray in between. It allows
for partial truths, where a statement can be partially true or false, rather than fully true
or false.

Fuzzy Logic is used in a wide range of applications, such as control systems,


image processing, natural language processing, medical diagnosis, and artificial
intelligence.
The fundamental concept of Fuzzy Logic is the membership function, which
defines the degree of membership of an input value to a certain set or category. The
membership function is a mapping from an input value to a membership degree
between 0 and 1, where 0 represents non-membership and 1 represents full
membership.

Fuzzy Logic is implemented using Fuzzy Rules, which are if-then statements
that express the relationship between input variables and output variables in a fuzzy
way. The output of a Fuzzy Logic system is a fuzzy set, which is a set of membership
degrees for each possible output value.

3. Intuitionistic fuzzy sets:


4. Rough Set theory:

Rough Set Theory (RST) is a mathematical approach used to deal with


incompleteness in data analysis. It was introduced by Zdzisław Pawlak in the early
1980s. Unlike classical set theory which requires precise information to classify
objects it allows the approximation of sets when exact information is not available.
Why do we need Rough Set Theory

Rough Set Theory is essential for several reasons:


Handling Uncertainty: In many real-world scenarios data is often incomplete or noisy.
It provides a structured way to analyze such data without need of any additional
parameters.
Data Reduction: By identifying redundant attributes and simplifying datasets it makes
data analysis more efficient and manageable.
Rule Generation: The ability to derive decision rules from data allows organizations to
make informed decisions based on patterns identified within their datasets.
Complementary Approach: It handles uncertainty by creating clear boundaries through
approximations instead of using partial memberships like fuzzy logic.

Key Concepts
In Rough Set Theory we use 3 main concepts. Let’s understand them one by one:
1. Indiscernibility Relation: It states that if two objects cannot be distinguished from
one another based on available attributes then they are considered equivalent. For
example if two animals have the same height and weight we cannot differentiate
between them using just those attributes.
2. Boundary Region: This is the area where the lower and upper approximations differ
represents uncertainty about whether certain elements belong to the target set.
Understanding this region helps in identifying ambiguous cases within the data.
5. Reducts: It is a minimal subset of attributes that can still represent the original set
without losing significant information. Finding reducts helps simplify data analysis
by reducing complexity while retaining essential features.
Recent trends in soft computing:
Recent trends in soft computing focus heavily on hybrid approaches combining
different soft computing techniques like fuzzy logic, neural networks, and evolutionary
algorithms to tackle complex real-world problems, particularly in areas like big data
analysis, decision making, image processing, and advanced control systems, with
emphasis on interpretability, explainability, and handling uncertainty in data; further
key trends include:
Deep learning integration:
Incorporating deep neural networks within soft computing frameworks to enhance
learning capabilities and handle large datasets.
Swarm intelligence optimization:
Utilizing swarm intelligence algorithms like particle swarm optimization and ant
colony optimization for complex optimization problems.
Probabilistic reasoning:
Integrating probabilistic methods with fuzzy logic to manage uncertainty and provide
more robust solutions.
Specific application areas seeing significant advancements in soft computing include:
Healthcare:
Diagnosis support systems, personalized medicine, medical image analysis using
fuzzy logic and neural networks.
Robotics:
Motion control, path planning, obstacle avoidance using hybrid soft computing
approaches for intelligent robots.
Finance:
Risk assessment, portfolio optimization, fraud detection leveraging soft computing
techniques for complex financial data analysis.
Cyber security:
Intrusion detection, anomaly detection, threat analysis by applying soft computing
methods to network data.
Internet of Things (IoT):
Data analysis, decision making, and predictive maintenance in IoT systems using soft
computing algorithms.
Addressing complex problems:
Soft computing is increasingly used to tackle problems with inherent uncertainty,
vagueness, and incomplete information, which traditional computational methods
struggle with.
Explainable AI (XAI):
Research is focusing on developing interpretable soft computing models to
understand the reasoning behind decisions made by the system.
Hardware acceleration:
Integrating soft computing algorithms with specialized hardware to improve
computational efficiency for real-time applications.

Characteristics of Soft Computing:


 Soft computing provides an approximate but precise solution for real-life
problems.
 The algorithms of soft computing are adaptive, so the current process is not
affected by any kind of change in the environment.
 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.
 Soft computing helps users to solve real-world problems by providing
approximate results that conventional and analytical models cannot solve.
 It is based on Fuzzy logic, genetic algorithms, machine learning, ANN, and
expert systems.

Applications of soft computing Techniques


There are several applications of soft computing where it is used. Some of them are listed
below:

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.

Pattern Recognition:

Pattern recognition is a scientific discipline whose aim is the classification of the


objects into a lot of categories or classes. Pattern recognition is also an untegral part
in most machine intelligence system built for decision making.
Example: The colors on the clothes, speech pattern, etc. In computer science, a
pattern is represented using vector feature values.

Fig: A Pattern Recognition system

Fuzzy Pattern Recognition:


"Fuzzy pattern recognition" in soft computing refers to a technique that uses fuzzy
logic to analyze data and identify patterns, where data points can belong to multiple
classes with varying degrees of membership, allowing for a more nuanced approach to
classification compared to traditional crisp classifications, particularly when dealing
with uncertainty or ambiguity in the data.
Key points about fuzzy pattern recognition:
 Fuzzy sets:
Unlike traditional sets with clear boundaries, fuzzy sets allow elements to have a
"degree of membership" within a set, represented by a value between 0 and 1, which
is crucial for handling vague or overlapping data in pattern recognition.
 Membership functions:
Fuzzy logic defines membership functions that map data points to their degree of
belonging to a particular fuzzy set, enabling the system to handle partial memberships
in different classes.
 Advantages:
 Handling uncertainty: Fuzzy pattern recognition can effectively handle situations where
the boundaries between classes are not clearly defined or where data might exhibit
ambiguity.
 Improved robustness: By allowing partial memberships, the system is less sensitive to
noise or slight variations in data, making it more robust.
 Interpretability: Fuzzy logic often provides more interpretable results than other
complex classification methods, as it explains the degree of membership to different
classes.
Applications of fuzzy pattern recognition:
 Image recognition:
Identifying objects in images where boundaries might be unclear or where partial
occlusion exists.
 Medical diagnosis:
Classifying medical conditions based on patient data where symptoms may overlap
between different diseases.
 Signal processing:
Analyzing signals with noise or variations where precise classification is difficult.
 Financial forecasting:
Predicting market trends based on complex economic indicators.
How it works:
1. Feature extraction:
Relevant features are extracted from the data, similar to traditional pattern
recognition.
2. Fuzzification:
Each feature is mapped to a fuzzy set using membership functions, assigning a degree
of membership to each class.
3. Fuzzy inference:
The fuzzy logic engine performs computations based on the fuzzy membership values
to determine the overall classification of the data.
4. Defuzzification:
The fuzzy output is converted back to a crisp value, providing a final classification.

2. Image Processing:
There are basically 2 classes of methods for image processing: frequency domain
methods and spatial domain methods.
In frequency domain methods, the image is processed in terms of its Fourier
transform. In spatial domain methods, the processing directly involves the pixels of
matrix R.
A digital image processing system has the following components: a sensor unit, a
specialized image processing unit, a digital computer, some storage devices, and
output devices.

The natural images are captured in an image sensor device. Depending upon the
mechanism of the capturing device, the image any be analog or digital. Devices such
as normal camera capture the image on a chemical photographic plate. This is called
the negative of the image, which is further processed to get the actual image. This
image is analog by nature.
For further processing of the image, it must be converted into a digital or discrete
from. The digitizer unit takes care of this phase. The processing of converting an
analog image into a digital one involves 2 phases of processing called sampling and
quantization.
The processing of finding intensity values at selected points of the image is called
sampling and the resulting intensity values are fitted with in a limited number of
intensity values. This process is called quantization.
The image processor is general purpose computer ranging from a PC to a super
computing device. In some applications, specialized computers are used. The
processor also equipped with software for image processing. Mass storage capability
is another requirement for processing unit. As each image has the size of 1024 X
1024 pixels and at each pixel intensity is an 8-bit quantity, it requires megabytes of
the memory for storage space.
The generated output images must be stored for display or making hardcopies.
Hardcopy devices may be laser printers, film cameras, inkjet printers etc.
5. Fuzzy image processing
6. Image processing through clustering

Image processing through clustering:


Figures.
Applications of soft computing in real estate:

Soft computing in real estate is primarily used for tasks like accurate property
valuation, automated property management, efficient lead generation, and data
analysis by leveraging techniques like neural networks, fuzzy logic, and genetic
algorithms to handle complex and uncertain real estate data, providing more precise
insights for decision-making compared to traditional methods.

Key applications of soft computing in real estate:


 Property valuation:
Using machine learning models to analyze various property features like location,
size, condition, market trends, and recent sales data to generate more accurate
property valuations.
 Lead generation:
Identifying potential buyers and sellers through data analysis and predictive modeling
based on demographics, online behavior, and market trends.
 Customer segmentation:
Classifying clients based on their needs and preferences to tailor marketing strategies
and property recommendations.
 Market trend analysis:
Utilizing soft computing techniques to identify patterns and predict future market
trends in specific real estate sectors
 Automated property management:
Implementing AI-powered systems to streamline tasks like tenant screening, rent
collection, maintenance scheduling, and lease renewals.
 Risk assessment:
Evaluating potential risks associated with a property investment using data-driven
analysis
 Personalized recommendations:
Providing tailored property suggestions to individual buyers based on their specific
criteria and preferences
Specific soft computing techniques used in real estate:
 Neural Networks:
Used for complex pattern recognition and prediction tasks like price forecasting
based on various property attributes
 Fuzzy Logic:
Incorporates uncertainty and vagueness into decision-making, useful for situations
where clear-cut data might not be available
 Genetic Algorithms:
Employed for optimization problems like finding the best pricing strategy or
identifying the ideal property mix for a development project
 Adaptive Neuro-Fuzzy Inference System (ANFIS):
Combines the strengths of neural networks and fuzzy logic for more robust modeling
and prediction
Important considerations when applying soft computing in real estate:
 Data quality: Reliable and comprehensive data is crucial for training accurate models
 Domain expertise: Integrating knowledge from real estate professionals to interpret
results effectively
 Ethical considerations: Ensuring transparency and avoiding biased algorithms in
decision-making.

Soft computing in Mobile adhoc network:


Soft computing techniques such as neural network, evolutionary algorithm, and
fuzzy techniques are used in mobile ad hoc network for optimization, prediction,
and managing uncertainties to address problems such as base station placement,
channel assignment, and mobility management. For base station placement, the
estimation of optimal number of station is required in that area to provide a better
quality of service (QoS). It is a multi objective optimization problem and needs to
consider many factors such as traffic density, hot spots, quality of channels, and
inference scenarios.

Evolutionary algorithms such as GA and PSO techniques are more suitable to


handle this problem in finding minimum stations that have maximum coverage area.
Neural network, genetic algorithm, and fuzzy approaches are widely used to address
the channel allocation problem. Channel allocation can be fixed, dynamic, or hybrid
assignment.

To find the minimal shortest path in a network to update the routing table, soft
computing techniques are used. Fuzzy-logic-based Big Bang Big Crunch (BB-BC)
and biogeography- based optimization (BBO) techniques are the recent SC
approach to enumerate the shortest path. BB-BC approach is based on the evolution
of the universe by Big Bang theory.
BBO approach is based on the dynamic equilibrium in the number of species on an
island. This algorithm has low computational time and high convergence. BB–BC
algorithm shows the superiority over the other one in finding the shortest path in the
network with minimum error. By Big Bang theory, the energy (kinetic) is
discharged during initial explosion and is counterbalanced by the energy attraction
of bodies called gravitational pull. When there is an enough mass, it becomes bigger
than the first and when reaches to critic density, the explosion stops and starts
contracting, leading to its beginning shape named as Big Crunch.

This theory of Big Bang followed by Big Crunch is repeated to form the
optimization algorithm called Big Bang big crunch (BB—BC) optimisation
algorithm and its pseudo-code is as follows:
Initial set of candidate solutions are generated randomly and the fitness of the
solution is defined by the objective function. The Centre of mass calculated during
contraction in Big, Crunch phase after Big Bang phase is computed as follows
Where xc is the position of center of mass and fi is the fitness value of ith candidate
and N is the population size. The new position after Big Crunch can be computed
by

where xnew is the new position around the centre of mass, l is the
upper limit of the parameter, r is the random number, and k
represents the iteration. The ILC of the candidate solution represents the
integrated link cost which can be evaluated using fuzzy logic as objective function
to decide the fitness value.

Biogeography-Based Optimization

Biogeography-based optimisation (BBO) has evolved based on the study of


species articulation on landscape in space and time. The number of species
on the particular place is represented by the dynamic equilibrium controlled by the
rate of immigration of new species and the emigration rate of the previously
established species. BBO algorithm is proposed by Dan Simons based on
dynamic equilibrium theory. It is meta-heuristic approach used to find the minimal
cost path. Pseudo-code for BBO is given as follows:

HSI represents the Habitat Suitability Index. HSI is modified probabilistically using
immigration and emigration rates, and it is the fitness measure. Smax is the
maximum species count and species count probability Ps of each habitat, E and I
are maximum migration rates.

Soft Computing in Information Retrieval and Semantic


Web
Soft computing techniques are widely used in semantic web to infer knowledge
from incomplete, uncertain, and vague real life data. Fuzzy ontology is one such
model for semantic modelling and recognition of human behavior.
Fuzzy OWL2 deals with uncertainty and finds the temporal relationship-based
human activities on the basis of fuzzy techniques. Fuzzy approach to knowledge
base improves the decision compared to crisp techniques. Human activity
recognition are inclined toward ambient assisted living, smart home assistance,
office assistance.

MOSES is a tool that monitors the staff and reminds the deadline and pending jobs.
Multi agent architecture is an iShop Floor that is capable to plan and control the
industrial process. Easy Meeting and Aml are some of intelligent system that is
used for organising and assisting office meetings and to optimise the official
requirements. AIRE, iRoom, NIST are some of the tools used to assist in the office
meeting rooms, smart space, and consider the emotional factors of participants and
their associated argumentation processes. To develop an intelligent tool based on
ontology, they require knowledge engineering skills to model the system and should
possess overlapping temporal reasoning and should handle the real life data having
missing, uncertain, and vague values. Soft computing techniques possess this
quality and can perform approximate reasoning like humans.

Fuzzy ontology-based models can handle the above challenges, whereas


conventional crisp ontology models fail to do so. Here is a small example that
shows the benefits of fuzzy ontologies versus crisp ones. Because in a fuzzy
ontology, we can define that the CoffeeBreak activity is recognised accounting for
different weights on the actions that compose it (e.g. 0.3 TakeMug, 0.3 Take-
CoffeePan, 0.4 TakeMilk); thus, when one action has been skipped due to an
exception (e.g., milk run out) or a missing sensor reading, the activity can still be
recognised to a lower degree. In contrast, the same activity formalised in a crisp
ontology could not be recognised if any of the exclusive elements that compose it is
missing.
The relationship is defined using fuzzy membership function such as triangular,
trapezoidal, left shoulder function, and right shoulder function. Some sample fuzzy
rules are given below for specific action to be taken on a particular scenario.

The application of fuzzy techniques in semantic web is boundless. Some of them are
fuzzy logic based information retrieval, annotation in textual documents using fuzzy
logic, semantic portal based on fuzzy description logic, semantic search engines that
incorporate inference, information retrieval, and security. Multimedia-based
information retrieval model uses fuzzy description logic for handling thousands of
images. In medical diagnosis, fuzzy techniques are used to identify tumour from X-
ray images. Fuzzy description logic provides expressive searching mechanism
compared to other techniques and is used for search and comparing products in
online shopping.

Information retrieval (IR) and information filtering context (IF) has wide
applications including semantic web and mining. Clustering techniques are widely
used to categorise the search results for topic diversification in presenting the
retrieved document and to mine the contents for interested pattern. In IR and IE the
document may be put into more than one cluster where conventional algorithm fails
to deal such problems. Soft computing techniques are ideal in handling overlapping,
multi-label classes and multi-objective problems.
The Hierarchical-Data Divisive Soft Clustering Algorithm (H2D-SC) is proposed
by Bordogna for text classification. The procedure of H2D-SC is given here.

Procedure H2D-SC

Step 1: At the beginning, all documents are viewed as full members of a unique
huge cluster C, the whole collection (i.e., all documents belong to the initial cluster
C = D with membership value equal to 1).
Step 2: The decision whether to split C into more specific sub-clusters is taken by
assessing the quality of the cluster.
Step 3: In case the cluster C has been evaluated worth splitting, the number KC of
sub clusters to generate is determined depending on some cluster’s properties.
Step 4: The algorithm applies a (soft) clustering algorithm (FCMs algorithm) having
as input the number KC of clusters so as to generate the soft clusters of the next
hierarchical level.
Step 5: The process iterates until no more clusters are evaluated worth splitting.

In H2D-SC algorithm, the quality of a generated soft partition is assessed by


measuring its fuzzy entropy introduced by Bezdek. The fuzzy partition entropy of a
set of documents S is organised into K fuzzy clusters C, (j=1, ..., K) is as follows:
Soft Computing in Software Engineering

Soft computing techniques are extensively used in software engineering for


many years. Software documentation, design, maintenance, re-engineering, re-
factoring, and software quality are some of the topics where SC is widely applied.
To handle the problems related to software engineering, humans face many
challenges such as applying acquired knowledge to complex problems, handle
constraints, solve conflicts between stakeholders, convince and compromise them to
take decision on functional and non-functional aspects.

Apart from the above points, engineers strive hard to find an optimal solution
for a complex problem. Search-based software engineering problems find the
optimal solution and is also useful to solve combinatorial search problems. It
applies meta-heuristic search techniques to explore the possibilities and produce
good solution according to quality function which is not possible by humans when
the search space is large and has complex quality function.

Algorithms such as genetic algorithm, hill climbing, particle swarm


optimisation, and simulated annealing are some of the algorithm used for software
design in object-oriented analysis and design. Searching algorithms are used to
solve the class responsibility assignment problem having multi-objective to
optimise the class structure of a system, design patterns used as transformation to
improve modifiability, UML class diagram depicting software architecture, optimal
packaging, finding the subsets of classes most likely to be used together in jar
archive. Figure 17.9 shows a fuzzy neural model for software quality.
calibrates software quality assessments relative to upper and lower approximations
of the input of software quality measurements. The lower and the upper bound
estimation determine the number of software module changes. A developer can
make judgments about the number of required changes relative to certain and
uncertain knowledge about software quality.

You might also like