É sabido que o complemento de é livre de contexto. Mas e o complemento de ?
É sabido que o complemento de é livre de contexto. Mas e o complemento de ?
Respostas:
Ainda CFL eu acredito, com uma adaptação da prova clássica. Aqui está um esboço.
Considere , que é o complemento de , com as palavras de comprimento não mod removidas.
Seja . Claramente, é CFL, já que você pode adivinhar uma posição considerar que termina depois disso. Mostramos que .
Portanto, em , esta é a posição:
Se , então seja o primeiro caracteres de, de modo queé; é o resto de. Então:
Aqui está a maneira como penso em resolver esse problema, com um PDA. Na minha opinião, é intuitivamente mais claro.
Uma palavra não tem a forma se (i) (mod 3), que é fácil de verificar, ou (ii) existe algum símbolo de entrada que difere do símbolo correspondente que ocorre posições mais tarde.
Usamos o truque usual de usar a pilha para manter um número inteiro , tendo um novo símbolo "parte inferior da pilha" , armazenando o valor absoluto como o número de contadores na pilha e sgn ( ) pelo estado do PDA. Assim, podemos incrementar ou diminuir fazendo a operação apropriada.
O objetivo é usar o não determinismo para adivinhar as posições dos dois símbolos que você está comparando e usar a pilha para registrar , onde é a distância entre esses dois símbolos.
Realizamos isso da seguinte maneira: incremente para cada símbolo visto até que o primeiro símbolo adivinhado seja escolhido e registre no estado. Para cada símbolo de entrada subsequente, até você decidir que viu , diminua em ( para o comprimento da entrada e para a distância). Adivinhe a posição do segundo símbolo registre se . Continue incrementando para os símbolos de entrada subsequentes. Aceite se (detectável por na parte superior) e .
O bom disso é que deve ficar completamente claro como estender isso a poderes arbitrários.
Apenas uma perspectiva diferente ("orientada para a gramática") para provar que o complemento de é CF para qualquer fixo usando propriedades de fechamento.
Primeira nota que no complemento de sempre existe tal que . Focamos em e começamos com uma gramática simples de CF que gera:
Por exemplo, para , temos ,
Em seguida, aplique o fechamento sob homomorfismo inverso e união :
Primeiro homomorfismo:
Segundo homomorphism:
ainda está livre de contexto
Aplique o fechamento sob turnos cíclicos em para obter o conjunto de cadeias de comprimento não da forma :
.
Por fim, adicione o conjunto regular de strings cujo comprimento não é divisível por para obter exatamente o complemento de :