対話型証明では、計算能力に制限のない prover が、確率的多項式時間の verifier とメッセージを交換する。正しい入力では、ある prover が高い確率で verifier を受理させることを完全性が要求する。誤った入力では、どのような prover も高い確率では受理させることができないことを健全性が要求する。二つの条件では prover に対する量化が逆になる。
1 プロトコルと量化
入力と、それまでに交換したメッセージ列を記録という。prover の戦略は、入力と記録から次のメッセージを選ぶ関数であり、計算時間に制限を課さない。verifierは、入力、記録、および verifier 自身の乱数テープから次のメッセージまたは受理・拒否を計算する確率的 TM である。
ここで確率的 TM とは、決定性 TM に読取り専用の一方向乱数テープを加えた機械である(§E15.14 定義 1.1)。乱数テープの各マスには互いに独立で公平なビットが置かれ、機械はビットを一つ読むたびに乱数ヘッドを右へ一マス進める。入力と乱数列を固定すると、一つの prover 戦略に対する対話の計算は決定的になる。定義 1.1 条件 (a)により対話全体は段以内に終わるため、verifier が読む乱数は高々ビットである。したがって、対話の結果に関する事象の確率は、長さのビット列全体のうち、その事象を満たすものの割合として定める。
定義 1.1. 言語に対する対話型証明系の verifier (interactive-proof verifier) は、確率的 verifierであって、ある多項式が存在して次を満たすものである。確率は verifier の乱数だけに関して取る。
- は全ての入力、全ての乱数列、および全ての prover 戦略に対し、全対話を段以内に終える。したがって、ラウンド数とが読み書きする通信量も以下である。
- 完全性 (completeness) として が成り立つ。
- 健全性 (soundness) として が成り立つ。
完全性のを正直な prover (honest prover)、健全性で量化するを不正な prover (cheating prover) と呼ぶ。
完全性のは verifier の定義に固定された成分ではなく、完全性条件の内側で存在量化される。
prover が内部乱数を使う場合でも、健全性では決定性の戦略だけを調べれば十分である。実際、prover の内部乱数を固定するごとに決定性の戦略が一つ定まり、乱択 prover の受理確率はそれらの受理確率の加重平均である。全ての決定性の戦略の受理確率が以下なら、その加重平均も以下である。
定義 1.2. verifier の乱数テープの内容が prover から隠され、verifier が乱数から計算したメッセージだけが prover に渡される対話を非公開コイン型(private-coin)プロトコル (private-coin protocol) という。
verifier が各ラウンドで送るメッセージが、新しく生成した公平な乱数ビット列そのものであり、送信した乱数を prover も全て知る対話を公開コイン型(public-coin)プロトコル (public-coin protocol) という。verifier は最後の判定で、公開した乱数、入力、および全記録を使用することができる。
公開コイン型であるためには、乱数から計算した像だけを送るのではなく、判定に用いる乱数自体を公開する必要がある。乱数を隠すことが健全性の根拠になるプロトコルは、そのままでは公開コイン型プロトコルではない。
2 グラフ非同型の非公開コイン型プロトコル
有限単純無向グラフの頂点集合をとする。置換によって頂点名を付け替えたグラフをと書く。二つのグラフが同型であるとは、あるについてとなることをいう。
定義 2.1 (グラフ非同型言語).
と定める。この言語を グラフ非同型言語 (graph nonisomorphism language) という。頂点数が異なる二グラフは同型でない。不正なグラフ符号は言語に含めない。
厳密な一様置換を、有限個の公平な乱数ビットだけで最悪時多項式時間内に生成することは一般にはできない。実際、固定長の公平なビット列から得る各出力確率はの冪を分母にもつが、はでその形にならない。そこで、固定長のラベルから近一様な置換を作る。
補題 2.2.とし、
と置く。各頂点に、独立で一様なビット整数を割り当てる。全てのラベルが異なれば、ラベルの小さい順に頂点を並べる置換を出力し、衝突があれば恒等置換を出力する。この手続きをと書く。
この手続きは必ず個の乱数ビットを読んで多項式時間で停止する。出力分布を、上の一様分布をとすると、
である。ただし、有限集合上の全変動距離を
と定める。
証明. 異なる二頂点についてである。いずれかの衝突が起こる確率は、頂点対に関する和集合評価により
となる。
衝突がないという条件の下では、ラベルの相対順序は上で一様である。実際、各について、の順に増加する相異なるラベルの選び方は個であり、によらない。したがって、衝突時の出力分布をとすれば
である。よって
となる。
手続きはビットを一度だけ読み、全ての頂点対のラベルを比較して衝突を検査し、例えば選択ソートで相対順序を求める。比較回数は、一回の比較時間はなので、最悪時時間はである。であるため、グラフの符号長に関する多項式時間である。▨
同じ頂点数の二グラフに対し、次の一回プロトコルを考える。
- verifier はを一様に選び、を独立に生成する。
- verifier はを prover へ送るが、、ラベル、およびは送らない。
- prover はビットを返す。
- verifier はの場合に限って受理する。
頂点数が異なる場合には verifier は直ちに受理し、不正な符号は直ちに拒否する。では二つの正しいグラフは必ず同型なので、verifier は直ちに拒否する。
定理 2.3. 上の一回プロトコルは、の場合に完全性をもち、となる正しいグラフ符号に対し、任意の prover の受理確率が高々
である。
証明. 最初にとが非同型であるとする。送られたはと同型である。がとも同型ならば、同型写像を合成することでとが同型となり、仮定に反する。したがって、はのちょうど一方と同型である。計算能力に制限のない正直な prover は、全ての置換を調べてがどちらと同型かを決定し、その添字を返すことができる。したがって、verifier は全ての乱数選択で受理し、完全性はである。
次にとが同型であるとする。となる置換を固定する。の条件下で送られるの分布をとする。置換が一様分布に従う理想的な場合には、写像が上の全単射であるため、との送信グラフは同じ分布をもつ。
置換をグラフへ写す操作は、全変動距離を増加させない。実際、写像による像分布について、
したがって、補題 2.2により
三角不等式からを得る。
決定性の prover の返答をと書く。は一様なので、受理確率は
最後から二つ目の等号はを有限和へ適用した結果である。乱択 prover の受理確率も決定性の戦略の受理確率の加重平均なので、同じ上界を満たす。▨
例 2.4 (三角形と道に対するプロトコルの実行). 頂点集合上で、を辺をもつ三角形、を辺だけをもつ道とする。頂点名の付け替えは辺の本数を変えないため、辺数のと辺数のは同型でなく、である。
なのでであり、verifier は選択ビットにビット、三つのラベルにビットの乱数を読む。たとえばを選び、ラベルが衝突なく、、と得られたとする。ラベルの小さい順は頂点であるから、生成される置換は、、である。verifier は、すなわち辺をもつグラフを送る。
prover はの辺数を数える。同型なグラフの辺数は等しいから、と同型であり得るのはだけである。prover はを返し、なので verifier は受理する。の場合も、送られるグラフの辺数がになるため、同じ返答規則がを与える。どの乱数選択でもが成り立つため、この入力に対する受理確率はであり、定理 2.3の完全性を与える。
一方、とがともに同じ三角形である入力はに属さない。三角形は任意の置換で三角形のまま変わらないため、はによらず同じグラフであり、の情報を一切運ばない。返答はと独立な一つのビットに定まり、は一様であるから、どの返答規則でも受理確率はちょうどである。これは定理 2.3の上界の中に収まる。
一回の健全性上界は定義 1.1の以下という規約を満たさない。そこで、独立な二回以上の課題を同時に送り、全ての返答が正しい場合だけ受理する。
定理 2.5. 正の整数に対し、verifier が独立に
を生成し、を全て送るとする。prover はを返し、verifier は全てのでの場合に限って受理する。このプロトコルは、非同型グラフ対に対して完全性をもち、同型グラフ対に対して任意の prover の受理確率が
以下である。特になら完全性はであり、健全性は
であるため、の対話型証明系を与える。
証明.が非同型ならば、正直な prover は各がどちらのグラフと同型かを一意に決定し、を全てので返す。したがって、受理確率はである。
が同型であるとし、一回の条件付き送信分布を前定理と同じとする。一回の最適なビット推測確率を
と置く。各回は互いに素な乱数ビット区間を使うので、ランダムなビットベクトルをと書き、その値を、送信グラフの値をとした条件付き確率は
である。
決定性の prover の返答をとする。を固定したとき、この返答が当たる項を、全ての候補のうち最大の一項で上から抑える。全て有限和なので、積の分配法則を用いて
第3行では、積を最大にする各を座標ごとに選ぶことができ、その後のに関する有限和が積へ分解されることを用いた。乱択 prover の成功確率は決定性の戦略の成功確率の加重平均なので、同じ上界を満たす。
各回はちょうど個の乱数ビットを読み、近一様置換の生成、隣接行列の頂点名変更、および返答ビットの比較は最悪時多項式時間で終わる。固定したでは verifier の時間と通信量も入力長の多項式であり、上で示した健全性は未満である。▨
3 非公開コイン型であることの役割
命題 3.1. グラフ非同型プロトコルで verifier がとともにを prover へ公開すると、同型グラフ対に対する受理確率をにする prover が存在する。したがって、その変更後の手続きはの健全な証明系ではない。
証明. prover はグラフを調べず、公開されたをそのままとして返す。このとき全ての入力と全ての verifier の乱数についてなので、verifier は確率で受理する。特にという言語外の入力でも受理確率がとなり、健全性上界に反する。▨
上のプロトコルで verifier のメッセージは乱数から計算した像であり、乱数そのものではない。したがって、このプロトコルは非公開コイン型プロトコルである。命題が示すのは、この構成で乱数を公開するだけでは公開コイン型へ変換することができないという事実であり、グラフ非同型について別の公開コイン型プロトコルが存在するかどうかを判定する主張ではない。
注意 3.2 (本記事で扱わない分類定理). 対話型証明系を一つの計算量クラスとして集め、既存の決定性または非決定性計算量クラスと比較するには、本記事の一プロトコルの確率解析とは別の一般的なシミュレーション定理が必要になる。本記事はそのようなクラス全体の特徴付けを主張にも証明にも用いない。
4 演習
問題 4.1.
- 完全性の prover に対する量化が「ある」であり、健全性の prover に対する量化が「全ての」である理由を説明せよ。
- の場合、二つの条件付き送信分布の全変動距離が以下になる理由と、一回のビット推測成功確率が以下になる理由を説明せよ。
- グラフ非同型プロトコルを三回独立に並列反復した場合の完全性と健全性上界を求めよ。
- verifier が置換だけを公開し、選択ビットを隠した場合、この手続きが定義 1.2の公開コイン型プロトコルではない理由を説明せよ。
解答 (演習の要点).
- 正しい入力では証明を知る一つの戦略が成功すればよいが、誤った入力では verifier を欺こうとするどの戦略にも受理確率の上界を課す必要があるためである。
- 一様置換を使う理想分布は、の全単射性により二つの選択ビットで共通である。各はから全変動距離以下なので、三角不等式からを得る。二分布を等確率で選んだ後の最適な推測成功確率はなので、以下である。
- 非同型の場合の完全性はである。同型の場合の健全性はである。
- verifier が判定に使う乱数のうちが prover に公開されていないためである。乱数から得た一部の情報を送るだけでは公開コイン型の定義を満たさない。
▨