|
|
Line 2: |
Line 2: |
| '''Antihydra''' is a [[BB(6)]] [[Cryptid]]. Its pseudo-random behaviour was first reported [https://discord.com/channels/960643023006490684/1026577255754903572/1256223215206924318 on Discord] by mxdys on 28 June 2024, and Racheline discovered the high-level rules soon after. It was named after the 2-state, 5-symbol [[Turing machine]] called [[Hydra]] for sharing many similarities to it.<ref>[https://discord.com/channels/960643023006490684/960643023530762341/1257053002859286701 Discord conversation where the machine was named]</ref> | | '''Antihydra''' is a [[BB(6)]] [[Cryptid]]. Its pseudo-random behaviour was first reported [https://discord.com/channels/960643023006490684/1026577255754903572/1256223215206924318 on Discord] by mxdys on 28 June 2024, and Racheline discovered the high-level rules soon after. It was named after the 2-state, 5-symbol [[Turing machine]] called [[Hydra]] for sharing many similarities to it.<ref>[https://discord.com/channels/960643023006490684/960643023530762341/1257053002859286701 Discord conversation where the machine was named]</ref> |
|
| |
|
| Antihydra is known to not generate Sturmian words<ref>DUBICKAS A. ON INTEGER SEQUENCES GENERATED BY LINEAR MAPS. ''Glasgow Mathematical Journal''. 2009;51(2):243-252. doi:10.1017/S0017089508004655</ref> (Corollary 4). | | Antihydra is known to not generate Sturmian words<ref>DUBICKAS A. ON INTEGER SEQUENCES GENERATED BY LINEAR MAPS. ''Glasgow Mathematical Journal''. 2009;51(2):243-252. doi:[https://doi.org/10.1017/S0017089508004655 10.1017/S0017089508004655]</ref> (Corollary 4). |
| <table style="margin: auto; text-align: center;"><tr><td style="width: 200px;">[[File:Antihydra-depiction.png|200px]]<br>Artistic depiction of Antihydra by Jadeix</td><td> </td><td> | | <table style="margin: auto; text-align: center;"><tr><td style="width: 200px;">[[File:Antihydra-depiction.png|200px]]<br>Artistic depiction of Antihydra by Jadeix</td><td> </td><td> |
| {|class="wikitable" style="margin-left: auto; margin-right: auto;" | | {|class="wikitable" style="margin-left: auto; margin-right: auto;" |
Revision as of 19:55, 1 May 2025
Unsolved problem:
Does Antihydra run forever?
1RB1RA_0LC1LE_1LD1LC_1LA0LB_1LF1RE_---0RA
(bbch)
Antihydra is a BB(6) Cryptid. Its pseudo-random behaviour was first reported on Discord by mxdys on 28 June 2024, and Racheline discovered the high-level rules soon after. It was named after the 2-state, 5-symbol Turing machine called Hydra for sharing many similarities to it.[1]
Antihydra is known to not generate Sturmian words[2] (Corollary 4).
 Artistic depiction of Antihydra by Jadeix | |
|
0 |
1
|
A
|
1RB
|
1RA
|
B
|
0LC
|
1LE
|
C
|
1LD
|
1LC
|
D
|
1LA
|
0LB
|
E
|
1LF
|
1RE
|
F
|
---
|
0RA
|
The transition table of Antihydra.
| |  A community trophy - to be awarded to the first person or group who solves the Antihydra problem
|
Analysis
Let
. Then,[3]

Proof
Consider the partial configuration
. The configuration after two steps is
. We note the following shift rule:

As a result, we get

after

steps. Advancing two steps produces

. A second shift rule is useful here:

This allows us to reach

in

steps. Moving five more steps gets us to

, which is the same configuration as

. Accounting for the head movement creates the condition that

. In summary:

With

we have

. As a result, we can apply this rule

times (assuming

), which creates two possible scenarios:
- If
, then in
steps we arrive at
. The matching complete configuration is
. After
steps this is
, which then leads to
in
steps. After five more steps, we reach
, from which another shift rule must be applied:
Doing so allows us to get the configuration
in
steps. In six steps we have
, so we use the shift rule again, ending at
, equal to
,
steps later. This gives a total of
steps.
- If
, then in
steps we arrive at
. The matching complete configuration is
. After
steps this becomes
. If
then we have reached the undefined F0
transition with a total of
steps. Otherwise, continuing for six steps gives us
. We conclude with the configuration
, equal to
, in
steps. This gives a total of
steps.
The information above can be summarized as

Substituting

for the first case and

for the other two yields the final result.
In effect, the halting problem for Antihydra is about whether repeatedly applying the function
will at some point produce more odd values of
than twice the number of even values.
These rules can be modified to use the function
, or the Hydra function, which strengthens Antihydra's similarities to Hydra.
Trajectory
11 steps are required to enter the configuration
before the rules are repeatedly applied. So far, Antihydra has been simulated to
rule steps, at which point
. Here are the first few:

The trajectory of

values resembles a random walk in which the walker can only move in step sizes +2 or -1 with equal probability, starting at position 0. If

is the probability that the walker will reach position -1 from position

, then it can be seen that

. Solutions to this recurrence relation come in the form

, which after applying the appropriate boundary conditions reduces to

. This means that if the walker were to get to position 1073720884 then the probability of it ever reaching position -1 is

. This combined with the fact that the expected position of the walker after

steps is

strongly suggests Antihydra
probviously runs indefinitely.
Code
The following Python program implements the abstracted behavior of the Antihydra. Proving whether it halts or not would also solve the Antihydra problem:
# Current value of the iterated Hydra function starting with initial value 8
h = 8
# (Collatz-like) condition counter that keeps track of how many odd and even numbers have been encountered
c = 0
# If c equals -1 there have been (strictly) more than twice as many odd as even numbers and the program halts
while c != -1:
# If h is even, add 2 to c so even numbers count twice
if h % 2 == 0:
c += 2
else:
c -= 1
# Add the current hydra value divided by two (integer division, rounding down) to itself (Hydra function)
# Note that integer division by 2 is equivalent to one bit shift to the right (h >> 1)
h += h//2
References