Estou procurando teorias matemáticas que lidam com a descrição de linguagens formais (conjunto de strings) em geral e não apenas hierarquias gramaticais.
Estou procurando teorias matemáticas que lidam com a descrição de linguagens formais (conjunto de strings) em geral e não apenas hierarquias gramaticais.
Respostas:
Existem muitas possibilidades. Outros já mencionaram autômatos que oferecem uma rica seleção. Considere também as seguintes estruturas:
Algumas línguas podem ser definidas diretamente por definições (co) indutivas . Por exemplo, o menor ponto fixo de
é o mesmo idioma descrito por(ba∣a)∗, o maior ponto de fixação é(ba∣a)ω. Observe que essa definição também pode ser escrita naforma deregra decálculo ouinferência:
Palavras definem estruturas de palavras que podem ser usadas como modelos de fórmula lógica . Essencialmente, toda palavra define o domínio de suas posições , predicados P a : D → { 0 , 1 }, de modo que P a ( i ) ⟺ w i = a para todos a ∈ Σ , um predicado < que é < de Nrestrita a e um predicado suc : D w × D w → { 0 , 1 } que é verdadeira se e somente se o segundo parâmetro é o sucessor direto do punho.
Assim, por exemplo, se w = a a b a b a a b então
fato, essafórmula de primeira ordemdefine --- através do conjunto de todas as estruturas de palavras que a preenchem --- o mesmo idioma que(ba∣a)∗. Alinguagemωcorrespondente(ba∣a)ωé descrita pelafórmula LTL
São conhecidas várias equivalências entre as classes de idioma clássico e certas lógicas. Por exemplo,FOcorresponde a linguagens livres de estrelas, fracoMSOpara linguagens regulares eMSOparawlínguas -Regular. Vejaaquipara referências.
Algo ortogonal às classes clássicas são linguagens de padrões . Suponha um alfabeto terminal e um alfabeto variável X = { x 1 , x 2 , … } . Uma corda p ∈ ( Σ ∪ X ) + é chamado de padrão . Seja H = { σ ∣ σ : X → Σ ∗ } o conjunto de substituições. Definimos a linguagem de um padrão p como
Observe queσé estendido para trabalhar em padrões; os símbolos do terminal permanecem inalterados.
Como exemplo, considereL(x1abbax1)={wabbaw∣w∈{a,b}∗}.
Observe que permitimos que as substituições excluam variáveis; algumas propriedades da classe de linguagens de padrões são muito diferentes para excluir ou não excluir substituições. As linguagens de padrões são de particular interesse na aprendizagem ao estilo Gold .
Você deve dar uma olhada na teoria dos autômatos . Há muito material sobre isso.
Por exemplo, você pode definir uma linguagem regular com um autômato finito não determinístico com bordas rotuladas: uma sequência pertence ao idioma se o autômato puder seguir as transições rotuladas por seus caracteres e parar no estado final.
Além disso, uma gramática livre de contexto pode ser reconhecida por um autômato de empilhamento .
Outra maneira de definir linguagens é por meio de máquinas de Turing .
Na hierarquia de Chomsky, existem quatro tipos de linguagens formais (cada uma delas é um subconjunto das seguintes):
Uma linguagem formal regular pode ser descrita por:
1., 2. e 3. são equivalentes e de um deles você pode construir os outros.
Uma linguagem formal sem contexto pode ser descrita por:
Também 1. e 2. são equivalentes.
Uma linguagem formal sensível ao contexto pode ser descrita por:
Uma linguagem formal recursivamente enumerável pode ser descrita por:
Além das outras respostas, é possível descrever e classificar os idiomas em termos de "geradores" e propriedades de fechamento. Por exemplo, faz sentido falar sobre o menor AFL gerado por algum idioma. Um bom lugar para começar a aprender sobre esse tipo de descrição é este livro, embora possa ser bastante difícil encontrar uma cópia impressa dele.