Automating the Design of Multigrid Methods with Evolutionary Program Synthesis

要約

最も基本的な自然法則の多くは、偏微分方程式 (PDE) として定式化できます。
したがって、これらの方程式を理解することは、現代の科学と工学の多くの分野にとって非常に重要です。
しかし、多くの偏微分方程式の一般解は不明であるため、これらの方程式の効率的な近似解は人類の最大の課題の 1 つです。
マルチグリッドは偏微分方程式を数値的に解くための最も効果的な方法の 1 つですが、多くの場合、効率的な、または少なくとも機能するマルチグリッド ソルバーの設計は未解決の問題です。
この論文は、進化的プログラム合成技術である文法誘導遺伝的プログラミングが、高度な効率と一般化を達成する前例のない構造のマルチグリッド手法を発見できることを実証します。
この目的のために、私たちは、記号操作可能な形式言語でマルチグリッド メソッドの自動生成を可能にする新しい文脈自由文法を開発します。これに基づいて、同じマルチグリッド ベースのソルバーを、そのソルバーを適応させることなく、異なるサイズの問題に適用できます。
内部構造。
効率的なマルチグリッド法の自動設計をプログラム合成タスクとして扱うことで、離散化階層の各レベルでのさまざまなスムージングと粗いグリッド補正ステップの組み合わせを含む、マルチグリッド操作の新しいシーケンスを見つけることができます。
このアプローチの実現可能性を証明するために、オープンソース ソフトウェアとして無料で入手できる Python フレームワーク EvoStencils の形式でその実装を示します。
この実装は、マルチグリッド メソッドのアルゴリズム シーケンスを Python オブジェクトの有向非巡回グラフの形式で表現することから、コード生成フレームワーク ExaStencils と進化的計算ライブラリ DEAP の機能を使用した自動生成と最適化までのすべてのステップで構成されます。

要約(オリジナル)

Many of the most fundamental laws of nature can be formulated as partial differential equations (PDEs). Understanding these equations is, therefore, of exceptional importance for many branches of modern science and engineering. However, since the general solution of many PDEs is unknown, the efficient approximate solution of these equations is one of humanity’s greatest challenges. While multigrid represents one of the most effective methods for solving PDEs numerically, in many cases, the design of an efficient or at least working multigrid solver is an open problem. This thesis demonstrates that grammar-guided genetic programming, an evolutionary program synthesis technique, can discover multigrid methods of unprecedented structure that achieve a high degree of efficiency and generalization. For this purpose, we develop a novel context-free grammar that enables the automated generation of multigrid methods in a symbolically-manipulable formal language, based on which we can apply the same multigrid-based solver to problems of different sizes without having to adapt its internal structure. Treating the automated design of an efficient multigrid method as a program synthesis task allows us to find novel sequences of multigrid operations, including the combination of different smoothing and coarse-grid correction steps on each level of the discretization hierarchy. To prove the feasibility of this approach, we present its implementation in the form of the Python framework EvoStencils, which is freely available as open-source software. This implementation comprises all steps from representing the algorithmic sequence of a multigrid method in the form of a directed acyclic graph of Python objects to its automatic generation and optimization using the capabilities of the code generation framework ExaStencils and the evolutionary computation library DEAP.

arxiv情報

著者 Jonas Schmitt
発行日 2023-12-22 17:55:48+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CE, cs.FL, cs.NA, cs.NE, math.NA パーマリンク