[英]Why is this not CFG?
盡管這是重新定義, 但我還是在設計PDA方面進行討論。
現在,我知道我錯了,因為這是一個廣為人知的示例,但是下面的PDA設計在哪里出錯呢?
我想接受語言{a^nb^nc^n: n>=0}
每次遇到a
,我將兩個1
推入堆棧,將b
彈出一個,將c
彈出一個,然后檢查是否有空堆棧。 我將轉換函數(最小值)定義為:
(q0, a, Z) = (q0, 11Z)
(q0, a, 1) = (q0, 111)
(q0, b, 1) = (q1, delta)
(q1, c, 1) = (q2, delta)
(q2, delta, Z) = (q-Final, Z) (epsilon move)
Z is empty stack
此PDA不接受這種語言嗎?
您的PDA接受以下語言:
{a^n b^i c^j; n >= 0 and i + j = 2n}
與上述語言的子集{a^nb^nc^n: n>=0}
,特別是當i = n
和j = n
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.