アルゴリズムの時間/空間の複雑さを最適化するためのアルゴリズムはありますか?


9

1950年代に、ブール関数の回路を最小化するための多くの方法が発明されました。アルゴリズムの時間または空間の複雑さを最適化するために、これらのメソッドの拡張または同様のものはありますか?

たとえば、このようなアルゴリズムの入力としてバブルソートを実装すると、時間の複雑さが近いソートアルゴリズムの実装が生成され。Oログ


1
どこかに行って!!私たちのCSの専門家は、洗練されたアルゴリズムを教えることで生計を立てています。
フォンブランド

ええと...そのときAIに何を期待しますか?
オプティマイザー2016年

バブルソートはブール関数ではありません。さらに悪いことに、すべてのソートアルゴリズムが同等であるとは限りません。たとえば、一部は安定していません。
Yuval Filmus

あなたはまったく正しいですが、バブルソートと「良いソート」は、入力と出力として私が見るもののほんの一例です。詳細に集中しないでください。
オプティマイザー2016年

@YuvalFilmusが確実にソートされた配列を返すことは、trueまたはfalseを返すことよりも簡単ではありません
vonbrand

回答:


11

見上げブルムの高速化定理(;複雑性理論についての本を見て、はい、この記事は有益未満であるが)。基本的に、ほぼすべての入力データに対して、指定されたマージンでより高速な同じジョブを実行するプログラムがあるプログラムがあると述べています。

ライスの定理により、与えられた2つのプログラムが同じ仕事をするかどうかを知ることは不可能です。

はい。「プログラム」の一部の非常に制限された概念については、例を挙げれば、そのジョブに「最良の」プログラムを構築することができます。重要なクラスですら。しかし、バブルソートを表現できるものとはかけ離れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.