Which Optimizer, At What Budget? A Tournament of Optimizers for Search-Based SE
Diese Arbeit zeigt auf, dass kein einzelner Optimierer universell optimal für Konfigurationsaufgaben im Software Engineering ist, da die beste Wahl vom Labeling-Budget abhängt, und schlägt eine kosteneffiziente Tabellen-Nachschlagmethode vor, die zwei Aufgabenattribute nutzt, um den optimalen Optimierer mit einer Genauigkeit vorherzusagen, die mit einem Hindsight-Oracle vergleichbar ist.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie versuchen, ein superkomplexes Videospiel abzustimmen. Sie haben 460 verschiedene Schalter, Regler und versteckte Codes. Das Ändern nur eines einzigen Einstellwertes könnte dazu führen, dass der Computer das gesamte Spiel neu aufbauen und einen massiven Test durchführen muss, um zu sehen, ob es besser funktioniert. Sie können nicht jede einzelne Kombination ausprobieren, denn es gibt mehr Möglichkeiten, als es Sterne am Himmel gibt. Deshalb benötigen Sie einen klugen „Stimm-Experten“ (einen Optimierer), der raten kann, welche Einstellungen es wert sind, getestet zu werden.
Das Problem? Es gibt Dutzende von verschiedenen Optimierern, und niemand weiß, welcher der beste für Ihr spezielles Spiel ist. Einige Experten sagen: „Benutze einfach diesen berühmten hier!“ Aber dieses Paper sagt: „Moment mal, das ist eine Falle.“
Das große Optimierer-Turnier
Die Autoren, Kishan Kumar Ganguly und Tim Menzies, beschlossen, dies zu klären, indem sie ein massives Turnier veranstalteten. Sie haben nicht nur ein paar ausgewählt; sie versammelten 20 verschiedene Optimierer und ließen sie gegen 106 verschiedene Software-Engineering-Aufgaben antreten.
Sie haben das Turnier nicht nur einmal durchgeführt. Sie testeten es bei vier verschiedenen „Budgets“ (wie oft der Computer erlaubt ist, eine Einstellung auszuprobieren): 30, 50, 100 und 200 Versuchen. Um all diese Tests durchzuführen, verbrauchten sie 14.000 CPU-Stunden. Das ist eine Menge Computerzeit!
Die große Überraschung: Es gibt keinen „besten“ Optimierer
Hier ist das Wichtigste, was sie herausgefunden haben: Kein einzelner Optimierer gewinnt alles.
Tatsächlich ändert sich der „Champion“ je nachdem, wie viel Zeit (oder Budget) man zur Verfügung hat.
- Wenn man wenig Zeit hat (nur 30 Versuche): Ist der Gewinner ein cleverer, schneller Lerner namens EZR. Er ist wie ein Späher, der schnell die vielversprechendsten Gebiete überprüft.
- Wenn man viel Zeit hat (200 Versuche): Wechselt der Gewinner zu einem Brute-Force-Kraftpaket namens Differential Evolution (DE). Er ist wie ein Team von Entdeckern, das langsam, aber sicher die gesamte Landkarte kartografiert.
Die Autoren stellten fest, dass sich bei 58 % der Aufgaben der beste Optimierer mindestens einmal änderte, während das Budget wuchs. Wenn man den „Champion“ für ein kleines Budget wählte und ihn für ein großes Budget beibehielt, läge man bei bis zu der Hälfte Ihrer Aufgaben falsch.
Der „Einheitslösung“-Mythos
Die Autoren testeten auch eine populäre Idee: dass komplexe „Multi-Objective“-Optimierer (die versuchen, viele Ziele gleichzeitig in Einklang zu bringen) immer besser sind als einfache „Single-Objective“-Optimierer.
- Das Ergebnis: Sie lagen falsch. Die einfachen Optimierer waren bei gleichem Budget oft besser als die komplexen.
- Der Haken: Um mit einem einfachen Optimierer gleichzuziehen, der 200 Versuche hatte, benötigte ein komplexer Optimierer 1.000 Versuche (die fünffache Arbeit), um das gleiche Ergebnis zu erzielen.
Die „Magische Karte“ vs. die „Kristallkugel“
Wie also wissen Sie, welchen Optimierer Sie wählen sollen, ohne 14.000 Stunden zu verschwenden?
Die gescheiterte Kristallkugel:
Wissenschaftler versuchen oft, den Gewinner vorherzusagen, indem sie die „Form“ des Problems mithilfe komplexer Mathematik (genannt Instance Clustering) analysieren. Die Autoren haben dies ebenfalls versucht.
- Das Ergebnis: Es scheiterte kläglich. Es sagte den richtigen Gewinner nur 44,2 % der Zeit voraus. Es ist, als würde man versuchen, den Gewinner eines Rennens vorherzusagen, indem man sich die Farbe der Schuhe der Läufer ansieht; das funktioniert einfach nicht.
Die gewinnende Magische Karte:
Anstatt komplexe Mathematik zu verwenden, fanden die Autoren eine einfache Checkliste, die auf zwei Dingen basiert, die man sofort in Ihrer Datentabelle sehen kann:
- Kämpfen Ihre Ziele gegeneinander? (z. B. das Spiel schneller machen, aber gleichzeitig billiger?)
- Welche Art von Zahlen sind Ihre Einstellungen? (Sind es einfache Ja/Nein-Schalter oder große, unordentliche Zahlen?)
Indem sie diese zwei Dinge plus Ihr Budget betrachteten, erstellten sie einen Heatmap-Leitfaden.
- Wenn Sie ein kleines Budget und einfache Einstellungen haben, wählen Sie EZR.
- Wenn Sie ein großes Budget oder komplexe Einstellungen haben, wählen Sie DE oder SMAC.
Dieser einfache Leitfaden war überraschend genau. Er entsprach oder übertraf einen „Hindsight Oracle“ (einen perfekten Vorhersager, der die Antwort bereits kennt) bei 74,2 % der Aufgaben, ohne dass zuvor teure Tests durchgeführt werden mussten.
Das Fazit
Das Paper kommt zu dem Schluss, dass die Wahl eines Optimierers nicht darin besteht, das eine „magische Werkzeug“ zu finden. Es geht darum, das Werkzeug an das Budget und die Form Ihrer Daten anzupassen.
- Verschwenden Sie nicht Geld für komplexe Mathematik, um Ihr Problem zu analysieren, bevor Sie beginnen.
- Nutzen Sie stattdessen Ihre Datentabelle, prüfen Sie Ihr Budget und verwenden Sie den einfachen Leitfaden.
- Denken Sie daran: Wenn Sie nur wenige Versuche haben, nutzen Sie einen schnellen Späher. Wenn Sie viele Versuche haben, nutzen Sie einen gründlichen Entdecker.
Die Autoren schlagen vor, dass wir in Zukunft vielleicht einen „Meta-Scheduler“ bauen könnten, der mit dem Späher beginnt und dann an den Entdecker übergibt, sobald das Budget wächst, um das Beste aus beiden Welten zu erhalten. Aber für den Moment ist der einfache Leitfaden der beste Weg, um Zeit zu sparen und gute Ergebnisse zu erzielen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.