Does not Compute 4: Finite Automata In which we temporarily admit defeat with cellular automata (we will face them again, in the epic final “Does Not Compute”

Slides:



Advertisements
Similar presentations
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Advertisements

CSE 311 Foundations of Computing I
Lecture 9,10 Theory of AUTOMATA
8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Determinization of Büchi Automata
January 7, 2015CS21 Lecture 21 CS21 Decidability and Tractability Lecture 2 January 7, 2015.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
CSCI 2670 Introduction to Theory of Computing September 13, 2005.
CS21 Decidability and Tractability
Introduction to Computability Theory
NFAs Sipser 1.2 (pages 47–54). CS 311 Fall Recall… Last time we showed that the class of regular languages is closed under: –Complement –Union.
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata Prof. Amos Israeli.
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
NFAs Sipser 1.2 (pages 47–54). CS 311 Mount Holyoke College 2 Recall… Last time we showed that the class of regular languages is closed under: –Complement.
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
Nonregular languages Sipser 1.4 (pages 77-82). CS 311 Fall Nonregular languages? We now know: –Regular languages may be specified either by regular.
1 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY (For next time: Read Chapter 1.3 of the book)
CS5371 Theory of Computation
Finite Automata Finite-state machine with no output. FA consists of States, Transitions between states FA is a 5-tuple Example! A string x is recognized.
CS 310 – Fall 2006 Pacific University CS310 Pumping Lemma Sections:1.4 page 77 September 27, 2006.
CS5371 Theory of Computation Lecture 5: Automata Theory III (Non-regular Language, Pumping Lemma, Regular Expression)
Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Fall 2008.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 1 Regular Languages Contents Finite Automata (FA or DFA) definitions, examples,
LING 438/538 Computational Linguistics Sandiway Fong Lecture 12: 10/5.
FSA Lecture 1 Finite State Machines. Creating a Automaton  Given a language L over an alphabet , design a deterministic finite automaton (DFA) M such.
Topics Automata Theory Grammars and Languages Complexities
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Finite State Machines Data Structures and Algorithms for Information Processing 1.
Does not Compute 3: Awesomer Cellular Automata In which we consider how to upgrade our cellular automata A few key choices are considered, but eventually.
Lecture 23: Finite State Machines with no Outputs Acceptors & Recognizers.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Cs3102: Theory of Computation Class 6: Pushdown Automata Spring 2010 University of Virginia David Evans TexPoint fonts used in EMF. Read the TexPoint manual.
Solution Exercise 1.43 a A r r s q q > b b e b s’ q r q’ b r’ a A’
Complexity, etc. Homework. Comparison to computability. Big Oh notation. Sorting. Classwork/Homework: prepare presentation on specific sorts. Presentation.
CS 3240 – Chapter 4.  Closure Properties  Algorithms for Elementary Questions:  Is a given word, w, in L?  Is L empty, finite or infinite?  Are L.
PushDown Automata. What is a stack? A stack is a Last In First Out data structure where I only have access to the last element inserted in the stack.
CS 203: Introduction to Formal Languages and Automata
Exercise 1 Consider a language with the following tokens and token classes: ID ::= letter (letter|digit)* LT ::= " " shiftL ::= " >" dot ::= "." LP ::=
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Computability Regular expressions. Languages defined by regular expresses = Regular languages (languages recognized by FSM). Applications. Pumping lemma.
Machines That Can’t Count CS Lecture 15 b b a b a a a b a b.
Mathematical Foundations of Computer Science Chapter 3: Regular Languages and Regular Grammars.
Transparency No. 2-1 Formal Language and Automata Theory Homework 2.
Nondeterministic Finite Automata (NFAs). Reminder: Deterministic Finite Automata (DFA) q For every state q in Q and every character  in , one and only.
Equivalence with FA * Any Regex can be converted to FA and vice versa, because: * Regex and FA are equivalent in their descriptive power ** Regular language.
Finite Automata A simple model of computation. 2 Finite Automata2 Outline Deterministic finite automata (DFA) –How a DFA works.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
1 Advanced Theory of Computation Finite Automata with output Pumping Lemma Theorem.
Theory of Languages and Automata By: Mojtaba Khezrian.
Pumping Lemma.
Foundations of Computing Science
PROPERTIES OF REGULAR LANGUAGES
G. Pullaiah College of Engineering and Technology
Pushdown Automata.
Nondeterministic Finite Automata
Jaya Krishna, M.Tech, Assistant Professor
Intro to Theory of Computation
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
Pumping Lemma.
CS21 Decidability and Tractability
Recap lecture 26 Example of nonregular language, pumping lemma version I, proof, examples,
One Minute To Learn Programming: Finite Automata
Formal Languages and Automata Theory BODDEDA HARITHA LAKSHMI,
CHAPTER 1 Regular Languages
Non Deterministic Automata
Automata theory and formal languages COS 3112 – AUTOMATA THEORY PRELIM PERIOD WEEK 1 AND 2.
Presentation transcript:

Does not Compute 4: Finite Automata In which we temporarily admit defeat with cellular automata (we will face them again, in the epic final “Does Not Compute” battle at the end of the class) We choose something new that and actually prove it does not compute something

An Aside – Does Not Compute For Research Working out computational bounds for simple machines: You could take a machine (or a few) from the literature and try to prove equivalence or non- equivalence You could design your own machine and try to do the same You could try and characterize behavior in some way – i.e. predict when a cellular automata machine acts a certain way

After This Class… 1.We review the main point from last time 2.You will know a new kind of simple machine (this one, oddly enough, actually is used in the real world) 3.You will build machines to solve a couple problems 4.Does not compute! 5.We do some proofs with our new does not compute power 6.Maybe we finally get to talk about the game of life

Proof By Simulation for Machine Equivalence

Our New Machine A 5-tuple (Q, E, T, q 0, F) – Q is a finite set of states – E is a finite set called the alphabet (usually {0, 1} or {a,b}) – T : Q x E → Q is the transition function – q 0 is the start state – F is the accept states

Design Challenge! Recognize languages that… Begin with a A and end with a B Have an even length (0 counts) Do not contain the substring AAB

Recognize a language that… – Has a equal numbers of As as Bs

Recall Last Class… Design a Finite Automata to recognize the language where… Every odd position is an A If you wanna get crazy, you can try: Has an A in the 3 rd position from the end (i.e. BBBBABB is in the language, BBBBBB is not)

The Pumping Lemma If a language L can be recognized by a finite automata, then there is a number p (the pumping length) where, if s is any string L of length at least p, then s may divided into three pieces s = xyz, satisfying the following conditions: 1.For each 2.|y| > 0 3.|xy| ≤ p Examples: 1.A n B n 2.A n BA n 3.Language has an equal number of As and Bs Some Examples We Won’t Cover 1.A m B n where m does not equal n 2.combinations of A and B that are not palindromes 3.E = {0, 1, +, =}. String x=y+z where x y and z are binary integers and x is the sum of y and z You’ll want to watch how I do these. I’m going to ask you do #3 yourself.

Non-Deterministic finite automata More transitions, less transitions, parallel processing and ε Waaaay more fun Don’t let yourself get lost! (we are covering this material faster that usual)

What has happened… 1.You learned about finite automata, and built some to solve a few problems 2.We saw the pumping lemma, and you used to it prove a language could not be recognized 3.Maybe we finally get to talk about the game of life

Conway’s Game of Life For a space that is 'populated': Each cell with one or no neighbors dies, as if by loneliness. Each cell with four or more neighbors dies, as if by overpopulation. Each cell with two or three neighbors survives. For a space that is 'empty' or 'unpopulated' Each cell with three neighbors becomes populated. This (should you doubt it even for a second) is just a ‘ordinary’ 2D cellular automata

What Happened in Class 1.We used the Squaring Automaton as an example of a CA that really does computation 2.We have considered the question of color and size, and talked about the universal 1-D Cellular automata. What you ought to remember: 1.The method of proving by simulation, which we have used in two different ways (how?) 2.The surprising discovery of a computational plateau for 1-D cellular automata

What is to Come A new machine! Very different from the old machine! And with this machine we will actually be able to find problems that it really cannot compute the answers to PS…although we will not actually use it in class (at least at the moment) you owe it to yourself to check out the Game of Life. NetLogo has a simulation (just called “Life”). You can also download a simulator here: Even if you don’t download a simulator yourself, the Life Lexicon will blow your mind: