CS 454, Section 001 Sonoma State University Spring, 2026
 
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, some details may be adjusted from semester to semester. For example, the Signature Project for this course has satisfied SSU's Upper Division GE Area B Requirement for CS Majors for several years, and satisfying that requirement again this semester. However, details of this project likely vary from instructor to instructor and from semester to semester. Also,

Assignment on Algorithm Complexity and Class P

  1. Definitions: Consider the terms, "Class P", "decidable", "undecidable", "recognizable", "non-recognizable".
    Give careful definitions of each of these terms.

  2. Class P Problems: Identify 3 problems in Class P, and explain why each is in Class P.

  3. 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.
  4. Class P and Mapping Reducibility: Suppose A and B are problems, and C is a problem in Class P.

    1. Suppose A ≤M C.
      • Does it always follow that A is in Class P? Explain.
      • Does your conclusion change if the mapping function is computable in polynomial time? Explain.
    2. Suppose C ≤M B.
      • Does it always follow that B is Class P? Explain.
      • Does your conclusion change if the mapping function is computable in polynomial time? Explain.
  5. Relationships Among Languages: Suppose S and T are two languages in Class P.

    1. Let I be the intersection of the strings in S and T. Is I always, sometimes, or never in Class P? Explain.
    2. Is the concatenated language ST always, sometimes, or never in Class P? Explain.
    3. Is the complement of S in Class P always, sometimes, or never? Explain.
    4. Let U be the union of the strings in S and T. Is it always the case that U must be in Class P? Is U sometimes in Class P and sometimes not? Is U never in Class P? Explain.

    In each case, justify your answer.

created Fall, 2023
revised Fall, 2023
revised September, 2025
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.
ccbyncsa.png

Copyright © 2011-2026 by Henry M. Walker.
Selected materials copyright by Marge Coahran, Samuel A. Rebelsky, John David Stone, and Henry Walker and used by permission.
This page and other materials developed for this course are under development.
This and all laboratory exercises for this course are licensed under a Creative Commons Attribution-NonCommercial-Share Alike 4.0 International License.