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


11

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

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

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

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


Буду признателен, если вы добавите больше тегов к этому вопросу или измените набор правил, чтобы он выглядел круче.
Даниил

1
@ JD Я думаю, что в целом эта проблема переписывания не может быть решена, потому что вы можете смоделировать машину Тьюринга с такой системой переписывания и проблемой деривации == проблема остановки в TM
Даниил

@ JD ах, это имеет смысл, я должен прочитать больше об этом, спасибо!
Даниил

@Daniil и будущие читатели: неразрешимая проблема - это проблема почтовой корреспонденции .
Джмад

По сути это марковская идея алгоритма.
vonbrand

Ответы:


7

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

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


1
Да, IIRC, это неразрешимо, потому что вы можете смоделировать TM с определенным набором правил переписывания.
Даниил
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.