少兒編程 > 新聞活動(dòng) > “半斤八兩”為什么一樣多?用編程告訴你這里的玄機(jī)!
“半斤八兩”為什么一樣多?用編程告訴你這里的玄機(jī)!
童程童美 2019-08-19
8月14日,由童程童美少兒AI教研部總監(jiān)郭鐙鴻老師,為大家?guī)砹说诙弥袊賰壕幊坦?jié)的第七期大咖講座《編程中的數(shù)學(xué)》,本次講座都有哪些精華提煉,一起來看下吧!
摘要8月14日,由童程童美少兒AI教研部總監(jiān)郭鐙鴻老師,為大家?guī)砹说诙弥袊?a style='color:blue' href='http://www.01246a.com/'>少兒編程節(jié)的第七期大咖講座《編程中的數(shù)學(xué)》,整個(gè)講座從數(shù)學(xué)在人工智能時(shí)代的重要性入手,剖析了數(shù)學(xué)和編程的密切關(guān)系,通過編程知識(shí)系統(tǒng)地解讀了學(xué)編程有助于數(shù)學(xué)學(xué)習(xí)能力的提升,讓家長和學(xué)員們收獲頗多,對(duì)學(xué)習(xí)編程有了更深入的概念,也為孩子的未來發(fā)展指明了方向。
郭鐙鴻老師在直播間
★ 講座概要 ★
① 半斤八兩與編程中的進(jìn)制
② 一切從“0”開始
③ 余弦定理和新聞分類
④ 神經(jīng)網(wǎng)絡(luò)中的數(shù)學(xué)基礎(chǔ)
看完講座精華概要,相信您一定對(duì)本次講座的內(nèi)容非常期待了,下面就為您奉上講座的完整版視頻,請(qǐng)點(diǎn)擊觀看
下面是本次講座的精華提煉,希望能通過細(xì)致的文字,幫助大家起到溫故知新的作用。
半斤八兩與編程中的進(jìn)制
半斤八兩這個(gè)耳熟能詳?shù)某烧Z,往往用來形容兩個(gè)事物不相上下,實(shí)力相當(dāng)。但為什么半斤和八兩是一樣的呢?后如果把這個(gè)問題放到計(jì)算機(jī)編程中來看就能夠理解了,其實(shí)這個(gè)成語是一個(gè)很酷的數(shù)學(xué)問題——進(jìn)制。
進(jìn)制是什么?我們舉個(gè)例子。提起十二這個(gè)數(shù)字時(shí),我們第一反應(yīng)是它應(yīng)該寫成“12”;而在羅馬數(shù)字中, 十二應(yīng)該寫成“XII”,其中X表示10,I表示1,II表示2。如同十二寫成12或XII, 數(shù)字有著各種不同的計(jì)數(shù)法,12是阿拉伯?dāng)?shù)字的計(jì)數(shù)法。這種阿拉伯的計(jì)數(shù)法,我們一般稱之為10進(jìn)制的計(jì)數(shù)法。
所謂10進(jìn)制, 便是逢十進(jìn)位的意思, 比如十進(jìn)制只有10個(gè)數(shù):0,1,2,3,4,5,6,7,8,9。9以上到了十,就是進(jìn)一位,就是10。而10就不是一個(gè)數(shù)字了,而是由兩個(gè)數(shù)字組成。
如下圖所示,用十進(jìn)制拆解3508這個(gè)數(shù)字,則3表示 “1000的個(gè)數(shù)”、5表示“100的個(gè)數(shù)”、0表示“10的個(gè)數(shù)”、8表示“1的個(gè)數(shù)”。
既然可以有10進(jìn)制,自然也可以有8進(jìn)制。按照10進(jìn)制的方式,8進(jìn)制就是逢八進(jìn)一,所以應(yīng)該是這樣:0,1,2,3,4,5,6,7,到8時(shí)就是寫成10,因?yàn)橐姷?,就得進(jìn)位了。所以8進(jìn)制的10,和10進(jìn)制的8相等。8進(jìn)制的11,就和10進(jìn)制的9相等,八進(jìn)制的12,就是十進(jìn)制的10相等。
以此類推,可以存在任何進(jìn)制,但通常十六進(jìn)制比較常用。我們來看看十六進(jìn)制,0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F……其中,A等同于十進(jìn)制中的10,B等同于十進(jìn)制中的11,而到F時(shí)需要進(jìn)位成10,等同于十進(jìn)制中的10。
我們回到上文提到的半斤八兩問題,古時(shí)的十六兩秤就是用的十六進(jìn)制原則,因此“半斤=八兩”。
為什么學(xué)編程時(shí)學(xué)了進(jìn)制呢?因?yàn)橛?jì)算機(jī)保存數(shù)據(jù)為了便利使用二進(jìn)制,因此二進(jìn)制中我們只能看到數(shù)字0和1。
計(jì)算機(jī)中大量使用集成電路來處理數(shù)據(jù)。集成電路是由非常多的三極管組成的,如果一個(gè)三極管通電了,那么它代表1;不通電了,則代表0。
比如我們要保存一個(gè)數(shù)據(jù)5, 那么它轉(zhuǎn)換成二進(jìn)制就是101,用三個(gè)三極管就可以表示了,第一個(gè)三極管有電,第二個(gè)沒電,第三個(gè)有電。
計(jì)算機(jī)可以把符合人類閱讀習(xí)慣的十進(jìn)制利用程序轉(zhuǎn)換成二進(jìn)制,但是字符A、B、C……漢字、圖像又如何用二進(jìn)制表達(dá)呢?計(jì)算機(jī)有一套自己的計(jì)算系統(tǒng),我們稱之為字庫,當(dāng)輸入相應(yīng)指令時(shí),計(jì)算機(jī)會(huì)調(diào)用相應(yīng)的字庫,比如英文字母A是通過堆疊A的圖形來實(shí)現(xiàn)的。
一切從“0”開始
0在數(shù)學(xué)中起到至關(guān)重要的作用,有了0才可能有復(fù)數(shù)。0在數(shù)學(xué)中可以是占位符,在音樂中可以代表休止符等等……0的重要性還體現(xiàn)在可以使任何問題簡單化,在編程中,數(shù)組的下標(biāo)往往是從0開始的。
通過余數(shù)是否為0,可以將數(shù)字進(jìn)行分組,如下圖所示。
對(duì)此,我們可以引申思考一個(gè)問題——如果今天是星期天,那么100天之后是星期幾?這個(gè)問題是編程中對(duì)日歷相關(guān)問題處理時(shí)會(huì)經(jīng)常遇到的,解題思路如下圖所示。
但在計(jì)算機(jī)中,我們可以用更簡單的方法——使用余數(shù),可以將100個(gè)數(shù)除以7取余分成7組來判定,即余數(shù)為0時(shí),代表100天后是星期日,余數(shù)為1時(shí),代表100天后是星期一……余數(shù)為6時(shí),代表100天后是星期六。
下面出一道稍微有點(diǎn)難度的題,大家可以根據(jù)提示思考,能理解了這個(gè)問題,就說明你已經(jīng)完全掌握規(guī)律啦!
余弦定理和新聞分類
目前,大部分的新聞內(nèi)容都由人工智能程序來寫的。因此,媒體需要利用余弦定理來進(jìn)行新聞分類,把財(cái)經(jīng)、體育、娛樂等不同類型的文章對(duì)號(hào)入座。
如下圖所示,計(jì)算機(jī)是讀不懂新聞的,則會(huì)將文章通篇拆解為無數(shù)個(gè)漢字詞,根據(jù)其出現(xiàn)的頻率不同,呈現(xiàn)出不同的TF-IDF值,并用向量來表示每一篇文章的數(shù)據(jù)。如果兩條向量的夾角越小,說明兩篇文章的相似度越高,用詞越接近。
而計(jì)算向量夾角,則會(huì)用到數(shù)學(xué)中的余弦定理。
神經(jīng)網(wǎng)絡(luò)中的數(shù)學(xué)基礎(chǔ)
神經(jīng)網(wǎng)絡(luò)與人工智能息息相關(guān),而人工智能中的絕大多數(shù)分支都與數(shù)學(xué)為基礎(chǔ)。因此,學(xué)習(xí)編程能幫助我們深刻理解數(shù)學(xué)中的概念。
舉例來說,神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元工作原理,可以簡化為數(shù)學(xué)方法表達(dá)。
愛因斯坦說過,“宇宙最不可理解之處是它居然可以被理解。”這是因?yàn)槲覀兊纳钪兴龅降暮芏喱F(xiàn)象都可以用數(shù)學(xué)和編程方法來進(jìn)行拆解從而理解的,這也正是數(shù)學(xué)的迷人之處,編程的迷人之處。
以上精彩內(nèi)容,便是第七期大咖講座《編程中的數(shù)學(xué)》,后續(xù)還有更多精彩內(nèi)容記得持續(xù)關(guān)注童程童美官方公眾號(hào)喲~