andom
importstatistics
defsimute_spreadpop_size=1000,initial_seed=5,i_prob=0.03,resist_prob=0.1,steps=50:
#状态:0=未接触,1=接触但未采纳,2=采纳「感染」
popution=[0]*pop_size
#随机设置初始采纳者seed
foriinrandom.samplerangepop_size,initial_seed:
popution[=2
history=[]
forstepinraeps:
new_popution=popution.copy
foriinrangepop_size:
ifpopution[==2:
#试着影响k随机接触者
tacts=random.samplerangepop_size,k=5
fortacts:
ifpopution[c]==0:
ifrandom.random
#接触後有机会直接采纳
new_popution[c]=2
1
else:
#有机会是只是「接触但未采纳」
new_popution[c]=1
elifpopution[c]==1:
#已接触过但犹豫的人,再次接触有机会采纳
ifrandom.random
new_popution[c]=2
#部分人会因为抵抗而退回未接触状态模拟忘记或排斥
foriinrangepop_size:
ifnew_popution[==2andrandom.random
1
new_popution[=1
popution=new_popution
history.appendpopution.t2
returnhistory
#范例执行示范用
if__name__=="__main__":
hist=simute_spread
print"采纳者数目每回合:",hist
print"最高采纳者:",maxhist,"於回合",hist.indexmaxhist
「AI没有发现军队,那是不可能的,所以需要病毒,我知道病毒你不能给我,就只是versation,病毒不需要,但是会写一些程式,需要你帮忙,很简单的,这样?」
1