Hầu hết những điều dưới đây là từ Lý thuyết phân tích cú pháp của Sippu và Soisalon-Soininen.
Đặt là tập hợp các trạng thái của DFA. Đặt là bảng chữ cái đầu vào. Đặt là kích thước của máy. Bài tập 3.40 đưa ra thuật toán để giảm thiểu trạng thái. Như Wikipedia mô tả , thuật toán của Hopcroft có thời gian chạy là và thuật toán của Moore có thời gian chạy là .T | M | = O ( | T | ⋅ | Q | ) O ( | T | ⋅ | Q | 2 ) O ( | T | ⋅ | Q | ⋅ log | T | ) O ( | T | 2 ⋅ | Q | )QT|M| =O( | T| ⋅ | Q | )Ô ( | T| ⋅ | Q |2)Ô ( | T| ⋅ | Q | ⋅log| T| )Ô ( | T|2⋅ | Q | )
Định lý 3.30 nói rằng việc xây dựng tập hợp con có thể được thực hiện trong mang lại một máy tự động có kích thước (trên thực tế, nếu máy tự động kết quả có trạng thái , thời gian chạy là ). Do đó, hai sự đảo ngược và xác định thứ hai là không quan trọng trong thời gian chạy, do đó thời gian chạy không có triệu chứng của thuật toán Brzozowski giống như khi xây dựng tập hợp con.O ( 2 | T | + log | Q | ) | T ′ | ( | T ' | + | T | ⋅ | M | ) ⋅ | Q |Ôi ( 2| T| +nhật ký| T| +nhật ký| Q |)Ôi ( 2| T| +nhật ký| Q |)| T'|( | T'| + | T| ⋅ | M| )⋅ | Q |
Điều này có nghĩa là trong trường hợp xấu nhất, thuật toán của Brzozowski chậm hơn theo cấp số nhân so với ba thuật toán còn lại. Lưu ý rằng trường hợp xấu nhất thực sự xảy ra: ví dụ kinh điển về NFA cho ngôn ngữ có trạng thái và DFA tối thiểu tương ứng của nó có trạng thái , trong khi ngược lại của NFA mang tính quyết định, do đó, việc chạy thuật toán của Brzozowski trên NFA bị đảo ngược này sẽ kích hoạt hành vi trong trường hợp xấu nhất. k + 1 O ( 2 k )( Một | b )*mộtkk + 1Ôi ( 2k)
Tuy nhiên, nếu cấu trúc tập hợp con mang lại một automata có kích thước , thì thời gian chạy của nó cũng là , thường là như vậy trên đầu vào thực tế. Hơn nữa, nếu được chăm sóc đúng cách khi tính toán việc đóng trạng thái, thì điều này có thể được thực hiện nhanh hơn nhiều trong hầu hết các trường hợp (nghĩa là, trường hợp đóng cửa nhỏ), tiết kiệm được một yếu tốtrong thực tế (về cơ bản cùng một lý do là việc đóng cửa bắc cầu có thể được tính toán khá nhanh trên các ví dụ trong thế giới thực). Hơn nữa, nếu các máy tự động đầu vào và trung gian thưa thớt, điều đó có nghĩa là các trạng thái có ít chuyển đổi, thì một yếu tốđược lưu, cung cấp thời gian chạy trên các đầu vào 'tốt'.| T'| =O( | T| )Ô ( | T|2⋅ | Q |2)| T|| Q |Ô ( | T| ⋅ | Q | )
Thật không may, tôi không đủ quen thuộc với các thuật toán của Hopcroft hoặc Moore để đưa ra phân tích về thời gian chạy của chúng trong các trường hợp điển hình. Wikipedia nói về thời gian chạy trong một số trường hợp, điều này sẽ làm cho ba thuật toán có thể so sánh được.Ô ( | T| đăng nhậpđăng nhập| T| )