CIS Automata and Formal Languages – Pei Wang

Slides:



Advertisements
Similar presentations
Formal Languages Languages: English, Spanish,... PASCAL, C,... Problem: How do we define a language? i.e. what sentences belong to a language? e.g.Large.
Advertisements

YES-NO machines Finite State Automata as language recognizers.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
Finite Automata Section 1.1 CSC 4170 Theory of Computation.
CS21 Decidability and Tractability
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
CS5371 Theory of Computation
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
1 Languages and Finite Automata or how to talk to machines...
Normal forms for Context-Free Grammars
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Topics Automata Theory Grammars and Languages Complexities
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
Great Theoretical Ideas in Computer Science.
1 Introduction to Automata Theory Reading: Chapter 1.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
CSC312 Automata Theory Lecture # 2 Languages.
1 Chapter 1 Automata: the Methods & the Madness Angkor Wat, Cambodia.
Introduction to Theory of Automata
1 Strings and Languages. 2 Review Sets and sequences Functions and relations Graphs Boolean logic:      Proof techniques: – Construction, Contradiction,
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Lecture # 3 Chapter #3: Lexical Analysis. Role of Lexical Analyzer It is the first phase of compiler Its main task is to read the input characters and.
Theory of Computation - Lecture 3 Regular Languages What is a computer? Complicated, we need idealized computer for managing mathematical theories... Hence:
Languages, Grammars, and Regular Expressions Chuck Cusack Based partly on Chapter 11 of “Discrete Mathematics and its Applications,” 5 th edition, by Kenneth.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 2 Mälardalen University 2006.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
CS355 - Theory of Computation Regular Expressions.
Fundamentals of Informatics Lecture 3 Turing Machines Bas Luttik.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Three Basic Concepts Languages Grammars Automata.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Lecture 2 Overview Topics What I forgot from last lecture Proof techniques continued Alphabets, strings, languages Automata June 2, 2015 CSCE 355 Foundations.
Introduction to Automata Theory
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
Great Theoretical Ideas in Computer Science for Some.
Overview of Previous Lesson(s) Over View  A token is a pair consisting of a token name and an optional attribute value.  A pattern is a description.
Introduction Why do we study Theory of Computation ?
Finite Automata Great Theoretical Ideas In Computer Science Victor Adamchik Danny Sleator CS Spring 2010 Lecture 20Mar 30, 2010Carnegie Mellon.
Set, Alphabets, Strings, and Languages. The regular languages. Clouser properties of regular sets. Finite State Automata. Types of Finite State Automata.
Akram Salah ISSR Basic Concepts Languages Grammar Automata (Automaton)
Lecture 2 Compiler Design Lexical Analysis By lecturer Noor Dhia
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
Introduction to Automata Theory
Theory of Computation Automata Theory Dr. Ayman Srour.
Chapter 1 INTRODUCTION TO THE THEORY OF COMPUTATION.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
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. –{
CIS Automata and Formal Languages – Pei Wang
CIS Automata and Formal Languages – Pei Wang
Languages.
FORMAL LANGUAGES AND AUTOMATA THEORY
CSE 105 theory of computation
Jaya Krishna, M.Tech, Assistant Professor
Introduction to Automata Theory
Jaya Krishna, M.Tech, Assistant Professor
4. Properties of Regular Languages
Decidable Languages Costas Busch - LSU.
CSE 105 theory of computation
Chapter 1 Regular Language
Lecture One: Automata Theory Amjad Ali
Languages Fall 2018.
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.
CIS Automata and Formal Languages – Pei Wang
CSE 105 theory of computation
Presentation transcript:

CIS 5513 - Automata and Formal Languages – Pei Wang

Abstract machines Automata: machines, devices, or systems described abstractly for the purpose of computability Focus: common features of different devices, as well as their limitations Abstraction: internal activity as transitions through discrete states; external interaction as streams of symbols

Examples An on/off switch A pocket calculator that computes the value of arithmetic expressions A lexical analyzer that recognizes certain keywords In principle, any software or hardware can be analyzed as an automaton, though such an analysis only answers certain questions

Automata and formal languages The external features of automata can be described as formal languages A formal language is defined as a set of symbolic sentences The patterns of the sentences of a formal language can be summarized into a grammar or expression There is a correspondence between automata and formal languages

String and word An alphabet is a finite, nonempty set of symbols, usually written as ∑ (sigma), such as {0, 1} or {a, b, …, z} A string (word) is a finite sequence of symbols chosen from some alphabet, such as 01001, cis, or ϵ (epsilon, empty string) The length of a string is the number of symbols in it, so |01001| = 5, |ϵ| = 0

Strings ∑k is the set of all strings of length k formed by symbols in ∑ ∑* is the set of all strings of any finite length formed by symbols in ∑ (Kleene star) ∑* = ∑0  ∑1  ∑2  … ∑+ = ∑1  ∑2  … Let x and y be strings, then xy is their concatenation, and |xy| = |x| + |y|

Formal languages A language over ∑ is a subset of ∑*. E.g.:

Problems and languages In mathematics and computer science, a “problem” is often defined as a function from input to output In principle, a function problem can be converted into a decision problem that only has “yes/no” answers So to solve a problem means to decide whether a given string belongs to a particular language

Languages and automata Example: Lp over {0, 1} consisting of all binary strings whose value as a binary number is a prime, so 101 belongs to the language, but not 1001 and 0101 An automaton accepts a language by transitioning between some special states for the instances of the language So each automaton solves a problem

Mathematical proofs Mathematical conclusions (theorems) are obtained by proofs Deductive proof: to build a sequence of sentences, each is either an axiom or can be derived from axioms and proven theorems Proof by contradiction: to negate a statement and derive a contradiction from it Mathematical induction: starting from a base, to extend the conclusion step by step to infinite