Tutorials/rlifesrc: Difference between revisions

From LifeWiki
Jump to navigation Jump to search
m →Reducing: What if it's a SL in a rule with no known SLs?
Trying to make the page less jokey and more like other tutorial pages
Line 1: Line 1:
{{stub}}
RLifeSrc is the only official cross-platform search program. But how do you use it?
RLifeSrc is the only official cross-platform search program. But how do you use it?


== Going to the website ==
== What is RLifeSrc ==
The website is at https://alephalpha.github.io/rlifesrc/.
RLifeSrc stand for Rust Life Search. You can use it at https://alephalpha.github.io/rlifesrc/.
 
Unlike [[apgsearch]], RLifeSrc doesn't follow traditional soup-searching. Instead, it goes through every pattern ever in a certain box until it finds the right one.{{citation needed}}
 
RLifeSrc can search a wide variety of stuff, including [[still lives]], [[oscillators]], and [[spaceships]].


== Setting up your search ==
== Setting up your search ==
You will want to go to settings and change "Rule" to your desired rule.
Go to settings and change "Rule" to your desired rule.


What you need to know about RLifeSrc is that it doesn't follow traditional soup-searching. Instead, it goes through every pattern ever in a certain box until it finds the right one.
Change the width and height to the width and height of the pattern you want to search. Then, type in the period of the object. When you are searching for spaceships with a speed like 2c/4, don't type in 2 as the period because c/2 is the simplified form. Type in 4.


Anyway, once you've done that, change the width and height to your desired width and height. Then, type in the period of the object. When you are searching for spaceships using this (which we will get into in a moment), if you are searching for 2c/4, don't type in 2 as the period because c/2 is the simplified form. Type in 4.
Dx and dy are how far away the object moves in x and y at the end of one cycle.


Dx and dy are just how far away you want the object to be at the end of its period.
Other options can be ignored for now. Scroll all the way down until you get to choice for unknown cells. You can set that to any of the options, but dead is best for searching spaceships, alive for still lifes, and randomized for oscillators.


Scroll all the way down until you get to choice for unknown cells. You can set that to any of the options, but dead is best for searching spaceships, alive for still lifes, and randomized for oscillators.
Hit "apply settings", then hit start. Watch how the search pattern changes over time. You can toggle "Show max partial" to view the current best approximation.


Hit "apply settings".
Now let's go search for specific patterns.


Now let's go search for something.
== Searching for specific patterns ==
 
== Searching for... ==


=== [[Block]] ===
=== [[Block]] ===
Line 27: Line 30:


=== [[Glider]] ===
=== [[Glider]] ===
The highest value in dx or dy should be how much you increase the height and width by. Instead of searching 3x3, we should search 5x5 because RLifeSrc does a stupid thing when you use dx and dy. Set period to 4 and set d
The value in dx or dy should be how much the glider increase the height and width by in one cycle. Instead of searching 3x3, you should search 5x5 because RLifeSrc is kinda buggy when you use dx and dy. Set period to 4.
   
   
Now press "apply settings" and press start.
Now press "apply settings" and press start.


It should have found the glider in an instant.
It should have found the glider in an instant.
Line 37: Line 39:
Set dx and dy back to 0, change it to 6x6, press "apply settings", and press start.
Set dx and dy back to 0, change it to 6x6, press "apply settings", and press start.


You should see mold, which looks like a [[loaf]] with [[soup|stuff]] on it.
You should see [[mold]], which looks like a [[loaf]] with oscillating stuff on it.


=== Something that doesn't exist ===
=== Negative result ===
Set the period to 5 and set it to 3x3. Then press "apply settings" and then start.
Set the period to 5 and set it to 3x3. Then press "apply settings" and then start.


It should say "No more result".
It should say "No more result" after a few seconds.


=== Something in a different rule ===
=== Something in a different rule ===
Line 51: Line 53:
When you hit start, you immediately see a [[blinker]] that isn't moving. It is a still life.
When you hit start, you immediately see a [[blinker]] that isn't moving. It is a still life.


Try period 2.
Now search period 2 and 10x10.
 
No more result? You should try 10x10.
 
And you see what is that?
 
You should click it once to select and paste it into your [[lifeviewer|fav]][[golly|ori]][https://en.wikipedia.org/wiki/brain|te] [[RLE]]-parsing program.
 
It's just an [[on-off]] that looks way too big.
 
== Reducing ==
An obvious case like this would mean reducing and removing some of the lines.


Then, you found yourself a small p2 in Just Friends in RLifeSrc and you can go post it on the forums!
It gives an [[on-off]] that looks way too big.


Ok, don't actually post this one on the forums. Post something that's not known after you do a '''''very thorough''''' search on the forums.
=== Optimizations ===
The result above is a good chance to practice optimizations. Those are important because RLifeSrc often doesn't give you the minimal pattern. Try to remove or reduce as many lines of the P2 as you can.  


== Now do it on your own ==
== Now do it on your own ==
See what you can find! Post it to the forums. Actually do it this time. Just don't [https://en.wikipedia.org/wiki/internet_spam|spam] your way into a ban!
Congratulations, you have learned RLifeSrc! You can now search for patterns yourself and try the other settings, and maybe post on the forums something entirely new and notable you find!

Revision as of 13:28, 4 June 2024

This article is a stub. You can help LifeWiki by expanding it.

RLifeSrc is the only official cross-platform search program. But how do you use it?

What is RLifeSrc

RLifeSrc stand for Rust Life Search. You can use it at https://alephalpha.github.io/rlifesrc/.

Unlike apgsearch, RLifeSrc doesn't follow traditional soup-searching. Instead, it goes through every pattern ever in a certain box until it finds the right one.[citation needed]

RLifeSrc can search a wide variety of stuff, including still lives, oscillators, and spaceships.

Go to settings and change "Rule" to your desired rule.

Change the width and height to the width and height of the pattern you want to search. Then, type in the period of the object. When you are searching for spaceships with a speed like 2c/4, don't type in 2 as the period because c/2 is the simplified form. Type in 4.

Dx and dy are how far away the object moves in x and y at the end of one cycle.

Other options can be ignored for now. Scroll all the way down until you get to choice for unknown cells. You can set that to any of the options, but dead is best for searching spaceships, alive for still lifes, and randomized for oscillators.

Hit "apply settings", then hit start. Watch how the search pattern changes over time. You can toggle "Show max partial" to view the current best approximation.

Now let's go search for specific patterns.

Searching for specific patterns

Set the width and height to 2, and set the period to 1. Set the rule to B3/S23 and then press "apply settings".

Press start, and it should have found the block in an instant.

The value in dx or dy should be how much the glider increase the height and width by in one cycle. Instead of searching 3x3, you should search 5x5 because RLifeSrc is kinda buggy when you use dx and dy. Set period to 4.

Now press "apply settings" and press start.

It should have found the glider in an instant.

Set dx and dy back to 0, change it to 6x6, press "apply settings", and press start.

You should see mold, which looks like a loaf with oscillating stuff on it.

Negative result

Set the period to 5 and set it to 3x3. Then press "apply settings" and then start.

It should say "No more result" after a few seconds.

Something in a different rule

Lets pick B2-a/S12.

Set it to period 1, the rule to B2-a/S12, and press "apply settings".

When you hit start, you immediately see a blinker that isn't moving. It is a still life.

Now search period 2 and 10x10.

It gives an on-off that looks way too big.

Optimizations

The result above is a good chance to practice optimizations. Those are important because RLifeSrc often doesn't give you the minimal pattern. Try to remove or reduce as many lines of the P2 as you can.

Now do it on your own

Congratulations, you have learned RLifeSrc! You can now search for patterns yourself and try the other settings, and maybe post on the forums something entirely new and notable you find!