Soft Computing

Was ist Soft Computing?

Eine Definition von Lofti A. Zadeh lautet:

"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."

Eine etwas kürzere Beschreibung (aus dem Wikipedia-Artikel über Lofti A. Zadeh):

"Beim Soft Computing wird auf eine exakte Analyse eines Systems zugunsten einer qualitativen und vor allem interpretierbaren Beschreibung verzichtet."

Im Wesentlichen (aber nicht ausschließlich) beschäftigt sich Soft Computing mit Problemlösungs-Paradigmen, die ihr Vorbild in biologischen Grundlagen haben. Dazu gehört beispielsweise das menschliche Gehirn, welches sehr schnell sehr gute - nicht immer optimale, aber zur Problemlösung ausreichende - Lösungen finden kann (z. B. auch über Regeln, die verbal formuliert sind)

Zu Methoden des Soft Computing gehören Neuronale Netze (z.B. Perzeptren oder selbstorganisierende Karten bzw. Kohonenkarten), Fuzzy-Systeme und Evolutionäre Algorithmen. Die Anwendung dieser Techniken ermöglicht Problemlösungen wie oben beschrieben: für unsichere Ausgangsdaten (z. B. ungenau oder "unscharf"), effizient und kostengünstig. Der "Maschinen-IQ" technischer System kann deutlich erhöht werden 

Inhalt der Vorlesung

Die Vorlesung hat vor allem die o. a. Paradigmen zum Inhalt, also Neuronale Netze, Fuzzy-Logik und Evolutionäre Algorithmen. Dieses Gebiet wird üblicherweise als "Soft-Computing" bezeichnet. Folgende Themen werden konkret besprochen: Biologische Grundlagen, überwacht lernende Neuronale Netze (z. B. Perzeptren, mehrlagige Perzeptren, Radiale Basisfunktions-Netze), unüberwacht lernende Neuronale Netze (z. B. Wettbewerbslernen, selbstorganisierende Karten), First-Order-Lernverfahren, Second-Order-Lernverfahren, Fuzzy-Logik und Fuzzy-Systeme, Genetische Algorithmen und Evolutionäre Verfahren. Zu den einzelnen Bereichen werden jeweils Anwendungsbeispiele besprochen und es werden auch Kombinationen verschiedener Verfahren vorgestellt.

Inhalt der Übung 

Die Übungen bestehen sowohl aus Papier- als auch aus Rechnerübungen. In den Rechnerübungen werden mit der Programmiersprache Python und geeigneten Paketen (Jupyter-Notebooks, PyTorch) gearbeitet.

Sonstiges  

  • Formale, allgemeine Angaben zu Vorlesung (z.B. Kreditpunkte und Prüfungsart) sind im Modulhandbuch der Informatik (Bachelor zu finden).
  • Die Vorlesung ist auch in der Elektrotechnik anrechenbar!
  • Jeweils aktuelle Informationen zur laufenden Vorlesung (z. B. Folien, Literaturhinweise, Prüfungstermine) werden im Moodle der Universität Kassel bereitgestellt.