計算理論(0)——緒論

2021-02-15 Analy的數學物理小屋
Section 1:自動機、可計算性與複雜性

怎麼說呢?標題中的三個性質:自動機、可計算性、複雜性是計算理論的核心內容,而教材也完全圍繞這些內容展開描述。為此,我們分別看一下(注意教材的順序是反的!)。

1.1 自動機理論

教材給出的說明是:自動機理論闡述了計算的數學模型的定義和性質,那麼明顯地自動機理論的核心是「計算的數學模型」,或者說我們建立一個數學模型叫做自動機。那麼,建立這個模型有什麼作用呢?我們用的電腦(PC)、用來計算的工作站、聯網的交換機等等都能夠用自動機描述嗎? 我之前是搞物理的,我對這個東西的理解與物理學對世界的認識一樣。我們知道,我們眼前見到的世界由經典力學描述,這個模型叫做「Geolileo時空」(Geolileo就是在Pizz斜塔上證明兩個鐵球同時下落的那個物理學家),而數學家也為物理上我們經典力學研究的Geolileo時空建立了一個精準的定義(參見Arnold的書)。這種定義叫做「形式化定義」,其重要之處就是形式化定義是精準的、可以計算的,沒有任何的模糊性。

理論上所有的概念的準確定義都建立在集合的基礎上(這是數學的基本知識),而集合是定義在所謂的「公理」之上(比如ZF公理等),但這不是我們研究的重點,所以我們所有的概念都是準確的。

1.2 可計算性理論

可計算性理論研究一個問題能不能被計算機求解,那麼什麼叫做「能夠被計算機求解呢?」 首先,自然的這個問題能夠被自動機在有限步數(計算理論中把時間定義為步數以消除不同機器配置不同造成的差異)內求解就能被現實中的計算機求解了吧,而其次我們研究更強的結論,要求比自動機更好的機器(模型機器)能夠求解,這就是可計算性理論的主要任務。

我們看一個例子:任意給出一個程序,能否用計算機判斷該程序能不能在有限時間內能不能停止,即停機問題。答案當然是不能的(下面證明來自知乎黃玄),因為如果存在這樣的機器is_halt,那麼其定義可以為:

def is_halt(program,input)->bool:
  if return(program) = 1: return True;
  if return(program) = 0: return False;
  # 0 表示停機,1 表示可以結束程序
  # input 是 program 的輸入

那麼我們定義程序hack為

from halt import is_halt

def loop():
  while(True):
    pass

def hack(program):
  if is_halt(program,program):
    loop
  else:
    return

下面我們運行指令is_halt(hack,hack),發現問題之所在。若由於hack(hack)當is_halt(hack,hack)返回True時停機,當is_halt(hack,hack)返回False時有返回值,那麼再根據is_halt(hack,hack)的定義可知is_halt函數對hack程序hack輸入存在兩個不同的結果,唯一的解釋就是is_halt程序不存在。

1.3 複雜性理論

我們不僅要證明一個程序能不能算完,更要證明一個程序到底要有多複雜,能算多少,所以我們引入複雜度的概念,其中時間複雜度被定義為完成計算的時間(步數),空間複雜度被定義為完成計算對內存的消耗。一般我們讓複雜度越低越好,但在密碼問題中我們應讓複雜度越高越好。

Section 2:數學概念與術語

數學是計算理論的核心,因為計算理論就是通過數學建立計算機的理論模型並進行分析。

2.1 集合

其實這部分我本來不想寫的,因為大家高中都學過,但為了完整性我就簡略的描述一下。集合是一系列事物的整體,

併集:

(也記作

同樣地我們定義:

在集合中我們常常還會用到下面的計算:

叫做非Cartesian積,明顯

我們習慣用符號來代替推理運算:

其中

若對所有

若存在一個規則

2.2 關係

考慮集合

叫做「二元關係」。若

那麼 「等價關係」,習慣上寫作

2.3 圖

圖是一種數學結構,常常表示為 「無向圖」。如果 「有向圖」

對頂點

讀者應該自己查一下下面的概念:圖中的路徑、圈、簡單路徑、簡單圈,圖的連通性,有向圖的有向路徑、強連通性,樹與樹的根、樹葉,二叉樹等等。

圖是一個非常有意思的東西,而且圖在很多方面都有應用,比如生物中關於物種與進化的部分就用到圖論這一強有力的工具(有首歌就是講這個的:洛天依,樂正綾 — 二叉樹演化論,可以聽一下),有興趣的可以去翻閱一下離散數學的教材。

2.4 字符串與語言

一個非空的可數集合叫做字母表,最常見的就是我們的QWERTY鍵盤,其字母表由以下部分組成:

命令:Escape、Tab、Shift、Control、Alt、Windows、Delete、←×、Enter;鎖:Caps Lock、Num Lock、Scroll Lock;

把這些符號全部並起來構成的集合就是PC端的輸入字母表。

考慮字母表 「字符串」。定義

我們用

叫做 「語言」,對語言定義運算:

我們這樣定義「正則語言」的概念:

Section 3: 證明

這部分我不講了,有書的看書,沒書的算了。相信經歷過中學數學的折磨,讀者應該都知道怎麼證明一個命題。基本上技巧就兩個:正難則反(反代表「反證法」)、數學歸納法,不能用就只能自己想。

Answer & Analysis: 教材習題解析練習題a. 全體正奇數 b. 全體偶數 c. {2m} d. {2m,3k} e. {00,11} f. ∅a. {1,10,100} b.

證明:設圖G有n個結點,那麼某個結點x的可能度數為0,1,2,…,n-1,考慮除了這個結點外的其它一個結點,那麼其可能的度數要麼為1,2,…,n-1(與x鄰接),要麼為0,1,2,…,n-2(與x不鄰接),那麼也就是說總可能性都為n-2。注意到除了x之外有n-1個點,而總可能性只有n-2個,這說明總可能性小於結點數,故存在兩個結點共一個可能性,那麼這兩個結點度數相同。證畢。

找錯。證明:包含H匹馬的集合中所有馬顏色相同。對H歸納,明顯H=1時成立,若H=k時成立,當H=k+1時,若牽走一匹馬,則集合又變成了H=k,根據假設此時牽走後的馬顏色相同。我們牽走另一匹馬,那麼構成了兩個不同的集合,且顏色都相同,由於這兩個集合相交,故其併集也就是原來H=k+1的集合中的馬顏色相同。證畢。

解:明顯上面證明就是在扯淡,因為我們要歸納的是集合而非集合的基數,對card A歸納是沒用的。

證明:數歸,在

故命題成立。

相關焦點

  • 畢業論文的緒論/引言該怎麼寫?
    一篇好的論文,首先要證明自己的研究是有價值和有意義的,而緒論的作用正是如此。畢業論文的緒論與開題報告的不同在於,前者是對後者的濃縮,在介紹清楚本論文的實際意義之後,要對論文的方法設計、技術路線有詳盡的說明,同時,簡要的說明自己的研究發現。
  • 引言、前言、序言、緒論、摘要
    引言引言又稱前言,導言,序言,緒論,它是一篇科技論文的開場白,有他引出文章,它主要包括這幾個方面:簡要說明研究工作的主要目的,範圍,即為為什麼要寫這篇文章以及要解決什麼問題。緒論交代自己的選題,論文的主攻方向,文獻檢索過程和情況,自己的論文在哪些方面有所創新性或有所整理,使用的研究方法,論文大致的結構,以及需要說明的相關論文的問題要做好這一步,首先要做好文獻搜索,收集和研究。
  • 第一章 緒論
    第一章 緒論 http://jiangxi.hteacher.net 2020-11-23 14:15 江西教師資格證 [您的教師考試網]
  • 筆記|《社心》C1 緒論
    C1 緒論社會心理學是一門系統地研究處於社會環境中的個人和群體的社會行為及社會心理的本質和原因,並預測其發展和變化規律的科學。(其餘方法請參見普心第一章相關內容)3.社會心理學的形成和發展過程(1) 社會心理學的孕育時期這一時期與其後的幾個時期相比,時間跨度較大,而且由於這—時期社會心理學思想同一般的心理學思想的見解緊密相連,因而很難把純粹的社會心理學的觀點劃分出來,但這—時期理論的系統化和條理化直接為後來社會心理學的各個理論流派的形成提供了理論基礎。
  • 線損理論計算方法
    通過理論計算可發現電能損失在電網中分布規律,通過計算分析能夠暴露出管理和技術上的問題,對降損工作提供理論和技術依據,能夠使降損工作抓住重點,提高節能降損的效益,使線損管理更加科學。所以在電網的建設改造過程以及正常管理中要經常進行線損理論計算。
  • (緒論:認識數學)
    前言:最近小編在學微積分,對於一些複雜且精巧的計算十分感興趣,也從中悟出一些數學的真諦。小編曾寫過一篇名為《萊布尼茨一句話點破數學的真諦》的文章,當時為了把靈感記下來,寫得比較倉促,對於萊布尼茨前輩那句話的真正含義可能也沒有太多深刻的理解。今後,小編想從不同的方面深入探討一下,一方面與數學愛好者進行交流,一方面給高中的學子們提供學習數學的捷徑。
  • 初中七年級生物教案:《緒論 探索生物的奧秘》
    教學建議知識體系圖解教材分析這一節是全冊教材的緒論課,分別講述為什麼要學習生物科學知識,初中生物課的內容和學習方法兩部分內容這一節課也是整個中學階段學習生物知識的緒論課,將直接影響學生在今後對生物科學知識的學習。教法建議通過生物教學,除了要使學生了解並獲得生物學基礎知識外;還要對學生進行思想教育,形成基本的生物學觀點;培養學生的能力和發展智力;並掌握一定的科學方法、生物學技能,以適應社會發展的需要。
  • 鋼筋和鋼材理論重量的計算公式
    鋼材理論重量計算簡式材料名稱理論重量W(kg/m)扁鋼、鋼板、鋼帶W=0.00785×寬×厚鋼管W=0.02466×
  • 盾構平衡壓力理論計算與應用技術
    對現今常用的周邊圓弧形刀盤開挖面進行分析,通過開挖面幾何尺寸理論計算準確推導出圓弧形刀盤開挖面原狀土體無變形的各個點平衡壓力計算公式。同時對於盾構施工影響的地表及建(構)築物沉降為0和盾構開挖面無變形的平衡壓力理論計算基本沒有研究。這就需要對地表及建(構)築物沉降為0的盾構平衡壓力進行理論深入研究,找到正確的平衡壓力理論計算公式,來解決以前平衡壓力選取存在的矛盾。為便於介紹,下文所說的平衡壓力是指使開挖面原狀土無變形的壓力。盾構上方除地層土體自重應力外無額外的附加應力。
  • 燒腦:5G 理論峰值速率是怎麼計算的?
    5G理論峰值速率的粗略計算關於5G理論峰值速率的粗略計算有很多思路,各有千秋,本文以某些配置下的case為例,拋磚引玉,幫助大家理解5G理論峰值速率及其相應的計算。在計算理論峰值速率之前,需要確定以下參數的數值。(1)資源塊PRB數目以目前5G sub-6GHz頻段為例,最多傳輸的PRB數目如下表Table 5.3.2-1所示,摘選自3GPP TS 38.101-1協議。
  • 導出液體表面張力及其溫度變化率的理論公式,展示理論計算的結果
    第5章 液態自然體系的數學描述(之三)5.8 水表面張力係數及其溫度變化率的理論計算「水,及水的三相變化:冰、液態水、水蒸氣解答: 推導液體表面張力及其溫度變化率的理論公式, 並在很寬的溫度範圍內展示定量計算的結果.1.
  • 2013成人高考生態學基礎複習:第一章 緒論
    第一章緒論  本章重點  一、名詞解釋  1.生態學(Ecology):生態學是研究生物及環境間相互關係的科學。(2)Lindman對美國塞達波格湖生物群落能量流動的研究中,提出了群落營養動態理論,發表了著名的「能量轉化1/10定律,創立了食物鏈學說和創立金字塔營養結構學說,從而建立了現代生態理論體系。
  • 「圖書推薦」金屬粉塵著火爆炸的理論與實驗
    ,重點闡述沸點、PBR值差異較大的鎂、鈦兩種典型金屬粉塵在高溫表面、電火花兩種常見點火源作用下,著火爆炸理論的模型構建、數值求解方法、參數敏感性分析及實驗驗證結果。部分目錄前言第1章 緒論 11.1 粉塵定義與分類 11.2 粉塵爆炸 21.3 金屬粉塵 141.4 金屬粉塵著火爆炸特性的研究現狀 24參考文獻 48第2章 粉塵爆炸特性參數測試與標準 552.1 粉塵層最低著火溫度 55
  • 鋼筋理論重量表及計算公式
    G=0.617*D*D/100每米的重量 (Kg)=鋼筋的直徑 (mm) ×鋼筋的直徑 (mm) ×0.00617其實記住建設工程常用的鋼筋重量也很簡單 φ6=0.222 Kg φ6.5=0.26kg φ8=0.395kg φ10=0.617kg φ12=0.888kg Φ14=1.21kg Φ16=1.58kg Φ18=2.0kg Φ24=2.47kg
  • 不鏽鋼材料的理論計算公式大全
    以上除板的長、寬單位為米外,其它規格單位均為毫米 不鏽鋼常用材料的比重:  304比重 7.93  321比重 7.93  304L比重7.93  316L比重7.98  310S比重7.98計算方式一樣 ●鉻不鏽鋼比重7.75  ●鉻鎳不鏽鋼取7.934
  • 常用到金屬材料的理論重量的計算公式
    【學員問題】常用到金屬材料的理論重量的計算公式?  【解答】1、鋼管的重量=0.25×π×(外徑平方-內徑平方)×L×鋼鐵比重  其中:π=3.14L=鋼管長度鋼鐵比重取7.8所以,鋼管的重量=0.25×3.14×(外徑平方-內徑平方)×L×7.8*如果尺寸單位取米(M),則計算的重量結果為公斤(Kg)  2、鋼管每米理論重量;(鋼密度7.85kg/m)  W=0.02466(D-δ)δ注外徑
  • 常用到金屬材料的理論重量計算公式
    【學員問題】常用到金屬材料的理論重量計算公式?  【解答】1、鋼管的重量=0.25×π×(外徑平方-內徑平方)×L×鋼鐵比重   其中:π=3.14,L=鋼管長度,鋼鐵比重取7.8,所以,鋼管的重量=0.25×3.14×(外徑平方-內徑平方)×L×7.8*如果尺寸單位取米(M),則計算的重量結果為公斤(Kg)  2、鋼管每米理論重量;(鋼密度7.85kg/m)W=0.02466(D-δ)δ注外徑mm,δ
  • 標準鋼材理論重量表及計算規則
    打造鋼結構行業第一交流平臺 理論重量計算方法表 角鋼:每米重量=0.00785*(邊寬+邊寬-邊厚)*邊厚 圓鋼:每米重量=0.00617*直徑*直徑(螺紋鋼和圓鋼相同) 扁鋼:每米重量=0.00785*厚度*邊寬 管材:每米重量=0.02466*壁厚*(外徑-壁厚)
  • 如何計算鋼筋重量?附鋼筋理論重量公式表
    鋼材重量1.鋼材的理論重量鋼材的理論重量是按鋼材的公稱尺寸和密度(過去稱為比重)計算得出的重量稱之為理論重量。這與鋼材的長度尺寸、截面面積和尺寸允許偏差有直接關係。由於鋼材在製造過程中的允許偏差,因此用公式計算的理論重量與實際重量有一定出入,所以只作為估算時的參考。2.鋼材的實際重量鋼材實際重量是指鋼材以實際稱量(過磅)所得的重量,稱之為實際重量。實際重量要比理論重量準確。
  • XPS/IR光譜的理論計算預測
    下面舉例說明文獻中是如何使用理論計算XPS光譜的。理論計算紅外光譜需要先對分子做結構優化以獲取基態穩定結構,然後通過諧振(共振)分析獲取分子的紅外振動光譜。理論計算可將分子所有的振動模式都計算出來,非線性分子的振動模式有3n-6個,線性分子有3n-5個(其中n為原子數,比如周期性體系)。採用理論計算振動光譜的過程十分簡單。簡單分子的紅外光譜預測具有較好準確度,經矯正後,誤差在10幾個cm-1左右。