Page 1 of 1

Irrational movement

Posted: December 13th, 2020, 3:03 pm
by MathAndCode
I figured that an interesting idea might be irrational movement, i.e. movement at a ratio to c that is not a rational number.
First of all, irrational movement is possible in cellular autonoma. For example, this pattern extends to the right at a speed equal to c divided by the cube of the golden ratio.

Code: Select all

x=1, y=1, rule=IrrationalMovement
A!
Irrational movement is impossible for any pattern with a fixed maximum bounding box. The tail section can move as long as it doesn't do so as quickly as the head, but that would unnecessarily overcomplicate things. I have already decided that the movement shall be orthogonal and that the construction tape shall be stored as the stationary end and sent to the moving end in the form of some slow orthogonal spaceship. (I'm leaning toward loafers.) Here are some questions that I would like to discuss before we progress further:
  • Are loafers really the best spaceship to use for the construction tape?
  • Should a different, more easily synthesizable spaceship be used for the return signal?
  • Using a slow spaceship for the construction tape could increase the repeat time. Should the construction tape be multiple lanes in order to compensate for this?
  • Since we will probably use MWSS construction, should be wait until better MWSS construction has been developed?

Re: Irrational movement

Posted: December 13th, 2020, 8:48 pm
by fluffykitty
Here's my idea for how such a thing could work: (Cyan is a stable reflector, red cells are NE/SW gliders for data, yellow are reflectors, green are constructors, purple/white is construction recipe moving from purple to white, blue is future lanes moving from blank to blue)

Code: Select all

x = 31, y = 24, rule = Codd
23.CD5.D$23.A5.AC$26.A$21.D5.D$20.E.F$17.D.F3.E$16.B.D5.D$19.E3.F$20.
F.E$21.D5$8.B.B8$G.B$.G!
The middle of the three recipe lanes goes NW; the rest go SE. The upper constructor decides which output lane to use depending on whether or not it receives a 1 from the red stream. If it does, it moves itself and returns the recipe along the upper output, with the distance selected to increase the length of the red loop be exactly one space. If it doesn't, it remains and returns the recipe along the lower output. The lower constructor moves itself and redirects the stream as required to ensure that the upper constructor continues to function. The red stream will probably actually be two streams (one for encoding a state 1 cell from MathAndCode's demo pattern, the other for a 0) to avoid inconveniences with producing a signal from an absence. Note that the upper stream before moving will be in the same place as the lower stream after moving, so on the upper constructor the reflector for that stream will either have to be a merger, or be reconstructed after the construction stream is finished with it (which probably only allows time for very small modifications, or possibly triggering a seed). I don't think there are any other major concerns with this design,

Re: Irrational movement

Posted: December 14th, 2020, 1:07 am
by MathAndCode
fluffykitty wrote:
December 13th, 2020, 8:48 pm
Here's my idea for how such a thing could work: (Cyan is a stable reflector, red cells are NE/SW gliders for data, yellow are reflectors, green are constructors, purple/white is construction recipe moving from purple to white, blue is future lanes moving from blank to blue)
I like your idea of having the construction mechanism construct a return signal, as opposed to my idea of constructing some mechanism in the moving end that would send a return signal if no instruction tape came. I don't think that producing a signal from an absence at the stationary end will be too hard once we know the period, and the moving end won't be able to receive instructions just after it has moved anyway, so I think that we should keep the signal/absence return signal method. Also, the moving end will have to return 10 in response to a 1 signal instead of 01, but this will not be a problem.

Re: Irrational movement

Posted: December 14th, 2020, 2:17 am
by fluffykitty
So in your blueprint, the analogs of the leftward signals in IrrationalMovement would be single spaceships, which the left reflector would then convert to copies of the advancement recipe? I didn't see that mentioned anywhere in your first post.

Re: Irrational movement

Posted: December 14th, 2020, 12:27 pm
by MathAndCode
fluffykitty wrote:
December 14th, 2020, 2:17 am
So in your blueprint, the analogs of the leftward signals in IrrationalMovement would be single spaceships, which the left reflector would then convert to copies of the advancement recipe? I didn't see that mentioned anywhere in your first post.
Yes, that is my intention. I should have specified that.

Re: Irrational movement

Posted: December 15th, 2020, 12:31 pm
by Scorbie
In a different direction, this might help:
http://radicaleye.com/lifepage/patterns/cat6.html
irrat{2, 5, u}.lif is worth a look

Re: Irrational movement

Posted: December 15th, 2020, 4:19 pm
by MathAndCode
Scorbie wrote:
December 15th, 2020, 12:31 pm
In a different direction, this might help:
http://radicaleye.com/lifepage/patterns/cat6.html
irrat{2, 5, u}.lif is worth a look
They have irrational population growth, but I want to create irrational movement speed.

Re: Irrational movement

Posted: December 16th, 2020, 3:36 am
by Scorbie
MathAndCode wrote:
December 15th, 2020, 4:19 pm
Scorbie wrote:
December 15th, 2020, 12:31 pm
In a different direction, this might help:
http://radicaleye.com/lifepage/patterns/cat6.html
irrat{2, 5, u}.lif is worth a look
They have irrational population growth, but I want to create irrational movement speed.
I meant that the line of boats would be "burning" at an irrational speed.
One may make a similar structure with a stationary gun instead (as in irratu.lif) that shoots block pushers to make an irrational diagonal movement of the block.

Re: Irrational movement

Posted: December 16th, 2020, 12:25 pm
by MathAndCode
Scorbie wrote:
December 16th, 2020, 3:36 am
One may make a similar structure with a stationary gun instead (as in irratu.lif) that shoots block pushers to make an irrational diagonal movement of the block.
I want the irrational movement to be at the leading edge. Has that already been done before?

Re: Irrational movement

Posted: December 16th, 2020, 11:11 pm
by Scorbie
I don't think so...