Revision 641523617 of "Soft computing" on enwiki

{{Expert-subject|computer science|date=July 2009}}
{{Distinguish|soft microprocessor}}

In computer science, '''soft computing''' is the use of inexact solutions to computationally hard tasks such as the solution of [[NP-complete]] problems, for which there is no known algorithm that can compute an exact solution in [[polynomial time]]. Soft computing differs from conventional (hard) computing in that, unlike hard computing, it is tolerant of imprecision, uncertainty, partial truth, and approximation. In effect, the role model for soft computing is the human mind.

==Introduction==
Soft Computing is a term used in computer science to refer to problems in computer science whose solutions are unpredictable, uncertain and between 0 and 1. Soft Computing became a formal area of study in Computer Science in the early 1990s.<ref>Zadeh, Lotfi A., "Fuzzy Logic, Neural Networks, and Soft Computing,"  Communication of the ACM, March 1994, Vol. 37 No. 3, pages 77-84.</ref>  Earlier computational approaches could model and precisely analyze only relatively simple systems. More complex systems arising in [[biology]], [[medicine]], the [[humanities]], [[management science]]s, and similar fields often remained intractable to conventional mathematical and analytical methods.  However, it should be pointed out that simplicity and complexity of systems are relative, and many conventional mathematical models have been both challenging and very productive.
Soft computing deals with imprecision, uncertainty, partial truth, and approximation to achieve practicability, robustness and low solution cost. As such it forms the basis of a considerable amount of [[machine learning]] techniques. Recent trends tend to involve evolutionary and swarm intelligence based algorithms and bio-inspired computation.<ref>X. S. Yang, Z. H. Cui, R. Xiao, A. Gandomi, M. Karamanoglu, Swarm Intelligence and Bio-Inspired Computation: Theory and Applications, Elsevier, (2013).</ref><ref>D. K. Chaturvedi,Soft Computing: Techniques and Its Applications in Electrical Engineering, Springer, (2008).</ref>

There are main difference between soft computing and possibility. Possibility is used when we don't have enough information to solve a problem but soft computing is used when we don't have enough information about the problem itself. These kinds of problems originate in the human mind with all its doubts, subjectivity and emotions; an example can be determining a suitable temperature for a room to make people feel comfortable.<br />

==Components==
Components of soft computing include:
* [[Neural network]]s (NN)
** [[Perceptron]]
* [[Support Vector Machine]]s (SVM)
* [[Fuzzy logic]] (FL)
* [[Evolutionary computation]] (EC), including:
** [[Evolutionary algorithm]]s
*** [[Genetic algorithm]]s
*** [[Differential evolution]]
** [[Metaheuristic]] and [[Swarm Intelligence]]
*** [[Ant colony optimization]]
*** [[Particle swarm optimization]]
*** [[Firefly algorithm]]
*** [[Cuckoo search]]
* Ideas about [[probability]] including:
** [[Bayesian network]]
* [[Chaos theory]]

Generally speaking, soft computing techniques resemble biological processes more closely than traditional techniques, which are largely based on formal [[logical system]]s, such as [[sentential logic]] and [[predicate logic]], or rely heavily on computer-aided numerical analysis (as in [[finite element analysis]]). Soft computing techniques are intended to complement each other.  

Unlike hard computing schemes, which strive for exactness and full truth, soft computing techniques exploit the given tolerance of imprecision, partial truth, and uncertainty for a particular problem. Another common contrast comes from the observation that [[inductive reasoning]] plays a larger role in soft computing than in hard computing.

==References==
{{reflist}}

==External links==
* [http://www.softcomputing.es EUROPEAN CENTRE FOR SOFT COMPUTING]
* [http://www.helsinki.fi/~niskanen/bisc.html BISC SIG IN PHILOSOPHY OF SOFT COMPUTING]

[[Category:Scientific modeling]]
[[Category:Artificial intelligence]]
[[Category:Semantic Web]]
[[Category:Soft computing]]