SlideShare a Scribd company logo
計算機大小事

- 通識報告 文化脈絡中的數學

資工 3B 楊翔雲
為什麼講這個主題 ?
• 計算機很快,但是為什麼會快 ?

• 身為資工系
從這裡下手
作業曾經要我們查查 “Grace Hopper“

也許又因為 12/09
Google 搜尋頁上的 COBOL
單教授做的網頁
數形結合、數形變換 ?
• 用一個幾何的方法去解決一個代數問題

• 那令人痛恨的高中數學,又有多少是這種
• 真的有說的那麼簡單嗎 ?
再這樣說下去
• 越來越艱深的專業用語
舉個例子 – 最大平均值問題
找一段長度至少 L,平均價值最高的。
好比一張淋濕的紙,找一段質量最好剪下來
j

x [i ]
f ( x [], n )

max(

),   
0

k i

j

i

1

i

j

n
這問題並不難啊
• 任抓一個區間計算不就得了!

C(n, 2) = O(n2)
• 但是不夠快
一頁思路解決它、加快它
• 平面上一點 (x, y)
x

y
Z

i
i

y

x[k ]
k 0

• 找斜率最大的一條線

A

《浅谈数形结合思想在信息学竞赛中的应用》

x
j

x [i ]
f ( x [], n )

max(

),   
0

k i

j

i

1

i

j

n
有多快 ?
• O(n)

• 好比看完題目的時間,答案就算出來了。
• 能這樣考試有多好辦事
數形,告一段落。
• 說不定是誤會數形了

• 談點大家都明白的數學計算
根號 √
• √n 如何計算其值 ?

• 國中數學 - 十分逼近法、二分逼近法
• 直式開平方法 (中國直式開方法)
直式開平方法 (一閃而過)
951*951=904401
口->9
+ 口->9
----18口->5
+ 口->5
-----190口->1
+
口->1
--------1902

9, 5, 1
---------|90,44,01
81
-------9,44,01
9,25
------19,01
19,01
-----0
大學時期
牛頓迭代法

xn

1

xn

f ( xn )
f ' ( xn )
《一個sqrt函數引發的血案》
• 這計算不能再快了!

• 讀到大學,
想必基礎計算已經達到頂峰了 ?
《一個sqrt函數引發的血案》
• 有人提出 1/√n 比 √n 更好算

• 只差一個倒數,倒回來不是更痛苦!
怎麼可能比較好算。
《一個sqrt函數引發的血案》
float InvSqrt(float x)
{
float xhalf = 0.5f*x;
int i = *(int*)&x; // get bits for floating VALUE
i = 0x5f375a86- (i>>1); // gives initial guess y0
x = *(float*)&i; // convert bits BACK to float
x = x*(1.5f-xhalf*x*x); // Newton step, repeating increases accuracy
x = x*(1.5f-xhalf*x*x); // Newton step, repeating increases accuracy
x = x*(1.5f-xhalf*x*x); // Newton step, repeating increases accuracy
}

return 1/x;

• 0x5f375a86 常數打哪來 ?
圖片來源 - 西乔的九卦
《一個sqrt函數引發的血案》
• 令數學家也匪夷所思的常數計算
• 找不到程式碼原作者,外星人 ?

圖片來源 - 西乔的九卦
外星人程序
• 非常精簡
• 摸不著頭緒的流程

• 莫名其妙,中間夾雜了奇怪的不明物
• extra.外星人计算PI的程序精确到800位
更殘酷的事實
• √n 平常根本用不到
• 2 個 n 位數字相乘,算是更和藹可親吧 ?
看點最近發生過的事情
• 人腦計算機 (2013/11/04 Google Event)
• 印度的數學家 Shakuntala Devi
(1929-2013)
看點最近發生過的事情
1980年(51 歲),僅花28秒就正確算出兩
個13位數字相乘的答案
「7 686 369 774 870 X 2 465 099 745 779 =?」
兩數相乘-直式乘法
兩個 n 位數字相乘

• 使用 n2 次的乘法。
• O(n2)

1234
x
5678
__________
9872
8638_
7404__
6170___
__________
7006652
兩數相乘 - more
兩個 n 位數字相乘

• D&C (分而治之)
• FFT (快速傅立葉)

1234
x
5678
__________
9872
8638_
7404__
6170___
__________
7006652

O(n1.59)
O(n lg n lglgn)

• O(n2)
有如 IE 望向 Chrome、FireFox 的感受
仔細一看這份 ppt
• 很多演算法 (Algorithm) 沒有時間說清楚

• Algorithm 從何時說起 ?
Thank You!
Blog Website:
mypaper.pchome.com.tw/zerojudge
補充 – 匹配問題
• n 個男生、n 個女生,互相匹配各有好感度

• 求整體好感度總和最大化。
• 賽局理論 ?
• 在 Algorithm 中,還是悄悄地退出場好了。
補充 – 電腦亂數問題
• 為什麼樂透 (Lotto) 還是要用滾筒
公布號碼呢 ?
• 既然有規律,還要買電腦選號嗎 ?

• 為什麼遊戲中裝備總是衝不到 +10 ?
其他人是怎麼辦到的 ?

More Related Content

PPTX
User interface
Shiang-Yun Yang
 
PPTX
Polarity analysis for sentiment classification
Shiang-Yun Yang
 
PPTX
文明的進程第十組
Shiang-Yun Yang
 
PPTX
計算幾何論文報告 Minimum local disk cover sets
Shiang-Yun Yang
 
PPTX
N grams as linguistic features
Shiang-Yun Yang
 
PDF
軍事報告 電磁砲
Shiang-Yun Yang
 
PDF
第二十組福斯汽車
Shiang-Yun Yang
 
PPTX
敏捷簡報
Shiang-Yun Yang
 
User interface
Shiang-Yun Yang
 
Polarity analysis for sentiment classification
Shiang-Yun Yang
 
文明的進程第十組
Shiang-Yun Yang
 
計算幾何論文報告 Minimum local disk cover sets
Shiang-Yun Yang
 
N grams as linguistic features
Shiang-Yun Yang
 
軍事報告 電磁砲
Shiang-Yun Yang
 
第二十組福斯汽車
Shiang-Yun Yang
 
敏捷簡報
Shiang-Yun Yang
 

More from Shiang-Yun Yang (9)

PDF
計算型智慧論文報告 Building optimal regression tree ...
Shiang-Yun Yang
 
PPTX
Aaex7 group2(中英夾雜)
Shiang-Yun Yang
 
PPTX
Rpg 角色扮演遊戲 – 初探
Shiang-Yun Yang
 
PPTX
Aaex6 group2(中英夾雜)
Shiang-Yun Yang
 
PPTX
Aaex3 group2
Shiang-Yun Yang
 
PPTX
Aaex5 group2(中英夾雜)
Shiang-Yun Yang
 
PPTX
Aaex4 group2(中英夾雜)
Shiang-Yun Yang
 
PPTX
Aaex2 group2
Shiang-Yun Yang
 
PDF
Alex1 group2
Shiang-Yun Yang
 
計算型智慧論文報告 Building optimal regression tree ...
Shiang-Yun Yang
 
Aaex7 group2(中英夾雜)
Shiang-Yun Yang
 
Rpg 角色扮演遊戲 – 初探
Shiang-Yun Yang
 
Aaex6 group2(中英夾雜)
Shiang-Yun Yang
 
Aaex3 group2
Shiang-Yun Yang
 
Aaex5 group2(中英夾雜)
Shiang-Yun Yang
 
Aaex4 group2(中英夾雜)
Shiang-Yun Yang
 
Aaex2 group2
Shiang-Yun Yang
 
Alex1 group2
Shiang-Yun Yang
 
Ad

通識報告