
In
theoretical 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
String or strings may refer to:
*String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects
Arts, entertainment, and media Films
* ''Strings'' (1991 film), a Canadian anim ...
and produce a
Boolean
Any kind of logic, function, expression, or theory based on the work of George Boole is considered Boolean.
Related to this, "Boolean" may refer to:
* Boolean data type, a form of data with only two possible values (usually "true" and "false" ...
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
In probability theory and statistics, a probability distribution is the mathematical function that gives the probabilities of occurrence of different possible outcomes for an experiment. It is a mathematical description of a random phenomenon i ...
.
[ chs.1-4, pp.3-26, 69-71, 122-126.] 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
Abstract may refer to:
* ''Abstract'' (album), 1962 album by Joe Harriott
* Abstract of title a summary of the documents affecting title to parcel of land
* Abstract (law), a summary of a legal document
* Abstract (summary), in academic publishi ...
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 .[
Weighted automata ]generalize
A generalization is a form of abstraction whereby common properties of specific instances are formulated as general concepts or claims. Generalizations posit the existence of a domain or set of elements, as well as one or more common characteri ...
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 for each state add to one, weighted automata can be considered a probabilistic model and are also known as probabilistic automata
In mathematics and computer science, the probabilistic automaton (PA) is a generalization of the nondeterministic finite automaton; it includes the probability of a given transition into the finite state machine, transition function, turning it int ...
. These machines define a probability distribution over all strings, and are related to other probabilistic models such as Markov decision processes and Markov chain
A Markov chain or Markov process is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. Informally, this may be thought of as, "What happe ...
s.
Weighted automata have applications in natural language processing
Natural language processing (NLP) is an interdisciplinary subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to pro ...
where they are used to assign weights to words and sentences,[ as well as in ]image compression
Image compression is a type of data compression applied to digital images, to reduce their cost for storage or transmission. Algorithms may take advantage of visual perception and the statistical properties of image data to provide superior r ...
.[ They were first introduced by Marcel-Paul Schützenberger in his 1961 paper ''On the definition of a family of automata.''] Since their introduction, many extensions have been proposed, for example nested weighted automata, cost register automata, and weighted finite-state transducers. Researchers have studied weighted automata from the perspective of learning
Learning is the process of acquiring new understanding, knowledge, behaviors, skills, value (personal and cultural), values, attitudes, and preferences. The ability to learn is possessed by humans, animals, and some machine learning, machines ...
a machine from its input-output behavior (see computational learning theory) and studying decidability questions.
Definition
A commutative semiring
In abstract algebra, a semiring is an algebraic structure similar to a ring, but without the requirement that each element must have an additive inverse.
The term rig is also used occasionally—this originated as a joke, suggesting that rigs are ...
(or rig) is a set ''R'' equipped with two distinguished elements and addition and multiplication operations and such that is commutative and associative
In mathematics, the associative property is a property of some binary operations, which means that rearranging the parentheses in an expression will not change the result. In propositional logic, associativity is a valid rule of replacement f ...
with identity , is commutative and associative with identity , distributes over , and 0 is an absorbing element for .
A weighted automaton over is a tuple where:
* is a finite set of states.
* is a finite alphabet.
* is a finite set of transitions , where is called a character and is called a weight.
* is an initial weight function.
* is a final weight function.
A path on input is a finite path in the graph, where the concatenation of the character labels equals . The weight of the path is the product () of the weights along the path, additionally multiplied by the initial and final weights . The weight of the word is the sum () of the weights of all paths on input (or 0 if there are no accepting paths). In this way the machine defines a function