替晶片打造數學工具的「喬治.布爾」🔢 🔣|通信大解密📱|第二部 通信科學家的故事

Поделиться
HTML-код
  • Опубликовано: 28 сен 2024
  • 1815年,#喬治布爾 出生於英國林肯郡。他的父親是一位熱衷教育的零售商,從小指導布爾拉丁語、希臘語、數學。儘管布爾有父親當家庭教師,和大家一樣上學。然而,他的求學之路早早停了下來,他16歲時,父親經商失敗,布爾被迫賺錢分擔家計。因此,在他的人生中,只在當地學校接受幾年的教育。20歲的布爾,回到故鄉林肯開設學校。這段期間,除了教學以外,他也持續透過自學,精進數學能力。布爾拜讀了牛頓的《自然哲學的數學原理》、拉普拉斯的《天體力學》以及拉格朗日的《分析力學》等等。布爾在32歲那年,發表了《#邏輯的數學分析》(The Mathematical Analysis of Logic),書中,他提出了嶄新的觀念。傳統上認為邏輯是哲學的範疇,但布爾卻認為邏輯應該是建立於數學的。這本小冊子出版不久後,傳到英國邏輯學家德摩根的耳裡,德摩根讀完之後大吃一驚,對其十分讚賞,覺得布爾正在為邏輯學開闢一條從未有人發現的路。德摩根比布爾年長9歲,受到布爾的影響,他隔年也發表《形式邏輯》(Formal Logic),邏輯學的研究就在兩人的努力下,往下一階段邁進。布爾也因為第一本書的成功,受邀成為了數學教授。
    成為教授後的布爾依舊持續鑽研邏輯學,39歲出版了經典名著《#思維規律研究》(The Laws of Thought)。這本書的基礎是古希臘哲學家亞里斯多德所提出的「#三段論」,什麼是三段論呢?舉個簡單例子,太陽系的行星會繞著太陽轉/地球是太陽系的行星/地球會繞著太陽轉。布爾的創新是將三段論以邏輯符號構成的方程式來表示。最後,布爾的系統還讓邏輯檢驗的數量從亞里斯多德的2項,擴展到了無限項。換句話說,亞里斯多德總是用「想」的,來判斷兩件事情的邏輯是否正確。而布爾則是用「算」的,來檢驗無限件事情之間的邏輯。布爾當時還不知道,他的研究奠定了邏輯運算的基礎,將語言帶進了現代電腦。布爾提出的 #布林代數,但在他去世後,被另一位數學家約翰.維恩以圖的形式呈現,稱作文氏圖,是更好理解布林代數的工具。假設,現在有兩群不同的人,A是喜歡數學的人,B是喜歡文學的人。兩個圓重疊的部分就是同時喜歡數學和文學的人,以布爾代數來表示會寫成A ∧ B,念作A and B。如果想描述喜歡數學或文學的人,則會寫成A ∨ B,念作A or B。今天想要找出不喜歡數學的人,寫作¬A,念作not A。如果想要表示「既不喜歡數學,也不喜歡文學」的人,該怎麼用and、or、not表示呢?「兩者都不喜歡」的相反應該是「兩者中至少喜歡一個」。至少喜歡一個,不就是剛說的A ∨ B嗎?所以只要把A ∨ B否定,寫成¬(A ∨ B)。
    如果只是為邏輯制訂符號,還不足以使電腦理解並運算,因為電腦只懂0和1。為此,我們必須配合電腦的語言,才能和電腦對話。講解 #二進位 前,先複習一下常用的十進位。數字132,代表的是1個10²、3個10¹、2個10⁰。加總起來就會是100+30+2=132。二進位是相同的概念,第一位代表的是2⁰、接著依序是2¹、2²……。所以,當我們用二進位寫出10時,其實代表的是1個2¹、0個2⁰,也就是十進位中的2!對電腦來說,0和1分別代表著電流的關與開。但我們不想要每次都自己對電腦發號司令,希望它能自己思考。於是,當二進位搭配著布林代數一起使用的時候, #邏輯閘 就出現了。邏輯閘是根據需求判斷多項輸入之間的關係,並轉換成一項輸出。假設,今天我們想讓家門口的燈自動化開關,而且開燈的條件有兩項「時間為晚上6點到隔天早上6點」和「有人在感應器附近走動」。此時,我們可以如此設計電燈的邏輯閘:
    ①當時間為晚上6點到隔天早上6點,輸出1,反之,輸出0。
    ②當有人在感應器附近走動,輸出1,反之,輸出0。
    ③輸入①、②,輸出①∧②的結果。
    在這個例子中,③的角色就是用AND來判斷的「及」閘,只有當①和②都輸出1時,③才會輸出1,打開電燈。
    布爾從邏輯學的角度出發,為抽象的邏輯定義了符號及運算方式。但他肯定從未想過,自己的發明竟然成為電腦研發時不可動搖的基底。邏輯閘的應用、二進位計算的便利性等等也都是直到20世紀,由深受布爾影響的數學家香農接手完成。
    #通信大解密 #通信科學家 #喬治布爾 #邏輯的數學分析 #思維規律研究 #三段論 #二進位 #邏輯閘

Комментарии • 5

  • @jonrychen
    @jonrychen 4 месяца назад +4

    情境1: or
    情境2: And
    邏輯閘真的是很重要觀念,程式設計很常遇到,and/or用法錯誤,程式的產出就會不如預期,任何基本程式,包括簡單的Script都是一樣。

  • @Thorvideostudio
    @Thorvideostudio 4 месяца назад

    很有趣
    好可惜以前大學沒有多學點知識

  • @Mong-Yun_Chen_54088
    @Mong-Yun_Chen_54088 4 месяца назад +3

    布爾可是 CS 領域、邏輯學領域裡的大神,感謝老師解說他的故事來源,頭一次知道關於他的生平及故事。
    寫程式這麼多年,每門語言一開始都先學怎麼寫「調用列印函式 → 字串的 String → 列印出 Hello World 」,那第二課很常就學到了 boolean 類型值變數 → 然後才學 if-else、for-loop 等流程控制語句,可以說 Programmer 界誰不曾聽過布爾大名。

  • @Janet-zz9eo
    @Janet-zz9eo 2 месяца назад

    上次在科博館半導體世界中就有很多互動式的關卡是跟二進位還有邏輯閘有關~~