Hydra: Difference between revisions

From BusyBeaverWiki
Jump to navigation Jump to search
C7X (talk | contribs)
Change year
MrSolis (talk | contribs)
Complete page overhaul
Line 1: Line 1:
{{machine|1RB3RB---3LA1RA_2LA3RA4LB0LB0LA}}{{unsolved|Does Hydra run forever?}}{{TM|1RB3RB---3LA1RA_2LA3RA4LB0LB0LA|undecided}}
{{machine|1RB3RB---3LA1RA_2LA3RA4LB0LB0LA}}{{unsolved|Does Hydra run forever?}}{{TM|1RB3RB---3LA1RA_2LA3RA4LB0LB0LA|undecided}}
'''Hydra''' is a [[BB(2,5)]] machine that simulates the [[Collatz-like]] iteration
Hydra is a [[BB(2,5)]] [[Cryptid]]. It simulates computing the terms of the sequence
 
<math display="block>H_{n+1}=\bigg\lfloor\frac{3}{2}H_n\bigg\rfloor,H_0=3,</math>
<math display="block">\begin{array}{l}
halting if and only if there exists a point in the sequence where the number of even terms up to that point exceeds twice the number of odd terms.
  C(2a+1, & b) & \to & A(3a+1, & b+2) \\
== Analysis ==
  C(2a,   & b) & \to & A(3a,   & b-1) & \text{if} & b>0 \\
===Rules===
  C(2a,   & 0) & \to          & \text{HALT}
Let <math>C(a,b):=0^\infty\;\textrm{<A}\;2\;0^a\;3^b\;2\;0^\infty</math>. Then<ref>S. Ligocki, "[https://www.sligocki.com/2024/05/10/bb-2-5-is-hard.html BB(2, 5) is Hard (Hydra)] (2024). Accessed 22 July 2024.</ref>,
<math display="block">\begin{array}{|lll|}\hline
C(2a,0)&\xrightarrow{6a^2+20a+4}&0^\infty\;3^{3a+1}\;1\;\textrm{A>}\;2\;0^\infty,\\
C(2a,b+1)&\xrightarrow{6a^2+23a+10}&C(3a+3,b),\\
C(2a+1,b)&\xrightarrow{4b+6a^2+23a+26}&C(3a+3,b+2).\\\hline
\end{array}</math>
\end{array}</math>
<br>
By scaling and translating these rules we acquire the [[Hydra function]] that relates it to [[Antihydra]]<ref>S. Ligocki, "[https://www.sligocki.com/2024/07/06/bb-6-2-is-hard.html BB(6) is Hard (Antihydra)]" (2024). Accessed 22 July 2024.</ref>.
starting from <math>C(3,0)</math>, using configurations of the form <math>C(a+2,b) = 0^\infty \; <B \; 0^{3a} \; 3^b \; 2 \; 0^\infty</math>.<ref>S. Ligocki, "[https://www.sligocki.com/2024/05/10/bb-2-5-is-hard.html BB(2, 5) is Hard (Hydra)] (2024). Accessed 22 July 2024.</ref>
===Proof===
 
Consider the partial configuration <math>P(m,n):=0^\infty\;3^m\;\textrm{A>}\;02\;0^n</math>. After 14 steps this configuration becomes
It is closely related to the machine [[Antihydra]].<ref>S. Ligocki, "[https://www.sligocki.com/2024/07/06/bb-6-2-is-hard.html BB(6) is Hard (Antihydra)]" (2024). Accessed 22 July 2024.</ref>
<math>0^\infty\;3^{m+3}\;\textrm{<A}\;2\;0^{n-2}</math>. We note the following shift rule:
 
<math display="block">\begin{array}{|c|}\hline3^s\;\textrm{<A}\xrightarrow{s}\textrm{<A}\;3^s\\\hline\end{array}</math>
The sequence calculated by Hydra is a [[consistent Collatz]] sequence, (which implies, among other things, that its odd/even pattern can be calculated in quasilinear time). In the first 60 million elements, there are 29995836 even values of <code>a</code> and 30004165 odd values; thus, is known that Hydra cannot halt within the first 90 million Collatz iterations.
Using this shift rule, we get <math>0^\infty\;\textrm{<A}\;3^{m+3}\;2\;0^{n-2}</math> in <math>m+3</math> steps. From here, we can observe that <math>\textrm{A>}\;0\;3^s</math> turns into <math>3\;\textrm{A>}\;0\;3^{s-1}</math> in three steps if <math>s\ge 1</math>. By repeating this process, we acquire this transition rule:
 
<math display="block">\begin{array}{|c|}\hline\textrm{A>}\;0\;3^s\xrightarrow{3s}3^s\;\textrm{A>}\;0\\\hline\end{array}</math>
An older simulator for the odd/even sequence used by Hydra is available [http://nethack4.org/esolangs/fasthydra.zip here], but it runs in <math>O(n^2)</math> time and thus is unusably slow compared to the consistent Collatz simulation approach.
With this rule, it takes <math>3m+9</math> steps to reach the configuration <math>0^\infty\;3^{m+3}\;\textrm{A>}\;02\;0^{n-2}</math>, which is the same configuration as <math>P(m+3,n-2)</math>. To summarize:
 
<math display="block">\begin{array}{|c|}\hline P(m,n)\xrightarrow{4m+26}P(m+3,n-2)\text{ if }n\ge 2.\\\hline\end{array}</math>
== Name ==
With <math>C(a,b)</math> we have <math>P(0,a)</math>. As a result, we can apply this rule <math display="inline">\big\lfloor\frac{1}{2}a\big\rfloor</math> times, which creates two possible scenarios:
 
#If <math>a\equiv0\ (\operatorname{mod}2)</math>, then in <math>\sum_{i=0}^{(a/2)-1}(4\times 3i+26)=\textstyle\frac{3}{2}a^2+10a</math> steps we arrive at <math display="inline">P\Big(\frac{3}{2}a,0\Big)</math>. The matching complete configuration is <math>0^\infty\;3^{(3/2)a}\;\textrm{A>}\;02\;3^b\;2\;0^\infty</math>, which in four steps becomes <math>0^\infty\;3^{(3/2)a+1}\;1\;\textrm{A>}\;3^b\;2\;0^\infty.</math> If <math>b=0</math> then we have reached the undefined <code>A2</code> transition in <math display="inline">\frac{3}{2}a^2+10a+4</math> steps total. Otherwise, continuing for three steps gives us <math>0^\infty\;3^{(3/2)+2}\;\textrm{<B}\;0\;3^{b-1}\;2\;0^\infty</math>. Another shift rule is required here:<math display="block">\begin{array}{|c|}\hline3^s\;\textrm{<B}\xrightarrow{s}\textrm{<B}\;0^s\\\hline\end{array}</math>This means the configuration becomes <math>0^\infty\;\textrm{<B}\;0^{(3/2)a+3}\;3^{b-1}\;2\;0^\infty</math> in <math display="inline">\frac{3}{2}a+2</math> steps, and <math>0^\infty\;\textrm{<A}\;2\;0^{(3/2)a+3}\;3^{b-1}\;2\;0^\infty</math>, equal to <math display="inline">C\Big(\frac{3}{2}a+3,b-1\Big)</math>, one step later. This gives a total of <math display="inline">\frac{3}{2}a^2+\frac{23}{2}a+10</math> steps.
The name ''Hydra'' references the Ancient Greek legend: just as the legendary creature was growing 2 heads after losing 1 head, the ''b'' counter that is kept on the right side of the tape either increases by 2 or decreases by 1 (approximately with equal frequency if modelled as a random process; in reality it depends on the parity of ''a''). The Hydra dies (halts) when the last head is cut.
#If <math>a\equiv1\ (\operatorname{mod}2)</math>, then in <math display="inline">\frac{3}{2}a^2+7a-\frac{17}{2}</math> steps we arrive at <math display="inline">P\Big(\frac{3a-3}{2},1\Big)</math>. The matching complete configuration is <math>0^\infty\;3^{(3a-3)/2}\;\textrm{A>}\;020\;3^b\;2\;0^\infty</math>, which in four steps becomes <math>0^\infty\;3^{(3a-1)/2}\;1\;\textrm{A>}\;0\;3^b\;2\;0^\infty</math>, and then <math>0^\infty\;3^{(3a-1)/2}\;1\;3^b\;\textrm{A>}\;02\;0^\infty</math> in <math>3b</math> steps. After 14 steps, we see the configuration <math>0^\infty\;3^{(3a-1)/2}\;1\;3^{b+3}\;\textrm{<A}\;2\;0^\infty</math>, which turns into <math>0^\infty\;3^{(3a-1)/2}\;1\;\textrm{<A}\;3^{b+3}\;2\;0^\infty</math> in <math>b+3</math> steps. In two steps we get <math>0^\infty\;3^{(3a+1)/2}\;\textrm{<B}\;0\;3^{b+2}\;2\;0^\infty</math>, followed by <math>0^\infty\;\textrm{<B}\;0^{(3a+3)/2}\;3^{b+2}\;2\;0^\infty</math> after another <math display="inline">\frac{3a+1}{2}</math> steps. We conclude with <math>0^\infty\;\textrm{<A}\;2\;0^{(3a+3)/2}\;3^{b+2}\;2\;0^\infty</math>, equal to <math display="inline">C\Big(\frac{3a+3}{2},b+2\Big)</math>, one step later. This gives a total of <math display="inline">4b+\frac{3}{2}a^2+\frac{17}{2}a+16</math> steps.
 
The information above can be summarized as
==Sources==
<math display="block">C(a,b)\rightarrow\begin{cases}0^\infty\;3^{(3/2)a+1}\;1\;\textrm{A>}\;2\;0^\infty&\text{if }a\equiv0\pmod{2}\text{ and }b=0,\\C\Big(\frac{3}{2}a+3,b-1\Big)&\text{if }a\equiv0\pmod{2}\text{ and }b>0,\\C\Big(\frac{3a+3}{2},b+2\Big)&\text{if }a\equiv1\pmod2.\end{cases}</math>
<references/>
Substituting <math>a\leftarrow 2a</math> for the first two cases and <math>a\leftarrow 2a+1</math> for the third yields the final result.
== Trajectory ==
It takes 20 steps to reach the configuration <math>C(3,0)</math>, and from there, the [[Collatz-like]] rules are repeatedly applied. Here are the first few iterations:
[[File:Hydra 0-572.gif|right|thumb|Animation of the blank tape becoming <math>C(21,0)</math> in 572 steps (''[https://wiki.bbchallenge.org/w/images/2/2f/Hydra_0-572.gif click to view]'').]]
<math display="block">\begin{array}{|c|}\hline C(3,0)\xrightarrow{55}C(6,2)\xrightarrow{133}C(12,1)\xrightarrow{364}C(21,0)\xrightarrow{856}C(33,2)\xrightarrow{1938}C(51,4)\rightarrow\cdots\\\hline\end{array}</math>
After 60 million rule steps, there are 29995836 even values of <math>a</math> and 30004165 odd values, giving a very high <math>b</math> value. However, this does not sufficiently prove that Hydra does not halt.
===A heuristic nonhalting argument===
The trajectory of <math>b</math> values can be approximated by a random walk, where the walker can only move in step sizes +2 or -1 with equal probability, starting at position 0. The expected position of the walker after <math>k</math> steps is <math display="inline">\frac{1}{2}k</math>, and it can be shown that the probability of the walker reaching position -1 from position <math>n</math> is <math display="inline">{\Big(\frac{\sqrt{5}-1}{2}\Big)}^{n+1}</math>.
<div class="toccolours mw-collapsible mw-collapsed">'''Proof'''<div class="mw-collapsible-content">
Let <math>P(n)</math> denote the probability of the random walker reaching position 0 from position <math>n</math>. If the walker reaches position 0, it will do so either by first moving +2 with probability <math display="inline">\frac{1}{2}</math> or first moving -1 with probability <math display="inline">\frac{1}{2}</math>. Therefore, the recurrence relation is
<math display="block">\textstyle P(n)=\frac{1}{2}P(n+2)+\frac{1}{2}P(n-1)\text{ for }n\ge1.</math>
Bringing all terms with <math>P</math> to the left side of the equation and then substituting <math>n\leftarrow n+1</math> gives
<math display="block">\textstyle P(n+1)-\frac{1}{2}P(n+3)-\frac{1}{2}P(n)=0.</math>
This equation has the form <math>\sum_{i=0}^k a_iP(n+i)=0</math>, which can be solved using the zeroes of the characteristic polynomial <math>f(z)=\sum_{i=0}^k a_iz^i</math>. In this instance we get <math display="inline">f(z)=-\frac{1}{2}+z-\frac{1}{2}z^3</math>, whose zeroes are given by
<math display="block">\textstyle z_0=\frac{\sqrt{5}-1}{2},\qquad\qquad z_1=1,\qquad\qquad z_2=-\frac{1+\sqrt{5}}{2}.</math>
For each real root <math>z_i</math> with multiplicity 1, its fundamental solution is <math>c_i{\left(z_i\right)}^n</math>, and combining these fundamental solutions produces the general solution. Therefore,
<math display="block">\textstyle P(n)=c_0{\left(\frac{\sqrt{5}-1}{2}\right)}^n+c_1+c_2{\left(-\frac{1+\sqrt{5}}{2}\right)}^n</math>
The boundary condition <math>\lim_{n\to\infty} P(n)=0</math> means <math>c_2=0</math> (since <math display="inline">\left\vert-\frac{1+\sqrt{5}}{2}\right\vert > 1</math>) and <math>c_1=0</math>, and the boundary condition <math>P(0)=1</math> requires that <math>c_0=1</math>.


[[Category:Stub]]
Finally, we note that reaching position -1 from position <math>n</math>, the required condition for halting, is the same as reaching position 0 from position <math>n+1</math>, so we must increment <math>n</math>.
</div></div>
For these reasons, Hydra is considered to be a [[probviously]] nonhalting machine.
==References==
[[Category:Cryptids]]
[[Category:Cryptids]]

Revision as of 16:28, 14 February 2025

Unsolved problem:
Does Hydra run forever?

1RB3RB---3LA1RA_2LA3RA4LB0LB0LA (bbch)

Hydra is a BB(2,5) Cryptid. It simulates computing the terms of the sequence Hn+1=32Hn,H0=3, halting if and only if there exists a point in the sequence where the number of even terms up to that point exceeds twice the number of odd terms.

Analysis

Rules

Let C(a,b):=0<A20a3b20. Then[1], C(2a,0)6a2+20a+4033a+11A>20,C(2a,b+1)6a2+23a+10C(3a+3,b),C(2a+1,b)4b+6a2+23a+26C(3a+3,b+2). By scaling and translating these rules we acquire the Hydra function that relates it to Antihydra[2].

Proof

Consider the partial configuration P(m,n):=03mA>020n. After 14 steps this configuration becomes 03m+3<A20n2. We note the following shift rule: 3s<As<A3s Using this shift rule, we get 0<A3m+320n2 in m+3 steps. From here, we can observe that A>03s turns into 3A>03s1 in three steps if s1. By repeating this process, we acquire this transition rule: A>03s3s3sA>0 With this rule, it takes 3m+9 steps to reach the configuration 03m+3A>020n2, which is the same configuration as P(m+3,n2). To summarize: P(m,n)4m+26P(m+3,n2) if n2. With C(a,b) we have P(0,a). As a result, we can apply this rule 12a times, which creates two possible scenarios:

  1. If a0 (mod2), then in i=0(a/2)1(4×3i+26)=32a2+10a steps we arrive at P(32a,0). The matching complete configuration is 03(3/2)aA>023b20, which in four steps becomes 03(3/2)a+11A>3b20. If b=0 then we have reached the undefined A2 transition in 32a2+10a+4 steps total. Otherwise, continuing for three steps gives us 03(3/2)+2<B03b120. Another shift rule is required here:3s<Bs<B0sThis means the configuration becomes 0<B0(3/2)a+33b120 in 32a+2 steps, and 0<A20(3/2)a+33b120, equal to C(32a+3,b1), one step later. This gives a total of 32a2+232a+10 steps.
  2. If a1 (mod2), then in 32a2+7a172 steps we arrive at P(3a32,1). The matching complete configuration is 03(3a3)/2A>0203b20, which in four steps becomes 03(3a1)/21A>03b20, and then 03(3a1)/213bA>020 in 3b steps. After 14 steps, we see the configuration 03(3a1)/213b+3<A20, which turns into 03(3a1)/21<A3b+320 in b+3 steps. In two steps we get 03(3a+1)/2<B03b+220, followed by 0<B0(3a+3)/23b+220 after another 3a+12 steps. We conclude with 0<A20(3a+3)/23b+220, equal to C(3a+32,b+2), one step later. This gives a total of 4b+32a2+172a+16 steps.

The information above can be summarized as C(a,b){03(3/2)a+11A>20if a0(mod2) and b=0,C(32a+3,b1)if a0(mod2) and b>0,C(3a+32,b+2)if a1(mod2). Substituting a2a for the first two cases and a2a+1 for the third yields the final result.

Trajectory

It takes 20 steps to reach the configuration C(3,0), and from there, the Collatz-like rules are repeatedly applied. Here are the first few iterations:

Animation of the blank tape becoming C(21,0) in 572 steps (click to view).

C(3,0)55C(6,2)133C(12,1)364C(21,0)856C(33,2)1938C(51,4) After 60 million rule steps, there are 29995836 even values of a and 30004165 odd values, giving a very high b value. However, this does not sufficiently prove that Hydra does not halt.

A heuristic nonhalting argument

The trajectory of b values can be approximated by a random walk, where the walker can only move in step sizes +2 or -1 with equal probability, starting at position 0. The expected position of the walker after k steps is 12k, and it can be shown that the probability of the walker reaching position -1 from position n is (512)n+1.

Proof

Let P(n) denote the probability of the random walker reaching position 0 from position n. If the walker reaches position 0, it will do so either by first moving +2 with probability 12 or first moving -1 with probability 12. Therefore, the recurrence relation is P(n)=12P(n+2)+12P(n1) for n1. Bringing all terms with P to the left side of the equation and then substituting nn+1 gives P(n+1)12P(n+3)12P(n)=0. This equation has the form i=0kaiP(n+i)=0, which can be solved using the zeroes of the characteristic polynomial f(z)=i=0kaizi. In this instance we get f(z)=12+z12z3, whose zeroes are given by z0=512,z1=1,z2=1+52. For each real root zi with multiplicity 1, its fundamental solution is ci(zi)n, and combining these fundamental solutions produces the general solution. Therefore, P(n)=c0(512)n+c1+c2(1+52)n The boundary condition limnP(n)=0 means c2=0 (since |1+52|>1) and c1=0, and the boundary condition P(0)=1 requires that c0=1.

Finally, we note that reaching position -1 from position n, the required condition for halting, is the same as reaching position 0 from position n+1, so we must increment n.

For these reasons, Hydra is considered to be a probviously nonhalting machine.

References

  1. S. Ligocki, "BB(2, 5) is Hard (Hydra) (2024). Accessed 22 July 2024.
  2. S. Ligocki, "BB(6) is Hard (Antihydra)" (2024). Accessed 22 July 2024.