Reading and Homework Assignments CS 445-60

Note: check this page frequency as assignments and dates will change over the course of the semester. This is a tentative schedule as we may want to spend more time on one area and less on another. 

 Make sure that you read the material before class so that you are familiar with what will be covered. My assumption is that you have read the material prior to class. 

Projects: As part of your grade, you will be assigned several projects. 

Parallel Topics

  Regular Languages(FA) Context-Free Languages(PDA) Phrase-Structure Languages(TM)
grammars ch4 ch 12 ch 19
machine ch5 ch 14 ch 19
equiventant machines ch 8 ch 15 ch 20
language ch9 ch 17 ch 23
what is not included ch10 ch 16 ch 22
decidability ch11 ch 18 ch 25

 

Topic Dates Comments Reference Material Related 
Material
Languages 

Recursive Definitions

1/12 ch 2. 3,4,5,11,12, 16,17,19

ch 3, 6, 7, 9, 15,16,19 

ch 2 & 3  
Regular Expressions

Finite Automata

1/19 ch 4: 2, 3,4,5,7,9,10,12,15,16,17,18

ch 5 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19

When inputting data such as dates (7/3/99, 7/3/1999), SSN's (123-456-7898) phone numbers (1-(800)-555-1234) or IP address (149.543.8.8)  etc., you frequently want to define an input mask or a template of allowable symbols. Define the words in the language (patterns) of allowable dates, SSN's and phone numbers using regular expressions. { make sure to define your alphabet to include . ,  - ,  ( , ) }.Make sure that you can handle dates such as 9/7/99, 3/07/99 and 3/7/1999 and phone numbers without area codes (if you want to allow them). Create a FA (ch 5) and a transition diagram (ch 6) to test the validity of an input string and also write out the production rules of the grammar. for each. How would you write a program to test for validity. See notes3 for some thoughts.

In some languages such as Unix and JavaScript, regular expressions can be defined. How can this be used to quickly test for validity? Look up regular expressions in UNIX and JavaScript.)

ANOTHER EXAMPLE: Look at %d the prinf function in C such as printf("the maximum is: %d",MAX(x,y));.This is another example of the use of a mask. 

A more general problem: How can regular languages / FA be used to do pattern recognition.

ch 4 & 5
  • We will begin by showing how we can go from words in a language to regular expressions. 

  • Next, we will show how to express words as Finite Automata (FA)  and show how to covert a  FA diagram into a regular expression (part of this will come part of the Kleene Theorem proof  from ch 7 pp. 93-108.)

 

 
Transitional Graphs

Kleene Theorem

1/26 Make sure that you can convert an FA into a regular expression.

Make sure that you can follow a TG. 

ch 6 & 7
  • Next, we will look at transition diagrams, again looking at how they relate to regular expressions and to FA.

  • Lastly, we will prove the second part of Kleene's Theorem, by converting regular expressions into FA. (pp. 108-135.

  • We will end the two week discussion by showing that for every Non-deterministic Finite Automata (NFA), there is some FA that accepts exactly the same language (Theorem 7).

 

 
Finite Automata with Output

Regular languages

2/2  Make sure that given a Moore/Mealy machine, you can get an output string given a valid input string. Also, given a problem such as given in project 1, you can come up with a Moore machine.

We will also go over the construction of a DFA from a NFA.

ch 8 & 9

We will then show that they are equivalent. Lastly, we will discuss their use in such applications as sequential circuits (pp. 161-164), switching theory and operating systems. The Moore/Mealy machines are basically FA machines except that when we travel an edge we generate an output as well as going to a new state. For example, moving from a non-print state to a print state output printing. When the printing is done, the computer returns to the non-print state. There is a nice summary chart on p. 164.

Next, we will discuss regular languages (ch 9). This is a short chapter and somewhat of a review of what we have learned in terms of constructive proofs. In addition to the union and intersection we saw in ch. 7, ch 9 discusses complements and goes into intersection for another view.

The last point I want to cover is how to write out production rules for FA. (I may end up doing this while discussing the topics above since this is really just another way to show the same thing.) This is covered in ch 13, Grammatical Format, under the subtopic Regular Languages pp. 259-265. This method will give us a compact way to write out the steps of a FA and give us a chance to look at the grammar for FA's. What this amounts to is just writing going from state A to state B via a transition as A-->aB and then writing out all the transitions out in the same way. If you have a word/string and apply the production rules and end up in a final (terminal) state, the word/string is accepted. for an FA, you can write out its production rules; given production rules of a regular language, you can write out the FA.  

 

Ch 12
Nonregular Languages

Decidability

2/9 Skip Quotient Languages  ch 10 & 11 &12 16,18

23 

Context-Free Grammars

Grammatical Format

2/18   ch 13 & 14  16
Pushdown Automata

CFC=PDA

2/22   ch 14,15   
Non-Context Free Languages

 

3/1 You should also start to work on project 1. The due date is 3/1/00.   ch 16  

Mid -Term

. Open book test on ch 1-15

Context-Free Languages

Decidability 

3/8   ch 17,18  
Turing Machines

Post Machines

3/22   ch 19,20  
Minsky's Theorem

Variation on the TM

3/29 project 2. will be due 3/29/00   ch 21, 22  
TM Languages

Chomsky Hierarchy

4/5   ch 23,24  
Computers 4/12   ch 25  
Other topics, snow days 4/17

4/26

     

FINAL: W: MAY 3  project 3. will be due at the end of the semester. 

 

You are the visitor to this site.





Return to Homepage