Soft Computing is a relatively new branch of Computer Science that deals with approximate reasoning. The techniques of Soft Computing are used successfully nowadays in many domestic, commercial and industrial applications becoming a major research object in automatic control engineering. The present paper reviews the contents of Soft Computing, which include probabilistic and in particular Bayesian reasoning, fuzzy logic, artificial neural networks and genetic algorithms. These topics are complementary to each other and can be used simultaneously for solving complex real-life problems, which cannot or it is too difficult be modelled mathematically. The paper also explores the main techniques used in Soft Computing and discusses their advantages with respect to the traditional techniques of hard computing.