Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
ГЛАВА 5. СЛОЖНОСТЬ И РАЗРЕШИМОСТЬВ четвертой главе было представлено множество задач теории сетей Петри. Эти задачи касаются различных свойств структуры и поведения сетей Петри. Были представлены и два метода решения: подход дерева достижимости и подход матричных уравнений. Эти методы позволяют определить свойства безопасности, ограниченности, сохранения и покрываемости для сетей Петри. Кроме того, установлены необходимые условия для достижимости. Однако эти методы анализа недостаточны для решения некоторых других задач, в частности активности, достижимости и эквивалентности. В этой главе мы изучим эти задачи с целью или найти их решения, или по крайней мере узнать больше о свойствах сетей Петри. 5.1. Сводимость задач анализаМы будем использовать фундаментальное понятие сводимости [146]. Решение задачи подразумевает сведение ее к другой задаче, способ решения которой уже известен. В предыдущей главе, например, задача определения того, является ли сеть Петри сохраняющей, сводилась к решению системы линейных уравнений. Задача решения системы линейных уравнений в свою очередь сводится к определенной последовательности арифметических операций (сложение, вычитание, умножение, деление и сравнение). Таким образом, поскольку арифметические операции выполнить можно, сохранение может быть определено. Другой пример связан с задачей равенства и задачей подмножества для множеств достижимости. Определение 5.1. Задача равенства. Выполняется ли для двух данных маркированных сетей Петри Определение 5.2. Задача подмножества. Выполняется ли для двух данных маркированных сетей Петри Эти задачи могут оказаться очень важными для определения, является ли сеть Петри оптимизируемой или сравнимы ли сети двух систем. Заметим, что если можно найти решение задачи, подмножества, то задача равенства также решается. Если необходимо определить, выполняется ли При рассмотрении задач анализа и сводимости важно принимать во внимание следующие два соображения. Во-первых, пытаясь найти решение, необходимо учитывать возможность того, что задача не имеет метода решения, т. е. неразрешима. Во-вторых, если метод решения существует, мы должны оценить его стоимость: как много времени и памяти требуется для решения? Для того чтобы применение сетей Петри расширялось, задачи анализа должны решаться, а алгоритмы, осуществляющие решение, должны быть не слишком дороги в смысле времени и памяти ЭВМ. Сводимость играет большую роль для обеих из указанных проблем. Сводимость задач обычно используется для того, чтобы показать, разрешима ли задача или неразрешима. Наш подход к теории разрешимости [69, 200] основан главным образом на работах Тьюринга и его модели вычислений — машине Тьюринга. Значение машины Тьюринга состоит в том, что она служит разумным представлением вычислительной машины, и можно показать, что не существует алгоритма, который бы решал определенные проблемы машины Тьюринга, в частности проблему остановки. На основе этого был найден ряд неразрешимых задач. И важность этой теории в том, что невозможно создать программу для ЭВМ, которая бы решала эти задачи. Следовательно, для целей практического анализа необходимо избежать этих неразрешимых задач, иначе вопросы анализа не получат ответа. (Здесь важно подчеркнуть, что неразрешимые задачи порождают вопросы, на которые не просто нет ответа, но его и не может быть. Вопросы, на которые нет ответа, еще могут его получить; это значит, что ответ еще никто не нашел, но он существует. Известным примером является большая теорема Ферма: имеет ли решение уравнение Однако предположим, что задача неразрешима. Тогда невозможно было бы определить, существуют ли
Теперь допустим, что задача А сводима к задаче В: конкретную задачу А можно перевести в конкретную задачу В. Если задача В разрешима, то разрешима и задача Обратное также верно: если задача А сводится к задаче В и задача А неразрешима, то неразрешима и задача Мы также будем широко использовать этот подход для сокращения объема работы, которую нам необходимо выполнить. Например, вследствие того, что задача равенства для множеств достижимости сводится к задаче подмножества, мы хотим найти либо 1) процедуру решения задачи подмножества, либо 2) доказательство того, что задача равенства неразрешима. Если мы сможем выполнить 1), то будем иметь метод решения обеих задач, если выполним 2), будем знать, что обе задачи неразрешимы. В некоторых случаях мы сможем достичь даже большего. Две задачи называются эквивалентными, если они взаимно сводимы. Другими словами, задача А эквивалентна задаче В, если задача А сводится к задаче В, а задача В сводится к задаче А. В этом случае или обе задачи разрешимы, или обе неразрешимы, и мы можем рассматривать любую из них. (Заметим, что в общем случае это неверно. Например, если бы мы показали, что задача подмножества для множеств достижимости неразрешима, это не сказало бы нам ничего о разрешимости или неразрешимости задачи равенства.) Второе соображение по исследованию задач анализа заключается в том, что если метод решения существует, то он должен быть разумноэффективным. Это означает, что количества времени и памяти, требуемые алгоритмом для решения конкретной задачи, не должны быть чрезмерными. Исследование стоимости выполнения алгоритма — это часть теории сложности. Теория сложности имеет дело с количествами времени и памяти, необходимыми для решения задачи. Очевидно, что количества времени и памяти не постоянны, а изменяются в зависимости от размерности решаемой задачи. Для сетей Петри временные и емкостные затраты будут, по-видимому, функцией от числа позиций и переходов. Другими факторами, влияющими на время и память, будут число фишек в начальной маркировке и число входов и выходов для каждого перехода и позиции (число дуг в графе). Требуемые время и память будут изменяться от одной задачи к другой. Поэтому оценки сложности алгоритма могут быть даны для наилучшего случая (нижняя граница) или наихудшего случая (верхняя граница). Поскольку не известно, относится данный пример задачи к наилучшему или наихудшему случаю, обычно принимается наихудший случай, и сложность алгоритма — это временные и емкостные затраты в худшем случае как функция от размерности задачи. Анализ сложности касается главным образом сложности задачи, а не конкретных деталей реализации какого-либо частного алгоритма. Поэтому в теории сложности игнорируются константы. Сложность задачи размерности Анализ сложности обычно применяют к конкретным алгоритмам, но его можно применить также и к общим задачам. В этом случае определяется нижняя оценка сложности из всех алгоритмов, решающих задачу. Это обеспечивает значение сложности, не зависящее от алгоритма, и, кроме того, может оказаться полезным в доказательстве того, что данный алгоритм оптимален (с точностью до константы), и в определении случаев, когда дальнейшая работа может привести к лучшему алгоритму решения задачи. Например, хорошо известно, что сортировка При определении сложности может быть полезно сведение одной задачи к другой. Если задачу А можно свести к задаче вычислений, необходимый для решения задачи равенства, не больше чем удвоенный объем вычислений для задачи подмножества. Поскольку здесь участвует постоянный сомножитель, сложность задачи подмножества должна совпадать со сложностью задачи равенства. Эти два свойства задач анализа сетей Петри — разрешимость и сложность — имеют первостепенную важность для использования сетей Петри. В этой главе представляются некоторые известные результаты. Один из используемых методов — сведение одной задачи анализа Петри к другой.
|
1 |
Оглавление
|