Devo determinare se una lingua (ad esempio L = {a^nb^mc^s | 0 < = n < = m < = s}) è regolare, senza contesto, ricorsiva, ricorsiva enumerabile o nessuna di esse .Come determinare se una lingua è ricorsiva o enumerabile in modo ricorsivo?
So come determinare se una lingua è regolare (trova un DFA o un'espressione regolare che funziona) o privo di contesto (trova un PDA o una grammatica context-free che funzioni); So che un linguaggio ricorsivo ha una macchina di Turing che si arresta sempre e che un linguaggio ricorsivamente enumerabile ha una macchina di Turing che non può fermarsi.
Quindi la domanda è: esiste un criterio veloce per determinare se la lingua è ricorsiva o ricorsivamente enumerabile o nessuno dei due? Per esempio, non devo costruire un PDA per capire che un linguaggio è privo di contesto, non posso vederlo dal fatto che richiede uno stack; c'è un simile approccio veloce al problema (che si spera risparmi il problema di costruire una macchina di Turing)?
Che certo non è la risposta che speravo : (anche se chiarisce alcuni dubbi che ho avuto, quindi grazie! Quindi, se dovessi risolvere l'esempio che ho scritto all'inizio, come procederesti (sapendo che non è privo di contesto)? – Jacob
@ Jacob- Are sei sicuro che non sia privo di contesto? – templatetypedef
Piuttosto sicuro, sì .. Il lemma del pompaggio dovrebbe escluderlo, inoltre non riesco a trovare una grammatica che funzioni. – Jacob