验证Ross《随机过程》(第二版)1.9C
生活随笔
收集整理的這篇文章主要介紹了
验证Ross《随机过程》(第二版)1.9C
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
針對(duì)4條射線,
射線擁有的定點(diǎn)數(shù)分別為:5,6,4,7個(gè)點(diǎn)
驗(yàn)證代碼如下:
# -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') # @Author: Chi Yu # @Date: 2018-06-15 13:40:21 # @Last Modified by: appleyuchi # @Last Modified time: 2018-06-15 15:45:26print"hello world" import random sum1=0#在第1條射線上的累計(jì)步數(shù) sum2=0 sum3=0 sum4=0leaf1=0#第1個(gè)射線上的葉子被訪問的次數(shù) leaf2=0#第2個(gè)射線上的葉子被訪問的次數(shù) leaf3=0#第3個(gè)射線上的葉子被訪問的次數(shù) leaf4=0#第4個(gè)射線上的葉子被訪問的次數(shù)ray=[5,6,4,7]#每條射線的頂點(diǎn)數(shù),不包含射線的起點(diǎn),即star graph的中心點(diǎn)0. ray_number=len(ray)def ray_select(ray_number):ray_count= random.randrange(1,ray_number+1,1)#注意這個(gè)隨機(jī)范圍是[1,ray_number+1),ray_number+1不能被取到,所以隨機(jī)概率大概是1/4return ray_counttotal=2000for i in range(total):#0到9999,共10000輪print "---------------------------------------------------index=%s-------------------------------------"%(i)ray_count=ray_select(ray_number)#初始選擇射線print "ray_count",ray_countsum1=1#因?yàn)橹行狞c(diǎn)選擇射線后,當(dāng)前積累步數(shù)是1while True:step= random.randrange(-1,2,2)#隨機(jī)范圍[-1,2),右側(cè)開區(qū)間,間隔為2.所以最終產(chǎn)生的數(shù)為-1和1print"step=",stepsum1=sum1+step#這里可能是加,也可能是減,加到長度為ray1的時(shí)候,說明訪問到了葉子節(jié)點(diǎn)print"sum1=",sum1print"----------------"if sum1==0:#如果跳回中心點(diǎn)0 ray_count=ray_select(ray_number)#選擇完射線后,繼續(xù)進(jìn)入下一輪的while循環(huán)sum1=1continue#-----------------如果訪問到第1條射線的葉子節(jié)點(diǎn)------------------------------------if ray_count==1 and sum1==ray[0]:#如果訪問到了葉子節(jié)點(diǎn)# sum1=sum1-1#葉子節(jié)點(diǎn)具有反射壁功能,葉子節(jié)點(diǎn)的下一步以概率1跳回臨近節(jié)點(diǎn)sum1=0leaf1=leaf1+1break#這一輪實(shí)驗(yàn)結(jié)束,跳出內(nèi)循環(huán)#-----------------如果訪問到第2條射線的葉子節(jié)點(diǎn)------------------------------------if ray_count==2 and sum1==ray[1]:#如果訪問到了葉子節(jié)點(diǎn)# sum1=sum1-1#葉子節(jié)點(diǎn)具有反射壁功能,葉子節(jié)點(diǎn)的下一步以概率1跳回臨近節(jié)點(diǎn)leaf2=leaf2+1break#這一輪實(shí)驗(yàn)結(jié)束,跳出內(nèi)循環(huán)#-----------------如果訪問到第3條射線的葉子節(jié)點(diǎn)------------------------------------if ray_count==3 and sum1==ray[2]:#如果訪問到了葉子節(jié)點(diǎn)# sum1=sum1-1#葉子節(jié)點(diǎn)具有反射壁功能,葉子節(jié)點(diǎn)的下一步以概率1跳回臨近節(jié)點(diǎn)leaf3=leaf3+1break#這一輪實(shí)驗(yàn)結(jié)束,跳出內(nèi)循環(huán)#-----------------如果訪問到第4條射線的葉子節(jié)點(diǎn)------------------------------------if ray_count==4 and sum1==ray[3]:#如果訪問到了葉子節(jié)點(diǎn)# sum1=sum1-1#葉子節(jié)點(diǎn)具有反射壁功能,葉子節(jié)點(diǎn)的下一步以概率1跳回臨近節(jié)點(diǎn)leaf4=leaf4+1break#這一輪實(shí)驗(yàn)結(jié)束,跳出內(nèi)循環(huán)print"leaf1=",leaf1 print"leaf2=",leaf2 print"leaf3=",leaf3 print"leaf4=",leaf4total=total*1.0 print"The leaf1 ratio is:",(leaf1/total) print"The leaf2 ratio is:",(leaf2/total) print"The leaf3 ratio is:",(leaf3/total) print"The leaf4 ratio is:",(leaf4/total)實(shí)驗(yàn)結(jié)果為:
根據(jù)書上公式計(jì)算:
擁有5個(gè)頂點(diǎn)的射線上的末端(葉子節(jié)點(diǎn))被首次訪問的概率為:
(1/5)/[(1/5)+(1/4)+(1/6)+(1/7)]=0.263
?
擁有6個(gè)頂點(diǎn)的射線上的末端(葉子節(jié)點(diǎn))被首次訪問的概率為:
(1/6)/[(1/5)+(1/4)+(1/6)+(1/7)]=0.219
?
擁有4個(gè)頂點(diǎn)的射線上的末端(葉子節(jié)點(diǎn))被首次訪問的概率為:
(1/4)/[(1/5)+(1/4)+(1/6)+(1/7)]=0.329
擁有7個(gè)頂點(diǎn)的射線上的末端(葉子節(jié)點(diǎn))被首次訪問的概率為:
(1/7)/[(1/5)+(1/4)+(1/6)+(1/7)]=0.188
總結(jié)
以上是生活随笔為你收集整理的验证Ross《随机过程》(第二版)1.9C的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab验证Ross随机过程(第二版
- 下一篇: Ross《随机过程》(第二版)装填问题P