Soft computing is an emerging approach to computing that aims to solve computationally hard problems using inexact solutions that are tolerant of imprecision, uncertainty, partial truth, and approximation. It uses techniques like fuzzy logic, neural networks, evolutionary computation, and probabilistic reasoning to model human-like decision making. Unlike hard computing which requires precise modeling and solutions, soft computing is well-suited for real-world problems where ideal models are not available. The key constituents of soft computing are fuzzy logic, evolutionary computation, neural networks, and machine learning.