本篇內(nèi)容主要講解“區(qū)塊鏈的圖靈機(jī)和圖靈完備是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“區(qū)塊鏈的圖靈機(jī)和圖靈完備是什么”吧!
創(chuàng)新互聯(lián)建站專注于榆次企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。榆次網(wǎng)站建設(shè)公司,為榆次等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
網(wǎng)上有一張經(jīng)典的圖片來表達(dá)圖靈機(jī)的構(gòu)成,圖如下:
這張圖片什么意思?這么一個(gè)簡單的機(jī)器/裝置怎么會所有電子計(jì)算機(jī)的理論模型?
相信大家看到這張圖后都有這樣的疑問,下面筆者帶來由淺入深去理解圖靈機(jī)的組成。
圖靈的基本思想是用機(jī)器來模擬人們用紙筆進(jìn)行數(shù)學(xué)運(yùn)算的過程,它運(yùn)算過程看作下列兩種簡單的動作:
在紙上寫上或擦除某個(gè)符號;
把注意力從紙的一個(gè)位置移動到另一個(gè)位置;
邏輯結(jié)構(gòu)上圖靈機(jī)有四個(gè)部分組成:
一個(gè)無限長的存儲帶,帶子有一個(gè)個(gè)連續(xù)的存儲格子組成,每個(gè)格子可以存儲一個(gè)數(shù)字或符號
一個(gè)讀寫頭,讀寫頭可以在存儲帶上左右移動,并可以讀、修改存儲格上的數(shù)字或符號
內(nèi)部狀態(tài)存儲器,該存儲器可以記錄圖靈機(jī)的當(dāng)前狀態(tài),并且有一種特殊狀態(tài)為停機(jī)狀態(tài)
控制程序指令,指令可以根據(jù)當(dāng)前狀態(tài)以及當(dāng)前讀寫頭所指的格子上的符號來確定讀寫頭下一步的動作(左移還是右移),并改變狀態(tài)存儲器的值,令機(jī)器進(jìn)入一個(gè)新的狀態(tài)或保持狀態(tài)不變。
當(dāng)然這些只是理想的圖靈機(jī),因?yàn)楝F(xiàn)實(shí)中不存在無限長的存儲帶,更加圖靈的理論這樣的一臺裝置就能模擬人類所能進(jìn)行的任何計(jì)算過程。是不是很神奇?我相信你肯定不相信,不過圖靈是經(jīng)過嚴(yán)格的數(shù)學(xué)證明,下面我們來看看圖靈機(jī)的計(jì)算過程。
圖靈機(jī)工作步驟
準(zhǔn)備
存儲帶子上的格子初始話
設(shè)置內(nèi)部狀態(tài)存儲器當(dāng)前狀態(tài)
讀寫頭設(shè)置初始在存儲帶上所做的格子位置
準(zhǔn)備好控制指令,即控制程序。
反復(fù)執(zhí)行以下步驟,直到停機(jī)
讀寫頭讀出當(dāng)前格子的數(shù)字或符號
根據(jù)當(dāng)前狀態(tài)和讀到的字母或符號找到對應(yīng)的控制指令
根據(jù)控制指令,執(zhí)行以下三個(gè)動作
讀寫頭在格子上擦除或?qū)懭胍粋€(gè)數(shù)字或符號
變更狀態(tài)到一個(gè)新狀態(tài)
讀寫頭向左或向右移動一格
估計(jì)你還是不明白,別急。看過《三體》的同學(xué)都知道三體人把地球人看做“蟲子”,三體人的維度比地球三維世界高,就好像我們?nèi)祟惏芽聪x子一樣。
下面,我們把蟲子放到一個(gè)二維的世界中,以蟲子為例,給大家來說明最簡單的圖靈機(jī)模型(注:該例子非原創(chuàng))。
假設(shè)理想的情況一:
蟲子所處的二維世界是一個(gè)無限長的紙帶,這個(gè)紙帶上被分成了若干小的方格,而每個(gè)方格都僅僅只有黑和白兩種顏色。紙帶的片段為:
蟲子所在二維紙帶
假設(shè)蟲子的感官只有眼睛,并且它的視力短的可憐,只能看到當(dāng)前所處格子的顏色
蟲子可以向前爬一個(gè)格子或向后爬一個(gè)格子
蟲子的操作系統(tǒng)、程序?yàn)椋何覀兗僭O(shè)黑色是食物區(qū),蟲子吃到食物后前移一格,白色是空白區(qū),沒有食物后退一格,
在這個(gè)情況中格子的顏色是蟲子的輸入信息,集合為IN={黑色,白色},輸出集合為 OUT= {前移一格,后移一格}
從開始位置開始,蟲子會怎么移動呢?
開始是黑色,蟲子前移一格,到達(dá)第2格
第2還是黑色,蟲子前移一格,到達(dá)第3格
第3格還是黑色,蟲子前移一格,到達(dá)第4格
第4格為白色,蟲子后移一格,回到第3格
可見,這條帶子上,蟲子在第4格和第3格來回移動循環(huán)不止。
假設(shè)理想的情況二
現(xiàn)實(shí)中蟲子肯定不可能傻到無線循環(huán),蟲子會有饑餓、吃飽的感受,食物吃了后也會消失。因此我們在情況下中改進(jìn)下模型。
蟲子在黑色的格子時(shí),如果是饑餓狀態(tài),吃掉食物把格子變成白色;如果是吃飽狀態(tài),后移一格
蟲子在白色的格子時(shí),如果是饑餓狀態(tài),停下來等食物長出來涂黑;如果是吃飽狀態(tài),前移一格
蟲子的操作系統(tǒng)、程序?yàn)椋?/p>
在這種情況中,輸入集合為IN={黑色,白色},輸出集合為 OUT= {前移一格,后移一格,吃掉食物涂白,等待食物長出來涂黑},內(nèi)部狀態(tài)S={吃飽,饑餓}
二維紙帶不變,從開始位置開始,蟲子初始是饑餓狀態(tài),蟲子會怎么移動呢?
第1格是黑色,蟲子饑餓,吃掉食物格子變白,蟲子新狀態(tài)為吃飽
第1格為白色,蟲子吃飽,蟲子前移一格,到達(dá)第2格,蟲子新狀態(tài)為饑餓
第2格為黑色,蟲子饑餓,吃掉食物格子變白,蟲子新狀態(tài)為吃飽
第2格為白色,蟲子吃飽,蟲子前移一格,到達(dá)第3格,蟲子新狀態(tài)為饑餓
第3格為黑色,蟲子饑餓,吃掉食物格子變白,蟲子新狀態(tài)為吃飽
第3格為白色,蟲子吃飽,蟲子前移一格,到達(dá)第4格,蟲子新狀態(tài)為饑餓
第4格為白色,蟲子饑餓,等待食物長出來涂黑,蟲子新狀態(tài)為吃飽
第4格為黑色,蟲子吃飽,蟲子后退一格,到達(dá)第3格,蟲子新狀態(tài)為饑餓
這時(shí),第3格已經(jīng)長出來食物,是黑色,因此流程和第5步的情況一樣了
情況二,小蟲的行為比情況以復(fù)雜了一些,但小蟲最后仍然會落入無限循環(huán)當(dāng)中。
到此,如果你已經(jīng)徹底搞懂了二維蟲子是怎么移動的,那么你已經(jīng)明白了圖靈機(jī)的工作原理了!因?yàn)閺谋举|(zhì)上講,最后的小蟲模型就是一個(gè)圖靈機(jī)!
剛才用二維蟲子說明了圖靈機(jī)的工作原理,相信你的第一個(gè)反映就是,這樣的模型太簡單了!
他根本說明不了現(xiàn)實(shí)世界中的任何問題!下面,我就要試圖說服你,圖靈機(jī)這個(gè)模型是偉大的!
其實(shí)蟲子的所有決策和行為都可以抽象成一個(gè)圖靈機(jī)模型。
為什么可以做這種抽象呢?
其實(shí)可以把二維蟲子的模型進(jìn)行更多擴(kuò)展,以和現(xiàn)實(shí)世界基本或完全一致。因?yàn)槎S蟲子模型是以一切都簡化的前提開始的,所以它的確是太太簡單了。
然而,我們可以把二維蟲子的輸入集合、輸出行動集合、內(nèi)部狀態(tài)集合進(jìn)行擴(kuò)大,這個(gè)模型就一下子實(shí)用多了。
二維蟲子完全可以處于一個(gè)三維的空間中而不是簡簡單單的紙帶。
二維蟲子的視力很好,它一下子能讀到方圓500米的信息。
二維蟲子也可以擁有其他的感覺器官,比如嗅覺、聽覺等等,而這些改變都僅僅是擴(kuò)大了輸入集合的維數(shù)和范圍,并沒有其他更本質(zhì)的改變。
二維蟲子可能的輸出集合也是異常的豐富,它不僅僅能移動自己,還可以盡情的改造它所在的自然界。
進(jìn)一步的,二維蟲子的內(nèi)部狀態(tài)可能非常的多,而且控制它行為的程序可能異常復(fù)雜
那么二維蟲子會有什么本事呢?這就很難說了,因?yàn)殡S著小蟲內(nèi)部的狀態(tài)數(shù)的增加,隨著它所處環(huán)境的復(fù)雜度的增加,我們正在逐漸失去對二維蟲子行為的預(yù)測能力。
但是所有這些改變?nèi)匀粵]有逃出圖靈機(jī)的模型:
"輸入集合、輸出集合、內(nèi)部狀態(tài)、固定的程序指令!"
就是這四樣?xùn)|西抓住了二維蟲子信息處理的根本。
維基百科解釋:
可圖靈指在可計(jì)算性理論中,編程語言或任意其他的邏輯系統(tǒng)如具有等用于通用圖靈機(jī)的計(jì)算能力。換言之,此系統(tǒng)可與通用圖靈機(jī)互相模擬。
上面的解釋比較抽象,通過上面的例子理解了什么是圖靈機(jī),圖靈完備其實(shí)就很很簡單理解了。
簡單來說,能夠抽象成圖靈機(jī)的系統(tǒng)或編程語言就是圖靈完備的;一切可計(jì)算的問題圖靈機(jī)都能計(jì)算,因此滿足這樣要求的邏輯系統(tǒng)、裝置或者編程語言就叫圖靈完備的。
因此可見,二維蟲子是圖靈完備的。
Bitcoin的腳本由于沒有條件分支,循環(huán)等控制指令,回到上面的蟲子的例子,蟲子就不能根據(jù)當(dāng)前狀態(tài),判斷選擇移動還是吃食物等一系列的動作,因此不滿足圖靈機(jī)的模型,不是圖靈完備的。
我們?nèi)四懿荒芤脖贿@樣的抽象呢?顯然是可以的。
其實(shí)我們每一個(gè)會決策、會思考的人就可以被抽象的看成一個(gè)圖靈機(jī),也就是笑來老師一直說:每個(gè)人都有自己的操作系統(tǒng),因?yàn)橛性J(rèn)知能力,還可以自己升級操作系統(tǒng)。
輸入狀態(tài)集合就是你所處的環(huán)境中能夠看到、聽到、聞到、感覺到的所有一起,可能的輸出集合就是你的每一言每一行,以及你能夠表達(dá)出來的所有表情動作。內(nèi)部狀態(tài)集合則要復(fù)雜得多。因?yàn)槲覀兛梢园讶我庖粋€(gè)神經(jīng)細(xì)胞的狀態(tài)組合看作是一個(gè)內(nèi)部狀態(tài),那么所有可能的神經(jīng)細(xì)胞的狀態(tài)組合將是天文數(shù)字!這就是人類的記憶。只要圖靈機(jī)具有了內(nèi)部狀態(tài),它就相應(yīng)的具有了記憶。
這樣理解的話,還有兩個(gè)問題:
圖靈機(jī)的程序指令是固定的。但是人類有學(xué)習(xí)能力,也就是說人的大腦會進(jìn)化,操作系統(tǒng)會升級,所以大腦的實(shí)際程序規(guī)則是不固定,似乎圖靈機(jī)模型包含不了。
人類的很多現(xiàn)象似乎都能被圖靈機(jī)包括:情緒、情感等。
到此,相信大家對“區(qū)塊鏈的圖靈機(jī)和圖靈完備是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
名稱欄目:區(qū)塊鏈的圖靈機(jī)和圖靈完備是什么
標(biāo)題網(wǎng)址:http://www.rwnh.cn/article12/jijjgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、域名注冊、網(wǎng)站營銷、品牌網(wǎng)站制作、Google、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)