ソートに対応する複雑度クラス


14

TCSの2つの部分は、アルゴリズムと複雑さです。アルゴリズムは上限の研究であり、制限されたリソースを使用して何かを実行できることを示し、複雑さは最小限のリソースなしで実行できないことを示すことを単純に言います。

そのため、多くの場合、アルゴリズムの問​​題は、複雑さのクラスに配置するために意思決定モデルに記述されます。

しかし、常に気になっているのは、一部の基本アルゴリズムが特定のクラスに属していると絶対に言及されていないことです。1つの例は(比較)ソートです。試してみてください、関連するクラスは不十分すぎるようです(実際、結果がソートされるのは単にログスペースをチェックしているだけですか?

比較ソートが存在する最適/最も適切/最も有用な複雑度クラスは何ですか?

回答:


17

ソートの問題は、実際は( -reductionの下)で完了します。これの標準的なソースは、Vollmerの本のセクション1.4.3です。TC0AC0

は決定問題のクラスであることに注意してください。しかし、通常はソートを関数問題と考えます。つまり、数値を非減少順に出力したい、ということです。ただし、次のようにソートを決定問題として定義することもできます。TC0

一連の数字を考えると1... Nと二つの数のk P [ N ]、我々がどうかを判断したいkは位置にあるP私たちはソートして取得順に1... nは非減少で注文。とき回避のあいまいさに、という注意私は = jは、私たちが望む私が先行するjであれば、私< Ja1ankp[n]akpa1ana=ajaaj<j


素晴らしい...正式な意思決定の問題として指定されている?
ミッチ

1
回答に参照を含めると、倍になります。
オレクサンドルボンダレンコ

@Mitchと@Okeksandr:コメントありがとうございます!これらのポイントを明確にするために、答えを拡張しました。
大ル

これは、注文統計の決定問題のように聞こえます。すべてが適切な場所にある関連する問題はありますか?シーケンス与えられたようなものNと置換σ上の[ 1 ... N ]、場合決定1 K < J Nσ K < σ J。これはあなたのものと同じくらい難しいです。インクルードクラスの方が難しいですか、完全ですか?a1anσ[1 ..n]1k<jnaσk<aσj
ミッチ

2
@Mitch:私は、すべてがそのような適切な場所にあるかどうかを確認することは、実際にソートするよりも簡単だと信じています。直感は、あなたがそれをチェックできるということであるσ のk < σ jのすべての可能なペアのためのσ Kσ JK < J私はで行うことができると信じて並行して、A C 0を。上記のソートの問題では、「カウント」して、線形順序で数値の正しい位置を把握できる必要があります。aσk<aσjaσkaσjk<jAC0
大ル

0

私は信じているFPはあなたが探しているものです。


まあ、私は機能的なクラスではなく関連する決定の複雑さのクラスを探していますが、それでも、比較ソートはP完全(またはFP完全)に近い場所ではないことをかなり確信していますので、 in / completeが期待されるより小さなクラス。
ミッチ

完全性があなたの質問の要件の1つであることは知りませんでした。決定問題として(完全性の制約を無視する場合)、なぜPは答えとして受け入れられないのでしょうか?DTMを指定すると、多項式時間で証明書を作成および検証できます。
ニコラスマンクーソ

一般的な問題を考えると、私が通常知りたいのは、それが多項式時間であることだけではなく、それが含まれる最小クラスです。LOGCFL、NL、L、AC_0などにあるかどうかを知りたいです。これは、あなたがこれ以上「できない」ことの1つです。だからnitは私の質問の要件ではありませんが、答えになる可能性が高いものです。
ミッチ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.