# Search NKS | Online

1 - 3 of 3 for StringJoin

Simulating mobile automata
Given a mobile automaton like the one from page 73 with rules in the form used on page 887 —and behavior of any complexity—the following will yield a causal-invariant substitution system that emulates it:
Map[StringJoin, Map[{"AAABB", "ABABB", "ABAABB"} 〚 # + 1 〛 &, Map[Insert[# 〚 1 〛 , 2, 2] Insert[# 〚 2, 1 〛 , 2, 2 + # 〚 2, 2 〛 ] &, rule], {2}], {2}]

Correspondence systems
Given a list of pairs p with {u, v} = Transpose[p] the constraint to be satisfied is
StringJoin[u 〚 s 〛 ] StringJoin[v 〚 s 〛 ]
Thus for example p = {{"ABB", "B"}, {"B", "BA"}, {"A", "B"}} has shortest solution s = {2, 3, 2, 2, 3, 2, 1, 1} . (One can have lists instead of strings, replacing StringJoin by Flatten .)
… With r string pairs and n = StringLength[StringJoin[p]] there are 2 n Binomial[n - 1, 2r - 1] possible constraints (assuming no strings of zero length), each being related to at most 8 r!

With k colors each giving a string of the same length s the recurrence relation is
Thread[Map[ ϕ [#][t + 1, ω ] &, Range[k] - 1] Apply[Plus, MapIndexed[Exp[ ω (Last[#2] - 1) s t ] ϕ [#1][t, ω ] &, Range[k] - 1 /. rules, {-1}], {1}]/ √ s ]
Some specific properties of the examples shown include:
(a) (Thue–Morse sequence) The spectrum is essentially Nest[Range[2 Length[#]] Join[#, Reverse[#]] &, {1}, t] .