廣義智慧集理論實踐——智慧元構建
雖說是不限程式語言,但如果要用例項進行說明就不能不用具體的程式語言。
以下Python程式碼用以構建廣義智慧集中的智慧元。
#! /usr/bin/python
# Code segment 1: Import library
import numpy as np
import cv2
import time
# Code segment 2: Configure
SCREEN_SIZE = (600, 800)
DELAY_SIZE = 0.1
EVOLUTION_SPEED = 8
VARIATION_SPEED = 7
# Code segment 3: F(X) + I = L ;
def Func1(X):
F = X + np.array([EVOLUTION_SPEED] * (SCREEN_SIZE[0] * SCREEN_SIZE[1]), np.uint8)
I = np.array(np.random.randint(0, VARIATION_SPEED, size=(SCREEN_SIZE[0] * SCREEN_SIZE[1])), dtype=np.uint8)
L = F + I
return L
# Code segment 4: |K(L) - M| <= N ;
def Func2(L, M = 128, N = 16):
while True:
t = L.mean() - M
if abs(t) < N:
# Print data
print 'D-value -> abs(t): ', abs(t)
return L
else:
SS = int(N * 0.618)
L += [SS, -SS][t > 0]
# Code segment 5: main(), to call some modules and print messages
def main():
X = np.array([128,] * (SCREEN_SIZE[0] * SCREEN_SIZE[1]), np.uint8)
while True:
time.sleep(DELAY_SIZE)
L = Func1(X)
O = Func2(L)
X = O
# Print data
print '-------------------------------'
print 'Element array:'
print O.dtype, O.shape
print O
print '-------------------------------'
print '===============================\n'
img = np.zeros((SCREEN_SIZE[0], SCREEN_SIZE[1], 3), dtype=np.uint8)
img[:,:,0] = O.reshape((SCREEN_SIZE[0], SCREEN_SIZE[1]))
img[:,:,1] = O.reshape((SCREEN_SIZE[0], SCREEN_SIZE[1]))
cv2.imshow('Intelligence Element Simulation...', img)
KEY = cv2.waitKey(1) & 0xFF
if 27 == KEY: break
elif 32 == KEY: cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == '__main__':
main()
# End of code
程式碼說明
Code segment 1:
# Code segment 1: Import library
import numpy as np
import cv2
import time
引入numpy數學處理庫、opencv的python庫cv2和time模組,在執行該程式時需要確保系統已經安裝了numpy和python-opencv。
Code segment 2:
# Code segment 2: Configure
SCREEN_SIZE = (600, 800)
DELAY_SIZE = 0.1
EVOLUTION_SPEED = 8
VARIATION_SPEED = 7
設定一些全域性常量,SCREEN_SIZE表示視訊顯示尺寸,DELAY_SIZE表示迴圈延時(單位s),EVOLUTION_SPEED表示進步速度(體現在Func1(X)中),VARIATION_SPEED表示變異速度(體現在Func1(X))。
Code segment 3:
# Code segment 3: F(X) + I = L ;
def Func1(X):
F = X + np.array([EVOLUTION_SPEED] * (SCREEN_SIZE[0] * SCREEN_SIZE[1]), np.uint8)
I = np.array(np.random.randint(0, VARIATION_SPEED, size=(SCREEN_SIZE[0] * SCREEN_SIZE[1])), dtype=np.uint8)
L = F + I
return L
Func1(X)函式用以實現公式中的F(X) + I = L,其中" F = X + np.array([EVOLUTION_SPEED] * (SCREEN_SIZE[0] * SCREEN_SIZE[1]), np.uint8) "表示為集合(這裡用矩陣表示)中的某個元素新增一個常數用以構成公式中的 F(X) 運算,其中" I = np.array(np.random.randint(0, VARIATION_SPEED, size=(SCREEN_SIZE[0] * SCREEN_SIZE[1])), dtype=np.uint8) "表示為公式中 I 的得到方法(取一個元素在0到7之間的隨機矩陣,元素數量與 X 相同),最好得到 L = F + I 並輸出。
Code segment 4:
# Code segment 4: |K(L) - M| <= N ;
def Func2(L, M = 128, N = 16):
while True:
t = L.mean() - M
if abs(t) < N:
# Print data
print 'D-value -> abs(t): ', abs(t)
return L
else:
SS = int(N * 0.618)
L += [SS, -SS][t > 0]
Func2(L, M=128, N=16)用以實現公式中的|K(L) - M| <= N,其中引數L、M、N分別對應公式中的L、M、N。其中 " t = L.mean() - M "用以得到L的平均值並用這個平均值減去M,這裡的K(L)就指的是L的平均值,通過while迴圈進行矯正使得 t 的絕對值小於N,然後像螢幕列印此時t的絕對值 abs(t) 並輸出 L 同時結束該段程式。
Code segment 5:
# Code segment 5: main(), to call some modules and print messages
def main():
X = np.array([128,] * (SCREEN_SIZE[0] * SCREEN_SIZE[1]), np.uint8)
while True:
time.sleep(DELAY_SIZE)
L = Func1(X)
O = Func2(L)
X = O
# Print data
print '-------------------------------'
print 'Element array:'
print O.dtype, O.shape
print O
print '-------------------------------'
print '===============================\n'
img = np.zeros((SCREEN_SIZE[0], SCREEN_SIZE[1], 3), dtype=np.uint8)
img[:,:,0] = O.reshape((SCREEN_SIZE[0], SCREEN_SIZE[1]))
img[:,:,1] = O.reshape((SCREEN_SIZE[0], SCREEN_SIZE[1]))
cv2.imshow('Intelligence Element Simulation...', img)
KEY = cv2.waitKey(1) & 0xFF
if 27 == KEY: break
elif 32 == KEY: cv2.waitKey(0)
cv2.destroyAllWindows()
main()呼叫了Func1()和Func2()用來實現這個公式的運算並使之迴圈,同時也列印出相關資訊和輸出視訊影像。
相關文章
- 廣義智慧集理論實踐——智慧集構建
- 廣義智慧集思路構建
- 廣義智慧集基本定義公式公式
- 廣義智慧集能做什麼?
- 核心概念——智慧元與智慧集
- 【智慧製造】首鋼智造的理論探索與實踐
- Flutter 自定義 Widget(理論+實踐)Flutter
- 三層架構--理論與實踐架構
- 理論+實踐,揭秘昇騰CANN運算元開發
- 談理論與實踐
- 構建真“智慧”的智慧社群解決方案
- Kubernetes 叢集升級指南:從理論到實踐
- 信創雲安全建設實踐|構建更加智慧、安全的政務雲服務體系
- Gradle理論與實踐四:自定義Gradle外掛Gradle
- 智慧安全3.0實踐 | 中臺賦能安全建設
- 嚴建兵 | 玉米基因組育種的理論與實踐
- 智慧客服API最佳實踐—智慧物流客服API
- 宜信智慧監控平臺建設實踐|分享實錄
- https理論與實踐HTTP
- 理論指導實踐薦
- Vue微前端架構與Qiankun實踐理論指南Vue前端架構
- 構建智慧廣電新防線,綠盟科技精彩亮相CCBN2021
- -----理論+實戰 構建完整JVM知識體系----新-----JVM
- 從智慧城市建設,看如何構建智慧安全基礎設施?
- 智慧金融系統的構建
- ??探索人工智慧的世界:構建智慧問答系統之實戰篇人工智慧
- TKE 叢集組建最佳實踐
- 通過人工智慧構建智慧集錦服務在央視世界盃期間的應用人工智慧
- 集團商務智慧建設探討
- js正則理論與實踐JS
- 理解RESTful:理論與最佳實踐REST
- 如何利用TRIZ理論打造智慧工廠?
- 智慧搜尋模型預估框架Augur的建設與實踐模型框架
- 實踐:GNU構建系統
- 聊聊智慧診斷模型的構建模型
- 福建石化集團:踐行數字福建 建設智慧工廠 | 愛分析精選
- 智慧文件處理IDP關鍵技術與實踐-高翔
- 強人工智慧:抑制神經元的意義人工智慧