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

StackOverflow https://stackoverflow.com/questions/4652839

Вопрос

Я почистил (не домашнее задание) в некоторых вычислениях-теории и пришел на себя эту проблему:

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

Теперь я знаю, что язык регулярный IFF, он принимается конечным автоматом.

И я знаю, что язык - это бесплатный контекст IFF, он принимается автоматическим автоматом.

Но я не уверен в каком решении.

Это было полезно?

Решение

Любая DFA эквивалентна КПК, что происходит никогда не подтолкнуть ничего на его стеке, поэтому все регулярные языки также не имеют контекстных. Более формально:

DFA определяется как 5-корпус (σ, S, S0, Δ, f), состоящий из входного алфавита, набора состояний, состояния запуска, таблицы переходных данных и набора окончательных (приемных) состояний.

КПК определяется как 7-кортеж, включая все элементы DFA, а также два дополнительных параметра: γ (алфавит стека) и Z (начальный символ стека). Переходная таблица PDA несколько отличается от таблицы перехода DFA: каждый переход может зависеть от обоих входных символов, так и в текущем стеке стека, и переходы могут толкнуть или выпустить из стека.

Поэтому, введя пусточный стек алфавита, состоящий из одного символа, это тривиально (хотя несколько раздражает и долгое, чтобы выписать!) Чтобы сопоставить таблицу перехода DFA(state, input) -> state к эквивалентной таблице переходов PDA (state, input, stack) -> (state, stack).

Для завершения доказательства правильного подмножества отношений: там существуют языки, которые не имеют контекстных, но не регулярно, поэтому регулярные языки образуют правильное подмножество языков без контекста. Пример: язык струн, состоящий из сбалансированных скобок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top