Generalized context-free grammar

From testwiki
Jump to navigation Jump to search

Template:Short descriptionTemplate:Use American English

Generalized context-free grammar (GCFG) is a grammar formalism that expands on context-free grammars by adding potentially non-context-free composition functions to rewrite rules.[1] Head grammar (and its weak equivalents) is an instance of such a GCFG which is known to be especially adept at handling a wide variety of non-CF properties of natural language.

Description

A GCFG consists of two components: a set of composition functions that combine string tuples, and a set of rewrite rules. The composition functions all have the form f(x1,...,xm,y1,...,yn,...)=γ, where γ is either a single string tuple, or some use of a (potentially different) composition function which reduces to a string tuple. Rewrite rules look like Xf(Y,Z,...), where Y, Z, ... are string tuples or non-terminal symbols.

The rewrite semantics of GCFGs is fairly straightforward. An occurrence of a non-terminal symbol is rewritten using rewrite rules as in a context-free grammar, eventually yielding just compositions (composition functions applied to string tuples or other compositions). The composition functions are then applied, successively reducing the tuples to a single tuple.

Example

A simple translation of a context-free grammar into a GCFG can be performed in the following fashion. Given the grammar in (Template:EquationNote), which generates the palindrome language {wwR:w{a,b}*}, where wR is the string reverse of w, we can define the composition function conc as in (Template:EquationNote) and the rewrite rules as in (Template:EquationNote).

Template:NumBlk Template:NumBlk Template:NumBlk

The CF production of Template:Not a typo is

Template:Not a typo
Template:Not a typo
Template:Not a typo
Template:Not a typo
Template:Not a typo

and the corresponding GCFG production is

Sconc(a,S,a)
conc(a,conc(b,S,b),a)
conc(a,conc(b,conc(b,S,b),b),a)
conc(a,conc(b,conc(b,conc(ϵ,ϵ,ϵ),b),b),a)
conc(a,conc(b,conc(b,ϵ,b),b),a)
conc(a,conc(b,bb,b),a)
conc(a,bbbb,a)
abbbba

Linear Context-free Rewriting Systems (LCFRSs)

Weir (1988)[1] describes two properties of composition functions, linearity and regularity. A function defined as f(x1,...,xn)=... is linear if and only if each variable appears at most once on either side of the =, making f(x)=g(x,y) linear but not f(x)=g(x,x). A function defined as f(x1,...,xn)=... is regular if the left hand side and right hand side have exactly the same variables, making f(x,y)=g(y,x) regular but not f(x)=g(x,y) or f(x,y)=g(x).

A grammar in which all composition functions are both linear and regular is called a Linear Context-free Rewriting System (LCFRS). LCFRS is a proper subclass of the GCFGs, i.e. it has strictly less computational power than the GCFGs as a whole.

On the other hand, LCFRSs are strictly more expressive than linear-indexed grammars and their weakly equivalent variant tree adjoining grammars (TAGs).[2] Head grammar is another example of an LCFRS that is strictly less powerful than the class of LCFRSs as a whole.

LCFRS are weakly equivalent to (set-local) multicomponent TAGs (MCTAGs) and also with multiple context-free grammar (MCFGs [1]).[3] and minimalist grammars (MGs). The languages generated by LCFRS (and their weakly equivalents) can be parsed in polynomial time.[4]

See also

References

Template:Formal languages and grammars