1 / 14

Does not Compute 4: Finite Automata

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 .

selima
Download Presentation

Does not Compute 4: Finite Automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

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

  4. Proof By Simulation for Machine Equivalence

  5. Our New Machine • A 5-tuple (Q, E, T, q0, 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 • q0 is the start state • F is the accept states

  6. 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

  7. Recognize a language that… • Has a equal numbers of As as Bs

  8. 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 3rd position from the end (i.e. BBBBABB is in the language, BBBBBB is not)

  9. 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: For each |y| > 0 |xy| ≤ p You’ll want to watch how I do these. I’m going to ask you do #3 yourself. Examples: AnBn AnBAn Language has an equal number of As and Bs Some Examples We Won’t Cover AmBnwhere m does not equal n combinations of A and B that are not palindromes E = {0, 1, +, =} . String x=y+z where x y and z are binary integers and x is the sum of y and z

  10. 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)

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

  12. 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

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

  14. 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: http://www.bitstorm.org/gameoflife/ Even if you don’t download a simulator yourself, the Life Lexicon will blow your mind: http://www.bitstorm.org/gameoflife/lexicon/

More Related