310409-Theory of computation

advertisement
Komate AMPHAWAN
310409-THEORY OF
COMPUTATION
1
2
DESCRIPTION-1
• Studies concepts of:




grammars,
automata,
languages,
computability and complexity
3
DESCRIPTION-2
• the relationship between automata and
various classes of languages
• Turing machine and equivalent models of
computation
• the Chomsky hierarchy context-free
grammar, push-down automata,
• Pumping lemmas and variants, closure
properties and decision properties;
parsing algorithms.
4
Computability
• What is “Computation”?
• What is Computable?
 Problem of determining whether a
mathematical statement is true or false.
5
Evaluation and Grading
•
•
•
•
Midterm exam
Final exam
Quiz
Class attendance
40%
40%
10%
10%
6
Text-1
• “Introduction to Languages and the
Theory of Computation”—John C.
Martin,4ed, 2010.
7
Text-2
• “Introduction to the Theory of
Computation”—Michael Sipser, 2ed,
2005.
8
Main topic
• We shall study different types of
theoretical machines that are
mathematical models for actual physical
processes.
9
Machine Model-1
10
Machine Model-2
11
Machine Model-3
12
Prerequisites
• Set Theory
• Relations and Functions „Relations and
Functions
• Elementary Graph Theory
• Boolean Logic
• Proof Mechanisms
13
14
SET
15
Sets-1
• A set is a collection of "things," called
the elements or members of the set.
• It is essential to have a criterion for
determining, for any given thing,
whether it is or is not a member of the
given set.
• This criterion is called the membership
criterion of the set.
16
Sets-2
• There are two common ways of
indicating the members of a set:
 List all the elements, e.g. {a, e, i, o, u}
 Provide some sort of an algorithm or rule,
such as a grammar
17
Sets-3
• Notation:
 To indicate that x is a member of set S, we
write x S
 We denote the empty set (the set with no
members) as { } or 
 If every element of set A is also an element of
set B, we say that A is a subset of B, and write
AB
 If every element of set A is also an element of
set B, but B also has some elements not
contained in A, we say that A is a proper
subset of B, and write A  B
18
Operations on Sets
• The union of sets A and B, written
A  B, is a set that contains everything
that is in A, or in B, or in both.
• The intersection of sets A and B,
written A  B, is a set that contains
exactly those elements that are in both
A and B.
• The set difference of set A and set B,
written A - B, is a set that contains
everything that is in A but not in B.
19
Additional terminology
• The cardinality of a set A, written |A|, is
the number of elements in a set A.
• The powerset of a set Q, written 2Q, is
the set of all subsets of Q. The notation
suggests the fact that a set
containing n elements has a powerset
containing 2n elements.
• Two sets are disjoint if they have no
elements in common, that is, if A  B = .
20
RELATIONS AND
FUNCTIONS
21
Relations and Functions-1
• A relation on sets S and T is a set of
ordered pairs (s, t), where
s  S (s is a member of S),
t  T,
S and T need not be different,
The set of all first elements (s) is
the domain of the relation, and
 The set of all second elements is
the range of the relation.




22
Relations and Functions-2
• A relation is a function iff every
element of S occurs once and only once
as a first element of the relation.
• A relation is a partial function iff every
element of S occurs at most once as an
element of the relation.
23
GRAPHS
24
Graph-1
• A graph consists of two sets
 A set V of vertices (or nodes), and
 A set E of edges (or arcs).
• An edge consists of a pair of vertices in
V. If the edges are ordered, the graph
is a digraph (a contraction of "directed
graph").
25
Graph-2
• A walk is a sequence of edges, where the
finish vertex of each edge is the start
vertex of the next edge. Example: (a, e),
(e, i), (i, o), (o, u).
• A path is a walk with no repeated edges.
• A simple path is a path with no repeated
vertices.
26
TREES
27
Trees-1
• A tree is a kind of digraph:
 It has one distinguished vertex called
the root;
 There is exactly one path from the root to
each vertex; and
 The level of a vertex is the length of the
path to it from the root.
28
Trees-2
• Terminology:
• if there is an edge from A to B, then A is
the parent of B, and B is the child of A.
• A leaf is a node with no children.
• The height of a tree is the largest level
number of any vertex.
29
PROOF TECHNIQUES
30
Importance
• Because this is a formal subject, the
textbook is full of proofs
• Proofs are encapsulated understanding
• You may be asked to learn a very few
important proofs
31
Proof by induction
• Prove something about P1 (the basis)
• Prove that if it is true for Pn, then it is
true for Pn+1 (the inductive assumption)
• Conclude that it is true for all P
32
Proof by contradiction
•
•
•
•
also called reduction ad absurdum
Assume some fact P is false
Show that this leads to a contradiction
Conclude P must be true
33
Download