apgsearch v3.1

For general discussion about Conway's Game of Life.
User avatar
Apple Bottom
Posts: 1027
Joined: July 27th, 2015, 2:06 pm
Contact:

Re: apgsearch v3.1

Post by Apple Bottom » June 22nd, 2016, 4:11 pm

muzik wrote:(honestly why do we have so many words for numbers? we don't call chemical compounds with four oxygen atoms a quadoxide, but a tetroxide, yet we still have quadrillion as opposed to tetrillion...)
Latin vs. Greek.
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!

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » June 22nd, 2016, 4:40 pm

ah.

If a quadratically growing pattern was to emerge from soup, would it be placed under a quadratic growth category just like the linear growth ones? Or would they all just go to zz_QUADRATIC?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

User avatar
gmc_nxtman
Posts: 1148
Joined: May 26th, 2015, 7:20 pm

Re: apgsearch v3.1

Post by gmc_nxtman » June 22nd, 2016, 4:55 pm

I believe it would fall under a zz_explosive category.

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » June 26th, 2016, 3:38 pm

Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

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

Re: apgsearch v3.1

Post by Apple Bottom » June 26th, 2016, 4:44 pm

muzik wrote:'Scuse me? What is this?

https://catagolue.appspot.com/object/xq ... e/b3s03478
Looks like two ships that were not properly separated -- a pseudo-flotilla, if you will.
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!

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » June 26th, 2016, 4:59 pm

Yup.

And to think this only affected the non-totalistic rules...
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

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

Re: apgsearch v3.1

Post by Apple Bottom » June 26th, 2016, 5:38 pm

muzik wrote:Yup.

And to think this only affected the non-totalistic rules...
It affects all rules, even Conway Life. See e.g. xq4_6rucy1cur6zwgggxgggzwfg0h0h0gf.
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!

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » June 26th, 2016, 5:41 pm

OH GOD DO NOT REMIND ME OF THAT UNHOLY THING
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

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

Re: apgsearch v3.1

Post by Apple Bottom » June 30th, 2016, 12:38 pm

Over in a different thread, drc said:
drc wrote:Can anybody have apgmera print every new object that appears:

New object: xp2_7
New object: xs4_33
New object: xq4_153
.
.
.
10000 soups completed (99999999 per second)
I thought this was a good idea, so here's a patch.

Code: Select all

diff -Nru apgmera-cffe/main.cpp newobjects-cffe/main.cpp
--- apgmera-cffe/main.cpp       2016-06-30 18:32:21.542207300 +0200
+++ newobjects-cffe/main.cpp    2016-06-30 18:32:09.227785300 +0200
@@ -26,6 +26,8 @@

 #define APG_VERSION "v3.28"

+bool newObjects = false;
+
 /*
  * Produce a new seed based on the original seed, current time and PID:
  */
@@ -1315,6 +1317,19 @@
             }
         }

+        if(newObjects) {
+            if(nBlocks && !census["xs4_33"])
+                std::cout << "New object: \033[1;37mxs4_33\033[0m" << std::endl;
+            if(nBlinkers && !census["xp2_7"])
+                std::cout << "New object: \033[1;37mxp2_7\033[0m" << std::endl;
+            if(nBeehives && !census["xs6_696"])
+                std::cout << "New object: \033[1;37mxs6_696\033[0m" << std::endl;
+            if(nGliders && !census["xq4_153"])
+                std::cout << "New object: \033[1;37mxq4_153\033[0m" << std::endl;
+            if(nBoats && !census["xs5_253"])
+                std::cout << "New object: \033[1;37mxs5_253\033[0m" << std::endl;
+        }
+
         census["xs4_33"] += nBlocks;
         census["xp2_7"] += nBlinkers;
         census["xs6_696"] += nBeehives;
@@ -1324,6 +1339,8 @@
         for (unsigned int i = 0; i < objlist.size(); i++) {
             std::string apgcode = objlist[i];
             if ((ignorePathologicals == false) || (apgcode.compare("PATHOLOGICAL") != 0)) {
+                if(newObjects && !census[apgcode])
+                    std::cout << "New object: \033[1;37m" << apgcode << "\033[0m" << std::endl;
                 census[apgcode] += 1;
                 if (alloccur[apgcode].size() == 0 || alloccur[apgcode].back().compare(suffix) != 0) {
                     if (alloccur[apgcode].size() < 10) {
@@ -1547,6 +1564,10 @@
         return;
     }

+    // temporarily turn off reporting of new objects
+    bool oldNewObjects = newObjects;
+    newObjects = false;
+
     std::ostringstream ss;
     ss << authstring << "\n";
     ss << "@MD5 " << stringlist[2] << "\n";
@@ -1583,6 +1604,9 @@

     catagolueRequest(ss.str().c_str(), "/verify");

+    // restore reporting of new objects
+    newObjects = oldNewObjects;
+
 }

 #ifdef USE_OPEN_MP
@@ -1765,6 +1789,8 @@
             local_log = atoi(argv[i+1]);
         } else if (strcmp(argv[i], "-t") == 0) {
             testing = true;
+        } else if (strcmp(argv[i], "-no") == 0) {
+            newObjects = true;
         } else if (strcmp(argv[i], "-p") == 0) {
             parallelisation = atoi(argv[i+1]);
         } else if (strcmp(argv[i], "--rule") == 0) {
Apply this, recompile, and run apgmera with the -no ("new objects") option. It should work - but isn't necessarily recommended - for all rules.
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!

User avatar
drc
Posts: 1664
Joined: December 3rd, 2015, 4:11 pm
Location: creating useless things in OCA

Re: apgsearch v3.1

Post by drc » June 30th, 2016, 12:51 pm

How do I apply patches?
\100\97\110\105

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

Re: apgsearch v3.1

Post by Apple Bottom » June 30th, 2016, 3:35 pm

Like this, using the right file and directory names:

Code: Select all

$ cd apgmera-cffe
$ patch -p1 <../apgmera-3.28-newobjects.patch
patching file main.cpp
$ 
For more, see the patch(1) man page.
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!

3+4i
Posts: 2
Joined: July 2nd, 2016, 8:46 am
Location: Augsburg, Germany

Re: apgsearch v3.1

Post by 3+4i » July 2nd, 2016, 9:17 am

Hi everybody!

Since I have a spare computer standing around here that is hardly ever used I want to join the search for the key to the universe. Though, I'm kind of stuck in the process of creating an account for Catagolue ...

It says the payosha256 key "acts as a combined username and password" which confuses me since that would pretty much contradict the whole purpose of a password. Since I'm also asked to specify a displayed name, should I rather treat the key like an actual password? And about the uniqueness, is this only meant in the context of Catagolue? I'm so confused! What should I put in there?

User avatar
dvgrn
Moderator
Posts: 6171
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: apgsearch v3.1

Post by dvgrn » July 2nd, 2016, 9:27 am

3+4i wrote:It says the payosha256 key "acts as a combined username and password" which confuses me since that would pretty much contradict the whole purpose of a password. Since I'm also asked to specify a displayed name, should I rather treat the key like an actual password? And about the uniqueness, is this only meant in the context of Catagolue?
Sure, just think of it as a password. Can't be the same as any key that any other user has come up with, is all.
You'll tell apgmera your key when you start searching, which allows your discoveries to be credited to your display name.

3+4i
Posts: 2
Joined: July 2nd, 2016, 8:46 am
Location: Augsburg, Germany

Re: apgsearch v3.1

Post by 3+4i » July 2nd, 2016, 10:52 am

Thanks! It's running now. Only about 1600 soups/s though.

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

Re: apgsearch v3.1

Post by Apple Bottom » July 2nd, 2016, 2:16 pm

3+4i wrote:Thanks! It's running now. Only about 1600 soups/s though.
That's a decent rate. Depending on your CPU you may get a third of an order of magnitude more, perhaps, but even apgmera can't search soups at truly ludicrous speeds. (Yet.)

How many (spare) cores do you have in your machine? Unless you're running an OpenMP-enabled apgmera build, you'll probably want to start one instance per core to get the most out of your CPU. (I've never used OpenMP myself; I prefer the flexibility that separate instances offer, allowing you to start up and shut down individual instances as necessary and desired.)

Finally, welcome onboard! Always good to see new contributors. :)
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!

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » July 2nd, 2016, 2:18 pm

How does Adam manage to search Life so quickly? Multiple computers?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » July 3rd, 2016, 1:59 pm

Discoveries in 8x32 should add to your main batch of discoveries. 8x32 is assymetric
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

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

Re: apgsearch v3.1

Post by Apple Bottom » July 5th, 2016, 5:04 am

I'm curious. Does the presence of this haul mean Catagolue is (in principle) accepting hauls of less than 10k soups now? I seem to recall that used to be an absolute lower limit.
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!

User avatar
Alexey_Nigin
Posts: 323
Joined: August 4th, 2014, 12:33 pm
Location: Ann Arbor, MI
Contact:

Re: apgsearch v3.1

Post by Alexey_Nigin » July 5th, 2016, 5:08 am

Apple Bottom wrote:I'm curious. Does the presence of this haul mean Catagolue is (in principle) accepting hauls of less than 10k soups now? I seem to recall that used to be an absolute lower limit.
Yes:
calcyman wrote:I've modified Catagolue to accept hauls as long as they *either* have 10k soups or 250k objects. Presumably this would make searching B3/S12-ae34ceit much easier?
(From here)
There are 10 types of people in the world: those who understand binary and those who don't.

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

Re: apgsearch v3.1

Post by Apple Bottom » July 5th, 2016, 5:34 am

Alexey_Nigin wrote:Yes:
calcyman wrote:I've modified Catagolue to accept hauls as long as they *either* have 10k soups or 250k objects. Presumably this would make searching B3/S12-ae34ceit much easier?
(From here)
Good to know. Thanks! :)
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!

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » July 5th, 2016, 5:37 am

b/s012345678 here I come
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

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

Re: apgsearch v3.1

Post by Apple Bottom » July 5th, 2016, 8:02 pm

Catagolue's down again. Slashdotting, out-of-control soup searchers in hyperproductive rules (not me this time!), or random server outage?
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!

User avatar
dvgrn
Moderator
Posts: 6171
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: apgsearch v3.1

Post by dvgrn » July 5th, 2016, 10:37 pm

Apple Bottom wrote:Catagolue's down again. Slashdotting, out-of-control soup searchers in hyperproductive rules (not me this time!), or random server outage?
The hyperproductive-rule theory looks like a good one, given the previous message...!

Nothing like a rule that's guaranteed to produce at least one big object with every single soup. But it doesn't seem like it would be at all interesting to run. The hauls are just lists of initial states, and nothing ever changes.

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

Re: apgsearch v3.1

Post by Apple Bottom » July 6th, 2016, 4:45 am

And it's back up!
dvgrn wrote:The hyperproductive-rule theory looks like a good one, given the previous message...!

Nothing like a rule that's guaranteed to produce at least one big object with every single soup. But it doesn't seem like it would be at all interesting to run. The hauls are just lists of initial states, and nothing ever changes.
Indeed, it's hardly an interesting rule. I even said as much previously, so I'm not sure why there's a renewed interest in it now.

Not to mention that if a 10k soup haul in that rule exceeded the maximum haul size before, one'd obviously still not be able to avoid bumping into it with the new lower limits in place, either.

But like you observed last time, at least it's making Catagolue more resilient. ;)
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!

muzik
Posts: 3652
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: apgsearch v3.1

Post by muzik » July 6th, 2016, 6:42 am

Does having more than one window open and running at once increase search speed at all?
Bored of using the Moore neighbourhood for everything? Introducing the Range-2 von Neumann isotropic non-totalistic rulespace!

Post Reply