ฉันใช้ FSM ในการออกแบบวงจรดิจิตอลตามลำดับ แต่ฉันไม่คุ้นเคยกับ Finite Automata ใครสามารถช่วยฉันในการทำความเข้าใจความแตกต่าง 'พื้นฐาน' ระหว่างสองคนนี้ได้หรือไม่?
ฉันใช้ FSM ในการออกแบบวงจรดิจิตอลตามลำดับ แต่ฉันไม่คุ้นเคยกับ Finite Automata ใครสามารถช่วยฉันในการทำความเข้าใจความแตกต่าง 'พื้นฐาน' ระหว่างสองคนนี้ได้หรือไม่?
คำตอบ:
เท่าที่ฉันเข้าใจทั้งคู่มี "สถานะ" และ "การกระทำ" ที่ทำให้เครื่องย้ายจากสถานะหนึ่งไปอีกสถานะหนึ่งบนสัญญาณอินพุต ดังนั้นแนวคิดความคิดเหมือนกัน มีรายละเอียดแตกต่างกันบ้างเล็กน้อย
ใน FSM สำหรับการออกแบบวงจรสัญญาณอินพุตส่วนใหญ่จะถือว่าเป็นบิต (ไบนารี) ในขณะที่สถานะออโตมาต้า จำกัด สามารถมีตัวอักษร "นามธรรม" ทั่วไปของสัญลักษณ์อินพุต ประการที่สอง FSM ยังสร้างเอาท์พุทที่เกี่ยวข้องกับสถานะที่เข้าถึงได้เช่นกัน ในคำศัพท์ออโตมาตะส่วนขยายนี้เรียกว่าเครื่อง Moore ออโตมาตามีสถานะขั้นสุดท้าย (หรือยอมรับ) ซึ่งเป็นสัญญาณที่อ่านได้ดี ในที่สุด FSM ส่วนใหญ่จะกำหนดขึ้นเช่นสำหรับแต่ละอินพุตในบางสถานะมีหนึ่งสถานะถัดไป ในทฤษฎีออโตมาตาเรายังพิจารณาตัวแปร nondeterministic ที่หนึ่งอาจมีทางเลือกในการย้าย
จากประสบการณ์ของฉันเช่นเดียวกับบทความ Wikipedia มีเครื่องจักรสถานะ จำกัดหลายชนิดรวมถึง
บางความคิดที่บินไปรอบ ๆ ส่วนใหญ่แตกต่างในแรงจูงใจ บางอย่างเกิดจากภาษาและ / หรือทฤษฎีการคำนวณอื่น ๆ จากสถาปัตยกรรมคอมพิวเตอร์
โปรดทราบว่าคุณยังสามารถเปลี่ยนกระบวนทัศน์ต่าง ๆ เพื่อรับออโตมาตะซึ่งยังคง จำกัด ขอบเขตโดยอัตโนมัติเช่น
อย่างที่คุณเห็นวานิลลาไฟไนต์ออโตมาตะที่สอนใน TCS 101 นั้นเป็นเพียงรสชาติเดียวของหลาย ๆ คนโดยแต่ละคนมีคำจำกัดความของตนเอง
แม้ว่าแนวคิดหลักที่พวกเขาทั้งสองพึ่งพาเหมือนกัน ทั้งสองใช้สถานะที่ จำกัด และข้ามไปยังสถานะอื่นเป็นฟีดอินพุต อย่างไรก็ตาม FSM เป็นเครื่องจักรเช่น full adder หรือ SR flipflop มีบิตเป็นอินพุตและเอาต์พุต ใช่ FSA มีเอาท์พุทบิต 0 สำหรับสถานะไม่สิ้นสุดและ 1 สำหรับการยกเลิกสถานะ แต่มันเป็นกลไกนามธรรมและไม่เห็น มีความแตกต่างใน digraphs ที่วาดเพื่อเป็นตัวแทนของพวกเขา นอกจากนั้น FSA นั้นเป็นอุปกรณ์แบบลอจิคัลและการคำนวณในขณะที่ FSM เป็นอุปกรณ์แบบลอจิคัลแบบดิจิทัล