|
|
|
Course Details for CS495/Ma485

 |
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.
|
 |
I have moved the test to Lecture 19, 9 October (Wednesday)
|
 |
See Jim Alves-Foss' page on viewing information for help viewing postscript files.
|
 |
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.
|
 |
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.
|
 |
The books are in the bookstore!
|
 |
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

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).

Here is homework for this class (Fall 1996):
 |
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:
- Prove that the class of regular languages is closed under union and kleene star. Try doing this for intersection and difference.
- Prove that the class of finite sets is closed under union, intersection, and difference, but not under kleene star.
|
 |
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:
- 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?)
- 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?
- 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?
|
 |
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:
- 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)?
- 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?
|
 |
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:
- Which is a more intuitively appealing way to define languages which have recognition algorithms---expressions, grammars, or automata?
- 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.)
|
 |
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:
- 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?
- 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?
- 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?
|
 |
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).
|
 |
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:
 |
Homework 1 (pdf): 3.2,3.6.3.9 b,c,e,h, 3.1
|
 |
Homework 2 (pdf): 4.3, 4.4, 4.5, 4.10, 4.15, 4.17, 4.19
|
 |
Homework 3 (pdf): 5.1, 5.2, 5.4, 5.12, 5.15, 5.17; 6.6, 6.7, 6.8
|
 |
Homework 4 (pdf): 7.10, 7.11, 7.12, 7.14, 8.1, 8.2, 8.4, 8.6
|
 |
Homework 5 (pdf): 9.4b, 9.11 a,c, 9.12 acfi, 9.15, 9.18 1de
|
 |
Homework 6 (pdf): 12.3, 12.5ab, 12.6ab, 12.12; 13.1b; 15.1ac, 15.2ac
|
 |
Homework 7 (pdf): 16.3ae, 16.6a, 16.9ce, 17.1, 17.5, 17.12, (look at 17.9,10)
|
 |
Homework 8 (pdf): 18.3, 18.5, 18.7, 18.12, 20.1, 20.2, 20.4
|
 |
Homework 9 (pdf): 23.2, 23.14, 23.15, 23.16, (try 23.6)
|
 |
Homework 10 (pdf): Practice with oracles and NP
|


 |
Course Objectives
 |
To recognize a computation
|
 |
To be able to give a mathematically precise characterization of computation
|
 |
To understand the limitations of various models of computation, which includes realizing that some well-stated problems cannot be solved by any algorithm.
|
|
 |
Course Activities
 |
Lectures
|
 |
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.
|
 |
Take three examinations, including a cumulative final.
|
|
 |
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.
|
|
|