É possível derivar uma string nesse sistema de reescrita?

11

Sistema de reescrita é um conjunto de regras na forma de . Se aplicarmos essa regra a uma string w , substituiremos qualquer substring A em w por um substring B e vice-versa.UMABWUMAWB

Dada uma sequência inicial podemos derivar B A A B no sistema com as seguintes regras:UMAUMAUMABBBUMAUMAB

  • UMABUMA
  • BUMABUMAUMAUMABB
  • UMAUMAUMAUMAB
  • BUMAUMAB

Existe um algoritmo geral para isso?

Daniil
fonte
Eu gostaria que você pudesse adicionar mais tags a esta pergunta ou alterar o conjunto de regras para torná-la mais legal.
Daniil
1
@JD Eu acho que, em geral, este problema reescrevendo não pode ser resolvido, porque você pode modelar máquina de Turing com o sistema tal reescrever e problema derivação == problema da parada na TM
Daniil
@ Ah ah, isso faz sentido, eu deveria ler mais sobre isso, obrigado!
Daniil
@Daniil e futuros leitores: O problema indecidível usado é o problema de correspondência posterior .
Jmad
Essa é essencialmente a idéia de algoritmo de Markov.
vonbrand

Respostas:

7

Observe que a paridade do número de s não muda. Como uma string contém um número ímpar A e a outra par, elas não são alcançáveis.UMAUMA

Acredito em geral (para um conjunto arbitrário de regras, não seu exemplo específico), é provável que seja um problema indecidível. Se as transformações são unidirecionais (ou seja, regras no formato ), é assim, por exemplo, consulte: Sistema de etiquetas .UMABUMA

Aryabhata
fonte
1
Sim, IIRC, é indecidível porque você pode modelar uma TM com um conjunto específico de regras de reescrita.
Daniil