隨機布林網路

2021-08-27 18:01:29 字數 1685 閱讀 7702

定義:維度——二維

狀態——0,1

連線,轉換規則——隨機

特徵:複雜的湧現行為

使用吸引子描述: 具有n個自動機單元,每個單元與k個單元相連。吸引子數量為a;(考夫曼s.kauffman)

吸引子數量與k,n的關係

連線度k=nk>5

k=2k=1

吸引子數

指數的n

**實現(python)

import random

seed = 10

random.seed(seed)

n = 3 # 元素數

k = 2 # 連線度

tn = 9 # 總時間

cells =

functions =

def do_and(x, y): # x,y(0,1)

return x*y

def do_or(x, y): # x,y(0,1)

if x+y == 0:

return 0

else:

return 1

def renew(pos_self):

cells_c = cells[:]

del cells_c[pos_self]

choice_law = random.choice(list(functions.keys()))

do_law = functions[choice_law] # 隨機規則

neighbor = random.sample(cells_c, k) # 第乙個隨機連線cell

shift = 0

for j in range(k):

if j == 0:

shift = neighbor[0]

shift = do_law(shift, neighbor[j]) # 隨機連線cell

cells[pos_self] = shift

return choice_law

cells_s = input()

for c in cells_s:

for i in range(tn+1):

if i == 0:

print('初始狀態 : seed =', seed, 'n =', n, 'k =', k, '\n時間 -', i, cells)

else:

pos = random.randint(0, n-1) # 隨機選中cell

law = renew(pos)

print('時間 -', i, cells, law)

布林網路的應用:生物基因

因為生物基因的顯隱性可以用布林值來表示,每個基因與另外2個基因相互作用,可以簡化成k=2的隨機布林網路

吸引子與生物基因的之間的對應

大小——基因表達方式對某種細胞型別的限制

數量——細胞種類

穩定性——細胞的內穩態特性

擾動後可達的吸引子數量——細胞分化後產生的細胞數量

吸引子的基因行為模式的交叉——生物體中細胞間的形似程度

通過變異改變吸引子種類——新型細胞的進化

薛惠鋒 吳曉軍 解丹蕊 ** 編著《複雜性人工生命 研究方法》2.2  2006.3

規則網路與隨機網路

我們把一維鏈,二維正方晶格等稱為規則網路。規則網路是指平移對稱性晶格,任何乙個格點的近鄰數目都相同。當然這只是乙個習慣用法,不是下定義,比如carley tree顯然不是隨機網路,但是也沒有規定說它屬於規則網路。隨機網路是另乙個極端,由n個頂點構成的圖中,可以存在c2n條邊,我們從中隨機連線m條邊所...

python布林系列 python 布林運算

python學習手冊 讀書筆記 真值測試 在python中 任何非零數字或非空物件都為真 數字零 空物件以及特殊物件none都被認作是假 比較和相等測試會遞迴地應用在資料結構中 比較和相等測試會返回true或false 1和0的特殊版本 布林and和or運算子會返回真或假的操作物件 python中有...

python布林類入門 Python的布林型別

前面我們了解到,布林型別是python的基礎資料型別,布林型別只有true和false兩種值,本節課我們學習布林型別的集中運算。與運算只有兩個布林值都為 true 時,計算結果才為 true。true and true true true and false false false and true...