หน้าแรก / เครื่องคำนวณ / เครื่องมือจำลอง Finite State Machine (FSM) ออนไลน์
เครื่องมือออนไลน์ฟรี

เครื่องมือจำลอง Finite State Machine (FSM) ออนไลน์

ป้อนกฎการเปลี่ยนสถานะและอินพุต ดูเส้นทางสถานะและสถานะสุดท้าย รองรับกฎสูงสุด 200 รายการ อั…

เริ่มใช้งาน

คุณสมบัติและตัวอย่างการใช้งาน

ตัวอย่างที่เป็นรูปธรรม

สมมติกฎ: q0,0,q0, q0,1,q1, q1,0,q0, q1,1,q1 สถานะเริ่มต้น q0 และอินพุต 1011 ผลลัพธ์ที่ได้คือเส้นทาง q0 -> q1 -> q0 -> q1 -> q1 และสถานะสุดท้าย q1

ปัญหาที่เครื่องมือช่วยแก้

คุณต้องการตรวจสอบว่าสตริงอินพุตใดทำให้เครื่องจักรไปถึงสถานะที่ต้องการหรือไม่ โดยไม่ต้องเขียนโปรแกรม เครื่องมือนี้จะจำลองการเปลี่ยนสถานะทีละตัวอักษรและแสดงผลทันที

ข้อจำกัดที่ควรทราบ

  • รองรับเฉพาะการเปลี่ยนสถานะแบบกำหนดเอง (deterministic) เท่านั้น ไม่มีสถานะยอมรับ (accepting state) หรือการเปลี่ยนแบบ epsilon
  • กฎต้องมีจำนวน 1 ถึง 200 รายการ ชื่อสถานะต้องไม่เว้นว่างและยาวไม่เกิน 50 ตัวอักษร อักขระนำเข้าต้องเป็นโค้ดพอยต์เดียว (Unicode code point)
  • ห้ามมีกฎซ้ำสำหรับคู่ (สถานะ, อักขระ) เดียวกัน หากพบจะปฏิเสธกฎนั้น
  • อินพุตถูกประมวลผลทีละโค้ดพอยต์ และจำกัดความยาวไม่เกิน 10,000 หน่วย UTF-16
  • ไม่มีฟีเจอร์สร้างแผนภาพ แปลงเป็น regex หรือลดรูปเครื่องจักร

คำถามที่พบบ่อย

1. จะทราบได้อย่างไรว่าอินพุตได้รับการยอมรับหรือไม่?

เครื่องมือนี้ไม่มีสถานะยอมรับ ดังนั้นจึงไม่มีการตัดสินใจว่า 'ยอมรับ' หรือ 'ปฏิเสธ' เพียงแต่แสดงเส้นทางและสถานะสุดท้าย คุณต้องตีความผลลัพธ์เองตามวัตถุประสงค์

2. หากอินพุตมีอักขระที่ไม่ตรงกับกฎใด ๆ จะเกิดอะไรขึ้น?

การจำลองจะหยุดที่ตำแหน่งนั้นและแสดงข้อผิดพลาด พร้อมระบุอักขระและสถานะปัจจุบันที่ทำให้ไม่มีการเปลี่ยน

3. สามารถใช้อักขระ Unicode เช่น อีโมจิ เป็นอักขระนำเข้าได้หรือไม่?

ได้ แต่ต้องเป็นโค้ดพอยต์เดียว (เช่น U+1F600) และต้องป้อนเป็นอักขระจริงในช่องอินพุต อย่างไรก็ตาม ระบบอาจไม่แสดงผลอีโมจิในบางสภาพแวดล้อม แต่การจำลองจะยังทำงานถูกต้อง

ข้อควรระวัง

สำหรับอินพุตที่ยาวมาก เส้นทางผลลัพธ์อาจยาวมาก ควรทดสอบกับอินพุตสั้น ๆ ก่อน และตรวจสอบกฎแต่ละบรรทัดให้ถูกต้อง

การประมวลผลเกิดขึ้นภายในเบราว์เซอร์ของคุณ