Search NKS | Online
171 - 180 of 191 for Range
For it touches an immense range of important and compelling everyday phenomena and issues in science, yet to understand its key ideas requires no prior scientific or technical education.
Given the original list s and the complete prime implicant list p the so-called Quine–McCluskey procedure can be used to find a minimal list of prime implicants, and thus a minimal DNF:
QM[s_, p_] := First[Sort[Map[p 〚 # 〛 &, h[{}, Range[Length[s]], Outer[MatchQ, s, p, 1]]]]]
h[i_, r_, t_] := Flatten[Map[h[Join[i, r 〚 # 〛 ], Drop[r, #], Delete[Drop[t, {}, #], Position[t 〚 All, # 〛 ], {True}]]] &, First[Sort[Position[#, True] &, t]]]], 1]
h[i_, _, {}] := {i}
The number of steps required in this procedure can increase exponentially with the length of p .
Most of the types of programs that I have discussed in this book can be generalized to allow continuous data, often just by having a continuous range of values for their elements (see e.g. page 155 ).
Starting with n = 6 , the effective exponents for t = 10^Range[6] are {39.6, 245.1, 1202.8, 9250.7, 98269.8, 1002020.4} .
Indeed, for period p , the length of blocks required is at most 2 2p (or 2 2 p r for range r rules).
It is related to (a) by Gray code reordering of the rows, and to (b) by reordering according to (see page 905 )
BitReverseOrder[a_] := With[{n = Length[a]}, a 〚 Map[FromDigits[Reverse[#], 2] &, IntegerDigits[Range[0, n - 1], 2, Log[2, n]]] + 1 〛 ]
It is also given by
Array[Apply[Times, (-1)^(IntegerDigits[#1, 2, s] Reverse[IntegerDigits[#2, 2, s]])] &, 2^{s,s}, 0]
where (b) is obtained simply by dropping the Reverse .
With the state of a 2-color tag system encoded as an integer according to FromDigits[Reverse[list] + 1, 3] the following takes the rule for any such tag system (in the first form from page 894 ) and yields a primitive recursive function that emulates a single step in its evolution:
TSToPR[{n_, rule_}] := Fold[Apply[c, Flatten[{#1, Array[p, #
2], c[r[z, c[r[p[1], s], c[r[z, p[2]], c[r[z, r[c[s, z], c[r[c[s,
c[s, z]], z], p[2]]]], p[2]]], p[1]]], p[#2]]}]] & , c[c[r[p[1],
s], p[1], c[r[p[1], r[z, c[s, c[s, s]]]], c[c[r[z, c[r[p[1], s],
c[r[z, c[s, z]], c[r[p[1], r[z, c[r[p[1], s], c[r[z, p[2]], c[
r[z, r[c[s, z], c[r[c[s, c[s, z]], z], p[2]]]], p[2]]], p[1]]]],
p[2], p[3]]], p[1]]], p[1], p[1]], p[1]], p[2]]], p[n + 1],
MapIndexed[c[r[z, c[r[p[1], p[4]], p[2], p[3], p[4]]], c[r[z,
r[c[s, z], c[r[c[s, c[s, z]], z], p[2]]]], p[Length[#2] + 1]], #
1 〚 1 〛 , #1 〚 2 〛 ] & , Nest[Partition[#1, 2] & , Table[Nest[c[s, #] &
z, FromDigits[Reverse[IntegerDigits[i, 2, n] /. rule] + 1, 3]],
{i, 0, 2 n - 1}], n - 1], {0, n - 1}]], Range[n, 1, -1]]
(For tag system (a) from page 94 this yields a primitive recursive function of size 325.)
In turbulent flow at higher Reynolds numbers there begin to be eddies with a wide range of sizes.
Universal cellular automaton
The rules for the universal cellular automaton are
{{_, 3, 7, 18, _} 12, {_, 5, 7 | 8, 0, _} 12, {_, 3, 10, 18, _} 16, {_, 5, 10 | 11, 0, _} 16, {_, 5, 8, 18, _} 7, {_, 5, 14, 0 | 18, _} 12, {_, _, 8, 5, _} 7, {_, _, 14, 5, _} 12, {_, 5, 11, 18, _} 10, {_, 5, 17, 0 | 18, _} 16, {_, _, x : (11 | 17), 5, _} x - 1, {_, 0 | 9 | 18, x : (7 | 10 | 16), 3, _} x + 1, {_, 0 | 9 | 18, 12, 3, _} 14, {_, _, 0 | 9 | 18, 7 | 10 | 12 | 16, x : (3 | 5)} 8 - x, {_, _, _, 8 | 11 | 14 | 17, x : (3 | 5)} 8 - x, {_, 13, 4, _, x : (0 | 18)} x, {18, _, 4, _, _} 18, {_, _, 18, _, 4} 18, {0, _,4, _, _} 0, {_, _, 0, _, 4} 0, {4, _, 0 | 18, 1, _} 3, {4, _, _, _, _} 4, {_, _, 4, _, _} 9, {_, 4, 12, _, _} 7, {_, 4, 16, _, _} 10, {x : (0 | 18), _, 6, _, _} x, {_, 2, 6, 15, x : (0 | 18)} x, {_, 12 | 16, 6, 7, _} 0, {_, 12 | 16, 6, 10, _} 18, {_, 9, 10, 6, _} 16, {_, 9, 7, 6, _} 12, {9, 15, 6, 7, 9} 0, {9, 15, 6, 10, 9} 18, {9, _, 6, _, _} 9, {_, 6, 7, 9, 12 | 16} 12, {_, 6, 10, 9, 12 | 16} 16, {12 | 16, 6, 7, 9, _} 12, {12 | 16, 6, 10, 9, _} 16, {6, 13, _, _, _} 9, {6, _, _, _, _} 6, {_, _, 9, 13, 3} 9, {_, 9, 13, 3, _} 15, {_, _, _, 15, 3} 3, {_, 3, 15, 0 | 18, _} 13, {_, 13, 3, _, 0 | 18} 6, {x : (0 | 18), 15, 9, _, _} x, {_, 6, 13, _, _} 15, {_, 4, 15, _, _} 13, {_, _, _, 15, 6} 6, {_, _, 2, 6, 15} 1, {_, _, 1, 6, _} 2, {_, 1, 6, _, _} 9, {_, 3, 2, _, _} 1, {3, 2, _, _, _} 3, {_, _, 3, 2, _} 3, {_, 1, 9, 1, 6} 6, {_, _, 9, 1, 6} 4, {_, 4, 2, _, _} 1, {_, _, _, _, x : (3 | 5)} x, {_, _, 3 | 5, _, x : (0 | 18)} x, {_, _, x : (1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17), _, _} x, {_, _, 18, 7 | 10, 18} 18, {_, _, 0, 7 | 10, 0} 0, {_, _, 0 | 18, _, _} 9, {_, _, x_, _, _} x}
where the numbers correspond to the icons shown in the main text according to
The block in the initial conditions for the universal cellular automaton corresponding to a cell with color a is given by
Flatten[{Transpose[{Join[{4, 18(1 - a), 6}, Table[9, {2 2 r + 1 - 3}]], 10 - 3 rtab}], Table[{9, 1}, {r}], 9, 13}]
where r is the range of the rule to be emulated ( r = 1 for elementary rules) and rtab is the list of outcomes for that rule (starting with the outcome for {1, 1, (1) ...} ).
Fibonacci[n] can be obtained in many ways:
• (GoldenRatio n - (-GoldenRatio) -n )/ √ 5
• Round[GoldenRatio n / √ 5 ]
• 2 1 - n Coefficient[(1 + √ 5 ) n , √ 5 ]
• MatrixPower[{{1, 1}, {1, 0}}, n - 1] 〚 1, 1 〛
• Numerator[NestList[1/(1 + #)&, 1, n]]
• Coefficient[Series[1/(1 - t - t 2 ), {t, 0, n}], t n - 1 ]
• Sum[Binomial[n - i - 1, i], {i, 0, (n - 1)/2}]
• 2 n - 2 - Count[IntegerDigits[Range[0, 2 n - 2 ], 2], {___, 1, 1, ___}]
A fast method for evaluating Fibonacci[n] is
First[Fold[f, {1, 0, -1}, Rest[IntegerDigits[n, 2]]]]
f[{a_, b_, s_}, 0] = {a (a + 2b), s + a (2a - b), 1}
f[{a_, b_, s_}, 1] = {-s + (a + b) (a + 2b), a (a + 2b), -1}
Fibonacci numbers appear to have first arisen in perhaps 200 BC in work by Pingala on enumerating possible patterns of poetry formed from syllables of two lengths.