CS 454, Section 001 Sonoma State University Spring, 2024
 
Theory of Computation
Instructor: Henry M. Walker

Lecturer, Sonoma State University
Professor Emeritus of Computer Science and Mathematics, Grinnell College

Although much of this course has been well developed in recent semesters, the SSU CS faculty recently have approved an updated course description. Also, the required SSU Signature Project for SSU's Upper Division GE Area B Requirement for CS Majors has been rethought for this course. Currently, the Web site is reasonably stable, but modest refinements are likely. Check these pages regularly for adjustments.


Contract Negotiations Have Yielded a Tentative Agreement

Since May, 2024, the California Faculty Association (CFA) – the labor union of professors, lecturers, librarians, counselors, and coaches across the 23 California State University campuses – has been in negotiations with the management of the California State University System. After a one-day strike on Monday, January 22, the two sides have reached a tentative agreement, and the strike has been called off. Effective Tuesday, January 23, SSU classes (including CS 454) will be held as scheduled.

Assignment on Class NP and NP-Completeness

  1. Definitions: Consider the terms, "Class NP", "verifier for a language", and "NP-complete".
    Give careful definitions of each of these terms.

  2. A Permutation Sort: One approach for sorting an array of n elements is to generate all n! permutations of the elements and then each is examined to determine which permutation is ordered.

    1. Explain why this algorithm, called a Permutation Sort, has Θ(n * n!).
    2. Since n * n! is not a polynomial, must we conclude that sorting is not in Class P? Explain briefly.
    3. Does this or another analysis prove that sorting is in Class NP? Explain.
  3. Tree Traversals: Consider an [in-order] traversal of a binary search tree with n nodes.

    1. Does this algorithms demonstrate that the problem of traversing a graph is in Class P? Explain.
    2. Does this algorithms demonstrate that the problem of traversing a graph is in Class NP? Explain.
  4. Satisfiability and NP-Completeness: Suppose A and B are problems in class NP.

    1. Recall that the Problem 4 of the Assignment on Turing Machines introduced the notion of a proof summary. Write a proof summary that outlines the idea behind the proof that the Satisfiability Problem (SAT) is NP-Complete.
    2. If A ≤M SAT, does it follow that A is NP-Complete? Justify your conclusion.
    3. If SAT ≤M B, does it follow that B is NP-Complete? Justify your conclusion.
  5. NP-Complete and NP-Hard: Consider the concepts of a NP-Hard problem and an NP-Complete problem.

    1. Can a problem be NP-Hard without being NP-Complete? Explain.
    2. Can a problem be NP-Complete without being NP-Hard? Explain.
created Fall, 2023
revised Fall, 2023
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.