ภาษาที่: จำนวน 0 = จำนวน 1 + จำนวน 2
State และ Transition
q₀: รับ 0 แล้วจับคู่กับ 1 หรือ 2
- (0, I/0I) → q₀: push 0
- (0, 0/00) → q₀: push 0
- (1, 0/ε) → q₁: pop 0 สำหรับ 1
- (2, 0/ε) → q₂: pop 0 สำหรับ 2
- ($, I/I) → qf: สตริงว่าง
q₁: pop 0 สำหรับ 1 แล้วอาจเจอ 2
- (1, 0/ε) → q₁: pop 0 สำหรับ 1
- ($, I/I) → qf: accept (0ᵐ1ᵐ)
- (2, 0/ε) → q₂: pop 0 สำหรับ 2 (หลังจบ 1 แล้ว)
q₂: pop 0 สำหรับ 2
- (2, 0/ε) → q₂
- ($, I/I) → qf: accept
สตริงที่ยอมรับได้
- 0ⁿ2ⁿ: 02, 0022... (m=0)
- 0ᵐ1ᵐ: 01, 0011... (n=0)
- 0ⁿ⁺ᵐ1ᵐ2ⁿ: 0012, 000112... (m,n>0)
- สตริงว่าง
หลักการ: Push 0 ทั้งหมดก่อน แล้ว pop ตรง 1 แล้ว pop ตรง 2