Regularidade do meio exato das palavras de um idioma regular


8

Deixei Lser uma linguagem regular.
É o idiomaL2={y:∃x,z  s.t.|x|=|z| and xyz∈L} regular?

Eu sei que é muito semelhante à pergunta aqui , mas o problema é que não é uma simples substring de uma palavra em uma linguagem comum, mas um "meio exato" - temos que contar o comprimento do prefixo e do sufixo.

Portanto, presumo que não seja regular, mas não consegui encontrar uma maneira de provar isso. Eu também não conseguia pensar em nenhuma maneira de modificar o NFA deL aceitar L2.


"meio exato" parece sugerir |x|=|y|=|z|? A propósito, isso também será regular!
— Hendrik Jan

Você já tentou as coisas da nossa pergunta de referência ?
— Raphael

Respostas:


6

Dica: considere algum DFA para L. Para cadan≥0, deixei An seja o conjunto de estados sde modo que exista alguma palavra de comprimenton o que leva o DFA do estado inicial para s. DeixeiBn seja o conjunto de estados tde modo que exista alguma palavra de comprimenton que leva o DFA de tpara um estado de aceitação. Finalmente, para dois estadoss,t, deixei Rs,t ser o conjunto (regular) de palavras que conduzem o DFA de s para t. Nós temos

L2=⋃n≥0⋃s∈Ant∈BnRs,t.
Uma vez que existem apenas finitas possibilidades para s,t, a união é de fato finita e muito regular.

3

Let ser um DFA para . Sem perda de generalidade, assume . Construímos um ε-NFA para da seguinte maneira:D=(Q,Σ,δ,q0,F)LqS,qF∉QN=(Q∪{qS,qF},Σ,Δ,qS,{qF})L2

Localizar cada caminho em de para qualquer . Para cada caminho, constrói os caminhos para (isto é, faça todas as “partes do meio” do caminho). Isso pode ser feito efetivamente. Construa combinando todos esses caminhos, juntamente com:Dq0f∈Fpk:q0=qk,0→αk,1qk,1→αk,2…→αk,iqk,i→αk,i+1…→αk,nkqk,nkpk(i):qk,i→αk,i+1qk,i+1→αk,i+2…→αk,nk−iqk,nk−i0≤i≤nk2Δ

  • (qS,ε,qk,i) para todos os como acimai
  • (qk,nk−i,ε,qF) para todos os como acimai

L(N) é regular por construção.

O esboço de prova de que : Seja . Por construção, sabemos que deve corresponder a pelo menos um dos caminhos acima. Cada um desses caminhos pertence a um caminho em , que contém um prefixo e sufixo adicionais de comprimento . Escolha como a palavra descrita por esse prefixo e a descrita pelo sufixo. Achamos que , com . Com raciocínio semelhante encontramos para cada um caminho em . Deixe seja o comprimento de eL(N)=L2w∈L(N)wpk(i)Dixyxwy∈L|x|=|y|=iw∈L2Nixypertencente a . para alguns formulários .wpk(i)kw

Assim, .L(N)=L2


Como existem infinitos caminhos, a observação "Isso pode ser feito com eficiência" parece precisar de alguma explicação. Observe que não é estritamente necessário usar essa propriedade; veja a resposta de Yuval, que (para mim) é uma versão "ineficaz" do mesmo argumento.
— Hendrik Jan

Você está certo. Você não precisa considerar loops duas vezes. O próximo ponto crítico parece existir algum pertencente a , pois, ao combinar os caminhos, podem surgir novos caminhos. Veja bem, eu não revi minuciosamente minha prova, mas acredito que todas essas questões poderiam ser resolvidas. pk(i)w
— Ipsec
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.