跳到主要內容

發表文章

[小知識]一些常見數學/資訊/鍵盤符號的樣式與發音

From the reference: http://ccckmit.wikidot.com/ma:symbol 數學符號: 大寫 小寫 寫法 念法 提示 Α α alpha ʹæ lfə Β β beta ʹbetə Γ γ gamma ʹgæ mə Δ δ delta ʹdɛltə Ε ε epsilon ʹepsɪlən 與Υυ 的區分在第一個音為 e Ζ ζ zeta ʹzitə Η η eta ʹeɪtə Θ θ theta ʹθitə Ι ι iota aɪʹɔʊtə iota Κ κ kappa ʹkæ pə Λ λ lambda ʹlæ pə Μ μ mu ʹmjuə Ν ν nu ʹnju Ξ ξ xi ʹsaɪ cy, 為了與Ψψ 區分可念 k-si , 也有人念 zi Ο ο omicron ʹɔʊmaɪkrən Π π pi ʹpaɪ 有 py 與 ʹpaɪ 兩種念法 Ρ ρ rho ʹrɔʊ Σ σ sigma ʹsɪgmə Τ τ tau ʹtau Υ υ upsilon ʹjupsɪlən 與 Ε ε 的區分在第一個音為 u 或 a Φ φ phi ʹfaɪ fy Χ χ chi ʹkaɪ ky Ψ ψ psi ʹpsaɪ cy, 為了與 Ξ ξ 區分可念 p-si, 也有人念 ʹpsaɪ Ω ω omega ʹɔʊmɛgə 鍵盤符號: 符號 念法 & Ampersand (And 符號) *  Asterisk (星號) @ At sign, at (At 符號,At) \  Backslash (反斜線) [  Open bracket (左開式方括弧) ^ Caret (插入號) ] Close bracket (右關式方括弧) ( Open parenthesis (左開式圓括號) )  Close parenthesis (右關式圓括號) – Dash (破折號) — Double dash (雙破折號) - Hyphen (連字號) _ Underscore (底線) : Colon (冒號) , Comma (逗號) $ Dollar sign (錢符號) ‘ Single quote (單引號) “ ...

[讀書章節心得]演算法星球-第二章:到底演算法是甚麼?

演算法是: 仔細地、一步一步解決問題的方法。      Christo Papadimitriou 而不能給演算法定義的學者,則是以實例來說明甚麼是演算法。 第一個例子,是所謂迷宮問題。 迷宮問題,給定一個迷宮,如何找出走出迷宮的路經。 首先先定義圖: 圖是由一定數量的節點組成,再加上把節點連接起來的線,稱之為邊。 一座迷宮是由通道(邊)和樞紐點(節點)組合而成的,我們也可以稱之為一個圖,此時就可以做DFS(Depth First Search),每個路徑最多會被經過兩次,而包含出口的路徑會被經過一次 這裡面的原理就是,一個迷宮裡面有起點和終點,而起點和終點是為唯二可以一個節點有奇數個邊的例外。 DFS是系統性搜尋整個網路的眾多方法之一,它的原則是從起始節點開始往深處搜尋,直到確認終點是甚麼為止。 動作為: 從一個節點往下一個節點出發,如果節點還沒被拜訪過就繼續往下走。 從DFS可以衍伸出三個演算法的典型基石: 1. Recursion,遞迴 2. if-question,假設問題 3. Bow,蝴蝶結,針對節點的相鄰節點進行任何可能動作的搜尋 而這些基石的運作下,DFS可以處理不同的輸入資料(迷宮)。因此, 演算法是能在多元化的過程中,合理處置多元案例的縝密規則。 演算法的多元性就在於,根據不同的輸入資料,會衍伸出不同的結果出來(和食譜不同,根據食譜做出來的料理都是相同的) 演算法就是可以在簡單原則之下,保有其結果的多元性 第二個例子還說明演算法給定的規則下所生成的多樣性 這稱之為生存遊戲(Game of life),由數學家約翰‧霍爾頓‧康威(John Horton Conway)想出來的。 1. 遊戲在一張方格線紙上進行 2. 每個玩家可以隨意挑選一個格子當作兔子 3. 每一輪後,兔子周遭八個格子要是少於兩隻(< 2)兔子就會死掉(擦掉) 4. 每一輪後,兔子周遭八個格子要是多過三位(>3),兔子也 會死掉(擦掉) 5. 每一輪後,周圍有三隻兔子的格子裡面會自動產生一隻兔子 根據這些規則,再給不同組的起始資料,就可以有許多不同的結果 由這些敘述可以知道,演算法是傳換符號的規則。它是一個機器,當給它一些資料,它會回給你結果...

[讀書章節心得]演算法星球-第一章:演算法星球

從分配補給的問題說起,由喬治‧丹齊格發展出單純形法(Simplex Algorithmus)試著解決這個問題。 這個解法也是解決線性規劃式以及離散程式的重要基石。而這也是演算法的一小部分而已。 演算法是由許多許多的簡單步驟所組成,而剛好電腦又擅長處理許多許多的簡單步驟。因此演算法能夠在電腦的運算下發揮它最大的威力。 由於電腦的處理能力有其發展極限所在,那演算法呢? 有個簡單的實驗: 1990有兩個團隊來解決同一個離散程式問題。 假設1990年代電腦使用1990年最佳演算法來解決問題速度為1的話: A團隊經由時光旅行帶來2014年的最佳電腦,並使用1990的最佳演算法來解決問題 B團隊經由時光旅行帶來2014年的最佳演算法,並使用1990的最佳電腦來解決問題。 A團隊最後比原來的速度快了6500倍解決了問題,大致符合摩爾定律 B團隊則是比原來的速度快了87萬倍解決問題,可見得,演算法進步的幅度比電腦運算進步的速度快了數百倍。 這樣說來,演算法帶來的性能提升,是從無到有的,而這點可以成立的原因,是因為我們找出了更簡單省事的方法。 在現代網路連結與完善度的需求,也讓演算式解法持續成長。全球網路彼此連結的趨勢下,很快的我們發現,在小規模狀況能夠自然運作的事情,放大規模可能完全失效(量變造成質變);而完善度的需求(系統的資源必須要最佳的運用),這些都是讓演算法改良的動力。 當然,就像我們知道化學與機械的界線在哪邊一樣,演算法也有它的界線。 演算法的界線: 1. 演算法需要一個連結體幫它連結現實,這個連結體就是資訊的輸入,或稱為一個範例模式或是一個對於現實的了解。 每個演算法的品質都會受限於其連接體(資訊輸入)的品質 ,了解這一點才能夠有意義的去使用演算法 2. 演算法的[決定],和社會科學所論述的決定並不相同,因為社會科學的決定著重的是其中的過程,而並非是結果,而演算法最終則是一個結果。因此演算法可以就細節來做出決定,藉此來協助一個社會大方向的決定成為現實。 3. 演算法的最重要界線,則是演算法思考的[核心構成要件]。硬體的發展會受到物理極限的限制,因此從[計算複雜性理論]來決定每種演算法對於特定問題花費的時間與功夫,直到這個問題被演算法解決所花的時間沒辦法再更進一步為止(沒有辦法更簡單了!)。 [計算複雜性理論]...

[讀書章節心得]演算法星球-總覽

章節列表: *第一章: 演算法星球 *第二章: 演算法到底是甚麼 *第三章: 值得知道的演算法萬有引力 *第四章: 萬有引力的西邊 *第五章: 仙境 *第六章: 通往平衡的路 *第七章: 新觀點 *回到家 演算法,懶惰這兩個字的登峰造極之作,通常是為了完成一個任務而存在。 必須要說的是,演算法實際上需要的不是電腦,只需要會算數,就可以了解演算法。 第一章大致上說的是演算法的歷史與來由 第二章則是著重在描述甚麼是演算法的這個問題上 第三章則是談論演算法星球上的萬有引力--複雜性(Complexity) 第四章則是從日常生活中去擷取演算法的例子 第五章在介紹搜尋引擎的種種 第六章則是試著把演算法從科技與生活這兩者取得一個平衡的描述,打破演算法屬於科技這種想法 第七章則是再次介紹演算法的四位大師,從他們的觀點來試著了解演算法與這個世界的關係。