簡體   English   中英

證明特定語言是不可決定的

[英]Prove that a specific language is not semidecidable

我必須證明語言L = {<M>:| L(M)| <= 2016}不是半確定的。 現在我想這樣做:

拿一個隨機的alfabetE。現在E中有無限多個單詞。我們只能得出| L(M)|的結論。 <= 2016,將E *中的每個單詞作為輸入傳遞給M。但是,由於單詞數量不限,這意味着我們必須將輸入傳遞給M無限次。 但這意味着執行這些檢查的圖靈機最終陷入無限循環,因此從不返回接受或拒絕其輸入。 語言L因此不是半確定的。

但是我認為這可能還不夠正式嗎? 主要是因為我只是假設檢查這種語言的Turing Machine將讓M在E *中的每個單詞上運行。 這個假設是正確的,還是我應該更正式一點?

考慮L的補碼:圖靈機編碼的語言,其語言包含超過2016個字符串。 我們可以輕松地證明這種語言是半確定的。 鑒於這一事實,假設L也是半確定的。 因為L及其補碼都是半確定的,所以我們有一個有效的決定方案:交替運行L及其補碼的TM,最終將列出輸入。

要了解L的補碼是半確定的,可以想象一個TM在每個可能的輸入上執行M的一個步驟,並交替移動,以便最終通過TM的任意多次移動來處理每個字符串。 它訪問輸入的順序如下:

e,
e, 0,
e, 0, 1,
e, 0, 1, 00, 
e, 0, 1, 00, 01, ...

顯然,任何可能的輸入字符串最終都會被處理多次。 我們的機器一次模擬所有可能的輸入字符串上運行的M,最終將發現2017年的字符串導致M暫停接受,或者它將永遠運行。 如果發現2017年有效的字符串,則暫停接受。

暫無
暫無

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

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