搜尋此網誌

2018年10月1日 星期一

表列(Listing)----作為一種科學工具



表列(Listing)----作為一種科學工具

作為一種非常實用的行為,表列(listing),其廣泛的日常性,幾乎滲透到每一個人的生活細節。從學生個人的課表、餐廳點餐時的菜單、旅遊的攜帶清單到大樓的樓層簡介,處處是表列,都算是表列。我們也能體會,一個沒有分主菜湯品小菜飲料等品項分門別類,混淆消費者的菜單,是會造成點餐困擾的。

很熟悉但沒有科學邏輯卻又貼近事實的表單,生活中到處都是例子。例如:愛妻準則;第一條、老婆永遠是對的。第二條、如果老婆真的錯了,請參閱第一條!第三條、老婆決不會有錯……。我們討論列表,必須剃除這類表單。

比起各種千奇百怪的表列,科學表格其實是相對單純的。原則上,科學表格簡化了文字的描述,讓人一目了然,是若干行與列的有序組織,科學表單中呈現的,常常是量化且整理過的數據,加上一些統計學符號,有時會有備註欄說明等等。表格在內容上的組成,包含行(紀錄、矢量、K-元組)、列(欄位、參數名稱、特性、屬性)、標題(單詞、短語、數字型索引)、單元格(數量、量詞、形容詞、循環或遞歸的方式,對內容加以分組分割或編排)、表頭(加強印象、重點)及表尾(輔助說明及統計標準)

表列可以分為兩大類,正面表列和負面表列。正面表列是對於事物【原則管理,例外自由】,例如營利事業登記證,其文件所記載的營業項目就是正面表列。

負面表列則是【原則自由,例外管理】,臺灣的貿易法規定特定物品的進出口須要輸出入許可證,就是採取負面表列制,它的意思是說除了表內的產品須要申請輸出入許可證之外,不在表內的所有產品都不用申請輸出入許可證,這差別在哪裡?大家想想?表內的項目多?還是表外的?

但是正面表列有個【正面】,就是【正向思考】嗎?也不盡然。表列與心態的正不正向無關,表列大部分是用數學關係去理解,可以用集合來理解,是一類以屬於(∈)與不屬於(∉)構成的關係。

負面表列是一劑特效藥?如果是說創意的特效藥,或許較貼近事實。在法律上,大陸法系多為正面表列,歐美法系則多為負面表列,負面表列降低了冒險犯難的人觸法的危險。

所有的事情都用正面表列好嗎?當然不好!也沒必要!可是正面表列的精神經過延伸,3D列印就是一種廣義的正面表列,它揭示了XYZ三維座標上的何者是該射出素材的點,相反的說,木雕則是一種立體的廣義的負面表列,木雕的作品完成的過程,就是不斷的設定去除範圍,隨著逐漸的成形,捨去的範圍愈小。
如何表列與角色有無關係?以綠豆的例子,就會很容易明白。想像一下,買方與賣方的對立角色,表列差異就很大。買方會盡量挑剔豆子的成色,用刪去法,屬負面表列。賣方不同,賣家會說,「我們有通過檢驗」、「我們有產品履歷」、「我們有產地證明」、「我們是有機綠豆」,十足的正面表列。

    所以,正面表列同意與負面表列禁止?原則上,容易遵行用正面表列,開放創新用負面表列?這樣講都還不具體。以生命科學為例,對於胚胎幹細胞的研究,科學大國誰都強調道德性,但英國在前端管理,採正面表列;美國在後端管理,採負面表列。

    正面表列與負面表列何者容易?容易與否又可分是否容易理解?是否容易操作?以及是否容易判斷?這與使用者的習慣是有關的。在課堂一開始做調查,課前就知道正面表列與負面表列的同學就寥寥可數,足見懂得這兩種表列的定義,已經是殊屬不易。

    正面表列與負面表列可同時使用否?答案是可。所以我們的交通規則,才會指示標誌與禁制標誌並存。真實的生活,連法律的條文,也是常常將正向表列和負面表列混用,但是不會羅列在同一條文下,會比較合理。

    再來看教育現場,教師出題透露出題者屬正負面表列類型,有的老師,喜歡題幹是「下列何者正確?」,有的老師,則習慣以「下列何者錯誤?」入題,這都是基本的態度不同所致。批改考卷時的給分也是,滿分8分,共8題,每題1分,學生錯了3題,你的紅筆選擇為何種書寫???寫+5 ?還是寫-3

    不管正負面表列類型,都受到階層(hierarchy)的影響。「你可以出去玩」是正向表列的說法,但是加上【白天】兩個字就產生變化,成了「你可以白天出去玩」,再加上【單獨】兩個字,則呈現「你可以白天單獨出去玩」。換另外一個說法,「你不可以出去玩」,本來好像是限制最大的語詞,加上【晚上】,就成了「你不可以晚上出去玩」,若再加上【單獨】就更有意思了,「妳不可以晚上單獨出去玩」,出去玩的限制條件,只剩下【晚上】和【單獨】了。

    表列後,接著是排序,排序就複雜多了,如何將表列的元素分析,排列出有意義的次序,是進階的選擇。排序的目的:增進理解、方便管理、區別類群及尋找新解。排序的分類:非線性時間比較類排序與線性時間非比較類排序。排序的另一型分類,則將排序區分為穩定排序、不穩定排序及不實用排序。

    排序是編寫程式時重要的過程,列舉各種排序方法如下:
交換排序:氣泡排序、雞尾酒排序、奇偶排序、梳排序、侏儒排序、快速排序、臭皮匠排序、Bogo排序。
選擇排序:選擇排序、堆排序、平滑排序、笛卡爾樹排序、錦標賽排序、圈排序。
插入排序:插入排序、希爾排序、伸展排序、二元搜尋樹排序、圖書館排序、耐心排序。
合併排序:合併排序、梯級合併排序、振盪合併排序、多相合併排序及串列排序。
分布排序:美國旗幟排序、珠排序、桶排序、爆炸排序、計數排序、比較計數排序、鴿巢排序、相鄰圖排序、基數排序、閃電排序及插值排序。
並行排序:雙調排序器、Batcher合併網路、兩兩排序網路。
混合排序:塊排序、Tim排序、內省排序、Spread排序和J排序。
其他排序:拓撲排序、煎餅排序和意粉排序。

    如果將常用的排序邏輯票選,可以得到十大排序法如下:
1、冒泡排序(Bubble Sort
2、選擇排序(Selection Sort
3、插入排序(Insertion Sort
4、希爾排序(Shell Sort
5、歸併排序(Merge Sort
6、快速排序(Quick Sort
7、堆排序(Heap Sort
8、計數排序(Counting Sort
9、桶排序(Bucket Sort
10、基數排序(Radix Sort

              細究表列與排序的關聯性,發現如果表列內容少,自可不必排序,但若表列項目多,想要理解箇中規律,就非得排序幫忙釐清了。下一次,當你在細數老闆的罪狀,或者條列給兒子的規定時,問問自己,這是正面表列,還是負面表列?要排序時,如何排序?就可以說自己科學魂上身了。

沒有留言:

張貼留言