Theory of Computation

  1. Turing Machines and Computability
    1. Turing Machine Model
      1. Basic Turing Machine
        1. Tape Structure
          1. Read/Write Head
            1. State Control
              1. Transition Function
              2. TM Configuration
                1. Instantaneous Descriptions
                  1. Computation Steps
                    1. Halting Conditions
                    2. Language Recognition
                      1. Accepting Computations
                        1. Rejecting Computations
                          1. Looping Computations
                          2. TM Programming
                            1. Basic Operations
                              1. Subroutines
                                1. Multi-track Techniques
                              2. Variants of Turing Machines
                                1. Multi-tape Turing Machines
                                  1. Simulation by Single-tape TM
                                    1. Time Complexity Relationships
                                    2. Nondeterministic Turing Machines
                                      1. NTM Definition
                                        1. Computation Trees
                                          1. Simulation by DTM
                                          2. Turing Machine Enumerators
                                            1. Enumeration Process
                                              1. Relationship to Recognition
                                              2. Random Access Machines
                                                1. RAM Model
                                                  1. Equivalence to TM
                                                  2. Two-way Infinite Tape
                                                    1. Extended Tape Model
                                                      1. Simulation Techniques
                                                    2. Church-Turing Thesis
                                                      1. Informal Notion of Algorithm
                                                        1. Formal Models of Computation
                                                          1. Thesis Statement
                                                            1. Evidence and Arguments
                                                              1. Limitations and Criticisms
                                                              2. Recursive and Recursively Enumerable Languages
                                                                1. Decidable Languages
                                                                  1. Decision Procedures
                                                                  2. Recognizable Languages
                                                                    1. Semi-decision Procedures
                                                                      1. Enumeration Characterization
                                                                      2. Relationship Between Classes
                                                                        1. Proper Inclusion
                                                                          1. Complement Properties
                                                                        2. Undecidability
                                                                          1. The Halting Problem
                                                                            1. Problem Statement
                                                                              1. Diagonalization Proof
                                                                                1. Implications
                                                                                2. Reduction Techniques
                                                                                  1. Many-one Reducibility
                                                                                    1. Turing Reducibility
                                                                                      1. Reduction Proofs
                                                                                      2. Universal Turing Machines
                                                                                        1. UTM Construction
                                                                                          1. Encoding Schemes
                                                                                            1. Self-Reference
                                                                                            2. Undecidable Problems
                                                                                              1. Acceptance Problem for TMs
                                                                                                1. Equivalence Problem for TMs
                                                                                                  1. Totality Problem
                                                                                                    1. Post Correspondence Problem
                                                                                                      1. Hilbert's Tenth Problem
                                                                                                      2. Rice's Theorem
                                                                                                        1. Statement
                                                                                                          1. Proof
                                                                                                            1. Semantic Properties
                                                                                                          2. Degrees of Unsolvability
                                                                                                            1. Turing Degrees
                                                                                                              1. Arithmetic Hierarchy
                                                                                                                1. Oracle Machines
                                                                                                                  1. Relative Computability