Удаление цепных правил из грамматики — различия между версиями
Строка 1: | Строка 1: | ||
+ | {| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;" | ||
+ | |+ | ||
+ | |-align="center" | ||
+ | |'''НЕТ ВОЙНЕ''' | ||
+ | |-style="font-size: 16px;" | ||
+ | | | ||
+ | 24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. | ||
+ | |||
+ | Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. | ||
+ | |||
+ | Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. | ||
+ | |||
+ | Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. | ||
+ | |||
+ | ''Антивоенный комитет России'' | ||
+ | |-style="font-size: 16px;" | ||
+ | |Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. | ||
+ | |-style="font-size: 16px;" | ||
+ | |[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки]. | ||
+ | |} | ||
+ | |||
{{Определение | {{Определение | ||
|definition= | |definition= |
Версия 06:39, 1 сентября 2022
НЕТ ВОЙНЕ |
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Определение: |
Цепное правило (unit rule) — правило вида | , где и — нетерминалы.
Содержание
Постановка задачи
Пусть контекстно-свободная грамматика, содержащая цепные правила. Требуется построить эквивалентную грамматику , не содержащую цепных правил.
Задача удаления цепных правил из грамматики возникает при попытке её приведения к нормальной форме Хомского.
Алгоритм
Определение: |
Цепная пара (unit pair) — упорядоченная пара | , в которой , используя только цепные правила.
Алгоритм удаления цепных правил из грамматики:
- Найти все цепные пары в грамматике .
- Для каждой цепной пары добавить в грамматику все правила вида , где — нецепное правило из .
- Удалить все цепные правила
Найти все цепные пары можно по индукции:
Базис.
— цепная пара для любого нетерминала, так как за ноль шагов.Индукция. Если пара
— цепная, и есть правило , то — цепная пара.Нетрудно понять, что такой алгоритм найдет все цепные правила грамматики
, и только их.Корректность алгоритма
Теорема: |
Пусть контекстно-свободная грамматика. — грамматика, полученная в результате применения алгоритма к . Тогда — |
Доказательство: |
|
Время работы алгоритма
Данный алгоритм работает за
.Пример
Рассмотрим грамматику:
, в которой есть два цепных правила и .- Для каждого нетерминала создадим цепную пару. Теперь множество цепных пар будет состоять из , , и .
- Рассмотрим цепное правило
добавим в множество пару , у которой первый элемент такой же как у найденной, а второй равен правому нетерминалу из текущего правила.
. Так как существует цепная пара , второй элемент которой совпадает с левым нетерминалом из правила, - Повторим второй пункт для правила и пары . Теперь множество цепных пар будет состоять из , , , , и .
- Повторим второй пункт для правила и пары , и получим множество .
- Для каждой пары добавим в
- для
- и для
- и для
- Оставшиеся цепные пары новых правил не добавят.
новые правила:
См. также
Литература
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)