1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal.

Slides:



Advertisements
Similar presentations
Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.
Advertisements

Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
Natural Language Processing - Formal Language - (formal) Language (formal) Grammar.
YES-NO machines Finite State Automata as language recognizers.
Chapter Chapter Summary Languages and Grammars Finite-State Machines with Output Finite-State Machines with No Output Language Recognition Turing.
ICE1341 Programming Languages Spring 2005 Lecture #5 Lecture #5 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
Fall 2006Costas Busch - RPI1 Deterministic Finite Automata And Regular Languages.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Programming the TM qa  (,q) (,q) q1q1 0q1q1 R q1q1 1q1q1 R q1q1  h  Qa  (,q) (,q) q1q1 0q2q2  q1q1 1q3q3  q1q1  h  q2q2 0q4q4 R q2q2 1q4q4.
Lecture 5 Turing Machines
1 Languages and Finite Automata or how to talk to machines...
Turing Machines.
1 Foundations of Software Design Lecture 23: Finite Automata and Context-Free Grammars Marti Hearst Fall 2002.
Topics Automata Theory Grammars and Languages Complexities
Fall 2003Costas Busch - RPI1 Turing Machines (TMs) Linear Bounded Automata (LBAs)
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
AUTOMATA THEORY VIII.
Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { ‘{‘, ‘}’ } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite language,
Turing Machines A more powerful computation model than a PDA ?
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
1 Introduction to Automata Theory Reading: Chapter 1.
Finite-State Machines with No Output
::ICS 804:: Theory of Computation - Ibrahim Otieno SCI/ICT Building Rm. G15.
CS490 Presentation: Automata & Language Theory Thong Lam Ran Shi.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
1 Section 14.2 A Hierarchy of Languages Context-Sensitive Languages A context-sensitive grammar has productions of the form xAz  xyz, where A is a nonterminal.
1 111 Computability, etc. Midterm review. Turing machines. Finite state machines. Push down automata. Homework: FSA, PDA, TM problems (can work in teams)
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Grammars CPSC 5135.
Introduction to Language Theory
Turing Machines Chapter 17. Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
9.7: Chomsky Hierarchy.
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
Akram Salah ISSR Basic Concepts Languages Grammar Automata (Automaton)
1 Unit – 5 : STATE MACHINES Syllabus: Languages and Grammars – Finite State Machines State machines and languages – Turing Machines – Computational Complexity.
Turing Machines CS 130 Theory of Computation HMU Textbook: Chap 8.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
CS6800 Advance Theory of Computation Spring 2016 Nasser Alsaedi
Costas Busch - LSU1 Deterministic Finite Automata And Regular Languages.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Languages.
Lecture 1 Theory of Automata
Busch Complexity Lectures: Turing Machines
Theory of Computation Theory of computation is mainly concerned with the study of how problems can be solved using algorithms.  Therefore, we can infer.
Natural Language Processing - Formal Language -
COSC 3340: Introduction to Theory of Computation
Turing Machines 2nd 2017 Lecture 9.
CSE 105 theory of computation
CSE322 The Chomsky Hierarchy
Deterministic Finite Automata And Regular Languages Prof. Busch - LSU.
Non-Deterministic Finite Automata
Introduction Reading: Sections 1.5 – 1.7.
CSE 105 theory of computation
The Chomsky Hierarchy Costas Busch - LSU.
CSE 105 theory of computation
Presentation transcript:

1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal languages and automata theory? –Will you ever be using these facts / skill?

2 What do computers really do? –Take an input, process, and produce correct output. What is input? In abstract way? A finite string. On a finite alphabet – a set of characters. Output? “Input processed successfully,” Or “not”. In other words: True / False. Everything else in output is just the “detail”! Don’t forget the “finite time” for processing! Definition of algorithm.

3 Practical aspects of Formal Lang. Auto. Theory? Difference between a “programmer” and a “computer scientist” Software system design. Many hardware design. Actual algorithms, e.g. string processing. And of course, new language and compiler design. Anything else?

Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { ‘{‘, ‘}’ } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite language, or, {strings starting with 0} an infinite language Σ* is a special language with all possible strings on Σ 4

5 Finite State Machine …….. Tape, broken into cells Tape head. Finite control, i.e., a program, containing the position of the read head, current symbol being scanned, and the current “state”, etc. A string is placed on the tape, read head is positioned at the left end, and the machine reads the string one symbol at a time until all symbols have been read, and then either accepts or rejects the input (to be in the language or not) Finite Control 01100

6 Hierarchy of languages Regular Languages Context-Free Languages Recursive Languages Recursively Enumerable Languages Non-Recursively Enumerable Languages

7 General Topics Abstract machine models of computation (e.g., Deterministic Finite Automata, Non-deterministic FA, Turing Machine) Classes of grammars (e.g., regular grammars, context-free grammars, context sensitive grammars, unrestricted grammars) Classes of formal languages (e.g., regular, context-free, context-sensitive, recursive, recursively enumerable) –formal languages evolve to programming languages, and related to natural languages Limitation of computational power of the abstract machine models –not about speed in this class, but about ultimate computability Relationships between the languages, grammars and machines.

8 Language: Definitions Symbol – An atomic unit, such as a digit, character, lower-case letter, etc. Sometimes a word. [Formal language does not deal with the “meaning” of the symbols.] Alphabet – A finite set of symbols, usually denoted by Σ. Σ = {0, 1}Σ = {0, a,, 4}Σ = {a, b, c, d} String – A finite length sequence of symbols, presumably from some alphabet. u=ε w = 0110 y = 0aax = aabcaaz = 111 special string:ε (also denoted by λ) concatenation:wz = length:|w| = 4 |x| = 6 but |u| = 0 reversal:y R = aa0

9 Some special sets of strings: Σ * All strings of symbols from Σ Σ + Σ * - {ε} Example: Σ = {0, 1} Σ * = {ε, 0, 1, 00, 01, 10, 11, 000, 001,…} Σ + = {0, 1, 00, 01, 10, 11, 000, 001,…} A (formal) language is: 1) A set of strings from some alphabet (finite or infinite), in other words… 2) any subset L of Σ * Some special languages: {}The empty set/language, containing no strings {ε}A language containing one string, the empty string.

10 Examples: Σ = {0, 1} L = {x | x is in Σ * and x contains an even number of 0’s} Σ = {0, 1, 2,…, 9,. } L = {x | x is in Σ * and x forms a finite length real number} = {0, 1.5, 9.326,…} Σ = {a, b, c,…, z, A, B,…, Z} L = {x | x is in Σ * and x is a Pascal reserved word} = {BEGIN, END, IF,…} Σ = {Pascal reserved words} U { (, ),., :, ;,…} U {Legal Pascal identifiers} L = {x | x is in Σ * and x is a syntactically correct Pascal program} Σ = {English words} L = {x | x Σ * and x is a syntactically correct English sentence}