Page 8 of 15

Re: apgsearch v3.1

Posted: June 22nd, 2016, 4:11 pm
by Apple Bottom
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.

Re: apgsearch v3.1

Posted: June 22nd, 2016, 4:40 pm
by muzik
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?

Re: apgsearch v3.1

Posted: June 22nd, 2016, 4:55 pm
by gmc_nxtman
I believe it would fall under a zz_explosive category.

Re: apgsearch v3.1

Posted: June 26th, 2016, 3:38 pm
by muzik

Re: apgsearch v3.1

Posted: June 26th, 2016, 4:44 pm
by Apple Bottom
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.

Re: apgsearch v3.1

Posted: June 26th, 2016, 4:59 pm
by muzik
Yup.

And to think this only affected the non-totalistic rules...

Re: apgsearch v3.1

Posted: June 26th, 2016, 5:38 pm
by Apple Bottom
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.

Re: apgsearch v3.1

Posted: June 26th, 2016, 5:41 pm
by muzik
OH GOD DO NOT REMIND ME OF THAT UNHOLY THING

Re: apgsearch v3.1

Posted: June 30th, 2016, 12:38 pm
by Apple Bottom
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.

Re: apgsearch v3.1

Posted: June 30th, 2016, 12:51 pm
by drc
How do I apply patches?

Re: apgsearch v3.1

Posted: June 30th, 2016, 3:35 pm
by Apple Bottom
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.

Re: apgsearch v3.1

Posted: July 2nd, 2016, 9:17 am
by 3+4i
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?

Re: apgsearch v3.1

Posted: July 2nd, 2016, 9:27 am
by dvgrn
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.

Re: apgsearch v3.1

Posted: July 2nd, 2016, 10:52 am
by 3+4i
Thanks! It's running now. Only about 1600 soups/s though.

Re: apgsearch v3.1

Posted: July 2nd, 2016, 2:16 pm
by Apple Bottom
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. :)

Re: apgsearch v3.1

Posted: July 2nd, 2016, 2:18 pm
by muzik
How does Adam manage to search Life so quickly? Multiple computers?

Re: apgsearch v3.1

Posted: July 3rd, 2016, 1:59 pm
by muzik
Discoveries in 8x32 should add to your main batch of discoveries. 8x32 is assymetric

Re: apgsearch v3.1

Posted: July 5th, 2016, 5:04 am
by Apple Bottom
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.

Re: apgsearch v3.1

Posted: July 5th, 2016, 5:08 am
by Alexey_Nigin
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)

Re: apgsearch v3.1

Posted: July 5th, 2016, 5:34 am
by Apple Bottom
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! :)

Re: apgsearch v3.1

Posted: July 5th, 2016, 5:37 am
by muzik
b/s012345678 here I come

Re: apgsearch v3.1

Posted: July 5th, 2016, 8:02 pm
by Apple Bottom
Catagolue's down again. Slashdotting, out-of-control soup searchers in hyperproductive rules (not me this time!), or random server outage?

Re: apgsearch v3.1

Posted: July 5th, 2016, 10:37 pm
by dvgrn
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.

Re: apgsearch v3.1

Posted: July 6th, 2016, 4:45 am
by Apple Bottom
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. ;)

Re: apgsearch v3.1

Posted: July 6th, 2016, 6:42 am
by muzik
Does having more than one window open and running at once increase search speed at all?