Tôi đã xem lại Lý thuyết tính toán cho vui và câu hỏi này đã làm tôi khó chịu trong một thời gian (buồn cười không bao giờ nghĩ về nó khi tôi học Lý thuyết Automata khi học đại học). Vậy "tại sao" chính xác là chúng ta nghiên cứu automata hữu hạn xác định và không xác định (DFA / NFA)? Vì vậy, đây là một số câu trả lời tôi đã đưa ra sau khi giải trí nhưng vẫn không thấy đóng góp chung của họ cho khoảnh khắc 'aha':
- Để nghiên cứu những gì họ đang có và không có khả năng tức là những hạn chế
- Tại sao?
- Vì chúng là các mô hình cơ bản của tính toán lý thuyết và sẽ đặt nền tảng của các mô hình tính toán có khả năng khác.
- Điều gì làm cho chúng 'cơ bản'? Có phải là họ chỉ có một chút lưu trữ và chuyển trạng thái?
- Được rồi, vậy thì sao? Làm thế nào để tất cả những điều này góp phần trả lời câu hỏi về khả năng tính toán? Có vẻ như các máy Turing giúp hiểu điều này thực sự tốt và có những mô hình tính toán 'nhỏ hơn' như PDA, DFA / NFA / Regexes, v.v. Nhưng nếu người ta không biết FA thì họ đang bỏ lỡ điều gì?
Vì vậy, mặc dù tôi 'hiểu được' ở một mức độ nào đó, tôi không thể tự trả lời câu hỏi này? Làm thế nào tốt nhất bạn sẽ giải thích 'tại sao nghiên cứu D / N-FA'? Câu hỏi họ tìm cách trả lời là gì? Nó giúp ích như thế nào và tại sao nó là điều đầu tiên được dạy trong Lý thuyết Automata?
Tái bút: Tôi biết về các ứng dụng từ điển và trình so khớp mẫu khác nhau có thể được triển khai như vậy. Tuy nhiên, tôi không muốn biết nó có thể được sử dụng cho thực tế nhưng lý do sử dụng / phát minh / thiết kế của họ là gì trong thời kỳ đỉnh cao của việc nghiên cứu lý thuyết tính toán. Trong lịch sử nói điều gì đã khiến người ta bắt đầu với điều này và sự hiểu biết về 'aha' là gì để dẫn đến? Nếu bạn muốn giải thích tầm quan trọng của họ đối với sinh viên CS mới bắt đầu học Lý thuyết Automata, bạn sẽ làm thế nào?