Diberikan bahasa dan , katakanlah bahwa gabungan tidak ambigu jika untuk semua kata , ada tepat satu dekomposisi dengan dan , dan ambigu sebaliknya. (Saya tidak tahu apakah ada istilah yang mapan untuk properti ini — hal yang sulit untuk dicari!) Sebagai contoh sepele, gabungan dari dengan dirinya sendiri adalah ambigu ( ), tetapi gabungan dengan dirinya sendiri tidak ambigu.
Apakah ada algoritma untuk memutuskan apakah gabungan dari dua bahasa reguler tidak ambigu?
Jawaban:
Petunjuk: Mengingat DFA untuk dan B , buatlah NFA yang menerima kata-kata dalam A B yang memiliki setidaknya dua dekomposisi yang berbeda. NFA melacak dua salinan NFA standar untuk A B (dibentuk dengan menggabungkan DFA untuk A dan B dengan transisi ϵ ), memastikan bahwa peralihan dari A ke B terjadi pada dua titik yang berbeda.A B AB AB A B ϵ A B
sumber
Diperbarui (terima kasih kepada Yuval Filmus).
Diberi dua bahasa dan Y dari A ∗ , misalkan X - 1 YX Y A∗
Saya mengklaim bahwaXYtidak ambigu jika dan hanya jika bahasaX-1X∩YY-1∩A+kosong.
Bukti . Misalkan adalah ambigu. Kemudian ada sebuah kata u yang memiliki dua dekomposisi lebih X Y , mengatakan u = x 1 y 2 = x 2 y 1 , di mana x 1 , x 2 ∈ X dan y 1 , y 2 ∈ Y . Tanpa kehilangan keumuman, kita dapat berasumsi bahwa x 1 adalah awalan x 2 , yaitu, x 2 = xXY u XY u=x1y2=x2y1 x1,x2∈X y1,y2∈Y x1 x2 untuk beberapa z ∈ A + . Oleh karena itu u = x 1 y 2 = x 1 z y 1 , di mana y 2 = z y 1 . Jadi z ∈ X - 1 X ∩ Y Y - 1 .x2=x1z z∈A+ u=x1y2=x1zy1 y2=zy1 z∈X−1X∩YY−1
Misalkan sekarang mengandung beberapa kata kosong z . Kemudian ada x 1 , x 2 ∈ X dan y 1 , y 2 ∈ Y sedemikian sehingga x 2 = x 1 z dan y 2 = z y 1 . Maka x 2 y 1 = x 1 z y 1 =X−1X∩YY−1 z x1,x2∈X y1,y2∈Y x2=x1z y2=zy1 dan karenanya produk X Y adalah ambigu.x2y1=x1zy1=x1y2 XY
Jika dan Y adalah teratur, maka keduanya X - 1 X dan Y Y - 1 teratur dan dengan demikian X - 1 X ∩ Y Y - 1 juga teratur (lihat jawaban Yuval untuk otomat yang menerima bahasa ini).X Y X−1X YY−1 X−1X∩YY−1
sumber