Наскільки більшим може бути LR (1) автомат для мови, ніж відповідний LR (0) автомат?


10

У аналізаторі LR (0) кожен стан складається з колекції елементів LR (0), які є виданнями, анотованими позицією. У аналізаторі LR (1) кожен стан складається з колекції предметів LR (1), що представляють собою постановки з анотацією позиції та символом пошуку.

Відомо, що з урахуванням стану в автоматі LR (1) конфігуруючий набір, утворений випаданням токенів lookahead з кожного елемента LR (1), дає конфігуруючий набір, відповідний деякому стану в автоматиці LR (0). У цьому сенсі головна відмінність LR (1) автомата від LR (0) автомата полягає в тому, що автомат LR (1) має більше копій станів в автоматі LR (0), кожен з яких анотований з lookahead інформація. З цієї причини автомати LR (1) для даної CFG, як правило, більше, ніж відповідний аналізатор LR (0) для цієї CFG.

Моє запитання - наскільки більшим може бути автомат LR (1). Якщо в алфавіті граматики є ять різних термінальних символів, то, в принципі, нам може знадобитися повторити кожен стан в автоматиці LR (0) принаймні один раз на підмножину цих n різних термінальних символів, що потенційно призводить до LR (1 ) автомат, це 2 п разів більше , ніж вихідне LR (0) автомата. Зважаючи на те, що кожен окремий елемент в автоматі LR (0) складається з набору різних елементів LR (0), ми можемо отримати ще більший вигляд.nn2n

Зважаючи на це, я не можу знайти спосіб побудувати сімейство граматик, для яких LR (1) автомат значно більший, ніж відповідний LR (0) автомат. Все, що я спробував, призвело до незначного збільшення розмірів (як правило, приблизно в 2-4 рази), але я не можу знайти шаблон, який призводить до великого вибуху.

Чи відомі сімейства безконтекстних граматик, чиї автомати LR (1) експоненціально перевищують відповідні автомати LR (0)? Або відомо, що в гіршому випадку ви насправді не можете отримати експоненціальний вибух?

Дякую!


Такі проблеми, як іноді, піддаються емпіричному тестуванню. що б ви думали про випадкові випадки, що генеруються випадково, які (вибрані для того, щоб) демонстрували вибух? У цих типах питань існує закономірність, що конструкції "випадкових
поглядів

2
Найгірші випадки, як правило, важко знайти шляхом випадкової вибірки, принаймні, якщо середній випадок значно кращий.
Рафаель

ps, було б корисно, якщо ви включите приклади випадків розміщення 2x-4x десь, а не в посту ...
vzn

ідея / ведуча: LR розбір перестановок (cstheory.se)
vzn

LALR (1) зазвичай подається як спосіб наблизитися до потужності LR (1), щоб бути корисним у багатьох менших станах (використовувати слова книги Дракона). Цікаво, чи достатньо було б одного фактора від 2 до 4, щоб відкинути LR (1) як заборонний до винаходу LALR (1). Якщо я подумаю про це, коли вони стануть доступними, я загляну в Теорію розбору, перекладу та компіляції в Aho & Ullman , а також у методах Grune Parsing, якщо вони мають щось про числа.
AProgrammer

Відповіді:


2

Граматика

ST0TnaTn+1TnbTn+1TnbTn+1tnTNtN

TNtN˙
2N{t0tN1}N2N/N

TNT0


0

Такі нижчі межі іноді складно побудувати і можуть спричинити більш глибоку теорію CS (наприклад, у випадках розділення класів складності). Цей документ, здається, дає теоретичну побудову / нижню межу, яку ви шукаєте, наприклад, в теоремі 5, яка ставить нижню межу на загальну кількість символів, а отже, і заявляє. Довідники також включають інші подібні конструкції / нижні межі.

f(n,k)=214(nk)/n2k=0,1;...,n1Lnn3f(n,k)f(n,k)

Про розміри парсерів та LR (k) -граммарів / Leunga, Wotschkeb


2(n1)/4/n22n/4/n2залежить від розміру автоматичного LR (0) для цієї мови. Тож ця відповідь не відповідає на поставлене запитання.
DW

1.1892

DW вважає, що ваше заперечення є законним і підходить до розрізання волосся. THX стільки для уточнення / деталізації. його відповідна / майже пряма наукова відповідь на / систематичне вивчення його питання, яке, по суті, стосується побудови / вибудови мови / гіршого випадку в LR (n). можливо, це (майже?) "найвідоміші результати" в цій області. обгрунтована відповідь на питання може бути негативною, так ні, НЕ, є не кращі результати, ніж ті, які були знайдені запитуючим (він ще не виявив жодного) або в літературі. з нетерпінням чекаю будь-яких більш остаточних відповідей!
vzn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.