1 Finite state automaton (FSA) LING 570 Fei Xia Week 2: 10/07/09 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA.

Slides:



Advertisements
Similar presentations
4b Lexical analysis Finite Automata
Advertisements

CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts.
Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
CPSC Compiler Tutorial 4 Midterm Review. Deterministic Finite Automata (DFA) Q: finite set of states Σ: finite set of “letters” (input alphabet)
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
YES-NO machines Finite State Automata as language recognizers.
Chapter Section Section Summary Set of Strings Finite-State Automata Language Recognition by Finite-State Machines Designing Finite-State.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Finite-State Automata Shallow Processing Techniques for NLP Ling570 October 5, 2011.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
CS5371 Theory of Computation
FSA and HMM LING 572 Fei Xia 1/5/06.
CS 310 – Fall 2006 Pacific University CS310 Converting NFA to DFA Sections:1.2 Page 54 September 15, 2006.
Cohen, Chapter 61 Introduction to Computational Theory Chapter 6.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Languages, grammars, and regular expressions
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Regular.
1 Single Final State for NFAs and DFAs. 2 Observation Any Finite Automaton (NFA or DFA) can be converted to an equivalent NFA with a single final state.
Finite state automaton (FSA)
CS5371 Theory of Computation Lecture 6: Automata Theory IV (Regular Expression = NFA = DFA)
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
1 Languages, grammars, and regular expressions LING 570 Fei Xia Week 2: 10/03/07 TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
1 Non-Deterministic Automata Regular Expressions.
Topics Automata Theory Grammars and Languages Complexities
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
1 A Single Final State for Finite Accepters. 2 Observation Any Finite Accepter (NFA or DFA) can be converted to an equivalent NFA with a single final.
CPSC 388 – Compiler Design and Construction
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
NFA Closure Properties. NFAs also have closure properties We have given constructions for showing that DFAs are closed under 1.Complement 2.Intersection.
NFA Closure Properties Sipser pages pages NFAs also have closure properties We have given constructions for showing that DFAs are closed under.
Regular Expressions (RE) Empty set Φ A RE denotes the empty set Empty string λ A RE denotes the set {λ} Symbol a A RE denotes the set {a} Alternation M.
Nondeterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.3 & 2.5)
Theory of Languages and Automata
Theory of Computation, Feodor F. Dragan, Kent State University 1 Regular expressions: definition An algebraic equivalent to finite automata. We can build.
Lecture # 3 Chapter #3: Lexical Analysis. Role of Lexical Analyzer It is the first phase of compiler Its main task is to read the input characters and.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
COMP3190: Principle of Programming Languages DFA and its equivalent, scanner.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 3 Mälardalen University 2010.
CHAPTER 1 Regular Languages
Lecture # 12. Nondeterministic Finite Automaton (NFA) Definition: An NFA is a TG with a unique start state and a property of having single letter as label.
CMSC 330: Organization of Programming Languages Theory of Regular Expressions Finite Automata.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Finite Automata & Regular Languages Sipser, Chapter 1.
Lecture Notes 
Algorithms for hard problems Automata and tree automata Juris Viksna, 2015.
1 Language Recognition (11.4) Longin Jan Latecki Temple University Based on slides by Costas Busch from the courseCostas Busch
BİL711 Natural Language Processing1 Regular Expressions & FSAs Any regular expression can be realized as a finite state automaton (FSA) There are two kinds.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Conversions Regular Expression to FA FA to Regular Expression.
LECTURE 5 Scanning. SYNTAX ANALYSIS We know from our previous lectures that the process of verifying the syntax of the program is performed in two stages:
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
Finite Automata A simple model of computation. 2 Finite Automata2 Outline Deterministic finite automata (DFA) –How a DFA works.
1 Section 11.2 Finite Automata Can a machine(i.e., algorithm) recognize a regular language? Yes! Deterministic Finite Automata A deterministic finite automaton.
CS412/413 Introduction to Compilers Radu Rugina Lecture 3: Finite Automata 25 Jan 02.
COMP3190: Principle of Programming Languages DFA and its equivalent, scanner.
1 Finite Automata. 2 Introductory Example An automaton that accepts all legal Pascal identifiers: Letter Digit Letter or Digit "yes" "no" 2.
Two issues in lexical analysis
Chapter 2 FINITE AUTOMATA.
Language Recognition (12.4)
CSE322 CONSTRUCTION OF FINITE AUTOMATA EQUIVALENT TO REGULAR EXPRESSION Lecture #9.
Finite Automata.
Language Recognition (12.4)
Chapter 1 Regular Language
Finite-State Machines with No Output
Presentation transcript:

1 Finite state automaton (FSA) LING 570 Fei Xia Week 2: 10/07/09 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA A

2 FSA / FST It is one of the most important techniques in NLP. Multiple FSAs/FSTs can be combined to form a larger, more powerful FSAs/FSTs. Any regular language can be recognized by an FSA. Any regular relation can be recognized by an FST.

3 FST Toolkits AT&T: html html NLTK: ISI: Carmel …

4 Outline Deterministic FSA (DFA) Non-deterministic FSA (NFA) Probabilistic FSA (PFA) Weighted FSA (WFA)

5 DFA

6 Definition of DFA An automaton is a 5-tuple = An alphabet input symbols A finite set of states Q A start state q 0 A set of final states F A transition function:

7 a b b q0q0 q1q1 = {a, b} S = {q 0, q 1 } F = {q 1 } = { q 0 £ a ! q 0, q 0 £ b ! q 1, q 1 £ b ! q 1 } What about q 1 £ a ?

8 Representing an FSA as a directed graph The vertices denote states: –Final states are represented as two concentric circles. The transitions forms the edges. The edges are labeled with symbols.

9 An example a b b q0q0 q1q1 q2q2 a b a a b b a a q 0 q 0 q 1 q 1 q 2 q 0 a b b a b q 0 q 0 q 1 q 1 q 2 q 1

10 DFA as an acceptor A string is said to be accepted by an FSA if the FSA is in a final state when it stops working. –that is, there is a path from the initial state to a final state which yields the string. –Ex: does the FSA accept “abab”? The set of the strings that can be accepted by an FSA is called the language accepted by the FSA.

11 An example Regular expression: a* b + a b b q0q0 q1q1 q 0  a q 0 q 0  b q 1 q 1  b q 1 q 1  ² FSA: Regular grammar: Regular language: {b, ab, bb, aab, abb, …}

12 NFA

13 NFA A transition can lead to more than one state. There could be multiple start states. Transitions can be labeled with ², meaning states can be reached without reading any input.  now the transition function is:

14 NFA example b q0q0 q1q1 q2q2 b b a b a b b a b b q 0 q 0 q 1 q 1 q 2 q 1 b b a b b q 0 q 1 q 2 q 0 q 0 q 1 q 0 q 1 q 2 q 0 q 1 q 2 q 0 q 0 q 0

15 Regular grammar and FSA Regular grammar: FSA: Conversion between them  Q1 in Hw2

16 Relation between DFA and NFA DFA and NFA are equivalent. The conversion from NFA to DFA: –Create a new state for each equivalent class in NFA –The max number of states in DFA is 2 N, where N is the number of states in NFA. Why do we need both?

17 Common algorithms for FSA packages Converting regular expressions to NFAs Converting NFAs to regular expressions Determinization: converting NFA to DFA Other useful closure properties: union, concatenation, Kleene closure, intersection

18 So far A DFA is a 5-tuple: A NFA is a 5-tuple: DFA and NFA are equivalent. Any regular language can be recognized by an FSA. –Reg lang  Regex  NFA  DFA  Reg grammar

19 Outline Deterministic finite state automata (DFA) Non-deterministic finite state automata (NFA) Probabilistic finite state automata (PFA) Weighted Finite state automata (WFA)

20 An example of PFA q 0 :0 q 1 :0.2 b:0.8 a:1.0 I(q 0 )=1.0 I(q 1 )=0.0 P(ab n )=I(q 0 )*P(q 0,ab n,q 1 )*F(q 1 ) =1.0*(1.0*0.8 n )*0.2 F(q 0 )=0 F(q 1 )=0.2

21 Formal definition of PFA A PFA is Q: a finite set of N states Σ: a finite set of input symbols I: Q  R + (initial-state probabilities) F: Q  R + (final-state probabilities) : the transition relation between states. P: (transition probabilities)

22 Constraints on function: Probability of a string:

23 PFA Informally, in a PFA, each arc is associated with a probability. The probability of a path is the multiplication of the arcs on the path. The probability of a string x is the sum of the probabilities of all the paths for x. Tasks: –Given a string x, find the best path for x. –Given a string x, find the probability of x in a PFA. –Find the string with the highest probability in a PFA –…–…

24 Weighted finite-state automata (WFA) Each arc is associated with a weight. “Sum” and “Multiplication” can have other meanings. Ex: weight is –log prob - “multiplication”  addition - “Sum”  power

25 Summary DFA and NFA are 5-tuple: –They are equivalent –Algorithm for constructing NFAs for Regexps PFA and WFA are 6-tuple: Existing packages for FSA/FSM algorithms: –Ex: intersection, union, Kleene closure, difference, complementation, …

Additional slides 26

27 An algorithm for deterministic recognition of DFAs

28 Definition of regular expression The set of regular expressions is defined as follows: (1) Every symbol of is a regular expression (2) ² is a regular expression (3) If r 1 and r 2 are regular expressions, so are (r 1 ), r 1 r 2, r 1 | r 2, r 1 * (4) Nothing else is a regular expression.

29 Regular expression  NFA Base case: Concatenation: connecting the final states of FSA 1 to the initial state of FSA 2 by an ² -translation. Union: Creating a new initial state and add ² -transitions from it to the initial states of FSA 1 and FSA 2. Kleene closure:

30 Regular expression  NFA (cont) An example: \d+(\.\d+)?(e\-?\d+)? Kleene closure:

31 Another PFA example: A bigram language model P( BOS w 1 w 2 … w n EOS) = P(BOS) * P(w 1 | BOS) P(w 2 | w 1 ) * …. P(w n | w n-1 ) * P(EOS | w n ) Examples: I bought two/to/too books How many states?