Presentation is loading. Please wait.

Presentation is loading. Please wait.

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”

Similar presentations


Presentation on theme: "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”"— 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… 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

4 Proof By Simulation for Machine Equivalence

5 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

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 3 rd 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: 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.

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… 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

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

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/


Download ppt "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”"

Similar presentations


Ads by Google