|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| {{no footnotes|date=January 2013}}
| | Greetings The author's name is Rogelio Korte and his spouse doesn't like it in any way District of Columbia is definitely her household The favorite passion for my children and me is always to [http://www.Thefreedictionary.com/starting+leap starting leap] but I am thinking on [http://Pinterest.com/search/pins/?q=starting starting] anything fresh. Using sources continues to be my day job for a while and the wage has been genuinely fulfilling<br><br>become a famous singer ([http://bit.ly/how-to-become-a-singer click through the next page]) |
| In [[mathematics]], [[logic]] and [[computer science]], a [[formal language]] is called '''recursively enumerable''' (also '''recognizable''', '''partially decidable''', '''semidecidable''' or '''Turing-acceptable''') if it is a [[recursively enumerable set|recursively enumerable subset]] in the [[set (mathematics)|set]] of all possible words over the [[alphabet (computer science)|alphabet]] of the language, i.e., if there exists a [[Turing machine]] which will enumerate all valid strings of the language.
| |
| | |
| Recursively enumerable languages are known as '''type-0''' languages in the [[Chomsky hierarchy]] of formal languages. All [[regular language|regular]], [[context-free grammar|context-free]], [[context-sensitive language|context-sensitive]] and [[recursive language|recursive]] languages are recursively enumerable.
| |
| | |
| The class of all recursively enumerable languages is called '''[[RE (complexity)|RE]]'''. | |
| | |
| ==Definitions==
| |
| There exist three equivalent major definitions for the concept of a recursively enumerable language.
| |
| | |
| # A recursively enumerable language is a [[recursively enumerable set|recursively enumerable]] [[subset]] in the [[set (mathematics)|set]] of all possible words over the [[alphabet (computer science)|alphabet]] of the [[formal language|language]].
| |
| # A recursively enumerable language is a formal language for which there exists a [[Turing machine]] (or other [[computable function]]) which will enumerate all valid strings of the language. Note that if the language is [[Infinity|infinite]], the enumerating algorithm provided can be chosen so that it avoids repetitions, since we can test whether the string produced for number ''n'' is "already" produced for a number which is less than ''n''. If it already is produced, use the output for input ''n+1'' instead (recursively), but again, test whether it is "new".
| |
| # A recursively enumerable language is a formal language for which there exists a Turing machine (or other computable function) that will halt and accept when presented with any [[literal string|string]] in the language as input but may either halt and reject or loop forever when presented with a string not in the language. Contrast this to [[recursive language]]s, which require that the Turing machine halts in all cases.
| |
| | |
| All [[regular language|regular]], [[context-free language|context-free]], [[context-sensitive language|context-sensitive]] and [[recursive language|recursive]] languages are recursively enumerable.
| |
| | |
| [[Post's theorem]] shows that '''[[RE (complexity)|RE]]''', together with its [[complement (complexity)|complement]] [[co-RE]], correspond to the first level of the [[arithmetical hierarchy]].
| |
| | |
| ==Example==
| |
| The [[Halting problem]] is recursively enumerable but not recursive. Indeed one can run the Turing Machine and accept if the machine halts, hence it is r.e. On the other hand the problem is undecidable.
| |
| | |
| Some other r.e. languages that are not recursive:
| |
| | |
| * [[Post correspondence problem]]
| |
| * [[Mortality (computability theory)]]
| |
| * [[Entscheidungsproblem]]
| |
| | |
| == Closure properties ==
| |
| Recursively enumerable languages are [[closure (mathematics)|closed]] under the following operations. That is, if ''L'' and ''P'' are two recursively enumerable languages, then the following languages are recursively enumerable as well:
| |
| * the [[Kleene star]] <math>L^*</math> of ''L''
| |
| * the [[Concatenation#Concatenation_of_sets_of_strings|concatenation]] <math>L \circ P</math> of ''L'' and ''P''
| |
| * the [[Union (set theory)|union]] <math>L \cup P</math>
| |
| * the [[Intersection (set theory)|intersection]] <math>L \cap P</math>.
| |
| | |
| Note that recursively enumerable languages are not closed under set difference or complementation. The set difference ''L'' - ''P'' may or may not be recursively enumerable. If ''L'' is recursively enumerable, then the complement of ''L'' is recursively enumerable if and only if ''L'' is also recursive.
| |
| | |
| == References ==
| |
| * Sipser, M. (1996), ''Introduction to the Theory of Computation'', PWS Publishing Co.
| |
| * Kozen, D.C. (1997), ''Automata and Computability'', Springer.
| |
| | |
| == External links ==
| |
| * {{CZoo|Class RE|R#re}}
| |
| * [http://www.cs.colostate.edu/~massey/Teaching/cs301/RestrictedAccess/Slides/301lecture23.pdf Lecture slides]
| |
| | |
| {{Formal languages and grammars}}
| |
| | |
| [[Category:Formal languages]]
| |
| [[Category:Theory of computation]]
| |
| CNF
| |
Greetings The author's name is Rogelio Korte and his spouse doesn't like it in any way District of Columbia is definitely her household The favorite passion for my children and me is always to starting leap but I am thinking on starting anything fresh. Using sources continues to be my day job for a while and the wage has been genuinely fulfilling
become a famous singer (click through the next page)