Trang chủ / Máy tính / Trình mô phỏng máy trạng thái hữu hạn (FSM) trực tuyến
Công cụ trực tuyến miễn phí

Trình mô phỏng máy trạng thái hữu hạn (FSM) trực tuyến

Mô phỏng máy trạng thái hữu hạn xác định (DFA) trực tuyến. Nhập quy tắc chuyển, trạng thái ban đầu và chuỗi đầu vào để xem đường đi và trạng thái cuối. Quá t…

Bắt đầu sử dụng

Tính năng và ví dụ cụ thể

Trình mô phỏng FSM này giúp bạn kiểm tra hoạt động của một máy trạng thái hữu hạn xác định (DFA). Bạn có thể nhập bảng chuyển trạng thái, trạng thái ban đầu và chuỗi đầu vào, sau đó xem đường đi qua các trạng thái.

Ví dụ đã xác minh

Với các quy tắc:

q0,0,q0
q0,1,q1
q1,0,q0
q1,1,q1

Trạng thái ban đầu q0 và chuỗi đầu vào 1011, kết quả là đường đi: q0 -> q1 -> q0 -> q1 -> q1 và trạng thái cuối cùng là q1.

Quy tắc nhập liệu

  • Mỗi dòng quy tắc phải có đúng ba phần: trạng thái hiện tại, ký tự đầu vào, trạng thái tiếp theo, phân tách bằng dấu phẩy.
  • Số lượng quy tắc từ 1 đến 200.
  • Tên trạng thái không được rỗng và tối đa 50 ký tự.
  • Mỗi ký tự đầu vào là một điểm mã Unicode (không phải nhiều ký tự).
  • Mỗi cặp (trạng thái, ký tự) chỉ được phép có một chuyển tiếp; nếu trùng lặp sẽ bị báo lỗi.
  • Trạng thái ban đầu là bắt buộc, tối đa 50 ký tự.
  • Chuỗi đầu vào được xử lý từng điểm mã Unicode và tối đa 10000 đơn vị mã UTF-16.

Giới hạn

Công cụ này không có trường trạng thái chấp nhận, không hỗ trợ epsilon chuyển, không phân nhánh không xác định, không chuyển đổi biểu thức chính quy, không tối giản hóa và không vẽ sơ đồ. Nó chỉ mô phỏng các chuyển tiếp xác định đã cung cấp và không quyết định việc chấp nhận chuỗi.

Câu hỏi thường gặp

1. Làm thế nào để biểu diễn ký tự đặc biệt như dấu phẩy hoặc ký tự Unicode ngoài BMP?

Dấu phẩy là ký tự phân tách cấu trúc, không thể nằm trong tên trạng thái hoặc ký tự đầu vào. Đối với ký tự Unicode ngoài BMP (ví dụ: U+1F600), bạn không thể nhập trực tiếp vì công cụ chỉ xử lý các ký tự trong mặt phẳng đa ngôn ngữ cơ bản (BMP). Nếu cần, hãy sử dụng ký tự thay thế hoặc mô tả bằng ký hiệu điểm mã.

2. Điều gì xảy ra nếu thiếu chuyển tiếp cho một cặp (trạng thái, ký tự) trong chuỗi đầu vào?

Mô phỏng sẽ dừng lại và báo lỗi tại ký tự đó, không tiếp tục xử lý phần còn lại của chuỗi.

3. Tôi có thể sử dụng tên trạng thái dài hơn 50 ký tự không?

Không, tên trạng thái bị giới hạn tối đa 50 ký tự. Nếu vượt quá, công cụ sẽ báo lỗi.

Kiểm tra nhanh

  • Bắt đầu với một chuỗi ngắn để xác minh các quy tắc.
  • So sánh từng bước chuyển với bảng quy tắc.
  • Lưu ý rằng đường đi có thể dài nếu chuỗi đầu vào lớn.

Quá trình xử lý diễn ra cục bộ trong trình duyệt.