## GOE checker model for game of life

For scripts to aid with computation or simulation in cellular automata.

### GOE checker model for game of life

Hi!

I've made scripts in modeling languages, which can check a pattern if it is GOE or not. Some results:

If one certain cell is removed from the GOE #6 - http://conwaylife.com/wiki/Garden_of_Eden_6 -, some fathers are here - since now two removals were checked only:

`4ob3ob3o\$obo5bobo\$4bo3bo2bo\$2o2bobo3bo\$o2bo3b2o\$bo3bo2b2obo\$o3bo5bo\$2b2o3b2o\$o4b2o3bo\$obo6b3o\$4b2o2b2o\$obo3b2obo!`

`2bo2bo3b3o\$obob2ob2obo\$bobo5bo\$2o2bo3b2o\$2bo2b2o3b2o\$bo3bobo2bo\$o3bob2obo\$bob2o2bo3bo\$o7bob2o\$3bobobo3bo\$obo2bo3b2o\$4bo5b2o!`

Posts: 260
Joined: May 7th, 2016, 8:53 am

### Re: GOE checker model for game of life

Weekly related, but this script checks a huge pattern mentioned by Saka if it is a GOE.

Other weekly related:
I wondered if composing itself a margolus 1D automata that has at least two states including 0 and 1, if it could emulate arbitrary Wolfram rule. Spoiler: yes, for all 256 Wolfram elementary automata, at most 5 states are enough.
Tried it, so I began modeling it with GMPL (a strict subset of AMPL) using GNU Linear Programming Kit (GLPK) in order perform a search to find minimal margolus 1D rules that could be composed itself yielding a Wolfram rule, objective for minimizing was the number of states. The stunning results are - transition tables in a compact form, where asterisk could be arbitrary value (does not count):

`Found a solution for rule 0:0000--Found a solution for rule 1:32**22****00**01--Found a solution for rule 2:02122*0*0--Found a solution for rule 3:33**22****00**01--Found a solution for rule 4:001023**0*****00--Found a solution for rule 5:43*0002***0*0**1*0*****01--Found a solution for rule 6:01**231000****00--Found a solution for rule 7:22**130**110*0*0--Found a solution for rule 8:00102*0*0--Found a solution for rule 9:32***24*****001**01***0*0--Found a solution for rule 10:021*23**0*01**00--Found a solution for rule 11:220*03**0*110**0--Found a solution for rule 12:02000*1**--Found a solution for rule 13:31**221**000*0*1--Found a solution for rule 14:01*221000--Found a solution for rule 15:33**22****00**11--Found a solution for rule 16:02022*1*0--Found a solution for rule 17:32**32****00**01--Found a solution for rule 18:02122*1*0--Found a solution for rule 19:23**33****11**10--Found a solution for rule 20:020*130**1*0*0*0--Found a solution for rule 21:201023**0*1***00--Found a solution for rule 22:01**231010****00--Found a solution for rule 23:32***1401**1**0**11**0**0--Found a solution for rule 24:02020*1*0--Found a solution for rule 25:200123**0*1***00--Found a solution for rule 26:021*23**1*01**00--Found a solution for rule 27:43***32*****00***101***11--Found a solution for rule 28:03*022**1*00**1*--Found a solution for rule 29:31**221**001*0*1--Found a solution for rule 30:01*221100--Found a solution for rule 31:301*22**0*011**1--Found a solution for rule 32:200120000--Found a solution for rule 33:300*12*0*00*0**1--Found a solution for rule 34:0100--Found a solution for rule 35:300*12*0*00*1**1--Found a solution for rule 36:02020*0*1--Found a solution for rule 37:32***24*****100**01***0*0--Found a solution for rule 38:021*03**1**00**0--Found a solution for rule 39:23***34*****11***010***00--Found a solution for rule 40:201120000--Found a solution for rule 41:31*0021*0*0**0*1--Found a solution for rule 42:01*0210*0--Found a solution for rule 43:210*03*1*11*0**0--Found a solution for rule 44:03*022**0*01**1*--Found a solution for rule 45:301*22**1*000**1--Found a solution for rule 46:02100*1**--Found a solution for rule 47:31**221**100*1*1--Found a solution for rule 48:0010--Found a solution for rule 49:32**1211*00***01--Found a solution for rule 50:021121*00--Found a solution for rule 51:23**23****11**00--Found a solution for rule 52:001023**1*****00--Found a solution for rule 53:32***24*****110**01***0*0--Found a solution for rule 54:021*23**1*10**00--Found a solution for rule 55:22**23****10**00--Found a solution for rule 56:00112**00--Found a solution for rule 57:31*1021*0*0**0*1--Found a solution for rule 58:211021010--Found a solution for rule 59:21**2301*11***00--Found a solution for rule 60:02020*1*1--Found a solution for rule 61:301*22**1*010**1--Found a solution for rule 62:01*221110--Found a solution for rule 63:22**23****11**00--Found a solution for rule 64:00002*1*0--Found a solution for rule 65:32***24*****000**01***1*0--Found a solution for rule 66:02120*0*0--Found a solution for rule 67:22**130**010*1*0--Found a solution for rule 68:00120*0**--Found a solution for rule 69:320002**1*0***01--Found a solution for rule 70:021*32****010*0*--Found a solution for rule 71:32**1200*10***11--Found a solution for rule 72:00102*1*0--Found a solution for rule 73:32***24*****001**01***1*0--Found a solution for rule 74:021*23**0*01**10--Found a solution for rule 75:220*03**0*111**0--Found a solution for rule 76:001123**0*****10--Found a solution for rule 77:41***2311**0**0**10**0**1--Found a solution for rule 78:01**231100****10--Found a solution for rule 79:22**130**111*1*0--Found a solution for rule 80:020*23**1*00**10--Found a solution for rule 81:200023**0*1***10--Found a solution for rule 82:021*23**1*00**10--Found a solution for rule 83:42***23*****001**10***1*1--Found a solution for rule 84:020120*10--Found a solution for rule 85:23**23****10**10--Found a solution for rule 86:021120*10--Found a solution for rule 87:320102**1*0***11--Found a solution for rule 88:020*23**1*01**10--Found a solution for rule 89:200123**0*1***10--Found a solution for rule 90:0110--Found a solution for rule 91:23***34*****11***101***10--Found a solution for rule 92:020*130**1*1*1*0--Found a solution for rule 93:21**2311*01***10--Found a solution for rule 94:01**231110****10--Found a solution for rule 95:2310*04*****11*1***11***0--Found a solution for rule 96:210020100--Found a solution for rule 97:31*0020*1*0**0*1--Found a solution for rule 98:01*0201*0--Found a solution for rule 99:300*12*0*10*1**1--Found a solution for rule 100:020*32****010*1*--Found a solution for rule 101:32**1210*10***01--Found a solution for rule 102:02102*1*0--Found a solution for rule 103:32**1210*10***11--Found a solution for rule 104:201120010--Found a solution for rule 105:31*0021*1*0**0*1--Found a solution for rule 106:01*0211*0--Found a solution for rule 107:210*03*1*11*1**0--Found a solution for rule 108:020*23**0*11**10--Found a solution for rule 109:23***34*****10***011***10--Found a solution for rule 110:021*03**1**11**0--Found a solution for rule 111:23***34*****11***011***10--Found a solution for rule 112:00012**10--Found a solution for rule 113:20*0131*0*1**1*0--Found a solution for rule 114:200121110--Found a solution for rule 115:22**131**010*1*0--Found a solution for rule 116:00120*1**--Found a solution for rule 117:321102**1*0***01--Found a solution for rule 118:021121*10--Found a solution for rule 119:33**32****01**01--Found a solution for rule 120:00112**10--Found a solution for rule 121:20*1131*0*1**1*0--Found a solution for rule 122:201121110--Found a solution for rule 123:221*03**0*111**0--Found a solution for rule 124:001123**1*****10--Found a solution for rule 125:43***32*****01***111***01--Found a solution for rule 126:02120*1*1--Found a solution for rule 127:33**32****01**11--Found a solution for rule 128:0001--Found a solution for rule 129:12*210*00--Found a solution for rule 130:120201000--Found a solution for rule 131:22001*001--Found a solution for rule 132:0012100**--Found a solution for rule 133:301*210*0**00**1--Found a solution for rule 134:301*210*0**01**0--Found a solution for rule 135:22001*101--Found a solution for rule 136:00102*0*1--Found a solution for rule 137:21**31*0*01**00*--Found a solution for rule 138:01*21000*--Found a solution for rule 139:11*210*0*--Found a solution for rule 140:02001*11*--Found a solution for rule 141:320001**11****01--Found a solution for rule 142:320001**11****10--Found a solution for rule 143:22001*111--Found a solution for rule 144:020210100--Found a solution for rule 145:2002100*1--Found a solution for rule 146:120201010--Found a solution for rule 147:300*210*0**11**1--Found a solution for rule 148:320101**10****00--Found a solution for rule 149:2012100*1--Found a solution for rule 150:301*210*0**11**0--Found a solution for rule 151:301*210*0**11**1--Found a solution for rule 152:020120*01--Found a solution for rule 153:21*210*01--Found a solution for rule 154:01*21010*--Found a solution for rule 155:21**31*0*11**01*--Found a solution for rule 156:320101**11****00--Found a solution for rule 157:23**210***10*11*--Found a solution for rule 158:01**231110****01--Found a solution for rule 159:320101**11****11--Found a solution for rule 160:300*12*0*01*0**0--Found a solution for rule 161:200120001--Found a solution for rule 162:01*0200*1--Found a solution for rule 163:210020011--Found a solution for rule 164:120200001--Found a solution for rule 165:1001--Found a solution for rule 166:02101*10*--Found a solution for rule 167:301*210*1**01**1--Found a solution for rule 168:21001**00--Found a solution for rule 169:21001**01--Found a solution for rule 170:0101--Found a solution for rule 171:21001**11--Found a solution for rule 172:020210011--Found a solution for rule 173:321001**11****01--Found a solution for rule 174:02101*11*--Found a solution for rule 175:32**210**110**11--Found a solution for rule 176:00012**01--Found a solution for rule 177:211020001--Found a solution for rule 178:211*03*0*10*0**1--Found a solution for rule 179:22101*001--Found a solution for rule 180:0012101**--Found a solution for rule 181:301*210*1**10**1--Found a solution for rule 182:120201011--Found a solution for rule 183:22*210*01--Found a solution for rule 184:00112**01--Found a solution for rule 185:21101**01--Found a solution for rule 186:01*21011*--Found a solution for rule 187:1101--Found a solution for rule 188:22101*110--Found a solution for rule 189:12*210*11--Found a solution for rule 190:120201111--Found a solution for rule 191:22*210*11--Found a solution for rule 192:00002*1*1--Found a solution for rule 193:32**1100*0****01--Found a solution for rule 194:01*220001--Found a solution for rule 195:22*110*01--Found a solution for rule 196:0012110**--Found a solution for rule 197:301*211*0**00**1--Found a solution for rule 198:301*211*0**01**0--Found a solution for rule 199:22**31*1*011**0*--Found a solution for rule 200:1110--Found a solution for rule 201:32**211**100**01--Found a solution for rule 202:121201100--Found a solution for rule 203:22**31*1*110**0*--Found a solution for rule 204:00122*0*1--Found a solution for rule 205:31**211**0*0*0*1--Found a solution for rule 206:01*21100*--Found a solution for rule 207:11*211*0*--Found a solution for rule 208:020110*0*--Found a solution for rule 209:12*110*0*--Found a solution for rule 210:021110*0*--Found a solution for rule 211:23**1110**11*0**--Found a solution for rule 212:301*211*0**10**0--Found a solution for rule 213:2012110*1--Found a solution for rule 214:301*211*0**11**0--Found a solution for rule 215:301*211*0**11**1--Found a solution for rule 216:121200110--Found a solution for rule 217:23**211***10*10*--Found a solution for rule 218:121201110--Found a solution for rule 219:12*211*10--Found a solution for rule 220:020110*1*--Found a solution for rule 221:12*110*1*--Found a solution for rule 222:01*21110*--Found a solution for rule 223:31**211**0*1*1*1--Found a solution for rule 224:20*1100*0--Found a solution for rule 225:20*1100*1--Found a solution for rule 226:01*0201*1--Found a solution for rule 227:20*1101*1--Found a solution for rule 228:121200001--Found a solution for rule 229:301*211*1**00**1--Found a solution for rule 230:2012111*0--Found a solution for rule 231:12*211*01--Found a solution for rule 232:210*03*1*00*1**1--Found a solution for rule 233:210021101--Found a solution for rule 234:01*0211*1--Found a solution for rule 235:201120111--Found a solution for rule 236:1000--Found a solution for rule 237:21*110*01--Found a solution for rule 238:02102*1*1--Found a solution for rule 239:21*110*11--Found a solution for rule 240:1100--Found a solution for rule 241:20*1110*1--Found a solution for rule 242:20*1111*0--Found a solution for rule 243:1011--Found a solution for rule 244:0012111**--Found a solution for rule 245:32**211**011**01--Found a solution for rule 246:121201011--Found a solution for rule 247:22*211*01--Found a solution for rule 248:00112**11--Found a solution for rule 249:211021101--Found a solution for rule 250:20*1131*1*0**1*1--Found a solution for rule 251:211021111--Found a solution for rule 252:21*111*00--Found a solution for rule 253:21*111*01--Found a solution for rule 254:0111--Found a solution for rule 255:1111`

Posts: 260
Joined: May 7th, 2016, 8:53 am

### Re: GOE checker model for game of life

If one certain cell is removed from the GOE #6 - http://conwaylife.com/wiki/Garden_of_Eden_6 -, some fathers are here - since now two removals were checked only:

`4ob3ob3o\$obo5bobo\$4bo3bo2bo\$2o2bobo3bo\$o2bo3b2o\$bo3bo2b2obo\$o3bo5bo\$2b2o3b2o\$o4b2o3bo\$obo6b3o\$4b2o2b2o\$obo3b2obo!`

`other predecessor, not relevant yet`

Tidyed a bit manually:

`x = 16, y = 17, rule = B3/S23ob2ob2ob2o2b2obo\$b14o\$6ob3ob5o\$3obo5bobob2o\$bo4bo3bo2b2o\$4o2bobo3bob2o\$3o2bo3b2o3b2o\$bobo3bo2b2ob2o\$b2o3bo5bobo\$2o2b2o3b2o3b2o\$3o4b2o3bob2o\$b2obo6b4o\$bo4b2o2b2o2bo\$3obo3b2obo2b2o\$3obob10o\$b14o\$ob2ob2ob2o2b2obo![[ AUTOFIT STOP 1 ]]`

Good algorithm ideas wanted for creating such bounds fast!

Posts: 260
Joined: May 7th, 2016, 8:53 am

### Re: GOE checker model for game of life

I've made scripts in modeling languages, which can check a pattern if it is GOE or not. Some results:
...

Now it is included in GNU Linear Programming Kit examples, look up for included life_goe.mod file for more details.

http://lists.gnu.org/archive/html/help- ... 00012.html

On ubuntu simply type:
`\$ sudo apt-get install -y glpk-utils`

And then acquire life_goe.mod from latest tarball, and run with
`\$ glpsol --cuts --last --math life_goe.mod`

Model file is self-explanatory, documented. Ask me if you have questions.