James A. Foster

Course Details for CS495/Ma485

Announcements

bullet In the last lecture (lecture 32) I was asked to use the pumping lemma for context free languages. I mistated the lemma on the board, which is why I was unable to finish the proof. Here is the example I began on the board, done correct.y.
bullet I have moved the test to Lecture 19, 9 October (Wednesday)
bullet See Jim Alves-Foss' page on viewing information for help viewing postscript files.
bullet I have reserved JEB 326 on Fridays (not Mondays) from 3:30 until 5:00 for an informal recitation section. We can all meet then and there and work through exercises and just brainstorm about this material.
bullet I have added my current working copy of lecture notes for the course. These are very incomplete (and probably have mistakes), but may be useful.
bullet The books are in the bookstore!
bullet Bob and I have installed a visualization tool for this course: JFLAP (Java Formal Languages and Automata Package). This is a Java application which allows you to build your own computations and try them out. Versions for Windows 95 and Macs are available on the JFLAP homepage. To use JFLAP on our system: export PATH=$PATH:/usr/local/java/bin export SYSNAME=hp700_ux100 export CLASSPATH=/usr/local/jflap java JFLAP

You can try out JFLAP (demo version) online, too!

The JFLAP files are in /usr/local/jflap

Old and New Tests

Tests for this semester

Grades for Tests

    Test
Grade Score 1 2
A 86-100 16 23
B 85-61 19 12
C 60-46 9 5
D 45-21 2 6
F 20-0 0 0
Average 79 84
Std Dev
11 18
Final Examination
Grade Score Distribution
A 84-105 14
B 66-83 11
C 56-65 8
D 41-55 8
F 0-40 5
Average 69
Std Dev
20

Old Tests

Beware. There are errors in some answers on old tests (due to changes in include files before formatting them for the web).
bullet 1996 Test 1 (in pdf format)
bullet 1996 Test 2 (in pdf format)
bullet 1996 Test 3 (in pdf format)
bullet 1994 Test 1 (in pdf format)
bullet 1994 Test 2 (in pdf format)
bullet 1994 Test 3 (in pdf format)
bullet 1992 Midterm Examination (in pdf format)
bullet 1992 Final Examination (in pdf format)
bullet 1990 Final Examination (in pdf format)

Old and New Homework

Here is homework for this class (Fall 1996):
bullet Homework 1: 4.3, 4.4, 4.5, 4.10, 4.15, 4.17, 4.19 (note that this is identical to Homework 2 from 1994, which is where the solutions are). Some other good exercises to try:
  1. Prove that the class of regular languages is closed under union and kleene star. Try doing this for intersection and difference.
  2. Prove that the class of finite sets is closed under union, intersection, and difference, but not under kleene star.
bullet Homework 2 (Due Lecture 15, 30 Sept): 5.1, 5.2, 5.4, 5.12, 5.15, 5.17; 6.6, 6.7, 6.8 (note that this is identical to Homework 3 from 1994, which is where the solutions are). Some other good exercises to try:
  1. Formulate the idea of a team DFA, which is a finite set of DFAs which accepts when at least one member of the team accepts. Can team DFAs compute more than individuals? (Does teamwork help?) Can individuals compute more? (Is rugged individualism better than teamwork?)
  2. Formulate the idea of a multstart DFA, which is a DFA with (possibly) more than one start state. How does it compare with the other variations?
  3. Formulate the idea of a unique accepting DFA, which is a DFA with a single accepting state. How does it compare with the other variations?
bullet Homework 3 (Due Lecture 18, 7 October): 7.10, 7.11, 7.12, 7.14, 8.1, 8.2, 8.4, 8.6 (note that this is identical to Homework 4 from 1994, which is where the solutions are). Some other good exercises to try:
  1. The {\em regular expression equivalence} problem is: given two regular expressions A and B, determine whether or not they are equivalent (that is, LA=LB). Is this problem solvable (in the intuitive sense that you could come up with an algorithm for it)?
  2. Consider an infinite complete binary tree, with left branches labeled 0 and right branches labeled 1. There is an obvious one to one correpondence between the nodes in this tree and the binary words. For example, the root corresponds to lambda; by going right, left, left, right you get to the node for 1001; and so on. Notice that, for any language L, you can partition this tree into disjoint trees where all the nodes in each partition are indistinguishable wrt to L. Try this with a regular and with a non-regular language. How does this observation relate to the Myhill-Nerode theorem?
bullet Homework 4 (Due Lecture 23, 18 October): 9.4b, 9.11 a,c, 9.12 acfi, 9.15, 9.18 1de (note that this is identical to Homework 5 from 1994, which is where the solutions are). Here is an interesting question to think about:
  1. Which is a more intuitively appealing way to define languages which have recognition algorithms---expressions, grammars, or automata?
  2. Can you come up with a more general type of grammar than the ones we see in Chapter 9? (Don't look ahead first!) Describe the languages which can be generated by your more general grammar informally, then formally (eg., give a definition for it, like that for context free languages.)
bullet Homework 5 (Due Lecture 27, 30 October): 12.3, 12.5ab, 12.6ab, 12.12; 13.1b; 15.1ac, 15.2ac (note that this is identical to Homework 6 from 1994, which is where the solutions are). Here is some interesting questions to think about:
  1. Suppose you have two stacks on your NPDA. Can you recognize any languages that you cannot recognize with one stack? If so, how do you do it?
  2. Suppose you have three stacks on your NPDA. Can you recognize any languages that you cannot recognize with two stacks? How about four, or five, or six stacks? Can you generalize from this?
  3. Suppose you have a DPDA with two stacks. How does the ability of this model to recognize language compare to the other variations of PDA?
bullet Homework 6 (Due Lecture 33, 13 November): 16.3ae, 16.6a, 16.9ce, 17.1, 17.5, 17.12, (look at 17.9,10) (note that this is identical to Homework 7 from 1994, which is where the solutions are).
bullet Homework 7 (Due Lecture 38, 4 December): 18.3, 18.5, 18.7, 18.12, 20.1, 20.2, 20.4) (note that this is identical to Homework 8 from 1994, which is where the solutions are).

Here is the suggested homework and solutions from 1994:
bullet Homework 1 (pdf): 3.2,3.6.3.9 b,c,e,h, 3.1
bullet Homework 2 (pdf): 4.3, 4.4, 4.5, 4.10, 4.15, 4.17, 4.19
bullet Homework 3 (pdf): 5.1, 5.2, 5.4, 5.12, 5.15, 5.17; 6.6, 6.7, 6.8
bullet Homework 4 (pdf): 7.10, 7.11, 7.12, 7.14, 8.1, 8.2, 8.4, 8.6
bullet Homework 5 (pdf): 9.4b, 9.11 a,c, 9.12 acfi, 9.15, 9.18 1de
bullet Homework 6 (pdf): 12.3, 12.5ab, 12.6ab, 12.12; 13.1b; 15.1ac, 15.2ac
bullet Homework 7 (pdf): 16.3ae, 16.6a, 16.9ce, 17.1, 17.5, 17.12, (look at 17.9,10)
bullet Homework 8 (pdf): 18.3, 18.5, 18.7, 18.12, 20.1, 20.2, 20.4
bullet Homework 9 (pdf): 23.2, 23.14, 23.15, 23.16, (try 23.6)
bullet Homework 10 (pdf): Practice with oracles and NP

Newsgroups

bullet uidaho.cs.theory
bullet comp.theory
bullet sci.logic

Miscellaneous

bullet

Course Objectives

bullet To recognize a computation
bullet To be able to give a mathematically precise characterization of computation
bullet To understand the limitations of various models of computation, which includes realizing that some well-stated problems cannot be solved by any algorithm.
bullet

Course Activities

bullet Lectures
bullet The student will be given exercises on a regular basis. These will not be graded homework assignments. However, students are strongly advised to work through all exercise assignments.
bullet Take three examinations, including a cumulative final.
bullet

Grading

Grading: The first two tests will be 30% of the grade and the final will be 40%. Classroom participation will also be taken into consideration.

 

Last Updated 01/13/2003 15:56 -0800