Weighted automaton: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
fixes
a couple more references
Line 5: Line 5:
Weighted automata [[Generalization|generalize]] [[Deterministic finite automaton|deterministic finite automata]] (DFAs) and [[Nondeterministic finite automaton|nondeterministic finite automata]] (NFAs), which correspond to weighted automata over the [[Semiring#Boolean semiring|Boolean semiring]], where addition is [[logical disjunction]] and multiplication is [[logical conjunction]]. In the DFA case, there is only one accepting path for any input string, so disjunction is not applied. When the weights are real numbers and the outgoing weights add to one, weighted automata can be considered a [[Statistical model|probabilistic model]] and are also known as [[probabilistic automaton|probabilistic automata]]. These machines define a probability distribution over all strings, and are related to other probabilistic models such as [[Markov decision process|Markov decision processes]] and [[Markov chain]]s.
Weighted automata [[Generalization|generalize]] [[Deterministic finite automaton|deterministic finite automata]] (DFAs) and [[Nondeterministic finite automaton|nondeterministic finite automata]] (NFAs), which correspond to weighted automata over the [[Semiring#Boolean semiring|Boolean semiring]], where addition is [[logical disjunction]] and multiplication is [[logical conjunction]]. In the DFA case, there is only one accepting path for any input string, so disjunction is not applied. When the weights are real numbers and the outgoing weights add to one, weighted automata can be considered a [[Statistical model|probabilistic model]] and are also known as [[probabilistic automaton|probabilistic automata]]. These machines define a probability distribution over all strings, and are related to other probabilistic models such as [[Markov decision process|Markov decision processes]] and [[Markov chain]]s.


Weighted automata have applications in [[natural language processing]] where they are used to assign weights to words and sentences,<ref>{{Cite web|last=Chiang|first=David|title=Weighted Automata|url=https://www3.nd.edu/~dchiang/teaching/nlp/2019/notes/chapter4v3.pdf|url-status=live|access-date=2021-11-09|website=Natural Language Processing (CSE 40657/60657), course notes, Fall 2019}}</ref> as well as in [[image compression]]<ref name=Handbook/>. They were first introduced by [[Marcel-Paul Schützenberger]] in his 1961 paper ''On the definition of a family of automata.''<ref>{{Cite journal|last=Schützenberger|first=M. P.|date=1961-09-01|title=On the definition of a family of automata|url=https://www.sciencedirect.com/science/article/pii/S001999586180020X|journal=Information and Control|language=en|volume=4|issue=2|pages=245–270|doi=10.1016/S0019-9958(61)80020-X|issn=0019-9958}}</ref> Since their introduction, many extensions have been proposed, including notably nested weighted automata<ref>{{Cite journal|last=Chatterjee|first=Krishnendu|last2=Henzinger|first2=Thomas A.|last3=Otop|first3=Jan|date=2017-12-14|title=Nested Weighted Automata|url=https://doi.org/10.1145/3152769|journal=ACM Transactions on Computational Logic|volume=18|issue=4|pages=31:1–31:44|doi=10.1145/3152769|issn=1529-3785}}</ref> and [[Finite-state transducer#Weighted automata|weighted finite-state transducers]].<ref>{{Cite journal|last=Mohri|first=Mehryar|last2=Pereira|first2=Fernando|last3=Riley|first3=Michael|date=2002-01-01|title=Weighted finite-state transducers in speech recognition|url=https://www.sciencedirect.com/science/article/pii/S0885230801901846|journal=Computer Speech & Language|language=en|volume=16|issue=1|pages=69–88|doi=10.1006/csla.2001.0184|issn=0885-2308}}</ref>
Weighted automata have applications in [[natural language processing]] where they are used to assign weights to words and sentences,<ref>{{Cite web|last=Chiang|first=David|title=Weighted Automata|url=https://www3.nd.edu/~dchiang/teaching/nlp/2019/notes/chapter4v3.pdf|url-status=live|access-date=2021-11-09|website=Natural Language Processing (CSE 40657/60657), course notes, Fall 2019}}</ref> as well as in [[image compression]]<ref name=Handbook/>. They were first introduced by [[Marcel-Paul Schützenberger]] in his 1961 paper ''On the definition of a family of automata.''<ref>{{Cite journal|last=Schützenberger|first=M. P.|date=1961-09-01|title=On the definition of a family of automata|url=https://www.sciencedirect.com/science/article/pii/S001999586180020X|journal=Information and Control|language=en|volume=4|issue=2|pages=245–270|doi=10.1016/S0019-9958(61)80020-X|issn=0019-9958}}</ref> Since their introduction, many extensions have been proposed, including notably "nested weighted automata"<ref>{{Cite journal|last=Chatterjee|first=Krishnendu|last2=Henzinger|first2=Thomas A.|last3=Otop|first3=Jan|date=2017-12-14|title=Nested Weighted Automata|url=https://doi.org/10.1145/3152769|journal=ACM Transactions on Computational Logic|volume=18|issue=4|pages=31:1–31:44|doi=10.1145/3152769|issn=1529-3785}}</ref> and [[Finite-state transducer#Weighted automata|weighted finite-state transducers]].<ref>{{Cite journal|last=Mohri|first=Mehryar|last2=Pereira|first2=Fernando|last3=Riley|first3=Michael|date=2002-01-01|title=Weighted finite-state transducers in speech recognition|url=https://www.sciencedirect.com/science/article/pii/S0885230801901846|journal=Computer Speech & Language|language=en|volume=16|issue=1|pages=69–88|doi=10.1006/csla.2001.0184|issn=0885-2308}}</ref> Researchers have studied weighted automata from the perspective of [[learning|machine learning]] a machine from its input-output behavior<ref>{{Cite journal|last=Balle|first=Borja|last2=Mohri|first2=Mehryar|date=2015|editor-last=Maletti|editor-first=Andreas|title=Learning Weighted Automata|url=https://link.springer.com/chapter/10.1007/978-3-319-23021-4_1|journal=Algebraic Informatics|series=Lecture Notes in Computer Science|language=en|location=Cham|publisher=Springer International Publishing|pages=1–21|doi=10.1007/978-3-319-23021-4_1|isbn=978-3-319-23021-4}}</ref> (see [[computational learning theory]]) and studying [[Decision problem|decidability]] questions.<ref>{{Cite journal|last=Almagor|first=Shaull|last2=Boker|first2=Udi|last3=Kupferman|first3=Orna|date=2011|editor-last=Bultan|editor-first=Tevfik|editor2-last=Hsiung|editor2-first=Pao-Ann|title=What’s Decidable about Weighted Automata?|url=https://link.springer.com/chapter/10.1007/978-3-642-24372-1_37|journal=Automated Technology for Verification and Analysis|series=Lecture Notes in Computer Science|language=en|location=Berlin, Heidelberg|publisher=Springer|pages=482–491|doi=10.1007/978-3-642-24372-1_37|isbn=978-3-642-24372-1}}</ref>


== See also ==
== See also ==

Revision as of 19:15, 9 November 2021

In computer science and formal language theory, a weighted automaton or weighted finite-state machine is a generalization of a finite-state machine in which the edges have weights, for example real numbers or integers. Finite-state machines are only capable of answering decision problems; they take as input a string and produce a Boolean output, i.e. either "accept" or "reject". In contrast, weighted automata produce a quantitative output, for example a count of how many answers are possible on a given input string, or a probability of how likely the input string is according to a probability distribution.[1] They are one of the simplest studied models of quantitative automata.

The definition of a weighted automaton is generally given over an arbitrary semiring , an abstract set with an addition operation and a multiplication operation . The automaton consists of a finite set of states, a finite input alphabet of characters and edges which are labeled with both a character in and a weight in . The weight of any path in the automaton is defined to be the product of weights along the path, and the weight of a string is the sum of the weights of all paths which are labeled with that string. The weighted automaton thus defines a function from to .[1]

Weighted automata generalize deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs), which correspond to weighted automata over the Boolean semiring, where addition is logical disjunction and multiplication is logical conjunction. In the DFA case, there is only one accepting path for any input string, so disjunction is not applied. When the weights are real numbers and the outgoing weights add to one, weighted automata can be considered a probabilistic model and are also known as probabilistic automata. These machines define a probability distribution over all strings, and are related to other probabilistic models such as Markov decision processes and Markov chains.

Weighted automata have applications in natural language processing where they are used to assign weights to words and sentences,[2] as well as in image compression[1]. They were first introduced by Marcel-Paul Schützenberger in his 1961 paper On the definition of a family of automata.[3] Since their introduction, many extensions have been proposed, including notably "nested weighted automata"[4] and weighted finite-state transducers.[5] Researchers have studied weighted automata from the perspective of machine learning a machine from its input-output behavior[6] (see computational learning theory) and studying decidability questions.[7]

See also

References

  1. ^ a b c Droste, Manfred; Kuich, Werner; Vogler, Heiko, eds. (2009). "Handbook of Weighted Automata". Monographs in Theoretical Computer Science. doi:10.1007/978-3-642-01492-5. ISSN 1431-2654.
  2. ^ Chiang, David. "Weighted Automata" (PDF). Natural Language Processing (CSE 40657/60657), course notes, Fall 2019. Retrieved 2021-11-09.{{cite web}}: CS1 maint: url-status (link)
  3. ^ Schützenberger, M. P. (1961-09-01). "On the definition of a family of automata". Information and Control. 4 (2): 245–270. doi:10.1016/S0019-9958(61)80020-X. ISSN 0019-9958.
  4. ^ Chatterjee, Krishnendu; Henzinger, Thomas A.; Otop, Jan (2017-12-14). "Nested Weighted Automata". ACM Transactions on Computational Logic. 18 (4): 31:1–31:44. doi:10.1145/3152769. ISSN 1529-3785.
  5. ^ Mohri, Mehryar; Pereira, Fernando; Riley, Michael (2002-01-01). "Weighted finite-state transducers in speech recognition". Computer Speech & Language. 16 (1): 69–88. doi:10.1006/csla.2001.0184. ISSN 0885-2308.
  6. ^ Balle, Borja; Mohri, Mehryar (2015). Maletti, Andreas (ed.). "Learning Weighted Automata". Algebraic Informatics. Lecture Notes in Computer Science. Cham: Springer International Publishing: 1–21. doi:10.1007/978-3-319-23021-4_1. ISBN 978-3-319-23021-4.
  7. ^ Almagor, Shaull; Boker, Udi; Kupferman, Orna (2011). Bultan, Tevfik; Hsiung, Pao-Ann (eds.). "What's Decidable about Weighted Automata?". Automated Technology for Verification and Analysis. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer: 482–491. doi:10.1007/978-3-642-24372-1_37. ISBN 978-3-642-24372-1.