CS 332 Theory of Computation

advertisement
CS 332 Theory of Computation
Course Description
This course aims to look at models that represent features at the core of all computers
and their applications. It introduces the notations of an automata, formal grammar,
and formal language. The course shows the close connection between these
abstractions and investigates the conclusions that can be derived from them. Also the
course formalizes the concept of a mechanical computation by giving a precise
definition of the term algorithm and studies the kinds of the problems that are or are
not suitable for solution by such mechanical means.
Prerequisite
CS 331 – CS 212 – CS 322 – CS 102
Course Main goals
1- Introducing an overview of the theoretical foundation of computer science
from the perspective of formal language.
2- Understanding the formal grammar and its types.
3- Understandings the Automata and formal languages.
Course Objectives


Understanding the basic ideas of the Theory of Computation.
Understanding the Formal grammar and its types this including the following:
o Know the definition of the grammar
o To be able to write an abstract grammar
o To be able to derive sentences from the grammar
o To be able to drive language of the grammar
o Understand the Derivation Trees
o Understand Ambiguity

Design and analysis of finite state machines (Mealy and Moore), especially the
state sequence.
Design and analysis of Finite Automata and its relation with regular grammar,
regular expression, and regular language.
Understanding the Generalized Sequential Machine (GSM) and illustrates how
to configure it to construct Pushdown Automata, Linear bounded, and Turing
Machine.
Design and analysis Pushdown automata and its relation with context free
grammar, and context free language.
Design and analysis Turing machine
Study briefly the limitation of algorithmic computation





1
Course Calendar
Week
1
Topic
Introduction and Mathematical
preliminaries
2
3
Three Basic Concepts
Formal Grammar
4
Hierarchy of Formal languages
and Automat
First Exam.
Finite State Machine
5
6
7
8
9
10
11
12
13
14
Finite Automata
Finite Automata
Regular language and Regular
grammar
Regular language and Regular
grammar
Regular language and Regular
grammar
Pushdown Automat (PDA)
Pushdown Automat
Mid Term Exam.
Turing Machine (TM)
Turing Machine (TM)
15
Limitation of Algorithmic
Computation ( a very briefly
subjects, not in details)
16
Final Exam.
Subtopics
Abstract machine, Abstract language,
Accepter, Generator – TransducerSets – Functions and RelationsGraphs and Trees- Proof Techniques
Languages – Grammar - Automata
Definition – Grammar types
Derivations- Derivation tree –
Ambiguous Grammar
Generalized Sequential Machine.
Ch.
1
Mealy machine - Moore Machine State sequence.
DFA – NFA – Language with DFA
From NFA to DFA – State reduction
Regular Expression- language
Ch 4
Connected between regular expression
and regular language Regular
Grammar – Convert from regular
grammar to finite automata and
reverse.
3
1
1,5
11, ch
7
2
2
3
3
NPDA- PDA and Context Free
language. PDA as Accepter and
Transducer.
PDA and Grammars
Standard TM – TM as Accepter
TM as transducer – TM for
complicated tasks
Some unsolvable problems – The Post
problem – Other model of
computations ( recursive functions –
Post systems)
2
7
7
9
9
12
Required Textbook
1- Peter Linz, “ An Introduction to Fomral Languages and Automata”.
Additional Book
2- Peter J. Denning, Jack B. Dennis, and Joseph E. Qualitz“Machines,
Languages, and Computation”
Class Notes
Some notes that support some course objectives.
Grading
Activity
Reports (Number of Assignments)
Oral Exam
First Exam.
Second Exam
Final Exam
Mark
10
10
20
20
40
Course Outline
Chapter 1 Introduction
 Abstract Machine (AM)
 Abstract Language (AL)
 Relationship between AM and AL
Accepter
Generator
Transducer
Chapter 2 String and Languages
 String and String Operations
 Operations on Languages
Chapter 3 Formal Grammars
 Representation of the Language
 Definition
 Types of Grammars
Type 0: Unrestricted Grammar
Type 1: Context Sensitive Grammar
Type 2: Context Free Grammar
Type 3: Regular Grammar
1- Right Regular
2- Left Regular
3





Derivation of sentence
Derivation of grammar language
Write a grammar
Derivation Trees and Diagrams
Ambiguity
Chapter 4 : Finite State Machine (FSM)
 Definition
 Machine with transition assigns output ( Mealy machine)
 Machine with state assigns output (Moore machine)
 Convert from mealy to Moore and vice verce)
 State sequences
 Equivalent of FSM
Chapter 5 : Finite State Language
 Finite State Accepter
 Nondeterministic Finite Accepter (NFA)
 Deterministic Finite Accepter (DFA)
 Convert from NFA to DFA
 Machine Design
 Convert from FSA to Regular Grammar
 Convert from Regular Grammar to FSA
Chapter 6: Tape Automata
 Generalized Sequential Machine
 Two Way Accepters
Chapter 7: Pushdown Automata
 Definition
 Examples
Chapter 8: Turing Machine
 Definition
 Examples
4
Download