Що є доповненням безконтекстних мов?


11

Мені потрібно знати, під яким класом CFL закритий, тобто який набір є доповненням до CFL. Я знаю, що CFL не закривається під комплементом, і я знаю, що P закритий під комплементом. Оскільки CFL PI може сказати, що доповнення CFL включено в P (так?) Все ще залишається питання, чи є доповненням CFL належним підмножиною P або цілим P. Я би вдячний будь-яким ідеям, як показати, що комплементом CFL є весь P (якщо це звичайно так).


2
Я збирався опублікувати це як відповідь, але це не відповідає на все ваше запитання: доповненням будь-якого CFL є R (рекурсивна), оскільки рекурсивні мови закриваються доповненням, а всі CFL - R.
Ерік

Незахищеність CFL при доповненні не означає, що "L", що знаходиться в CFL, означає, що його доповнення не є в CFL. Це просто означає, що в CFL існує "L", так що його доповнення немає в CFL
SHREYANSHU THAKUR

@Eric Запитувач вже знає, що доповнення будь-якого CFL є рекурсивним. Вони зробили набагато більше сильне твердження про те , що доповнення будь-якого КЛЛ в P .
Девід Річербі

Відповіді:


17

Можна зрозуміти ваше запитання двома способами, згідно з визначенням "доповнення CFL".

випадок A: Доповненням CFL є клас усіх мов, які не є в CFL. Формально У такому випадку набагато більший за , він навіть має мови, які не містяться в і т. Д. Але, можливо, це не те, що ви мали на увазі.

CFL¯={LLCFL}.
CFL¯PR

випадок B: Визначте клас CFL-доповнення як словами, набір усіх мов , таким чином, що доповнення є вільним від контексту .

coCFL={L¯LCFL},
LL

У цьому випадку те, що ви написали, має сенс: (за алгоритмом CYK ), а також (запустіть той самий алгоритм, виведіть протилежну відповідь), а оскільки , то слід негайно, що , правда?CFLPcoCFLPCFLcoCFLcoCFLP


визначення CFK, наскільки я його розумію: мова L знаходиться в coCFK тоді і лише тоді, коли доповнення L знаходиться в CFK. Під доповненням LI маються на увазі всі можливі рядки, крім рядків у Л. Проблема, на яку я думаю, полягає в тому, що доповнення не можна визначити як "запустити той же алгоритм і змінити відповідь". Наприклад: L = (x ^ iy ^ iz ^ i) не є CFL, але я не знаю, який алгоритм я можу запустити, щоб отримати (негативну) відповідь.
user432

1
тому ви посилаєтесь на випадок В. Зауважте, що доповнення CFL може бути не CFL, але це не означає, що алгоритм CYK не працює на ньому однаково. Я маю на увазі, ми запускаємо CYK на , що є CFL, і отримайте відповідь на кожне чи є воно в . протилежне цьому - це відповідь на питання, чи є у , хоча може бути не-CFL. LL¯xL¯xLL
Ран Г.

1
@ user432 ! coCFLCFL¯
Рафаель

1
@RanG - це ваш стандарт позначення? Я очікую та клас мов таким, що . coCFL={L:L¯CFL}CFL¯=LLCFL
usul

1
Насправді, дозвольте мені змінити позначення відповідно до вашої пропозиції, це матиме більше сенсу.
Ран Г.

3

Надійний клас, що містить як CFL, так і coCFL, є LOGCFL , який містить всі мови, що можуть бути відведені до журналу простору без контексту. Цей клас є проміжним між NL та AC1 і має деякі природні повноцінні проблеми. Його також можна визначити через обмежені ланцюги AC1. LOGCFL закритий під доповненням (це розширення аргументу, який використовується для показу, що NL = coNL).


-1

Доповненням CFL може бути КФЛ, але це не обов'язково. Доповнення CFL є як рекурсивним (R), так і рекурсивно перелічувальним (RE). Чому? Всі CFL є і R, і RE. R мови закриті доповненням (але RE це не так). У цьому контексті доповненням CFL є R, який по суті є RE.


Запитувач вже сказав , що вони знають , що доповнення будь-якого УНЧ в P . Це набагато сильніше твердження, ніж те, що це рекурсивний або RE. Це все одно, що запитувач згадував людину, яка не може ходити, і ви відповіли доказом того, що він не може бігати зі швидкістю звуку.
Девід Річербі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.