JP ZK Learning Club
  • 貢献について
  • 前提知識
    • 暗号学
      • 決定問題
      • P/NP問題
      • 計算複雑性理論
    • 数学
      • 代数的構造
      • 離散対数問題 (DLP)
      • 楕円曲線
      • 算術回路
  • PSE-Core-Program
    • Week 1
    • Week 2 さらなる暗号技術とSNARKsとSTARKs
    • Week 5 Frontier
  • zkSNARKs
    • Spartan
  • Folding Scheme
    • Nova
    • SuperNova
    • HyperNova
    • NeutronNova
    • CycleFold
  • Lookup Argument
    • 概要とLasso以前の提案
    • Lasso
  • zkVM
    • Backgrounds
      • Multi Linear extension(MLE)
      • Folding scheme
      • Lookup Singularity
      • Cycle of Curves
      • Extension Field
      • Glossary
      • CCS
      • Switch-board (Nebula)
    • Building Blocks
      • Binius
      • GKR
      • Circle STARK
      • Sum-check Protocol
    • 動作概要
    • ゼロ知識証明
      • メモリ読み込み・書き込みの一貫性
        • Merkle-Tree
        • Spice
        • Jolt-Memory-Checking
        • Nebula
        • Proof-for-Deep-Though
      • 命令の実行
      • バイトコードから命令へのデコード
    • プロジェクト
      • SP1
      • RISC-Zero
      • Jolt
      • Valida
      • Nexus
Powered by GitBook
On this page
  • MLEの定義
  • 効率的なMLEの評価
  • 計算コストの評価
  1. zkVM
  2. Backgrounds

Multi Linear extension(MLE)

PreviousBackgroundsNextFolding scheme

Last updated 7 months ago

MLEの定義

関数 f:{0,1}ℓ→Ff: \{0,1\}^{\ell} \to \mathbb{F}f:{0,1}ℓ→F に対して、F\mathbb{F}F 上のℓ\ellℓ 変数多項式 ggg が fff を拡張すると言うのは、すべての x∈{0,1}ℓx \in \{0,1\}^{\ell}x∈{0,1}ℓ に対して f(x)=g(x)f(x) = g(x)f(x)=g(x) が成り立つときである。

そして [$ f: {0,1}^{\ell} \to \mathbb{F}] は、一意の多重線形拡張 (MLE) [$ \tilde{f}] を持つ。

ここでmultilinerとは各変数の次数が高々1である多項式のことであり、(1−x1)(1−x2)(1-x_1)(1-x_2)(1−x1​)(1−x2​)はmultilinerですがx12x2x_1^{2}x_2x12​x2​はmultilinerではありません。

例としてf:{0,1}ℓ→Ff: \{0,1\}^{\ell} \to \mathbb{F}f:{0,1}ℓ→Fとf~:F2→F\tilde{f}:\mathbb{F}^2 \to \mathbb{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}ℓ→Ff : \{0,1\}^\ell \rightarrow \mathbb{F}f:{0,1}ℓ→F の全ての評価値(つまり fff の全ての入力に対する出力)が与えられているとします。このとき、任意の点 r∈Fℓr \in \mathbb{F}^\ellr∈Fℓ における拡張された関数 f~(r)\tilde{f}(r)f~​(r) の値を効率的に計算したいとします。

各入力 w∈{0,1}ℓw \in \{0,1\}^\ellw∈{0,1}ℓ に対して、次のように多重線形ラグランジュ基底多項式 δw(r)\delta_w(r)δw​(r) を定義します

δw(r)=∏i=1ℓ(riwi+(1−ri)(1−wi))\delta_w(r) = \prod_{i=1}^\ell (r_i w_i + (1 - r_i)(1 - w_i))δw​(r)=i=1∏ℓ​(ri​wi​+(1−ri​)(1−wi​))

これは特定の www に対応する多項式です。次の式で f~(r)\tilde{f}(r) f~​(r) を表現できます:

f~(r)=∑w∈{0,1}ℓf(w)⋅δw(r)\tilde{f}(r) = \sum_{w \in \{0,1\}^\ell} f(w) \cdot \delta_w(r)f~​(r)=w∈{0,1}ℓ∑​f(w)⋅δw​(r)

ここで、各 www に対する f(w)f(w)f(w) の値と基底多項式 δw(r)\delta_w(r)δw​(r) を掛け合わせて合計を取ります

• 各 w∈{0,1}ℓw \in \{0,1\}^\ellw∈{0,1}ℓ に対して δw(r)\delta_w(r)δw​(r) を計算するには、 O(ℓ)O(\ell) O(ℓ) のフィールド演算が必要です。

• よって、全体での計算量は O(ℓ2ℓ)O(\ell 2^\ell)O(ℓ2ℓ) となります。

• さらに、動的計画法を用いることで、計算時間を O(2ℓ)O(2^\ell)O(2ℓ) に減らすことができます。

made by author