Розбір CFG з використанням простору


18

Існує безліч алгоритмів, які можуть розібрати без контексту граматику за час . Використовуючи матричне множення, можна навіть пройти асимптотично швидше.О(н3)

Однак усі алгоритми для розбору довільних CFG, які я знаю, мають найгірший простір у використанні простору (хоча, правда, я не маю поняття, що таке використання простору цього алгоритму множення матриці). Мені було цікаво, чи існують які-небудь алгоритми, які покращують використання цього простору (так що не враховуючи обмежений час).Ω(н2)

Питання з’явилося мені в голові після того, як подумки зв'язали з простором пов'язаним з усіма мені відомими алгоритмами розбору CFG. Це, мабуть, не представляє ніякого практичного інтересу, але це просто те, що мені було б цікаво знати.СSГ=NDSПАСЕ(н)DSПАСЕ(н2)Ω(н2)


5
Не знаєте про всі інші алгоритми розбору, але ті, що базуються на множенні матриць, займають простір; дивіться: cstheory.stackexchange.com/questions/1313/…Θ(н2)
Райан Вільямс

Відповіді:


14

Перша половина цієї відповіді - це не що інше, як ефективне ( до log 2 ( n ) ) перефразовування відповіді Девіда в теоретичному плані.журнал4(н)журнал2(н)

Контекст вільних мов живуть в класі складності Цей клас рівномірно характеризується напівзмеженими ланцюгами напівобмежувальної глибини . Це схеми розміру поліномів, де ворота АБО мають необмежений вентилятор, а ворота AND мають обмежений вентилятор (скажімо 2). Збільшуючи глибину за допомогою коефіцієнта журналу, ми можемо замінити кожен необмежений вентиляційний вхід або АБО обмеженими АБО вентиляторами. Це поставило проблему в N C 2 . Не важко зрозуміти, як N C 2 можна оцінити за допомогою D S P A C E ( log 2 (LОГСЖL.NС2.NС2 першим пошуком на глибині скажіть, що підтримує ліво / право послідовність дітей біля досліджених до цього часу воріт. Результат відноситься до папери Льюїса-Хартманіса. І хоча це покращує обмеженість простору Девіда, це може зайняти n журнал n часу. Ми не знаємо нічого кращого.DSПАСЕ(журнал2(н))нжурналн

Традиційний спосіб зрозуміти проміжок часу в часі - це використовувати галькові ігри. На CYK було декілька робіт; пізніша спроба - у першій частині цієї презентації . Тут показано, що (a) лінійний простір може бути досягнутий в експоненціальний час, і (b) якщо час обмежений , тоді CYK використовує щонайменше n 2 простір.О(н2)н2

Безумовно, дуже цікава проблема, гідна погляду.


Це була досить цікава презентація, дякую за посилання.
Олексій десять Бринк

13

О(журнал2н)О(1)О(журналн)

О(журнал4н)


3
Я щойно натрапив на подібний результат Lewis et al. тут: ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5397245 . І все-таки це залишає питання, чи можемо ми зробити краще, ніж квадратичний простір, використовуючи лише многочлен.
Алекс десять Бринк

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.