Saya telah merevisi Teori Komputasi untuk bersenang-senang dan pertanyaan ini telah mengganggu saya untuk sementara waktu (lucu tidak pernah memikirkannya ketika saya belajar Teori Automata di sarjana saya). Jadi "mengapa" tepatnya kita mempelajari automata terbatas deterministik dan non-deterministik (DFA / NFA)? Jadi, inilah beberapa jawaban yang saya dapatkan setelah soliloquing tetapi masih gagal melihat kontribusi keseluruhan mereka pada momen 'aha':
- Untuk mempelajari apa mereka dan tidak mampu yaitu keterbatasan
- Mengapa?
- Karena mereka adalah model dasar perhitungan teoretis dan akan meletakkan dasar model komputasi yang lebih mampu lainnya.
- Apa yang membuat mereka 'dasar'? Apakah mereka hanya memiliki sedikit penyimpanan dan transisi status?
- Oke, lalu bagaimana? Bagaimana semua ini berkontribusi untuk menjawab pertanyaan tentang komputabilitas? Tampaknya mesin Turing membantu memahami hal ini dengan sangat baik dan ada model perhitungan yang lebih rendah seperti PDA, DFA / NFAs / Regexes dll. Tetapi jika seseorang tidak tahu FAs apa yang mereka lewatkan?
Jadi meskipun saya 'mengerti' sampai batas tertentu, saya tidak dapat menjawab pertanyaan ini untuk diri saya sendiri? Bagaimana sebaiknya Anda menjelaskan 'mengapa belajar D / N-FA'? Apa pertanyaan yang ingin mereka jawab? Bagaimana ini membantu dan mengapa hal itu diajarkan pertama kali dalam Teori Automata?
PS: Saya mengetahui berbagai aplikasi leksikografis dan pencocokan pola yang dapat diimplementasikan. Namun, saya tidak ingin tahu apa yang bisa digunakan untuk praktis tetapi apa alasan mereka untuk menggunakan / penemuan / desain selama kulminasi mempelajari teori perhitungan. Secara historis berbicara apa yang menyebabkan seseorang memulai dengan ini dan apa pengertian 'aha' yang seharusnya dituju? Jika Anda menjelaskan pentingnya mereka kepada siswa CS yang baru mulai mempelajari Teori Automata, bagaimana Anda melakukannya?