Na minha experiência, linguagens sensíveis ao contexto e autômatos limitados lineares são freqüentemente ignorados ou ignorados nos cursos de teoria da computabilidade e são deixados de fora de alguns livros de texto notáveis, embora os autômatos finitos e pushdown recebam muita atenção. Certamente deve haver uma boa razão para que os LBAs tenham menos foco do que seus colegas?
9
Respostas:
Agora deve ficar bem claro por que estamos interessados nos dois primeiros mais do que no LBA. Os dois primeiros se encaixam naturalmente na definição usual de computação viável. Mas o PSPACE não.
fonte
Bem, pergunte ao seu professor por que ele fez isso. Eu posso apenas adivinhar.
Eles não são tão interessantes quanto os modelos completos de Turing e o PDA, porque estão no vazio da inutilidade *, eles compartilham, é claro, com seu idioma equivalente: não tão poderoso quanto possível, mas já muito intratável.
Outra razão pode ser que não se saiba tanto (supondo aqui) sobre eles, mas isso pode se resumir a um problema de ovo de galinha.
(*) exagero deliberado
fonte
Parece que não apenas o CSG, mas também o CFG ... estão fora de moda atualmente. Acho que hoje em dia os autômatos e o PDA são geralmente considerados nos cursos de teoria da computabilidade / complexidade (se é que existem) e aí eles são incluídos não por si mesmos, mas para introduzir as Máquinas de Turing.
As gramáticas são provavelmente interessantes para a teoria dos compiladores, mas não tanto para que a computabilidade / complexidade seja incluída em um curso de graduação introdutório. Há muitos tópicos que gostaríamos de abordar, mas um curso de um semestre é muito curto e precisamos selecionar e muitos desses tópicos que não podemos abordar devido às restrições de tempo serem muito mais interessantes do que o LBA.
fonte
Expressões regulares e CFGs são usados na prática para analisar código (ou seja, linguagens de programação). A razão é que existem algoritmos muito eficientes para analisá-los. Os LBAs, por outro lado, são poderosos demais para serem realmente usados nesse contexto.
Uma origem histórica da teoria dos autômatos é o assunto da construção do compilador. Pelo motivo mencionado acima, apenas linguagens regulares e CFGs são úteis para a construção de compiladores (apesar de as gramáticas atribuíveis não serem realmente CFGs e os algoritmos de análise de CFGs não analisarem toda a classe de CFGs). Os LBAs podem ter sido inventados por Chomsky como um nível intermediário de complexidade entre o mundano e o "inglês". Então, talvez o lugar certo para ensiná-los seja nos cursos de lingüística, e não nos de ciência da computação!
fonte