Content deleted Content added
Undid revision 1262222644 by Clarkwalkers (talk) |
|||
(16 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Short description|Automata that lists elements of some given set}}
{{One source|date=May 2021}}
An '''enumerator''' is a [[Turing machine]] with an attached printer. The Turing machine can use that printer as an output device to print strings. Every time the Turing machine wants to add a string to the list, it sends the string to the printer. Enumerator is a type of Turing machine variant and is equivalent with Turing machine.
==Formal definition==
{{Unreferenced section|date=April 2021}}
An enumerator <math>E</math> can be defined as a 2-tape Turing machine ([[Multitape Turing machine]] where <math> k=2 </math>) whose language is <math>\empty</math>. Initially, <math>E</math> receives no input, and all the tapes are blank (i.e., filled with blank symbols). Newly defined symbol <math>\#\in \Gamma\land\#\notin \Sigma</math> is the delimiter that marks end of an element of <math>S</math>. The second tape can be regarded as the printer, strings on it are separated by <math>\#</math>. The language enumerated by an enumerator <math>E</math> denoted by <math>L(E)</math> is defined as set of the strings on the second tape (the printer).
==Equivalence of Enumerator and Turing Machines==
Line 30 ⟶ 25:
'''An Enumerable Language is Turing Recognizable'''
It's very easy to construct a Turing Machine <math>M</math> that recognizes the enumerable language <math>L</math>. We can have two tapes. On one tape we take the input string and on the other tape, we run the enumerator to enumerate the strings in the language one after another. Once a string is printed in the second tape we compare it with the input in the first tape. If
== References ==
{{refbegin}}
* {{cite book |last=Sipser |first=Michael |title=Introduction to the Theory of Computation - International Edition |year=2012 |publisher=Cengage Learning |isbn=978-1-133-18781-3}}
{{refend}}
[[Category:
[[Category:
{{
|