Theory of Automata CS3434 Lecture 01.

Slides:



Advertisements
Similar presentations
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Advertisements

COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
Finite Automata Chapter 5. Formal Language Definitions Why need formal definitions of language –Define a precise, unambiguous and uniform interpretation.
Theory Of Automata By Dr. MM Alam
1 Introduction to Automata Theory Reading: Chapter 1.
Lecture # 1 (Automata Theory)
Theory of Automata.
1 Welcome to ! Theory Of Automata. 2 Text and Reference Material 1.Introduction to Computer Theory, by Daniel I. Cohen, John Wiley and Sons, Inc., 1991,
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
CSC312 Automata Theory Lecture # 2 Languages.
L ECTURE 1 T HEORY OF A UTOMATA. P RAGMATICS  Pre-Requisites  No Pre-Requisite  Text book  Introduction to Computer Theory by Daniel I.A. Cohen 
Introduction to Theory of Automata
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
CMPF144 FUNDAMENTALS OF COMPUTING THEORY Module 5: Classical Logic.
Fundamentals of Informatics
Introduction Episode 0 What is TOC (Theory of Computation) about? Giorgi Japaridze Theory of Computability Subject: The fundamental mathematical properties.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CSC312 Automata Theory Lecture # 26 Chapter # 12 by Cohen Context Free Grammars.
Lecture # Book Introduction to Theory of Computation by Anil Maheshwari Michiel Smid, 2014 “Introduction to computer theory” by Daniel I.A. Cohen.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
Set, Alphabets, Strings, and Languages. The regular languages. Clouser properties of regular sets. Finite State Automata. Types of Finite State Automata.
Lecture 2 Compiler Design Lexical Analysis By lecturer Noor Dhia
By Dr.Hamed Alrjoub. 1. Introduction to Computer Theory, by Daniel I. Cohen, John Wiley and Sons, Inc., 1991, Second Edition 2. Introduction to Languages.
Lecture 01: Theory of Automata:2013 Asif Nawaz Theory of Automata.
Introduction to Automata Theory
Alphabet, String, Language. 2 Alphabet and Strings An alphabet is a finite, non-empty set of symbols. –Denoted by  –{ 0, 1 } is a binary alphabet. –{
CS 3304 Comparative Languages
Chapter 4 Introduction to Set Theory
Describing Syntax and Semantics
Introduction Chapter 0.
Formal Language & Automata Theory
Chapter 3 Lexical Analysis.
Lecture 1 Theory of Automata
CIS Automata and Formal Languages – Pei Wang
Theory of Automata Course: Theory of Automata
Copyright © Cengage Learning. All rights reserved.
Theory of Computation Theory of computation is mainly concerned with the study of how problems can be solved using algorithms.  Therefore, we can infer.
Modeling Arithmetic, Computation, and Languages
G. Pullaiah College of Engineering and Technology
CSE 105 theory of computation
CSE 105 theory of computation
[Week#03,04] (b) - Finite Automata
Discrete Structure II: Introduction
Introduction to Automata Theory
Course supervisor: Lubna Siddiqui
CSCE 411 Design and Analysis of Algorithms
Theory of Computation Turing Machines.
INTRODUCTION TO THE THEORY OF COMPUTATION
CS 3304 Comparative Languages
Finite Automata.
CS 3304 Comparative Languages
Introduction Chapter 0.
Instructor: Aaron Roth
Copyright © Cengage Learning. All rights reserved.
CSE S. Tanimoto Turing Completeness
CSE 105 theory of computation
Principles of Computing – UFCFA Week 1
Copyright © Cengage Learning. All rights reserved.
Copyright © Cengage Learning. All rights reserved.
CSC312 Automata Theory Kleene’s Theorem Lecture # 12
CSC312 Automata Theory Lecture # 2 Languages.
Welcome to ! Theory Of Automata Irum Feroz
Formal Languages and Automata Theory BODDEDA HARITHA LAKSHMI,
What is it? The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled.
Automata theory and formal languages COS 3112 – AUTOMATA THEORY PRELIM PERIOD WEEK 1 AND 2.
CSE 105 theory of computation
Presentation transcript:

Theory of Automata CS3434 Lecture 01

The Course Course Code: CS3434 Course Title: Advance Theory of Computation Instructor: Muhammad Mukhtar Qureshi Email Address: Muhammad.mukhtar@cs.uol.edu.pk Office: Room G-14(Ground floor) Web Address: https://sites.google.com/a/cs.uol.edu.pk/bstoa Term (Semester): Spring 2014 Duration: 15/16 Weeks

Text and Reference Material Introduction to Computer Theory, by Daniel I. Cohen, John Wiley and Sons, Inc., 1991, Second Edition Introduction to Languages and Theory of Computation, by J. C. Martin, McGraw Hill Book Co., 1997, Second Edition Theory Of Automata

Grading Following is the division of marks: Mid-Term Exam 25 Assignments 10 Quizzes 15 Final Exams. 50 Marks division might change during the semester

Purpose of Course In this Course our concern is not with actual hardware and software. More interested in capability of computers. specifically, what can and what cannot be done by any existing computer or any computer ever built in the future. We will study different types of theoretical machines that are mathematical models for actual physical processes.

Cont…. By considering the possible inputs on which these machines can work,we can analyze their various strengths and weaknesses. We can then develop what we may believe to be the most powerful machine possible. Surprisingly, it will not be able to perform every task.

Cont…. In particular, the way we shall be studying about computers is to build mathematical models, called machines, and then to study their limitations by analyzing the types of inputs on which they can operate successfully. The collection of these successful inputs is called the language of the machine

Cont…. Every time we introduce a new machine, we will learn its language; and every time we develop a new language, we will try to find a machine that corresponds to it. We will study different types of theoretical machines that are mathematical models for actual physical processes. By considering the possible inputs on which these machines can work, we can analyze their various strengths and weaknesses.

What does automata mean? Automata is Greek letters .Automata is a word formulated from automation, which means machine designing or replacing human beings with machines It is the plural of automaton, and it means “something that works automatically”.

Why study automata? Automata theory is the study of abstract computing devices or “machines.” A. Turing in the 1930’s studied an abstract machine that had all the capabilities of today’s computers, at least as far as in what they could compute.

Why study automata? Turing’s goal was to describe precisely the boundary between what a computing machine could do and what it couldn’t. His conclusions apply not only to his abstract Turing machine, but also to today’s real machine. Turing machine”, whose core design is automata, help us understand what the computer can do, and what we can expect from our software.

Introduction

Language In English, there are at least three different types of entities: letters, words, sentences. Letters are from a finite alphabet { a, b, c, . . . , z } Words are made up of certain combinations of letters from the alphabet. Not all combinations of letters lead to a valid English word.

Sentences are made up of certain combinations of words. Not all combinations of words lead to a valid English sentence. So we see that some basic units are combined to make bigger units.

Languages How can you tell whether a given sentence belongs to a particular languages Black is cat the The tea is hot I like chocolates two much Rules give a clue to forming as well as validating sentences.

Formal vs. Informal Rules Informal language -> abstract languages Incoherent strings are also understandable Slang, idiom, dialect etc. Raise ambiguity Interpretation varies with region I am through (BrE/AmE) Same words have multiple meanings. Like, light, base, etc.

Informal languages Natural languages are generally defined informally Human brain Capable to understand incoherent even invalid sentences. You mangoes like Rectify grammatical errors etc. Resolve ambiguity Interpret according to context Supporting aids such as Facial expressions and body language etc.

How to Communicate with machines ? Need a language: what sort Machines don’t have human mind though may have its partial imitation Would fail on incorrect or ambiguous input Some recovery or input corrections may be proposed but again very limited. Thus need a precise, explicit and universal definition of communication language

Summary of Languages Three aspects/specifications Lexical Syntactic Defines valid words/units of a language Syntactic Defines rules for combining the units to form valid sentences (computer programs in context of machines) Semantic Concerned with the interpretation or meaning of a sentence (what output to produce in context of machines) Affected by ambiguity the most.

Formal languages Rules defined explicitly and clearly No ambiguities Universally uniform understanding Lets the machine Interpret an input uniformly every time. i.e. always produces same output for a particular input Avoid crashes because of ambiguity. Explicitly and categorically reject invalid input

Formal Languages Need uniformly understandable notation Representations Alphabet Represents a finite set of fundamental units of lanauges, e.g. for English ={a,b,….z.A,…Z,} ∑ = {0,1} ∑ = {0,1,2,3,4,5,6,7,8,9}

Formal Languages List of words Set of all valid words of a given language, e.g., a language English_Words that contains all valid words of English would have a  = {all entries of the dictionary + punctuation marks and blank space} Denoted by  Is  Finite or Infinite set. Strings: A string a finite sequence of symbols chosen from alphabet. For example 0111100 , 123045, abbbcdeg etc.

String Variable: A letter used for denoting a string String Variable: A letter used for denoting a string. The author uses w, x, y and z as string variable. For example w = 0111100 , x = 123045, z = abbbcdeg Length of String: The number of positions for symbols in the string. For simplicity we can say that it is the number of symbols in the string. For example |w| = 7 , |x| = ? , |z| = ?

Finite vs. Infinite Languages Countable set of words Can be defined by rigorously listing the words in  E.g. English-Words Infinite Languages Infinite set of valid words Cant be listed completely E.g. English_Sentences

Infinite Languages Most of the languages are infinite How can u check whether a word belongs to a language if it is Finite Checking its entry in  Infinite Validating against rules

Defining Languages Define alphabet set Define rules for forming valid words and sequences of words from  Called grammar(Rules for defining words) Can be descriptive Limitations of informalism Can be mathematical Can also define supporting functions e.g., length(X), reverse(x)

Defining languages Example ={a,b,…z} L = {all words formed only of odd number of xs} L = {xn | n is odd} L = {all words of length less than or equal to 4} PALINDROME ={Λ, all strings x such that reverse (x) = x}

Kleene Closure Set closure Kleene Closure (applied to ) A set of all the strings (finite) that can be formed by the elements of  where the elements may be repeated any number of times. Denoted by * Also called Kleene star.

∑* : The set of all strings over an alphabet ∑ and called Kleene Star Closure of alphabet. So we have ∑* = ∑0 U ∑1 U ∑2 U ∑3 U…………… ∑+ : The set of all strings over an alphabet ∑ excluding empty string, ε, and called plus operation. So we have ∑+ = ∑1 U ∑2 U ∑3 U……………

Some observations Λ represents an empty string (not alphabet thus not a part of ) ε also represents the same ε is not equivalent to  If  =  then * = {Λ} Is S* == (S*)* and so on