Ho rivisto la teoria del calcolo per divertimento e questa domanda mi ha assillato per un po '(divertente non ci ho mai pensato quando ho imparato la teoria degli automi nei miei studi). Quindi "perché" studiamo esattamente gli automi finiti deterministici e non deterministici (DFA / NFA)? Quindi, ecco alcune risposte che mi sono venute in mente dopo il soliloquing, ma non riesco ancora a vedere il loro contributo complessivo al momento "aha":
- Per studiare ciò che sono e non sono in grado di cioè limitazioni
- Perché?
- Dal momento che sono i modelli di base del calcolo teorico e getterebbero le basi di altri modelli di calcolo più capaci.
- Cosa li rende "di base"? Hanno solo un po 'di memoria e transizioni di stato?
- Va bene, e allora? In che modo tutto ciò contribuisce a rispondere alla domanda di calcolabilità? Sembra che le macchine di Turing aiutino a capirlo davvero bene e ci sono modelli "minori" di calcoli come PDA, DFA / NFA / Regex ecc. Ma se uno non conosceva gli AF, che cosa si stanno perdendo?
Quindi, anche se "capisco" in una certa misura, non sono in grado di rispondere a questa domanda? Come spiegheresti meglio "perché studiare D / N-FA"? Qual è la domanda a cui cercano di rispondere? In che modo aiuta e perché è la prima cosa insegnata nella teoria degli automi?
PS: sono a conoscenza delle varie applicazioni lessicografiche e dei pattern matcher che possono essere implementati come tali. Tuttavia, non desidero sapere a cosa possa essere utilizzato praticamente, ma quale fosse la loro ragione di utilizzo / invenzione / progettazione durante il culmine dello studio della teoria del calcolo. Storicamente parlando che cosa ha portato a iniziare con questo e a quale "aha" comprensione dovrebbe portare? Se dovessi spiegare la loro importanza per gli studenti CS appena iniziando a studiare la teoria degli automi, come hai fatto?