CSG714 04S: Homework 01

Created: Wed 14 Jan 2004
Last modified: 

Assigned: Wed 14 Jan 2004
Due: Wed 21 Jan 2004


Instructions

  1. Please review the grading policy outlined in the course information page.

  2. On the first page of your solution write-up, you must make explicit which problems are to be graded for "regular credit", which problems are to be graded for "extra credit", and which problems you did not attempt. Please use a table something like the following

    Problem01020304 0506070809...
    CreditRCRCRCECRC RCNARCRC...

    where "RC" is "regular credit", "EC" is "extra credit", and "NA" is "not applicable" (not attempted). Failure to do so will result in an arbitrary set of problems being graded for regular credit, no problems being graded for extra credit, and a five percent penalty assessment.

  3. You must also write down with whom you worked on the assignment. If this changes from problem to problem, then you should write down this information separately with each problem.


Problems

Required: 7 of the following 9 problems
Points: 14 pts per problem

  1. Problem 1.24

    Note: I would strongly suggest that you attempt and solve this problem. The result itself will be useful for many of the problems below, and the ideas needed to prove it are necessary for many of the remaining problems.

  2. Problems 1.26 and 1.27
  3. Problem 1.31
  4. Probelm 1.32
  5. Consider the following language:

    Multiple5 = {w | w in {0,1}* and w, treated as a binary number, is a multiple of 5}.

    Prove that Multiple5 is a regular language.

    Hint: There is nothing special about the number 5; I could just as easily ask the same question for Multiple6, Multiple7, etc. Think "mod"...

  6. Convert the following finite automata to regular expressions:

  7. Prove that the regular languages are closed under the following operation:

    HalfPal(A) = {w | wwR in A}.

    In other words, HalfPal(A) consists of those strings which are the first halves of all even length palindromes in A.

  8. Prove that the regular languages are closed under the following operation:

    FirstHalf(A) = {x | there exists y, |x| = |y|, where xy in A}.

    In other words, FirstHalf(A) consists of the first halves of all even length strings in A.


Switch to:


jaa@ccs.neu.edu