網頁

2018年9月8日 星期六

將建築視為溝通流程 (三) - 蓋房子怎麼能夠被看成是解碼?

我相信多數人不能接受我把蓋房子看成是工程圖面的解碼, 總是被質問, 解碼與編碼都是虛擬的, 蓋房子是實體的, 如何能混為一談?我經驗中跟資工系的教授也很難就這點取得共識。

對我來說information 是虛擬的, 無法透過任何channel進行傳輸, 因此我們必須經由encode的程序轉成signal, 而signal必須是實體的, 否則無法被紀錄、傳輸與偵測。收訊端接收到通路所傳來的signal之後, 開啟了解碼的程序, 那也是一連串實體狀態的mapping。例如我們透過電線傳輸摩斯碼, 電線傳來斷斷續續電流就是signal, 收報機將斷斷續續的電流轉換成為收報員可以了解的長短聲音, 或者波型, 或者開關動作, 總之, 都是實體狀態的mapping。收報員讀懂了長短組合的訊號後, 轉換成為他腦袋中神經細胞的某種激發的模式, 這也是實體狀態, 然後用鉛筆寫下所傳來摩斯碼所代表的字母。如此一來, 原先電線中斷斷續續的電流, 被解碼成為滯留在紙張纖維間的碳粉微粒, 這個過程全部都是實體世界狀態的轉換, 無一例外。

如果收報員拿起鉛筆在紙張上堆砌出能夠代表所傳達訊息的碳粉微粒是解碼過程中的一個步驟, 而最後交給收訊者閱讀的電報是解碼的結果, 請問你怎麼能夠說砌磚工人按照圖面拿起一塊塊的磚頭堆疊起來不是在做解碼的工作呢?而其所蓋出來的房屋不是解碼的結果?

將建築視為溝通流程 (二) - 業主希望蓋一棟房子讓家人能住得好, 這件事如何解讀成需要傳輸的資訊?

業主希望蓋一棟房子讓其三代的家人能住得好, 這件事如何解讀成需要傳輸的資訊?

根據information theory 的定義, 資訊就是不確定性(uncertainty) 的揭露 (uncover)。有效的溝通, 可以傳輸適當的資訊, 讓不確定性因被相關資訊所揭露而降低。

業主希望擁有一棟可以讓其家人住得好的房屋, 卻充滿了不確定性。他找了營造商來蓋房子, 但在沒有任何溝通資訊的情況下, 這個房子完工後能夠讓其家人住得好的機率可能非常低, 代表不確定性極大。為了降低不確定性, 他找了建築師, 經過某種流程, 這我稱之為編碼, 就是業主希望透過成功的溝通流程, 把適當的資訊傳輸到收訊端, 因而降低收訊端對所接收資訊的不確定性。

假設集合S代表營造商可能蓋出的所有房屋, S1是S的部分集合, 代表所有可能被蓋出來的房屋中能夠適合業主一家人居住的房屋所形成的部分集合。業主希望透過溝通流程傳輸的資訊來提高能夠找到屬於S1集合中某個房屋的機率, 其成功與否就是看所傳輸的資訊是否能夠揭露在尋找好房屋過程中的不確定性。

我在先前對話中資訊強調就是為了分辨, 適當的資訊可以幫助我們分辨S1 與 "非S1", 在這個例子中, 溝通的資訊並不需要表示建築物所有的細節, 只要能夠分辨符合需要的和不符合需要的就可以了。業主與建築師在設計過程中所做的努力, 就是為了把業主希望傳遞的資訊做最好的編碼, 轉換成設計圖面, 經過傳輸, 然後在解碼過程中把"獲得適合居住的房屋的不確定性" 降到最低。

將建築視為溝通流程 (一)

建築工程是一種溝通過程, 建築師將其設計進行編碼, 其結果就是各種工程圖面與文件, 透過資訊通路傳給營建工程師。工程師根據建築師的設計圖說進行解碼, 其結果就是建築物。

將建築看成溝通流程的話, 我曾困惑於為何建築物所蘊含的資訊似乎比建築師的設計圖說大得多, 而shannon告訴我們解碼所得的資訊只會小於, 至多等於資訊來源, 也就是設計圖說。原來我誤以為編碼必須將所有相關資訊編進去, 而事實上編碼只需要能夠"分辨出差異", 也就是說成功的溝通並不需要把所有相關的資訊傳過去, 而只需要傳遞足夠的訊息, 讓收訊方能夠分辨出差異。

這我們可以用傳訊與收訊方共有的密碼本來解釋, 假設雙方都有一本共通的字典, 或甚至"句典", 每個字或每一句都有編號, 傳訊時我們只需要傳編號, 並不需要傳整個字或整句,我想這是最基礎的概念。建築師和營建工程師之間也有一本這樣的字典, 也就是彼此雙方共有的專業知識。建築師的圖面和文字標註的好比是字句的編號, 而工程師收訊後就照著編號根據其工程專業知識進行解碼, 解碼後的成果也就是建築物。建築物看起來比所傳輸的設計圖面豐富很多, 但就資訊量而言並沒有違背Shannon的數學模型。

我對資訊理論關心的重點並非資訊的量, 因為我是學建築的, 對資訊量的計算一知半解,讓我受益最大的是Shannon數學模型的延伸, 我發現可以用這個模型來探討建築。

老王賣瓜一下, 前一陣子我一位博士班學生 (她是交大資工系畢業 然後台大資工所的碩士, 找我當指導老師) 和我合寫了一篇論文, 試圖用Shannon的模型來分析建築工程的複雜度, 我們認為建築設計的entropy可以用來作為工程可建性 (constructability)的一個指標。 我邀請台大資工所吳家鱗教授(在台大開information theory課程), 台科大資工所鮑興國教授 (運算理論), 台大土木系謝尚賢主任(工程資訊), 還有時任營建研究院院長的台科大營建系楊亦東教授 , 總之, 我可能找不到更tough的人選來當她的論文口試委員。尤其是吳家麟教授, 他是很大的權威, 我們曾與他仔細的討論過這個做法, 也得到他的認同。

在美國某些人煙稀少的地區可能方圓五百公里內找不到建築師, 某些公司開發了建築型錄, 讓想要蓋房子的業主可以圈選各種全套的建築設計圖面, 並可以或增或減某些選項, 然後營建商就可以根據地主的選擇進行施工。溝通過程只需要幾個選項就解決了。這和使用字典來編碼如出一轍。業主只要傳輸很少量的資訊, 營造商就可以根據這極少量的資訊把一棟複雜的建築物建造起來。如果施工正確, 也就是解碼過程沒有失誤, 這棟建築物就會符合業主所圈選的設計方案以及增減的選項。

就建築設計而言, 按圖施工這一個層級相當於Weaver [1]在其文章中所提示的technical 層級, 如果類比到運算理論, 我會說這屬於語法 (syntax)的層級。Weaver 提示的第二層級稱為語意(semantics), 用在建築上, 我將其解讀為建築師對建築物的預期品質, 例如結構安全, 美觀, 保暖, 通風等等與建築相關的品質。建築師希望設計出一棟安全、美觀又舒適的建築物給業主, 並試圖將這個"建築的語意"進行編碼, 成為建築專業的圖面與文件, 並透過資訊通路傳給營造商。根據工程合約, 營造商的職責是正確的將這份工程圖說進行解碼, 根據其所描述的規格建造房屋, 如果這個過程沒有瑕疵, 而建築物卻還是不安全, 不美觀, 不舒適, 代表建築師在編碼過程失敗了, 沒有能夠將其想傳達的建築語意成功的編進其所傳輸的工程圖說。

Weaver的第三個層級是 utility, 如果對應到建築, 我的解讀是業主對建築物的期待。假設建築師成功的將建築語意編碼成工程圖說, 而營造商也成功的解碼, 建造了一棟安全, 美觀又舒適的建築物交給業主。可是業主住進去之後卻發現並不合用, 可能臥室少了一間, 或者沒地方可以打麻將.....這些層級可以一層層往上加, 但無論多少層級, 就溝通的數學模型而言, 每一個層級代表一次mapping, 把每個層級間的mapping都合併起來, 最後就成為一個層級, 也就是Shannon的模型所建立的架構。例如若把上述三個層級合併, 那麼這個溝通流程就成為如下的情況:

業主希望蓋一棟房屋給其三代的家人共同生活, 這個期待就是需要被編碼、傳輸, 並解碼的資訊。編碼的過程雖然複雜, 但就是一連串可以被合併的mapping, 我們可以跳過細節直接來到編碼的結果, 也就是建築設計圖面與文件。這些圖面文件透過資訊通路的傳輸交給營造商聘請的工程師進行解碼, 同樣的解碼的過程可能很複雜, 例如擬定施工計畫, 進行採購, 工程管理......但說穿了就是一連串的mapping, 最後解碼完成, 建築物蓋好了。

整個溝通過程是否成功, 輸出的資訊是否透過編碼, 傳輸與解碼之後還能保留?能保留多少就是是否成功的指標。對業主而言, 溝通成功代表他們住進去之後, 完全符合他們在使用上的期待。但如果不完全成功, 其失誤可能發生在各個環節, 例如業主沒有提醒建築師說他們一家人都喜歡打麻將, 或者建築師委託的技師結構計算錯誤, 把鋼筋配少了, 或者是繪圖員圖面尺寸標註錯誤, 這分別屬於編碼過程中, 在utility, semantics, 與 technical (或者我喜歡稱之為 syntax)的失誤, 無法成功的將上一個層級的編碼mapping到下一個層級的編碼。

失誤也可能發生在傳輸的過程, 例如圖面流失, 或者因雜訊而讓收訊者收不到正確的圖面, 之後就是解碼的過程, 其順序反過來, 從syntax, 而 semantics, 最後才是utility。解碼過程的syntax是指所傳輸的工程圖面是否被正確的解讀, 並mapping到正確的施工計畫、採購、與工程。營造商工作到此為止, 成功的解碼會讓建築物被蓋出來後完全符合建築設計圖面所規範的規格。但是這棟建築物是否美觀、安全、舒適, 還必須有第二層, 也就是semantics, 的decode來從建築物mapping到建築的品質, 這需要大自然透過物理、化學定律的解讀, 例如若鋼筋設計不足, 那完全盡責的營造商也還是蓋不出安全的房屋。最後一層的解碼就是業主住進去之後, 建築物是否能一如其所期許的, 提供所需要的生活環境給三代的家人。

說到這裡, 可能許多人會不認同, 三代家人要住房和需要傳輸的資訊怎麼就湊成一件事?蓋房子和解碼有何關係?..我相信有很多問題, 容我在下篇文章中進行說明。

[1] Claude E. Shannon and Warren Weaver (1963). The Mathematical Theory of Communication. University of Illinois Press. ISBN 0-252-72548-4.

2018年5月23日 星期三

建築的信息建設 - 從BIM、參數化與建築的工業4.0談起

建築的信息建設 - 從BIM、參數化與建築的工業4.0談起

從規劃設計、營造到營運, 每一棟建築物在其實體的背後都必須由龐大而複雜的信息建設來支撐, 不僅如此, 甚至建築的目的與功能也就是生活環境的信息建設。參數化、BIM與建築工業4.0等等數字化技術的應用極其光采奪目, 以至於遮蔽了建築的本質, 然而剝除了信息科技的表層應用之後, 我們發現建築與信息在本質上是如此接近, 甚至融為一體。以下以三個技術應用主題切入, 討論建築的信息建設。

  1. 建築設計就是信息設計與信息工程
  2. BIM的神話、藝術與實踐
  3. 程序對稱性、參數化與建築的工業4.0
我希望以上的內容能夠啟發同學們探索數字化技術的熱忱, 同時不忘記或輕忽建築固有的本質, 並找到能夠結合兩者的方向。


講員:施宣光

經歷:
台灣科技大學建築系教授、博士生導師
曾經擔任台灣科技大學創造力中心主任、建築系主任

學歷:
瑞士聯邦科技大學(ETH Zurich)博士
美國卡內基美隆大學(CMU, Carnegie-Mellon University)碩士
台灣東海大學建築學士

2018年5月8日 星期二

資訊的宣示性與程序性表示

將資訊用宣示性(declarative)的方式表述轉換成程序性(procedural)可以把繁複的資料變簡約。一個明顯的案例就是Postscript程式語言, 當初是被用來描述電腦排版的內容。一開始我很不解, 為何用程式語言來記錄版面?例如你寫的一本論文, 包括各種圖片, 字體, 表格....在你用word編排之後送到印表機時, 電腦送出去的資料竟然是以Postscript所編寫的程式。曾經有一陣子, Postscript是印表機通用的格式, 這一段歷史你可能不熟悉, 在以前, 每一家公司的印表機有自己的格式, 你用word 打文件, 裝了HP的印表機, 就必須把你的排版內容用HP的格式送出, 印表機才知道如何印出來, 因此每一步電腦都必須為每一個印表機安裝driver。

在此背景下Postscript被發展出來成為印表機的通用語言。Postscript的檔案通常很大, 那是因為是ASCII的編碼, 為了通用性才這麼做。格式本身包含了程序性的敘述, 因此就是種程式語言。我們都以為程式語言就是要寫程式, 其實本質上, 程式語言就是資訊的表述格式, 可以利用程序性的敘述, 藉以利用對稱性讓所需的資料變得精簡, 將資訊用最精簡的資料加以表述。要了解這點, 就必須從資訊理論的基礎談起, 對資訊與資料的區別必須很清楚, 對於資訊的計量, 其與對稱性的關聯性就是核心知識, 我和美智的論文就是基於這點。

把這個概念從版面設計轉到建築設計其實差距並不大。目前建築的圖面主要還是由宣示性的資料表述, 你如果了解AutoCAD的DXF格式內容, 或者IFC資料格式就會了解。不過應該沒有任何一種資訊的表述資料是全然宣示性或者程序性的, 因為資料必需被解讀, 而解讀就是一種程序, 理論上這個程序必須被包含在資料裡面的。

我們用grasshopper的程式建一個模型, 就相當於用一個Postscript的程式做版面設計。程式設計的關鍵概念就是掌握所欲表述資訊的對稱性, 將資訊用最精簡的方式以某種資料進行表述。有的表述方式沒有適當的掌握對稱性, 就會充滿重複、贅餘, 之後需要修改時, 造成矛盾與缺漏的機率會增加, 這都是我們在設計的過程中會遭遇到的。

為何程序性的資料比較容易做跨領域的溝通?這跟當年PostScript被用來做為不同廠牌型式印表機之間的通用語言的道理可能有相通之處。每一家公司生產的印表機各有其硬體的設計, 列印時所需的控制參數、硬體限制、列印流程可能都不一樣, 因此驅動印表機進行列印的資料也不會一樣, 例如我們在word程式中安裝HP9000的driver, 其任務就是將word儲存資料的格式轉換成為控制印表機的資料。開發文字處理程式的公司, 例如Microsoft, 為了開發市場, 就必須針對市面上常見的每一種印表機提供driver, 反過來, 每一家印表機廠商, 例如HP, 也必須提供其與市面上常見的文字處理程式之間的driver供客戶安裝使用。這就是目前建築師使用設計圖面與各個專業顧問溝通的模式。每一個專業轉換到另一個專業, 都需要有特定的driver。

溝通是一種把信息(information)轉換成資料(data). 再透過某種通路(channel)將代表資料的訊號傳輸到受信者的感官的過程。信息的兩個要素(信 與 息)其中的 "息" 必須經由編碼 (coding)的程序編寫成資料, 受信端接收後, 再透過解碼(decoding)的程序解讀。("信"的部分牽涉到另一個層次的問題, 不在此談)。 "息"的目的是揭露(uncover)不確定性(uncertainty), 是希望減少受信者對所溝通事物的不確定性。例如營造廠原先不確定建築師設計的建築物有多大, 多高, 用甚麼材料, 但收到建築師的設計圖(息), 經過專業圖面的解讀(decode)後, 對建築設計的不確定性減少了, 就知道如何與建築師進行協同作業。這就是跨專業溝通的一個典型。

是否適合做為跨專業溝通的語言, 就必須思考編碼與解碼的過程是不是能讓雙方都流暢的操作。編碼通常是比較困難的過程, 要找到有效率的編碼方式更是困難。對稱性是有效率的編碼必須要掌握的, 任何建築設計作品必定有高度的對稱性, 所以建築專業間的溝通語言必須能夠讓設計師充分運用對稱性的結構來進行編碼。平立剖的專業圖面就是利用大多數建築物在特定軸向平移時形式的對稱性而設計出來的編碼方式。隨著曲面與更複雜的造型出現, 這種軸向平移的對稱性往往被破壞, 而必須用更高層次的對稱性來進行編碼, 有點像二次曲線雖然不具備線性的對稱性, 但微分求斜率之後就呈現出其線性的對稱性, 建築師在編碼過程如果能描述這種較高層次的對稱性, 就可以做出更有效率的編碼了。