[英]what does regular, Turing-decidable and Turing-recognisable mean?
我知道這個問題已經提過,但是老實說我不清楚。
我目前正在對計算理論進行研究,並且使用術語“證明一種語言是可確定的,可識別的或常規的”。
用最簡單的術語來說,它們實際上是什么意思,我們如何證明這些東西?
我們在談論一種語言 超過一個字母
, 意思就是
(
由單詞組成,單詞由
)。
可以決定的
表示存在圖靈機 ,這樣
將停止並接受任何輸入的單詞
並停止並拒絕輸入的任何單詞
。
被認可
表示存在圖靈機 ,這樣
將停止並接受任何輸入的單詞
並停止或不停止 (但不停止並接受!)
。
有關差異 ,另請參見MathExchange上的可識別與可確定。
定期
意思是 可以由正則表達式創建。 重要的是要注意,理論計算機科學中的這些正則表達式與PERL或Java等編程語言中已知的RegEx功能有所不同。 實際上,這些RegExes確實比正則表達式更強大(不知道這是否是正確的英語術語)。
正則表達式的一個很好的定義在這里給出:
除了正則表達式,別無其他。
為了證明可判定性或可識別性,通常最容易為圖靈機提供所需的屬性。 由於Church-Turing的論點 ,任何編程語言都像Turing機器一樣強大。 因此,在我的課程中,以編程語言或偽代碼提供算法是完全可以接受的。
請注意,任何可識別的語言也是可以確定的(但反之亦然)。
為了證明規則性,大多數時候最簡單的就是提供一個構造該語言的正則表達式。 有時需要證明正則表達式確實能夠正確構建 ,通常不太難(通常很明顯)。
在許多講座中,都有關於正則表達式的約定,該約定允許使用更直觀,更短(但不更強大)的語法。
知道常規語言正是有限自動機可以識別的語言可能會很有趣。 注意,任何常規語言也是可判定的(因此可識別的)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.