比方說,我們要畫一個NPDA的兩種狀態轉換圖是接受語言L.而且我們也說,這NPDA會恰好有2個州。我的想法是在第一個狀態下做所有事情,然後用第二個狀態作爲最後一個狀態。像這樣:
但我不知道該拉姆達的轉變將導致q1
或是否有更好的方式來做到這一點,這有可能是一個更好的辦法,因爲我想教給我自己。也許有人可以讓我回到正軌?
比方說,我們要畫一個NPDA的兩種狀態轉換圖是接受語言L.而且我們也說,這NPDA會恰好有2個州。我的想法是在第一個狀態下做所有事情,然後用第二個狀態作爲最後一個狀態。像這樣:
但我不知道該拉姆達的轉變將導致q1
或是否有更好的方式來做到這一點,這有可能是一個更好的辦法,因爲我想教給我自己。也許有人可以讓我回到正軌?
你幾乎明白了。您剛剛錯過了n>=1
的要求,因爲您目前的NPDA也會接受「acb」。而且你不需要(b,4)/ 5,因爲堆棧符號5不會被使用。
因此,您需要1和2之間的另一個堆棧符號來表示我們是否在「c」之前看到「b」。
q0-q0 q0-q1 (a,Z)/1Z (b,3)/λ (b,1)/2 (b,4)/λ (b,2)/2 (b,5)/λ (c,2)/3 (b,3)/4 (b,4)/5
這種CS理論對於計算器而言並不是真正的主題。在http://cs.stackexchange.com/上你會有更好的運氣。 –
似乎更適合CS –