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 AB 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