ECE 664

Computability, Complexity, and Formal Languages

by

Avinash Kak

Fall 2009

                                                                                          

                                                                                               
Click for the "scroll"
1.   Why Study Computability, Formal Languages, and Complexity
2.   Sets, Tuples, Cartesian Products, Partial and Total Functions,
  Predicates, Quantifiers, Proofs
PART 1:   Computability
3.   The Minimalist (but all powerful) Programming Language  S
4.   Partially Computable Functions   (scroll revised)
5.   Primitive Recursive Functions
6.   Sixteen Building-Block PRC Functions   (scroll revised)
7.   The Pairing Function and The Godel Numbers
8.   Church's Thesis and the Unsolvability of the Halting Problem
  (scroll revised)
9.   A Universal Program that can Execute Any Program and the Concept of
  Recursive Enumerability
  (scroll revised)
10.   Calculations on Strings, and The Minimalist (but all powerful) Language
  S_n for String Processing
  (scroll revised)
11.   The Post-Turing Language T for String Processing and the Equivalence
   of S, S_n, and T
  (scroll revised)
12.   Turing Machines
13.   What's Meant by a Turing Machine Accepting a Language
14.   String Computations with Productions and Processes
15.   Post's Correspondence Problem and Grammars
16.   Phrase Structure Grammars and Context Sensitive Grammars
PART 2:   Grammars and Automata
17.   Finite Automata and Regular Languages
18.   Properties of Regular Languages
19.   Regular Expressions and the Pumping Lemma
20.   Context-Free Languages
21.   Regular Grammars, Chomsky Normal Form, and Bar-Hillel's Pumping
  Lemma
22.   Properties of Context-Free Languages
23.   Bracket Languages and the Pushdown Automata
PART 3:   The Theory of NP-Completeness
(new scrolls)
24.   Computational Complexity: Some Basic Definitions
25.   Defining P and NP
26.   A More Precise Definition of Class NP
27.   Polynomial Transformability of Problems in Class NP
28.   Definition of NP-Complete and the SATISFIABILITY Problem
29.   The Six Basic NP-Complete Problems and the NP-Completeness
  Proof for 3SAT
30.   NP-Completeness Proofs for 3DM, VC, CLIQUE, HC, and PARTITION
31.   NP-Completeness Proofs by Restriction: Subgraph Isomorphism (SIG),
  KNAPSACK, Multiprocessor Scheduling (MS), and Bounded-Degree
  Spanning Tree (BDST)
32.   NP-Completeness Proofs by Local Replacement: Sequencing within
  Intervals (SQUINT), and Partition into Triangles (PIT)
33.   NP-Completeness Proofs by Component Design: Minimum Tardiness
  Sequencing (MINTARD)
34.   Reasoning About the Complexity of the Subproblems of a Given
  NP-Complete Problem (Ex.: GRAPH 3-COLORABILITY)
35.   Strong-Sense and Weak-Sense NP-Completeness for Number
  Problems
36.   Extending the Complexity Theory to Search Problems
37.   Generalizing Polynomial Transformability to Turing Reducibility
  and the Definition of NP-Hard
38.   Complements and Optimization Versions of the NP-Complete
  Decision Problems
39.   Approximation Algorithms for Combinatorial Optimization
  (Bin Packing, Traveling Salesman Optimization, etc.)
40.   Nonapproximable and Easily Approximable NP-Hard Optimization
  Problems (The Graph Coloring Optimization Problem, the
  Traveling Salesman Optimization Problem, and the Knapsack
  Optimization Problem)

                                                                                                   ......   as of December 1, 2009


FEEDBACK WELCOME! If you have any comments or any suggestions for improving these notes, please send an email to kak@purdue.edu  with the string  "Comments on ECE 664"   in the subject line to get past my spam filter. Any suggestions that I incorporate would be duly acknowledged.

A NOTE FOR INSTRUCTORS USING THESE "SCROLLS": About the "scrolls" that are handed out in class, they look best when printed in color on long sheets of light yellow paper of size 11 in x 17 in (28 cm x 44 cm). Obviously, this is not the size of paper you can use with a home printer. However, many office copying/printing machines these days can make copies of this size without difficulty.
                                                                                          
                                                                                               
                                                                                               

Valid HTML 4.01 Transitional Valid HTML 4.01 Transitional