Saya tidak yakin apa yang Anda maksud dengan produk kartesius; ini mensimulasikan kedua automata secara paralel, yang akan memberi Anda persimpangan. Tapi Anda ingin mengidentifikasi semua kata dalam yang memiliki akhiran dari ! Pada tingkat intuitif, itu.RL.R
Asumsikan input kami adalah . Jelas, kami tidak dapat memeriksa semua kemungkinan lanjutan (untuk keanggotaan di ) tetapi hanya sejumlah yang terbatas. Komentar Artem sangat membantu di sini; kami menebak akhiran yang akan terjadi, dan menjalankan kedua automata di atasnya. R xw∈Σ∗Rx
Mari dan PDA untuk dan NFA untuk , masing-masing. Bangun otomat sebagai berikut. Pada input , simulasikan . Setelah dikonsumsi, beralih ke persimpangan dimodifikasi dari dan , menjaga negara dari . Sekarang, putuskan untuk setiap transisi nondeterministis simbol mana yang berikutnya dalam input virtual. Terima jika dan hanya jika kedua komponen mencapai keadaan akhir secara bersamaan, yaitu jikaA R L R A w ∈ Σ ∗ A L w A L , R A L A R A L w A L , R w x w x ∈ L x ∈ RALARLRAw∈Σ∗ALwAL,RALARALwAL,Rwmemiliki kelanjutan sehingga dan .xwx∈Lx∈R
Anda juga dapat menggunakan tata bahasa formal. Apakah Anda melihat bagaimana Anda bisa mendapatkan dua tata bahasa secara paralel? Secara umum, tidak jelas bagaimana mengadaptasi sehingga Anda dapat menangani sufiks; menggunakan bentuk normal Chomsky membantu.GL
Asumsikan dan diberikan dalam bentuk normal Chomsky. Ubah sedemikian sehingga non-terminal paling kanan dapat dibedakan dan menjadikan simbol awal sebagai simbol awal baru. Perkenalkan untuk versi yang berbeda dari nonterminals aturan baru yang mengarah ke tata bahasa yang diturunkan dalam dan secara paralel (non-terminal adalah pasangan non-terminal); jika kedua tata bahasa menyetujui simbol terminal, hapus komposit non-terminal. Dengan cara itu, akhiran di dihapus jika dan hanya jika dapat diturunkan dalam dan di , tetap .G R G L G L G R G L G L G R w ∈ L / RGLGRGLGLGRGLGLGRw∈L/R