Эта новая версия - где K=K′ - разрешима.
Покажем, что язык L:=⋃k≥1(Ak ∩ Bk) является КЛЛ. Тогда разрешимость следует из разрешимости пустоты КЛЛ.
Мы будем разрабатывать КПК принимать . На входе , этот КПК будет пытаться построить два факторизации , один с использованием слова , и другие , используя слова . Он будет использовать счетчик в стеке, чтобы гарантировать, что эти две факторизации имеют одинаковую длину. Концептуально я буду ссылаться на факторизацию так, чтобы она находилась на вершине а факторизация на сидение внизу . Тогда в стеке будет счетчиков, если абсолютное значение разности числа слов, сопоставленных сверху, минус количество слов снизу равноx x A B A x x B x n n n A BLxxABAxxBxnn . Нам нужно другое состояние PDA, чтобы записать, какой соответствующий знак соответствует (который говорит нам, если -факторизация длиннее, чем -факторизация, или наоборот).nAB
Просматривая буквы , мы недетерминированно угадываем слово из и слово из с которого начинается эта буква. Как только мы угадаем, мы стремимся сопоставить остальные и с ; если в какой-то момент наше совпадение окажется неудачным, мы остановимся на этом недетерминированном выборе. Таким образом, мы также поддерживаем в состоянии нашего КПК суффикс и который остается соответствующим.t A u B t u x t uxtAuBtuxtu
Поскольку мы сканируем дальнейшие буквы, мы продолжаем сопоставление, пока не достигнем конца или конца (или обоих). Когда мы достигаем конца слова, мы соответствующим образом обновляем стек, а затем подбираем новое слово для соответствия либо сверху, либо снизу (или обоим).уtu
Мы принимаем, если суффиксы, оставшиеся для сопоставления, пусты как сверху, так и снизу, и в стеке нет счетчиков.
Мы можем эффективно построить этот КПК, поэтому мы можем эффективно решить, принимает ли он что-нибудь или нет (например, путем эффективного преобразования в грамматику и последующего использования обычного метода, чтобы увидеть, генерирует ли G что-нибудь).G
Изменить: Можно также превратить это в верхнюю границу, насколько большой может быть, в худшем случае. Я думаю , он должен дать верхнюю границу чего - то примерно как , где есть сумма длин слов в и .2 O ( l 2 ) l A Bk2O(l2)lAB
Редактировать: теперь я вижу, что требование, чтобы и были конечными множествами, также могло быть ослаблено, к требованию, чтобы и были регулярными (возможно, бесконечными). В этом случае вместо сохранения суффикса, оставшегося для сопоставления в «верхнем» и «нижнем», вместо этого мы сохраняем состояния соответствующего DFA, в котором мы находимся, после обработки префикса возможного сопоставленного слова. Если мы достигаем конечного состояния в «верхнем» или «нижнем», мы можем недетерминированным образом вернуться к начальному состоянию для нового угаданного слова. B A BABAB