Awesome Theoretical Computer Science
Theoretical Computer Scienceを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
- 概説
- 講義ノート | 講義動画プレイリスト | 書籍 | ハンドブック
- 計算理論
- 論理学
- プログラミング言語理論
- アルゴリズム
- 情報理論・符号理論
- 暗号理論
- 機械学習理論
- ゲーム理論
- 数学と論理
- 一般
- 講義動画プレイリスト | 書籍 | 講義ノート
- 理論計算機科学の道具箱
- 講義動画プレイリスト | 講義ノート | 書籍
- 離散数学
- 一般
- 物理学
- 哲学
- サーベイとモノグラフ
- コミュニティ
- その他
- 関連リスト
概説
講義ノート
- Barak. Introduction to TCS - 理論計算機科学の概説を学ぶための講義ノート。
講義動画プレイリスト
- Yanofsky. Theoretical Computer Science - 大学院レベルの計算理論の導入
- Anil Ada. Great Ideas in Theoretical Computer Science. CMU - 理論的コンピュータサイエンスにおける選ばれた重要なテーマについての講義シリーズ
- O’Donnell. Great Ideas in Theoretical Computer Science. CMU - 理論的コンピュータサイエンスにおける選ばれた重要なテーマについての講義シリーズ
書籍
- Wigderson. Mathematics and Computation: A Theory Revolutionizing Technology and Science - 複雑性理論の包括的な調査で、この分野の洞察と課題を強調。重要なモデル、概念、結果の背後にある考えと動機を説明する。
- Moore & Mertens. The Nature of Computation - マゼンとゲームの複雑性、理論および実務における最適化、ランダムアルゴリズム、インタラクティブプローフ、偽ランダム性、マルコフ連鎖とフェーズ転移、そして量子コンピューティングについての調査。アクセスしやすい説明を提供する
ハンドブック
- Atallah & Blanton. Algorithms and Theory of Computation Handbook: General Concepts and Techniques - 理論計算機科学の概説を広く参照できるハンドブック。
- Atallah & Blanton. Algorithms and Theory of Computation Handbook: Special Topics and Techniques - 理論計算機科学の概説を広く参照できるハンドブック。
- Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity - 理論計算機科学の概説を広く参照できるハンドブック。
- Handbook of Theoretical Computer Science. Volume B: Formal Methods and Semantics - 理論計算機科学の概説を広く参照できるハンドブック。
計算理論
入門
講義ノート
- Watrous. Introduction to The Theory of Computing - 大学院レベルの計算理論の導入
MOOC
- Intro to Theoretical Computer Science - 理論的コンピュータサイエンスにおける基本的な概念、例えばNP完全性、そしてそれらが困難なアルゴリズ及問題の解決にどう影響するかを教えている。
- Computability, Complexity & Algorithms. Georgia Institute of Technology - 計算の大きな基本的な問いに焦点を当て、アルゴリズムの力と限界を理解することで、現実のコンピュータを賢く、速く、安全に設計するためのツールを構築できるようになることを説明する。
書籍
- Sipser. Introduction to Theory of Computation - 大学院生向けの計算理論の導入としての標準的な教科書。
- Hopcroft, Motwani & Ullman. Introduction to Automata Theory, Languages, and Computation - 自動機、言語、計算理論のテーマについての大学院レベルの入門教科書。
パズルと問題集
- Zhu & Ko. Problem Solving in Automata, Languages, and Complexity - 計算理論の理解を深める問題集。
計算複雑性
入門
講義動画プレイリスト
- O’Donnell. Undergrad Complexity Theory. Fall 2019 (15-455) (Homework) - 計算理論を学ぶための講義動画。
- O’Donnell. Graduate Complexity Theory - 複雑性理論の研究を始めるために知られていることの大部分をカバーしている。
講義ノート
- Rudich & Wigderson. Computational Complexity Theory - IAS/パーキー・シティ・マスティクス・インスティテュートの夏学校で行われた計算複雑性に関する3週間の講義。テーマには、帰約、下限、平均ケース複雑性、ランダム性、インタラクティブプローフシステム、確率的にチェック可能な証明、量子コンピューティング、および証明複雑性が含まれる。
書籍
- Arora & Barak. Computational Complexity: A Modern Approach - 優れた標準的な教科書で、研究生および研究者向けの計算複雑性理論の調査。
- Goldreich. Computational Complexity: A Conceptual Perspective - 研究生向けの計算複雑性理論の導入で、複雑性理論の概念の背後にある考えを強調。
- Goldreich. P, NP, and NP-Completeness: The Basics of Computational Complexity - 計算複雑性のいくつかの基本的なアイデア、例えばNP完全性やP vs NPについて非常に優しく導入する。
- Ogihara & Hemaspaandra. The Complexity Theory Companion - 計算複雑性理論の最も興味深い技術のいくつかについて、アクセスしやすく、アルゴリズムに焦点を当て、研究中心の、最新のガイド。
- Papadimitriou. Computational Complexity - コンピュータアルゴリズムの性能と限界を研究するための知識体系。取り上げられているテーマには、帰約とNP完全性、暗号とプロトコル、ランダムアルゴリズム、最適化問題の近似可能性、回路複雑性、P=NP問題の構造的側面、並列計算、および多項式階層がある。
大規模リスト
- Complexity Zoo - 計算理論の資料を集約したリソース。
通信複雑性
講義ノート
- Mark Bun. CS591 Communication Complexity - 研究生向けのコースで、この分野の基本的な成果と技術、および一部の研究の先端的な問題を紹介。テーマには、通信モデルと通信複雑性のゾーン、情報と通信、クエリから通信への昇格、および応用がある。
書籍
- Rao & Yehudayoff. Communication Complexity and Applications - 通信複雑性分野の非常に優れた、読みやすい入門教科書。
回路複雑性
書籍
- Jukna. Boolean Function Complexity: Advances and Frontiers - 現代的な教科書で、回路複雑性を調査する。
- Clote & Kranakis. Boolean Functions and Computation Models - 回路複雑性、論理関数、および計算モデルについての導入
量子複雑性
講義動画プレイリスト
- Uni Paderborn. Quantum Complexity Theory. Winter 2020 - ボソンサンプリング、量子インタラクティブプローフ、量子メルリンアーツなどのテーマを扱う、修士課程レベルの講義
講義ノート
- Henry Yuen. The Complexity of Entanglement. Fall 2020 - 計算理論を学ぶための講義ノート。 関連資料: class。
証明複雑性
講義ノート
- Robert Robere. Proof Complexity: Algorithms and Lower Bounds - 現代の証明複雑性についての導入、計算複雑性および最適化におけるアルゴリズムとの関連を強調
計算可能性理論
書籍
入門
- Cutland. Computability: An Introduction to Recursive Function Theory - 直感的に、計算可能な関数の概念を説明する:値を効果的または自動的に計算できる関数。
- Cooper. Computability Theory - 現代の計算可能性理論、手法、結果についての簡潔で包括的かつ信頼性の高い導入。
- Davis. Computability and Unsolvability - この古典的なテキストでは、ダビス博士が高度な大学院レベルで計算可能性について明確に導入しており、専門家や非専門家に共に適した内容を提供している。
上級
- Soare. Recursively Enumerable Sets and Degree - r.e.次数の理論についての完全な解説。定義、結果、証明は常に明確に説明され、形式的な提示の前に導入され、証明は驚くほど明確かつ簡潔に記述されている。
- Odifreddi. Classical Recursion Theory: The Theory of Functions and Sets of Natural Numbers - 古典的な再帰理論についての素晴らしい紹介。再帰理論に興味があるすべての人にとって強く推薦される。
モノグラフ
- Copeland, Posy & Shagrir (editors). Computability: Turing, Gödel, Church, and Beyond - コンピュータサイエンティスト、数学家、哲学者が、計算可能性の概念的基礎および最近の理論的発展について議論している。
論理学
計算複雑性
書籍
- Pudlák. Logical Foundations of Mathematics and Computational Complexity: A Gentle Introduction - 論理学と計算複雑性を体系的に扱う書籍。
プログラミング言語理論
基礎
講義ノート
- Cambridge Foundations of CS - プログラミングを教えるとともに、コンピュータサイエンスのいくつかの基本原則、特にアルゴリズム設計を紹介する。
書籍
- Structure and Interpretation of Computer Programs - MIT OCW, HTML book, Byford’s playlist, Javascript book, Python book, Berkeley for self-study, and Berkeley 2024 - プログラミング言語理論を体系的に扱う書籍。
入門
書籍
- Pierce. Software Foundations. Pennsylvania - 信頼性のあるソフトウェアの数学的根拠についての広範な導入シリーズ。これは、Coq証明補助システムの証明スクリプトから構成されている。特定のバックグラウンドを仮定せず、幅広い読者に向けられている。
形式検証
講義ノート
- UW CSE505 18au Principles of PL - プログラミング言語について鋭く考えるための技術、いくつかの興味深いプログラムを書くこと、そしてさまざまな設計のトレードオフについて議論する。
書籍
- Chlipala. Formal Reasoning About Programs - Coq証明補助システムによる機械検証証明と、プログラムの正しさについての形式的推論のアプローチを紹介する書籍。
- Lean Proof Assistant - Lean 証明補助システム。
型理論
講義ノート
- Martin-Löf. Intuitionistic Type Theory - 1980年6月、パドゥアで行われたタイプ理論講義のノート。Giovanni Sambinによる。
書籍
- Bengt. Programming in Martin-Löf’s Type Theory - 本書は、計算科学の視点から、異なるタイプ理論(タイプ理論、多変数集合および単変数集合、部分集合)を説明している。
- The Univalent Foundations Program Institute for Advanced Study. Homotopy Type Theory: Univalent Foundations of Mathematics - 本書は、ユニバーサル基礎の基本を初めて体系的に説明し、この新しい推論スタイルの例を収集しているが、読者に形式論理を知らせるか、学ばせるか、あるいはコンピュータ証明補助システムを用いる必要はない。
関数型プログラミング
講義ノート
- Helsinki. Haskell MOOC - Haskellプログラミング言語を使った関数型プログラミングのオンラインコースおよびライブインタラクティブなTelegramコミュニティ。
- Cornell. Functional Programming in Ocaml - OCamlを用いたデータ構造と関数型プログラミングの現代的なコース。
アルゴリズム
一般
講義動画
- Demaine/Ku/Soloman. Introduction to Algorithms. MIT - 基本的なアルゴリズムとデータ構造についての初級コース。—Erik自身が追加。
- Demaine/Devadas/Lynch. Design and Analysis of algorithms. MIT - アルゴリズムとデータ構造に関する2回目のコース。— エリク自身が追加!
- Erik Demaine. Advanced Data Structures. MIT - データ構造における主要な成果と現在の研究の方向について述べている。
講義ノート
- Arora. Advanced Algorithm Design - 特にランダム性、近似、高次元幾何学といった考え方が使われており、不確実性を扱い、大規模データの処理、解けない問題の扱い、ヒューリスティックなアプローチなどについて述べている。
書籍
- Knuth. The Art of Computer Programming - ドナルド・クヌースによるアルゴリズムの設計と解析に関する伝説的なシリーズ。
下界
講義動画プレイリスト
- Demaine. Algorithmic Lower Bounds: Fun with Hardness Proofs - 効率的に解けない問題を証明するための実用的なアプローチを取る講義。
書籍
- Demaine, Gasarch & Hajiaghayi. Computers and Intractability: A Guide to Algorithmic Lower Bounds - ゲリーとジョンソンの『コンピュータと非解不可能性:NP完全性へのガイド』の続編。新たに取り上げたトピックには、パラメータ化複雑性、近似の下限、他のハードネス仮定(ETH、3SUM予想、APSP予想、UGC、その他)、オンラインアルゴリズム、ストリーミングアルゴリズ、多項式パリティ論理、並列性などが含まれる。
- Demaine. Games, Puzzles, and Computation - ゲームやパズルが計算モデルとして強力な手段であることを示しており、計算についての新たな考え方が提供されている。
ランダム化と確率
講義ノート
- Mary Wootters. Randomized Algorithms and Probabilistic Analysis. Stanford - 確率解析の基本的なツールと、それらを用いてランダムプロセスやアルゴリズムの行動を理解するための応用。理論的基礎に重点を置いているが、機械学習やデータ分析、ネットワーク、システムにおける応用についても述べる。テーマには、尾の境界、確率的手法、マーカーチェーン、マーティンゲル、ランダムグラフ、メトリック埋め込み、ランダムウォークの解析などがある。
- Koutsoupias. Probability and Computing. Oxford - コンピュータサイエンスにおける確率的手法の紹介。
- Harvey. First and Second Course in Randomized Algorithms. Columbia. - アルゴリズム理論を学ぶための講義ノート。
- Lee. Randomized Algorithms and Probabilistic Analysis. Washington. - テーマには、離散確率、高次元幾何学と統計、情報とエントロピー、マーカーチェーンと均衡への収束がある。
- Aspnes. Notes on Randomized Algorithms - ミツネマッハァー&アップファルス、およびモトワニ&ラグヴァンの標準書への補足ノート。
近似
講義ノート
- Chekuri. Approximation Algorithmis Illinois - 結果と技術の広範な紹介であり、基本的な問題と広く適用可能なツールに重点を置いている。さらに高度で専門的なトピックも含まれる。
- Dinitz. Approximation Algorithms. Johns Hopkins - グリーディー、ローカルサーチ、動的計画法、ランダム化丸め、ツリー埋め込み、半定数計画法を含む。
- Gupta & Ravi. Approximation Algorithms. CMU - 凸計画法に基づく、ランダム性、メトリック手法を含む。
書籍
- Williamson & Shmoys. The Design of Approximation Algorithms - グリーディー、ローカルサーチアルゴリズム、動的計画法、線形および半定数計画法、ランダム化を含む。
- Du & Ko. Design and Analysis of Approximation Algorithms - 手法に焦点を当てたアプローチにより、統一的な視点を提供。研究論文から詳細なアルゴリズム、証明、分析、例、応用が含まれる。
- Vijay Vazirani. Approximation Algorithms
パラメータ化
講義動画プレイリスト
書籍
- Fedor Fomin. Parametrized Algorithms - Modern comprehensive explanation of recent tools and techniques with exercises, for graduate students.
学習拡張
講義ノート
大規模リスト
情報理論・符号理論
講義ノート
- Madhu Sudan. Essential Coding Theory - 情報理論と符号理論を学ぶための講義ノート。
- Scott Aaronson. Quantum Information Science. Part I & Part II - 情報理論と符号理論を学ぶための講義ノート。
暗号理論
書籍
- Lindell. Tutorials on the Foundations of Cryptography - 経験豊富な研究者向けの高度なチュートリアル。
- Goldreich. Modern Cryptography, Probabilistic Proofs and Pseudorandomness - 暗号、証明、ランダム性の相互に関連する分野への紹介。
- Goldreich. Randomized Methods in Computation - 現在のコースの目的は、学生がいくつかのランダム化手法に慣れることである。
機械学習理論
講義ノート
- Blum. An Introduction to the Theory of Machine Learning. TTIC - 機械学習の基本理論およびデータから一般化するプロセス。
- Telgarsky. Deep Learning Theory. Illinois - 単純な証明に焦点を当て、文献に記載されている内容を簡略化し、i.i.d.データ上で二値分類において低テスト誤差を達成するための標準(通常はReLU)の前向きネットワークの古典的アプローチを扱う。
- Vaughan. CS260: Machine Learning Theory - 一般的な機械学習アルゴリズムの理論的基礎に関する包括的な概観。
- Livni. COS 511 Theoretical Machine Learning. Princeton - 学習モデルとして提案されたさまざまなモデルを形式的に定義し、研究する。本講義では、統計的、計算的およびオンライン学習モデルを提示し、比較する。また、今日までに広く使用されている機械学習における最も成功したアルゴリズムのいくつかを提示し、厳密に分析する。
- Moitra. Theoretical Foundations for Deep Learning. MIT - 深層学習の理論的基礎を探索し、以下のテーマに焦点を当てる:(1) 近似:深層ネットワークが表現できる関数の種類は何か、そして深層が表現力の向上を確実に保証するか?(2) 最適化:実際の問題で解決したいすべての最適化問題は非凸である。このような問題を分析するためのフレームワークは何か?(3) 最悪ケース分析を超える:深層ネットワークは最悪ケースデータを記憶できるが、なぜ現実世界のデータ上で良好な一般化が可能なのか?
- Arora. Overcoming Intractability in Machine Learning - 機械学習における多くの問題は形式的に計算不可能(例:NP困難)であるが、実際にはヒューリスティックによって解決される。このような問題に対して、証明可能な保証(実行時間、解の品質)を持つアルゴリズムを設計できるか?
書籍
- Vazirani & Kearns. An Introduction to Computational Learning Theory - 計算効率の観点に焦点を当て、計算学習理論におけるいくつかの中心的なテーマを紹介する。
- Shalev-Shwartz. Understanding Machine Learning: From Theory to Algorithms - 機械学習の基本的な思想と、それらを実用的なアルゴリズムに変換するための数学的導出を広く理論的に説明する。
その他
- Blum. Intro Machine Learning Theory.
- Blum, et.al. Machine Learning, Game Theory, and Mechanism Design for a Networked World.
- Agrawal & Jaiswal. When Machine Learning Meets AI and Game Theory.
ゲーム理論
講義ノート
- Tim Roughgarden. Complexity Theory, Game Theory, and Economics: The Barbados Lectures - 二重目的を持つミニコースノート:(i) 複雑性理論が経済学およびゲーム理論におけるいくつかの障壁を明らかにした方法を説明する;(ii) ゲーム理論の問題が新しいかつ興味深い複雑性理論(特に最近のいくつかの突破)を生み出した方法を示す。
- Eva Tardos. Algorithmic Game Theory - アルゴリズ及的思考とゲーム理論、あるいはより一般的に経済学の概念を組み合わせる。本講義では、この交差点におけるさまざまなテーマを研究する。講義の前提知識は数学的思考のみである。
- Chekuri. Topics in Algorithms: Algorithmic Game Theory - 大学院レベルの概説:オークション、ゲームおよび市場における均衡の存在と計算、アルゴリズムメカニズム設計、アンarchyの価格と安定の価格、ネットワークおよび電子商取引に関連するゲーム。重点は概念的アイデアおよびアルゴリズム的側面にある。ゲーム理論や経済学の知識は前提として求められない。
- Penna. Algorithmic Game Theory - 本講義では、ゲーム理論のアルゴリズム的側面について議論する。例えば、ゲーム理論の一般導入、オークション、メカニズム、中央制御の最適解と自発的代理者の均衡のコストの比較、および均衡を計算するアルゴリズムと複雑性について。
- Brown. Resources list for game theory - これらのノートは、スタンフォード大学のティム・ラウガーデンのCS 364AおよびCS 364B講義ノートおよび関連動画、およびジェイソン・ハートラインの「メカニズム設計と近似」教科書に基づいて largely 作成された。
- Fang. Advanced Topics in Machine Learning and Game Theory - Fangによる、機械学習とゲーム理論の交差領域を扱う大学院レベルの講義です。
- Xu. Topics in Learning and Game Theory - Xuによる、機械学習とゲーム理論の接点にあるトピックを扱う大学院レベルの講義です。
- Tim Roughgarden. Foundations of Blockchains - ゲーム理論を学ぶための講義ノート。 関連資料: Lecture Videos。
書籍
- Apt & Grädel. Lectures in Game Theory for Computer Scientists - ゲームは相互作用のための数学的モデルであり、コンピュータサイエンスの多くのタスクはゲーム理論の観点から表現できる。
- Eva Tardos & et.al. Algorithmic Game Theory - 均衡、メカニズム設計および組合せオークションのためのアルゴリズム的手法に関する基本的な章を経て、インセンティブおよび価格、コスト共有、情報市場および暗号・セキュリティといったゲーム理論の重要な応用に関する章へと続く。
数学と論理
一般
講義動画プレイリスト
- Demaine, Abel & Chapman. Mathematics for Computer Science - コンピュータ科学者向けの離散数学の初心者向け導入書。 - Companion Textbook 2015
書籍
- Knuth, Graham & Patashnik. Concrete Mathematics: A Foundation for Computer Science - クヌースの名作『コンピュータプログラミングの芸術』の数学的準備部分を拡張したものだが、プレゼンテーションのスタイルはよりゆったりしており、個々のテーマがより深く扱われている。
- Aho & Ullman. Foundations of Computer Science - コンピュータサイエンスの数学的アプローチによる古典的な導入。
- Tu Delft. Delftse Foundations of Computation - 理論的コンピュータサイエンスの1四分の一の導入コース向けの教科書。論理、証明技術、集合論を含む。前提知識は基本的なプログラミングのみである。
- Eck & Critchlow. Foundations of Computation - 理論的コンピュータサイエンスの1学期コース向け。前提知識は初級的なプログラミングのみである。論理、集合、関数(離散数学)、オートマトン、形式言語、文法(上級コース)を含む。
- Comprehensive Mathematics for Computer Scientists - 数学のテーマとそのコンピュータサイエンスへの関連性についてのシリーズ
- Krantz. Handbook of Logic and Proof Techniques for Computer Science - 専門のコンピュータサイエンス研究者向けに、数学論理についてのアクセスしやすい参考書として提供されている
- Makinson. Sets, Logic and Maths for Computing - 初年度および第二年度のコンピュータサイエンスを学ぶ学生が最も必要な内容を丁寧に選別した書籍
- Yves Nievergelt. Logic, Mathematics, and Computer Science: Modern Foundations with Practical Applications - 低学年大学生向けに、論理、証明、集合、数論を紹介し、基礎を強調。形式証明の完全な詳細と導出を提供
- Lacona. LOGIC: Lecture Notes for Philosophy, Mathematics, and Computer Science - 論理の初歩的な大学教育および早期の修士課程に適した書籍
- Ben-Ari. Mathematical Logic for Computer Science - 意味論的テーブルは理論的に確実であり、理解しやすいので使用されている
- Jeremy Kun. A Programmer’s Introduction to Mathematics - プログラミングやソフトウェアの知識を活かして数学を教える
- Vince. Foundation Mathematics for Computer Science: A Visual Approach - 数理の幅広いテーマを提供し、コンピュータサイエンスの大学レベルのコースの基礎を築く。数の体系とデジタルコンピュータとの関連性から始まり、微分積分まで終える
- Oberguggenberger & Ostermann. Analysis for Computer Scientists: Foundations, Methods, and Algorithms - 数学解析へのアルゴリズム的アプローチを提示し、モデリングと解析の応用に焦点を当てる
講義ノート
- Paluszynski. Calculus for Computer Scientists - 大学レベルのコンピュータサイエンス学生向けの微分積分講義ノート
理論計算機科学の道具箱
講義動画プレイリスト
- O’Donnell. CS Theory Toolkit - コンピュータ科学理論における論文の読み方や研究を行うために必要な数学/CSのトピックの多くを扱っている - あるいは: bilibili
- Madhur Tulsiani. Mathematical Toolkit - 理論計算機科学に必要な数学と論理を学ぶための講義動画。
- Harsha & Strivastava. Toolkit for Theoretical Computer Science. Tata Institute
講義ノート
- Gregory Valiant. The Modern Algorithmic Toolbox. Stanford - ハッシュ、次元削減、線形および凸計画法、勾配降下および回帰、サンプリングと推定、圧縮センシング、線形代数的手法(主成分分析、特異値分解、スペクトル技術)、微分プライバシーの導入をカバー
- Zhou. A Theorist’s Toolkit. Illinois - コンピュータサイエンス理論の読解および研究に必要な多くの数学・コンピュータサイエンスのテーマをカバー
- O’Donnell. A Theorist’s Toolkit. CMU - コンピュータサイエンス理論の読解および研究に必要な多くの数学・コンピュータサイエンスのテーマをカバー
- Arora. Thinking Like a Theorist. Princeton - コンピュータサイエンス理論の読解および研究に必要な多くの数学・コンピュータサイエンスのテーマをカバー
- Arora. A Theorist’s Toolkit. Princeton - 理論的コンピュータサイエンスの研究を行う第一・第二年生を主対象とした書籍。確率的、代数学的、組合せ的、アルゴリズム的手法を紹介する
- Kelner. Topics in Theoretical Computer Science: An Algorithmist’s Toolkit. MIT - 現代アルゴリズム設計に広く適用可能な幾何学的手法を紹介
- Maji & Valiant. Theoretical Computer Science Toolkit. Purdue
書籍
- Jukna. Extremal Combinatorics - 理論的コンピュータサイエンスにおける応用を意識した組合せ的手法を記述。主に複雑性に焦点を当てる
離散数学
一般
講義ノート
- Aspnes. Notes on Discrete Mathematics - イリノイ大学のCPSC 202a「コンピュータサイエンスのための数学的ツール」2017年秋学期の講義ノート
- Halpern. CS 2802: Discrete Structures - Honors. 2020. Cornell - 理論計算機科学に必要な数学と論理を学ぶための講義ノート。 関連資料: Homework。
書籍
- Rosen. Handbook of Discrete and Combinatorial Mathematics - 離散数学のほぼすべてのテーマと、コンピューティングおよび通信工学への関連性についての包括的な調査
- Rosen. Discrete Mathematics and Its Applications - 高校生でも理解可能な標準的な離散数学教科書
- Rosenberg & Trystram. Understand Mathematics, Understand Computing: Discrete Mathematics That All Computing Students Should Know - 離散数学の計算への実用的、概念的および方法論的な理解を読者に与える
- Gries & Schneider. A Logical Approach to Discrete Math - 論理を初学者に教える方法を変えることを試みる。論理を孤立した分野として教えるのではなく、基本的なツールとして捉え、その使い方を示す
MOOC
- Introduction to Discrete Mathematics for Computer Science. UC San-Diego - 理論計算機科学に必要な数学と論理を学べるオンライン講座。
確率的方法
講義ノート
- Yufei. Probabilistic Methods in Combinatorics. MIT and Yufei’s Graph Theory book - 理論計算機科学に必要な数学と論理を学ぶための講義ノート。
講義動画プレイリスト
書籍
- Alon & Spencer. The Probabilistic Method - 組み合わせ論における確率的手法の研究者向けの標準参考書。理論コンピュータサイエンスとの関連も示す
グラフ理論
講義動画プレイリスト
その他
- Mariconda & Tonolo. Discrete Calculus: Methods for Counting - 理論計算機科学に必要な数学と論理の主要な話題と研究成果を学ぶための資料。
物理学
講義ノート
- Arora. The Computational Universe - 物理学と計算理論を学ぶための講義ノート。
書籍
- Feynman. Feynman And Computation: Exploring The Limits Of Computers
- Feynman’s Course on Computation - See also Preskill’s update 40 years later here
モノグラフ
- Susskind. Three Lectures on Complexity and Black Holes - 物理学と計算理論を体系的に扱う書籍。
哲学
講義ノート
- 6.893 Philosophy and Theoretical Computer Science. MIT - 計算・数学・論理の哲学を学ぶための講義ノート。
書籍
- Knuth. Things a Computer Scientist Rarely Talks About - 信仰と科学の関係性についての一般的な説明
- Floyd & Bokulich. Philosophical Explorations of the Legacy of Alan Turing: Turing 100 - チューリングの科学史および科学哲学における位置
論文
- Aaronson. Why Should Philosophers Care About Computational Complexity Theory - 計算複雑性理論が数学的知識の性質や他の哲学的問題に対する新たな視点をもたらすことを主張している
- Aharonov & Vazirani, Is Quantum Mechanics Falsifiable? A Computational Perspective on the Foundations of Quantum Mechanics - 量子力学が高複雑性領域において通常の科学的枠組みを拡張することで検証可能であることを説明している
- Walter Dean. Computational Complexity Theory and the Philosophy of Mathematics - 哲学的数学の従来の問いに対して複雑性理論の重要性を強調しつつ、いくつかの新たな問いを抽出している
- Stanford Encyclopedia of Philosophy. Computational Complexity Theory - 複雑性理論の基礎と、コンピュータサイエンスの哲学、数学の哲学、認識論への潜在的な意義
- Philip Davis. Toward a Philosophy of Computation - 世界の数学化およびコンピュータ化に関する哲学的意義
サーベイとモノグラフ
- Sommaruga & Strahm. Turing’s Revolution: The Impact of His Ideas about Computability - 歴史的、技術的および哲学的な論文の収集
- Harry Lewis. Ideas That Created the Future: Classic Papers of Computer Science - アリストテレスからライプニッツ、ノルベルト・ウィナー、ゴードン・マーカーまで、コンピュータサイエンスの進化を示す思想家たちの代表的な論文
- Building Bridges I, Building Bridges II, Fete of Combinatorics and Computer Science - 理論計算機科学を体系的に扱う書籍。
- Fortnow & Homer. A Short History of Computational Complexity - 計算複雑性の歴史的概観
- Goldreich. Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali - シャフィとシルビオの素晴らしい研究の意義を説明し、その研究が暗号学の基礎に与えた影響を述べている
コミュニティ
会議とワークショップ
集約サイト
- Hermann’s Conferences in TCS - TCS会議が一つの表にまとめられたもの
- CS Theory Events Aggregator - コンピュータ理論ワークショップおよび学校の情報集約サイト
- Theory Announcements - DMANETは離散数学およびアルゴリズムに関する会議、ワークショップ、セミナーなどに情報を広めている
- Salamon’s List - 選ばれた会議
開催中
- Simons’ Institute - 理論コンピュータサイエンスコミュニティ全体にわたって影響力と参加を最大化するためのプログラム、イベント、ワークショップ
- TCS+ - 理論コンピ連絡のオンラインセミナー。目標は、可能な限り広い層に魅力的な講演を提供すること
- CMU Theory - コンピュータサイエンスにおける基本的な問題についての数学的解釈を目指し、その理解をもとにより優れたアルゴリズム、プロトコル、システムを設計し、効率的な計算の内在的な制限を明らかにする。
アーカイブ
- Turing Laureates Lectures and Turing Laureates Interviews - 理論計算機科学コミュニティに関する会議・ワークショップ情報。
- Computational Complexity - ワークショップの収集。
雑誌とニュースレター
- EATCS Bulletin - 調査、チュートリアル、会議報告、イベント、未解決問題とその解決策、博士論文、そして興味深い寄稿。
- SIGACT News - ACMの公式な理論コンピュータサイエンスニュースフィード。
- Foundations and Trends in Theoretical Computer Science - 論文に掲載されるのは、理論のリーダーが執筆した単著で、テーマのチュートリアル的解説、研究の振り返り、および最先端の調査論文が該当する。
- Quanta Magazine - 分野における突破的な成果を、専門家でない読者にも理解しやすいスタイルで記述。
学会・団体
ブログ
集約サイト
- Theory of Computing Blog Aggregator - 理論コンピュータサイエンス(TCS)に関連するすべてのブログをアグレゲートしたブログ。
厳選記事・エッセイ
- Omer Reingold. The Practice of Theory Research - 研究手法に関するコースで、研究の「どうやって」を行うかに焦点を当て、コンピュータサイエンス理論研究に共通する研究実践を強調。
- Omer Reingold. TOC: a Personal Perspective (2021) - 「TOC: a Scientific Perspective(1996)」が25周年を迎えることを祝い、TCSが数学ほど深くない、あるいはコンピュータサイエンスほど有用でないという批判に注目。
- Blum. You and Your Research: An Advice to a Beginning Graduate Student - 理論コンピュータサイエンス界で非常に人気のある人物であるマヌエル・ブルムが、若手研究者向けに研究のアドバイスを提供。
- Dijkstra. The Three Golden Rules for Successful Scientific Research - 科学的リサーチにおいて成功するための3つのルールについてのノート。
- Goldreich. Essays and Opinions - オデッド・ゴールドリッヒによる個人的なエッセイ。TCSおよびそのコミュニティにおける概念的なメッセージが非常に独特。
- Barak. Advice for The Budding Theorist - 理論コンピュータサイエンスに興味があるすべての人へのアドバイス。
- Barak. Surveys For Students - 高校生、大学院生、さらには研究者向けの調査資料。
- Barak. Non-technical or Less-technical Writings and Talks - 技術的に未熟な読者を意識した投稿。
- Lipton & Regan - コンピュータサイエンスにおける理論分野のブログ一覧。
- Karp. A Personal View of Computer Science at Berkeley - カープのエッセイ:1968年にカリフォルニア大学バークレー校のコンピュータサイエンスは問題があった。2つの部門が独立してプログラムを開発しており、彼の個人的な回想。
- Hamming. You and Your Research - なぜ科学者の中には、大きな貢献をした人が少なく、長期間にわたって忘れ去られる人が多いのか?この講演はハミングが学んだことについて述べる。
- Weinberg. Four Golden Lessons - スティーブン・ウィンバーグが学生や研究者に贈る教え。
- Princeton’s Companion. Advice to a Young Mathematician - 5人の寄稿者が、数学と研究の人生経験をもとに、自分が始めた頃に受けたいと思っていたアドバイスを述べる。
- Terry. Career Advice - 数学における学術職業に関するさまざまなアドバイスの集まり。そのアドバイスが最も関連性を持つキャリア段階にroughly分類されている。
- Igor Pak. How to Start a Paper - なぜ、あなたの論文の物語を導くための概念的な序論を紹介すべきか。
求人
- Rubinstein & Weinberg. Research Masters in TCS - TCSにおけるマスター課程のリスト。
- CS Theory Jobs - TCSの求人情報。
- Yaroslavtsev. Hires spreadsheet 2022 - 2022年の理論分野の採用に関する情報収集を目的とした、共同編集されたスプレッドシート。
オンラインコミュニティ
- TCS Stack Exchange - 理論計算機科学コミュニティについて交流できるオンラインコミュニティ。
- TCS Subreddit- 理論計算機科学のSubreddit。
その他
ポッドキャスト
- Lex Fridman - Donald Knuth 1 | Donald Knuth 2 | Silvio Micali | Richard Karp | Scott Aaronson 1 | Scott Aaronson 2
- Berkeley in the 80s - berkeleyの著名人物へのインタビュー。
- Simons’ Theory Shorts - 理論計算の分野に向けた、短くアクセスしやすい動画の集合。
- ACM ByteCast - 研究者、実務家、そして研究と実務の交差点に立つイノベーターたちが、自らの経験や教訓、未来へのビジョンを共有するもの。
一般向け科学
- The Legacy of Alan Turing: Pushing the Boundaries of Computation (Volume 18, Issue 3, Spring 2012). ACM, XRDS - ACMの学生誌の理論計算特別号。
- Fortnow. The Golden Ticket: P, NP, and the Search for the Impossible - P-NP問題の非技術的な紹介。その豊かな歴史と、私たちがコンピュータを使って行うすべてのアルゴリズム的影響について。
- Ausiello. The Making of a New Science: A Personal Journey Through the Early Years of Theoretical Computer Science - 人々の物語。多様な背景と性格を持つ先駆者たちが新しい分野を創出した物語。
- Aaronson. Quantum Computing Since Democritus - 古代のデモクリトスから始まり、論理、集合論、計算可能性と複雑性理論、量子計算、暗号、量子状態の情報量、そして量子力学の解釈まで、驚くべき多様なテーマをカバーしている。
- Deutsch. The Fabric of Reality: The Science of Parallel Universes and Its Implications - 『The Fabric of Reality』は、現代科学と科学哲学の最も深い考えを真剣に取り上げることで得られる、驚くべき統合性と理性と希望を備えた世界観を提示している。
- Papadimitriou. Turing: A Novel About Computation - チューリングの世界における計算、星交わる恋人たちに語られたインタラクティブチュートリアルプログラム、小説。
- Teuscher. Alan Turing: Life and Legacy of a Great. Springer - チューリングの人生、研究活動、遺産をカバーするエッセイの集合。
- Petzold. The Annotated Turing: A Guided Tour Through Alan Turing’s Historic Paper on Computability and the Turing Machine - アラン・チューリングの計算可能性とチューリングマシンに関する歴史的な論文へのガイドツアー。
- Shasha & Lazere. Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists - 時代の偉大な科学者たちに、彼らのインスピレーション、発見、個人的な興味についてのインタビュー。
チートシート
- TCS Cheat Sheet - 理論計算機科学の要点をまとめた早見表。
- Useful Inequalities Cheat Sheet
関連リスト
- Algorithms.
- Mathematics - 関連分野の資料を集めたリスト。
- nLab & Gratzer - 関連分野の資料を集めたリスト。
- Cryptography.
- Quantum Computing.
- MathとCSは、Open Source Society Universityによるカリキュラム。