アルゴリズムに関する優れた数学の本[終了]


11

私は数学的優雅さと厳格さの吸盤です、そして今、アルゴリズムとアルゴリズム分析に関するそのような文献を探しています。今では、どのアルゴリズムがカバーされているかは問題ではありませんが、それらがどのように提示および処理されるは非常に重要です。使用するすべての概念を厳密かつ抽象的な方法で定義する非常に明確で正確な言語を最も重視しています。

私は、Cormen、Leiserson、Rivest、Steinによる古典的なアルゴリズムの紹介がかなり巧妙であるが、数学をうまく処理せず、その証明と定義については非公式です。Sipserの計算理論入門は、その点では優れているように見えますが、それでも数学からアルゴリズムへのシームレスな移行は提供していません。

誰かが何かをお勧めできますか?


注意:アルゴリズムは、グラフ、配列、セット、リスト、ツリーなどの古典的な非自明な抽象データ構造を使用して、必要なデータの管理に少なくとも侵入する必要があります。データ構造の使用と管理の問題を完全に無視したとしても、あまり興味はありません。しかし、私はそれらで解決された問題についてはあまり気にしません。


2
これは主観的です。「良い」を定義します。また、リストの質問に対する厳密なポリシーはありませんが、 一般的な嫌悪感があります。これこの議論にも注意してください。そこで説明されている問題を回避するために、質問を改善したい場合があります。質問を改善する方法がわからない場合は、コンピュータサイエンスチャットでお手伝いできますか?
ラファエル


@Raphaelありがとう。タイトルには「良い」という言葉しか使わなかったので、質問では自分が欲しいものを指定しました。私は意図的に具体的にしすぎませんでしたが、私の焦点が(ほのめかされたように)数学的な優雅さと厳密さであることは少なくとも明らかです。この回答が本のリストに当てはまるとは思わない。そのカテゴリに分類される本の数が多すぎてはならないからであり、そうだとしても、「厳密な質問の純粋さを保つこと」とは信じていない。ここでいくつかのstackexchangeサイトで起こっている答えの構造」-私の呼び出しではないと思います。質問を改善できるかどうかわかりません。
k.stm 2015

また、「参照リクエスト」は質問には適切ではないと思います。少なくともその説明に従っていない:私は論文を探しているのでも、特定の狭い問題に興味を持っているのでもありません。実際、カバーされる内容についてはかなりオープンです。2番目の文を参照してください。もう一度タグを外しても大丈夫ですか?たぶん私はどんな種類のアルゴリズムでコンテンツを絞り込むことができ、絞り込む必要がありますか?
k.stm 2015

2
おそらく、表示の意味論とプログラムの検証を検討する必要があります。
Yuval Filmus

回答:


7

Hendrik Lenstra は1992年に次のように書いています。

厳密な数学的観点から、アルゴリズムとその実行時間によって私が何を意味するかを定義することが望ましいのですが、そうはしません。私の主な言い訳は、これらの定義を自分で知らないということです。さらに悪いことに、正確で洗練された使いやすい適切な理論の扱いを見たことがありませんでした。文献のこの明らかなギャップを埋めることは、称賛に値する企業でしょう。

それ以来進展があったのか、それともコンセンサスで「ギャップ」と見なされているのかはわかりません。しかし、少なくとも一部の著名な数学者がアルゴリズムの導出の数学的な厳密さに不満を抱いているという点が残っています。したがって、OPの望ましい形式の形式の本が存在しない可能性があります。

Knuth、Gries、Stepanov、その他のために私たちが持っている実用的な展望の宝庫は、数学よりもプログラマーを支援することを目的としているため、必然的に厳密さには欠け、主観性に欠けます。

それでも、ステパノフの研究は、シリコンバレーで科学的合成の最高の試みの1つとして高く評価されています。

ではプログラミングの要素、アレクサンダー・ステパノフとポールMcJonesは、アルゴリズムの抽象代数的基盤を築くしようとします。この本は確かにエンティティ、値、およびそれらの属性のやや非公式な公理的定義から始まりますが、288ページでは、一連の補題を介して標準テンプレートライブラリの基礎に推論的に進んでいます。

TOC、序文、および変換とその軌道に関するサンプルの章はここで、紹介講義はここで見つけることができます

ステパノフのより最近のリラックスした本、「数学から一般的なプログラミングまで」は、エジプトの乗算からモノイド、セミグループ、ラグランジュの定理まで構築し、最終的にはイテレータとアルゴリズムを使用して現代のデータ構造を開発する、数学の歴史のロードマップによってさらに構成されていますSTL。


?!?「現在、アルゴリズムの概念の正確でエレガントで便利な数学的導出は存在しません...」チューリングマシンは
vzn 2015

1
Lenstraはリンクされた論文でチューリングマシンを扱っていますが、考えはそれらが完全な代数分析を提供しないということです。あなたがそれを自分で読みたいのであれば、引用は「ギャップ」の部分を含めて、ほとんど逐語的です。議論の余地があると思われる場合に備えて、投稿を編集して提案された「コンセンサス」を削除します。

ofc am /は、Lenstraを引用していることを認識していましたが、彼の注目に値する/議論の余地がある/疑わしいアサーションの引用符またはより長いブロック引用を追加することができました
vzn

チューリング機械は導出できないと考えてください。逆に、それらは計算システムの公理を形成します(ala -Church-Turing論文)。TMの存在の公理から派生したのは、Lenstras分析とCS全般のすべてです。
vzn 2015

1
@Raphaelさん、私の部屋を適切に掃除することが「称賛に値する企業」だとお母さんが言ったら、彼女のスピーチの要点は「あなたの部屋を掃除することを気にしないでください」です。私はあなたを誤解していますか、それとも私を誤解していますか?

7

あなたが説明する本には名前があると思います。それは7巻であり、そのうちの3つと半分だけが出版されています。The Art of Computer Programming(TAOCP)と呼ばれ、Donald Knuthによって書かれました。

それは彼が時々アプリケーションを説明するということかもしれません。しかし、あなたはいつでもそれをスキップすることができます、そして私はそれがコンテンツの多くを作ることを疑います あなたは数学にあまりがっかりしないでください。


この答えが出てくるのではないかと心配しました。私は一度それを調べたが、それは私には合わなかった。「あなたは数学にあまりがっかりしないでください。」–多分、しかし、Knuthも何かを定義していないようですが、彼はむしろそれを非公式に紹介して説明しています。でも、私が数学に期待していることではなく、アイデアを全体的に広めるのは素晴らしいことです。
k.stm 2015

たぶん、数学的に難読化された彼の作品を公開することで、この分野に貢献できるでしょう。しかし、興味があるのが「数学からアルゴリズムへのシームレスな移行」である場合は、型理論がより良いトピックになるでしょう。数学とアルゴリズムの関係はまだ研究のテーマです。
バブー2015

1
PS「この答えが出てくるのではないかと恐れた」場合は、主要な参考書の1つであるため、質問でそのように言っているはずです。完全かつ文書化された質問は、より適切な回答を得ます。
バブー2015

私が自分のコンピューターから離れていたとき、それは質問をした後にだけ私に来ました。Knuthの本に対する私の発言は、「数学的に難読化されたバージョンを公開する」というコメントに対してそれを軽蔑的な方法で解釈するべきではありません。彼のやり方は、私が探しているものでもありません。たぶん私がそこに想像するようなものは何もないのかもしれません…
k.stm '27 / 07/27

2
@ k.stmさて、それ自体が全体のトピックである難読化のことを忘れてください。ポイントは、アルゴリズムは(まだ?)数学ではないと私は信じています。あなたは形式化を得ることができるかもしれませんが、それらは実質を失う単純なエンコーディングである可能性が高く、ほとんど利益がありません。それはトピックに依存します。これは、重要なアルゴリズムを備えたオートマトン理論にはおそらくあまり当てはまりません。ポイントは、構造の抽象的な数学的性質を適切に識別することは明白ではないということです。それは形式化ではなく理解の問題であり、何年もかかります。それを物理学のように考えてください
バブー2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.