JavaLifeSearch (JLS)

For scripts to aid with computation or simulation in cellular automata.
User avatar
praosylen
Posts: 2449
Joined: September 13th, 2014, 5:36 pm
Location: Pembina University, Home of the Gliders
Contact:

Re: JavaLifeSearch

Post by praosylen » December 30th, 2017, 5:18 pm

The manual appears to mention the existence of "frozen unchecked" cells, which I should be able to create with X + I, but when I try that on my copy, nothing happens when I press "I". Is the problem with my copy of JLS, the manual, or my own misunderstanding?
former username: A for Awesome
praosylen#5847 (Discord)

The only decision I made was made
of flowers, to jump universes to one of springtime in
a land of former winter, where no invisible walls stood,
or could stand for more than a few hours at most...

wildmyron
Posts: 1568
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: JavaLifeSearch

Post by wildmyron » January 4th, 2018, 4:39 am

In case you hadn't figured it out yet, this seems to be an error in the documentation. 'i' and 'I' clear all unchecked cells in the selection, and 'o' and 'O' set all unset cells to unchecked. The frozen / unfrozen state is retained with 'i' and 'o' as indicated in the manual - you just need the opposite operation. As usual, 'Shift' applies the operation to all generations.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

Sarp
Posts: 221
Joined: March 1st, 2015, 1:28 pm

Re: JavaLifeSearch

Post by Sarp » October 5th, 2018, 5:07 pm

It seems like the web page is broken, are there any alternative links?
WADUFI

User avatar
Apple Bottom
Posts: 1034
Joined: July 27th, 2015, 2:06 pm
Contact:

Re: JavaLifeSearch

Post by Apple Bottom » October 5th, 2018, 5:12 pm

Sarp wrote:It seems like the web page is broken, are there any alternative links?
Here's a ZIP file containing a saved copy of the JAR file for 1.7 and the accompanying manual:
JLS-1.7.zip
JLS 1.7 binary and manual
(623.99 KiB) Downloaded 1549 times
If you speak, your speech must be better than your silence would have been. — Arabian proverb

Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_

Proud member of the Pattern Raiders!

Sokwe
Moderator
Posts: 3367
Joined: July 9th, 2009, 2:44 pm

Re: JavaLifeSearch

Post by Sokwe » October 5th, 2018, 5:30 pm

Apple Bottom wrote:Here's a ZIP file containing a saved copy of the JAR file for 1.7 and the accompanying manual
Thanks. I've updated the original post to link to your post.
-Matthias Merzenich

User avatar
Entity Valkyrie
Posts: 247
Joined: November 30th, 2017, 3:30 am

Re: JavaLifeSearch

Post by Entity Valkyrie » November 8th, 2018, 11:33 pm

How do I use JavaLifeSearch to find a suitable p3 reflector for this?

Code: Select all

x = 29, y = 25, rule = B3/S23
18bobo$19b2o$19bo6$o$3o$3bo$2b2o11b2o11bo$15b2o9b3o$6b3o17bobo$4b2o20b
o$4b2obob2o$4b4o2bo$5bo4bo$6b4o$6b2o2$27b2o$28bo$25b3o$25bo!
EDIT: This is p51.

wildmyron
Posts: 1568
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: JavaLifeSearch

Post by wildmyron » November 9th, 2018, 2:02 am

Entity Valkyrie wrote:How do I use JavaLifeSearch to find a suitable p3 reflector for this?

Code: Select all

x = 29, y = 25, rule = B3/S23
18bobo$19b2o$19bo6$o$3o$3bo$2b2o11b2o11bo$15b2o9b3o$6b3o17bobo$4b2o20b
o$4b2obob2o$4b4o2bo$5bo4bo$6b4o$6b2o2$27b2o$28bo$25b3o$25bo!
EDIT: This is p51.
I'm not sure this problem is at a stage where JLS can be used to find a solution, but it depends very much on what you are trying to reflect, the timing of that reflection and where it needs to go. If I understand what you are trying to do correctly, then you want to use the p3 reflector to shuttle the glider which knocks out the FNG of the eastern herschel allowing the R-> H progression to work. What you need to do first is work out the timing and output lane of the reflector that's required, and then survey all the known p3 reflectors to see if there's anything that matches. If you find something but it doesn't fit, then you can use JLS to find an oscillator which uses the same mechanism and also fits in the space that is available. If there's nothing that matches then it is going to be very hard to find something starting with just JLS.

If you do want to tackle this problem then the way to do it would be to set up JLS with a period of 51 gen, and manually set the as much of the pattern as possible until you have the input and output gliders defined throughout the interaction. In this case you may need to work forwards from Gen 0 and backwards from the last gen to work out where and when the interaction will take place. In the middle you'll need to leave a number of cells unconstrained (which is where the interaction will take place) and then border that region with cells constrained to be p3. To start with there should be a thin border of p3 cells surrounded by a larger area of Unchecked p3 cells. I tackle these problems by starting with as small an area as possible for the interaction and gradually increase that area when no results are found. You'll see that there are errors where signals (including gliders) come into and go out of the conduits. These errors can be resolved with Unset cells in the last generation.

You can save a lot of time in setting up these searches by pasting in a pattern from Golly into JLS, manually setting the unknown areas throughout the evolution and letting it work out the subsequent generations everywhere else. I've attached a JLS file which sets up this kind of search from an adapted version of the pattern on the Gun Discussion thread (with alternate p3 sparker) combined with the pattern here. With the current setup the search finds 0 solutions after about 3 minutes. Note the Sort order used (in particular "Process all cells in a generation first") and the use of "Use combinations of solutions to prune search" in the Search Options. The later option has no effect on this search as it's set up, but as you expand the search it's a very useful option.

I suspect that even if you manage to find a solution to this problem it's going to be very difficult to make it fit with all the other circuitry you require, for example, there's no way it can coexist with the 2G -> H you used in the pattern from the Gun Discussion thread.

Good Luck
Attachments
B3S23-p3_reflector_for_p51_conduit.zip
Sample JLS setup for p3 reflector
(17.92 KiB) Downloaded 661 times
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
Entity Valkyrie
Posts: 247
Joined: November 30th, 2017, 3:30 am

Re: JavaLifeSearch

Post by Entity Valkyrie » November 10th, 2018, 6:27 pm

wildmyron wrote:
Entity Valkyrie wrote:How do I use JavaLifeSearch to find a suitable p3 reflector for this?

Code: Select all

x = 29, y = 25, rule = B3/S23
18bobo$19b2o$19bo6$o$3o$3bo$2b2o11b2o11bo$15b2o9b3o$6b3o17bobo$4b2o20b
o$4b2obob2o$4b4o2bo$5bo4bo$6b4o$6b2o2$27b2o$28bo$25b3o$25bo!
EDIT: This is p51.
I'm not sure this problem is at a stage where JLS can be used to find a solution, but it depends very much on what you are trying to reflect, the timing of that reflection and where it needs to go. If I understand what you are trying to do correctly, then you want to use the p3 reflector to shuttle the glider which knocks out the FNG of the eastern herschel allowing the R-> H progression to work. What you need to do first is work out the timing and output lane of the reflector that's required, and then survey all the known p3 reflectors to see if there's anything that matches. If you find something but it doesn't fit, then you can use JLS to find an oscillator which uses the same mechanism and also fits in the space that is available. If there's nothing that matches then it is going to be very hard to find something starting with just JLS.

If you do want to tackle this problem then the way to do it would be to set up JLS with a period of 51 gen, and manually set the as much of the pattern as possible until you have the input and output gliders defined throughout the interaction. In this case you may need to work forwards from Gen 0 and backwards from the last gen to work out where and when the interaction will take place. In the middle you'll need to leave a number of cells unconstrained (which is where the interaction will take place) and then border that region with cells constrained to be p3. To start with there should be a thin border of p3 cells surrounded by a larger area of Unchecked p3 cells. I tackle these problems by starting with as small an area as possible for the interaction and gradually increase that area when no results are found. You'll see that there are errors where signals (including gliders) come into and go out of the conduits. These errors can be resolved with Unset cells in the last generation.

You can save a lot of time in setting up these searches by pasting in a pattern from Golly into JLS, manually setting the unknown areas throughout the evolution and letting it work out the subsequent generations everywhere else. I've attached a JLS file which sets up this kind of search from an adapted version of the pattern on the Gun Discussion thread (with alternate p3 sparker) combined with the pattern here. With the current setup the search finds 0 solutions after about 3 minutes. Note the Sort order used (in particular "Process all cells in a generation first") and the use of "Use combinations of solutions to prune search" in the Search Options. The later option has no effect on this search as it's set up, but as you expand the search it's a very useful option.

I suspect that even if you manage to find a solution to this problem it's going to be very difficult to make it fit with all the other circuitry you require, for example, there's no way it can coexist with the 2G -> H you used in the pattern from the Gun Discussion thread.

Good Luck
Thanks for the file. I didn't know how to set up JavaLifeSearch until now.

User avatar
77topaz
Posts: 1496
Joined: January 12th, 2018, 9:19 pm

Re: JavaLifeSearch

Post by 77topaz » November 12th, 2018, 2:41 am

Could you please not quote entire page-long posts just to add a single line of response to the bottom?

User avatar
LaundryPizza03
Posts: 2596
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: JavaLifeSearch

Post by LaundryPizza03 » March 2nd, 2020, 1:45 am

JLS's error detection is buggy when finding spaceships. For example, it prevents me from attempting to extend the following c/5o partial because of the top three sparks:

Code: Select all

x = 19, y = 14, rule = B3/S3
9bo2$7bo3bo$3b2o9b2o$5b2ob3ob2o$b2o3bo5bo3b2o$b2o3bo5bo3b2o$2bo3bo5bo
3bo$bo3bo7bo3bo$2b4o7b4o$2o5b5o5b2o$5bobo3bobo$4b2o7b2o$2bob2o2b3o2b2o
bo!
EDIT: Without the spaceship requirement, do you know why I'm getting only solutions where the rows behind the last functional one disappear after 1 period?

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

wildmyron
Posts: 1568
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: JavaLifeSearch

Post by wildmyron » March 4th, 2020, 10:39 pm

LaundryPizza03 wrote:
March 2nd, 2020, 1:45 am
JLS's error detection is buggy when finding spaceships. For example, it prevents me from attempting to extend the following c/5o partial because of the top three sparks:

Code: Select all

x = 19, y = 14, rule = B3/S3
9bo2$7bo3bo$3b2o9b2o$5b2ob3ob2o$b2o3bo5bo3b2o$b2o3bo5bo3b2o$2bo3bo5bo
3bo$bo3bo7bo3bo$2b4o7b4o$2o5b5o5b2o$5bobo3bobo$4b2o7b2o$2bob2o2b3o2b2o
bo!
This partial seems to work fine for me in JLS, but the search doesn't go very far before it's complete. Here are the settings which need to be adjusted from default to run a search (with the partial in the same orientation as shown above):
  • Edit -> Properties -> Edit field:
    • Columns (width) - 21 (or slightly larger odd value)
    • Rows (height) - some number larger than 18 (50 is reasonable, less is OK, more gets awkward but will be necessary for long ships)
    • Generations (depth) - 5
    • Symmetry - Horizontal mirror
  • Edit -> Properties -> Tiling/translation
    • After the last generation is... Generation 0, shifted -1 cells down
  • Edit -> Properties -> Rule
    • B3/S3 (deselect S2)
  • Select the top 14 rows and press 'a' to set cells to Off.
  • Select the centre 19 columns of the top 14 rows and paste the partial pattern (Edit -> Paste or Ctrl-V)
  • In order to run any reasonable search you also need to change the search order - Search -> Options -> Sorting
    • Area - Vertical
    • (Optional) Start at Column 10 (Should be the centre column [(width - 1) / 2] )
  • Search -> Options -> Processing
    • Display search status on screen - every 1 seconds (Personal preference)
This search won't get far - it ends almost immediately at width 23. If you keep just the top 7 rows of the partial you can run a decent search. (Still no results at width 23 though.)

Personally I find searching for vertically traveling spaceships in JLS / WLS awkward - the defaults are more tailored to leftward traveling ships. To set up such a search you just need to adjust the period, the displacement (set "After the last generation is..." to Generation 0, shifted -x cells to the right, where "x" is the desired displacement), and set symmetry to Vertical mirror (if desired). (And optionally change the sorting options to Start at Row r, where r is the centre row.)
EDIT: Without the spaceship requirement, do you know why I'm getting only solutions where the rows behind the last functional one disappear after 1 period?
I don't understand what you mean - you can't run an oscillator search with this partial...
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
LaundryPizza03
Posts: 2596
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: JavaLifeSearch

Post by LaundryPizza03 » May 12th, 2020, 2:03 am

The spaceship search option is still proving unusably buggy for me. I'm trying to find a glide-symmetric 2c/8d in B368/S35678 by attaching a rear end to a wickstretcher. The spaceship is traveling northwest, so the correct option is to have the pattern shifted up 1 cell and left 1 cell, reflected diagonally backward. But then the ten cells highlighted in red and white at the northwest end of the pattern return an error, despite working exactly as intended. Even when specifying simple translation, it still doesn't work.

Code: Select all

x = 14, y = 14, rule = B368/S35678History
14B$3B4D7B$2B5AC6B$BD8A4B$BD8A4B$BD10A2B$BD10A2B$2BC10AE$3B9A2E$3B8A
3E$5B5A4E$6B3A5E$6B2A6E$8B6E!
That said, JLS works fine for searches that don't involve unknown moving patterns, though I'd still like to build a GUI for custom LLS searches because it's faster and more diverse.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

wildmyron
Posts: 1568
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: JavaLifeSearch

Post by wildmyron » May 12th, 2020, 9:15 am

LaundryPizza03 wrote:
May 12th, 2020, 2:03 am
The spaceship search option is still proving unusably buggy for me. I'm trying to find a glide-symmetric 2c/8d in B368/S35678 by attaching a rear end to a wickstretcher. The spaceship is traveling northwest, so the correct option is to have the pattern shifted up 1 cell and left 1 cell, reflected diagonally backward. But then the ten cells highlighted in red and white at the northwest end of the pattern return an error, despite working exactly as intended. Even when specifying simple translation, it still doesn't work.

Code: Select all

x = 14, y = 14, rule = B368/S35678History
14B$3B4D7B$2B5AC6B$BD8A4B$BD8A4B$BD10A2B$BD10A2B$2BC10AE$3B9A2E$3B8A
3E$5B5A4E$6B3A5E$6B2A6E$8B6E!
That said, JLS works fine for searches that don't involve unknown moving patterns, though I'd still like to build a GUI for custom LLS searches because it's faster and more diverse.
Unfortunately JLS doesn't fully support diagonal glide reflect spaceships. There was a brief mention of this issue at the end of page 1 of this thread. I'm not sure about the partial you are trying to extend (because you haven't shown it here) but as you note glide reflect with (-1,-1) does work in this rule. The glider in CGoL is glide reflect with (-1,0) and that doesn't work in JLS. Similarly, 2c/8d spaceships could be glide-reflect with (-2,0), and that doesn't work in JLS. It could be that your partial requires (-2,0) rather than (-1,-1).
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

Timelord Missionary
Posts: 219
Joined: May 8th, 2022, 8:20 pm

Re: JavaLifeSearch

Post by Timelord Missionary » December 12th, 2024, 11:39 pm

What if I accidentally post four generations (gen 0, gen 1, gen 2, and gen 3) into a JLS search for an oscillator that I know can only be p3? Will it autocorrect somehow? I did not post any live cells on Gen 3
Helloshe, I like pentadecathlons and small-period motifs.
I may not be very skilled in search programs, but I have many ideas.
Soli Deo Gloria!

Sokwe
Moderator
Posts: 3367
Joined: July 9th, 2009, 2:44 pm

Re: JavaLifeSearch

Post by Sokwe » December 13th, 2024, 12:07 am

Timelord Missionary wrote:
December 12th, 2024, 11:39 pm
What if I accidentally post four generations (gen 0, gen 1, gen 2, and gen 3) into a JLS search for an oscillator that I know can only be p3? Will it autocorrect somehow? I did not post any live cells on Gen 3
JLS defaults to period 4, and you can't really run a period-3 search at period-4. To change the period, go to Edit->Properties, and change the number in the "Generations (depth)" box to 3. This will eliminate gen 3.

Also, I moved your post to the JLS discussion thread.
-Matthias Merzenich

Timelord Missionary
Posts: 219
Joined: May 8th, 2022, 8:20 pm

Re: JavaLifeSearch (JLS)

Post by Timelord Missionary » December 16th, 2024, 1:17 pm

OK, how do I keep my MacBook running for a long time so it can let JLS run? Am I doing this wrong, possibly by not highlighting anything, and that's why it is taking longer than I thought it would? It has currently run through ~210 billion scenarios, with no results so far.
Last edited by Timelord Missionary on December 16th, 2024, 5:07 pm, edited 1 time in total.
Helloshe, I like pentadecathlons and small-period motifs.
I may not be very skilled in search programs, but I have many ideas.
Soli Deo Gloria!

User avatar
LaundryPizza03
Posts: 2596
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: JavaLifeSearch (JLS)

Post by LaundryPizza03 » December 16th, 2024, 3:57 pm

Timelord Missionary wrote:
December 16th, 2024, 1:17 pm
OK, how do I keep my MacBook running for a long time so it can let JLS run? Am I doing this wrong and that's why it is taking longer than I thought it would? It has currently run through ~210 billion scenarios.
This is just a hardware question. Keep it on the charger, don't put it into sleep mode, and try not to run too many processes at the same time. I'd use my own MacBook which is newer and faster than the desktop I'm using, but I have reserved it for Ph.D.-oriented work.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

Sokwe
Moderator
Posts: 3367
Joined: July 9th, 2009, 2:44 pm

Re: JavaLifeSearch (JLS)

Post by Sokwe » December 19th, 2024, 1:27 am

Timelord Missionary wrote:
December 16th, 2024, 1:17 pm
Am I doing this wrong, possibly by not highlighting anything, and that's why it is taking longer than I thought it would? It has currently run through ~210 billion scenarios, with no results so far.
I would need to see what you're trying to accomplish. Can you save the state of the search as a .txt file and attach it to a post here on the forums?

You will almost always want to bound your rotor cells on either side with two rows of stator cells (hover over them and press '1'), followed by several rows of 'X' cells, like this:

Code: Select all

XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
11111111111111
11111111111111
??????????????
??????????????
??????????????
??????????????
11111111111111
11111111111111
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
-Matthias Merzenich

Timelord Missionary
Posts: 219
Joined: May 8th, 2022, 8:20 pm

Re: JavaLifeSearch (JLS)

Post by Timelord Missionary » December 19th, 2024, 4:44 pm

This is what I was searching for, sans the obligatory pre-spark:

Code: Select all

x = 16, y = 15, rule = B3/S23
 2$14b2o$13b3o$7bo5b2o$7bo5b2o$5bo4bo2b3o$5bo3b2o3bo$6bobo2bo2bo$9b2o!
I think I would have had better chances if I had read the instruction manual.
Helloshe, I like pentadecathlons and small-period motifs.
I may not be very skilled in search programs, but I have many ideas.
Soli Deo Gloria!

Sokwe
Moderator
Posts: 3367
Joined: July 9th, 2009, 2:44 pm

Re: JavaLifeSearch (JLS)

Post by Sokwe » December 19th, 2024, 6:56 pm

Timelord Missionary wrote:
December 19th, 2024, 4:44 pm
This is what I was searching for, sans the obligatory pre-spark:

Code: Select all

x = 16, y = 15, rule = B3/S23
 2$14b2o$13b3o$7bo5b2o$7bo5b2o$5bo4bo2b3o$5bo3b2o3bo$6bobo2bo2bo$9b2o!
I think I would have had better chances if I had read the instruction manual.
Here are some general guidelines for searching with JLS:
  • Learn the hotkeys by selecting "Help->Controls Reference". For some reason this opens at the bottom of the reference sheet, so you will have to scroll up to see the rest. Read JLS_manual.pdf to get a detailed explanation of the various options.
  • You can set a cell to the same state in all generations by holding the shift key while setting the state. This is especially useful for setting the 'X' cells on the side of the search area, or for clearing an area with the 'C' key.
  • Use subperiodic cells (especially p1 cells) and 'X' cells. As I described above, it's generally best to set up a search with a narrow strip of rotor cells bounded by a 2-cell-thick strip of stator cells, followed by 'X' cells. A group of cells can be set to subperiodic by selecting them and pressing '1', '2', '3', '4', '5', or '6', with the subperiods defined in the Edit->Properties menu. So you can set stator cells by selecting the cells and pressing the '1' key. The 'X' cells are those that won't be set during the search unless they are forced. You can set 'X' cells by selecting them and pressing the 'X' key. 'X' cells can also be set to be subperiodic.
  • Put unset cells (with the 'U' key) at the end of your rotor strip and start with a small rotor width. If a search along a strip ending in unchecked cells finds nothing, then you know that there is nothing to find, so you can increase the width of the rotor and search again. If the search reaches the unchecked cells, then you probably have a nice long partial result.
  • Pause ("Search->Pause") and save ("File->Save...") the search state when you see an interesting looking partial. Then you can start another instance of JLS, open the saved file, and select "Search->Accept displayed state" to start playing around with the interesting partial. Note that JLS does not add the ".jdf" file extension automatically, so if you save a JLS file without the extension, you will have to select "Files of Type: All Files" when opening the file.
  • Make sure the direction of the search matches the direction of your rotor strip. You can change the direction of the search by selecting "Search->Options" and going to the "Sorting" tab.
  • Before pasting a partial result into an empty JLS grid, first select all cells in gen. 0 and set them to dead (right click or press 'A'). This is because pasting a pattern into JLS only pastes the live cells. Now the cell preprocessor will fill in the rest of the generations with the evolved state. You can then select "Search->Accept displayed state". There will of course be errors at the edge of your partial result, so you will need to clear some cells there (select them and use Shift+'C').
  • Split the search into multiple parts, if possible. The above potential p3 consists of sparks on either side, but you will only want to search one side at a time. You can use 'X' cells on the side you don't want to search to prevent cell errors.
-Matthias Merzenich

User avatar
hotcrystal0
Posts: 4335
Joined: July 3rd, 2020, 5:32 pm
Location: wherever you think I am

Re: JavaLifeSearch (JLS)

Post by hotcrystal0 » December 20th, 2024, 6:54 pm

Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS: https://www.mediafire.com/file/mk052nqt ... l.pdf/file
wherever I go on the internet I bring with myself nothing but problems.

Code: Select all

x = 192, y = 53, rule = B3/S23
33$42b4o$41b6o$40b2ob4o$41b2o3$41b2o$39bo6bo$38bo8bo$38bo8bo$38b9o3$42b
4o$41b6o$40b2ob4o$41b2o!

User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: JavaLifeSearch (JLS)

Post by confocaloid » December 20th, 2024, 8:11 pm

If someone doesn't have access to JLS posted as an attachment in this forum thread, then they probably will not have access to your post, and the external link is more likely to break than an attachment.
hotcrystal0 wrote:
December 20th, 2024, 6:54 pm
Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS: [...]
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

User avatar
hotcrystal0
Posts: 4335
Joined: July 3rd, 2020, 5:32 pm
Location: wherever you think I am

Re: JavaLifeSearch (JLS)

Post by hotcrystal0 » December 20th, 2024, 8:58 pm

confocaloid wrote:
December 20th, 2024, 8:11 pm
If someone doesn't have access to JLS posted as an attachment in this forum thread, then they probably will not have access to your post, and the external link is more likely to break than an attachment.
hotcrystal0 wrote:
December 20th, 2024, 6:54 pm
Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS: [...]
Unfortunately, when I try to attach it, it says invalid file format. Here’s a direct link to the PDF: https://download1501.mediafire.com/0mno ... manual.pdf
wherever I go on the internet I bring with myself nothing but problems.

Code: Select all

x = 192, y = 53, rule = B3/S23
33$42b4o$41b6o$40b2ob4o$41b2o3$41b2o$39bo6bo$38bo8bo$38bo8bo$38b9o3$42b
4o$41b6o$40b2ob4o$41b2o!

User avatar
confocaloid
Posts: 6697
Joined: February 8th, 2022, 3:15 pm
Location: learn to protect yourself against stray gliders and sparks and self-destruct mechanisms

Re: JavaLifeSearch (JLS)

Post by confocaloid » December 20th, 2024, 9:04 pm

It's already posted here in this thread as an attachment. viewtopic.php?p=64413#p64413
hotcrystal0 wrote:
December 20th, 2024, 8:58 pm
confocaloid wrote:
December 20th, 2024, 8:11 pm
If someone doesn't have access to JLS posted as an attachment in this forum thread, then they probably will not have access to your post, and the external link is more likely to break than an attachment.
hotcrystal0 wrote:
December 20th, 2024, 6:54 pm
Here's the JLS manual in case anyone needs to look at it but they don't have access to JLS: [...]
Unfortunately, when I try to attach it, it says invalid file format. [...]
127:1 B3/S234c User:Confocal/R (isotropic CA, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

Sokwe
Moderator
Posts: 3367
Joined: July 9th, 2009, 2:44 pm

Re: JavaLifeSearch (JLS)

Post by Sokwe » February 4th, 2025, 11:59 pm

Tawal wrote:
February 4th, 2025, 1:10 pm
Is there a way to weld the green catalyst from Snark64 and the white Eater2 ?
Of course keeping each functionality.

Code: Select all

x = 17, y = 12, rule = LifeHistory
17B$4B.7B2.3B$4B2.5B4.B$4B3.3BA2B$3B6.ABA4B$2.2C.C4.A.A.2A$2.2C.3CA.A
.ABABA$8.2A.A4.A$2.2C.3C3.A.3A$3.C.C5.A.A$3.C.C6.A$4.C!
Here is how I would look for such a weld with JLS.
  1. If you don't have a specific reaction in mind, create separate patterns that induce the basic catalyses:

    Code: Select all

    x = 34, y = 17, rule = B3/S23
    24b3o$23bo3bo$22bo5bo$bo20bo5bo$2bo19bo5bo$3o20bo3bo$24b3o2$27bo$26bob
    o$6b2obo17bobob2o$6b2ob3o13bobobobobo$12bo12b2obo4bo$6b2ob3o16bob3o$7b
    obo18bobo$7bobo19bo$8bo!
    Notice that I placed the glider so that the eater 2 reaction starts after the chucklebait reaction is finished. This is to prevent a solution from unintentionally relying on the mutual timing of the two reactions, although in this case the reactions are far enough apart that it wouldn't matter. Notice further that both catalyses are finished by generation 18, so we will eventually set the depth of our JLS search to 18+1=19 generations.
  2. Overlap these patterns in the desired positions:

    Code: Select all

    x = 21, y = 17, rule = B3/S23
    11b3o$10bo3bo$9bo5bo$bo7bo5bo$2bo6bo5bo$3o7bo3bo$11b3o2$14bo$13bobo$6b
    2obo4bobob2o$6b2ob4obobobobo$12b2obo4bo$6b2ob3o3bob3o$7bobo5bobo$7bobo
    6bo$8bo!
    If the stator cells from one catalyst go too close to the rotor cells of the other, you may need to trim the stator cells away before overlapping them. In this case it wasn't necessary.
  3. Open an instance of JLS, select "Edit->Properties...", set the width, height, and depth to be large enough to contain the entire desired reaction (in this case I chose 35x35 and a depth of 19 generations). Then click on the "Tiling/translation" tab and for "After the last generation is..." select "Unknown". Finally, click "OK".
  4. In JLS, make sure you are in generation 0 (see bottom left corner of window). Select the entire grid using CTRL+A, and then set all of the cells in generation 0 to OFF by pressing 'A'.
  5. In your Life editor program (e.g., Golly or LifeViewer) select the pattern constructed in step 2 with enough room around the edges to capture the entire reaction through all generations. In this case, I chose the following box:

    Code: Select all

    x = 30, y = 30, rule = B3/S23
    8$16b3o$15bo3bo$14bo5bo$6bo7bo5bo$7bo6bo5bo$5b3o7bo3bo$16b3o2$19bo$18b
    obo$11b2obo4bobob2o$11b2ob4obobobobo$17b2obo4bo$11b2ob3o3bob3o$12bobo
    5bobo$12bobo6bo$13bo!
    [[ ZOOM 8 ]]
    [[ POLYALPHA 0.25 ]]
    [[ POLYFILL -0.5 -0.5 30.5 -0.5 30.5 30.5 -0.5 30.5 -0.5 -0.5 8 ]]
    Copy the pattern with CTRL+C, then go to JLS, make sure you are in generation 0, and paste the pattern with CTRL+V. JLS will then evolve the pattern through all generations, and these generations can be scrolled through using your mouse scroll wheel or the scroll bar in the bottom left corner of the window. Notice that what should be the stator cells of our catalysts fall apart due to the unresolved stator overlap. We will need to fix this.
  6. Go to generation 0 and take note of all cells that should be stator cells. Then go to generation 1 and make note of which of these cells have their state changed. In each case where the state of a desired stator cell changed from gen. 0 to gen. 1, hold the SHIFT key and right or left click (right for ON, left for OFF) to change the state in gen. 1 to match the state in gen. 0. Holding SHIFT will set the cell to that state in all generations. Note that some of these cells and their neighbors will be highlighted in red, but that doesn't matter at this stage.
  7. After applying step 6 for each desired stator cell that had changed, you should now see that all of the stator cells are no longer highlighted, meaning that they are now the same state in all generations. Once this occurs, select "Search->Accept displayed state".
  8. Select a box containing only stator cells (both ON and OFF), and press the '1' key. This sets those cells to have period 1 (they will be highlighted in yellow). Keep doing this until you have highlighted the entire stator in yellow. Additionally, extend the area of period 1 cells around the original catalyst stators to allow for a weld with a bigger bounding box.
  9. After setting all stator cells to period 1, select the yellow-highlighted cells again, and clear them by pressing the 'C' key. Note that because they are set to period 1, this will clear them in all generations. If they were set to some other period, you would need to press SHIFT+C to clear them in all generations.
  10. After clearing all stator cells, you can try searching for a weld by selecting "Search->Start". If you get no solutions or you get an error warning, expand the stator area of the search and try searching again.
  11. If you get no solutions or an error warning in step 10, it might be the case that welds exist. To prove this, select the off cells that border the stator area and are not part of the catalysis reaction, and press SHIFT+U to make them "unset" cells. This means that the Life rules will never be checked in those cells, and they will never be set during the search. I tend to use a two-cell thick layer of unset cells, but presumably a 1-cell thick layer is sufficient. Now run the search again by selecting "Search->Start". If there are still errors or you get no solutions, then the weld is impossible.
Unfortunately, a weld is impossible in the case above. I have attached a zip archive containing a JLS save file (JLS-weld-example.jdf) that shows what the setup should look like after step 11:
JLS-weld-example.zip
(4.06 KiB) Downloaded 103 times
-Matthias Merzenich

Post Reply