上ここで、デイブ・クラークは、漸近的な成長を比較するために、あなたが手で関数をプロットすべきであると提案しました。理論的に傾倒したコンピューター科学者として、私はこのブードゥーをプロットとして証明しません。考え直して、これは非常に有用なアプローチであり、時には十分に活用されていないことにも同意する必要があります。プロットは、最初のアイデアを得るための効率的な方法であり、時にはそれだけで十分です。
TCSを教えるとき、「常に機能するXだけを実行できる場合、正式な証明は何に必要ですか?」と尋ねる学生が常にいます。誤fallを指摘して説明するのは、彼の先生次第です。math.SEで最終的にフェールオーバーする見かけのパターンの素晴らしい例のセットがありますが、それらはかなり数学的なシナリオです。
それでは、どのようにプロット検査ヒューリスティックをだますのでしょうか?違いを見分けるのが難しい場合がいくつかあります。例えば
[ ソース ]
推測してから、実際の関数のソースを確認してください。しかし、それらは私が期待するほど壮観ではありません。特に初心者にとっても、実際の関係は機能だけから簡単に見つけることができるからです。
関数定義と合理的なプロット検査から真実が明らかではない(相対的な)漸近的成長の例はありますか?数学関数と実際のデータセット(特定のアルゴリズムの実行時間など)はどちらも歓迎です。ただし、区分的に定義された関数は控えてください。