Return to the home page for Patrick Kellogg
In 1957, Noam Chomsky described five classifications for generative grammars. According to Chomsky:"…a generative grammar is a system of many hundreds of rules of several different types, organized in accordance with certain fixed principles of ordering and applicability and containing a certain fixed substructure which, along with the general principles of organization, is common to all languages." (Chomsky, 1968, pp. 87-88)
There might be grammars that are created by random or stochastic rules, but those are not included in Chomsky's hierarchy. The first classification is the most general category in the hierarchy; the next category is a subset of that one, and so on, down to the most restrictive category.
1. Recursive grammar.
A recursively enumerable grammar is one that can be instantiated by an algorithm. Another way of saying this is: "there is a Turing machine that decides it" (Lewis, 1998, p. 195). Given an input that is "valid" for the grammar, the Turing machine will always halt in a correct "answer" state. When written using standard notation, both sides of the rewrite rules can have as many symbols as are needed (example, A B C D � M N O P Q (etc.)). A grammar of this type could be said to be "incomplete", since the behavior of the Turing machine is not specified for all inputs. This is the same problem that Bertrand Russell and Alfred North Whitehead had when constructing their unified formal logic "Principia Mathematica" (Hofstadter, 1979, pp 17-619).
2. Recursively enumerable grammar.
A subset of #1, a grammar is recursively enumerable if (and only if) the language and its inverse are both recursive. So, for any input, the Turing machine is guaranteed to halt, and there are no undecidable inputs that might cause a "halting problem". Therefore, if A � B is true for a given grammar, B � A is true for its inverse. This means that given any assumption, we can tell in finite time whether it is true or false. Recursively enumerable grammars are sometimes referred to as "type-0" grammars (Manna, 1974, pp. 41-43).
3. Context-sensitive grammars.
Also known as "type-1" grammars, this class is restricted to Turing machines that can only examine states immediately before and after the current state. So, the grammar might include a rule to turn a sequence A B C into A X C (A B C � A X B). Note that there must be the same number of symbols on both the left and right sides of the rule. Rules that are applied to symbols must consider the "context" of the symbol. For example, in the previous rule, a "B" can be turned into an "X" if (but not necessarily only if) it has a preceding "A" and a following "C". This makes it difficult to modify assumptions since individual symbols cannot be interpreted on their own. Also, the number of rules needed to fully specify the grammar might become very large, since there could be many special cases that need to be considered.
4. Context-free grammars.
Familiarly known as "CFGs", or "type-2" grammars. Here, there can only be one nonterminal symbol on the left-hand "assumption" side of the rule. Luckily, any rule can be rewritten to move all symbols to the right-hand "conclusion" side as needed (for example, A � B � C D is the same as A � B C D. Rules can be applied to individual symbols since there is only one given assumption (like the "A" in the previous example). This means "CFGs are popular for natural language grammars." (Russell, et. al, 1995, p. 656)
5. Regular grammars.
This is the most specific (or "type-3") grammar and is the smallest subset. To be a regular grammar, every rule has a single nonterminal symbol on the left-hand side (as in #4), and only one terminal symbol on the right-hand side (or at most, one terminal symbol followed by a nonterminal symbol) as in the form A � B. These grammars are similar to finite state machines, and can be implemented using a lookup table for each symbol that needs to be translated. However, "they are poorly suited for programming languages because, for example, they cannot represent constructs such as balanced opening and closing parenthesis. (Russell, et. al, 1995, p. 656)
Chomsky, Noam, "Language and Mind", Harcourt Brace Jovanovich, San Diego. 1968
Hofstadter, Douglas R., "Gödel, Escher, Bach: An Eternal Golden Braid", Vintage Books, New York. 1979
Manna, Zohar, "Mathematical Theory of Computation", McGraw-Hill, New York. 1974
Russell, Stuart J., and Peter Norvig, "Artificial Intelligence: A Modern Approach", Prentice Hall, New Jersey. 1995