核心概念
ローカルアルゴリズムは、分散コンピューティングと離散数学の境界領域に位置する、近年著しい進歩を遂げている分野であり、本稿では、その概念的枠組みと計算量理論的側面を探求し、逐次ローカルアルゴリズムと分散ローカルアルゴリズムの等価性、ランダム性の影響、ネットワーク分解の役割について解説する。
摘要
ローカルアルゴリズム入門
本稿は、理論計算機科学と離散数学の境界領域に位置する、分散ローカルアルゴリズムの分野への入門書である。
1.1 最初の例
長い有向サイクルグラフを可能な限り少ない色数で適切に彩色することを考える。
2色で彩色する場合、1つの頂点の色を決定すると他のすべての頂点の色が決まってしまうため、柔軟性に欠ける。
3色で彩色する場合、1つの頂点の色を決定しても他の頂点の色は任意に選択できるため、柔軟性が増す。
このような彩色問題を解決するためのメッセージパッシングアルゴリズムは、ローカルアルゴリズムとして知られている。
2色で彩色する場合は、頂点数nに関係なく、少なくとも約n/4回の通信ラウンドが必要となる。
3色で彩色する場合は、O(log n)回の通信ラウンドで解決できるランダム化ローカルアルゴリズムが存在する。
1.2 正式な定義
ローカル問題
ローカル問題とは、グラフ上の問題で、解が正しくない場合、1つの頂点の小さな近傍を見ることでそれを発見できる問題のことである。
正式には、チェック可能性半径rを持つローカル問題Πは、トリプレット(S, r, P)として定義される。
Sは許容されるラベルの有限集合である。
各Pは、許容されるS彩色rホップ近傍の集合である。
グラフGにおけるΠの解は、Gのすべての頂点へのSからの色の割り当てであり、すべてのu∈V(G)に対してBG(u, r)∈Pとなるものである。
ローカルアルゴリズム
ローカルアルゴリズムは、2つの等価な方法で考えることができる。
各ノードにコンピュータがあり、メッセージパッシングプロトコルを設計し、このプロトコルのラウンド数を測定する。
各ノードの出力は、そのローカル近傍の関数である。
ラウンド複雑度tp(n)のローカルアルゴリズムは、入力グラフの各ボールB(u, tp(n))に適用して、与えられたノードuの出力を計算できる関数である。
1.3 逐次ローカル複雑性と分散ローカル複雑性
ローカルアルゴリズムの分野における最も基本的な結果の1つは、ローカルアルゴリズムのモデルが、理解しやすい逐次ローカルアルゴリズムのモデルと同じであるということである(poly log nまで)。
逐次ローカルアルゴリズムは、任意の順序でノードを反復処理し、各ノードの出力をそのローカル近傍を見ることで決定する。
分散ローカルアルゴリズムは、すべてのノードが同時に答えを出力する必要がある。
ローカル問題の分散ラウンド複雑性は、その逐次ローカル複雑性と等しい(poly log(n)まで)。
1.4 ランダム化の除去
ローカル問題の場合、ランダム化された(逐次または分散)ローカル複雑性が、決定論的な(逐次または分散)複雑性よりも大幅に低いということはない。
ローカル問題の分散ローカルアルゴリズムは、ラウンド複雑性のpoly log(n)の減速でランダム化を除去できる。
つまり、ローカル問題は、決定論的およびランダム化されたラウンド複雑性が同じである(poly log(n)まで)。
1.5 ネットワーク分解
ネットワーク分解とは、入力グラフを小さな直径のクラスタにクラスタリングすることである。
ネットワーク分解は、Theorems 1.4と1.8の証明における欠落部分を埋めるために使用される。
ネットワーク分解は、逐次ボールカービングアルゴリズムや分散ボールカービングアルゴリズムを使用して構築できる。
本稿では、ローカルアルゴリズムとその複雑性に関する基本的な概念を紹介した。ローカルアルゴリズムは、分散コンピューティングや離散数学などのさまざまな分野で重要な役割を果たしており、今後も活発な研究が期待される。