找回密码
 欢迎注册
楼主: KeyTo9_Fans

[原创] 数字"1"在三角阵中的生存概率

[复制链接]
发表于 2013-8-1 21:28:02 | 显示全部楼层
把上面的关于p的多项式 (生存概率) 画在一个图里面,看看趋势:
貌似N 越大,曲线的坡度越陡,越接近于一个阶跃函数(90度的折线)。


p.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-8-1 22:12:32 来自手机 | 显示全部楼层
越阶处即分界线。你能算出1的期望数目关于p的多项式吗

点评

可以的,原先的代码只需做很小的改动  发表于 2013-8-1 22:24
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-8-1 22:31:35 | 显示全部楼层
mathe 发表于 2013-8-1 22:12
越阶处即分界线。你能算出1的期望数目关于p的多项式吗


如mathe所言,给出1的期望数目

  1. {4,2 p}
  2. {5,-(-4+p) p^2}
  3. {6,-4 (-2+p) p^3}
  4. {7,p^4 (16-12 p+p^2-p^3+p^4)}
  5. {8,-2 p^5 (4-3 p-p^2+p^3) (-4+p-p^2+p^3)}
  6. {9,p^6 (64-80 p+24 p^2-13 p^3+6 p^4+8 p^5+8 p^6-14 p^7+4 p^8)}
  7. {10,-2 p^7 (-64+96 p-40 p^2+20 p^3-10 p^4-8 p^5-7 p^6-4 p^7+28 p^8-18 p^9+3 p^10)}
  8. {11,p^8 (256-448 p+240 p^2-120 p^3+65 p^4+29 p^5+24 p^6+5 p^7+14 p^8-204 p^9+223 p^10-97 p^11+31 p^12-10 p^13+p^14)}
  9. {12,-2 p^9 (-256+512 p-336 p^2+176 p^3-101 p^4-20 p^5-20 p^6+6 p^7-7 p^8-12 p^9+343 p^10-524 p^11+330 p^12-122 p^13+p^14+48 p^15-27 p^16+4 p^17)}
  10. {13,-p^10 (-1024+2304 p-1792 p^2+1008 p^3-604 p^4-7 p^5-68 p^6+69 p^7-12 p^8-15 p^9-166 p^10+2604 p^11-4980 p^12+4341 p^13-2562 p^14+1088 p^15-364 p^16+609 p^17-718 p^18+335 p^19-66 p^20+14 p^21-6 p^22+p^23)}
  11. {14,-2 p^11 (-1024+2560 p-2304 p^2+1408 p^3-876 p^4+118 p^5-68 p^6+116 p^7-9 p^8+10 p^9-176 p^10-4 p^11+4438 p^12-10544 p^13+11162 p^14-7556 p^15+3042 p^16+510 p^17-1475 p^18+2100 p^19-3196 p^20+2676 p^21-1190 p^22+388 p^23-142 p^24+20 p^25+17 p^26-8 p^27+p^28)}
  12. {15,-p^12 (-4096+11264 p-11520 p^2+7680 p^3-4960 p^4+1252 p^5-369 p^6+669 p^7-83 p^8+120 p^9-802 p^10+237 p^11-1050 p^12+34193 p^13-94583 p^14+121472 p^15-103735 p^16+66516 p^17-31313 p^18+23392 p^19-31180 p^20+39705 p^21-56551 p^22+62657 p^23-43426 p^24+20198 p^25-7060 p^26+585 p^27+1347 p^28-474 p^29-272 p^30+226 p^31-57 p^32+5 p^33)}
复制代码
再给一下 图像:
p.png

然后计算这些1的期望数目的多项式=1的时候p的值:
{4,0.5000000000}
{5,0.5374015770}
{6,0.5575439973}
{7,0.5712360524}
{8,0.5813885621}
{9,0.5893377588}
{10,0.5957991736}
{11,0.6011967994}
{12,0.6058008376}
{13,0.6097931583}
{14,0.6133015047}
{15,0.6164187214}


附带给出代码:
  1. t={{{0,1,0},1}};
  2. d=Table[{n+3,t=Table[{g[[1,1]],Total[g[[All,2]]]//Factor},{g,GatherBy[Flatten[Table[Table[{{0,Sequence@@k[[All,1]],0},(k[[All,2]]/.List->Times)i[[2]]},{k,Tuples[Table[If[i[[1,ii]]+i[[1,ii+1]]==0,{{0,1}},{{0,(1-p)},{1,p}}],{ii,Length[i[[1]]]-1}]]}],{i,t}],1],#[[1]]&]}];
  3. Factor@Sum[Total[i[[1]]]*i[[2]], {i, t}]},{n,8}]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-2-3 03:33:34 | 显示全部楼层
我把楼主的问题做成了一个游戏。

下载这个附件,解压后就可以玩这个游戏了:

01Triangle.zip (84.92 KB, 下载次数: 3)

玩法简介:

用键盘输入$p$的值,然后按回车键,就可以看到数字$1$在三角阵中如何生存了(数字$1$用黑色方块表示),如下图所示:

01Triangle.png

如果想移动显示的区域,按方向键或翻页键即可,最多显示到第$10000$行,这$1$万行数据一共占用$6$MB的内存。

随机数用time(NULL)种子、rand()函数和噪声生成,周期约为$10^14$,大概够玩$100$万次。

#####

玩了多次之后可以发现数字$1$能否生生不息的分界点在$p=0.7$附近。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-2-3 09:19:31 | 显示全部楼层
好感动,五年前的帖子。留下的还在活跃的都是真爱呀,

点评

哪能天天有灵感呀。乏的时候就灌灌水呗  发表于 2018-2-7 21:06
最近缺乏灵感提新问题,只好挖坟填坑了……  发表于 2018-2-7 19:50
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-2-3 12:04:43 | 显示全部楼层
是呀~ 那个时候《数学研发论坛》刚从5d6d里迁出不久,这是我在论坛迁移后发的第$1$个主题,被系统识别成【新人贴】了

new.png

#####

问题$1$:当$p=0.75$时,数字$1$的生存概率是多少?

我们一行一行来分析。

新增$1$行:$0.0625$几率死掉,$0.375$几率存活$1$个,$0.5625$几率存活$2$个。

新增$2$行:$0.0947265625$几率死掉,$0.2197265625$几率存活$1$个,$0.4482421875$几率存活$2$个,$0.2373046875$几率存活$3$个。

此时,存活$2$个有两种情况:并排的$11$和隔空的$101$。

由于隔空的$101$与存活$3$个是等效的,应归并到存活$3$个的情况里,归并之后的结果如下:

新增$2$行:$0.0947265625$几率死掉,$0.2197265625$几率存活$1$个,$0.369140625$存活$2$个,$0.31640625$几率存活$3$个。

新增$3$行:$0.1154632568359375$几率死掉,存活状态有$5$种:$1, 11, 111, 1001, 1111$,手算几率比较麻烦,暂时不算了。

新增$4$行:新增$4$种存活状态:$10001, 10011, 11001, 11111$。

新增$5$行:新增$7$种存活状态:$100001, 100011, 110001, 100111, 111001, 110011, 111111$。

新增$6$行:新增$12$种存活状态:$1000001, 1000011, 1001001, 1100001, 1000111, 1110001, 1100011, 1001111, 1111001, 1100111, 1110011, 1111111$。

新增$7$行:新增$21$种存活状态:略。

新增$8$行:新增$37$种存活状态:略。

新增$9$行:新增$65$种存活状态:略。

……

记新增的状态数为$a(n)$,则有$a(n) = a(n-1) + a(n-2) + a(n-4)$,该数列被收录在A005251

#####

由于状态数增长得太快了,即使合并了左右对称的状态之后,状态数依然呈指数级增长,因此难以逐一计算几率。

于是把$p$的值设为$0.75$,然后直接玩$1$亿次游戏,然后统计这$1$亿次游戏中,数字$1$死在新增的第$n$行的次数,结果如下:

  1. 1: 6249297
  2. 2: 3223650
  3. 3: 2075642
  4. 4: 1476786
  5. 5: 1116333
  6. 6: 880046
  7. 7: 708667
  8. 8: 586003
  9. 9: 493423
  10. 10: 421340
  11. 11: 360387
  12. 12: 314441
  13. 13: 275779
  14. 14: 242733
  15. 15: 215845
  16. 16: 192579
  17. 17: 171848
  18. 18: 154209
  19. 19: 139657
  20. 20: 126890
  21. 21: 115322
  22. 22: 105784
  23. 23: 95462
  24. 24: 87696
  25. 25: 80460
  26. 26: 74757
  27. 27: 68186
  28. 28: 62607
  29. 29: 58135
  30. 30: 54372
  31. 31: 50723
  32. 32: 46610
  33. 33: 43224
  34. 34: 40741
  35. 35: 37307
  36. 36: 35261
  37. 37: 32360
  38. 38: 30417
  39. 39: 28410
  40. 40: 26921
  41. 41: 25097
  42. 42: 23889
  43. 43: 22359
  44. 44: 20996
  45. 45: 19582
  46. 46: 18653
  47. 47: 17321
  48. 48: 16469
  49. 49: 15380
  50. 50: 14371
  51. 51: 14018
  52. 52: 13065
  53. 53: 12265
  54. 54: 11544
  55. 55: 10767
  56. 56: 10301
  57. 57: 9747
  58. 58: 9274
  59. 59: 8641
  60. 60: 8302
  61. 61: 7919
  62. 62: 7402
  63. 63: 7007
  64. 64: 6754
  65. 65: 6261
  66. 66: 5978
  67. 67: 5604
  68. 68: 5449
  69. 69: 5179
  70. 70: 4966
  71. 71: 4627
  72. 72: 4463
  73. 73: 4244
  74. 74: 4031
  75. 75: 3865
  76. 76: 3664
  77. 77: 3491
  78. 78: 3234
  79. 79: 3262
  80. 80: 3040
  81. 81: 2970
  82. 82: 2709
  83. 83: 2678
  84. 84: 2523
  85. 85: 2466
  86. 86: 2192
  87. 87: 2206
  88. 88: 2040
  89. 89: 1971
  90. 90: 1934
  91. 91: 1758
  92. 92: 1716
  93. 93: 1631
  94. 94: 1594
  95. 95: 1560
  96. 96: 1446
  97. 97: 1334
  98. 98: 1335
  99. 99: 1291
复制代码

而新增$100$行都没死的次数是$78959855$。

由于新增$100$行后,再继续模拟下去效率太低了,

因此不再往下模拟,而是根据以上数据的走势预测后续数据,结果如下:
  1. 100: 1239
  2. 101: 1188
  3. 102: 1139
  4. 103: 1092
  5. 104: 1048
  6. 105: 1005
  7. 106: 965
  8. 107: 925
  9. 108: 889
  10. 109: 853
  11. 110: 819
  12. 111: 786
  13. 112: 756
  14. 113: 725
  15. 114: 698
  16. 115: 670
  17. 116: 644
  18. 117: 619
  19. 118: 595
  20. 119: 573
  21. 120: 550
  22. 121: 530
  23. 122: 509
  24. 123: 491
  25. 124: 471
  26. 125: 454
  27. 126: 437
  28. 127: 421
  29. 128: 405
  30. 129: 390
  31. 130: 376
  32. 131: 361
  33. 132: 349
  34. 133: 336
  35. 134: 323
  36. 135: 312
  37. 136: 301
  38. 137: 290
  39. 138: 279
  40. 139: 269
  41. 140: 260
  42. 141: 251
  43. 142: 241
  44. 143: 233
  45. 144: 225
  46. 145: 217
  47. 146: 210
  48. 147: 202
  49. 148: 195
  50. 149: 188
  51. 150: 182
  52. 151: 175
  53. 152: 170
  54. 153: 163
  55. 154: 158
  56. 155: 153
  57. 156: 147
  58. 157: 143
  59. 158: 137
  60. 159: 133
  61. 160: 129
  62. 161: 124
  63. 162: 120
  64. 163: 116
  65. 164: 112
  66. 165: 109
  67. 166: 105
  68. 167: 101
  69. 168: 98
  70. 169: 95
  71. 170: 92
  72. 171: 89
  73. 172: 86
  74. 173: 83
  75. 174: 80
  76. 175: 78
  77. 176: 75
  78. 177: 73
  79. 178: 71
  80. 179: 68
  81. 180: 66
  82. 181: 64
  83. 182: 62
  84. 183: 60
  85. 184: 59
  86. 185: 56
  87. 186: 54
  88. 187: 53
  89. 188: 51
  90. 189: 50
  91. 190: 48
  92. 191: 47
  93. 192: 45
  94. 193: 43
  95. 194: 43
  96. 195: 41
  97. 196: 40
  98. 197: 38
  99. 198: 38
  100. 199: 36
  101. 200: 35
  102. 201: 34
  103. 202: 33
  104. 203: 32
  105. 204: 31
  106. 205: 30
  107. 206: 30
  108. 207: 28
  109. 208: 28
  110. 209: 26
  111. 210: 26
  112. 211: 25
  113. 212: 25
  114. 213: 23
  115. 214: 23
  116. 215: 23
  117. 216: 21
  118. 217: 21
  119. 218: 21
  120. 219: 20
  121. 220: 19
  122. 221: 18
  123. 222: 19
  124. 223: 17
  125. 224: 17
  126. 225: 17
  127. 226: 16
  128. 227: 16
  129. 228: 15
  130. 229: 15
  131. 230: 14
  132. 231: 14
  133. 232: 13
  134. 233: 13
  135. 234: 13
  136. 235: 13
  137. 236: 12
  138. 237: 11
  139. 238: 12
  140. 239: 11
  141. 240: 11
  142. 241: 10
  143. 242: 10
  144. 243: 10
  145. 244: 10
  146. 245: 9
  147. 246: 9
  148. 247: 9
  149. 248: 9
  150. 249: 8
  151. 250: 8
  152. 251: 8
  153. 252: 8
  154. 253: 7
  155. 254: 8
  156. 255: 7
  157. 256: 6
  158. 257: 7
  159. 258: 7
  160. 259: 6
  161. 260: 6
  162. 261: 6
  163. 262: 6
  164. 263: 6
  165. 264: 5
  166. 265: 6
  167. 266: 5
  168. 267: 5
  169. 268: 5
  170. 269: 5
  171. 270: 4
  172. 271: 5
  173. 272: 4
  174. 273: 5
  175. 274: 4
  176. 275: 4
  177. 276: 4
  178. 277: 4
  179. 278: 4
  180. 279: 3
  181. 280: 4
  182. 281: 3
  183. 282: 4
  184. 283: 3
  185. 284: 3
  186. 285: 4
  187. 286: 3
  188. 287: 3
  189. 288: 3
  190. 289: 2
  191. 290: 3
  192. 291: 3
  193. 292: 2
  194. 293: 3
  195. 294: 2
  196. 295: 3
  197. 296: 2
  198. 297: 3
  199. 298: 2
  200. 299: 2
  201. 300: 2
  202. 301: 2
  203. 302: 2
  204. 303: 2
  205. 304: 2
  206. 305: 2
  207. 306: 2
  208. 307: 2
  209. 308: 1
  210. 309: 2
  211. 310: 2
  212. 311: 1
  213. 312: 2
  214. 313: 1
  215. 314: 2
  216. 315: 1
  217. 316: 2
  218. 317: 1
  219. 318: 2
  220. 319: 1
  221. 320: 1
  222. 321: 1
  223. 322: 2
  224. 323: 1
  225. 324: 1
  226. 325: 1
  227. 326: 1
  228. 327: 1
  229. 328: 1
  230. 329: 1
  231. 330: 1
  232. 331: 1
  233. 332: 1
  234. 333: 1
  235. 334: 1
  236. 335: 1
  237. 336: 1
  238. 337: 1
  239. 338: 1
  240. 340: 1
  241. 341: 1
  242. 342: 1
  243. 344: 1
  244. 345: 1
  245. 347: 1
  246. 348: 1
  247. 350: 1
  248. 351: 1
  249. 353: 1
  250. 355: 1
  251. 357: 1
  252. 359: 1
  253. 361: 1
  254. 363: 1
  255. 365: 1
  256. 367: 1
  257. 370: 1
  258. 373: 1
  259. 376: 1
  260. 379: 1
  261. 382: 1
  262. 386: 1
  263. 389: 1
  264. 394: 1
  265. 399: 1
  266. 404: 1
  267. 410: 1
  268. 417: 1
  269. 425: 1
  270. 436: 1
  271. 449: 1
  272. 467: 1
  273. 497: 1
  274. 592: 1
  275. 此后全部幸存,不再有死亡案例
复制代码

以上死亡次数相加,得到存活$100$行之后还要死$33002$次,剩余的存活次数为$78926853$次,

所以当$p=0.75$时,数字$1$的存活概率约为$0.78926853$。

#####

玩$6$亿次游戏,再次进行数值分析,得到剩余的存活次数为$473614448$次,

所以当$p=0.75$时,数字$1$的存活概率约为$0.78935741$。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-2-5 11:06:27 | 显示全部楼层
问题$2$:要令生存概率为$0$,$p$的最大值是多少?

取$p=0.74$,玩$3$亿次游戏,求得生存概率为$0.74649012$;

取$p=0.73$,玩$3$亿次游戏,求得生存概率为$0.68895148$;

取$p=0.72$,玩$10$亿次游戏,求得生存概率为$0.600599344$;

取$p=0.71$,玩$5$亿次游戏,求得生存概率为$0.435693792$;

把以上$5$个数据点用一条曲线连起来,就得到了这样的结果:

p.png

于是就可以目测出$p$的临界值大概是$0.698$了。

#####

取$p=0.7$,玩$5$亿次游戏,求得生存概率为$0$

说明上述预测方法很不靠谱,正确的阈值应该介于$0.7$到$0.71$之间,而不是$0.698$

取$p=0.705$,玩$2$万次游戏,求得生存概率依然为$0$

说明正确的阈值应该介于$0.705$到$0.71$之间,与上述预测方法的结果相去甚远,还不如用二分法求临界值

取$p=0.706$,玩$2$万次游戏,求得生存概率明显大于$0$,

说明正确的阈值应该介于$0.705$到$0.706$之间。

取$p=0.7055$,玩$300$次游戏,求得生存概率略大于$0$,

说明正确的阈值应该介于$0.705$到$0.7055$之间。

取$p=0.7054$,玩$200$次游戏,求得生存概率为$0$,

说明正确的阈值应该介于$0.7054$到$0.7055$之间。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2018-2-6 01:19:49 | 显示全部楼层
由于我们已经拿到了$p$的临界值的足够多的小数位数($4$位小数)了,

我们接下来就可以去维基百科的《渗流阈值》词条里用【Ctrl+F】查找文本【0.7054】了。

不出所料,搜出来一张表:

pc.png

里面已经有$4$条记录了,分别对应$4$篇参考文献。

其中,最准确的结果是$0.70548522(4)$,来自参考文献[180],摘录如下:

180.png

$1999$年发表的,现在已经$2018$了,我彻底out了。

参考文献:

[180] Jensen, Iwan (1999). "Low-density series expansions for directed percolation: I. A new efficient algorithm with applications to the square lattice". J. Phys. A. 32 (28): 5233–5249.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-26 19:24 , Processed in 0.049515 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表