ฉันได้ทบทวนทฤษฎีการคำนวณเพื่อความสนุกสนานและคำถามนี้ก็จู้จี้กับฉันมาระยะหนึ่งแล้ว (ตลกไม่เคยคิดเลยเมื่อฉันเรียนรู้ทฤษฎี Automata ในระดับปริญญาตรีของฉัน) ดังนั้น "ทำไม" เราจึงศึกษาออโต้ จำกัด (DFA / NFAs) ที่กำหนดและไม่ จำกัด อย่างแน่นอน ดังนั้นนี่คือคำตอบบางอย่างที่ฉันเกิดขึ้นหลังจากการแก้ปัญหา แต่ยังไม่เห็นการสนับสนุนโดยรวมของพวกเขาในช่วงเวลา 'aha':
- เพื่อศึกษาว่าพวกเขาคืออะไรและไม่สามารถ จำกัด ข้อ จำกัด เช่น
- ทำไม?
- เนื่องจากเป็นโมเดลพื้นฐานของการคำนวณเชิงทฤษฎีและจะวางรากฐานของโมเดลการคำนวณที่มีความสามารถมากกว่าอื่น ๆ
- อะไรทำให้พวกเขา 'พื้นฐาน' พวกเขามีที่เก็บข้อมูลเพียงหนึ่งบิตและการเปลี่ยนสถานะหรือไม่?
- โอเคอะไรนะ? ทั้งหมดนี้ช่วยตอบคำถามเกี่ยวกับความสามารถในการคำนวณอย่างไร ดูเหมือนว่าเครื่องทัวริงจะช่วยให้เข้าใจได้ดีและมีการคำนวณแบบ 'น้อยกว่า' เช่น PDAs, DFA / NFAs / Regexes เป็นต้น แต่หากไม่มีใครรู้ FAs สิ่งที่พวกเขาขาดหายไปคืออะไร?
ดังนั้นแม้ว่าฉันจะ 'เข้าใจ' บ้าง แต่ฉันไม่สามารถตอบคำถามนี้กับตัวเองได้? คุณจะอธิบายได้ดีที่สุดว่า 'ทำไมต้องเรียน D / N-FAs' คำถามที่พวกเขาพยายามจะตอบคืออะไร มันช่วยได้อย่างไรและทำไมมันเป็นสิ่งแรกที่สอนในทฤษฎีออโตมาตะ?
PS: ฉันตระหนักถึงแอปพลิเคชันพจนานุกรมและรูปแบบการจับคู่รูปแบบต่าง ๆ ที่สามารถนำมาใช้ได้เช่นนี้ อย่างไรก็ตามฉันไม่ต้องการรู้ว่ามันสามารถใช้งานอะไรได้บ้าง แต่อะไรคือเหตุผลของการใช้ / การประดิษฐ์ / การออกแบบในช่วงสุดท้ายของการศึกษาทฤษฎีการคำนวณ การพูดในอดีตสิ่งที่นำไปสู่การเริ่มต้นด้วยสิ่งนี้และความเข้าใจ 'aha' ควรนำไปสู่อะไร? หากคุณต้องอธิบายความสำคัญของพวกเขาให้กับนักเรียน CS เพียงแค่เริ่มเรียนทฤษฎีออโตมาต้าคุณจะทำอย่างไร