Nếu chỉ có một chuỗi các trạng thái không có vòng lặp, bạn có biết phải làm gì không?
Nếu có một vòng lặp đơn giản mà không có sự phân nhánh chồng chéo này, bạn có biết phải làm gì không?
(Nếu câu trả lời là Số không, hãy nghĩ về những trường hợp này trước.)
Bây giờ, ý tưởng là biến đổi máy tự động dần dần để đặt nó ở dạng mà bạn có thể phát hiện ra các mẫu đó: chuỗi, vòng lặp và đường dẫn chuyển hướng cuối cùng (dẫn đến xen kẽ). Ở mỗi bước chuyển đổi, hãy chú ý rằng máy tự động chuyển đổi vẫn nhận ra cùng một ngôn ngữ.
Hãy ghi nhớ rằng đây là một phi automaton -deterministic. Một trong những bạn đã đăng tình cờ là xác định, nhưng nó không phải giữ nguyên như vậy khi bạn chuyển đổi nó.
Vì điểm dính là có thể đạt được từ hai điểm khác nhau, hãy chia nó thành hai. Giữ , xóa quá trình chuyển đổi từ sang và thêm vào đó một trạng thái mới với các chuyển đổi . Bây giờ bạn sẽ có thể phát hiện ra một mô hình.q 1 f → q 2 g → q 3 q 4 q 2 q 5 q 4 j → q 5 g → q 3q2q1→fq2→gq3q4q2q5q4→jq5→gq3
Nếu bạn vẫn gặp sự cố tại thời điểm này, hãy lưu ý rằng vòng lặp liên quan đến tương ứng với một biểu thức chính quy đơn giản. Khi bạn đến , bạn có thể thực hiện bao nhiêu lần chạy quanh vòng lặp này tùy thích. Theo một nghĩa nào đó (có thể được thực hiện về mặt kỹ thuật), bạn có thể thay thế trạng thái bằng biểu thức chính quy .q 3 q 3 ( h j g ) *q3,q4,q5q3q3(hjg)∗
Hãy cẩn thận để kiểm tra các tiểu bang là cuối cùng. Nó có thể giúp không lo lắng về điều này lúc đầu và tạo một vòng lặp lớn, sau đó sao chép các phần kết thúc giữa vòng qua vòng lặp.
Đây không nhất thiết là kỹ thuật hiệu quả nhất hoặc là kỹ thuật tạo ra biểu thức chính quy đơn giản nhất, nhưng nó đơn giản.