私は自分の質問についてもっと考え、可能な解決策にたどり着きました。これには2つの制限があり、長さ文字列でのみ定義されます(これについてはさらに説明します)。代わりに、前の質問に従い、代替の計算モデルを使用して、汎用チューリングマシンについては説明しません。n=2m
基本的に、文字列を解釈できますの関数として。次に、複雑さの尺度は、f_xを表す一意の縮小順序バイナリ決定図(ROBDD、標準順序は固定)のサイズ(エッジの数)。これは条件[1]を満たします。また、ROBDDは時間多項式で計算できるため、効率的な測定方法があります。| x | = 2 M F X:{ 0 、1 } M → { 0 、1 } K '(X )F X 2 メートルx|x|=2mfx:{0,1}m→{0,1}K′(x)fx2m
条件[2]を満たすために、ノードで特別なタイプを許可することにより標準BDDを変更する必要があります。通常、ノードにはインデックスでラベルが付けられ、特別なoracleノードが含まれます。以下のためのここで次のように、BDDに特別なノードを許可します。K (x | y )| y | = 2 mi∈{1,...,m}K(x|y)|y|=2m
入力()でBDDを実行している場合、というラベルが付けられた通常のノードは、というラベルが付けられたエッジを単に送信します。代わりに、oracleノードはというラベルの付いたエッジを送信します。したがって、で、確率が高いは、がランダムに均一に選択されます。a|a|=miaify(a)K′(x|x)=2K′(x|y)≈K(x)y
[注:条件付き複雑度を効率的に計算できるかどうかは明らかではありません:(]
OBDDを作成するために、最初のビットのクエリを作成し、でのROBDDに、でのROBDDに行くことができるため、便利なことに、準加法性もあります。したがって、ます。x.y0x1yK′(x.y)≤K′(x)+K′(y)
準加法性の潜在的なコストで、2のべき乗のチャンクを取得し、それらの複雑さを加算するだけで、任意の長さを定義できます。たとえばおよびと我々は定義することができ。x | x | = 2 m | y | = 2 のL M > LのK '(X 。Y )= K '(X )+ K '(Y )K′(x)x|x|=2m|y|=2lm>lK′(x.y)=K′(x)+K′(y)
残念ながら、私のアプローチにはいくつかの制限もあります。OBDDをはるかに超えることはできません。最小限の意思決定ツリーまたは単なるBDDを検討する場合、この回答で対処する難易度の問題を把握します。OBDDの変数順序についても、難治性の結果があるようです。そのため、OBDDは、このそれほど標準的ではないコルモゴロフ複雑性アプローチの限界であると思われます。