陈国文 刘晓梅 程思婧
编者按
这不是一篇数学建模论文,其中有价值的只是我们的零星思想和琐碎模型,我们不想让两天(第二天意志不坚定放弃了一天)的努力白费,所以斗胆将这篇单纯的文章呈交上来,只希望能得到全面的解答剖析以及中肯的意见,因为路漫漫其修远兮,吾将上下而求索!
摘要
对于概率问题,我们首先想到的是高中掌握的基本概率知识,结合微积分基础知识,得到连续函数的表达式用以描述浏览人数随时间的变化情况,随后通过查阅有关课件和书籍,我们了解到了蒙特卡洛模拟仿真方法,通过简单的借鉴和应用我们做出了第二个模型和第三个模型,并依靠MATLAB和Excel得到最后的问题一、二和三的结果,即浏览人数随时间的柱状图和曲线变化情况。
关键字:概率 积分 蒙特卡洛模拟 曲线变化
模型假设
由于本题涉及网络环境以及人员复杂,故我们在研究时做出如下合理假设:
1.假设麦兜的好友及麦兜好友的好友上网在区间内是随机的好友之间互不影响;
2.麦兜好友的好友数中不包括麦兜;
3.麦兜好友的好友上网发新鲜事的条数为0,1或2条;
4.假设麦兜好友的上网是时刻性的,即上网时间忽略不计,且8点至23内仅一次。
5.假设麦兜好友的好友发表新鲜事的概率可以通过麦兜好友的人数以及其发表新鲜事的条数按比例关系推算出来,即麦兜好友的好友发表新鲜事的概率为,不发表新鲜事的概率为。
问题1
模型(1)建立
假设麦兜的好友编号为,且设该好友在9点后9+x时刻上线,为编号为好友在(t+9)时刻上网是能看到日志的概率,为该好友的好友数,那么由基本概率知识可得:
=+
所以,在t时刻,单位时间内浏览日志人数便定义为函数
即为浏览人数随时间变化情况的量度!
模型(2)建立
根据假设,我们可以计算出麦兜好友的好友发表新鲜事的概率为,则不发表新鲜事的概率为。这里,我们借鉴蒙特卡洛模拟的方法将8点到23点这十五个小时的时间划分为15*60*60个以一秒为时间长度的小间隔,假设麦兜的好友们可以在这些时间内自由上网,麦兜的第号好友在时间段0~54000内随机上网,当其上网时间 (为麦兜的朋友序号)出现在3600~n+3600的时间段内,特定变量n取得
n=1
否则 n=0
同理,对于在此时间段麦兜好友的好友发表新鲜事的处理,我们再引用特定变量m,使得当麦兜好友的好友发表新鲜事时
m=1
否则 m=0
然后我们设变量=nm,对其求和
Q=sum()
若Q不大于30,则本次循环的最终变量x满足
x=1
否则 x=0
通过MATLAB产生随机数模拟麦兜的1号好友看到麦兜9点钟发表的日志的情况,以此类推,以同样的模拟研究麦兜所有2位好友的看到麦兜9店中发表日志的情况。
模型(3)建立
将8点~23点这段时间离散化,分成15个长度为一小时的时间段。首先通过MATLAB模拟出麦兜的每个好友上网的时段,再模拟出在这个时段之前麦兜好友上网的数目。根据麦兜的好友发布0,1,2条新鲜事的概率模拟出这个时间段之前上网的好友发布的新鲜事的条数。如果新鲜事的条数小等于30,则表示这个好友能看到麦兜的日志。将这样的模拟进行10000次以近似地计算出浏览该日志的人数变化情况。
问题1求解
对于问题一,我们通过以上三种模型,利用MATLAB和Excel得出以下数据结果和图形情况:
柱状图纵坐标如下:
21.12,39.56,55.21,58.,60.7,62.86,.28,65.06,65.66,65.88,66.17,66.17,66.2,66.3,66.3,66.3
通过图形和数据,我们可以看到:
麦兜9点钟发表的日志浏览人数在11点前呈现出明显的递增趋势,由22人左右递增至60人左右,在11点至23点的时间段内,浏览人数基本不变。
问题2
模型建立
对于问题2,在模型(3)的基础上,再次通过MATLAB以0.3的概率模拟麦兜的日志最迟在什么时刻被更新。第二步,同样以0.3的概率模拟麦兜好友的好友日志在该时刻以后会被更新的数量加上该时刻以后发布的数量,如果这个总数小等于30,则这个好友能看到麦兜的日志。同模型(3)的处理,将这个模拟进行10000次以近似地计算出浏览该日志的人数变化情况。
柱状图纵坐标如下:
23.76,42.11,.27,81.62,91.25,100.75,111.49,119.36,126.62,129.72,133.36,134.92,140.15,141.86,142.84
通过图形和数据,我们可以看到:
当麦兜好友对他9点发表的日志进行评价以后,其日志浏览量有了较为显著的同比问题1的增长率,其递增区间拓展为9点至18点,且对应时间点的浏览人数也有了大幅增加。
问题3
模型求解
同理问题2,我们通过模拟得到如下数据和图表:
柱状图纵坐标如下:
612.17,2.36E+03,2.90E+03,3.25E+03,3.40E+03,3.48E+03,3.54E+03,3.58E+03,3.63E+03,3.67E+03,3.69E+03,3.70E+03,
3.70E+03,3.70E+03,3.71E+03
模型评价
就我们做出问题1的模型而言,模型(1)是我们现有概率知识和积分知识的一个简单综合应用,将离散的间断点进行连续模拟,以达到题目的“变化”要求,但由于函数式过于复杂,考虑方面有限且运算量大,通过程序计算存在困难,可行性岁不强但思维意识值得肯定;模型(2)和模型(3)是通过著名的蒙特卡洛模拟方法的启发在短时间内并不完善的运用而得到的,通过编程产生随机数来合理地模拟麦兜好友以及好友的好友上网进行浏览等活动的变化情况,是一种明智的选择,得到的结果也是较为准确和符合实际的。
对于问题2和问题3,我们巧妙借鉴问题1的模型(3),以同样的方法得到合理的结果。但由于我们电脑的问题,我们的程序不能进行上千甚或上万次的运行,所以随机结果的精确度不够,这是我们最大的不足。
面对处女作,我们除了无奈还是无奈,无论是建模知识还是软件应用,我们都觅九牛而难拔一毛,对于以上模型,我们只能说:尽自己最大的努力,余下的交给上帝!
模型改进
1.在求好友发表新鲜事的概率方面,我们还可以通过分别发表0、1、2条的人数细致求解;
2.在模型简化方面,可将每个好友的好友数平均或者忽略一些可以忽略的问题。
附录
运行结果图表及程序代码
问题一之模型(3)
d1=[241 207 271 130 127 351 354 238 500 204 166 318 57 136 371 114 199 80 240 151 47 161 231 187];
d2=[221 121 80 90 222 145 160 231 229 300 335 187 258 286 356 175 58 1 176 1 175 265 293];
d3=[302 231 183 124 212 192 282 153 253 247 234 162 127 194 257 249 175 192 187 149 265 231 283];
d4=[195 204 257 167 194 138 258 237 214 146 172 119 218 274 152 173 1 234 229 160 231 229 195];
d5=[204 257 167 160 231 229 300 335 187 258 286 356 175 229 160 231 229 195 204 257 167 160 231];
d6=[57 136 371 114 199 80 240 231 187 221 121 80 90 222 145 160 57 136 371 114 199 80 240 231 187];
d7=[274 152 173 1 234 229 160 231 229 195 204 114 199 80 240 231 187 274 152 173 221 121 80 90];
d8=[222 145 160 231 229 114 199 80 240 231 187 274 152 173 221 121 80 90 222 145 121 80 90 222 145];
d9=[160 57 145 121 80 90 222 335 187 258 286 356 175 229 160 145 121 80 90 222 335 187 258 231 229];
d10=[195 204 257 167 160 231 57 136 371 240 231 187 221 121 80 90 222 145 231 229 195 204 114 199 80];
d11= [175 192 187 149 265 231 283 195 204 257 167 114 199 80 240 231 249 175 192 218 135];
d=[d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11];
for n=1:2
m=0;
x=rand(1,1);
for i=1:15
if x<=i/15&x>=(i-1)/15
k=i;
end
end
for j=1:d(n)
d(n)
y=rand(1,1);
if y<=k/15&y>1/15;
z=rand(1,1);
if z>29/132&z<=125/132
m=m+1;
elseif y>125/132&y<=1
m=m+2;
end
end
end
for u=1:15
q=q+p(u)/10;
u
q
end
问题二
d1=[241 207 271 130 127 351 354 238 500 204 166 318 57 136 371 114 199 80 240 151 47 161 231 187];
d2=[221 121 80 90 222 145 160 231 229 300 335 187 258 286 356 175 58 1 176 1 175 265 293];
d3=[302 231 183 124 212 192 282 153 253 247 234 162 127 194 257 249 175 192 187 149 265 231 283];
d4=[195 204 257 167 194 138 258 237 214 146 172 119 218 274 152 173 1 234 229 160 231 229 195];
d5=[204 257 167 160 231 229 300 335 187 258 286 356 175 229 160 231 229 195 204 257 167 160 231];
d6=[57 136 371 114 199 80 240 231 187 221 121 80 90 222 145 160 57 136 371 114 199 80 240 231 187];
d7=[274 152 173 1 234 229 160 231 229 195 204 114 199 80 240 231 187 274 152 173 221 121 80 90];
d8=[222 145 160 231 229 114 199 80 240 231 187 274 152 173 221 121 80 90 222 145 121 80 90 222 145];
d9=[160 57 145 121 80 90 222 335 187 258 286 356 175 229 160 145 121 80 90 222 335 187 258 231 229];
d10=[195 204 257 167 160 231 57 136 371 240 231 187 221 121 80 90 222 145 231 229 195 204 114 199 80];
d11= [175 192 187 149 265 231 283 195 204 257 167 114 199 80 240 231 249 175 192 218 135];
d=[d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11];
for n=1:2
m=0;
x=rand(1,1);
for i=1:15
if x<=i/15&x>=(i-1)/15
k=i;
end
end
for n=1:2
m=0;
for c=1:k
v=rand(1,1);
if v<=0.7
w=c;
end
end
for j=1:d(n)
d(n)
y=rand(1,1);
if y<=k/15&y>w/15;
z=rand(1,1);
if z>29/132&z<=125/132
m=m+1;
elseif y>125/132&y<=1
m=m+2;
end
end
end
for u=1:15
q=q+p(u)/10;
u
q
end
问题三
d1=[241 207 271 130 127 351 354 238 500 204 166 318 57 136 371 114 199 80 240 151 47 161 231 187];
d2=[221 121 80 90 222 145 160 231 229 300 335 187 258 286 356 175 58 1 176 1 175 265 293 302];
d3=[231 183 124 212 192 282 153 253 247 234 162 127 194 257 249 175 192 187 149 265 231 283 195 204];
d4=[257 167 194 138 258 237 214 146 172 119 218 274 152 173 1 234 229 160 231 229 195 204 257 167];
d5=[160 231 229 300 335 187 258 286 356 175 229 160 231 229 195 204 257 167 160 231 57 136 371 114];
d6=[199 80 240 231 187 221 121 80 90 222 145 160 57 136 371 114 199 80 240 231 187 274 152 173];
d7=[1 234 229 160 231 229 195 204 114 199 80 240 231 187 274 152 173 221 121 80 90 222 145 160];
d8=[231 229 114 199 80 240 231 187 274 152 173 221 121 80 90 222 145 121 80 90 222 145 160 57];
d9=[145 121 80 90 222 335 187 258 286 356 175 229 160 145 121 80 90 222 335 187 258 231 229 195];
d10=[204 257 167 160 231 57 136 371 240 231 187 221 121 80 90 222 145 231 229 195 204 114 199 80];
d11=[240 231 249 175 192 187 149 265 231 283 195 204 257 167 114 199 80 240 231 249 175 192 218 135];
d=[d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11];
p(1:15)=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
q=0;
for r=1:10
w=1;
x=rand(1,1);
for i=1:15
if x=(i-1)/15
k=i;
end
end
for n=1:2
m=0;
for c=1:k
v=rand(1,1);
if v<=0.7
w=c;
end
end
for j=1:d(n)
y=rand(1,1);
if y<=k/15&y>w/15
z=rand(1,1);
if z>29/132&z<=125/132
m=m+1;
elseif y>125/132
m=m+2;
end
elseif y<=w/15
s=rand(1,1);
if s<=0.7&rand(1,1)>29/132
m=m+1;
end
end
end
if m<=30
p(k)=p(k)+1;
for i=1:15
x=rand(1,1);
if x=(i-1)/15
g=i;
end
end
if rand(1,1)<=0.7
for j=1:d(n)
y=rand(1,1);
if y>g/15
p(k)=p(k)+1;
end
end
end
end
end
end
for u=1:15
q=q+p(u)/10;
u
q
end
备注
由于我们对文档转换经验不足,所以造成迟交文章的局面。我们还要学的东西很多很多,希望你们能谅解,作为大一新生,从第二学期准备数模的我们在论文书写和排版的经验和技术差之千里,但我们相信:有志者事竟成百二秦关终归楚,苦心人天不负三千越甲可吞吴!再次致以深深地歉意!下载本文