Помощь в написании студенческих работ
Антистрессовый сервис

Методы решения задачи согласования временных ограничений

РефератПомощь в написанииУзнать стоимостьмоей работы

В ИСППР, ориентированных на работу в открытых и динамически изменяющихся ПО, часто требуется модифицировать множество временных ограничений. При этом в интервалах между изменениями необходимо выдавать ответы на запросы о согласованности (задача SAT) и вычислять выполнимые ограничения (задача MIN). Кроме того, при решении ДЗСВО требуется периодическое изменение решенной ЕЗСВО, полученной на основе… Читать ещё >

Методы решения задачи согласования временных ограничений (реферат, курсовая, диплом, контрольная)

время программный темпоральный информация Рассмотрим методы решения ЕЗСВО и ДЗСВО. Решение ЕЗСВО в точечной алгебре (PA) основывается на преобразовании в задачу на графе, взвешенном временной информацией (TLPA-графе). TLPA-граф есть граф G=(W, E, L), где W — множество вершин, W? Ш, E={(wi, lk, wj)|wi, wjW, lkL} - множество связей (ребер), L={<,?,?} - множество возможных пометок на ребрах графа. Ребра, взвешенные ограничением V, сопоставляющая вершинам графа из множества W имена временных переменных из множества V.

Интерпретацией TLPA-графа G называется тройка, где T — упорядоченное множество; I: V>T — функция, такая, что для всех pi, pjP выполнимо, что если м (pi)=м (pj), то I (pi)=I (pj); R: L>T — функция, отображающая каждую метку lL на ребрах графа G в соответствующее бинарное ограничение R (l) на T. Моделью TLPA-графа G=(W, E, L) называется такая интерпретация, для которой справедливо: если (w1,l, w2) E — ребро в графе G, то для всех pi, pjP, таких, что м (pi)=w1 и м (pj)=w2, выполняется R (l). TLPA-граф согласован (непротиворечив), если он имеет по крайней мере одну модель. Два или более TLPA-графа логически эквивалентны, если они обладают одними и теми же моделями.

Путем длины n от вершины w0 к вершине wn в TLPA-графе G называется последовательность n ребер, которая задается набором троек (w1,l1,w2), …(wn-1,ln, wn), где wi (0?i?n) — вершины и ljL (0?j?n), (wi, li, wi+1)E. Путь в TLPA-графе называется «<-путем» («?-путем») длины n, если lj={<} (если lj={?}), при 0? j?n. «<-путь» («?-путь») в TLPA-графе называется «<-циклом» («?-циклом»), если v0=vn.

Доказано, что TLPA-граф согласован тогда и только тогда, когда он не содержит ни одного «<-цикла» и ни одного «?-цикла», содержащего две вершины, соединенные ребром, взвешенным ограничением? [4]. Таким образом, для решения задачи SAT необходимо преобразовать ЗСВО в TLPA-граф и проверить эти условия. Рассмотрим решение задачи MIN.

Два типа неявных ограничений «меньше».

Рис. 1. Два типа неявных ограничений «меньше»

Здесь TLPA-граф согласован по путям, если для каждой пары его вершин существует не более одного соединяющего их ребра и для каждой тройки вершин u, v, w ограничение соответствующее связи (u, l, v) не противоречит ограничениям для (u, l1, w) и (w, l2, v), т. е. выполнено условие l? l1l2?.

TLPA-граф содержит в себе неявное ограничение < для вершин v и w, если не существует ни одного «<-пути» от v к w и существует либо связь (v,?, w) и «?-путь» от v к w, либо связь (t,?, u) и «?-пути» (но не «<-пути») от v к u, от u к w, от v к t и от t к w (рис. 1). Явным TLPA-графом для TLPA-графа G называется TLPA-граф, логически эквивалентный исходному графу G и не содержащий неявных ограничений. Согласованный по путям явный TLPA-граф назовем Time-графом.

Методы решения задачи согласования временных ограничений.

Из явного TLPA-графа G выводимо (), что:

v=w тогда и только тогда, когда v и w альтернативные имена одной и той же вершины;

v<-путь" от v к w;

v?w тогда и только тогда, когда существует «?-путь» от v к w;

v?w тогда и только тогда, когда существует «<-путь» от v к w, или существует «<-путь» от w к v, или в графе существует связь между v и w взвешенная ограничением ?.

Если произвести переход от TLPA-графа к Time-графу, то будут решены задачи SAT и MIN [4].

Методы решения задачи согласования временных ограничений.
Методы решения задачи согласования временных ограничений.

Для решения ДЗСВО осуществляется переход к задаче на дизъюнктивном графе времени (D-Time-графе) с применением алгоритма поиска с возвратами для поиска согласованного сценария (задача DSAT) или сценариев (ACS). D-Time-графом называется пара, где G=(W, E, L)-Time-граф; ={i|i=(di1,di2,…dik)} - множество дизъюнктивных ограничений, причем i интерпретируется как (di1di2…diu), dij={(xl, rl, yl)|xl, ylW, rlBTR} - множество точных ограничений. Определим множество ограничений в точечной алгебре M так, что для каждого i в M входит один из diji. Будем считать D-Time-граф согласованным, если существует такое множество M, что TLPA-граф G*=(W, EM, L) является согласованным. M назовем реализацией множества дизъюнктивных ограничений для графа G. Для решения задачи DSAT необходимо убедиться в существовании хотя бы одной реализации, для решения задачи ACS — найти все возможные реализации.

Методы решения задачи согласования временных ограничений.
Методы решения задачи согласования временных ограничений.

Предложено два способа уменьшения сложности ДЗСВО — упрощение задачи и уменьшение размерности задачи для алгоритмов поиска с возвратами. В первом случае вводится ограниченная ДЗСВО (ОДЗСВО), в которой устанавливается ограничение на размер элементов i множества. Во втором случае осуществляется сокращение множества по правилам сокращения пространства поиска [14]. Множество бинарных PA-дизъюнкций уменьшается до его подмножества ' за счет определения противоречий между точными и дизъюнктивными ограничениями. Алгоритм решения задачи DSAT разбивается на три этапа: на первом этапе решается ЕЗСВО Z с получением Time-графа G, на втором — осуществляется сокращение исходного множества дизъюнкций до его подмножества ', на третьем — применяется алгоритм поиска с возвратами.

В ИСППР, ориентированных на работу в открытых и динамически изменяющихся ПО, часто требуется модифицировать множество временных ограничений. При этом в интервалах между изменениями необходимо выдавать ответы на запросы о согласованности (задача SAT) и вычислять выполнимые ограничения (задача MIN). Кроме того, при решении ДЗСВО требуется периодическое изменение решенной ЕЗСВО, полученной на основе точных ограничений, по мере вычисления дизъюнктивных ограничений. В этой ситуации целесообразно использовать принцип пошагового анализа модификаций, выполняемых в исходной сети временных ограничений, позволяющий сократить ряд этапов решения ЗСВО. Если применять для решения ЗСВО после каждого из m изменений базовые алгоритмы, то сложность вычислений можно оценить величиной O (m), где — сложность решения ЗСВО на одном шаге. В данной работе предлагается способ решения задачи в таких условиях за меньшее время.

Методы решения задачи согласования временных ограничений.

Путем рxy=из вершины x в вершину y в графе G называется последовательность вершин, в которой x0=x, xk=y и (xi, xi+1)E для всех 0? i.

Методы решения задачи согласования временных ограничений.
Методы решения задачи согласования временных ограничений.
Методы решения задачи согласования временных ограничений.

Определим P — множество всех направленных путей между всеми вершинами в графе G. Число возможных элементов в P не превышает значение e2, где e — число ограничений, входящих в E. Определим: P' - множество существенных путей в графе G, P’P; множество входящих в вершину x путей Lp (x)={рlx|l?x, рlxP'} и множество выходящих из вершины x путей Rp (x)={рxm|m?x, рxmP'}. Предложен алгоритм вычисления выполнимого ограничения между временными переменными x и y (алгоритм 1), сложность которого составляет O (max (|Rp (x)|,|Rp (y)|,|Lp (x)|,|Lp (y)|)) при условии, что множества Rp и Lp могут быть вычислены за время O (k), где k константа.

Методы решения задачи согласования временных ограничений.

Алгоритм 1. Алгоритм вычисления выполнимого ограничения Входные данные: x, y-моменты времени; P'-множество всех существенных путей.

Выходные данные: выполнимое ограничение для переменных x и y.

  • 01: ForwardPatches < Rp (x)? Lp (y)
  • 02: RearwardPatches < Rp (y)? Lp (x)
  • 03: Rxy =
  • 04: Ryx =
  • 05: return Rxy? Ryx

Алгоритмы создания (алгоритм 2) и удаления ограничений строятся так, что они выполняются над множеством существенных путей и что ограничения, которые могут привести к несогласованности, отсекаются на этапе внесения. Сложность алгоритма 2 оценивается величиной O (|Rp (y)||Lp (x)|), требуемый для работы объем памяти — O (e2). В результате работы алгоритма 2 в множество существенных путей заносятся существенные пути, которые образуются в TLPA-графе в результате создания связи (w, l, v). Сложность алгоритма удаления ограничения существенно выше сложности алгоритма 2 и оценивается в худшем случае величиной O (e2). Алгоритмы пошагового уточнения решения построены так, что они позволяют поддерживать в актуальном состоянии множество всех существенных путей на TLPA-графе G, соответствующему ЗСВО, после каждого изменения. В результате может быть получен только согласованный граф.

Основным преимуществом предложенного подхода является то, что после каждого изменения не требуется вызов дополнительных алгоритмов проверки согласованности и вычисления неявных ограничений. Как показывают тесты (рис.2) это позволяет добиться существенной экономии времени.

Экспериментальное сравнение алгоритмов решения ЗСВО.

Рис. 2. Экспериментальное сравнение алгоритмов решения ЗСВО

Алгоритм 2. Алгоритм создания ограничений Входные данные: x, y — моменты времени, r — ограничение, r{,?,?}; P' - множество всех существенных путей в графе G.

  • 01: r'< Алгоритм 2(x, y, P')
  • 02: if (r'?r=Ш) return inconsistent // найдена несогласованность
Методы решения задачи согласования временных ограничений.
  • 03: if (r'r) return // Существующее ограничение сильнее вносимого
  • 04: foreach (рlxLp (x)) { // Вычисление существенных путей
  • 05: if ((w (рly)?U)(w (рly)?Ш)) P' = P' рly //
Методы решения задачи согласования временных ограничений.

рly существенный.

  • 06: foreach (рymRp (y)) if ((w (рlm)?U)(w (рlm)?Ш)) P' = P' рlm }
  • 07: foreach (рymRp (y)) if ((w (рxm)?U)(w (рxm)?Ш)) P' = P' рxm
Показать весь текст
Заполнить форму текущей работой