Suchen

Selbstadaptive Systeme KI übernimmt die Arbeit von Software-Ingenieuren

| Redakteur: Jürgen Schreier

Für selbstadaptive Software gibt es zahllose Anwendungen. Wissenschaftler vom Softwaretechnik-Institut paluno an der Universität Duisburg-Essen haben jetzt vielversprechende Ergebnisse mit neuartigen Verfahren der künstlichen Intelligenz (KI) erzielt, die den Entwicklungsprozess selbstadaptiver Systeme automatisieren.

Firma zum Thema

In einer vernetzten Welt wächst der Bedarf an Software, die in der Lage ist, sich selbstständig an wechselnde Umgebungssituationen anzupassen.
In einer vernetzten Welt wächst der Bedarf an Software, die in der Lage ist, sich selbstständig an wechselnde Umgebungssituationen anzupassen.
(Bild: gemeinfrei / Pixabay )

Wir leben in einer schnelllebigen, vernetzten Welt. In dieser wächst der Bedarf an selbstadaptiver Software - also an Software, die in der Lage ist, sich selbstständig an wechselnde Umgebungssituationen anzupassen. Beispiele sind schwankende Übertragungsbandbreiten im Mobilfunkbereich, eine wechselnde Anzahl von Nutzern oder sich ändernde Benutzerpräferenzen.

Neues Verfahren des Reinforcement Learning

Eine wesentliche Aufgabe bei der Entwicklung selbstadaptiver Software ist es vorzugeben, wann und wie eine Anpassung erfolgen soll. Das ist jedoch schwierig, weil die Ingenieure zum Zeitpunkt der Entwicklung meist nicht alle möglichen Umgebungssituationen der Software vorhersehen können. Dieser Herausforderung begegnet das paluno-Team der Universität Duisburg-Essen mit Online-Reinforcement-Learning, einem Verfahren der Künstlichen Intelligenz.

Die Idee dahinter: Die Software lernt selbst, welche Anpassung in welcher Situation die beste ist, indem sie Feedback zur Laufzeit sammelt und auswertet. Gute Anpassungen führen zu positivem Feedback, schlechte Anpassungen zu einem negativen. So lernt die Software durch Ausprobieren, möglichst gute Rückmeldungen zu sammeln. Damit übernimmt die künstliche Intelligenz die bisherige manuelle Tätigkeit der Software-Ingenieure: festlegen, wann und wie eine Anpassung erfolgen soll.

„Bisherige Methoden des Online Reinforcement Learning haben jedoch noch einen Haken“, sagt Dr. Andreas Metzger, Leiter des Bereichs Adaptive Systeme bei paluno. „Die so genannte Explorationsrate muss manuell feinjustiert werden. Das ist die Wahrscheinlichkeit, dass die Software eine neue Anpassung ausprobiert, anstatt sich auf bekannte, sichere Anpassungen zu beschränken.“

Lernalgorithmus kommt ohne Feinjustierung der Explorationsrate aus

Weil das auf Kosten der Automatisierbarkeit geht, setzt das paluno-Team einen neuartigen Lernalgorithmus ein: Dieser wird Policy-based Reinforcement Learning genannt und kommt ohne eine Feinjustierung der Explorationsrate aus. Erste Tests bei selbstadaptiven Systemen für das Geschäftsprozessmanagement und für Web-Anwendungen waren erfolgreich. Ihre Erkenntnisse wollen die Wissenschaftler nun auch für die Entwicklung von selbstadaptiven Transportmanagement-Systemen und Smart-Home-Systemen anwenden.

(ID:46699137)