University of Nevada Las Vegas
Howard R. Hughes College of Engineering
School of Computer Science
My Home Page

Computer Science 456/656
Automata and Formal Languages
Spring 2006
Assignments

Revised May 9, 2006

Tuesday, January 17, 2006
Today we will broadly discuss the course as a whole.
We will introduce the basic concepts of symbol, alphabet string, and language.
Thursday, January 19, 2006
Today we will informally define the concepts of machine and computation and introduce the concept of a regular language.
More formal definitions of machine and computation will come later.
Tuesday, January 24, 2006
Today we will define regular expressions, and the equivalence of the three definitions of regular language.
We will learn how to minimize a DFA, and how to construct a DFA equivalent to a given NFA.
Thursday, January 26, 2006
We didn't get through all the topics from last time, so I will finish them today.
Tuesday, January 31, 2006
Turn in Assignment 1 at the beginning of class today.
We will spend a few minutes discussing some of the problems in Assignment 1.
We will summarize the closure properties of the class of regular languages, including union, intersection, concatenation, Kleene closure, complementation, inversion, and homomorphism.
If time permits, we will then discuss the fact that many languages which are of practical importance are not regular, including most algebraic languages and programming languages. The pumping lemma, which you are expected to understand, can be used to prove that these languages are not regular.
Thursday, February 2, 2006
Today, we will begin our discussion on context-free languages and push-down automata.
Tuesday, February 7, 2006
We will continue our discussion of context-free languages and grammars.
We will give some simple examples of context-free grammars which generate familiar languages.
We will list the standard closure properties of the class CFL. These include:
  • Union
  • Concatenation
  • Kleene Closure
  • Inversion
Is CFL closed under the following operations?
  • Intersection
  • Complementation
  • Homomorphism
Other topics to be discussed (today or later) include Chomsky and Greibach normal forms, the CYK algorithm, and the pumping lemma for CFL. (This is different from the pumping lemma for regular languages.)
Thursday, February 9, 2006
Tuesday, February 14, 2006
Turn in Assignment 2 at the beginning of class today.
Thursday, February 16, 2006
Today, we will discuss the CYK algorithm for the membership problem for context-free languages. This is a dynamic programming algorithm.
Tuesday, February 21, 2006
First Examination today. Study guide.
(There will be a second mid-term examination later.)
Thursday, February 23, 2006
Today we will show two methods by which any CFL is accepted by a PDA. These two methods are both non-deterministic, but give us the models we need to understand deterministic parsers.
Tuesday, February 28, 2006
Today we will introduce deterministic parsing.
Thursday, March 2, 2006
Today we will continue our discussion of parsing.
Tuesday, March 7, 2006
Today, we will introduce the main part of the course, leading up to the proof, some days later, that some languages are undecidable, or equivalently, that there are true statements which have no proof. We will start by defining Turing machines.
Thursday, March 9, 2006 The major theme today is the Church Turing thesis. Any computation that can be done on any abstract machine of any type whatsoever can be done by a Turing machine. But it is necessary to have a clear understanding of what a "machine" (i.e., abstract machine) is. For example, it does not mean "physical machine." There can be no mathematical definition of "physical machine."
I think the reference to Peter Shor in the Wikipedia article is misleading. When I asked Peter whether any quantum machine could be emulated by a (usual) machine, he refused to answer for several minutes. After I really insisted, he seemed to say that the answer was yes. But I really need to pin this down.
I personally believe that no physical machine can compute anything that no Turing machine can compute. But here is a more cautious formulation.
Tuesday, March 21, 2006
Today we will begin the main thrust of the course: the proof that there are undecidable languages, i.e., undecidable decision problems.
We will spend some time showing how a decision problem (example: "Is this graph connected?") can be reformulated as a language, and vice versa.
The next order of business is to have a clear understanding of the meaning of "undecidable."
Undecidability is usually proved using reduction or diagonalization.
Thursday, March 23, 2006
Today we will prove that the halting problem is undecidable.
In preparation for this lecture, it would be helpful to read about binary encoding of Turing machines.
Also, to get into the right mood for the diagonization proof of the undecidability of the halting problem, read about the Guardian of the Bridge who was "… doomed to guard this bridge until truth and lies are one." (Thanks to Emily Rodda.)
Tuesday, March 28, 2006
Today we will review undecidability.
Turn in Assignment 3 at the beginning of class today.
Thursday, March 30, 2006
Today we will introduce unrestricted grammars.
Tuesday, April 4, 2006
We will introduce the concept of complexity class.
If time permits, we will review some material that will be on Thursday's exam.
Thursday, April 6, 2006 Second Examination today. Study guide.
Tuesday, April 11, 2006
We will go over the exam.
Today, we will introduce the subject of {\em polynomial time complexity\/}.
Thursday, April 13, 2006
Today, we will continue our discussion of time complexity, and give the formal definition of NP-completeness.
Tuesday, April 18, 2006
Today, I will outline the proof that Lsat is NP-complete. The proof is rather involved and filled with confusing detail, but these details are not the essence of the proof. I will try to give an intuitively straightforward summary.
By reducing Lsat to L3-CNF-sat in polynomial time, we show that L3-CNF-sat is NP-complete.
By reducing L3-CNF-sat to the independent set problem in polynomial time, we show that the independent set problem is NP-complete.
By reducing the independent set problem to the clique problem in polynomial time, we show that the clique problem is NP-complete.
Thursday, April 20, 2006
Here are some answers to some of the questions that were raised in class about NP-completeness, co-NP-completeness, and prime factorization.
Tuesday, April 25, 2006
With the rapid onset of parallel computers, the issue of efficient parallelization of existing sequential algorithms grows in practical importance. Can every sequential algorithm be parallelized with only a "small" loss of efficiency?
"Nick's Class" is the class of all problems that can be solved in polylogarithmic time with polynomially many processors. Trivially, NC is a subclass of P, but the question of whether NC = P is open, and its importance rivals that of the P = NP question. P-completeness is defined in a manner analogous to NP-completeness. If any one P-complete problem is in NC, then P = NC. Nick, himself!
Thursday, April 27, 2006
Parallel CYK?
Tuesday, May 2, 2006
Some problems on regular languages.
Sample LALR problems.
Sample problems about 3-CNF-SAT.
Sample problems about Turing machines.
The relationship among NC, P, NP, recursive, and RE explained.
Prove that the language consisting of all binary strings with an even number of 1's is in NC. Solution.
Thursday, May 4, 2006
What does this Turing machine do?
Tuesday, May 9, 2006 Office hours 7:20-10:00 today.
Tuesday, May 10, 2006 Office hours 9:00-11:30 today.
Tuesday, May 9, 2006 Office hours 7:20-10:00 today.
Tuesday, May 10, 2006 Office hours 8:20-11:30 today.
Thursday, May 11, 2006
Final Examination: 10:10 -- 12:10
I have decided I will definitely ask a question that looks like one of these.
Final Examination.
Practice final in postscript form.
Practice final in pdf form.
Monday, May 16, 2006
Monday, May 20, 2006