Soft Computing

This page contains automatically translated content.

What is soft computing?

A definition by Lofti A. Zadeh reads:

"Soft computing differs from conventional (hard) computing in that, unlike hard computing, it is tolerant of imprecision, uncertainty and partial truth. In effect, the role model for soft computing is the human mind. The guiding principle of soft computing is: Exploit the tolerance for imprecision, uncertainty and partial truth to achieve tractability, robustness and low solution cost."

A somewhat shorter description (from the Wikipedia article on Lofti A. Zadeh):

"Soft computing forgoes an exact analysis of a system in favor of a qualitative and, above all, interpretable description."

Essentially (but not exclusively), soft computing deals with problem-solving paradigms that have their model in biological principles. This includes, for example, the human brain, which can very quickly find very good - not always optimal, but sufficient for problem solving - solutions (e.g. also via rules that are verbally formulated).

Soft computing methods include neural networks (e.g., perceptrons or self-organizing maps or cohon maps), fuzzy systems, and evolutionary algorithms. The application of these techniques enables problem solving as described above: for uncertain initial data (e.g., inaccurate or "fuzzy"), efficiently and cost-effectively. The "machine IQ" of technical systems can be significantly increased

Content of the lecture

The lecture mainly deals with the above mentioned paradigms, i.e. neural networks, fuzzy logic and evolutionary algorithms. This area is usually referred to as "soft computing". The following topics are specifically discussed: Biological foundations, supervised learning neural networks (e.g., perceptrons, multilayer perceptrons, radial basis function networks), unsupervised learning neural networks (e.g., competitive learning, self-organizing maps), first-order learning methods, second-order learning methods, fuzzy logic and fuzzy systems, genetic algorithms, and evolutionary methods. Application examples are discussed for each area and combinations of different methods are also presented.

Contents of the exercises

The exercises consist of both paper and computer exercises. The computer exercises will work with the Python programming language and suitable packages (Jupyter notebooks, PyTorch).


  • Formal, general information about the lecture (e.g. credit points and type of examination) can be found in the Module Handbook of Computer Science (Bachelor).
  • The lecture is also creditable in Electrical Engineering!
  • Current information about the lecture (e.g. slides, bibliography, exam dates) are provided in the Moodle of the University of Kassel.