После прочтения недавнего вопроса «Является дополнение Контекстно-свободным?» ; Я вспомнил похожую проблему, которую не смог опровергнуть:
Является ли контекста?
Здесь мы требуем, чтобы две строки отличались как минимум в двух положениях (расстояние Хэмминга должно быть больше ).
Он не зависит от контекста, если нам требуется (т.е. две строки должны просто отличаться).
Я подозреваю, что язык не является контекстно-свободным: если мы пересекаем его с обычным мы получаем случаи, когда КПК должен «запоминать» две позиции в обратном порядке после достижения половины строки.
Обновление: если мы пересекаем с обычным мы получаем язык без контекста, как показал domotorp в своем ответе; чуть более сложный с (еще один "держать трек" из) до сих пор предполагают , что не должно быть контекстно-свободным.
источник
Ответы:
Пересечение сR={0∗10∗10∗10∗∣ слов четной длины } зависит от контекста, потому что КПК может запомнить две позиции. Во всяком случае, давайте сначала посмотрим , что этот язык L является. Его дополнение:
R∖L={0a10b10c10d∣b=n/2∨c=n/2∨a+d=n/2} . Следовательно,
L={0a10b10c10d∣b≠n/2∧c≠n/2∧a+d≠n/2} . Мы можем переписать это как
L={0a10b10c10d∣b>n/2∨c>n/2∨a+d>n/2∨b,c,a+d<n/2} .
Первые3 случая можно легко проверить, как и четвертый.
источник