Finite automata ถูกใช้โดย คอมไพเลอร์ภาษาคอมพิวเตอร์ ส่วนใหญ่ เพื่อช่วยในการแยกวิเคราะห์และเตรียมรหัสสำหรับการใช้งานจริง นอกจากนี้ ยังใช้กันอย่างแพร่หลายในระบบประมวลผลภาษา รวมถึงการประมวลผลภาษาธรรมชาติ เพื่อช่วยให้โปรแกรมเข้าใจวิธีการตอบสนองต่ออินพุตที่ไม่ซ้ำใครและหลากหลาย
ทำไมเราต้องไม่มีไฟไนต์ออโตมาตะแบบกำหนดไม่ได้
การประยุกต์ใช้ NFA
เป็นสิ่งสำคัญเพราะ NFA สามารถใช้เพื่อลดความซับซ้อนของงานคณิตศาสตร์ที่จำเป็นในการสร้างคุณสมบัติที่สำคัญมากมายในทฤษฎีการคำนวณ ตัวอย่างเช่น พิสูจน์คุณสมบัติการปิดของภาษาปกติโดยใช้ NFA ได้ง่ายกว่า DFA
ข้อดีของ DFA คืออะไร
ข้อดีของ DFA คือ ที่เราเติมเต็มได้ง่ายๆ รัฐ; NFA ที่รู้จักภาษาเดียวกันต้องการสถานะ qtp ข้อดีของ DFA คือเราสามารถเติมเต็มได้อย่างง่ายดาย
DFA ยอมรับภาษาใด
DFA ยอมรับภาษา L ได้ก็ต่อเมื่อ L={ w | (q0, w) A }. นั่นคือ ภาษาที่ DFA ยอมรับคือ set of strings ที่ DFA ยอมรับ
DFA เร็วกว่า NFA หรือไม่
หากจำเป็นต้องใช้ DFA มีอัลกอริทึมสำหรับ (a) การแปลง NFA เป็น DFA ที่เทียบเท่ากัน และ (b) การลด DFA ให้น้อยที่สุด ทำให้ภาพรวมโดยรวม DFAs เร็วกว่าแต่ซับซ้อนกว่า (ในแง่ของจำนวนสถานะและช่วงการเปลี่ยนภาพ) ในขณะที่ NFA นั้นช้ากว่าแต่เรียบง่ายกว่า (ในแง่เดียวกัน)