主頁 >
其他 > 讀改變未來的九大演算法筆記08_并非萬能的演算法
讀改變未來的九大演算法筆記08_并非萬能的演算法
2023-06-10 08:33:17 其他

1. 有些問題根本不可能通過計算機解決,不管計算機有多強大或人類程式員有多聰明
2. 不可計算問題
2.1. 20世紀30年代末
2.1.1. 美國人阿隆佐·邱奇
2.1.1.1. Alonzo Church
2.1.1.2. 在計算理論上的突破性作業至今仍是計算機科學許多方面的基礎
2.1.1.3. 單獨發現了不可判定問題的存在
2.1.1.3.1. 比圖靈早幾個月發表了自己的成果
2.1.1.3.2. 邱奇的公式更為抽象,且并未詳盡地提及由機器執行的計算
2.1.2. 英國人阿蘭·圖靈
3. 計算機軟體的可靠性
3.1. 通常的情況
3.1.1. 即便高質量、撰寫良好的軟體都會做些偏離其原有目的的事
3.2. 糟糕的情況
3.2.1. 軟體崩潰,你丟失了正在處理的資料或檔案
4. 可以證明不可能
4.1. 可以證明不可能存在一個能偵測所有計算機程式中所有潛在崩潰的自動化軟體檢查器
4.2. 反證法(Proof by Contradiction)
4.2.1. 假設懷疑某個宣告S為假,但你想確信無疑地證明其為假,你先假設S為真
4.2.2. 你先假設S為真
4.2.3. 通過進行一些推理,你得出某個宣告T也必須為真
4.2.4. 如果已知T為假,就出現了矛盾
4.2.5. 這能證明你的原始假設(S)也必為假
4.2.6. S匯出T,但T為假,因此S為假
4.3. 實驗前提
4.3.1. 任何程式可以將任何檔案作為輸入運行,但輸出結果通常為亂碼,除非輸入檔案本該配合由你選擇運行的程式
4.3.2. 計算機程式作為檔案被存盤在計算機磁盤上,因此一個程式可以用另一個程式作為其輸入檔案運行
4.3.3. 計算機程式能將其自身檔案作為輸入運行
5. 發現崩潰的不可能性
5.1. 圖

5.2. 假設名為CanCrash.exe的程式能分析其他程式并判定它們是否會崩潰
5.2.1. 作為輸入的程式會在某種情況下崩潰,CanCrash.exe就會輸出“yes”并結束
5.2.2. 如果輸入程式永不會崩潰,CanCrash.exe就會輸出“no”并結束
5.3. 讓CanCrash.exe崩潰
5.3.1. 改變后的程式為CanCrashWeird.exe
5.3.1.1. 如果輸入會崩潰,那么CanCrashWeird.exe這個程式也會故意崩潰
5.3.1.2. 如果輸入永不會崩潰,則CanCrashWeird.exe會輸出“no”
5.4. 轉換成一個更模糊的程式稱為CrashOnSelf.exe
5.4.1. 只關注程式在將自身作為輸入時運行的表現
5.4.1.1. 會檢測其輸入程式,如果輸入程式能在自身上運行,則CrashOnSelf.exe會故意崩潰
5.4.1.2. 反之,CrashOnSelf.exe會輸出“no”
5.5. 轉換成AntiCrashOnSelf.exe
5.5.1. 如果其輸入在自身上運行時崩潰,AntiCrashOnSelf.exe就會輸出“yes”
5.5.2. 如果輸入在自身上運行時不崩潰,AntiCrashOnSelf.exe就會故意崩潰
5.6. 矛盾
5.6.1. AntiCrashOnSelf.exe將自己作為輸入運行時會輸出什么?
5.6.1.1. 如果輸入崩潰,AntiCrashOnSelf.exe就會輸出“yes”
5.6.1.2. 因為如果AntiCrashOnSelf.exe已經崩潰,它就不能成功地輸出“yes”并結束
5.6.1.3. 如果輸入不崩潰,則AntiCrashOnSelf.exe應崩潰
5.6.1.4. 排除了AntiCrashOnSelf.exe兩種可能的行為,這也意味著AntiCrashOnSelf.exe一開始就不可能存在
5.6.2. 假設CanCrash.exe存在必為假
6. 停機問題和不可判定性
6.1. 停機問題(The Halting Problem)
6.1.1. 已有計算機程式最終是否會結束或“停止”的問題
6.2. 不可判定問題
6.2.1. 不能通過撰寫計算機程式解決的問題
6.2.2. 你不能撰寫一個名為AlwaysHalts.exe,輸入永遠停止時輸出“yes”,反之輸出“no”的計算機程式
6.3. 不可判定性對計算機使用的實際影響
6.3.1. 不可判定性只關注計算機程式能否生成答案,并不考慮我們需要等答案多久
6.3.2. 許多可判定任務還沒有高效演算法
6.3.2.1. 著名的要數旅行商問題(Traveling Salesman Problem),簡稱為TSP
6.3.2.1.1. 假設你必須飛往很多城市,你應該采用哪種順序訪問城市才能讓飛行費用最少
6.3.2.2. 問題可判定這一事實并不意味著我們可以在實踐中解決它
6.3.3. 大部分時間里都能很好地解決不可判定問題
6.3.3.1. 通常能為不可判定問題找到非常有用的部分解決方案
6.3.3.2. 軟體可靠性提升部分得益于崩潰發現程式的進步
7. 人腦
7.1. 如果你相信人腦在原則上能被計算機模擬,那么人腦就會和計算機受相同的限制
7.1.1. 會存在人腦無法解決的問題——不管這個人腦有多聰明或經過多么良好的訓練
7.2. 從科學觀點來看,人腦和計算機之間似乎沒有什么基本壁壘,因為化學和電子信號在人腦中傳輸的低級細節很好理解
7.3. 多種哲學論據暗示,人腦創造“理智”的物理程序在性質上與計算機能模擬的任何物理系統有所不同
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/554811.html
標籤:其他
上一篇:DosBox環境配置
下一篇:返回列表
-
- 標籤雲
-
-
- 熱門瀏覽
-
-
網閘典型架構簡述
網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......
uj5u.com 2020-09-10 02:00:44 more
-
如何從xshell上傳檔案到centos linux虛擬機里
如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......
uj5u.com 2020-09-10 02:00:47 more
-
一、SQLMAP入門
一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......
uj5u.com 2020-09-10 02:00:50 more
-
Metasploit 簡單使用教程
metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......
uj5u.com 2020-09-10 02:00:53 more
-
游戲逆向之驅動層與用戶層通訊
驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......
uj5u.com 2020-09-10 02:00:56 more
-
北斗電力時鐘(北斗授時服務器)讓網路資料更精準
北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......
uj5u.com 2020-09-10 02:01:03 more
-
【CTF】CTFHub 技能樹 彩蛋 writeup
?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......
uj5u.com 2020-09-10 02:04:05 more
-
02windows基礎操作
我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......
uj5u.com 2020-09-10 02:04:18 more
-
03.Linux基礎操作
我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......
uj5u.com 2020-09-10 02:04:30 more
-
05HTML
01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......
uj5u.com 2020-09-10 02:04:36 more
-
- 最新发布
-
-
讀改變未來的九大演算法筆記08_并非萬能的演算法
 # 1. 有些問題根本不可能通過計算機解決,不管計算機有多強大或人類程式員有多聰明 # 2. 不可計算問題 ## ......
uj5u.com 2023-06-10 08:33:17 more
-
DosBox環境配置
# DosBox環境配置 DOSBox 是一個基于 x86 架構的 PC 的模擬器,它允許用戶在現代作業系統上運行 DOS 程式。DOSBox 是自由軟體,可以在 Windows、Linux ,macOS 等作業系統平臺上運行。 DOSBox 最初的設計目標是為那些依賴 MS-DOS 作業系統(即停 ......
uj5u.com 2023-06-10 08:33:10 more
-
cocos2d-x 3.17 推箱子 0.1
# 簡述 ## sokoban-cocos2dx 此版本為推箱子游戲的基礎版本, 后續添加如下功能 1. 人物影片 2. TiledMap 決議 3. 射線碰撞檢測 4. 下一步提示, C++演算法決議 5. 道具, 可以回退一步 ## 原始碼運行方式 ~~通過 `cocos` 命令新建一個專案, 將本 ......
uj5u.com 2023-06-10 08:33:01 more
-
[Week 20]每日一題(C++,圖論,數學,搜索)
[TOC] ## T1 [Daimayuan] Collision(C++,多源最短路) #### 題目描述 $siyisss$ 的王國是由 $n$ 個村鎮和 $n?1$ 條雙向道路構成的,村鎮從 $1$ 到 $n$ 依次編號,每條雙向道路連接兩個不同的村鎮,使得從任意一個村鎮出發都可以到達任意一個 ......
uj5u.com 2023-06-10 08:32:53 more
-
帶你體驗AI系列之云原生最佳實踐--免費體驗GPT-4教程
## 前言 ? 【GPT-4】是OpenAI最新推出的大型語言模型,它支持影像和文本輸入,以文本形式輸出。它比GPT-3.5更大、更強、更猛。最重要的是據與研究表明,他在某些場景下,可以通過圖靈測驗。但是,卻缺點是收費,不像GPT-3.5那樣容易白嫖。不過今天我就帶你嫖一手,真香警告!本教程可稱為云 ......
uj5u.com 2023-06-10 08:32:33 more
-
網路傳輸中的重要引數-談談帶寬
[toc] 除了上篇提到的[RTT與丟包率](https://www.cnblogs.com/mapleumr/p/17464980.html),大多數人更關心的也許是網路的帶寬(Bandwidth,Bw),畢竟電信、聯通等公司廣告主打的就是一個百兆、千兆帶寬,聽著嘎嘎猛。 很自然的一個認知是,帶寬 ......
uj5u.com 2023-06-10 08:32:19 more
-
虛擬ECU實踐:汽車發動機控制器仿真
?虛擬化技術使得在Windows PC上對汽車ECU(Electronic Control Unit,電子控制器單元)進行倍訓仿真成為可能,能有效改善ECU開發程序。一些開發任務得以從道路、測驗平臺和HIL(Hardware in the Loop,硬體在環)轉移到PC上,縮短開發時間和成本。 ▲汽 ......
uj5u.com 2023-06-10 08:32:03 more
-
幫您了解CDN節點如何做到訪問加速與安全防護
本文分享自天翼云開發者社區《幫您了解CDN節點如何做到訪問加速與安全防護》,作者:尹****荷 網站業務痛點 在當前網站快速發展的背景下,網站業務突增往往伴隨著一系列網路安全隱患。主要會有以下痛點: 1. 高并發壓力大:網站在業務突增中,會帶來高并發的問題,可能會導致服務器資源耗盡、服務崩潰等引起的 ......
uj5u.com 2023-06-10 08:31:50 more
-
邊緣計算簡介
本文分享自天翼云開發者社區《邊緣計算簡介》,作者:張****亮 邊緣計算是一種新興的計算模型,旨在將計算能力推向離用戶更近的邊緣設備,以提供更快速、可靠和低延遲的計算服務。在傳統的云計算模式中,大部分計算任務都是集中在遠程的資料中心進行處理,這可能導致網路延遲和帶寬瓶頸。邊緣計算通過在離用戶更近的邊 ......
uj5u.com 2023-06-10 08:31:40 more
-
什么是無服務器架構技術?
本文分享自天翼云開發者社區《什么是無服務器架構技術?》,作者:SD萬 無服務器架構(Serverless Architecture)是jin年來逐漸興起的一種軟體架構方案,它采用了一種全新的方式來處理應用程式的部署、運行和擴展。與傳統的服務器架構相比,無服務器架構具有很多優勢,包括可擴展性、彈性、可 ......
uj5u.com 2023-06-10 08:31:36 more
- 友情鏈接
-
-