Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
6.6. Языки сетей Петри и другие классы языковРассмотрев свойства языков сетей Петри как класса языков, мы обращаемся теперь к исследованию взаимосвязи между языками сетей Петри и другими классами языков. Рассмотрим, в частности, классы регулярных, контекстно-свободных, контекстно-связанных языков и языков типа 0. 6.6.1. Регулярные языкиОдним из простейших и наиболее изученных классов формальных языков является класс регулярных языков. Эти языки порождаются регулярными грамматиками и конечными автоматами и характеризуются регулярными выражениями. Задачи эквивалентности и включения для двух регулярных языков разрешимы, известны алгоритмы их решения [130].
Рис. 6.12. Контекстно-свободный язык сети Петри, не являющийся регулярным. Такой набор желательных свойств языка сделал справедливым следующее утверждение. Теорема 6.8. Всякий регулярный язык — это язык сети Петри. Доказательство этой теоремы основано на том, что всякий регулярный язык порождается некоторым конечным автоматом, а мы показали (см. разд. 3.3.1), что всякий конечный автомат можно преобразовать в эквивалентную сеть Петри. Обратная теорема не верна. На рис. 6.12 изображена сеть Петри, порождающая контекстно-свободный язык 6.6.2. Контекстно-свободные языкиСеть на рис. 6.12 свидетельствует о том, что не все сети Петри являются регулярными, поскольку язык показанной сети Петри является контекстно-свободным, но не регулярным. Не все языки сетей Петри являются и контекстно-свободными, о чем свидетельствует сеть, показанная на рис. 6.13, имеющая контекстно-связанный, но не контекстно-свободный язык. В отличие от случая с регулярными языками существуют также контекстно-свободные языки, не являющиеся языками сетей Петри. Примером такого языка служит контекстно-свободный язык
Рис. 6.13. Контекстно-связанный язык сети Петри, не являющийся контекстно-свободным. Теорема 6.9. Существуют контекстно-свободные языки, не являющиеся языками сетей Петри. Доказательство. Допустим, что существует сеть Петри с В разд. 4.2.2 мы показали, что для каждого перехода существует вектор
Сумму в выражении можно представить другим способом:
где
В лучшем случае векторы
Теперь, поскольку
то в множестве достижимости после запуска последовательности переходов длины
и, следовательно, невозможно иметь Доказательство этого факта проливает некоторый свет на ограниченность сетей Петри как машин, порождающих языки, и, следовательно, на природу языков сетей Петри. В сетях Петри нет возможности запомнить произвольно длинную последовательность произвольных символов. Из доказательства становится очевидно, что в сетях Петри можно запомнить последовательности ограниченной длины (но это возможно и в конечных автоматах). Другой особенностью сетей Петри является способность запоминать число появлений символа, как, например, в языке Причина того, что сети Петри способны порождать языки, которые не могут порождаться автоматами с магазинной памятью, несмотря на меньший размер пространства состояний, заключается в более гибких взаимосвязях между состояниями сети Петри по сравнению с ограниченными путями между состояниями в автомате с магазинной памятью. Это объясняется ограничениями в автомате с магазинной памятью на доступ только к верхнему элементу магазина, тогда как в сетях Петри возможно обращение к любому ее счетчику в любой момент времени. Теперь, когда мы показали, что не все контекстно-свободные языки являются языками сетей Петри и не все языки сетей Петри являются контекстно-свободными, естественно возникает вопрос: что из себя представляет класс языков, являющихся одновременно контекстно-свободными и языками сетей Петри? В настоящее время мы не в состоянии дать полный ответ на этот вопрос, но известна некоторая информация о языках, входящих в пересечение упомянутых классов. Одним подмножеством класса контекстно-свободных языков сетей Петри является класс регулярных языков. Другим — множество ограниченных контекстно-свободных языков, которые исследовались Гинзбургом [99]. 6.6.3. Ограниченные контекстно-свободные языкиКонтекстно-свободный язык
Термин «ограниченный» относится к конечному числу слов Гинзбург разработал детально описанную процедуру проверки свойств ограниченных контекстно-свободных языков. Он заметил, что в то время не было сведений о неразрешимых задачах, касающихся ограниченных контекстно-свободных языков. Ограниченные контекстно-свободные языки характеризуются следующей теоремой, предложенной Гинзбургом [99, теорема 5.4]. Теорема 6.10. Семейство ограниченных контекстно-свободных языков является наименьшим семейством множеств, определяемых следующим образом: 1. Если 2. Если 3. Если Мы уже показали (разд. 3.3.1), что всякий конечный автомат, а также всякий регулярный язык и всякое конечное подмножество Эта конструкция, иллюстрируемая на рис. 6.14 для Существуют ли контекстно-свободные языки, являющиеся языками сетей Петри, но не являющиеся ограниченными? К сожалению, ответ положителен. Гинзбург показал, что регулярное выражение Существование и регулярных множеств, и ограниченных контекстно-свободных языков в качестве подмножеств класса языков сетей Петри оказывается полезным, поскольку оба класса языков имеют желательные свойства и некоторые благоприятные для анализа характеристики. 6.6.4. Контекстно-связанные языкиМы исследовали взаимосвязь языков сетей Петри с регулярными языками и с контекстно-свободными языками. Обратимся теперь к контекстно-связанным языкам. На рис. 6.13 показан язык сети Петри, являющийся контекстно-связанным; мы докажем что все (кликните для просмотра скана) языки сетей Петри — контекстно-связанные. Поскольку известно, что все контекстно-свободные языки являются контекстно-связанными и существуют контекстно-свободные языки, не являющиеся языками сетей Петри, приходим к выводу, что существуют контекстно-связанные языки, не являющиеся языками сетей Петри. Следовательно, включение — собственное. Теорема 6.11. Все языки сетей Петри являются контекстно-связанными. Доказательство того, что все языки сетей Петри являются контекстно-связанными, довольно сложно. Существуют два способа показать, что язык контекстно-связанный: построить контекстносвязанную грамматику, порождающую его, или определить недетерминированный линейно-ограниченный автомат, порождающий этот язык. Питерсон [236] показал, как определяется контекстно-связанная грамматика, порождающая язык сети Петри. Здесь мы показываем как линейно-ограниченный автомат может породить язык сети Петри. Линейно-ограниченный автомат подобен машине Тьюринга. Он имеет конечное множество состояний, головку чтения/записи и (бесконечную в обе стороны) ленту. Ограничением, отличающим его от машины Тьюринга, служит то, что длина участка ленты, который можно использовать, ограничивается линейной функцией от длины входной строки. В этом смысле он подобен автомату с магазинной памятью, порождающему контекстно-свободный язык (поскольку максимальный размер магазина ограничен линейной функцией от входной строки), за исключением того, что линейноограниченный автомат имеет произвольный доступ к своей памяти, тогда как магазинный автомат имеет доступ к памяти только с одного конца. Для порождения языка сети Петри ее можно промоделировать, запоминая после каждого входного символа число фишек в каждой позиции. Какова скорость роста числа фишек как функции от длины входной строки? Рассмотрим число фишек, полученное после
Так как числа
Таким образом, Рис. 6.15. (см. скан) Взаимосвязь языков сетей Петри с традиционными классами языков. Число фишек, а следовательно, и объем памяти, необходимый для запоминания их, ограничены линейной функцией от длины входной строки. Поэтому языки сетей Петри могут порождаться линейноограниченными автоматами. Этим доказательством мы показали, что все языки сетей Петри контекстно-связанные. Результаты нашего исследования взаимосвязи класса языков сетей Петри с другими классами языков сведены на рис. 6.15 и показаны там в виде графа и диаграммы Венна. На рис. 6.16 приведены свойства языков сетей Петри [237, 115]. 6.7. Дополнительные сведенияБольшинство представленных здесь результатов приведены и в [237] и в [115]. Кроме того, Хэк исследовал множество задач разрешимости для языков сетей Петри. Задача принадлежности
Рис. 6.16. Свойства некоторых языков сетей Петри (взято из
Рис. 6.17. Свойства разрешимости языков сетей Петри (является строка а элементом языка Эти результаты сведены на рис. 6.17. Другой подход к изучению сетей Петри с использованием теории формальных языков рассматривался в [61]. Они заметили сходство между запуском переходов и применением правил порождения в выводе, понимая позиции как нетерминальные символы, а фишки — как отдельные экземпляры нетерминальных символов. Основное отличие заключается в отсутствии в сетях Петри информации об упорядочении, которая содержится в выводе в виде предложений. Оно привело к определению коммутативных грамматик, изоморфных сетям Петри. Кроме того, в [61] рассматривалась взаимосвязь сетей Петри с матричными [1], контекстно-рассеянными, нетерминально-ограниченными языками; языками, ограниченными по выводу; равноматричными языками и языками Сциларда. Нетрудно видеть, например, что класс V совпадает с множеством языков Сциларда матричных контекстно-свободных языков [64, 131]. 6.8. Замечания к литературеИмеются три хороших исследования языков сетей Петри: работы [237, 238], вероятно, менее труднодоступные, чем [115] (последнее исследование более строгое и полное); [61] — очень труднодоступная, но прекрасная работа, хорошо продуманная и изложенная. 6.9. Темы для дальнейшего изученияХотя в исследовании свойств языков сетей Петри сделано уже немало, многое еще предстоит сделать. Из всех определенных классов языков изучены только два Еще одна важная открытая задача касается отличия между 1. Выберите класс языков сетей Петри, отличный от языков 2. Определите все множество взаимосвязей между 12 классами языков сетей Петри, в частности для каждой пары классов языков сетей Петри, или покажите, что один класс содержится в другом, или найдите язык, находящийся в одном классе и не присутствующий в другом. 3. Рассмотрите возможность присвоения меток позициям сети Петри, а не переходам. Этот подход использовался в [104]. Определите осуществимость такого подхода и, если он возможен, разработайте новую теорию языков позиций сетей Петри. 4. Разработайте теорию языков сетей Петри, в которой сети Петри рассматриваются не как порождающие язык, а как распознающие его.
|
1 |
Оглавление
|