Skip to main content
QUICK REVIEW

[論文レビュー] Dependency Injection for Programming by Optimization

Zoltan A. Kocsis, Jerry Swan|arXiv (Cornell University)|Jul 13, 2017
Evolutionary Algorithms and Applications参考文献 18被引用数 3
ひとこと要約

この論文は、プログラミング・バイ・オプティマイゼーション(PbO)における従来のウェーブァー・ツールに代わる、依存性インジェクションに基づくフレームワーク、ContainAntを紹介する。これにより、効率的でオンラインなアルゴリズム設定が可能になる。コンポーネントの接続構造を文脈自由文法上の文法的最適化としてモデル化することで、新規の進化的ヒューリスティクスであるGrAntおよびGrEvoを導入し、最適化の速度と解の質においてSMACを最大2桁の速度向上で上回る。

ABSTRACT

Programming by Optimization tools perform automatic software configuration according to the specification supplied by a software developer. Developers specify design spaces for program components, and the onerous task of determining which configuration best suits a given use case is determined using automated analysis tools and optimization heuristics. However, in current approaches to Programming by Optimization, design space specification and exploration relies on external configuration algorithms, executable wrappers and fragile, preprocessed programming language extensions. Here we show that the architectural pattern of Dependency Injection provides a superior alternative to the traditional Programming by Optimization pipeline. We demonstrate that configuration tools based on Dependency Injection fit naturally into the software development process, while requiring less overhead than current wrapper-based mechanisms. Furthermore, the structural correspondence between Dependency Injection and context-free grammars yields a new class of evolutionary metaheuristics for automated algorithm configuration. We found that the new heuristics significantly outperform existing configuration algorithms on many problems of interest (in one case by two orders of magnitude). We anticipate that these developments will make Programming by Optimization immediately applicable to a large number of enterprise software projects.

研究の動機と目的

  • プログラミング・バイ・オプティマイゼーション(PbO)における既存のウェーブァー・ツールの限界、特に脆弱な言語拡張機能と外部コマンドライン設定に依存する点を是正する。
  • ソースコードの変更なしに依存性インジェクションコンテナを用いることで、PbOを既存のソフトウェアプロジェクトにシームレスに統合する。
  • 依存性インジェクションと文脈自由文法の構造的同型性を活用し、自動アルゴリズム設定のための新しい進化的メタヒューリスティクスのクラスを導出する。
  • 実世界の最適化問題において、SMACなどの既存ツールと比較して、これらの新規ヒューリスティクスの性能を評価する。
  • 提案手法が、現在のPbOパイプラインよりも高速で信頼性が高くスケーラブルな最適化を可能にすることを示す。

提案手法

  • ソフトウェアコンポーネントの設計空間を、各生成規則が依存グラフ内の設定選択に対応する文脈自由文法として表現する。
  • ソースコードを変更せずに依存性インジェクションコンテナを用いてコンポーネント設定をインスタンス化することで、ランタイムおよびオンライン最適化を可能にする。
  • 有効な文法的導出を進化させるために、新規の文法ベースの遺伝的アルゴリズム(GrAnt)とアリコロニー最適化(GrEvo)を適用する。
  • 最適化問題を、文脈自由文法における導出の探索として定式化し、適応度は与えられたベンチマークでの性能によって決定する。
  • 抽象構文木から具体的なコンポーネントインスタンスへの、設定に配慮したマッピングを採用し、型安全性とモジュラリティを保持する。
  • 外部ウェーバーやコマンドラインラッパーの必要性を回避するためのヒューリスティクスベースの探索戦略を導入し、リアルタイムの設定を可能にする。

実験結果

リサーチクエスチョン

  • RQ1依存性インジェクションは、プログラミング・バイ・オプティマイゼーションにおける構文的ウェーバーのネイティブで軽量な代替手段として利用可能か?
  • RQ2依存性インジェクションと文脈自由文法の構造的同型性は、アルゴリズム設定のための効果的なメタヒューリスティクス探索を可能にするか?
  • RQ3文法ベースの進化的ヒューリスティクス(GrAntおよびGrEvo)は、実世界の最適化問題において、SMACなどの既存ツールと比較して性能と頑健性に優れているか?
  • RQ4提案手法は、実際の企業向けソフトウェア環境において、SMACに対して顕著な高速化と解の質の向上を達成できるか?
  • RQ5ソフトウェア設定に適用した際の従来の文法的進化アプローチ(例:早期収束)の限界は何か?

主な発見

  • GrAntヒューリスティクスは、5つのベンチマーク問題のうち4つにおいて、他のすべての手法を大きく上回った。ブレイン関数と2つのサブセットサムインスタンスでは、グローバル最適解を達成した。
  • ブレイン関数において、GrAntの平均適応度は0.87であったのに対し、SMACは1.47であった。p値 < 0.001であり、統計的に有意な改善が確認された。
  • サブセットサムP02問題では、GrAntの平均適応度は0.65であった。SMACの1.47およびランダム探索の0.03を上回り、p値 < 0.001であった。
  • DHeap問題では、GrAntの平均適応度は46,801で、分散はゼロであった。SMACの46,752およびランダム探索の46,594を上回った。
  • 4時間のSMACタスクの最適化時間が、GrAntを用いることで46秒に短縮され、解の質が向上した上で50倍の高速化が達成された。
  • GrEvoは多様性の早期喪失により劣悪な性能を示し、最短で5世代で収束した。これは、標準的な文法的進化がリアルタイムのソフトウェア設定に適用する際の限界を示唆している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。