Enumerator (computer science): Difference between revisions

Content deleted Content added
Undid revision 1262222644 by Clarkwalkers (talk)
 
(7 intermediate revisions by 6 users not shown)
Line 6:
==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 ofenumerated 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 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 itsit's a match, then we accept the input, elseotherwise rejectwe continue. Note that if the string is not in the language, the turing machine will never halt, thus rejecting the string.
 
== 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: Computability theory]]
[[Category: Theory of computation]]
 
 
{{compucomp-sci-theory-stub}}