Turing 機械は一つの機械を全ての入力長に用い、計算を時間順に実行する。全入力長に同じ Turing 機械を用いるモデルに対して、回路計算量では、入力長ごとに有限の回路を一つ置き、ゲート数と入力から出力までの経路長を測る。入力長ごとの回路を無関係に選ぶことを許すか、回路の効率的な生成を要求するかによって、得られる計算モデルは異なる。本記事では生成器を明示した P 一様性を採用し、決定性多項式時間との関係を証明する。
1 Boolean 回路と二つの資源
定義 1.1.入力の Boolean 回路 (Boolean circuit)は、次の印をもつ頂点からなる有限有向非巡回グラフであり、出力頂点を一つ指定したものである。
- 入力頂点と定数頂点の入次数はである。
- NOT ゲートの入次数はである。
- AND ゲートと OR ゲートの入次数はである。
辺はゲートへの入力を表す。同じ頂点から出る辺の本数、すなわち fan-out は制限しない。入力を入力頂点へ割り当て、トポロジカル順序に従って各ゲートを評価したときの出力頂点の値をと書く。
の入力頂点を除く頂点数を サイズ (circuit size)とする。入力頂点と定数頂点の深さをとし、ゲートの深さを
とする。出力頂点の深さを回路の 深さ (circuit depth)とする。
この定義は有界 fan-in を固定している。fan-in が入力長とともに増える AND または OR を一ゲートと数える別の規約では、特に深さの値が変わるため、二つの規約を混同してはならない。
命題 1.2. 回路と入力の組のうちとなるものからなる言語を 回路値問題という。回路値問題はに属する。さらに、同じ手続きによっての値を計算することができる。
証明. 有向グラフをトポロジカル整列し、その順序で各頂点の値を一度だけ計算する。NOT、AND、OR の fan-in は高々なので、整列後の各頂点の評価には定数時間しか要しない。トポロジカル整列も評価も頂点数と辺数の和に比例する時間で実行することができる。頂点と辺は入力記述に含まれるため、全時間は入力記述長の多項式である。従って、この手続きは回路値を決定する多項式時間機械である。▨
例 1.3 (サイズと深さ).個の入力の AND を考える。左から一つずつ AND を取る回路は、ではサイズ、深さである。一方、入力を二群に分ける操作を再帰的に行い、各群の AND を並列に計算する二分木型の回路は、サイズ、深さである。従って、サイズが同じ二つの回路でも深さは異なり得る。
2 回路族と P 一様性
定義 2.1. 各に対して入力 Boolean 回路を一つ対応させた列を 回路族 (circuit family) という。回路族が言語を決定するとは、全てのとについて
が成り立つことをいう。
定数が存在し、全てのについて
となるとき、は 多項式サイズ (polynomial size) である。深さについても同様に、ある多項式を全ての入力長に共通の上界として取る。
回路記述では、頂点をトポロジカル順に並べ、各頂点について印と入力元の頂点番号を二進表記する。この規約を固定すると、回路の完全な記述から回路を復元することができ、記述長は回路の頂点数と辺数の多項式である。
定義 2.2. 回路族が P 一様 (P-uniform) であるとは、ある決定性 Turing 機械と多項式が存在し、全てのについてが入力からの完全な記述を時間以内に出力して停止することをいう。をの 一様性生成器 (uniformity generator) という。
生成器は入力値ではなく入力長だけを受け取る。従って、生成器が出力するのは特定の入力に対する答えではなく、長さの全入力に共通して使用する回路である。また、一段で高々定数個の記号しか出力することができないため、P 一様な回路族の回路記述長とサイズは自動的に多項式で抑えられる。P 一様性から多項式サイズ性が従う場合でも、次の定理では Turing 機械から構成する回路のサイズを直接数える。
3 多項式時間計算を回路へ展開する
定理 3.1. 言語について、次の二条件は同値である。
- である。
- を決定する P 一様な多項式サイズ Boolean 回路族が存在する。
証明方針は、前向きでは一方向無限テープ上の有界時間計算を時刻と位置の格子へ展開し、各セル記号を one-hot 符号で表すことである。左端セルには境界専用の局所関数を用い、内点と有限窓の右端には通常の局所関数を用いる。各局所関数の真理値表を定数サイズの部分回路にして、初期配置から最終配置までを時刻順に接続する。逆向きでは、一様性生成器が出力した回路をトポロジカル順に評価する。
証明. 最初にとする。§E15.10 定義 1.4と§E15.10 系 4.2により、を決定する機械の作業テープを一本にすることができる。この機械の読取り専用入力テープと作業テープの有限使用部分を、一つのテープ上で区切り記号と二つのヘッド印を用いて表す。元の一段ごとに符号全体を有限回走査すれば、入力ヘッドが読む記号と作業ヘッドが読む記号を有限制御へ保存し、両ヘッドの移動と書込みを反映することができる。元の計算が多項式時間なら、符号長も走査回数も入力長の多項式であるため、この一テープ模倣も多項式時間である。この模倣を、入力が計算開始時に唯一のテープの左端から置かれる一テープ決定性機械として実装する。区切り付きの内部符号を用意する初期化と、その後の模倣を合わせても多項式時間である。のテープは位置からなる一方向無限テープであり、位置で左移動を命じられたヘッドは位置にとどまる。停止後は同じ受理配置または拒否配置にとどまる遷移を加える。整数が存在して、初期化と模倣のオーバーヘッドを含む全計算が
段以内に停止するようにを取る。
のテープアルファベットを、状態集合をとする。テープの一マスには、ヘッドがない場合の記号、またはヘッドと状態を併せた記号のいずれかを記録する。従って、一マスの内容は固定有限集合
の要素で表すことができる。位置にはに属さない固定左端記号があるものとみなす。入力に対し、なら初期位置の記号を、位置の記号を順にとし、それ以外の位置を空白記号とする。なら初期位置の記号をとし、それ以外の位置を空白とする。
一段でヘッドは高々一マス移動するため、
と置けば、位置は初期入力の全セルと、時刻からまでにヘッドが訪れる全セルを含む。特にではヘッド位置が高々であるため、位置は空白のままである。
内点について、決定性遷移規則から、時刻の位置の内容は、時刻の位置の内容だけで決まる。実際、ヘッドが中央または隣接位置になければ記号は変わらず、ヘッドが三つの位置のいずれかにあれば遷移規則が書込み、状態、および移動先を一意に定める。正当な配置には現れない三つ組に対する値は任意に固定する。従って、固定した有限関数
が存在する。
左端位置の次の内容は、現在の位置の内容と、左端での左移動を位置にとどめる規約から一意に定まる。正当な配置には現れない二つ組に対する値を任意に固定し、左端専用の有限関数を
とする。固定記号は、この関数が通常の三セル更新とは異なる左端更新を表すことを明示する。有限窓の右端位置では、位置の内容を固定空白としてを用いる。
各時刻、位置、記号に対して、時刻の位置がであることを表す線を置く。各位置の線は、正当な計算では一つの要素を表す one-hot 符号である。の位置では、とに対応する線をとから作る。位置では、記号に対応する線をとから作る。では位置のに対応する線を定数とする。では位置を空白とし、では位置を空白とする。定数で指定した各位置では、指定した初期記号以外の線を定数とする。また、入力ビットから指定した位置でも、上で挙げた二本以外の全ての線を定数とする。従って、を含む全ての入力長で、初期層の各位置はの要素をちょうど一つ表す one-hot 符号になる。
はごとに固定されているので、内点では、各について
となる有限個の三つ組を列挙し、それぞれの一致条件を AND で結び、得られた項を OR で結ぶことができる。この真理値表の回路化によりを計算する定数サイズ・定数深さの部分回路を得る。
左端では
となる有限個の二つ組を列挙し、位置の一致条件からを計算する境界専用の部分回路を置く。右端では
となる有限個の二つ組を列挙し、位置の一致条件から右端の次状態を計算する。三種類の部分回路はいずれも定数サイズ・定数深さである。全てのについて、位置の種類に応じた固定テンプレートを置く。
初期配置の線がの初期配置を表すことは構成から従う。時刻の線が正しい配置を表すと仮定すると、左端では、内点と右端ではの定義により、時刻の線はの一意な次配置を表す。従って、時刻に関する帰納法により、最終層はの時刻の配置を表す。受理状態を含む記号に対応する最終層の線を二分木型の OR で結んで出力とする。停止配置は変化しないようにしたため、この出力はがを受理するとき、かつそのときに限りとなる。
各時刻・位置には本の線と定数個のゲートしかなく、はに依存しない。従って、得られた回路のサイズは
であり、多項式である。各遷移層の深さは定数であるため、深さもである。
最後に一様性を示す。入力を受け取った生成器は、とを計算し、時刻、位置、記号の三重の反復によって、上で述べた固定テンプレートと配線番号を順に出力する。出力するゲート数は、各番号の長さはである。二進整数の計算を含めても、生成時間は
の多項式で抑えられる。従って、は P 一様である。
逆に、を決定する P 一様な回路族と生成器が存在するとする。入力に対し、最初にを実行しての完全な記述を得る。生成時間をとすれば、出力記述長も以下である。次に命題 1.2の手続きでを入力したを評価する。評価時間は回路記述長との多項式であり、従って全時間もの多項式である。回路族がを決定するため、この機械はの場合に、かつその場合に限り受理する。従ってである。▨
前向きの構成が作るのは、入力ごとの回路ではなく、変数を残した一つの回路である。この区別によって、同じ長さの全ての入力に共通の回路を用いるという回路族の要件が満たされる。また、局所遷移の部分回路が定数サイズである理由は、機械の状態集合とテープアルファベットを入力長によらず固定したことにある。
4 非一様な P/poly
定義 4.1. 言語が P/poly (P/poly) に属するとは、を決定する多項式サイズ Boolean 回路族が存在することをいう。一様性生成器の存在は要求しない。このような言語のクラスをと書く。
定理 3.1からが従う。しかし、P/poly の回路は入力長ごとに独立に選ぶことができ、回路列そのものを有限のアルゴリズムから生成することができるとは限らない。
命題 4.2. 任意の集合に対して、単項言語
はに属する。特に、決定不能な言語もに属し得る。
証明. 各について、なら入力の AND を出力し、なら定数を出力する回路を選ぶ。では空語をとみなし、かどうかに応じた定数回路を選ぶ。二分木型の AND を用いるとであり、はだけを、かつの場合だけ受理する。従って、この多項式サイズ回路族はを決定し、である。
Turing 機械の有限記述は可算個しかない一方、の部分集合は非可算個ある。従って、どの Turing 機械にも決定されない集合が存在する。の決定器が存在すれば、入力からを作ってその決定器を実行することにより、を決定することができる。従って、このは決定不能であるが、上の線形サイズ回路族をもつ。▨
この命題は、P/poly の個々の回路を効率的に評価することと、回路族全体を効率的に生成することが別の条件であることを示す。特定の自然な問題に対する回路下界を与えるものではない。
5 回路下界の量化
言語に対し、長さにおける特性関数
を計算する最小の Boolean 回路サイズをと書く。Boolean 関数は真理値表から積和標準形の回路を作ることができるため、この最小値は全てので存在する。
命題 5.1. 言語がに属さないことと、任意の整数と任意の実数に対して
となるが無限個存在することは同値である。
証明.なら、あると整数が存在して、全てのでとなる。従って、表示した無限性条件は成り立たない。
逆に、表示した無限性条件が成り立たないとする。このとき、あると整数について、となるは有限個しかない。その有限集合をとし、
と置く。が空なら二つ目の最大値を省く。すると全てのでである。各で最小回路を一つ選べば、を決定する多項式サイズ回路族を得るため、である。対偶により結論を得る。▨
注意 5.2 (下界で固定すべき対象). 入力長ごとに「サイズの大きい Boolean 関数が存在する」と示す量化は
である。この量化だけでは、あらかじめ固定した一つの言語の特性関数列に対する下界にならない。さらに、一様な回路族だけを排除する下界と、全ての非一様な回路族を排除してを示す下界も異なる。ゲート集合、fan-in、サイズまたは深さ、一様性、および「全ての入力長」か「無限個の入力長」かを固定してから、下界の主張を記述する必要がある。
本記事は回路下界を証明するための量化を整理するところまでを扱う。定数深さ回路などに対する具体的な下界、有限構造上の論理による計算量の特徴付け、および量子回路は、それぞれ別の計算モデルを必要とするため扱わない。
6 演習
問題 6.1.
- 入力ごとに、そのだけに正しい回路を多項式時間で生成するという条件が、P 一様性の定義と異なる理由を説明せよ。
- 定理 3.1の前向きの構成で、一つの局所更新に必要なゲート数が入力長によらない理由を説明せよ。
- P/poly の定義から一様性を除くと、決定不能な単項言語を含み得る理由を説明せよ。
- 各について大きい回路を必要とする関数が一つ存在するという主張だけでは、固定した言語の P/poly 下界にならない理由を、量化の順序を用いて説明せよ。
解答 (演習の要点).
- P 一様性の生成器はを受け取らず、だけから長さの全入力に共通する回路を出力する。を許す条件では、同じ長さの異なる入力に同一の回路を用いるという回路族の要件が失われる。
- 局所関数の入力集合はであり、機械の状態集合とテープアルファベットを固定するとの大きさも固定される。従って、その真理値表を実装する部分回路のサイズは定数である。
- 各入力長の答えを定数回路へ一ビットずつ埋め込み、回路列を生成するアルゴリズムを要求しないためである。
- 前者では入力長ごとに別の関数を後から選ぶことができる。固定した言語の下界では、最初に一つのを固定し、その特性関数列が任意の多項式上界を無限個の入力長で超えることを示す必要がある。
▨