Use Smoothiness to classify rules

For discussion of other cellular automata.
shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 12th, 2016, 5:01 pm

Guys.

I am sorry but I made a big mistake about the orientation of the NHT matrix. The input-output axis was flipped in previous posts. They should be fixed by now.
(The "reshape": command in matlab fill in the elements by column, not by row. :shock: )

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 13th, 2016, 6:45 am

Bullet51 wrote:A somewhat difficult question: How much information can we extract from the transition matrix?
Here is one possible way to visualise the information contained in NHT:
Plot the within-N entropy against the entropy weight of N (which is -F(N)*log2(F(N))), repeat this for every neighborhood to get a scatter plot. On such scatter plots, complex behavior looks fairly different from chaotic ones.

We should be able to develop some statistics from here. Note for complex behavior dots scatter onto x-axis with no height, while for chaos dots are not attracted to x-axis. This partially confirm my idea that "complex is more deterministic than chaos"
Attachments
stable.jpg
stable.jpg (29.88 KiB) Viewed 11339 times
complex4.jpg
complex4.jpg (42.84 KiB) Viewed 11339 times
chaos1.jpg
chaos1.jpg (50.71 KiB) Viewed 11339 times

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 13th, 2016, 1:23 pm

Here's somehow effective statistics to describe complexity.
(x,y) where x=variance explained by trend in sum(entropyA*entropyB) time series.
y=mean( sum(entropyA*entropyB) time series )

But manual inspection reveal that right-bottom corner do contain complex behavior falsely classifed as chaotic. BUT their scale is usually higher than the neighborhood taken.
Attachments
v1res.jpg
v1res.jpg (32.98 KiB) Viewed 11324 times

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 13th, 2016, 6:12 pm

Under the earlier notation, I did a manual scan based on the recommendation parameters. As it turns out, these statistics captures some aspects of the behavior, but not quite precise the emergent nature yet.

The complied list is partially color coded.
Yellow: abundant moving heads/gliders/stable recognisable recurrent separable objects
Orange: same as yellow, but plagued with chaotic mess, usually in the centre (complex behavior at edge)
Dark orange: more chaos
dark to light purple: These rules tend to fall stable quickly/ oscillator rich, but little long-range spatial communication.
Blue/Cyan: these rules are very stable, but they exhibit fractal behavior in some aspect.
Blank: Not interesting enough/ very ordered/ close related to some other rules here. They are kept mainly for comparative analysis between close related rules.

Let's vote for your favorite color!!!

UPDATE:The signatures for these rules have been complied into NHT_ambig. I am currently storing them as .jpg files. Would love switch to some 3D format if there is any recommendation.
Attachments
ent_collect.xls.tar.gz
(15.22 KiB) Downloaded 194 times
Last edited by shouldsee on August 14th, 2016, 6:33 pm, edited 1 time in total.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 14th, 2016, 7:10 am

Further to the aforementioned 'within-NH entropy" and "between-NH entropy/forward uncertainty" plot.

I found it helpful to also include the 'backward uncertainty' as well as 'forward uncertainty', and to record the scatter plot over time. This provides a better signature of the dynamics.

The collection is uploaded as NHT1

Let's extract some statistics from these distributions.
Attachments
B367S02358 _soup62.jpg
B367S02358 _soup62.jpg (233.12 KiB) Viewed 11295 times
B01234S012357_soup37.jpg
B01234S012357_soup37.jpg (194.42 KiB) Viewed 11295 times
B3S23 _soup2.jpg
B3S23 _soup2.jpg (140.88 KiB) Viewed 11295 times

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 15th, 2016, 9:53 am

EDIT: Actually I messed up with forward uncertainty and backward uncertainty.
Let me be concise.
1.Forward predictability+chaos = complex
2.Backward predictability = order
3.No predictability = chaos
4. For complex behaviour, the states contributing to each element must directly inter-convert.
These are conjectures only and await more evidence.


Let's try to define 'interesting'.

One idea has knocked around since study on CA begins- we can use compressibility to define spaceship, because spaceships exhibit behavior periodic in time but aperiodic in space.

This idea naturally leads to the conjecture, that interesting rules are reversible. Imagine we got a universe of spaceships, we can easily deduce the configuration at an earlier time by reverse the speed of all spaceships. Thus, the more reversible behavior in a universe, the more interesting it is.

We can evaluate the reversibility by counting the states with a backward uncertainty near zero. For example, B01367S01 has a big collection of states near Bunc=0. B3S23 has a smaller collection. This reflects the fact that B01367S01 has more spontaneous spaceships/replicators than B3S23.

This criteria above is not enough to gurantee interesting behavior, it's only essential. Another essential is that these Bunc=0 states need to be connected to uncertain chaotic states that is unpredictable both forward and backward. Otherwise there will be no unpredictability in the universe.

Furthermore, for classical behavior like B3S23, we also need a stable background. This background will manifest as highly predictable (low uncertainty) both forward and backward, and constitute a large fraction of the universe (high entropic weight).
Attachments
B01367S01_soup11.jpg
B01367S01_soup11.jpg (209.42 KiB) Viewed 11249 times
B3S23_soup202.jpg
B3S23_soup202.jpg (147.26 KiB) Viewed 11249 times
Last edited by shouldsee on August 15th, 2016, 1:16 pm, edited 1 time in total.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 15th, 2016, 10:59 am

shouldsee wrote:We can evaluate the reversibility by counting the states with a backward uncertainty near zero. For example, B01367S01 has a big collection of states near Bunc=0. B3S23 has a smaller collection. This reflects the fact that B01367S01 has more spontaneous spaceships/replicators than B3S23.
The rule B378S126 may be a good sample to test. How many states are there near Bunc=0?
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 15th, 2016, 12:38 pm

Bullet51 wrote:
shouldsee wrote:We can evaluate the reversibility by counting the states with a backward uncertainty near zero. For example, B01367S01 has a big collection of states near Bunc=0. B3S23 has a smaller collection. This reflects the fact that B01367S01 has more spontaneous spaceships/replicators than B3S23.
The rule B378S126 may be a good sample to test. How many states are there near Bunc=0?
The collection is uploaded as Logic

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 17th, 2016, 6:27 am

Still refining the definition of interesting.

UPDATE: As it came out, the points with forward/backward uncertainty of zero are largely due to the base period 2 in B0 rules, which has led me to falsely conjectured a connection between these points and the interestingness of rules. After normalising the plot, the points are scatter along the plane x=y.

If we consider a spaceship moving through space, the vain in front of it is destined to get occupied by the spaceship, thus they are forward predictable. The vain to the tail of the spaceship, however, is bound to be occupied by the spaceship previously, thus they are backward predictable. Between these two edges, something happens in between.

Thus, by measuring the propensity of transition between these edges, we can get to taste the nature of this rule.

Attaches is another round of interesting rules. For some reason my collection is enriched of B0 rules.
Attachments
flux_collect.xls.tar.gz
(15.38 KiB) Downloaded 217 times

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 20th, 2016, 7:46 pm

Some visualisation of the chaotic core in rulespace.

The red dots are complex rules from my test collection. The blue dots are random samples.

UPDATE: Legend added and B3/S23 pointed out.

FE=forward entropy
BE=backward entropy
flux are measured along the FE+BE, FE-BE axis, and weighted by the number of transition between corresponding input configurations. To remove the strobing effect, transition is taken every 6 steps.

A 3D version in form of matlab .fig can be found here

I have also updated the front page of this post.

raw statistics can be found here. Columns 2,3,4 are mf(FE+BE) mf(FE-BE), m(input entropy), 5,6,7 gives standard deviation std() instead of mean().

Sadly, the arm region indicated with red dots doesn't constitute an exclusive area, i.e interesting rules in curated collection are bound to lie in such region, but points in such region are not necessary interesting. This indicates that we may still need extra dimension to expand this 'arm' region.
Attachments
BSrulespace_2d.jpg
BSrulespace_2d.jpg (81.71 KiB) Viewed 11181 times
BSrulespace.jpg
BSrulespace.jpg (82.6 KiB) Viewed 11182 times
Last edited by shouldsee on August 21st, 2016, 12:48 pm, edited 2 times in total.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 21st, 2016, 11:05 am

agar crawlers

Code: Select all

x = 69, y = 220, rule = B0345678/S0158:T69,220
2obo2bobo2bobobobobo2bobo2bobobobobo2bobobobobobobobobobobobobob2obo$
69o2$69o2$bobo2bobo2bobobobobo2bobo2bobobobobo2bobobobobobobobobobobob
obob2obo2$69o2$69o$obob2obob2obobobobob2obob2obobobobob2obobobobobobob
obobobobobobo2bobo$69o2$69o2$obob2obob2obobobobob2obob2obobobobob2obob
obobobobobobobobobobobo2bobo2$69o2$28o5b36o$bobo2bobo2bobobobobo2bobo
2b7obo2bobobobobobobobobobobobobob2obo$29obob37o$30bo$29o3b37o$27b2o3b
2o$bobo2bobo2bobobobobo2bobob2obobob3o2bobobobobobobobobobobobobob2obo
$29bobo$30ob38o$30bo$29obob2ob34o$obob2obob2obobobobob2obobobo2bobo4bo
bobobobobobobobobobobobobo2bobo$29obob37o$30bo$30ob38o$27b2o$obob2obob
2obobobobob2obob9obobobobobobobobobobobobobobobo2bobo$27b2o2bo$69o2$
69o$bobo2bobo2bobobobobo2bobobobo7bobobobobobobobobobobobobobob2obo$
30obobob34o2$69o2$bobo2bobo2bobobobobo2bobob13obobobobobobobobobobobob
ob2obo$28bobobobobo$69o2$69o$obob2obob2obobobobob2obo17bobobobobobobob
obobobobo2bobo$25obobobobobobobob29o2$69o2$obob2obob2obobobobob24obobo
bobobobobobobobo2bobo$23bobobobobobobobobobo$69o2$69o$bobo2bobo2bobobo
bobobo24bobobobobobobobobob2obo$24obobobobobobobobobobob24o2$69o2$bobo
2bobo2bobobobobobobob24obobobobobobobob2obo$26bobobobobobobobobobobo$
69o2$69o$obob2obob2obobobobobobobobo24bobobobobobobo2bobo$29obobobobob
obobobobobob19o2$69o2$obob2obob2obobobobobobobobobob24obobobobobo2bobo
$31bobobobobobobobobobobo$69o2$69o$bobo2bobo2bobobobobobobobobobobo24b
obobobob2obo$34obobobobobobobobobobob14o2$69o2$bobo2bobo2bobobobobobob
obobobobobob24obobob2obo$36bobobobobobobobobobobo$69o2$69o$obob2obob2o
bobobobobobobobobobobobobo24bobo2bobo$39obobobobobobobobobobob9o2$69o
2$obob2obob2obobobobobobobobobobobobobobob24o2bobo$41bobobobobobobobob
obobo$69o2$69o$bobo2bobo2bobobobobobobobobobobobobobobobo23bobo$44obob
obobobobobobobob6o2$69o2$bobo2bobo2bobobobobobobobobobobobobobobobobob
17obobobo$46bobobobobobobobo$69o2$69o$obob2obob2obobobobobobobobobobob
obobobobobobobo13bobobobobo$49obobobobob11o2$69o2$obob2obob2obobobobob
obobobobobobobobobobobobobobob7obobobobobobo$51bobobo$69o2$69o$bobo2bo
bo2bobobobobobobobobobobobobobobobobobobobobo3bobobobobobobo$69o2$69o
2$bobo2bobo2bobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
2$69o2$69o$obob2obob2obobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobo$69o2$69o2$obob2obob2obobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobo2$69o2$69o$bobo2bobo2bobobobobobobobobobobobobobob
obobobobobobobobobobobobobobo$69o2$69o2$bobo2bobo2bobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobo2$69o2$69o$obob2obob2obobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobo$69o2$69o2$obob2obob2o
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobo2$69o2$69o$b
obo2bobo2bobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$
69o2$69o2$bobo2bobo2bobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobo2$69o2$69o$obob2obob2obobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobo$69o2$69o2$obob2obob2obobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobo2$69o2$69o$bobo2bobo2bobobobobobobobobobob
obobobobobobobobobobobobobobobobobobo$69o2$69o2$bobo2bobo2bobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobo2$69o2$69o$obob2obob2obo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobo$69o2$69o2$obo
b2obob2obobobobobobobobobobobobobobobobobobobobobobobobobobobobobo2$
69o2$69o$bobo2bobo2bobobobobobobobobobobobobobobobobobobobobobobobobob
obobobo$69o2$69o2$bobo2bobo2bobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobo2$69o2$69o$obob2obob2obobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobo$69o2$69o2$obob2obob2obobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobo2$69o2$69o!

Code: Select all

x = 243, y = 12, rule = B12348/S123468:T243,12
96obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobob2o$95bobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobo$94obobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobo$93bobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobob2o$94obobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobo$82b2o9bobo
bobobobobobobob5obobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obo$94obobobobobobobobob7obobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobob2o$81b3o11bobobobobobobobob7obobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobo$96obobobobobobobob5obobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobob2o$82b2o13bobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobo$98obobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo
bobobobobobobobobobobobobobobobobobobobobobobobobob2o$o96bobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobob
obobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobo!
Last edited by shouldsee on September 2nd, 2016, 2:04 am, edited 1 time in total.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 22nd, 2016, 2:36 am

shouldsee wrote:To remove the strobing effect, transition is taken every 6 steps.
2 steps is enough.
shouldsee wrote:Sadly, the arm region indicated with red dots doesn't constitute an exclusive area, i.e interesting rules in curated collection are bound to lie in such region, but points in such region are not necessary interesting.
Points in such region, of course, are not necessary interesting, but most of them are interesting:

Code: Select all

G:Glider-Possible
N:Natural-Glider-Possible
S:Special
A:Ameoba dynamics
F:Fast-Decay
B357/S238        N
B013568/S0123    N
B012358/S01237   G
B3468/S028       G
B01245/S14       G
B0123457/S0126   N
B2346/S124678    S
[The negative rule is b358s01378, which is N]
B0127/S0135      G
B358/S136        N
B01367/S01       G
[Possibly N]
B123568/S123678  S
[The negative rule is b348s148, which is N]
B01347/S13       N
B0127/S0235      G
B2578/S0234678   S
[The negative rule is b37s24578, which is G]
B378/S024678     N
B01237/S236      S
[It has natural puffers, but not natural gliders]
B013678/S0       N
B012456/S023     N
B0123567/S02346  G
[Possibly N]
B378/S02458      G
[Possibly N]
B3678/S135       N
B012467/S1235    N
B358/S12678      N
B12/S12478       S
[Biphasic. May be regarded as complex behaviour]
B37/S0245        N
[Has a 4c/25 glider: b5o$o4bo$o4bo$b5o!]
B3568/S136       N
B012345/S0246    N
B0134568/S0234   N
[The natural ship is actually an infinite class of ships]
B013457/S0123    G
[There are too many replicators]
B013458/S02      G
[There are too many replicators]
B01267/S0125     A
B358/S1267       N
B123478/S24678   S
[The negative rule is b3578s238, which is G, and have a replicator]
B01258/S025      G
[Possibly N]
B024678/S04678   S
[The negative rule is b3567s3578, which is G]
B0134568/S1234   S
[It has natural puffers, but not natural gliders]
B01238/S1246     G
B012/S015        F
B34/S368         F
B012357/S14678   S
[The negative rule is b3578s238, which is N]
B01234567/S035   A
B0123578/S135    A
B01246/S01234678 S
[The negative rule is b3s0135, which is both N and puffer-natural]
B346/S0567       G
B3468/S01        G
[Sometimes explodes]
B012458/S4       A
B0123457/S023678 S
[The negative rule of b347s02, which is G]
B012567/S014     A
[It converges to some strange states]
B348/S037        G
B123458/S024678  S
[Negative of b357s128, which is G]
B012/S145        A
B356/S034        G
[Maybe F]
B1578/S234678    S
[Negative of b378s24568, which is full of gliders]
B0123456/S01235  F
[Has a glider]
B01278/S012468   S
[Biphasic. May be regarded as complex behaviour]
B0138/S4         N
B0123578/S1236   G
[Heavy ameoba dynamics]
B3568/S0146      N    
The region is determined by a neural network.
shouldsee wrote:This indicates that we may still need extra dimension to expand this 'arm' region.
Surely.


Would you like to share your program, since I think it's a good idea to use the program to search hexagonal rules:

Code: Select all

x = 16, y = 7, rule = B0126/S015H
5bo6bo$4bo6bo$obobob8o$o2bo2b8obo$bobobob8o$6bo6bo$8bo6bo!
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 22nd, 2016, 5:42 am

Bullet51 wrote:
shouldsee wrote:To remove the strobing effect, transition is taken every 6 steps.
2 steps is enough.
I don't think 2 would be enough, since p3 strobing is quite frequent for cooperative oscillators. Use a different lagging length would also change the shape of the landscape. But no harm trying.
Bullet51 wrote:
shouldsee wrote:Sadly, the arm region indicated with red dots doesn't constitute an exclusive area, i.e interesting rules in curated collection are bound to lie in such region, but points in such region are not necessary interesting.
Points in such region, of course, are not necessary interesting, but most of them are interesting:
The region is determined by a neural network.
Did you tried to bulid a classifer under inspection here? Or what's the shape recognised by your NN? DId you just used the 3 features I provided?

Bullet51 wrote:
shouldsee wrote:This indicates that we may still need extra dimension to expand this 'arm' region.
Surely.
After all we managed to filter some out, but not yet enough.
Bullet51 wrote: Would you like to share your program, since I think it's a good idea to use the program to search hexagonal rules:
Sure. It just took some cleaning work. I have updated the link on the frontpage. Although to apply for hexagonal, you would need to undertake a extensive change.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 22nd, 2016, 6:21 am

shouldsee wrote:DId you just used the 3 features I provided?
Yes.
shouldsee wrote:Or what's the shape recognised by your NN?
Somewhat hard to say, since I don't know how to plot the surface of f(x,y,z)=0.
shouldsee wrote:Sure. It just took some cleaning work. I have updated the link on the frontpage. Although to apply for hexagonal, you would need to undertake a extensive change.
Thanks!
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 22nd, 2016, 6:27 am

Bullet51 wrote:
shouldsee wrote:Or what's the shape recognised by your NN?
Somewhat hard to say, since I don't know how to plot the surface of f(x,y,z)=0.
Try contour3.
Bullet51 wrote: Thanks!
You are welcome.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 22nd, 2016, 7:10 am

shouldsee wrote:Or what's the shape recognised by your NN?
The NN may seem somewhat inaccurate, but in fact, it has a accuracy of 94.5%, just because I weighted the complex rules 94x higher.
1.png
1.png (16.2 KiB) Viewed 11128 times
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 22nd, 2016, 11:02 am

Bullet51 wrote:[
Points in such region, of course, are not necessary interesting, but most of them are interesting:

Code: Select all

G:Glider-Possible
N:Natural-Glider-Possible
S:Special
A:Ameoba dynamics
F:Fast-Decay
B357/S238        N
B013568/S0123    N
B012358/S01237   G
B3468/S028       G
B01245/S14       G
B0123457/S0126   N
B2346/S124678    S
[The negative rule is b358s01378, which is N]
B0127/S0135      G
B358/S136        N
B01367/S01       G
[Possibly N]
B123568/S123678  S
[The negative rule is b348s148, which is N]
B01347/S13       N
B0127/S0235      G
B2578/S0234678   S
[The negative rule is b37s24578, which is G]
B378/S024678     N
B01237/S236      S
[It has natural puffers, but not natural gliders]
B013678/S0       N
B012456/S023     N
B0123567/S02346  G
[Possibly N]
B378/S02458      G
[Possibly N]
B3678/S135       N
B012467/S1235    N
B358/S12678      N
B12/S12478       S
[Biphasic. May be regarded as complex behaviour]
B37/S0245        N
[Has a 4c/25 glider: b5o$o4bo$o4bo$b5o!]
B3568/S136       N
B012345/S0246    N
B0134568/S0234   N
[The natural ship is actually an infinite class of ships]
B013457/S0123    G
[There are too many replicators]
B013458/S02      G
[There are too many replicators]
B01267/S0125     A
B358/S1267       N
B123478/S24678   S
[The negative rule is b3578s238, which is G, and have a replicator]
B01258/S025      G
[Possibly N]
B024678/S04678   S
[The negative rule is b3567s3578, which is G]
B0134568/S1234   S
[It has natural puffers, but not natural gliders]
B01238/S1246     G
B012/S015        F
B34/S368         F
B012357/S14678   S
[The negative rule is b3578s238, which is N]
B01234567/S035   A
B0123578/S135    A
B01246/S01234678 S
[The negative rule is b3s0135, which is both N and puffer-natural]
B346/S0567       G
B3468/S01        G
[Sometimes explodes]
B012458/S4       A
B0123457/S023678 S
[The negative rule of b347s02, which is G]
B012567/S014     A
[It converges to some strange states]
B348/S037        G
B123458/S024678  S
[Negative of b357s128, which is G]
B012/S145        A
B356/S034        G
[Maybe F]
B1578/S234678    S
[Negative of b378s24568, which is full of gliders]
B0123456/S01235  F
[Has a glider]
B01278/S012468   S
[Biphasic. May be regarded as complex behaviour]
B0138/S4         N
B0123578/S1236   G
[Heavy ameoba dynamics]
B3568/S0146      N    
The region is determined by a neural network.
Since my simulator does not distinguish between rules and their negative equivalents, we should classify postive and negative rules into the same class. i.e. if an S rule has a G negative counterpart, itself should be G instead of S. The plague of biphasic behavior is somewhat confusing, since there is not a general framework to classify within this discipline. Although I did observe some gliders, the heterogeneity in the randomly generated background make it hard to undertake systematic search, although I think randomagar should be able to cope with such things.

The presence of fast decay rules is also very intriguing, since they are usually scattered on the other side of the distribution. One possibility is these F rules are closely related to some more interesting rules and thus inherited some characteristics.

Regarding the usage of neural network, there really can't do any better than human eye on this occasion. The shape of distribution is already recognisable by inspection. But NN might be a good tool when we have more than 3 features.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 22nd, 2016, 12:41 pm

shouldsee wrote:Sure. It just took some cleaning work. I have updated the link on the frontpage. Although to apply for hexagonal, you would need to undertake a extensive change.
It seems that some files are missing in your package:

Code: Select all

Undefined function or variable 'update_rule'.

Error in CA_console_opt2 (line 296)
           update_rule
I have no idea about what "update_rule" is.
shouldsee wrote:The presence of fast decay rules is also very intriguing, since they are usually scattered on the other side of the distribution. One possibility is these F rules are closely related to some more interesting rules and thus inherited some characteristics.
There does exist some nearby rules, but I'm not sure if any characteristic is inherited.

Code: Select all

F Rule          Nearby N rule
B012/S015       B0125/S015  
B34/S368        B34/S0368
B0123456/S01235 B012456/S01235
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 22nd, 2016, 1:53 pm

Bullet51 wrote: It seems that some files are missing in your package:
Thanks for the notice, I forgot to include that in the package. It should be fixed now. I will test them before release next time.

Also, if you are fitting a NN, definitly try to include the standard deviations of stats as well as means of stats as your feature, which should help discriminate "stable" complex and "transient“ complex.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 23rd, 2016, 6:17 am

Dear Shouldsee,

I am puzzled by your definition of forward entropy and backward entropy. How are they different?
And what does the average of the 2-norm of [D_input' V_input(:,2)] mean? Why not just use the mean of the 2-norm of D_input' ?
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 23rd, 2016, 7:43 am

Bullet51 wrote:Dear Shouldsee,

I am puzzled by your definition of forward entropy and backward entropy. How are they different?
And what does the average of the 2-norm of [D_input' V_input(:,2)] mean? Why not just use the mean of the 2-norm of D_input' ?
They are obsolete statistics that are no longer recorded in the 'process_outputs'.

Code: Select all

    dVV=[VV(1:3,:)-VV(4:6,:)];        
    wt=D_Tinput;
    wt=wt/sum(wt);
    v=[D_input' V_input(:,2)];
    wtdVV=dVV(1:3,:).*repmat(wt,3,1);
    v1=mean(dot(v,v,2)); %% this is obsolete
    v2=mean(abs(wtdVV(1,:)));
    v3=mean(abs(wtdVV(2,:)));
%     v4=mean(wtdVV,2)'

%%these are actually recorded.
    phaseX=v2;
    phaseY=v3;
    phaseZ=H_input;
;
Every time before running the console, a list 'scalars' is input to specify the variables to record during each soup. If you look into 'collect.m' you should find the following.

Code: Select all

outnumber=8;  %% number of scalar outputs in the stat file 
scalars={'phaseX','phaseY','phaseZ','H_input','HD_linput'}; %% varaibles recorded during souping---v1 and v are not recorded

Another thing, I have finally figured out how to cluster a correlation matrix properly. The correlation is calculated between counts of a custom neighborhood (the central cell it self ONLY!!). And the cell state is determined by its 6-gen history. Effectively we are taking a 6*1 slice on the space-time dimension.

ignore 'sumcov=..', it's not really sumcov.
Attachments
B0145678S157_soup61.jpg
B0145678S157_soup61.jpg (223.13 KiB) Viewed 11041 times
B01234568S346_soup50.jpg
B01234568S346_soup50.jpg (212.23 KiB) Viewed 11041 times
B3S23 _soup1.jpg
B3S23 _soup1.jpg (182.15 KiB) Viewed 11041 times
Last edited by shouldsee on August 23rd, 2016, 8:13 am, edited 1 time in total.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 23rd, 2016, 7:56 am

shouldsee wrote: They are obsolete statistics that are no longer recorded in the 'process_outputs'.

Code: Select all

    dVV=[VV(1:3,:)-VV(4:6,:)];        
    wt=D_Tinput;
    wt=wt/sum(wt);
    v=[D_input' V_input(:,2)];
    wtdVV=dVV(1:3,:).*repmat(wt,3,1);
    v1=mean(dot(v,v,2)); %% this is obsolete
    v2=mean(abs(wtdVV(1,:)));
    v3=mean(abs(wtdVV(2,:)));
%     v4=mean(wtdVV,2)'

%%these are actually recorded.
    phaseX=v2;
    phaseY=v3;
    phaseZ=H_input;
;
I have figured out that H_input is the entropy of {NH now, NH 1 step before}, but what is the meaning of dVV?
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 23rd, 2016, 8:07 am

Bullet51 wrote:
I have figured out that H_input is the entropy of {NH now, NH 1 step before}, but what is the meaning of dVV?

Code: Select all


    HV=sum(VSD_Tinput,1)'; %% supposedly this should be forward entropy
    HH=sum(HSD_Tinput,2); %% supposedly backward entropy
    V_input=[HD_input' HV+HH HV-HH  (1:18)']; %% combining into array
    V=V_input(:,[2,3 ,1])'; %% reordering
    VV=combvec(V,V);      %% enumerate combination of points in the aforementioned 3d space  
    dVV=[VV(1:3,:)-VV(4:6,:)];   %% calulate vectors in 3d space, each corresponding to an NHT
    wt=D_Tinput;            %% read the number for each transition of NH (NHT)
    wt=wt/sum(wt);       %% normalise
    wtdVV=dVV(1:3,:).*repmat(wt,3,1);  %% weighting 
    v2=mean(abs(wtdVV(1,:)));  
    v3=mean(abs(wtdVV(2,:)));
BTW, H_input is the input entropy for the current generation. It takes a 9*9 slice and assign it a neighborhood according to B/S notation, and calculate entropy according to neighborhood distribution. Effectively input=neighborhood.

Bullet51
Posts: 663
Joined: July 21st, 2014, 4:35 am

Re: Use Smoothiness to classify rules

Post by Bullet51 » August 23rd, 2016, 8:17 am

shouldsee wrote:

Code: Select all


    HV=sum(VSD_Tinput,1)'; %% supposedly this should be forward entropy
    HH=sum(HSD_Tinput,2); %% supposedly backward entropy
    V_input=[HD_input' HV+HH HV-HH  (1:18)']; %% combining into array
    V=V_input(:,[2,3 ,1])'; %% reordering
    VV=combvec(V,V);      %% enumerate combination of points in the aforementioned 3d space  
    dVV=[VV(1:3,:)-VV(4:6,:)];   %% calulate vectors in 3d space, each corresponding to an NHT
    wt=D_Tinput;            %% read the number for each transition of NH (NHT)
    wt=wt/sum(wt);       %% normalise
    wtdVV=dVV(1:3,:).*repmat(wt,3,1);  %% weighting 
    v2=mean(abs(wtdVV(1,:)));  
    v3=mean(abs(wtdVV(2,:)));
Sure. It seems that the 4th column of V_input is never used.
Still drifting.

shouldsee
Posts: 406
Joined: April 8th, 2016, 8:29 am

Re: Use Smoothiness to classify rules

Post by shouldsee » August 23rd, 2016, 8:27 am

Bullet51 wrote: Sure. It seems that the 4th column of V_input is never used.
It was a grouping index in rp_visual4.m for visualisation purpose.

Post Reply