TCSについてあまり知らない人のためのTCSの紹介本のリスト[終了]


10

オートマトン理論、アルゴリズム、複雑性理論など、入門レベルでTCSについて詳しく知りたい人に本を勧める必要がある場合、興味のある人や詳細を知りたい人にどの本を勧めますかTCS、しかしそれへの接触はありませんでしたか?


2
これはCWの質問だと思います。
Gigili

1
この質問の管理方法については、このメタディスカッションを参照してください。
ラファエル

3
cstheory.SEがあり、高度なリストをあまりにも
ULI


2
@Gigiliいいえ。以前はCWであった書籍のリストですが、現在はそうではありません。リンクしたブログ記事を読んでください。
Gilles 'SO-悪をやめる'

回答:


9

技術的な詳細に触れずに一般的な概要を知りたい場合は、David HarelのAlgorithmics:The Spirit of Computingをお勧めします。その後、これは私のお気に入りのリストです:

  • Michael Sipserによる計算理論入門:オートマトン理論、計算可能性、および複雑さへの最良の入門。
  • S. Dasgupta、CH Papadimitriou、UV Vaziraniによるアルゴリズム:技術的な証明よりも直感に重点を置いたアルゴリズムの最も直感的な紹介。
  • Jon Bentleyのプログラミング真珠:これはアルゴリズムの教科書ではありませんが、実際のプログラマーを苛立たせた実際の問題を解決するためのアルゴリズム設計手法の使用方法を美しく示しています。:-)これは、プログラミングについての事前知識がある場合に適しています。

DPVはまだ印刷されていません。それは一般的に知られていますか?
ラファエル

この回答のスコアが原因で、私は回答を集計回答に含めました。明確にするために、回答を削除することを検討してください。
ラファエル

@Raphael DPVは数年前から出版されていますが、それでもオンラインでうまく利用できます。アマゾンのような営利目的のウェブサイトにリンクしないようにしました。
2012年

@大:なるほど。あなたがリンクしているページは、「これはすぐに教科書に登場する私たちの最後から2番目のドラフトです。」と言っているので、私の混乱です。
ラファエル

7

TCSの背景がない人には、クラークの本は少し重すぎると思います。私は、本を理解するのが難しいと思っている博士課程の学生を(直接)知っています。

@Dai、あなたはおそらく正しいです。私はそれをモデルチェックのBaierの原則に変更しました
Daniil

ロジックやオートマトンの基本がなくてもモデルチェックを理解できますか?
ラファエル

1
ドラゴンブックは確かに良い参考文献です。理論的には十分でしょうか?(正直にわかりません)
ラファエル

@Raphael "Principles"は、ロジック(少なくともいくつかの必要な知識)とオートマトンを多少紹介します。それもかなり大きな本で、約980ページです。ドラゴンブックに関しては、コンパイラーはかなり理論的な領域だと思いましたね。
Daniil

6

アルゴリズム分析に必要な数学については、唯一のGKPをお勧めします。

Graham、Knuth、Patashnikによる具体的な数学
(基本的な)アルゴリズムで必要となるほとんどすべての数学の包括的で高品質な処理。これは楽しい読み物で、豊富な演習(およびソリューション)が含まれています。


私はこの本を読んでみましたが、すべてが非常に不器用で、まとまりがあると感じたので、私は好きではありませんでした。そこに数学の美しさを感じませんでした。それをSipsersのオートマトン理論の概要やロジックに関するSmullyanの本、あるいはDummit&Footeの抽象代数とさえ比較してください。多分それは私だけです、tho。
Daniil

私は第二ダニエル。理論家のための優れたツールのコレクションです。しかし、それは初心者が楽しむにはあまりにも乾燥していて技術的です。自分の魂を持っているように見えるので、私は上記の本が本当に好きです。彼らは、誰かがあなたに物語、面白いものを話しているかのように読みます。

残念ながら、それは構造的帰納、コインダクション、ドメイン理論、および理論BスタイルのTCSに必要なすべてのものをカバーしていません。
Dave Clarke

@DaveClarke:正解。数学の本にそれが含まれているとは思いません。しかし、GKPはcs-mathの本になるはずです。ロジックも含まれていないので、少し言い換えてみます。
ラファエル

2
@DaveClarke理論Bの数学に関する本をいくつか教えてください。
Daniil

5

アルゴリズム 4.エディションR.セッジウィック

アルゴリズム分析入門 P. Flajolet、R。Sedgewick

オートマトン理論、言語、および計算の概要 JEホップクロフト、JDウルマン、(R. Motwani)
1979年最初の版は、2001年第二版に欠けている多くの理論的な結果を持っています。まだ3番目のエドを見ていません。

形式言語入門 MA Harrison
1978年からですが、まだリストに載せておきたいです。

Logicomix:真実の壮大な検索 A. Doxiadis、CH Papadimitriou
それは完全に素晴らしいので!

1979年の
GareyとJohnsonのコンピュータと扱いにくさ:NP完全性理論のガイド

リストにTAoCPを掲載したいのですが、ドンクヌースの細心の注意を払ったアプローチが「入門」とは言えないことを恐れています。悲しいことに...


Logicomixは確かに宝石であり、他の人がそうではないということではありません。
Dave Clarke

LogicomixがLogiciansを「狂った」種類の人々として描写した方法は本当に好きではありません。正しい方法で説明されたときの論理のアイデアは、非常に現実的で単純なものであり、実際には「狂気」ではありません。
Dai

1
@Daiゲーデル、ヴィトゲンシュタイン、ナッシュなど、並外れた人々の生活を見てください。
uli

どれが本当に初心者向けですか?
ラファエル

@Raphael IMHOそれらすべて、そうでなければ私はそれらをここに投稿しなかっただろう。学習曲線が急になっている人もいますが、それでいいと思います。
uli

4

TCSの分野にまったく慣れていない場合は、Sipserの「Introduction to the Theory of Computation」が間違いなくあなたを始めるのに最適な本です。私は他の紹介本を読んだことがあり、私の意見では、それらのどれもシプサーの問題をもたらす方法に近づいていません。

その他の、より具体的で優れた理論書は次のとおりです。


すでに上記に述べた。
デイブクラーク

@DaveClarke私は今、私の編集と同じように、リストに多くのリソースを追加する計画だったが、私はまた、どのように強調したかった偉大 Sipserの著書は再びそれを言及することです!:-)
codd

1
ピアースの本は逸品です。私が博士号を取得したとき(タイプで)それがあったら良かったのに。
Dave Clarke

@DaveClarke私は現在、私の助言者の推薦により、学士論文のためにそれを使用しており、非常に感銘を受けています。
codd

1
参考までに、今日は後で見ていきます。あなたはKULの教授だと思います。来年、Secure Software(Veiligeソフトウェア)を勉強するために来ます。なんて小さな世界でしょう。
codd

3

TCSの理論Bの部分をカバーするいくつかの良い本:

  • CSの論理コンピュータサイエンスの論理:システムのモデリングと推論 Michael HuthとMark Ryanによる。
    コンピュータサイエンスにおけるロジックのさまざまな用途を幅広くカバーします。学部3年生程度。

  • ラムダ計算ラムダ計算と結合子。J. Roger HindleyとJonathan P. Seldinによる紹介
    プログラミング言語の基礎に不可欠な要素であるラムダ計算を紹介します。学部3年生程度。

  • ドメイン理論につながる:Davey、BAおよびPriestley、HA Cambridge University Press によるLattices and Order(2nd ed。)の紹介。(2002)。
    特にセマンティクスでの作業を計画している場合は、非常に役立つトピックを扱います。他のトピックよりも少し数学的ですが、初期の章は確かに上級の学部レベルです。

  • 意味論アプリケーションの意味論:Hanne Riis NielsonとFlemming Nielsonによる前菜
    プログラミング言語のセマンティクスへの本当に素晴らしい紹介。特定の形式を深く掘り下げるのではなく、幅広いプレゼンテーションを提供し、セマンティクスに関する他の書籍では一般に考慮されていないアプリケーションが含まれています。おそらく2年生の大学生に役立つかもしれません。


評判でさえそれらのどれも知らないので、私がそれらがどんなに良いものであるかについて私は言うことができません(私はそれについてあなたの言葉を取るつもりです)。:/
ラファエル

1
各本の説明を追加しました。すべてが良いです。
Dave Clarke

3

これは、スコアが5以上の解答からの本を含む集計解答です。チャットでその内容について話し合ってください。

アルゴリズムとデータ構造

  • Cormen、Leiserson、Rivest、Steinによるアルゴリズムの紹介(第3版2009)
    基本的なアルゴリズムとデータ構造の包括的扱いと、深く掘り下げることのないそれらの分析。
  • アルゴリズム Dasguptaさん、Papadimitriou、Vazirani(2006)によって、
    技術的な証明よりも直感に強く焦点を当てたアルゴリズムに最も直感的な紹介。

計算可能性と複雑さ

  • Sipserによる計算理論の紹介(2005年第2版)
    オートマトン理論、計算可能性、および複雑さについての最良の紹介。

形式言語とオートマトン

応用理論

  • モデルチェックの原則、バイエル、加藤園(2008)
    モデルチェックの包括的な紹介として使用できる大規模な本。
  • Jon Bentleyによるプログラミング真珠(1999年第2版)
    アルゴリズムの教科書ではなく、実際の問題を解決するためのアルゴリズム設計技法の使用方法を美しく示しています。プログラミングに関する予備知識があれば、良いスタートになるかもしれません。

これは質問に答えません、またはそれが意図されている場合、それは良い答えではありません。TCSを始めた人がこれらの本をすべて読む必要があるということですか?そうでない場合、どのように選択しますか?あなたの規則により、この答えはおそらく含むように成長させることであることに留意してください本の何百もの
ジル「SO-停止されて悪」

@Raphael他の誰かに自分の答えを削除するよう依頼するのは礼儀正しいですか?通常、質問者自身が自分の質問テキストを変更することで、お気に入りの回答を集約することができますが、自分の投稿を削除して自分の回答を作成するように他の人に強制する人を見たことはありません。このcs stackexchangeは、これらの自己陶酔的な振る舞いで奇妙になっています。
Dai

@Raphael:CWにしても、自分の答えを削除するように誰かに依頼するのは正しくありません。本や調査用紙(オンラインで無料で発行します)を書くつもりであるかのように、私はあちこちに移動して、混乱を避けるために自分の論文を削除するように引用したすべての著者に質問します。
Dai

@Raphael私のCCのライセンスのどこに、私の作品が最終的に他の誰かによって削除されるように要求されると言っているところは見当たりません。SEでどのようなファンタジーがあるのか​​はわかりませんが、ウィキペディアではありません。このウェブサイトを「モデレート」するために一生懸命取り組んでいることは承知しておりますが、他の人の言論とプライバシーの自由も尊重してください。cs SEの目標はcstheory SEよりもフレンドリーなフォーラムを初心者に提供することだと思いますが、ここで提案した管理のミクロレベルはそれをはるかに悪化させました。
2012年

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