Graph grammars can be regarded as a generalization of context-free grammars from strings to graphs. Over the past 30 years a rich theory of graph grammars and their languages has been developed. However, there are no graph automata. There is no duality between generative and recognizing devices, as it is known for the Chomsky hierarchy of formal languages. Here we introduce graph automata as devices for the recognition of sets of undirected node labelled graphs. A graph automaton consists of a finite state control, a finite set of instructions, and a collection of heads or guards. It reads an input graph in a systematic way and performs a graph search directed by the instructions. As our main results we show that finite graph automata recognize exactly the set of graph languages generated by linear NCE graph grammars and that alternating finite graph automata recognize exactly the languages of boundary graph grammars. Finally, we generalize some automata theoretic properties from string to graph automata, integrate the connectivity of graphs into graph automata, and explain why graph automata cannot be generalized to deal with dynamic edge relabellings and eNCE graph languages.
Read full abstract