2017年6月14日 星期三

[visualstudio, clean] 最簡單的方法, 清理 Visual Studio Solution 目錄

http://mqjing.blogspot.com/2017/06/visualstudio-clean-visual-studio.html

How to clean all unnessary files from the solution
井民全, Jing, mqjing@gmail.com

Google doc: This document.

Quick Guide

清除所有的東西

  • Delete the folders of package, obj, bin
恢復 Package
  • [Tools] -> [NuGet Package Manager] -> [Manage NuGet Packages for Solution...]: Restore

 

Purpose

Reduce whole visual studio solution size from ~MB to ~KB. 有時候你會想做一些實驗性質的 projects, 完成實驗後, 希望能夠把整個 solution保留下來. 但問題是當你做 make clean , 卻發現整個 solution 大小還有數百 MB, 這是因為你的專案還有使用其他第三方packages 的關係, 本文介紹一個方法可以讓你只保留 solution中最重要的部份, 剩下的全部砍掉. 最終大小只有數百 KB.

(Edit)
因此可以向我一樣放心的進行各種實驗並且收集各式各樣的實驗 solution 結果.
e.g.

怎麼做?

Clean All

只要把下面的目錄全部刪除, 即可
  1. package folder
  2. obj folder
  3. bin folder

Restore All Packages

Command
[Tools] -> [NuGet Package Manager] -> [Manage NuGet Packages for Solution...]




2017年6月9日 星期五

#別太聽信前輩的話

http://mqjing.blogspot.com/2017/06/blog-post.html

#別太聽信前輩的話 [13]. 
前些陣子, 讀完了這本由加來道雄的「穿梭超時空 平行宇宙、時光隧道和十度空間大探索」這本書實在有趣, 所以想推薦給大家. 全書的風格如同好萊塢式旋風般的洗禮,快速的介紹我很多的重要而且驚訝的觀念。

閱讀這本書時, 每當我仰望星空, 腦中想的不再是單純的黑色布幕點綴著少許星光. 取而代之的是對真相的震撼, 由數學與觀測結果所推演出來的真相, 在我腦中呈現的是銀河系中心巨大的噴流, 暗物質與暗能量如何影響星系的運動, 宇宙星系分布的情形以及巨大脈衝星所產生足以撕碎任何靠近太空船的電磁噪音. 無限, 極限, 機率模型, 數論, 代數, 橢圓, 幾何, 微積分 等古代哲人使用的理性推理工具, 描述出可接受檢驗的自然現象真相. 

仰望天空 …  小小的人類如我, 竟膽敢在公園裡思考 宇宙的大小, 星系的數量 星系的密度, 星系旋轉遠距測量方法, 星系間巨大空洞,與空間的形狀等上帝問題…. 當一片樹葉落下的聲音, 打斷了我的思緒. 把我從宇宙銀河的深處, 拉回到我處的公園座位.. 那種自覺的快樂, 那微風傳來潮濕土壤搭配著剛下過雨的清新野草味道, 快樂是無法想像的. 那是一種自覺的快樂. 就在當下, 手機上記錄了 [金錢不會讓你的肚子充滿墨水, 空閒不會讓你快樂] 的字句留給自己 ^__^

 

在長篇大論前,如果你時間沒那麼多,那麼我覺得這本書最精彩的地方是從第 360 頁開始的科技發展趨勢推演。你可以從這裡開始讀起. 作者引用前蘇聯科學家 Nikolai Lardashev 文明的分級,從完整控制行星能源(太陽系已全然探勘完畢的第一級文明,到如同最新星際大戰電影相同等級可以直接擷取恆星能源推動機器的文明,最後能使用整個星系的能量推動機器,控制數十億個星系當作能源來源的第三類文明。第三類文明能操控愛因斯坦方程式,進而操控時空。你可以了解星際大戰的科技分類級別, 還可以思考下一個等級的科技級別該是如何?

從第360 頁開始,絕對可以滿足你對科幻的想像力 ^_^

如果你像我一樣從頭開始閱讀,你會發現更多除了科學之外的東西。 哲學與藝術史還有神都影響者世世代代人們的看法. 

如:自由主義 [4], 中世紀宗教藝術家刻意採用「非透視」法:完全沒有景深的2D 畫法,原來是為了呈現上帝的全能,一眼就能看清世界每個角落的方式 [1]. 喔 … 原來那時期的藝術家們是故意畫成這樣來彰顯上帝的萬能. 在文藝復興時期, 則改以人為中心,從人的角度看世界。

作者舉了達文西透視法就是一個典型 [2]。至此之後, 我在餐廳看的 [最後的晚餐] 就不再只是一幅耶穌基督與 12 門徒吃飯的畫作, 而連結到文藝復興運動時期的人文與哲學思想上了. 

在後來在機器時代時期,立體派論者的看法:他們認為「實證主義」,壓抑了我們的想像力,而藝術為何是要依樣畫葫蘆的「寫實派」畢卡索為一典型 [3]. 

除了哲學和歷史外, 書中也介紹了新的東西: 讓我們得以看到四次元空間的物體. 他介紹的方法是 Hinton 的投影法。基本思維在於: 

任何高次元物體可以投影方式顯現在較低的維度上 [5]. 

因此, 我們生活在三維空間的生物雖然無法看見四維空間的物體, 但是我們卻可以看得到四維空間的投影. 這對我來說是一個思維上的大震撼, 有興趣的讀者可以一探究竟. 

讀這本書讓我們一些小時候早就知道的事情,再做一次的釐清。如:為什麼在接近光速的汽車裏,量測光速,它還是以光速向我離去?原因是我們的量尺因為速度也縮小了,因此量測光速還是以光速向我們離去 [6]. 

這裏還有個火車的例子,寫的相當精采。如:時間應該在不同地方,會因為不同空間尺度而有不同的時間尺度。讀這本書, 讓你會想再去看科幻電影 [星際效應]. 

在閱讀過程中,一些有趣的橋段, 會讓你不自覺的微笑。如:農夫問工程師蒸汽引擎如何運作?工程師把每一個細節交代清楚後,農夫問了一句:「但是馬在哪?」[7]. 

作者藉此用來嘲諷如果只看結果 而沒真正了解原理和觀念, 就會產生矛盾而問出讓人啼笑皆非的問題.

而從數學模型推演出的概念, 反而衍生出一些有趣的問題:如: 空間彎曲引伸出了宇宙形狀的問題 [8]. 

作者提到每一個科學家都有一個自己一生的轉淚點:愛因斯坦小時候觀察羅盤指針的奇妙經驗、黎曼閱讀了雷詹德的「數論」、

印度數學天才羅摩奴詹則是讀了 George Carr 的數學書籍,而獨力以己之力,對抗(重新證明)西方數百年累積的數學成就 [9]。

更讓我們可以砥礪自己: Thing Big, 勇敢地做自己, 勇敢地想. 別怕別人笑. 那些優秀的人以前就是這樣做了.

這畢竟是一本科普書, 所以加來道雄用了許多篇幅談論:當今理論物理學界遇到的最大困難: 整合所有的作用力

他用有趣的寶石例子說明為何要整合所有作用力是一件困難的事, 如同在二次元的人要拼湊一堆由三次元組成而破碎的寶石碎片 [10], 以淺顯易懂的方式說明愛因斯坦, 費曼等人失敗的原因。

「穿梭超時空 平行宇宙、時光隧道和十度空間大探索」這本書, 我認為不只是講科學, 他還講哲學, 人類心理學, 西洋藝術史, 和社會演化, 「量變 -> 質變」是有一個對立狀態進展到下一個更高階的對立狀態。

從人類心理發展階段論:人一旦解決了心理衝突,就能進入下一個階段。我們可以搭配台灣最近蓬勃的社會運動現象, 你可以在腦中混和出一些化學反應, 讓你言之有物而有所本, 也許我們可以藉此發展出人類心理學和社會演化論等模型, 來預測社會運動的發展軌跡.

讀這本書, 你會發現作者暗示了自然界背後隱隱藏有秩序,而相同的模式則一再出現 [12]. 

如果大家有興趣, 可以閱讀另外一本書: 黑天鵝效應, 該書作者對相同的問題也提出了相當有趣的反思觀點。

年輕朋友常常對前途, 籌措不前. 加來道雄舉了弦論的發現者 Mahiko Suzuki之一慘痛的例子,告訴我們:別太聽信前輩的話 [13]. 

作者提醒了我… 獨立思考的重要性!   
我收到了。

最後,這本書雖然沒有得什麼獎項,但我依然收獲頗多。再加上作者驚人的解釋能力,讓我能在短時間,就抓到作者要講的東西,算是一部相當好看的科普書籍。

我推薦給大家^_^

Enjoy.
井民全

References
[1] 加來道雄, "能夠看到四次元的人," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 85.
[2] 加來道雄, "能夠看到四次元的人," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 86.
[3] 加來道雄, "能夠看到四次元的人," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 87.
[4] 加來道雄, "能夠看到四次元的人," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 92.
[5] 加來道雄, "光的秘密 第五次元的振動," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 95-96.
[6] 加來道雄, "光的秘密 第五次元的振動," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 112.
[7] 加來道雄, "光的秘密 第五次元的振動," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 87.
[8] 加來道雄, "光的秘密 第五次元的振動," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 131.
[9] 加來道雄, "超弦," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 87.
[10] 加來道雄, "來自十次元的蛛絲馬跡," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 238-239.
[11] 加來道雄, "創世之前," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 278.
[12] 加來道雄, "超弦," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 205-206.
[13] 加來道雄, "超弦," in 穿梭超時空 平行宇宙、時光隧道和十度空間大探索, 2015, pp. 212-213.

2017年6月3日 星期六

[console, wait] Press Any Key to Exit

http://mqjing.blogspot.com/2017/06/console-wait-press-any-key-to-exit.html

Press Any Key to Exit
井民全, Jing ,mqjing@gmail.com
Google doc: This document.

#if DEBUG
           Console.WriteLine("Press Any Key to Exit");
           Console.ReadKey();   // wait
#endif



2017年5月26日 星期五

[perceptron, T] 計算 perceptron 的學習收斂

http://mqjing.blogspot.com/2017/05/perceptron-t-perceptron.html

為何 Wf 和 Wt 的內積是根號 T + 常數?
井民全, Jing, mqjing@gmail.com
Google doc: This Document

有關 perceptron 收斂問題的推導, 我想很多人早就知道了. 我只是有興趣把它推導一次, 記錄一下過程.

Page 14


使用遞迴算出 t 次更新 W 後, 目標線 與預測線 的相似程度, 即計算內積
做法:
根據 pp. 14,  
其中 .
是目標 weight.
=>
t = 1

t = 2

t =3

第 t 次
--------- (1)

Page 15

使用遞迴算出 t 次更新 W 後, 預測線 的長度變更, upper bound
做法:

t = 0,

t = 1,


t = 2,


第 t 次

-------- (2)



計算內積



做法如下

     代入 (1)   


                        
                                  
         
由 (2) 得知,
, 因為 不是 (+1) 就是 (-1), 所以 =1.
                 --------------------(3)



代入 (3)

                         
                                                     


所以, 若執行 T 次的 update, 目標線 與預測線 的相似程度, 即內積的結果




    --------------------(4)
           --------------------(5)




Page 16

計算收斂次數 T 的 upper bound

=> 由 (5) T 次 update W 後, 目標線 與預測線 的單位向量的內積, 如下


而 內積的最大值 = 1, 所以


因此 T 的 upper bound 為
             
             


Appendix



Reference