Existem outras maneiras de descrever linguagens formais que não sejam gramáticas?

22

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.

mtanti
fonte
Observe que existem muitos tipos de gramática além dos clássicos de Chomsky, por exemplo , gramáticas múltiplas , acopladas e dependentes de comprimento , sem contexto, respectivamente (facilmente passíveis de indexação).
Raphael
Encontrou alguma tabela
Anton

Respostas:

14

Existem muitas possibilidades. Outros já mencionaram autômatos que oferecem uma rica seleção. Considere também as seguintes estruturas:

  1. Algumas línguas podem ser definidas diretamente por definições (co) indutivas . Por exemplo, o menor ponto fixo de
    é o mesmo idioma descrito por(baa), o maior ponto de fixação é(baa)ω. Observe que essa definição também pode ser escrita naforma deregra decálculo ouinferência:uma εeuWeuumaWeuumaWeubumaWeuuma
    (bumauma)(bumauma)ω
    umaε,WumaW,umaWbumaWuma

  2. 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 NDW={1,...,n}Puma:D{0 0,1}Puma(Eu)WEu=umaumaΣ<<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ãoDWsuc:DW×DW{0 0,1}
    W=umaumabumabumaumab
    fato, essafórmula de primeira ordemdefine --- através do conjunto de todas as estruturas de palavras que a preenchem --- o mesmo idioma que(baa). Alinguagemωcorrespondente(baa)ωé descrita pelafórmula LTLaSwi.j. (Pb(i)  suc(i,j))¬Pb(j);a
    (baa)ω(baa)ω
    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.a(Pb(¬Pb))a
    ω

  3. 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ΣX={x1,x2,}p(ΣX)+H={σσ:XΣ}p
    Observe queσé estendido para trabalhar em padrões; os símbolos do terminal permanecem inalterados. Como exemplo, considereL(x1abbax1)={wabbaww{a,b}}.aL(p)={σ(p)σH}.a
    σ
    eu(x1umabbumax1)={WumabbumaWW{uma,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 .

Rafael
fonte
5

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 .

Riccardo T.
fonte
5

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. Gramática regular
  2. Autômato finito (determinístico / não determinístico)
  3. Expressão regular

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:

  1. Gramática livre de contexto
  2. Autômato de empilhamento

Também 1. e 2. são equivalentes.

Uma linguagem formal sensível ao contexto pode ser descrita por:

  1. Autômato delimitado linear (máquina de Turing com fita restrita)

Uma linguagem formal recursivamente enumerável pode ser descrita por:

  1. Máquina de Turing total
Anton
fonte
E todas as outras aulas de idiomas?
Raphael
E as línguas sem classes?
Dave Clarke
Chomsky não diz que esses são os únicos tipos de idiomas - eles são apenas quatro tipos que ele considera importantes, e ainda os achamos importantes, mas existem muitos outros tipos.
Reinierpost 24/09
5

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.

Sam Jones
fonte