What I usually implement in such cases: Checking the minimality of the bounding box (all four "edges" contain at least one alive cell), and then finding the minimum of the sorted transitions and filtering upon if it is the as the pattern to be checked.dvgrn wrote:...
With all that extra flipping/rotating/sorting work, it might not save much time in the end, but you wouldn't end up with identical census results in lots of groups of two or four or eight.
Hacking apgsearch
Re: Hacking apgsearch
- LaundryPizza03
- Posts: 2327
- Joined: December 15th, 2017, 12:05 am
- Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"
Re: Hacking apgsearch
The script crashed when running the rule B2ae3ir4it6i/S2n3e. It reports that it is not valid in any algorithm.
Code: Select all
x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
- Apple Bottom
- Posts: 1034
- Joined: July 27th, 2015, 2:06 pm
- Contact:
Re: Hacking apgsearch
Works For Me(tm). Are you sure you didn't have a typo in your rulestring, an extra character, something like that?LaundryPizza03 wrote:The script crashed when running the rule B2ae3ir4it6i/S2n3e. It reports that it is not valid in any algorithm.
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!
Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_
Proud member of the Pattern Raiders!
- LaundryPizza03
- Posts: 2327
- Joined: December 15th, 2017, 12:05 am
- Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"
Re: Hacking apgsearch
Yes. I tried again today and it still doesn't work. Also, Golly parses the rulestring without correction. The bug seems to affect just this rule.Apple Bottom wrote:Works For Me(tm). Are you sure you didn't have a typo in your rulestring, an extra character, something like that?LaundryPizza03 wrote:The script crashed when running the rule B2ae3ir4it6i/S2n3e. It reports that it is not valid in any algorithm.
Code: Select all
x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
- Apple Bottom
- Posts: 1034
- Joined: July 27th, 2015, 2:06 pm
- Contact:
Re: Hacking apgsearch
Hmm. Which apgsearch version?LaundryPizza03 wrote:Yes. I tried again today and it still doesn't work. Also, Golly parses the rulestring without correction. The bug seems to affect just this rule.
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!
Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_
Proud member of the Pattern Raiders!
Re: Hacking apgsearch
What exactly does the "magic soup" describe in apgsearch? I'm terrible at reading ASM, so i'm a little stuck. (I'm trying to improve the Cellular Automata simulation in The Powder Toy, which currently only supports B/S and B/S/G format rules, and want to add non totalistic rule support, so i'm investigating how APGSearch does it. Besides, the code needs a redo anyways, it's slow )
- Apple Bottom
- Posts: 1034
- Joined: July 27th, 2015, 2:06 pm
- Contact:
Re: Hacking apgsearch
The "magic sauce"? Calcyman mentioned that this is "[a] lookup table for a SIMD-based isotropic algorithm; currently unused in favour of a pure lookup table approach".moony wrote:What exactly does the "magic soup" describe in apgsearch? I'm terrible at reading ASM, so i'm a little stuck. (I'm trying to improve the Cellular Automata simulation in The Powder Toy, which currently only supports B/S and B/S/G format rules, and want to add non totalistic rule support, so i'm investigating how APGSearch does it. Besides, the code needs a redo anyways, it's slow )
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!
Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_
Proud member of the Pattern Raiders!
Re: Hacking apgsearch
I just nested the C1 thing in itself, and multiplied by 16. That way, it places the cells 16 times x, y, for each cell in the original soup...Apple Bottom wrote:This is a question for wwei23, primarily -- you've searched the "25p" pseudo-symmetry earlier this summer, which I understand is based on taking the Kronecker product of a C1 soup with itself:
Can you share the code you used for this, either the entire modified apgsearch script or the hashsoup() routine it uses? Thanks.wwei23 wrote: Basically, take a 16x16 soup, and replace each cell with a 16x16 block of cells. Then replace each 16x16 block of cells with the original soup. It was the only way I could get 25p to work.
Re: Hacking apgsearch
Did you not read Apple Bottom's question? He asked for the code you used to do that, not a vague description in words.wwei23 wrote:I just nested the C1 thing in itself, and multiplied by 16. That way, it places the cells 16 times x, y, for each cell in the original soup...
Re: Hacking apgsearch
I’m 1200 miles away from my computer, and can’t type out the actual CODE until Wednesday.77topaz wrote:Did you not read Apple Bottom's question? He asked for the code you used to do that, not a vague description in words.wwei23 wrote:I just nested the C1 thing in itself, and multiplied by 16. That way, it places the cells 16 times x, y, for each cell in the original soup...
EDIT:
I have left the code on Apple Bottom's talk page. I find apgsearch the easiest one to modify for special symmetries.
- LaundryPizza03
- Posts: 2327
- Joined: December 15th, 2017, 12:05 am
- Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"
Re: Hacking apgsearch
The hacked apg 1.x incorrectly labeled this xq2 as a "glider" because the canonical form matches that for the glider (153). Not a biggie, since Catagolue does not make this mistake.
Code: Select all
x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
Re: Hacking apgsearch
Actually, Catagolue did put the xq2_153 from your haul under xq4. But apgsearch v4.24-ll1.23 is able to tag the spaceship correctly.
Re: Hacking apgsearch
Will apgsearch work without APG_ExpungeGliders/ExpungeObjects/IdentifyGliders? I have to make rulearrays. The 7-state ones can be made pretty well. The 17-state ones cannot.
Re: Hacking apgsearch
Apgsearch v1 depends on those rules to census the ash efficiently after running the soup. It would need some modification to run without them, and it will run much slower for CGoL and similar rules.wwei23 wrote:Will apgsearch work without APG_ExpungeGliders/ExpungeObjects/IdentifyGliders? I have to make rulearrays. The 7-state ones can be made pretty well. The 17-state ones cannot.
But if you are going to run it with something other than Golly, it will need major modification.
What are rulearrays and what will you be using to simulate the CA?
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.
Semi-active here - recovering from a severe case of LWTDS.
Re: Hacking apgsearch
A rulearray is the way I use MAP rules. Can be used for more than 2 states. Why would apgsearch have to be modified to work without the aforementioned rules?
Re: Hacking apgsearch
Because it uses them. If they're not there it will create them again.wwei23 wrote:Why would apgsearch have to be modified to work without the aforementioned rules?
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.
Semi-active here - recovering from a severe case of LWTDS.
Re: Hacking apgsearch
Will it work if it is modified not to create them and if they are not there?
Re: Hacking apgsearch
I really don't understand why you feel the need to ask this question.wwei23 wrote:Will it work if it is modified not to create them and if they are not there?
The script uses those rules.
If they don't exist it will create them.
If they can't be created (or you modify the script to not create them) ...
Actually - you should do some homework and find out for yourself what happens:
Run the script once to make sure all rule files have been created (if you haven't already).
Find this line in the script
Code: Select all
soup.rg.saveAllRules()
Save the modified script.
Delete one of the rule files you mentioned from your Rules folder.
Run the script again and see what happens.
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.
Semi-active here - recovering from a severe case of LWTDS.
- Majestas32
- Posts: 549
- Joined: November 20th, 2017, 12:22 pm
- Location: 'Merica
Re: Hacking apgsearch
I still don't know what rulearrays are. They're different from the rule cell arrays from majestic Simulator i assume
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i
Currently looking for help searching these rules.
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i
Currently looking for help searching these rules.
Re: Hacking apgsearch
Consider this neighborhood:Majestas32 wrote:I still don't know what rulearrays are. They're different from the rule cell arrays from majestic Simulator i assume
Code: Select all
001
000
101
Since Turro is a 2-state rule, we convert the above from base 2 to base 10. We get 71. The 71th index of the Turro rulearray is 1, so the neighborhood goes to 1.
- Majestas32
- Posts: 549
- Joined: November 20th, 2017, 12:22 pm
- Location: 'Merica
Re: Hacking apgsearch
Rule cell arrays are better tho.
Searching:
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i
Currently looking for help searching these rules.
b2-a5k6n7cs12-i3ij4k5j8
b2-a3c7cs12-i
Currently looking for help searching these rules.
Re: Hacking apgsearch
If you're going to write one line per post you should PM eachother as it tends to clog up the thread. Also, this is pretty off topic as it is anyway, so move it elsewhere.
Re: Hacking apgsearch
So, what you mean by "rulearray" is actually just a MAP string?wwei23 wrote:Consider this neighborhood:We write this out in reading order: 001000101Code: Select all
001 000 101
Since Turro is a 2-state rule, we convert the above from base 2 to base 10. We get 71. The 71th index of the Turro rulearray is 1, so the neighborhood goes to 1.
Re: Hacking apgsearch
I guess: I’m not sure.77topaz wrote:So, what you mean by "rulearray" is actually just a MAP string?wwei23 wrote:Consider this neighborhood:We write this out in reading order: 001000101Code: Select all
001 000 101
Since Turro is a 2-state rule, we convert the above from base 2 to base 10. We get 71. The 71th index of the Turro rulearray is 1, so the neighborhood goes to 1.