Soft computing is based on techniques such as fuzzy logic, genetic algorithms, artificial neural networks, machine learning, and expert systems. It exploits the given tolerance for imprecision, partial truth, and uncertainty for a particular problem.