如果可以用一種簡單的方式來理解世界,我想這種方式就是“數(shù)學”孵淘!
“宇宙之大蒲障,粒子之微,火箭之速瘫证,化工之巧揉阎,地球之變,生物之謎背捌,日用之繁毙籽,無處不用數(shù)學”。
看起來像是魔法毡庆,理解之后就是數(shù)學坑赡,那啥叫數(shù)學呢烙如?數(shù)學就是數(shù)字的系統(tǒng)化科學,本篇先從數(shù)字入個門吧毅否。
1. 數(shù)字是什么亚铁?
2. 計數(shù)系統(tǒng)
3. 數(shù)字美學
一、數(shù)字是什么搀突?
1. 直覺在前刀闷,數(shù)字在后
要知道數(shù)字是什么?起源于什么仰迁?先來兩個例子“一望冰山”吧:
1> 對早期依賴戶外生存能力的原始部落來說甸昏,當不同部落之間發(fā)生沖突,大家互相揮舞著長矛徐许,需要立刻決定的問題是:打施蜜?還是跑?需要領(lǐng)導者快速判斷雙方人數(shù)差異雌隅,對方人少就打翻默,對方人多咱就跑。
2> 路邊看到兩棵果樹恰起,去采摘哪一棵果樹呢修械?就需要立刻判斷出哪棵樹上的果實更多。
這兩個例子都是沒有必要一一數(shù)出每一個人數(shù)检盼、每一顆果子肯污,最關(guān)鍵的是快速估計出相對數(shù)量,而這種估計就是人類對于數(shù)量的直覺吨枉,即對比關(guān)系蹦渣。
在現(xiàn)代數(shù)據(jù)分析方法ABtest中,最關(guān)鍵的就是對事物提出對比假設(shè)貌亭,再進行數(shù)字化驗證柬唯,假設(shè)很大程度依賴直覺,而數(shù)字是對直覺的確認圃庭,那么直覺與數(shù)字的關(guān)系是什么樣的呢锄奢?接著往下看。
2. 實驗:數(shù)學教育對直覺的影響
2004年卡內(nèi)基-梅隆大學的羅伯特·西格勒(Robert Siegler)和朱莉·布思(Julie Booth)對幼兒園學生(平均年齡為5.8歲)剧腻、一年級學生(6.9歲)和二年級的學生(7.8歲)做了數(shù)軸實驗:一條線拘央,左右兩邊隨機展示一些點,中間有光標恕酸,學生來指出這組點應(yīng)該在什么位置,通過重復點擊來測試不同程度的數(shù)學教育會如何分配從1-100之間的數(shù)字胯陋。
結(jié)果顯示(如圖)蕊温,隨著我們對數(shù)字越來越熟悉袱箱,我們的直覺也逐漸被固化。
1> 對于沒有受過正規(guī)的數(shù)學教育的幼兒園學生义矛,他們會按曲線繪制出數(shù)字发笔;
2> 小學一年級的學生們因為開始學習數(shù)字和符號,所以他們的曲線變直了一些凉翻;
3> 小學二年級的學生繪制出的數(shù)字終于沿著直線均勻分布了了讨。
ps:這組數(shù)據(jù)沒有找到源數(shù)據(jù),就從材料中拍圖截取吧制轰,不要吐槽博主哈哈哈~
理論上實際值與估計值繪制出來應(yīng)該是一條從0開始的45°斜直線前计,而實際結(jié)果是數(shù)字越大線條越平緩,斜率越小垃杖,也就是大數(shù)字間的距離比小數(shù)字間的距離在感覺上更近男杈,如:80和100之間的距離20,比20和40之間的距離20调俘,在感知上要小一些伶棒。
這個實驗說明:我們的直覺很多時候是與現(xiàn)實是不匹配的,可能會有感覺誤差彩库,因此需要科學的方法來做決定肤无,也就是現(xiàn)在企業(yè)追求的數(shù)據(jù)決策,做出更為靠譜可信賴的判斷骇钦。
3. 印度數(shù)學的發(fā)展
歷史上有過非常多的計數(shù)方式宛渐,革命性的計數(shù)系統(tǒng)是由印度人發(fā)明的阿拉伯數(shù)字系統(tǒng),使用10個數(shù)字:0司忱、1皇忿、2、3坦仍、4鳍烁、5、6繁扎、7幔荒、8、9梳玫,接下來我們要聊的是基于阿拉伯數(shù)字系統(tǒng)的吠陀數(shù)學速算技巧爹梁。
20世紀初,印度哲人巴拉蒂·克里希納·第勒塔季在由梵文著成的古代《吠陀經(jīng)》中發(fā)現(xiàn)了這套技巧提澎,速算技巧基于16句格言姚垃,并不來自《吠陀經(jīng)》中記錄的某一段文字,而只能根據(jù)“直覺啟示”感知到盼忌,并將感知到的方法統(tǒng)稱為“吠陀數(shù)學”积糯,這相當于有人在金剛經(jīng)中找到了解一元二次方程的解法掂墓,太太太哇塞了!
吠陀算法的主要特點是可以將復雜的問題分解為簡單的步驟看成,并使用特定的規(guī)則和技巧進行計算君编。
其中最著名的技巧是“補數(shù)法”,如:計算1000-456川慌,前面所有數(shù)字從9開始減吃嘿,最后一個數(shù)字從10減,拆分為9-4=5,9-5=4,10-6=4梦重,結(jié)果是544兑燥。
16句格言講述了特定的規(guī)則:
1/2/3:比以前的1多了1、比以前的1少了1忍饰、全部從9開始&最后從10開始贪嫂;
4/5/6/7/8:垂直和交叉、轉(zhuǎn)置和應(yīng)用艾蓝、通過加和減力崇、和的乘積、所有乘數(shù)赢织;
9:如果《集論》是相同的亮靴,它是零;
10:如果一個是成比例的于置,另一個是零茧吊;
11/12/13/14:完成或末完成、通過虧空八毯、具體和普遍搓侄、微分學;
15/16:最后一位的余數(shù)话速、最后一個和兩次倒數(shù)第二讶踪。
是不是有點迷糊啦?別著急泊交,舉個簡單的例子理解一下(如圖):用吠陀算法乳讥、長乘法兩種算法計算888*997=?
1> 吠陀算法:先做減法廓俭、再做對角線加法云石、然后右側(cè)數(shù)字乘法,最后拼起來研乒;
2> 長乘法:逐個位置數(shù)字相乘汹忠,再累加。(小學數(shù)學學的就是長乘法)
那么再復雜一些的數(shù)字如何計算呢?感興趣的朋友可以自己研究哦~
二宽菜、計數(shù)系統(tǒng)
1. 啥是計數(shù)系統(tǒng)奖地?
假設(shè)沒有數(shù)字,失眠的時候赋焕,怎么數(shù)羊嘞?仰楚?隆判?
Action:羊、羊羊僧界、羊羊羊侨嘀、羊羊羊羊、羊羊羊羊羊捂襟、羊羊羊羊羊羊...(已經(jīng)聽到你在念啦R蟆)
是不是很著急,可能直接放棄羊羊了葬荷,有數(shù)字之后涨共,就可以1只羊、2只羊宠漩、慢悠悠數(shù)過來举反,有沒有感受到計數(shù)系統(tǒng)的強大?扒吁!
在人類歷史發(fā)展過程中火鼻,生活在不同地區(qū)的人發(fā)明了不同的計數(shù)系統(tǒng)和方法,如:以α/β/γ...等27個字母為基礎(chǔ)的希臘計數(shù)法雕崩、以I/X/C/M/V/L/D為基礎(chǔ)的羅馬計數(shù)法魁索,以及用手指關(guān)節(jié)計數(shù)的方法。
一個好的計數(shù)系統(tǒng)要滿足哪些條件呢盼铁?
1> 基數(shù)必須足夠大粗蔚,但也不能太大,這樣在表達100這樣的數(shù)字時捉貌,才不會喘不過氣支鸡,也不需要記憶太多的東西;
2> 符合人的行為習慣趁窃,歷史上常見的基數(shù)是:5牧挣、10、20醒陆,很大程度的原因是這些數(shù)字來自人體瀑构,5個手指、10個手指、再加上10個腳趾寺晌。
印度人發(fā)明的阿拉伯數(shù)字系統(tǒng)恰好世吨、或者說完美地滿足了所有要求,使用10個數(shù)字:0呻征、1耘婚、2、3陆赋、4沐祷、5、6攒岛、7赖临、8、9灾锯,且基數(shù)為10兢榨。
2. 常見的進制有哪些?
二進制(Decimal system)
用數(shù)字0顺饮、1表示吵聪,基數(shù)為2,滿2進1位兼雄,最常見的是二進制使用場景是計算機控制系統(tǒng)暖璧。
為什么二進制適用于計算機控制系統(tǒng)呢?
最主要原因是二進制數(shù)只有0和1兩種狀態(tài)君旦,與計算機內(nèi)部的邏輯電路的開關(guān)狀態(tài)非常相似澎办,運算規(guī)則要比其他進制的數(shù)簡單得多,這有利于提高計算機的運算速度金砍,每個數(shù)字稱為一個比特局蚀,相比之下,其他進制的數(shù)表示方式需要更為復雜的電路和算法才能實現(xiàn)恕稠。
十進制(Decimal system)
用數(shù)字0琅绅、1、2鹅巍、3千扶、4、5骆捧、6澎羞、7、8敛苇、9表示妆绞,基數(shù)為10,滿10進1位,是人們?nèi)粘I钪凶畛J褂玫囊环N進制括饶。
為什么十進制適用于人類呢株茶?
可能是因為人類的大腦在進行計數(shù)時,習慣于將數(shù)量轉(zhuǎn)化為手指的數(shù)量或者位置图焰,而我們的手指有10個启盛,這使得我們的大腦更容易接受十進制的計數(shù)方式。
十二進制(Duodecimal system)
通常用數(shù)字0~9以及字母A技羔、B來表示驰徊,其中,A代表10堕阔,B代表11,以12為基數(shù)颗味,滿12進1位超陆,常見的十二進制使用場景如:一打(12)、一羅(144=12^2)浦马。
十二進制的整除屬性比十進制要好一些时呀,如:12可以被2、3晶默、4谨娜、6整除,而10只能被2磺陡、5整除趴梢,在日常生活中,更有可能把一個數(shù)除以3或者4币他,而不是除以5坞靶。
下圖是十二進制的乘法表,幫助理解十二進制的具體數(shù)字展示蝴悉。
(十進制轉(zhuǎn)十二進制數(shù)值的方法:十進制數(shù)除以12得到倍數(shù)的整數(shù)部分用十二進制表示彰阴,拼接余數(shù)部分的十二進制表示。)
六十進制(Sexagesimal system)
使用0-59來表示拍冠,以60為基數(shù)尿这,滿60進一位,常見使用場景如:秒庆杜、分鐘射众,以及中國的六十甲子。
據(jù)記載1793年法國試圖將時間轉(zhuǎn)變?yōu)槭M制晃财,也就是每天有10小時责球、每小時有100分鐘、每分鐘有100秒,一天變成了100000秒雏逾,而不是原來的86400(24*60*60)秒嘉裤,時間十進制的秒比原來的秒會短一些,導致時間感知暈頭轉(zhuǎn)向栖博,短短6個月改革就被放棄了屑宠,十進制在時間上的失敗是十二進制、六十進制取得的小小勝利~
三仇让、數(shù)字美學
1. 數(shù)學中最迷人的曲線之一“對數(shù)螺線”
先了解一下啥是黃金比例典奉,即一條線段被切分成兩段,原線段與較長部分的的比例=較長部分與較短部分的比例丧叽,這個比例約為1.618卫玖,也就是黃金比例,堪稱自然界最美的結(jié)構(gòu)比例踊淳。
對數(shù)螺線就是基于黃金矩形繪制出的一條曲線:
1> 把一個長寬比例為1.618的黃金矩形假瞬,切分出一個正方形,剩余部分仍然是一個黃金矩形迂尝;
2> 以正方形的一個角為圓心脱茉,畫1/4圓;
3> 重復切分出正方形+畫圓弧線垄开,就得到一條對數(shù)螺線(如下圖所示)琴许。
對數(shù)螺線的基本性質(zhì)是:不會隨著圖形的發(fā)展而改變,即螺線本身具有相似性溉躲,任何一個較小部份與較大部份相似榜田。
它最有魅力的一點是:永恒!
2. 隨機模擬為什么賭博會輸锻梳?
對于這個問題串慰,接下來會用隨機數(shù)模擬賭博結(jié)果,來說明為什么賭博會輸唱蒸,在模擬數(shù)據(jù)之前邦鲫,先說明三個基本點:
1> 對經(jīng)濟利益的渴望,更具體點就是“博彩業(yè)”神汹,讓人們開始研究獲勝的可能性庆捺,概率就是可能性的數(shù)字化表達,將不可預測性變得可預測屁魏;
2> 賭博的前提是隨機事件滔以,即隨機事件與你的想法無關(guān);
3> 賭徒破產(chǎn)原則氓拼,指一個賭徒在賭博中你画,無論他贏得多少抵碟,只要他繼續(xù)賭博,最終他就會破產(chǎn)坏匪。
用R語言模擬拋硬幣實驗:
假設(shè)有6個人拟逮,分別拋100次硬幣,正面朝上記為1适滓,反面朝上記為-1敦迄,將每次結(jié)果累加,繪制6個人拋硬幣結(jié)果的隨機游走曲線凭迹,如下圖所示罚屋。
從這個圖可以發(fā)現(xiàn)隨著拋出次數(shù)的增多,曲線波動越來越大嗅绸,假設(shè)拋硬幣游戲變成了賭博脾猛,唯一讓它停止賭博的方式就是錢=0;
同時這個現(xiàn)象說明賭博對富人有利鱼鸠,因為富人不僅需要更長的時間才會破產(chǎn)猛拴,而且還有更多的機會讓隨機游走向上延伸。
附:隨機游走曲線的Rcode
library(reshape2)
library(ggplot2)
# 定義N個人參與賭博瞧柔、n次賭博
N<-6
n<-100
data_sample<-as.data.frame(matrix(0,n,N)) # 創(chuàng)建矩陣
data_sample$label_x<-1:nrow(data_sample) # 生成拋硬幣的次數(shù)列
for (j in 1:N) {
?data_sample[,j]<-as.data.frame(sample(c(-1,1), # 隨機生成的值序列,1代表正面睦裳、-1代表反面
?n,
?replace = TRUE,
?prob = c(0.5,0.5))) # 概率
?}
# 將每次拋硬幣結(jié)果逐個值累加
for (j in 1:N) {
?for (i in 1:n) {
?if (i==1){
?data_sample[i,j+N+1]<- data_sample[i,j]
?} else {
?data_sample[i,j+N+1]<-data_sample[i,j]+data_sample[i-1,j+N+1]
?}
?}
?}
data_sample<-subset(data_sample,select = c((N+1):(N*2+1)))
data_sample<-melt(data_sample,id.vars = c('label_x'),variable.name = 'v1') # 繪制曲線
ggplot(data_sample,aes(x=label_x,y=value,group=v1,color=v1))+
?geom_line()+
?labs(title="拋硬幣隨機游走曲線")+theme(legend.position="none") # 隱藏圖例
文末:博主超級喜歡對數(shù)螺線造锅,因為它“任爾變換,不忘初心”廉邑。