Soft ComputingIn Rescue when Conventional Algorithms FailAyang LaishramBlockedUnblockFollowFollowingApr 24Photo Credit: www.
comThis article focuses on the basic differences between Soft Computing and Hard Computing.
Soft ComputingSoft Computing (SC) is an emerging area in Computer Science that is tolerant to imprecise and uncertain problems with partial truth to achieve an approximate, robust and low cost optimal solution.
The approach of SC techniques to solve problems imitate the remarkable power of human to think logically and learn from mistakes in an imprecise scenario.
SC solves tremendous number of complex real world problems in different sections such as stock market predictions in business, computer aided diagnosis in medical, handwriting recognition in fraud detection , image retrieval, biometric application in image processing etc.
and the list go on.
Hard ComputingThe conventional algorithms, also termed as Hard Computing algorithms, follow mathematical methodologies strictly which make it inefficient to solve real world problems by taking more computation time.
The conventional algorithms require exact input data, use a precise methodology and generate a precise output which make it a crisp system.
It fails when the input is not exact.
Examples of conventional algorithms are merge sort, quick sort, binary search, greedy algorithm, dynamic programming etc which are deterministic.
Branches of Soft ComputingSoft Computing consists of numerous techniques that study the biological processes such as reasoning, genetic evolution, survival of the creatures and human nervous system.
SC is an umbrella term that thoroughly study the simulation of reasoning, human nervous system and evolution in different fields:Fuzzy LogicNeural NetworkEvolutionary ComputationFuzzy Logic is a technique that understands the vagueness of a solution and present the solution with a degree of vagueness which is practical to human decision.
It is widely applied in several applications of Artificial Intelligence for reasoning.
Neural Network is a network of artificial neurons, inspired by biological network of neurons, that uses mathematical models as information processing units to discover patterns in data which is too complex to notice by human.
Evolutionary Computation is a family of optimization algorithms that are inspired by biological evolution such as Genetic Algorithm, survival of creatures such as Particle Swarm Intelligence, Ant Colony Optimization, Artificial Bee Colony optimization etc.
or any biological processes.
Soft Computing vs Hard ComputingThe biological processes fascinated scientists to solve real world problems by simulating the processes to robust algorithms and solve problems like a human mind in uncertain environment with limited information whereas the conventional algorithms ( hard computing) fail to solve due to the strict principles.
For example, conventional algorithms fail when input is not known/exact whereas SC deals with inexact information and generate a nearly optimal solution for the problem.
The conventional algorithms strictly follow a specific set of known steps to solve a task whereas SC techniques are heuristics.
Example: If we need to find out whether Bob is honest.
A hard computing algorithm would give an answer that is YES or No.
(1 or 0 in binary) whereas a SC technique (Fuzzy Logic) would give an answer with membership degree such as extremely honest (1), very honest (0.
85), sometimes honest (0.
35), extremely dishonest (0.
00), like a human.
Prediction Problem: Will tomorrow rain?.Hard Computing would solve the problem by using statistical techniques which basically rely on user-driven hypothesis test that user defines variables, functions and type of interaction.
These type of information can be manipulated and influence models.
Whereas the hypothesis of Soft Computing techniques would scan all the predictor variables automatically and identify some patterns in the data that help to come up with accurate predictions.
Such models have no chance to miss a notice of unexpected and potentially important variables, thereby lead to better accuracy.
I hope I cleared some differences between Soft Computing and Hard Computing, and the basic reason of the existence of Soft Computing techniques.
Sometimes, we forget to understand the basic meaning and go forward to learn higher knowledge.
If you are interested to study the area, you may refer the book “Principles of Soft Computing” by S.
Sivanandam and S.
Deepa , Wiley Publicaction.
Thank you for your time.