簡體   English   中英

圖靈機和 Lambda 微積分等價

[英]Turing Machines and Lambda Calculus equivalence

我想知道誰能用一般術語向我解釋 Lambda 微積分和圖靈機等價性的一些證明以及證明的一般方法。 盡可能通俗易懂。

用最基本的術語來說,您只需證明兩件事:

  1. 對於任何lambda項,都有一個圖靈機可以計算相同的事物
  2. 對於任何圖靈機,都有一個lambda項來計算相同的事物

當然,這里涉及到一些手動操作,因為您還需要考慮輸入/輸出的操作差異,但是我們不在這里討論。

在實踐中,上述兩個定理得到了建設性的證明,也就是說,實際上是通過一種機械方法將一個定理轉化為另一個定理。 因此,基本上,您提供了兩個編譯器以及它們正確性的證明。

為了獲得良好的直覺,請考慮lambda演算與套准機之間的等價相似定理。 在這種情況下,無需使用實際計算機的有限性, 無類型λ演算的解釋器就是一個方向的證明。 在這里,我指的是一個可以運行的真實,有形的程序。 例如,通過從功能性編程語言的編譯器中刪除類型檢查器(后者肯定會在其中嵌入一定類型的lambda演算)。

因此,下次運行GHC時,請考慮該定理!

我相信從不同的角度來看,門邏輯(硬件),Lambda微積分(數學/抽象)和圖靈機(抽象圖像)是相同的操作。 門邏輯是被移位的位/電流。 您可以手動實現它(實驗套件,試驗板,硬件),也可以使用邏輯門模擬器(軟件)對其進行測試。 Lambda微積分是一種形式化的 數學概念,可以證明您機械地進行的操作將始終具有相同的輸出/結果。 圖靈機只是沒有Math和Gates的一種更抽象的解釋方式。 告訴您的祖母馮·諾依曼架構,將數學,電氣和軟件工程留在實驗室中。 在門邏輯中,您將創建一個鎖存器,該鎖存器將根據輸入保持位/狀態。 在lambda演算中,每個位都是一個符號,lambda本身是過渡/歸約的符號。 在圖靈機中,位是寄存器。 我已經從數學原理,哲學哲學和Lambda微積分學到了這一點:最短的解釋是最糟糕的,因為最抽象。 您將需要時間查看樹木,以使它們成為森林。

Lambda calculus:In lambda term, we have a Turing machine which computes the same thing Turing Machine:In the turing machine, we have a lambda term which computes the same thing In practice, the above two theorems are proven constructively, that is, by實際上給出了一種將一個變成另一個的機械方式。 所以基本上你給了兩個編譯器,以及它們的正確性證明。

為了得到一個好主意,想想 lambda 微積分和寄存器機器之間的類似等價定理。 在這種情況下,擺脫了真實計算機的有限性,無類型 lambda 演算的解釋器是一個方向的證明。 我在這里指的是一個真實的、有形的程序,你可以運行它; 例如,通過從函數式編程語言的編譯器中刪除類型檢查器(它肯定會嵌入一些 lambda 演算的類型化版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM