研究概要 |
n変数の関数f(x1,x2,...,xn)に対して,素子数がnの3乗の回路を設計したとする.はたして,良い回路が設計できたかどうかは,どのように評価すれば良いだろうか.たとえば,任意に小さい定数ε>0に対して,素子数がnの(2-ε)乗の如何なる回路でも関数fは計算できないといった最適性が,理論的に証明できればいいのだが,その証明は非常に難しいことが知られている.さらに,そのような具体的な関数fが実際に存在するか否かさえも分かっていない.本研究の目的は,計算に必要な時間や記憶領域などの計算資源量に基づく計算複雑性クラス間の包含関係や,クラス間の階層性を明らかにすることである.そして,クラスとクラスの間に存在する真に難しい関数を人工的に作成し,システム評価に役立てる. 二つの計算複雑性クラスA,Bの間に,真の階層性が存在するとは,クラスAがBに包含されており,かつ,クラスAに所属しているがクラスBには所属していないという言語が存在するということである.2012年度の研究では,多項式時間で受理できる言語のクラスPと,それを包含しているクラスNPについて,クラス間の関係を調べた.その結果,一般化四川省と呼ばれる組合せ問題がNP完全であることが分かった.この結果は,クラスPとNPの真の階層を裏付ける一つの証拠を提供している.また,計算幾何学における可視性問題の一種である最少警備員配置問題がNP困難であることも示した.さらに,クラスNPを包含しているクラスPSPACEに対しても,PSPACE完全となる問題を見つけることができた.これらは,クラスPとNP間,および,NPとPSPACE間に存在する具体的関数の有力な候補となる.また,最少警備員配置問題の研究では,警備員数の上下限(必要十分条件)を,従来の結果より強めることにも成功している.
|
今後の研究の推進方策 |
2012年度までの2年間は,いくつかの計算複雑性クラス間の包含関係と階層性について,二つの側面から研究してきた.2013年度からは,重点をクラス間の階層定理の証明に移す.具体的には,代表的な計算機モデルであるチューリング機械や論理回路族は,計算時間や記憶領域,素子数や段数を,ほんの少し増加するだけで,計算能力が真に上昇するという計算複雑性クラスの階層定理を理論的に証明する.これらは,任意に微小な関数ψ(n)に対して,t(n)時間(またはt(n)領域)で計算でき,かつ,t(n)/ψ(n)時間(t(n)/ψ(n)領域)では計算できないn変数関数f(x1,x2,...,xn) の存在性の証明を意味する.また,任意に小さい定数ε>0に対して,素子数がnのr乗の回路で計算でき,かつ,nの(r-ε)乗の如何なる回路でも計算できないn変数関数f(x1,x2,...,xn) の存在性の証明を意味する.次に,それらの階層定理に基づいて,計算複雑性クラスを分離する具体的な関数を作成する.さらに,その具体的関数を用いて,自動設計システムを実験的に評価できるようにする.
|