Soft computing (SC) is a collection of methodologies that are trying to cope with the main disadvantage of the conventional (hard) computing: the poor performances when working in uncertain conditions. The fundamental idea of soft computing is to emulate the human like reasoning. The classic constituents of SC are fuzzy logic, neural network theory and probabilistic reasoning, but new methods are continuously emerging: belief networks, genetic algorithms, anytime algorithms, chaos theory, some parts of learning theory, etc. Due to the large variety and complexity of the domain, the constituting methods of SC are not competing for a comprehensive ultimate solution. Instead they are complementing each other, for dedicated solutions adapted to each specific problem. Hundreds of concrete applications are already available in control, decision making, pattern recognition and robotics. The SC systems are tolerant to imprecision, uncertainty, and partial truth. Their main advantages are tractability, robustness, and low cost implementations. At the same time SC is a major developing vector of the Artificial Intelligence.