特性テストは理論計算機科学の一分野であり、巨大なオブジェクトの特性やパラメータに関する意思決定のための超高速アルゴリズムの設計に関係している。[ 1 ]
決定問題に対するプロパティテストアルゴリズムとは、クエリ複雑度(入力に対して行われるクエリの数)が問題のインスタンスサイズよりもはるかに小さいアルゴリズムのことです。通常、プロパティテストアルゴリズムは、ある組み合わせ構造S (グラフやブール関数など)が何らかのプロパティPを満たすか、あるいはこのプロパティから「遠い」(つまり、SがPを満たすようにするにはSの表現のε分数を変更する必要がある)かを、対象に対する少数の「ローカル」クエリのみを使用して判定するために使用されます。[ 2 ] [ 3 ]
例えば、次のプロミス問題では、クエリの複雑さがインスタンスサイズに依存しないアルゴリズムが存在します(任意の定数ε > 0の場合)。
特性テストアルゴリズムは、確率的に検証可能な証明の定義において中心的な役割を果たす。なぜなら、確率的に検証可能な証明とは、本質的に特性テストアルゴリズムによって検証可能な証明だからである。
形式的には、決定問題Lに対するクエリ複雑度q ( n )と近接パラメータεを持つ特性テストアルゴリズムは、入力x ( Lのインスタンス) に対してxに対して最大q ( | x | )回のクエリを実行し、次のように動作するランダム化アルゴリズムです。
ここで、「xはLから ε 遠い」とは、 xとL内の任意の文字列との間のハミング距離が少なくともε | x | であることを意味します。
特性テストアルゴリズムは、インスタンスx ∈ Lの受理確率が2/3 ではなく 1 であるというより強い条件を満たす場合、片側エラーを持つと言われます。
プロパティテストアルゴリズムは、以前のクエリに対する回答を「観察」する前にすべてのクエリを実行する場合、非適応的であると言われます。このようなアルゴリズムは、次のように動作すると考えられます。まず、アルゴリズムは入力を受け取ります。入力を見る前に、アルゴリズムは内部の乱数を使用して、入力のどのシンボルをクエリするかを決定します。次に、アルゴリズムはこれらのシンボルを観察します。最後に、追加のクエリを実行することなく(ただし、乱数を使用する可能性はあります)、アルゴリズムは入力を受け入れるか拒否するかを決定します。[ 2 ]
特性テストアルゴリズムの主な効率パラメータはクエリ複雑度であり、これは、与えられた長さのすべての入力(およびアルゴリズムによって行われるすべてのランダムな選択)に対して検査される入力シンボルの最大数です。コンピュータ科学者は、クエリ複雑度が可能な限り小さいアルゴリズムの設計に関心を持っています。多くの場合、特性テストアルゴリズムの実行時間はインスタンスの長さに対して準線形です。通常、目標は、まずインスタンスサイズnの関数としてクエリ複雑度を可能な限り小さくし、次に近接パラメータεへの依存性を研究することです。
他の複雑性理論の設定とは異なり、プロパティテストアルゴリズムの漸近クエリ複雑性は、インスタンスの表現によって大きく影響を受けます。たとえば、ε = 0.01の場合、密なグラフ(隣接行列で表される)の二部グラフ性をテストする問題は、定数クエリ複雑性のアルゴリズムで解決できます。一方、n個の頂点を持つ疎なグラフ(隣接リストで表される)では、クエリ複雑性がΩ ( n 1/2 )のプロパティテストアルゴリズムが必要です。
非自明なすべての特性について、近接パラメータεが小さくなるにつれて、特性テストアルゴリズムのクエリ複雑度は増加します。入力中のε未満のシンボルの変化は、O (1/ ε )未満のクエリを使用して一定の確率で検出できないため、このεへの依存性は必要です。密なグラフの多くの興味深い特性は、グラフサイズnではなくεのみに依存するクエリ複雑度を使用してテストできます。ただし、クエリ複雑度はεの関数として非常に速く増加する可能性があります。たとえば、長い間、グラフに三角形が含まれていないかどうかをテストする最もよく知られたアルゴリズムのクエリ複雑度はpoly(1/ ε )のタワー関数でしたが、2010 年にようやくlog(1/ ε )のタワー関数に改善されました。この境界の巨大な増加の理由の 1 つは、グラフの特性テストに関する肯定的な結果の多くが、結論にタワー型の境界も含まれるSzemerédi 正則性補題を使用して確立されていることです。特性テストとSzemerédiの正則性補題および関連するグラフ除去補題との関連性については、以下で詳しく説明する。
n個の頂点を持つグラフGの場合、ここで用いる距離の概念は編集距離です。つまり、2 つのグラフ間の距離は、ε n 2個の辺を追加および/または削除して最初のグラフから 2 番目のグラフに到達できる最小のεであると定義します。グラフの適切な表現の下では、これは(定数の変更を除けば)以前のハミング距離の定義と同等です。
グラフの文脈におけるプロパティテストの一般的な概念を厳密にするために、グラフプロパティPのテスターは、GがP を満たす場合と、 GがP を満たすことから編集距離εだけ離れている場合を、少なくとも 3 分の 2 の確率で区別する必要があるとします。テスターは、オラクルにアクセスして、 G内の頂点のペア間にエッジが存在するかどうかを問い合わせることができます。クエリの複雑さは、このようなオラクルクエリの数です。テスターが偽陽性であって偽陰性がない場合、つまり、 G がP を満たす場合、テスターは常に正しい答えを出力する場合、テスターは片側エラーであるとします。 [ 4 ] [ 5 ]
Pを満たすグラフとPから遠いグラフを区別することはできますが、 Pを満たすグラフと満たさないグラフを区別することはできません。後者の場合、 Pを満たすグラフGと、Pを満たさないグラフHを、わずかな辺だけを変更して考えてみましょう。例えば、三角形がちょうど1つあるグラフHと、三角形の辺の1つが削除されたグラフGを用いて、三角形フリー性をテストする場合です。この場合、テスターはすべての辺を照会しない限り、両者を区別することはできません。しかし、テスターはすべての辺を照会することはできません。
グラフ特性テストの分野は、Goldreich、Goldwasser、およびRonによって初めて導入されました。1998年に発表された彼らの画期的な論文では、抽象的なグラフ分割問題が分析され、いくつかのテスターが提供されています。これらには、二部グラフ性、k彩色可能性、大きなクリークを持つこと、大きなカットを持つことなど、いくつかの重要なグラフ特性が特殊なケースとして含まれています。[ 4 ]特に、部分グラフをサンプリングしてそれが特性を満たすかどうかをチェックする自然なアルゴリズムはすべて正しいですが、クエリの複雑さは最適ではない可能性があります。
それ以来、関連するいくつかの発見がなされてきた。
グラフの性質は、頂点の削除によって保持される場合、または同等に、誘導部分グラフを取っても保持される場合に、遺伝的性質であると言います。重要な遺伝的性質としては、H-フリー性(あるグラフHについて)、k-彩色可能性、平面性などがあります。すべての遺伝的性質はテスト可能です。
この証明は、誘導部分グラフの無限族に対するグラフ除去補題のバージョンに基づいています。この正則性アプローチを用いたクエリの複雑さは、Szemerédiの正則性補題におけるタワー関数の上限のために大きくなります。
非公式には、無頓着なテスターは入力のサイズを認識しません。グラフプロパティPの場合、それはパラメータεとグラフGを入力として受け取り、近接パラメータεを持つプロパティPに対してG上でプロパティ テスト アルゴリズムとして実行され、 Gに対して正確にq ( ε )回のクエリを実行するアルゴリズムです。
重要な点として、無知なテスターが行うクエリの数は、入力グラフGのサイズではなく、εのみに依存する定数です。プロパティテストアルゴリズムと完全に類似しており、片側エラーを持つ無知なテスターについて議論することができます。
テスターが頂点の数にアクセスする必要があるようなグラフの特性をいくつか考案することができる。
この場合、テスターは頂点の数を知らない限り、どの特性(二部グラフ性または完全性)をテストすべきかを区別することさえできません。このような不自然な特性の例は数多く存在します。実際、片側誤差を持つ無知なテスターによってテスト可能なグラフ特性の特徴付けは、自然な特性のクラスにつながります。
自明なことに、遺伝的性質は半遺伝的でもある。この特徴付けは、上記のアロンとシャピラの定理の逆、すなわち、容易にテストできる性質(片側誤差を持つ無自覚なテスターを持つ性質)はほぼ遺伝的であるということに部分的に答える。同じ論文で、彼らは次のことを示した。
このセクションでは、三角形フリー性、二部グラフ性、およびk彩色可能性に対する、片側誤差を持つ自然なオブリビアス テスト アルゴリズムをいくつか紹介します。これらのアルゴリズムは、グラフGの頂点のサブセットX をランダムにサンプリングし、総当たり探索によってXによって張られる部分グラフ上でグラフ特性が成り立つかどうかを確認するという自然なアイデアに従っているという意味で自然です。これらの特性は実際には遺伝的であるため、片側誤差となります。つまり、 G がその特性を満たす場合、 Xによって張られる誘導部分グラフもその特性を満たすはずなので、テスターは常に受け入れます。
三角形フリー性については、このテスターは三角形除去補題の応用です。具体的には、グラフGが三角形フリーからεだけ離れている場合、 G が少なくともδ n 3個の三角形を持つような(計算可能な) 定数δ = δ ( ε )が存在することを示しています。
例(三角形不存在性判定アルゴリズム)。
- グラフGが与えられたとき、 q ( ε ) = 1/ δ個の頂点のトリプルからなるランダムな集合 X を独立にランダムに選択します。ここでδは上記のとおりです。
- Xの任意の 3 つの頂点について、その 3 つの頂点のペアすべてがGで隣接しているかどうかを問い合わせます。
- このアルゴリズムは、どの3つの頂点も三角形を形成しない場合は受理し、そうでない場合は拒否する。[ 1 ]
二部グラフ性およびk彩色性については、δ を以下のテスターのエラー確率の望ましい上限とします。クエリの複雑さと実行時間を混同しないように注意してください。後者は、誘導された部分グラフ上の特性をテストするための多項式時間決定アルゴリズムがないため、多くの場合指数関数的になります (両方の場合に当てはまります)。代わりに、総当たり探索によってチェックします。[ 4 ]
例(二部グラフテストアルゴリズム)
例(k彩色可能性テストアルゴリズム)。