學習總結之《具體數學》

  《具體數學》是高德納經典著做《計算機程序藝術》的數學預備知識部分的深化和拓展。html

  咱們先看一道題,ide

  一個娛樂場裏面,有一個輪盤賭局,輪盤上有編號爲1到1000的1000個槽。若是一次旋轉小球落在的槽裏的數字$n$知足$\lfloor\sqrt[3]{n}\rfloor|n$,則娛樂場付給咱們5元,不然咱們損失一元。若是咱們玩這個遊戲,會不會有但願贏錢。函數

     其中$\lfloor\sqrt[3]{n}\rfloor|n$表示$\sqrt[3]{n}$的下取整能整除$n$,即$n$能夠表示成$\lfloor\sqrt[3]{n}\rfloor|n$的整數倍。this

 

  通常此類有關輸贏的問題,都是要回答兩個問題:idea

  1. 咱們贏錢的機率是多少?若是一件事贏的機率不大,那咱們通常是不會去作的,就像別人精心設計的賭局同樣,咱們只有挨宰的份。不一樣風險偏好的人會對不一樣的機率會有不一樣的反應。這裏涉及投資內容暫且不提。
  2. 假設咱們玩了好多好屢次,咱們平均會贏多少錢,數學上的分析就是咱們贏錢的指望是多少。這兩個問題本質是同樣的,知道贏錢的機率,也知道輸錢的機率,那麼加上輸贏時的收益損失,就知道指望了,這只是簡單的計算問題。

  用這樣的思路思考這道題,就是要計算贏錢的機率和指望。假設1000個數出現的概率相等,那麼獲勝的機率就是1000個數裏知足條件$\lfloor\sqrt[3]{n}\rfloor|n$的個數$W$除以1000,能夠獲得計算指望的公式以下設計

$$\frac{5W-(1000-W)}{1000}$$ 如今問題轉化成求解從1到1000能知足$\lfloor\sqrt[3]{n}\rfloor|n$的數字有多少個?htm

咱們怎麼計算呢?blog

若是n是個小的數,咱們能夠經過枚舉很快的計算獲得。但1000不算小。這個問題包含了這本書的幾個知識點,答案$W=172$,具體解答放在下一篇文章裏。遞歸

本書一共有九章內容,分別爲:遊戲

  1. 遞歸問題
  2.  和
  3.  整函數
  4.  數論
  5.  二項係數
  6.  特殊數
  7.  母函數(又名生成函數)
  8.  離散機率
  9.  漸進(Asymptotics)

新技能:

1、Iverson notation( Iverson 標記)

  "Kenneth E.Iverson introduced a wonderful idea in his programming language APL, and we'll see that it greatly simplifies many of the things we want to do in this book. The idea is simply to enclose a true-or-false statement in brackets, and to say that the result is 1 if the statement is true, 0 if the statement is false. "

  上面的意思就是用[statement]來表示1和0,舉個例子以下,

$$[P是素數]=
\begin{cases}
0& \text{p is not prime}\\
1& \text{P is prime}
\end{cases}$$

       Iverson 標記能夠在把\(\sum\)的上下標中的條件給去掉,表示成更容易理解的形式(對Iversion標記熟悉後很方便)求和\(\sum\)均可以寫成以下的形式

                         \(\sum_k{a_k}[P(k)]\)

       若是P(k)爲假則\(a_k[P(k)]\)這一項爲0,因此,以上的求和把全部知足條件的項都包含進去了。使用這樣的標記方法,可讓咱們更簡單方便的操縱求和的上下標。  

   例如,全部的偶數求和常規的表示形式是$\sum_{k}{2k},使用Iverson記法能夠表示成 $$\sum_{j=1}{k[k=2j]}$$

   在某些時候通過這樣變換的指標讓咱們更加清晰的看清關係,書上的一個變換例子以下

 

原文首發於博客園 Hall Of FAME

地址

相關文章
相關標籤/搜索