6

What is the simplest example of a rewriting system from binary strings to binary strings

$$f:\Sigma^*\rightarrow\Sigma^*\qquad\Sigma=\{0,1\}$$

that can perform universal computation? Binary string rewriting systems in general can compute any computable function, but I have trouble finding particular instances that can by themselves compute any computable function given an appropriate input. I've seen statements that a class of rewriting systems (e.g., the set of cyclic tag systems) is Turing-complete, but I'm looking for a single rewriting system that is universal.

I was thinking a self-modifying bitwise cyclic tag system might be a candidate, but I'm not sure how to interpret the output of such a system.

user76284
  • 416
  • 2
  • 12
  • I understood your question as being about string rewriting systems, such as Chomsky type 0 grammars (Semi-Thue grammars). But none of the solutions being considered seems to fit. What did you precisely mean by "rewriting system from binary strings to binary strings"? For Chomsky type 0 grammars, I do not see how it can be achieved, unless the input is first encoded with another device. – babou Jul 08 '15 at 20:57

2 Answers2

6

Rule 110 is a binary rewriting system that can perform universal computation, i.e., it has been proven to be universal. It can be implemented by a finite-state transducer: it needs only finite state.

However, Rule 110 is not a tag system or a cyclic tag system, so this does not provide an instance of a specific binary tag system that is known to be universal. It might be that examining the proof of universality of Rule 110 could yield such a system, as apparently the proof involves a reduction that goes by way of cyclic tag systems -- though personally I've never read the proof, so this is only speculation.

A side note: From Rule 110, you can construct a particular queue automaton that is universal: the queue alphabet is $\{0,1,\$\}$ and contains the state of the cellular automaton (a binary string representing the contents of each cell, followed by $\$$). I don't know whether it'd be possible to use this to construct a specific tag system that is universal (e.g., if you can find a way to use a tag system to emulate a queue automaton).

D.W.
  • 159,275
  • 20
  • 227
  • 470
  • Thank you. Is there an example of a system that manipulates only a finite amount of memory at any given time, e.g. a binary tag system? My understanding is that a non-standard initial state was required to show the rule 110 cellular automaton was universal. – user76284 Jul 07 '15 at 19:43
3

Binary Combinatory Logic is an example with simple rewriting rules.

r.e.s.
  • 256
  • 2
  • 9
  • Of course! Even simpler, perhaps, would be one based on a single combinator?

    http://cstheory.stackexchange.com/questions/31883/smallest-possible-universal-combinator/31915#31915

    – user76284 Jul 23 '15 at 02:49
  • 1
    Any single-combinator formulation will almost certainly have much more complicated operational rewriting rules. (The "smallness" of languages such as Iota and Jot, for example, is only wrt the denotational semantics -- their operational semantics are more complicated than BCL.) – r.e.s. Jul 23 '15 at 12:35