✖

Hiệu của hai ngôn ngữ chính quy

Cho hai ngôn ngữ chính quy L1, L2. Ta sẽ chứng minh hiệu của chúng L = L1 ∖ L2 cũng là ngôn ngữ chính quy.

Ý tưởng

Thực ra không có nhiều điều phải chứng minh. Với hiệu của hai tập hợp, ta có hệ thức sau:

L1∖L2=L1∩L2―,

trong đó L2― là phần bù của ngôn ngữ L2. Từ các bài về giao của hai ngôn ngữ chính quy và phần bù của ngôn ngữ chính quy, ta biết rằng lớp ngôn ngữ chính quy đóng đối với cả hai phép toán này. Nghĩa là ta có thể xây dựng ôtômat đoán nhận giao của hai ngôn ngữ và ôtômat đoán nhận phần bù của một ngôn ngữ. Dùng các ôtômat này, ta xây dựng được ôtômat đoán nhận ngôn ngữ L1∩L2―, mà đó cũng chính là ngôn ngữ L1 ∖ L2.

Ví dụ

Cho ôtômat A1 đoán nhận mọi xâu chứa một số chẵn chữ số 1:

và ôtômat A2 đoán nhận các xâu chứa một số lẻ chữ số 0:

Ta xây dựng ôtômat đoán nhận hiệu của hai ngôn ngữ này. Trước hết cần ôtômat A2′ đoán nhận phần bù của ngôn ngữ do A2 đoán nhận. Chỉ cần đổi trạng thái kết thúc thành không kết thúc và ngược lại:

Bây giờ chỉ còn xây dựng ôtômat A đoán nhận giao của hai ngôn ngữ L(A1) và L(A2′):

Tài liệu tham khảo

Mục lục: Tính đóng của ngôn ngữ chính quy, Hợp của hai ngôn ngữ chính quy, Giao của hai ngôn ngữ chính quy, Hiệu của hai ngôn ngữ chính quy, Phần bù của ngôn ngữ chính quy, Phép ghép hai ngôn ngữ chính quy, Bao đóng của ngôn ngữ chính quy