A mathematical model of a system with a finite memory which processes discrete information. Finite automata are one of the most important types of control systems (cf. Control system). Substantially, a finite automaton may be described as a system with input and output channels that is in one of states at any discrete moment of time. These moments constitute the time set. At each such moment signals — that is, letters from the input alphabet — are fed into the input channel and signals — that is, letters from the output alphabet — are produced by the output channel. Depending on the particular point of view, such system may include formal systems (cf. Formal system), real automata, living organisms, etc.
The concept of a finite automaton may be defined from different points of view. In the macro approach, i.e. when the only feature of interest is the external behaviour of the system, a finite automaton may be defined as a class of functions, as a finite oriented graph or (in algebraic form) as a finite algebra with unary operations (cf. Automata, methods of specification of). If the micro-approach is adopted, a finite automaton is defined as a set of elements and a scheme of their interconnections, i.e. not only the functioning of the automaton but also its structure is considered. This conception is accordingly known as structural, while the finite automata themselves are known as structural automata or automata networks.
A finite automaton is a system where are finite alphabets, usually non-empty, known, respectively, as the input alphabet, the set of states and the output alphabet; is the transition function, which maps the set into ; is the output function, which maps into . Such finite automata are sometimes known as Mealy automata. If the output function maps into (i.e. is independent of the letters of the input alphabet), the finite automaton is known as a Moore automaton. Any Moore automaton is also a Mealy automaton.
The most important characteristic of a finite automaton is its behaviour (cf. Automaton, behaviour of an), which may be defined in different ways. Depending on the kind of behaviour under consideration, finite automata may be grouped into transformers, acceptors (identifiers), generators, etc. In order to define the main types of behaviour of finite automata, the functions and are extended to the set (where is the set of all words over , including the empty word ):
where while denotes the word obtained by adjoining the letter to the word . Thus, the extension of the functions and to arbitrary and describes, respectively, the state into which the automaton passes from the state under the effect of the input word , and the output letter which is produced by the automaton at the moment of entry of the last letter of the input word . Let denote the initial segment of length of the word , and let and be the words over and defined as follows:
The functions and describe the sequence of states assumed by the automaton during inputting the letters of the word , and also the output word, i.e. the sequence of letters of the output alphabet put out by the automaton when acted upon by the input word . The ternary relation
is known as the functioning (operation) of the finite automaton . The functions and are extended in a natural manner to infinite sequences (superwords) over . For this reason, the functioning of a finite automaton is sometimes understood to mean a relation of the type in which is an arbitrary superword. In such a case the value of the function is defined as the set of those and only those states which are encountered in the sequence an infinite number of times.
A finite automaton with a designated initial state is known as initialized and is denoted by . The behaviour of an initialized finite automaton is usually defined as one of the following four relations.
1) The function , which maps into (or into , where and are the sets of all superwords over and respectively). This function is called computable or realizable by the initialized finite automaton .
2) The set , which is defined for a given of the final states as follows:
The set is called an event representable by the finite automaton with set of final states.
3) The set of values of the function for all possible from , called the set enumerable by the given finite automaton .
4) The set , defined for a system of subsets of as follows:
The set is known as a super-event, representable by the finite automaton with a system of subsets of final states. Finite automata with behaviour of type 1) are known as finite transformers, while those with behaviour of type 2) are known as finite identifiers or acceptors.
If the Cartesian products and are taken as the input and output alphabets, respectively, behaviour of type 1) will be a tuple of functions of arguments. One says in such a case that the automaton has inputs and outputs, the alphabets and being called input and output alphabets of such an automaton, respectively. The class of events representable by a finite automaton and the class of functions computable by a finite automaton may be described by various mathematical tools. The principal result is that events representable by a finite automaton are identical with so-called regular events, while functions computable by a finite automaton are identical with finitely-determined functions (cf. Finitely-determined function). In addition, the class of sets enumerable by a finite automaton is identical with the class of events representable by a finite automaton.
Regarding behaviour of types 2), 3) and 4), Moore automata are equivalent to Mealy automata in the sense that to each Mealy automaton there corresponds an equivalent (i.e. displaying the same behaviour) Moore automaton, and vice versa. This is not true of behaviour of type 1). However, if in a Moore automaton functions of the form
are taken instead of , Moore automata will be equivalent to Mealy automata.
A Moore automaton is said to be an autonomous automaton, or a generator, if the transition function is independent of the letters of the input alphabet. The behaviour of an initialized autonomous automaton is usually understood to mean the superword
where . This sequence is periodic apart from a certain initial segment.
A finite automaton is said to be a transition system if and if, for any from , the equation is true, or if the output alphabet is empty. Thus, a transition system is completely defined by the three parameters .
The concepts of a finite automaton and functioning of a finite automaton may be defined by several equivalent methods (cf. Automata, methods of specification of; Automaton, behaviour of an). The so-called canonical equations are extensively employed. For any word let denote the -th letter of and let denote the length of . The functioning of a finite automaton will then comprise those and only those word triplets that satisfy the following conditions: 1) ; 2) for each such that the equalities , hold. To define the behaviour of an initialized finite automaton one must add the equality . The totality of these equalities unambiguously determines the behaviour of an initialized finite automaton, and is usually referred to as the canonical equations. Canonical equations are extensively employed in the analysis and synthesis of automata.
Consider a set of elements consisting of a finite automaton as defined above with input and output alphabets of the form , where is a finite alphabet, identical for all elements. The construction rules of structural finite automata from these elements describe the permitted unions (identifications) of the inputs and outputs, and thus also define the input and output sets of the finite automaton thus obtained.
The most important example of such finite automata are logical networks. One version of this concept is presented below. In this case and the elements are the so-called functional elements, which represent a finite automaton with a single state, and also certain special Moore automata, called delays. These are distinguished by the fact that they have two states, which are usually denoted by the letters 0 and 1 of the input alphabet, and that the transition and output functions satisfy the conditions and . Since functional elements have only one state, they are completely determined by the output function , which in this case is a Boolean function of arguments, where is the number of inputs of the functional elements. The elements themselves are initialized logical networks whose inputs and outputs correspond, respectively, to the inputs and outputs of the elements. Subsequent construction of more complex logical networks is performed according to the following rules.
1) The union of two logical networks is a logical network whose inputs and outputs are, respectively, those of the two logical networks (Fig. a).
2) The result of identifying two arbitrary inputs of a logical network is a logical network whose outputs are the same as those of the initial logical network and whose inputs are the same as those of the initial logical network, except for one of the identified inputs (Fig. b).
3) The result of connecting one output of a logical network to an input of another logical network is a logical network. Its inputs are all the inputs of the first logical network and those inputs of the second logical network that are not identified with the output of the first logical network; the outputs are all the outputs of both logical networks (Fig. c).
4) The result of identification of the output of a logical network that is the output of a delay element with any input of the same logical network is a logical network whose inputs are all the inputs of the initial logical network except for the identified input, and whose outputs are all the outputs of the initial logical network (Fig. d). With certain restrictions this rule may also be applied to outputs that are not outputs of a delay element of a logical network.
5) In any logical network it is possible to consider as output only some of the outputs as defined in 1–4 above. Logical networks obtained from functional elements by the rules 1, 2, 3 and 5 are usually said to be diagrams of functional elements.
The essential functioning of a logical network may be substantially described as follows. Let specified input letters be assigned to all inputs of the logical network at the moment and let the states of the delay elements be given. In this situation letters will be assigned to all inputs and outputs of the elements of the logical network, in particular to all outputs of the logical network, in accordance with the following rules. If the letters have been assigned to the inputs of a functional element with output function , the letter assigned to its output at this moment will be the value . If at the moment the delay is in state , the letter is assigned at the same moment to the output. Identical letters are assigned to identified inputs and outputs. Moreover, at the moment the states of the delay are determined by the input letters at the moment , as was stated above, i.e. . Thus, if the initial states of the delay are specified, the logical network defines a certain mapping of input sequences over the alphabet into output sequences over the alphabet , where is the number of inputs and is the number of outputs of the logical network. The class of such mappings is identical with the class of functions realized by finite automata in the first meaning of the word (i.e. with the class of finitely-determined functions), since the functioning of the logical network as described above is identical with the functioning of the finite automaton , where is the number of inputs, is the number of outputs of the logical network and is the Cartesian product of the sets of states of all delays in the logical network; the transition function is a coordinate-wise application of the transition functions of the delays, while the output function is determined in accordance with the functioning of functional elements and delay elements as described above.
For instance, let the elements consist of delays (marked as rectangles in Fig. e) and of functional elements with output functions and (marked as triangles with the respective symbols of the functions).
Fig. eshows a logical network which, at the moment of time , outputs letter 1 if and only if the input letters at the moments contain an odd number of letters "1" (at the initial moment the delay has the value 0; letters and denote, respectively, the input and the output of the logical network). If and denote, respectively, the state, the input letter and the output letter at the moment , the functioning of such a logical network may be defined by the canonical equations:
If the macro-approach is adopted, this automaton can be represented in the form where , () and .
The concept of a finite automaton was the starting point of the modern theory of automata (cf. Automata, theory of), which is also concerned with various modifications and generalizations of this concept.
|||C.E. Shannon (ed.) J. McCarthy (ed.) , Automata studies , Princeton Univ. Press (1956)|
|||V.M. Glushkov, "Synthesis of numerical automata" , Moscow (1962) (In Russian)|
|||N.E. Korbinskii, B.A. Trakhtenbrot, "Introduction to the theory of finite automata" , Moscow (1962) (In Russian)|
See the Editorial Comments to the article Automata, equivalence of.
Automaton, finite. V.B. KudryavtsevYu.I. Yanov (originator), Encyclopedia of Mathematics. URL: http://www.encyclopediaofmath.org/index.php?title=Automaton,_finite&oldid=18878