- Expressive power
In
computer science , the expressive power of a language may refer to:
* what can be said in the language (at all)
* how concisely it can be said.In informal discussions, the term often refers to the latter sense, or both; e.g. this is often the case when discussing
programming language s, e.g. in ["Structure and Interpretation of Computer Programs ", by Abelson and Sussman] . Efforts have been made to formalize these informal uses of the term, e.g. [ [http://citeseer.ist.psu.edu/felleisen90expressive.html "On the Expressive Power of Programming Languages", by Matthias Felleisen (1990)] ] .Formal discussions mostly use the term in its former sense, using "conciseness" for the latter sense. This is the case in areas of
mathematics that deal with the exact description of languages and their meaning, such asformal language theory ,mathematical logic andprocess algebra .The notion of expressive power is always relative to a particular kind of thing that the language in question can describe, and the term is normally used when comparing languages that describe the same kind of things, or at least comparable kinds of things.
The design of languages and formalisms involves a trade-off between expressive power and analyzability. The more a formalism can express, the harder it becomes to understand what instances of the formalism say.
Decision problem s become harder to answer or completelyundecidable .Examples
Expressive power in formal language theory
Formal language theory mostly studies formalisms to describe sets of strings, such ascontext-free grammar s andregular expression s. Each instance of a formalism, e.g. each grammar and each regular expression, describes a particular set of strings. In this context, the expressive power of a formalism is the set of sets of strings its instances describe, and comparing expressive power is a matter of comparing these sets.An important yardstick for describing the relative expressive power of formalisms in this area is the
Chomsky hierarchy . It says, for instance, thatregular expression s,nondeterministic state machine s andregular grammar s have equal expressive power, while that ofcontext-free grammar s is greater; what this means is that the sets of sets of strings described by the first three formalisms are equal, and a proper subset of the set of sets of strings described by context-free grammars.In this area, the cost of expressive power is a central topic of study. It is known, for instance, that deciding whether two arbitrary regular expressions describe the same set of strings is hard, while doing the same for arbitrary context-free grammars is completely impossible. However, it can still be efficiently decided whether any given string is in the set.
For more expressive formalisms, this problem can be harder, or even undecidable. For a
Turing complete formalism, such as arbitraryformal grammar s, not only this problem, but "every" nontrivial property regarding the set of strings they describe is undecidable, a fact known asRice's Theorem .There are some results on conciseness as well; for instance, nondeterministic state machines and regular grammars are more concise than regular expressions, in the sense that the latter can be translated to the former without a blowup in size (i.e. in
O(1) ), while the reverse is not possible.Similar considerations apply to formalisms that describe not sets of strings, but sets of trees (e.g. XML schema languages), of graphs, or other structures.
Expressive power in database theory
Database theory is concerned, among other things, with database queries, e.g. formulas that given the contents of a database extract certain information from it. In the predominantrelational database paradigm, the contents of a database are described as a finite set of finite mathematical relations; Boolean queries, that always yield "true" or "false", are formulated infirst-order logic .It turns out that
first-order logic is lacking in expressive power: it cannot express certain types of Boolean queries, e.g. queries involvingtransitive closure [Serge Abiteboul ,Richard B. Hull ,Victor Vianu : Foundations of Databases. Addison-Wesley, 1995.] . However, adding expressive power must be done with care: it must still remain possible to evaluate queries with reasonable efficiency, which is not the case, e.g., forsecond-order logic . Consequently, a literature sprang up in which manyquery language s and language constructs were compared on expressive power and efficiency, e.g. various versions ofDatalog [Evgeny Dantsin ,Thomas Eiter ,Georg Gottlob , andAndrei Voronkov : Complexity and expressive power of logic programming. ACM Comput. Surv. 33(3): 374-425 (2001).] .Similar considerations apply for query languages on other types of data, e.g. XML query languages such as
XQuery .References
See also
*
Turing tarpit
Wikimedia Foundation. 2010.