Перейти к содержимому

Преобразование контекстно-свободной грамматики в магазинный автомат (CFG в PDA)

Easy Theory

0:00 / 0:00

Преобразование контекстно-свободной грамматики в магазинный автомат (CFG в PDA)

188 508 просмотров · 6 лет назад
Easy Theory
40,1 тыс. подписчиков
188 508 просмотров · 6 лет назад
(Это видео устарело; версию в более высоком качестве можно посмотреть здесь:    • Context Free Grammar to Pushdown Automaton...  ) Сайт Easy Theory: https://www.easytheory.org GoFundMe: https://www.gofundme.com/f/easy-theor... Patreon:   / easytheoryyt   Fourthwall: https://easy-theory-llc-shop.fourthwa... Канал решения задач: ​⁠ @easytheoryprobsolve Здесь мы показываем, как преобразовать любую контекстно-свободную грамматику (CFG) в PDA (автомат с магазинной записью). Ключевая идея заключается в имитации вывода некоторой строки из CFG в стеке самого PDA. Конструкция включает в себя построение 4 «базовых» состояний, а затем самоциклирование по третьему состоянию для каждого терминала. Сначала помещаем в стек символ $, затем начальную переменную и извлекаем символ $, ведущий к четвёртому состоянию. Затем добавляем серию переходов для каждого правила, извлекая переменную LHS, а затем помещаем переменную RHS в стек в обратном порядке. ---------------------------------------------------------------------------------------------------------------- Что такое контекстно-свободная грамматика? Это набор из 4 элементов: набор «переменных», набор «терминалов», «начальная переменная» и набор правил. Каждое правило должно включать одну переменную в своей «левой части» и любую комбинацию переменных и терминалов в своей правой части. Подробнее см.    • What is a Context-Free Grammar?  . Что такое магазинный автомат? Это конечный автомат, в котором при каждом переходе элементы могут быть помещены в стек или извлечены из него, высота которого не ограничена. Подробнее см. по ссылке    • What is a Pushdown Automaton (PDA)?  . ---------------------------------------------------------------------------------------------------------------- Если вам нравится этот контент, пожалуйста, подпишитесь на мой канал:    / @easytheory