1 / 16

Finite Automata

Finite Automata. Course: Theory of Computation Date: Nov 16 th , 2011 Lin Liu lliu AT cs.kent.edu. Why finite automata are important?. Many real applications elevators coke machines train track switches complier design and parsing. Outline. A Classic Riddle Man, Wolf, Goat and Cabbage

prue
Télécharger la présentation

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. Finite Automata Course: Theory of Computation Date: Nov 16th, 2011 Lin Liu lliu AT cs.kent.edu

  2. Why finite automata are important? Many real applications • elevators • coke machines • train track switches • complier design and parsing

  3. Outline • A Classic Riddle Man, Wolf, Goat and Cabbage • Definition for Finite Automata (FA) The 5-Tuple • The Language Accepted by FA Definition Examples

  4. A Classic Riddle • A man travels with wolf, goat and cabbage and wants to cross a river from east to west. • A rowboat is available, but only large enough for the man plus one possession. • Wolf eats goat if left alone together. • Goat eats cabbage if left alone together. • How can the man cross without loss?

  5. Solutions As Strings • Four moves can be encoded as four symbols: • Man crosses with wolf (w) • Man crosses with goat (g) • Man crosses with cabbage (c) • Man crosses with nothing (n) • Then a sequence of moves is a string, such as the solution gnwgcng: • First cross with goat, then cross back with nothing, then cross with wolf, …

  6. Transition Diagram • Showing all legal moves • All reachable states • Start state and goal state

  7. The Language Of Solutions • Every path gives some x {w,g,c,n}* • The diagram defines the language of solutions to the problem: {x {w,g,c,n}* | starting in the start state and following the transitions of x ends up in the goal state} • This is an infinite language • (The two shortest strings in the language are gnwgcng and gncgwng)

  8. Definition for Finite Automaton A finite automaton is a 5-tuple (Q, , , q0, F), where • Q is a finite set called the states; •  is a finite set called the alphabet; • : Q x   Q is the transition function; • q0 Q is the start state; • F  Q is the set of accepting states.

  9. One finite automaton start state accepting state transition state

  10. After reading a string s… • FA accepts the string s, if after reading the last symbol of s, FA ends up in an accepting state; • FA rejects the string s, if after reading the last symbol of s, FA ends up in a non-accepting state; • FA crashes, if FA fails during reading s.

  11. Input strings Results abba Accept aabb Reject abbc Crash

  12. The language accepted by FA L = {x  * | FA accepts x}, where • * = 0 + 1 + 2 + … • k = All length k strings over the alphabet .

  13. Accepted language examples What is the language accepted by this FA? a, b L = {a,b}* = all finite strings of a’s and b’s

  14. What language is accepted by this machine? a, b a, b L=all even length strings containing a’s and b’s

  15. What language is accepted by this machine? b a, b a L = All strings in {a, b}* with at least one a.

  16. References • www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/.../automata.ppt • Michael Sipser. Introduction to the Theory of Computation, first edition, December 1996 • http://en.wikipedia.org/wiki/Automata_theory • www.webber-labs.com/fl/lectures/ppt-slides/02.ppt

More Related