在演算法演進的歷史中,為什麼說遊戲發揮了重要作用?
開啟演算法的“黑箱”,將其奧祕呈現在大眾面前,這是社會各界的殷殷期待。
不過,恰如之前那篇回顧智慧演算法歷史的文章《半個世紀前的“人工智慧會議都討論了哪些話題”?》所述:一方面,今天的原則在半個世紀前已經存在;而另一方面,縱觀今日,原則的落實情況也難以令人滿意。
目前,想要解釋演算法,依然很難。
我們不妨再次回望歷史。今天的演算法解釋方法,更多是單向度的“灌輸”:不停地要求披露、告知,徒勞地爭奪使用者所剩無幾的注意力。然而在半個世紀前,剛剛見識到計算機與演算法的使用者,面臨的“解釋”,則要困難但也有趣得多。通過遊戲,人們開始理解演算法。計算機也走進了千家萬戶。
遊戲是對演算法最好的解釋。這並非異想天開。
在這篇文章中,我們嘗試回顧演算法解釋的發展和現狀;然後,基於多位學者的新近成果,探討遊戲在全球早期計算史中的重要作用;最後,再解釋演算法解釋所期許的信任和善治,可以參考用遊戲的方式。
有意義的邏輯,
還是有意思的遊戲?
演算法解釋的淵源,頗為多元。整體來說,隨時間流逝,內容漸漸收束。
1995年,歐盟《數字隱私指令》釋出,較早要求告知使用者“演算法決定‘內含的邏輯’”。後來類似表述大體沿用:清晰的邏輯、有意義的邏輯,再到部分或完全開源,又或是披露演算法的變數或引數,不一而足。
但這一指令設想都是單向度的傳輸:演算法的應用者來說,而使用者只是聽。
這一點不難理解:既然演算法謂之“黑箱”,需要專門研習,頗有些許門檻,使用者天然便處於弱勢,甚至可能處於“演算法暴政”之下。因此,需要演算法應用者去精心簡化、全面披露,來彌補地位上的差異。
對於這一思路,疑問自然不少。例如,直至今天,隱私協議的“閱讀數”顯然仍然沒有增加的跡象。演算法大概不會比隱私簡單,類似的解決方案,突破概率甚微。第三方或許可以承擔起理解演算法的重任。但只是把對演算法應用者的信任難題,轉化為了對第三方的信任難題。
更重要的一點是:在“演算法”這個詞還“年輕”的時候,我們並不是這麼去理解演算法的。
人機互動的長期發展,將許多歷史掩埋在“便利”之下。不比今日,半個世紀以前,圖形化使用者介面尚未普及。面對計算機,人們或多或少都要掌握一點演算法才能開始使用。換句話說,面對陌生的、現實意義上的“黑箱”,使用者需要自己去理解“內含的邏輯”。
直到遊戲的出現,這樣的局面發生了些許改變。在使用者的對於計算機和演算法的早期探索裡,遊戲都如影隨形。例如,當笨重的巨型計算機剛剛送到,遊戲便成為研究者的前沿課題;學習計算機常常從寫小遊戲開始;最初的計算機教育也把遊戲作為重要的環節。
是的,世界各地計算機的早期傳播多有遊戲的“倩影”。遊戲,讓這個名為“計算機”的機器真正歸屬於個人。
個人計算機:
“遊戲之外,百無一用”
1951年,劍橋大學。
類似“埃尼亞克”的巨型計算機一到貨,博士生Douglas即選定人機互動為博士論文題目。論文主體,是今天仍常用於打發時間的“OX遊戲”。
在畫素感滿滿的螢幕上,人機輪流在“3*3”格子中落下“O”或“X”花樣。先將三個同一花樣連成直線一方,贏得比賽。這也是最早的向計算機移植經典遊戲的嘗試之一。
“埃尼亞克”巨型計算機
遊戲作為接觸計算機、研習演算法的開端是否普遍?兩種角度的進展,肯定了這一觀察。
第一個角度,源自Melanie Swalwell(斯威本科技大學變革性媒體中心的數字媒介遺產教授)對早期計算機使用者的觀察:自制遊戲,是“日常數字性”的開端。
無論是“古色古香”的機器碼,還是更為易用的BASIC,Swalwell基於大量檔案、訪談的結論都指出,對計算機的使用通常始於“學習簡單程式設計,特別是遊戲”。
一名早期開發者如此回憶:
……你只要開機,基本上你就得程式設計。實際上,你也只能幹這個。那時候,如果你不會程式設計,電腦就沒啥用。你只能幹些很蠢的、很初級的事情。
在那個時候,大家都買遊戲、玩遊戲,但最有範的事,還是你自己寫一個遊戲。如果你不這麼做,電腦就沒啥用。
固然,在1970、80年代,歐美市面上已有大量程式設計教學書籍,學習程式設計依然是“試錯為主”的過程:初學者拷貝或破解程式碼,細細揣摩,稍加修改,逐漸擴充套件,最後才形成自己的新程式。在這些程式中,大部分都是小型遊戲。
第二個角度,相比自發摸索,在目的性更為凸顯的計算機和程式設計教育中,遊戲同樣不可或缺。
例如,在1960年代的達特茅斯校園,最早的計算機分時系統之一正是今日網際網路的雛形。Joy Rankin(紐約大學和“AI Now”研究所的研究學者)的引述道:
達特茅斯,成了個為計算機而狂熱的學校……
學生們用計算機幹什麼?的確,有一些新潮的數學教授,將“編寫一個數學程式”作為課程的(也許有點惱人的)考核內容。不過,最常見的應用無疑要數遊戲。
集思而廣益。狂熱的教授和學生,既是消費者,也是生產者。很快,從移植的“剪刀-石頭-布”開始,象棋等棋牌,籃球、橄欖球等球類運動,再到類似早期“MUD”遊戲的嘗試,都風靡於計算中心。各類遊戲也成為校園“程式設計錦標賽”的參賽主力。
對於剛剛走入個人生活的計算機而言,遊戲是“最引人入勝”、也“最為急切”的需求。計算專案的主導者,熱切地認可遊戲對教育的重要性:
學生在專案上完成的最有趣、最複雜的專案裡,有許多是遊戲……
1960~1970年代的人機互動,同樣對遊戲寄予厚望。按Matthew Wells(瑞爾森大學博士後研究員、多倫多大學課程講師)有關冷戰遊戲史的引述,時人已然注意到:在理想的互動模式中,個體當對“與之互動的系統”有更深入的理解,或有更強的控制。這裡如果將系統細化為演算法,當代殷切期盼,即與半個世紀前直接牽連。
遊以載道。仍按Wells分類:當時既有“剛性遊戲”——規則固定而完備,使用者只需學習,而毋須深入瞭解遊戲內部演算法。經典的“吃豆人”是典型例子;相應地,也有“非剛性遊戲”:容許、鼓勵使用者檢視、修改遊戲的原始碼(“MOD”)。早期的MUD,許多采取了這一模式。
在此基礎上,Wells倡議道:
秉持前述精神的遊戲,應當成為今日程式設計教育的核心之一。唯此,使用者方可在黑箱面前,保守已然失落的主體性。
吃豆人遊戲
無論是Swalwell、Rankins還是Wells,他們的視角大多集中於歐美髮達國家。儘管如此,在“遊戲開啟新世界的大門”方面,世界各地有著驚人的一致。
鐵幕另一側的案例可能是是此處最貼切的論據。
按Jaroslav Švelch(雅羅斯拉夫 什韋爾赫,布拉格查理大學媒介研究系助理教授)對前捷克斯洛伐克的深入研究:
對那些未嘗接觸數字互動媒體的人們來說,對早期的電腦遊戲,他們懷有一種獨一無二的懷舊……
這裡,最生動的,依然是對懷舊者的訪談:
有一天,爸爸的朋友打電話給我們說,‘孩子們,你們可得過來一趟’。我們馬上開車過去,那裡有一臺ZX Specturm……我們玩了附帶的五個遊戲……彩色的,會動,太不真實了。我們在那裡待到半夜……這一印象太過深刻,我一輩子也忘不掉。
ZX Specturm
再一次,當地當時的青少年群團組織,將遊戲作為程式設計學習的關鍵:“組織密切關注計算領域的愛好,包括用數字積體電路裝機,也包括在可程式設計計算器和微機上開發計算程式和遊戲程式……以此引導青年技術人員數量的增長,為國民經濟和國防安全作出貢獻。”
如上,當最初的人們面對物理意義上的黑箱,“無問西東”時,遊戲都構成了面對技術的“第一印象”。而隨著全球計算史研究的不斷深入,遊戲更像是走向新技術的“正道”。於是,不妨以遊戲業先驅之一的上村雅之的妙語結束仍在不斷前行的世界比較:
個人計算機總是聲稱,它們能做到一切,實際上,它們什麼也做不到。有了紅白機,我們首先承認,我們的計算機什麼也做不到,除了能玩遊戲。
關於未來:
始於遊戲,成於“善治”
遊戲在早期“系統”的傳播,包括計算機、程式設計和演算法的傳播中發揮了顯著作用。那麼,在人人都想開啟演算法“黑箱”的今天,我們不妨設想:面對已然“無處不在”的演算法,遊戲在解釋演算法中,是否也能發揮作用?
一方面,這是基於歷史的期待;另一方面,離開了遊戲,解釋或許也難以充分。
先說期待。依然回到Swalwell對早期程式設計的研究:“比起今天的計算,早期微機上的程式設計,把握起來要難不少。”
然而,恰恰是在玩遊戲和寫遊戲的快樂,至少是部分地說明了為何計算機會在1980年代“出圈”,計算機文化為何開始在狹小的專家圈子以外盛行。面對已然容易了許多的程式設計和演算法來說,期待遊戲成為普通使用者理解演算法的橋樑,當屬合理。
再說充分。計算機領域有俗諺曰:“空口不足法,示我以程式碼(talk is cheap, show me the code)。”
沒有上手,就難談理解。因此,僅僅讓普羅大眾依靠榮昌繁瑣的(演算法)“政策”去了解演算法,難度可想而知。能否形成任何意義上的“清晰”或“有意義”的解釋,這值得懷疑。
我們不妨再回到Wells對互動理論的探討:什麼是使用者主體性?為何(特別是“非剛性的”)遊戲對使用者主體性的意義如此重要?
原因在於:早期的遊戲允許使用者去看原始碼,去MOD,去擴充套件,這“真正地將使用者和開發者放到了同等的[對系統的]控制水平上”。
換句話說,如果我們真的在意使用者自主、將使用者自主作為向善願景的一部分,那麼,對於那些顯著影響個體生活的“黑箱”,將使用者和開發者放到接近的水平,應為更長遠的目標。如此建立的信任,也最為可靠——再多的告知,也很難比得上親身參與。
因此,遊戲既可以成為演算法解釋落地、普及的形式,又可以作演算法解釋願景的標誌。在此基礎上,從用遊戲助推演算法解釋出發,至少可以從三個層面去設想——
首先,就具體演算法,論演算法解釋。對那些生活場景中常見的演算法,在不影響安全的前提下,借遊戲的思路,令使用者得以大致理解演算法的關鍵輸入,並理解關鍵輸入如何影響輸出。比如,可以讓使用者在高度簡化的設定(少許不敏感變數、簡單的模型設定、加上游戲化的介面,等等)下,嘗試相應模型的“調參”等任務。
其次,由遊戲產業出發,為願意嘗試遊戲開發的個體,行必要的便利。這裡的第一步,也許是拾起久遠的回憶:感懷於遊戲開啟數字新紀元的作用,不再重複部分一概貶斥遊戲的陳詞濫調。整體思想的更新,將為遊戲發揮引領演算法善治的作用掃清障礙。
最後,對於全民數字素養的提升,遊戲也可發揮重要作用。承繼1960年代以來的發展,當前,針對初學者,已有許多引人入勝的遊戲式教學。未來或可期待:相應遊戲,成為標準化的教育體系的一部分。隨著全民素養的提升,演算法解釋將逐步脫離單向的“灌輸”,而真正趨近“理想的互動”。
如上,這或許是充分信任演算法的必要條件。
結語和展望
隨著早期計算史研究的不斷推進,遊戲在世界各地數字革新中的作用,亦日益凸顯。通過遊戲,許多早期開發者理解了計算機這個物理意義上的“黑箱”,跑通了人生中第一個演算法。
今天,面對同樣擾人但又蘊涵未來的演算法“黑箱”,遊戲能夠再次發揮作用。同時,遊戲,蘊涵了最為充分的“解釋”、“自主”和“信任”。此處,無論是對特定演算法的解釋,還是就遊戲的發展環境,又或是針對社會整體的數字素養,都可有所期待。圖片
參考文獻
Rankin, Joy Lisi. A people's history of computing inthe United States. Harvard University Press, 2018.
Swalwell, Melanie. "The Early Micro User: Gameswriting, hardware hacking, and the will to mod." Proceedings of DiGRANordic 2012 conference: local and global–games in culture and society. Tampere,Finland: DiGRA, 2012.
Swalwell, Melanie. "1980s Home coding: The art ofamateur programming."
Aotearoa Digital Arts New Media Reader (2008):192-201.
Swalwell, Melanie. Homebrew gaming and the beginningsof vernacular digitality. MIT Press. forthcoming.
Švelch, Jaroslav. Gaming the ironcurtain: How teenagers and amateurs in communist Czechoslovakia claimed themedium of computer games. MIT Press, 2018.
Wells, Matthew Jason. Cold war games: operationalgaming and interactive programming in historical and contemporary contexts.Diss. 2017.
作者:朱悅,聖路易斯華盛頓大學法律博士(J.D.)候選人
來源:騰雲
地址:https://mp.weixin.qq.com/s/2U_HV0p0UZFCHb3d0xpkPw
相關文章
- Angular Universal 的演進歷史Angular
- 為什麼現在演算法工程師薪酬這麼高?演算法工程師
- Android開發之道(3)系統演進歷史Android
- 你演講(分享)是為了什麼?
- 我經歷過的監控系統演進史
- 資料視覺化在智慧物流中發揮了什麼作用?視覺化
- 軟體自動化測試工具的歷史演進
- 單機遊戲的發展歷史(二)遊戲
- 大型分散式架構的演進歷史(前方多圖告警)分散式架構
- 說說TCP為什麼需要三次握手和四次揮手?TCP
- 智慧數字經營在防疫工作中發揮重要作用!
- Web 開發模式演變歷史和趨勢Web模式
- JavaScript模組化開發的演進歷程JavaScript
- MySQL 並行複製方案演進歷史及原理分析MySql並行
- 為什麼說微軟遊戲未來可期微軟遊戲
- 你為什麼不愛遊戲了?遊戲
- 在一款遊戲發售的背後,開發者到底經歷了什麼?遊戲
- 《統一指揮2》:在歷史與遊戲之間找到平衡遊戲
- 資料要素為什麼可以發揮數乘效果?
- TimeMapper:在高雄事件中發揮重要作用的開源地圖軟體APP事件地圖
- 為什麼說JavaScript中的DOM操作很慢JavaScript
- 中科院研究團隊:遊戲技術將在國際科技競爭中發揮重要作用遊戲
- 為什麼說程式設計是有史以來最好的工作程式設計
- TCP 兩次握手為什麼無法阻止歷史連線?TCP
- Mac OS作業系統演進歷史與基本常識Mac作業系統
- 我為什麼專注於策劃出版IT人文/歷史方向的書?
- 為什麼說雲遊戲是未來戰略要塞?遊戲
- 為什麼說玩家是糟糕的遊戲使用者?遊戲
- 成為比開發硬氣的測試人,我都經歷了什麼?
- 蘋果iOS的7年演進史蘋果iOS
- 策略遊戲為什麼不能反映文化的演變和融合?現在,挑戰者來了遊戲
- 走進資料的歷史
- 專訪騰訊沈黎:為什麼今天的遊戲,不像「遊戲」了?遊戲
- 網路同步在遊戲歷史中的發展變化(五)—— 物理同步遊戲
- Java在演算法題中的輸入問題Java演算法
- DNF端游到手遊的演變歷史:從ACT遊戲到MMORPG化遊戲
- 光榮策略遊戲的歷史及未來——歷史篇遊戲
- 「找找看」遊戲:埋沒在歷史中的遊戲文化功臣遊戲