Можно ли получить строку в этой системе перезаписи?

11

Переписывание системы представляет собой набор правил в виде . Если мы применим это правило к строке мы заменим любую подстроку в подстрокой и наоборот.AВвесAвесВ

Учитывая начальную строку мы можем получить в системе по следующим правилам:AAAВВВAAВ

  • AВA
  • ВAВAAAВВ
  • AAAAВ
  • ВAAВ

Есть ли общий алгоритм для этого?

Daniil
источник
Буду признателен, если вы добавите больше тегов к этому вопросу или измените набор правил, чтобы он выглядел круче.
Даниил
1
@ JD Я думаю, что в целом эта проблема переписывания не может быть решена, потому что вы можете смоделировать машину Тьюринга с такой системой переписывания и проблемой деривации == проблема остановки в TM
Даниил
@ JD ах, это имеет смысл, я должен прочитать больше об этом, спасибо!
Даниил
@Daniil и будущие читатели: неразрешимая проблема - это проблема почтовой корреспонденции .
Джмад
По сути это марковская идея алгоритма.
vonbrand

Ответы:

7

Обратите внимание, что соотношение числа s не меняется. Поскольку одна строка содержит нечетное число а другая четная, они недоступны.AA

Я считаю, что в целом (для произвольного набора правил, а не для вашего конкретного примера) это, вероятно, будет неразрешимой проблемой. Если преобразования односторонние (то есть правила вида ), то это так, например, см .: Система тегов .AВA

Арьябхата
источник
1
Да, IIRC, это неразрешимо, потому что вы можете смоделировать TM с определенным набором правил переписывания.
Даниил