Density

From LifeWiki
Jump to navigation Jump to search

The density of a pattern is the proportion of live cells within its bounding box.

Still lifes

The maximum densities of square still lifes up to 20 × 20 were known in 2002.[1]

The general problem of finding the maximum population of an n × n square pseudo still life (A055397(n)) was solved for all n in 2012.[2] It is given by the following function:

first=(0,0,4,6,8,16,18,28,36,43,54,64,76,90,104,119,136,152,171,190,210,232,253,276,302,326,353,379,407,437,467,497,531,563,598,
. . . .633,668,706,744,782,824,864,907,949,993,1039,1085,1132,1181,1229,1280,1331,1382,1436,1490,1545,1602,1658,1717,1776,1835)
def cells(n):
. . if n<61:
. . . . return first[n]
. . elif n%54 in {0,1,3,8,9,11,16,17,19,25,27,31,33,39,41,47,49}:
. . . . return ⌊(27*n2+34*n)/54⌋-2
. . else:
. . . . return ⌊(27*n2+34*n)/54⌋-1
.

The following table contains maximum density still life information for side lengths through 25.

Side length Max. density Max. population
(example)
Example pattern(s) Total patterns
1 0 0 0
2 1 4
block
x = 2, y = 2, rule = B3/S23 2o$2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
1
3 0.6667 6
ship
x = 3, y = 3, rule = B3/S23 b2o$obo$2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
1
4 0.5 8
pond
long ship
x = 4, y = 4, rule = B3/S23 b2o$o2bo$o2bo$b2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here

x = 4, y = 4, rule = B3/S23 2b2o$bobo$obo$2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
2
5 0.64 16
four blocks
x = 5, y = 5, rule = B3/S23 2ob2o$2ob2o2$2ob2o$2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
1
6 0.5 18
two long shillelaghs
trans-snake-tie with ship
three blocks with ship
x = 6, y = 6, rule = B3/S23 2o2b2o$o2bobo$b2o$3b2o$obo2bo$2o2b2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here

x = 6, y = 6, rule = B3/S23 2o2b2o$o2bobo$bob2o$2o$2b2obo$2bob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here

x = 6, y = 6, rule = B3/S23 2ob2o$2ob2o2$2ob2o$2obobo$4b2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here

x = 36, y = 26, rule = B3/S23 2ob2o10b2o2b2o9b2ob2o$2ob2o10b2o2b2o9b2obobo$33bobo$2ob2o14b2o9b3obo$ 2obobo9b2obobo9bo2bo$4b2o9b2ob2o11b2o5$2o2b2o11bob2o9b2ob2o$o2bobo11b 2obo9b2obo$b2o12b2o16bo$3b2o11bob2o10b2ob2o$obo2bo9bo2bobo9bobo2bo$2o 2b2o9b2o2b2o10bo2b2o5$2bo2bo10b2ob2o10b2ob2o$2b4o10b2obo10bob2obo$2o 17bo10bo$bo2b2o10b3o12bob2o$bobobo9bo2bobo9b2obobo$2ob2o10b2o2b2o13b2o ! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
9
7 0.5714 28
tub of snakes
x = 7, y = 7, rule = B3/S23 ob2ob2o$2obobo$3bo2bo$3ob3o$o2bo$bobob2o$2ob2obo! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
1
8 0.5625 36
nine blocks
x = 8, y = 8, rule = B3/S23 2ob2ob2o$2ob2ob2o2$2ob2ob2o$2ob2ob2o2$2ob2ob2o$2ob2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
1
9 0.5309 43
x = 89, y = 29, rule = B3/S23 2o2b2ob2o11b2o2b2ob2o11bob2ob2obo11bob2ob2obo11bob2obob2o$o2bobob2o11b o2bobob2o11b2obobob2o11b2obobob2o11b2obob2obo$bobobo15bobobo17bobo17bo bo17bo$2obob4o11b2obob4o11b2obob4o11b2obob4o11b3ob4o$o2bo4bo12bobo4bo 12bobo4bo11bo2bo4bo11bo2bo4bo$bob4o14bob4o14bob4o14bob4o14bobob4o$2o4b 2o12b2o4b2o12b2o4b2o12b2o4b2o12b2obobo$o2b2o3bo11bo2b2o3bo11bo2b2o3bo 11bo2b2o3bo11bo2bobob2o$b2ob2ob2o12b2ob2ob2o12b2ob2ob2o12b2ob2ob2o13b 2ob2obo12$ob2ob2obo11bob2ob2obo11bob2ob2obo11bob2ob2obo11bob2ob2obo$2o bobob2o11b2obobob2o11b2obobob2o11b2obobob2o11b2obobob2o$3bobo17bobo17b obo17bobo17bobo$2obob4o11b4ob4o11b2obob4o11b4o2b3o11b4ob4o$2obo4bo11bo 7bo11bob2o4bo11bo3b2o2bo11bo7bo$3b5o13bob5o16b4o13b3o2b2o13b7o$3o17b2o bo17b3o20bo$o2bob2obo11bo2bob2obo11bo2bob2obo11bob2ob2obo11bob2ob2obo$ 2b2obob2o13b2obob2o11b2o2b2ob2o11b2obobob2o11b2obobob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
10
10 0.5400 54
x = 10, y = 10, rule = B3/S23 $ob2ob2ob2o$2ob2obob2o$6bo$2ob3ob3o$bobo2bo2bo$o2bo2bobo$3ob3ob2o$3bo$ 2obob2ob2o$2ob2ob2obo! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
>100
11 0.5289 64
sixteen blocks
x = 11, y = 11, rule = B3/S23 2ob2ob2ob2o$2ob2ob2ob2o2$2ob2ob2ob2o$2ob2ob2ob2o2$2ob2ob2ob2o$2ob2ob2o b2o2$2ob2ob2ob2o$2ob2ob2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
1
12 0.5278 76
x = 28, y = 12, rule = B3/S23 2ob2ob2o2b2o4b2obob2ob2obo$bob2obobo2bo4bob3obobob2o$o5bobobo11bobo$4o b2obob2o5b6obob2o$3bobo2bobo5bo6b2ob2o$2obobob2obo5b6o$2obobo2bob2o10b 6o$3bob3o8b2ob2o6bo$4o4b4o4b2obob6o$o3b3obo2bo7bobo$bobo2bobobo5b2obob ob3obo$2ob2o2b2ob2o4bob2ob2obob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
13 0.5325 90
x = 0, y = 0, rule = B3/S23 15b$b2ob2obob2ob2ob$b2obob3obob2ob$4bo5bo4b$b3ob5ob3ob$bo2bo5bo2bob$2bobo2b2obobo2b$b2obobobobob2ob$2bobobobobobo2b$bo2bobobobo2bob$b4obobob4ob$7bo7b$b5obob2ob2ob$bo2bob2ob2ob2ob$15b$! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
14 0.5306 104
x = 14, y = 14, rule = B3/S23 2ob2ob2ob2ob2o$2ob2ob2ob2ob2o2$4ob6ob2o$o2bobo4bob2o$bobobob2obo$2obob ob2obob2o$bobobo4bob2o$o2bob6o$4o8b2o$4b7ob2o$2o2bo5bo$obobob3obob2o$b 2ob2obob2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
15 0.5289 119
x = 15, y = 15, rule = B3/S23 2ob2ob2ob2o2b2o$2ob2ob2obobo2bo$9bobobo$10obob2o$o5bo4bobo$bob2o3b4o2b o$2obob3o4b3o$bobobo2b4o$o2bobobo4b3o$4obob5o2bo$5bo5bobo$4ob5obob2o$o 2bo5bobo$bobob3obobob2o$2ob2obob2ob2obo! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
16 0.531 136
x = 36, y = 16, rule = B3/S23 2ob2obo2bob2ob2o4b2ob2ob2obob2ob2o$2obob6obob2o4b2ob2obob3obob2o$3bo8b o13bo5bo$3ob8ob3o4b4obob6ob2o$o2bo8bo2bo4bo2bobobo6b2o$bobob6obobo6bo bobobob4o$2obobo4bobob2o4b2obobobobo3b3o$bobobob2obobobo5bo2bobobo2b3o 2bo$bobobob2obobobo6bobobob3o2bobo$2obobo4bobob2o4b2obobo4bobob2o$bob ob6obobo6bobob6obobo$o2bo8bo2bo4bo2bo8bo2bo$3ob8ob3o4b3ob8ob3o$3bo8bo 10bo8bo$2obob6obob2o4b2obob2ob3obob2o$2ob2obo2bob2ob2o4b2ob2ob2obob2o b2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
17 0.526 152
x = 17, y = 17, rule = B3/S23 ob2ob2obob2ob2obo$2obobob3obobob2o$3bobo5bobo$2obob7obob2o$2obo9bob2o$ 3b11o$3o11b3o$o2b11o2bo$2bo11bo$ob13obo$2o13b2o$3b11o$2obo9bob2o$2obob 7obob2o$3bobo5bobo$2obobob3obobob2o$ob2ob2obob2ob2obo! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
18 0.528 171
x = 18, y = 18, rule = B3/S23 ob2ob2ob2obob2ob2o$2obobob2ob3obob2o$3bobo8bo$2obob9ob3o$2obo4bo5bo2bo $3b4o3b3obobo$3o3b4o2bobob2o$o2b2o4bobo2bobo$bobob4o2b4o2bo$2obobo2bob o4b3o$bobobo2bob5o$o2bob2obo6b3o$4obo2b7o2bo$5bobo6bobo$6ob6obob2o$o5b o5bobo$bob2obob3obobob2o$2ob2ob2obob2ob2obo! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
19 0.526 190
x = 19, y = 19, rule = B3/S23 2ob2ob2ob2obob2ob2o$2ob2ob2obob3obob2o$9bo5bo$2ob6ob5ob3o$2obo4bobo4bo 2bo$3bob2obo2b3obobo$2obobo2b3o2bobob2o$2obo2b2o3b2o2bobo$3b3o2b3o2b3o 2bo$3o3b2o3b2o3b3o$o2b3o2b3o2b3o$bobo2b2o3b2o2bob2o$2obobo2b3o2bobob2o $bobob2obo2b3obo$o2bo4bobo4bob2o$3ob5ob6ob2o$3bo5bo$2obob3obob2ob2ob2o $2ob2obob2ob2ob2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
20 0.525 210
x = 20, y = 20, rule = B3/S23 2o2b2ob2obob2ob2ob2o$o2bobobob3obob2obob$bobobobo5bo5bo$2obobob6ob6o$b obobo6bobo5b$o2bob6obobob4o$4o6bobobobo2bo$4b5obobobobobob$4o4bobobobo bob2o$o2bob2obobobobobobob$bobobobobobob2obo2bo$2obobobobobo4b4o$bobob obobob5o4b$o2bobobobo6b4o$4obobob6obo2bo$5bobo6bobobob$6ob6obobob2o$o 5bo5bobobobob$bob2obob3obobobo2bo$2ob2ob2obob2ob2o2b2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
21 0.526 232
x = 21, y = 21, rule = B3/S23 2ob2obob2ob2obob2ob2o$2obob3obobob3obob2o$3bo5bobo5bo$3ob5obob5ob3o$o 2bo4bobo6bo2bo$bobob2obob6obobo$2obob2obo6bobob2o$bobo4b6obobobo$o2b5o 5bobobo2bo$3o5b4obobob4o$3b5o3bobob2o$3o5b2obobo4b3o$o2b4obobobob4o2bo $bobo2bobobobobo2bobo$2obobo2bobobo2bobob2o$bobob4obob4obobo$o2bo6bo6b o2bo$3ob6ob6ob3o$3bo5bobo5bo$2obob3obobob3obob2o$2ob2obob2ob2obob2ob2o ! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
22 0.523 253
x = 22, y = 22, rule = B3/S23 2ob2ob2obob2ob2ob2ob2o$bob2obob3obob2ob2ob2o$o5bo5bo$6ob5ob9o$5bobo3bo bo7bo$4obo2b2obobob4obo$o2bob2obobo2bobo2bob2o$bobobo2bobob2obo2bobo$ 2obobob2obobo2b4o2bo$bobobo2bobobobo4b3o$o2b2obobobobob5o$3o3b2obobobo 4bob2o$3b3o3bobobob2obob2o$2obo2b3obobobobobo$bobobo2bobobobobobob2o$o 2bob2obobobobobobob2o$4obo2b2obobob2obo$5bobo3bobo4bob2o$6ob5ob6ob2o$o 5bo5bo$bob2obob3obob2ob2ob2o$2ob2ob2obob2ob2ob2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
23 0.522 276
x = 23, y = 23, rule = B3/S23 2ob2ob2obob2obob2ob2obo$bob2obob3obob2obobob2o$o5bo5bo4bobo$6ob5ob5obo b2o$5bobo3bobo5bob2o$4obo2b2obobob5o$o2bob2obobobobobo3b3o$bobobo2bobo bobo3b2o2bo$2obo2b3obobob4obobo$3b3o3bobobo3bobob2o$3o3b3o2bo2b3o2bobo $o2b3o3b2ob2o3b3o2bo$bobo2b3o2bo2b3o3b3o$2obobo3bobobo3b3o$bobob4obobo b3o2bob2o$o2b2o3bobobobo2bobobo$3o3bobobobobob2obo2bo$3b5obobob2o2bob 4o$2obo5bobo3bobo$2obob5ob5ob6o$3bobo4bo5bo5bo$2obobob2obob3obob2obo$o b2ob2obob2obob2ob2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
24 0.523 301
x = 24, y = 24, rule = B3/S23 2ob2ob2obob2ob2obob2ob2o$2ob2obob3obobob3obob2o$6bo5bobo5bo3b$4obob6o 2b6ob2o$o2bobobo5bobo6b2o$bobobo2b6obob4o3b$2obob3o6bob2o3b3o$bobo4b5o bo4b2o2bo$o2b5o3bobob4obobob$3o5b2o3bobo2bobob2o$3b4obob4obo2bobobob$ 3o3bobobo4b4obo2bo$o2b2obobobob3o5b4o$bobobobob2obo2b5o4b$2obobobo4bob o5b4o$bobobob6ob5obo2bo$o2b2obo6bo4bobobob$3o3bob4obob2obobob2o$3b4obo 2bobobob2obobob$2o6bobo2bobo4bo2bo$2ob6ob4ob5ob3o$3bo5bo4bo5bo3b$2obob 3obob2obob3obob2o$2ob2obob2ob2ob2obob2ob2o! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
25 0.522 326
x = 25, y = 25, rule = B3/S23 ob2ob2obob2ob2obob2ob2obo$2obobob3obobob3obobob2o$3bobo5bobo5bobo3b$2o bob7ob7obob2o$2obo8bo8bob2o$3b8o2b9o3b$3o3bo3b3o9b3o$o2b2o3bo4b9o2bo$b obob8o8bobob$2obobo7b7obob2o$o2bobob6o6bobo2bo$bobobobo4bob4obobobob$ 2obobobob2obobo2bobobob2o$o2bobob2obobobo2bobobo2bo$bobobo4bobob4obobo bob$2obob6obo5b2obob2o$bobo8b5o4bobob$o2b9o4b6o2bo$3o9b3o7b3o$3b9o2b8o 3b$2obo8bo8bob2o$2obob7ob7obob2o$3bobo5bobo5bobo3b$2obobob3obobob3obob ob2o$ob2ob2obob2ob2obob2ob2obo! #C [[ THUMBSIZE 2 THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH ]] #C [[ THUMBSIZE 3 ]]
(click above to open LifeViewer)
RLE: here Plaintext: here
  • For any side length of the form 3n-1, a segment of block agar can be used to reach a population of 4n2; to n=4 this is the optimal solution, as can be seen in the above table.
  • The maximum density of an n × n still life is greater than or equal to 1/2 for all finite n>1.[3]

Densities of other objects

  • The maximum density of a still life agar was proven to be 1/2 by Noam Elkies[4] (this is known as the still life conjecture).
  • The maximum average density of an oscillating agar is conjectured but not proven to be 1/2. The current upper bound is 1176/2087≈0.563, proven by Keith Amling in 2024.[5]
  • The density of ash is approximately 0.0287 (1 in 35).
  • By observation, the density of a space dusty oscillator or spaceship is usually between 0.25 and 0.3.[6]

References

  1. "Maximum Density Still Life". Neil Yorke-Smith (August 4, 2003).
  2. "A Complete Solution to the Maximum Density Still Life Problem". Geoffrey Chu, Peter J. Stuckey, NICTA Victoria Laboratory, Department of Computing and Information Systems, University of Melbourne, Australia (November 8, 2013).
  3. Nathaniel Johnston, Dave Greene. Conway's Game of Life: Mathematics and Construction (2022), 2.5.
  4. Noam D. Elkies (May 31, 1999). "The still-Life density problem and its generalizations". Retrieved on May 26, 2022.
  5. Keith Amling (January 9, 2024). Re: Unproven conjectures (discussion thread) at the ConwayLife.com forums
  6. David Raucci (May 29, 2022). Re: Can we substantiate this claim? (discussion thread) at the ConwayLife.com forums