計算複雑性理論において、要素の区別性問題または要素の一意性問題は、リストのすべての要素が区別されるかどうかを判断する問題です。
これは、さまざまな計算モデルでよく研究されている問題です。この問題は、リストをソートし、連続する等しい要素があるかどうかを確認することで解決できます。また、各項目をハッシュ テーブルに挿入し、同じハッシュ テーブル セルに配置されている要素のみを比較するランダム化アルゴリズムによって、線形期待時間で解決することもできます。[1]
要素の一意性問題を問題の問題に還元することによって、つまり、要素の一意性問題の解決策が問題の問題を解決した後にすぐに見つかる可能性があることを実証することによって、計算の複雑さのいくつかの下限が証明されます。
決定木の複雑さ
決定木や代数決定木などの比較ベースの計算モデルでサイズ の問題を解決するために必要な比較回数はです。ここで、はビッグ シータ表記を呼びます。つまり、問題は(線形関数)に比例する比較回数で解決でき、すべてのソリューションにはこれだけの比較回数が必要です。[2]これらの計算モデルでは、入力数値はコンピュータのメモリのインデックスとして使用できません (ハッシュ テーブル ソリューションの場合のように)。入力数値には、その値の単純な代数関数を計算して比較することによってのみアクセスできます。これらのモデルでは、比較ソートに基づくアルゴリズムにより、最適な比較回数の定数倍の範囲内で問題を解決します。ランダム化代数決定木モデルでの比較の予想回数にも同じ下限が適用されます。[3] [4]
実際のRAMの複雑さ
問題の要素が実数である場合、決定木の下限は、実数の加算、減算、乗算、比較、除算または剰余(「フロア」)を含む命令セットを備えた実際のランダムアクセスマシンモデルにまで拡張されます。 [5]したがって、このモデルにおける問題の複雑さも になります。この RAM モデルは、テーブルへのインデックスを使用するアルゴリズムを包含しているため、代数決定木モデルよりも多くのアルゴリズムをカバーしています。ただし、このモデルでは、決定だけでなく、すべてのプログラムステップがカウントされます。
チューリングマシンの複雑さ
単一テープ決定論的チューリングマシンは、それぞれm ≥ log nビットのn要素に対して、時間O ( n 2 m ( m +2–log n ))で問題を解くことができますが、非決定論的マシンでは時間計算量はO ( nm ( n + log m ))です。[6]
量子複雑性
量子アルゴリズムはクエリでこの問題をより速く解くことができます。最適なアルゴリズムはAndris Ambainisによるものです。[7] Yaoyun Shiは、範囲のサイズが十分に大きい場合の厳しい下限を初めて証明しました。[8] Ambainis [9]とKutin [10]は独立して(そして異なる証明を介して)彼の研究を拡張し、すべての関数の下限を取得しました。
一般化: 繰り返し要素を見つける
サイズの多重集合に 回以上出現する要素は、比較ベースのアルゴリズムであるミスラ・グリース・ヘビーヒッターアルゴリズムによって、 の時間で見つかる可能性があります。要素の区別の問題は、 の場合のこの問題の特殊なケースです。この時間は、計算の決定木モデルでは最適です。[11]
参照
参考文献
- ^ Gil, J.; Meyer auf der Heide, F.; Wigderson, A. (1990)、「すべてのキーを定数時間でハッシュできるわけではない」、Proc. 22nd ACM Symposium on Theory of Computing、pp. 244–253、doi : 10.1145/100216.100247、S2CID 11943779。
- ^ Ben-Or, Michael (1983)、「代数計算ツリーの下限値」、Proc. 15th ACM Symposium on Theory of Computing、pp. 80–86、doi : 10.1145/800061.808735。
- ^ ディマ、グリゴリエフ; Karpinski, マレク;ハイデ、フリードヘルム・マイヤー。 Smolensky、Roman (1996)、「ランダム化代数決定木の下限」、Computational Complexity、6 (4): 357、doi :10.1007/BF01270387、S2CID 1462184。
- ^ Grigoriev, Dima (1999)、「ゼロ特性フィールド上のランダム計算ツリーの複雑度の下限」、Computational Complexity、8 (4): 316–329、doi :10.1007/s000370050002、S2CID 10641238。
- ^ Ben-Amram, Amir M.; Galil, Zvi (2001)、「代数ランダムアクセスマシンの位相的下限」、SIAM Journal on Computing、31 (3): 722–761、doi :10.1137/S0097539797329397。
- ^ Ben-Amram, Amir M.; Berkman, Omer; Petersen, Holger (2003)、「1 テープ チューリング マシンの要素の区別: 完全なソリューション」、Acta Informatica、40 (2): 81–94、doi :10.1007/s00236-003-0125-8、S2CID 24821585
- ^ Ambainis, Andris (2007)、「要素の区別のための量子ウォークアルゴリズム」、SIAM Journal on Computing、37 (1): 210–239、arXiv : quant-ph/0311001、doi :10.1137/S0097539705447311
- ^ Shi, Y. (2002).衝突問題と要素の区別問題に対する量子下限値。第43回コンピュータサイエンスの基礎に関するシンポジウムの議事録。pp. 513–519。arXiv : quant-ph/0112086。doi : 10.1109/SFCS.2002.1181975。
- ^ Ambainis, A. (2005). 「量子計算量における多項式次数と下限値: 小さな範囲での衝突と要素の区別」.コンピューティング理論. 1 (1): 37–46. doi : 10.4086/toc.2005.v001a003 .
- ^ Kutin, S. (2005). 「小範囲の衝突問題に対する量子下限値」.コンピューティング理論. 1 (1): 29–36. doi : 10.4086/toc.2005.v001a002 .
- ^ ミスラ、J.;グリース、D. (1982)、「繰り返し要素の検索」、コンピュータプログラミングの科学、2 (2): 143–152、doi :10.1016/0167-6423(82)90012-0、hdl : 1813/6345。
