Сложность пересечения регулярных языков как контекстно-свободных грамматик


20

При заданных регулярных выражениях , существуют ли нетривиальные ограничения на размер наименьшей контекстно-свободной грамматики для R 1 ∩ ⋯ ∩ R n ?R1,…,RnR1∩⋯∩Rn


??? пытаясь визуализировать это. есть какая-то хитрость? пересечение правильное. можно найти минимальный DFA (по количеству состояний) с помощью стандартных методов, которые также являются CFG. Rn
— vzn

@vzn: ты прав. Проблема в том, что этот DFA и, следовательно, CFG могут быть очень большими. Мне интересно, можно ли использовать дополнительную мощность CFG для получения более краткого описания пересечения.
— Макс

не догадка подозревать, что каждый CFL, который распознает (то есть эквивалентен) RL, не использует свой стек или может быть преобразован в тот, который не увеличивает состояния, и минимальный такой PDA (по количеству состояний) имеет тот же размер, что и минимальный DFA. никогда не слышал / не видел доказательств этого. это может быть не сложно? более простой вопрос, есть ли PDA, который распознает RL, который меньше, чем DFA? не думай
— ВЗН

@vzn: Полезная гипотеза, но ложная: пусть будет подмножеством языков Дика в скобках двух типов, где максимальная глубина вложения равна k . Существует CFG для L k размера O ( k ) , но минимальный DFA (даже, я думаю, минимальный NFA) имеет размер O ( 2 k ) . LkkLkO(k)O(2k)
— Макс

Дейк-языки - это КЛЛ, а не КЛ ...? но видите, что вы ограничиваете максимальную глубину вложения ... так что же вы можете создать тот же язык с пересечениями RL? что / где доказательство того, что минимальный DFA такой большой? это состояний ? Вы не определяете критерии минимальности или где-либо еще, а состояния воспринимаете как естественный случай, но часто это не единственный случай. O(2k)
— vzn

Ответы:


6

Это отличный вопрос, и он действительно входит в мои интересы. Я рад, что ты спросил это Макс.

Пусть дано DFA с не более чем O ( n ) состояниями. Было бы хорошо, если бы существовал КПК с субэкспоненциально большим количеством состояний, который принимает пересечение языков DFA. Однако я полагаю, что такой КПК не всегда может существовать.nO(n)

Рассмотрим язык копирования. Теперь ограничимся копированием строк длиной n.

Формально рассмотрим копию : = { x xn:= .{xx|x∈{0,1}n}

Мы можем представить копию как пересечение n DFA с размером не более O ( n ) . Однако самый маленький DFA, который принимает n- копию, имеет 2 Ω ( n ) состояний.nnO(n)n2Ω(n)

Точно так же, если мы ограничимся алфавитом бинарного стека, то я подозреваю, что наименьший КПК, который принимает копию, имеет экспоненциально много состояний.n

PS Не стесняйтесь, присылайте мне по электронной почте, если вы хотите обсудить дальше. :)


5

Я не думаю, что могут быть какие-либо нетривиальные нижние или верхние границы.
Для нижних оценок рассмотрим язык для фиксированного k . Размер наименьшей контекстно-свободной грамматики является логарифмическим по размеру регулярного выражения L 1 , тогда как размер наименьшего автомата для L 1 является линейным по размеру регулярного выражения L 1 . Эта экспоненциальная разница остается неизменной, если мы пересекаем L 1 с другими такими языками. Для верхних границ рассмотрим язык L 2 , состоящий ровно из одногоL1={a2k}kL1L1L1L1
L2Дебрюйн-последовательность длиной . Известно, что размер наименьшей грамматики для L 2 является наихудшим, то есть O ( nnL2, поэтому разница с «наименьшим» автоматом дляL2является просто логарифмическим фактором, предложение 1 вO(nlog⁡n)L2

Нетривиальная общая нижняя или верхняя граница противоречила бы этим результатам, так как то, что верно для пересечения языков, должно быть верно для пересечения 1 языка.n1


Замечание о размере наименьшей грамматики для единственной последовательности Дебрюйна довольно интересно. Не могли бы вы предоставить ссылку. Спасибо.
— Майкл Вехар

Кроме того, я могу ошибаться, но кажется, что вы рассматривали проблему только для одного регулярного выражения (а не продукта регулярных выражений)?
— Майкл Вехар

n

1
Спасибо! Вы смогли описать конкретный пример. Вот простое замечание, приводящее к существованию таких примеров. Пусть п будет дано. Есть 2 ^ n строк длины n. Кроме того, существует не более 2 ^ n машин Тьюринга с не более чем n / log (n) состояниями. Следовательно, некоторая строка x длины n такая, что ни одна машина Тьюринга с числом состояний меньше n / log (n) не принимает язык {x}. Следовательно, {x} принимается DFA с n состояниями и не может быть принято PDA с менее чем n / log (n) состояниями.
— Майкл Вехар

5

Позвольте мне высказать второе мнение Майкла, это действительно интересный вопрос. Основная идея Михаэля может быть объединена с результатом из литературы, таким образом обеспечивая подобную нижнюю границу строгим доказательством.

nk

2k+12k+1sO(s2)O(4k)

2Ω(k/log⁡k)

Ln={wwRw∈{a,b}∗∣|w|=n}wRwLn2n+1

  • ri=(a+b)ia(a+b)2(n−i−1)a(a+b)∗+(a+b)ib(a+b)2(n−i−1)b(a+b)∗1≤i≤n
  • si=(a+b)∗a(a+b)2(n−i−1)a(a+b)i+(a+b)∗b(a+b)2(n−i−1)b(a+b)i1≤i≤n
  • ℓ=(a+b)3n

kO(n2)

Ln2n/(2n)=2Ω(k/log⁡k)2nnn/(2n)

O(4n)

Ссылки:

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