Estes são contra-exemplos válidos para provas de idiomas CF com complementos não CF?

7

Alguém pediu exemplos de linguagens sem contexto com complementos sem contexto .

A primeira resposta diz:

O idioma eu1 1={WWW{uma,b}}não é livre de contexto (como pode ser mostrado usando o lema de bombeamento; veja aqui ). Seu complementoeu2={uma,b}eu1 1é livre de contexto (como mostrado aqui ).

Talvez, na realidade, isso seja verdade, mas, dadas as informações acima, não estou convencido de que este seja um exemplo válido de tal linguagem. Eu já provei antes dissoeunão é CF, então não tenho nenhum problema em aceitar isso. No entanto, o CFG e a prova fornecida paraeu2está errado. Eu posso dar um contra-exemplo realmente simples: quando a strings=umaumaumabumauma. Claramenteseu2 porque não é da forma WW. Contudo,s não pode ser construído usando o CFG descrito para eu2.

Prova: a sequência s não é da forma UMA ou Bjá que o comprimento da string é par. Portanto, deve ser da formaUMAB ou BUMA, mas isso é impossível porque as duas metades da sequência têm o mesmo caractere (uma) no centro. Portantoseu2, o que é uma contradição.

A segunda resposta diz:

O exemplo que você vê na Wikipedia: put UMA={umanbncm}, B={umambncn}. É fácil verUMA¯ e B¯são livres de contexto, definindo um PDA; você pode observar que são linguagens determinísticas livres de contexto, que é uma classe fechada sob complemento. PortantoUMA¯B¯ é uma linguagem livre de contexto com um complemento sem contexto UMAB={umanbncn}.

Este é ainda mais fácil de contestar. Claro, linguagens livres de contexto determinísticos são fechados sob complemento, mas eles estão não fechada sob união. Portanto, o idiomaUMA¯B¯ não é necessariamente livre de contexto.

Atualmente, ainda estou usando a Teoria da Computação, então talvez eu tenha entendido algo errado ou ignorado alguma verdade óbvia. Alguém pode contestar minhas reivindicações? Caso contrário, você pode fornecer um exemplo válido de uma linguagem CF com um complemento não CF?

bebês solares
fonte

Respostas:

8

Para a primeira pergunta, umaumaumabumauma é gerado pela gramática:

SUMABumaBusando UMAumaumaumaBumausando BumaBumaumaumaumaBumaumausando BumaBumaumaumaumabumaumausando Bb.
Sua tentativa de provar o contrário é incorreta porque você assume que, quando a string é dividida como UMAB, a parte gerada por UMA deve ter o mesmo comprimento da peça gerada por B. Como mostra a derivação acima, isso não é verdade.

Para o segundo, você está certo de que a classe de CFLs determinísticas não está fechada sob união. No entanto, a classe de CFLs é fechada em união. Ou seja, a união de dois DCFLs não é necessariamente uma DCFL, mas é definitivamente uma CFL. O argumento "UMA¯ e B¯ são deterministas livres de contexto, portanto, são livres de contexto, então UMA¯B¯ é livre de contexto "está implícito na prova que você cita.

David Richerby
fonte