Theo nghĩa chính thức nghiêm ngặt, không. Không xác định theo nghĩa lý thuyết / toán học cho phép một cỗ máy chọn một con đường tính toán dựa trên việc cuối cùng nó có dẫn đến trạng thái chấp nhận hay không mà không cần nhìn xa hơn về đầu vào . Vì vậy, theo nghĩa nghiêm ngặt này, đó là một tài sản chỉ phù hợp để kiểm tra lý thuyết và không có thứ gọi là máy không xác định thực sự, đặc biệt trong trường hợp này bạn không thể thực sự xây dựng NFA, trừ khi bạn có thể nhìn thấy trong tương lai, trong trường hợp xây dựng một trình biên dịch với tài năng này là một sự lãng phí! ;).
Tuy nhiên, chủ nghĩa không phá hủy và không phá hủy thường được sử dụng theo nghĩa yếu hơn, được xác định một cách nguy hiểm. Đôi khi nó có thể có nghĩa là ngẫu nhiên / xác suất - thuật toán lật một đồng xu, trong một thiết lập chính thức, điều này được nghiên cứu như các thuật toán xác suất / ngẫu nhiên, và không được gọi là thuyết không xác định. Một cách sử dụng khác là cho một thuật toán không nhất thiết tạo ra cùng một đầu ra với hai lần chạy trên cùng một đầu vào - nó có thể không ngẫu nhiên, nhưng một số hành vi của nó là không xác định, vì vậy có thể có một số đầu ra hợp lệ (cá nhân tôi nghĩ rằng định nghĩa xuất phát từ việc nhầm lẫn không xác định và không xác định .
Tuy nhiên, về nguyên tắc, bạn có thể xây dựng một từ vựng không đặc biệt ở một trong những giác quan yếu hơn, không chính thức này, tuy nhiên đó sẽ không phải là một NFA (đó là một mô hình máy chính thức nghiêm ngặt) và tôi không thể tưởng tượng được đó là một sự cố ý tưởng nóng hoặc - một lexer cần phải khá dễ đoán.
Tùy chọn cuối cùng là bạn có thể mô phỏng tính không xác định thông qua quay lui hoặc song song, nhưng trong trường hợp này, bạn mất đi hiệu quả rõ ràng của tính không xác định, vì bạn thực sự biến nó thành một tính toán xác định, vì vậy bạn không tốt hơn tắt hơn với một DFA.