140 likes | 299 Views
Computability. Finite State Machine exercises Classwork: do questions as a group and submit to moodle q&a forum. Videos from ArsDigita University: www.aduni.org Theory of Computation: Shai Simonson You can listen to follow-on lectures, just as background.
E N D
Computability Finite State Machine exercises Classwork: do questions as a group and submit to moodle q&a forum. Computabilty jeanine.meyer@purchase.edu
Videos from ArsDigita University: www.aduni.orgTheory of Computation: Shai SimonsonYou can listen to follow-on lectures, just as background. Computabilty jeanine.meyer@purchase.edu
Introduction to course and FSMhttp://www.youtube.com/watch?v=HyUK5RAJg1c Computabilty jeanine.meyer@purchase.edu
Comments • A machine accepts a language if you give it a string in the language and the machine does some calculation and says yes and if you give it a string NOT in the language, the machine does some calculation and it says no. The "saying yes" means: ends up in a state marked yes versus ending up in a state marked no. Turing Machines write on the tape. Pushdown automata and Finite State automata do NOT write anything but end up in a state which may be designated a final/accepting state or a not accepting state. • We also will investigate machines that perform functions: you feed in input on a tape and the machine does calculations and produces something on the tape. • Think of the language accepting machines as a special case of the function machines. Computabilty jeanine.meyer@purchase.edu
Bullseye The speaker's bull's eye idea was great but he was not consistent with some terminology. • Finite state machines accept Regular languages • Push down automata accept Context-free languages • Turing machines accept computable functions Computabilty jeanine.meyer@purchase.edu
Comments • Turing machines accept computable functions is a tautology: this is a definition of computable functions. • We also will prove that TM computable functions are equal to recursive functions. • We will develop a refinement on the last category between languages that are decided (meaning the TM says yes or no for every string) and TM-recognizable meaning it will never give the wrong answer, but may keep going…. Computabilty jeanine.meyer@purchase.edu
Clip 1: Question • Conceptually, how could you put more power into the FSM.? From the introduction last week, what can say that the TMs do that the Finite State Machines can't? Computabilty jeanine.meyer@purchase.edu
Clip 2: Finite State machines http://www.youtube.com/watch?v=jb_H7SGOyyI&feature=related Computabilty jeanine.meyer@purchase.edu
Clip 2 Questions Describe a FSM that accepts all strings • with an even number of 0s, but at least 2. • with an odd number of 1s. • Assume the alphabet of symbols is the English alphabet. Consider the first names of the people in the class. Describe a FSM that accepts the names of the people in the class and rejects every other string. (Hint: you may limit the problem to Noah, Marvin, and Mayra. Hint: there will be more than one final state. That is, you will design something that has many states and there will be one for accepting Noah, another for Marvin, and another for Mayra.) Computabilty jeanine.meyer@purchase.edu
Clip 3: Finite State Machines • http://www.youtube.com/watch?v=JPew2mYGF1E&feature=related Computabilty jeanine.meyer@purchase.edu
Clip 3 Questions • When I was driving for the first time in Sweden, my rented Volvo had an odometer in kilometers/hour and the traffic signs gave the speed limit in kilometers/hour. How do you think I determined if I was traveling too fast? Hint: this is similar to the teacher's 'bad plan' for determining if a number represented in binary was divisible by 4. • Give a FSM for accepting email addresses. Assume the following simplified pattern for email addresses: a valid address is 1 or more letters, followed by a period, followed by 1 or more letters, followed by a @ followed by letters followed by a period and then com, edu or net. Computabilty jeanine.meyer@purchase.edu
Clip 4: Finite State Machines • http://www.youtube.com/watch?v=ORR5MP9yug0&feature=related • This lecture segment builds a FSM that accepts any string that contains as a substring 110110. When he goes back to the start, a good way to describe it is: this is as if we haven't seen anything yet. Computabilty jeanine.meyer@purchase.edu
Clip 4 questions • Design a FSM that accepts strings that contain 001001 as a substring at least once. This is easy! • Design a FSM that accepts strings that contain 11111 at least once. • Design a FSM that accepts strings that contain either 0000 or 1111. Computabilty jeanine.meyer@purchase.edu
Homework • Complete and submit answers. If/when you do it in a group, you each should submit the answers since only then can you see any of my comments. Let me know the names of the members of the group. • Next class (Monday): Nondeterminism! Computabilty jeanine.meyer@purchase.edu