欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)隨機(jī)游走的示例代碼

 更新時(shí)間:2023年12月19日 09:58:10   作者:python收藏家  
隨機(jī)游走是一個(gè)數(shù)學(xué)對(duì)象,稱為隨機(jī)或隨機(jī)過程,它描述了一條路徑,該路徑由一些數(shù)學(xué)空間上的一系列隨機(jī)步驟組成,下面我們就來學(xué)習(xí)一下Python如何實(shí)現(xiàn)隨機(jī)游走的吧

隨機(jī)游走是一個(gè)數(shù)學(xué)對(duì)象,稱為隨機(jī)或隨機(jī)過程,它描述了一條路徑,該路徑由一些數(shù)學(xué)空間(如整數(shù))上的一系列隨機(jī)步驟組成。隨機(jī)游走的一個(gè)基本例子是整數(shù)線上的隨機(jī)游走,它從0開始,每一步以相等的概率移動(dòng)+1或-1。其他例子包括分子在液體或氣體中行進(jìn)時(shí)的路徑,覓食動(dòng)物的搜索路徑,波動(dòng)股票的價(jià)格和賭徒的財(cái)務(wù)狀況都可以通過隨機(jī)行走模型來近似,即使它們?cè)诂F(xiàn)實(shí)中可能不是真正的隨機(jī)。

如這些例子所示,隨機(jī)游走在許多科學(xué)領(lǐng)域都有應(yīng)用,包括生態(tài)學(xué)、心理學(xué)、計(jì)算機(jī)科學(xué)、物理學(xué)、化學(xué)、生物學(xué)以及經(jīng)濟(jì)學(xué)。隨機(jī)游走解釋了在這些領(lǐng)域中觀察到的許多過程的行為,因此可以作為記錄隨機(jī)活動(dòng)的基本模型。作為更數(shù)學(xué)的應(yīng)用,pi的值可以通過在基于代理的建模環(huán)境中使用隨機(jī)游走來近似。

別再說無聊的理論了。讓我們休息一下,同時(shí)了解一些代碼知識(shí)。所以,為了編碼隨機(jī)游走,我們基本上需要一些Python庫,一些用來做數(shù)學(xué),另一些用來繪制曲線。

所需庫

random

numpy

matplotlib

一維隨機(jī)游走

一維隨機(jī)游走的一個(gè)基本例子是整數(shù)線上的隨機(jī)游動(dòng),它從0開始,每一步移動(dòng)+1或-1、概率相等。

# Python code for 1-D random walk.
import random
import numpy as np
import matplotlib.pyplot as plt

# Probability to move up or down
prob = [0.05, 0.95]

# statically defining the starting position
start = 2
positions = [start]

# creating the random points
rr = np.random.random(1000)
downp = rr < prob[0]
upp = rr > prob[1]


for idownp, iupp in zip(downp, upp):
	down = idownp and positions[-1] > 1
	up = iupp and positions[-1] < 4
	positions.append(positions[-1] - down + up)

# plotting down the graph of the random walk in 1D
plt.plot(positions)
plt.show()

輸出

二維隨機(jī)游走

在高維數(shù)中,隨機(jī)游走點(diǎn)的集合具有有趣的幾何性質(zhì)。事實(shí)上,人們得到了一個(gè)離散的分形,即在大尺度上表現(xiàn)出隨機(jī)自相似性的集合。在小尺度上,可以觀察到由執(zhí)行行走的網(wǎng)格產(chǎn)生的“鋸齒狀”。隨機(jī)游走的軌跡是所訪問的點(diǎn)的集合,被認(rèn)為是一個(gè)集合,而不考慮游走何時(shí)到達(dá)該點(diǎn)。在一個(gè)維度中,軌跡只是行走所達(dá)到的最小高度和最大高度之間的所有點(diǎn)。

# Python code for 2D random walk.
import numpy
import pylab
import random

# defining the number of steps
n = 100000

#creating two array for containing x and y coordinate
#of size equals to the number of size and filled up with 0's
x = numpy.zeros(n)
y = numpy.zeros(n)

# filling the coordinates with random variables
for i in range(1, n):
	val = random.randint(1, 4)
	if val == 1:
		x[i] = x[i - 1] + 1
		y[i] = y[i - 1]
	elif val == 2:
		x[i] = x[i - 1] - 1
		y[i] = y[i - 1]
	elif val == 3:
		x[i] = x[i - 1]
		y[i] = y[i - 1] + 1
	else:
		x[i] = x[i - 1]
		y[i] = y[i - 1] - 1
	

# plotting stuff:
pylab.title("Random Walk ($n = " + str(n) + "$ steps)")
pylab.plot(x, y)
pylab.savefig("rand_walk"+str(n)+".png",bbox_inches="tight",dpi=600)
pylab.show()

輸出

應(yīng)用領(lǐng)域

在計(jì)算機(jī)網(wǎng)絡(luò)中,隨機(jī)游走可以對(duì)在服務(wù)器處緩沖的傳輸分組的數(shù)量進(jìn)行建模。

在群體遺傳學(xué)中,隨機(jī)游走描述了遺傳漂變的統(tǒng)計(jì)特性。

在圖像分割中,隨機(jī)游走被用于確定標(biāo)簽(即,“對(duì)象”或“背景”)以與每個(gè)像素相關(guān)聯(lián)。

在大腦研究中,隨機(jī)游走和強(qiáng)化隨機(jī)游走被用來模擬大腦中神經(jīng)元放電的級(jí)聯(lián)。

隨機(jī)游走也被用于對(duì)諸如在線社交網(wǎng)絡(luò)之類的大規(guī)模在線圖進(jìn)行采樣。

到此這篇關(guān)于Python實(shí)現(xiàn)隨機(jī)游走的示例代碼的文章就介紹到這了,更多相關(guān)Python隨機(jī)游走內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論