2017-10-21 64 views

回答

0

否。證明是通過k的數學歸納。

基準案例:對於k = 0,一個零狀態的NFA可能不是一個有效的對象,當然也不能說是接受任何東西。編輯:也許值得加k = 1以及,因爲k = 0的情況是異常的。對於k = 1,狀態不接受(在這種情況下,接受的語言是空的),或者它正在接受,在這種情況下,它只識別空字符串(如果沒有消耗輸入的轉換)或無限多的字符串有任何消費輸入的轉換)。

感應假設:假設所有k高達幷包括n,沒有NFA與k或更少的狀態接受字符串與長度不超過k更多和拒絕長度大於k更大字符串。

感應步驟:我們必須顯示沒有NFA與k+1或更少的狀態接受字符串與長度不超過k+1更多和拒絕長度大於k+1更大字符串。假設有這樣的NFA。考慮一下這個NFA的接受狀態。除了初始狀態以外,至少必須有一個,因爲NFA接受有限的多個字符串,而不僅僅是空字符串(請參閱k = 1的基本情況)。此外,NFA中必須有一些州可以接觸到其他一些接受州,因爲必須消耗一些投入來達到這些州。考慮一組通過消耗一個輸入符號可以達到其他接受狀態的狀態。考慮一個新的NFA,其他接受狀態被替換爲標記爲接受的這組新狀態。由此產生的NFA接受不超過k個狀態的所有長度不超過k的字符串(因爲我們從一組k + 1個狀態中刪除至少一個其他接受狀態)。這與歸納假設相矛盾,因此不存在不超過k + 1個狀態的NFA來接受所有長度不超過k + 1的字符串。

+0

案例k = 1:沒有轉換意味着只接受空字符串。否則,每個字母都可能有或沒有循環,因此您會得到幾種不同的語言。或者你認爲他的NFA必須完整嗎? –

+0

對於歸納步​​驟,不同的第一個字母可能會導致不同的狀態。因此,第二個狀態不必等於k的自動機的開始狀態。它可以只接受部分字符串,而其他字符則可以通過不同的第二種狀態接受。 –

+0

@PeterLeupold對於第一個評論,你是對的,看看我寫的是什麼,我認爲當時我已經完成了DFA。第二,不同的字母導致不同的國家將不會有問題(我認爲),但由於你給的原因,導致不同國家的同一封信是有問題的。我會根據這些評論做出一些改變,看看答案是否可以得到足夠的改善。 – Patrick87

0

該聲明對於長度爲< k的情況屬實。

對於長度< = k考慮一個長度爲k的字符串w。它沿着某條路被接受。此路徑訪問k + 1個狀態。由於只有k個不同的州,至少其中一個被訪問兩次。所以路徑中有一個循環。該循環可以進行多次。因此可以接受無限多的字符串,特別是也可以是長度大於k的字符串。

相關問題