Multi Linear extension(MLE)
MLEの定義
関数 f:{0,1}ℓ→F に対して、F 上のℓ 変数多項式 g が f を拡張すると言うのは、すべての x∈{0,1}ℓ に対して f(x)=g(x) が成り立つときである。
そして [$ f: {0,1}^{\ell} \to \mathbb{F}] は、一意の多重線形拡張 (MLE) [$ \tilde{f}] を持つ。
ここでmultilinerとは各変数の次数が高々1である多項式のことであり、(1−x1)(1−x2)はmultilinerですがx12x2はmultilinerではありません。
例としてf:{0,1}ℓ→Fとf~:F2→Fを以下のように表現します
緑部分を拡張したのがMLEを表しています。ここでは便宜上5×5の行列で表現します。

\tilde{f}(x_1,x_2)=(1-x_1)(1-x_2)+2(1-x_1)x_2+8x_1(1-x_2)+10x_1x_2であるとき
\tilde{f}(0,0)=1
\tilde{f}(0,1)=2
\tilde{f}(1,0)=8
\tilde{f}(1,1)=10
というように、元のfと同じ評価を得ることができます。
またnon MLE なg(x_1,x_2)=-x^2_1+x_1x_2+8x_1+x_2+1は同様に元のfと同じ評価を得ることができます
g(0,0)=1
g(0,1)=2
g(1,0)=8
g(1,1)=10
効率的なMLEの評価
この表のように関数 f:{0,1}ℓ→F の全ての評価値(つまり f の全ての入力に対する出力)が与えられているとします。このとき、任意の点 r∈Fℓ における拡張された関数 f~(r) の値を効率的に計算したいとします。
各入力 w∈{0,1}ℓ に対して、次のように多重線形ラグランジュ基底多項式 δw(r) を定義します
これは特定の w に対応する多項式です。次の式で f~(r) を表現できます:
ここで、各 w に対する f(w) の値と基底多項式 δw(r) を掛け合わせて合計を取ります
計算コストの評価
• 各 w∈{0,1}ℓ に対して δw(r) を計算するには、 O(ℓ) のフィールド演算が必要です。
• よって、全体での計算量は O(ℓ2ℓ) となります。
• さらに、動的計画法を用いることで、計算時間を O(2ℓ) に減らすことができます。
Last updated