簡體   English   中英

使用零語言的CFG是否可以確定?

[英]Is a CFG using a nil language decidable?

如果我有一個上下文無關的語法G,使得G的語言為零,那么G是否可判定?

我知道答案是肯定的,但是我很難證明這一點。 我的第一個想法是說,只有一個狀態q1,它是圖靈機的開始狀態和接受狀態,它等效於G。該機器將不接受任何輸入,因為已達到接受狀態,所以立即停止並接受州。 這是可以接受的答案,還是我離開這里?

編輯:

就像喬爾(Joel)在下面說的那樣,我描述的語言接受所有字符串。 為了解決這個問題,我建議使用第二台機器G'。 G'具有3種狀態,即開始狀態q1,接受狀態q2和拒絕狀態q3。 在G'字母中的所有符號上,q1都轉換為q3,q2也是如此。 q1具有到q2的ε過渡。 因此,如果在送入G'的字符串中存在任何符號,則G'將拒絕。 如果沒有符號,則唯一的選擇是使epsilon轉換進入接受狀態。 聽起來怎么樣?

編輯:

事實證明上述解決方案可以接受語言L(G')= {“”}。

正如您所說,答案是肯定的。 一個一般的證明是,對於給定的CFG G,您可以輕松地(很好地)構造一個TM使用該語法模擬派生的事實。 但是,您正在尋找空語言的簡短證明。 (在這種情況下,您擁有CFG的事實是無關緊要的。)

如果您可以構建始終針對給定語言L停止運行的TM,那么您就走上了正確的道路,那么L是可以確定的。 但是,您描述的機器實際上將接受每個字符串,即由字母上每個可能的字符串組成的語言。 這是因為,如果開始狀態也是接受狀態,那么圖靈機將在啟動時立即接受。 它不必讀取整個輸入字符串(或其中的任何部分)即可接受。

要定義不接受任何內容的TM,請使接受狀態集為空。 為了確保您的機器始終停止,轉換功能也可以為空。

暫無
暫無

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

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