第040章 大數據!

投票推薦 加入書籤 小說報錯

  講台上,高懸的幕布之上,顯示出羅毅輸入代碼的過程。

  ps做完圖像素材,他開始使用Irrlicht編寫flash遊戲程序。

  由於遊戲內核很簡單,所以他編得很順。

  有同學拿出手機掐秒,一陣陣驚呼在禮堂里迴響。

  一些大膽的同學甚至跑上講壇,站在羅毅身後看他手指彈鋼琴一般飛舞。

  【import math

  #定義三維空間中的點

  class Point:

  def__init__(self,x20,y10,z37):】

  羅毅寫完一串代碼,用迅雷不及之勢切回預覽畫面。

  他剛才繪製的8個黑色區塊之一就出現了Irrlicht生成畫面的左上。

  發現位置不對,羅毅又把那y軸數值調大,切回來,終於跑到左上角了。

  他身後的男同學興沖沖地扒著羅毅肩膀,一臉熱望。

  底下同學很多摩拳擦掌要跑上來,方主任趕緊阻止。

  他要把台上騷擾羅毅的男生趕下去,卻被羅伊扭頭阻止。

  沒辦法,只好容留這十幾個男生在上面逗留。

  「好了,我現在把地圖分成了8個方塊,遊戲場景裡面看不到,但實際上,確實是8塊。」

  身後的男生們使勁點頭,「對!八叉樹,八個方塊嘛,沒毛病。」

  「對。」

  羅毅像和朋友聊天似的,繼續編寫這之上的球體代碼,把它們一堆一堆挪到那8個地圖方塊上。

  接下來他卷了卷作訓服袖子,將小人放進去,

  【#定義火柴人

  class MatchstickMan:

  def__init__(self,position,blades=0):

  self.position = position

  self.blades = blades

  #定義能量球

  class EnergyBall:

  def__init__(self, position):

  self.position = position

  ……】

  一串串代碼流暢蹦出。

  他身後的男生們驚呼,看台上的同學則站在走道上,戴著眼鏡眺望大幕布。

  學校教授們也是一副仰望表情,慢慢從羅毅的操作中想像他要幹什麼,打算體現什麼。

  羅毅看著身後相貌普通的男生,「你叫什麼,同學?」

  男生不好意思的笑了,「報告羅毅班長,我是計算機科學學院的,我叫盧磊。」

  羅毅手指代碼串符道:「哦,盧磊,你看這blades=0,意思是什麼知道嗎?」

  一群人樣子有點僵,只顧著看熱鬧,忘了羅毅人家可是老師。

  盧磊卻低聲說:「是不是指火柴人身上的刀片數量?」

  「對。」

  羅毅指著8個區塊上的小球球,「火柴人一旦吃掉一堆能量球,他身上的刀片就都會多出一片,我的目的是這個。」

  「哦~~」

  男生們驚呼。

  羅毅繼續編寫代碼,終於編到了讓人不敢忽視的一條

  【#定義八叉樹節點

  class OctreeNode:

  def__init__(self,boundary,capacity=4):

  self.boundary = boundary

  self.capacity = capacity

  ……】

  這次是超長的代碼行,一共73行。

  13.14英寸長。

  一行行代碼羅列。


  光影照在羅毅臉上。

  他手法如狂,軍工科技研究員LV2的技能加成,讓他編寫代碼的效率更上一層樓,不容易累!

  在同學們要喊啞的聲音里,羅毅大手一揮,將Irrlicht程序封包,取名為【是兄弟就來砍我!】

  大家愣住了。

  「這是啥名字啊?」

  羅毅聳聳肩,「你們看看玩法就知道了。」

  接著羅毅將封包好的遊戲程序打開,一張沒有任何音樂的黑色地圖出來了。

  一個孤零零的火柴人站在地圖中間,他身邊擺放著8攤能量球(勉強可以稱之為球)。

  盧磊帶著探究的眼神看了半天沒看明白,羅毅將右邊位置讓給他,「盧磊,你點擊+號鍵。」

  盧磊感覺新鮮,忙按下+,另一個一模一樣的火柴人,「刷」地出現在了羅毅身邊。

  倆小人兒擺POSS的痴呆造型,逗得人忍俊不禁。

  「現在……」

  羅毅突然按動主鍵盤上的A鍵,火柴人往左跑,站在了能量球上,身邊果然疊起了一枚刀刃。

  身後同學們立刻意識到了這貨要砍人了!

  盧磊手足無措之間,按了一下小鍵盤上的→,他的火柴小人兒果然往右邊走了,剛拿到刀刃,卻被已經撿了兩攤能量球的羅毅小人兒給砍死了。

  死掉之後,羅毅火柴人身上變成了3片,

  這時,盧磊的火柴人又出現在了屏幕中間,一旁一個哥們大喊:「快跑!撿能量球干他!」

  盧磊終於想起了他打DOTA的手速,操作小人兒避過了凶神惡煞的羅毅小人兒,迅速撿起剩餘的能量球,刀片撿到了4枚,卻又被羅毅的5層給擊敗了。

  有人數了數,大驚失色,「糟糕羅毅班長現在強得可怕,身上跟電風扇似的,盧磊別想活了!」

  有人立刻道:「但是能量球會不斷刷新,被他們撿走之後,隔幾秒會刷新出來一攤,這個遊戲就是考驗走位的!」

  有人又說:「而且,哪個格子上的被撿走,才會隔幾秒鐘刷新出來,又限制了實力無限膨脹,這個遊戲數值定義得很合理!」

  羅毅邊移動小人邊笑著問:「那你們設想一下,如果我和盧磊的小人不走過去,區塊上面的能量球存在嗎?」

  「當然存在了。」

  一個男生說完,就啞住了。

  羅毅將運存監視打開,找到該遊戲的進程。

  他打開DOS在裡面寫了一串【pip install psutil】。

  一個非常直觀的數據流分配圖形就展示開來,該運程共8項,形式類似CPU核心數占用圖譜。

  鋸齒狀的數據流,明顯顯示在後面兩個,而上面六個都是沒有波動的。

  之前那個男生壓住內心的驚駭道:「那些能量球,不存在……」

  羅毅乾脆地說:「不錯,只有圖形表現,沒有數據流動。」

  羅毅切回遊戲畫面。

  兩個火柴人正站在地圖右下角的兩個區塊上。

  由於站在上面,所以能量球一直認為被占用不會刷新。

  盧磊有些驚愕地默念,「這,這就是八叉樹在資料庫里體現的樣子,這就是把它運用到遊戲當中的樣子!也是未來電腦程式運行時用八叉樹減少運存耗能的樣子!」

  「對!我做這個遊戲就是想要向你們展示,八叉樹模型下的程序運行是什麼樣子的!

  「這也是富蘭克林身后街道的樣子,你們想像它戰火紛飛,行人亂逃,實際上並沒有數據在流淌,是黑屏,同學們,是數據靜默的狀態!」

  嘩啦!

  滿堂杭電師生顯示經歷過一瞬安靜,突然掌聲雷動!

  人工智慧研究院的林志濱教授終於認識到八叉樹未來的運用前景,起身向羅毅鼓掌。

  「精彩的演繹!精彩的八叉樹模型邏輯演繹!自嘆弗如!這完全模擬了一種人腦思考的狀態!」

  羅毅朝他點頭,「對那位教授!我們人的記憶就是這樣,不能做到全面數據瀏覽,我們只有在需要的時候將需要的記憶從抽屜里取出,八叉樹模型正是在模仿這一神經元交聯行為,有選擇性地將注意力靠前。」


  羅毅在群情歡呼中大聲道:「老師們,同學們,想一想吧!未來八叉樹運用於移動網際網路中,若加入網站的網關系統,它將起到何等高效的用戶篩選作用?

  「用戶正如同這火柴人,而能量球區塊正如這八叉樹的分支,你踩過的地方才會留下足跡,才會與網站伺服器溝通,才會匹配資料庫做出下一步反應,其他時間一直在待命。

  「這樣做使得數據傳輸加快,減少伺服器負載,令信息傳輸更為流暢,同時,還可以將用戶要看的信息前置,方便網站安全部門監視!」

  「這就是八叉樹模型的存在意義!」

  羅毅忽然將聲調拔高,在桌面上新建了TXT文檔,在裡面輸入了大號字體:主成分分析(PCA)、線性判別分析(LDA)

  他面向全場,在一眾驚呼聲中道:「也是我接下來最後這一點時間,要講的八叉樹上升邏輯——超解析度重建技術和邏輯推理模塊!」

  全場沸騰。

  看台上左側,大約500人站起猛烈鼓掌。

  看台右側,近1000人站起歡呼。

  他們分別是來自信息與通信工程學院,網絡空間安全學院的同學們。

  也是未來維護網絡安全,打擊駭客的中國網際網路守護者。

章節目錄