Составление плана работ на основе системы дизъюнктов разностного типа

ТРУДЫ БГТУ. 2014. № 6. Физико-математические науки и информатика. С. 131-134 131

УДК 512.8,681.55

О. В. Герман, кандидат технических наук, доцент (БГТУ);

О. И. Садовская, преподаватель

СОСТАВЛЕНИЕ ПЛАНА РАБОТ НА ОСНОВЕ СИСТЕМЫ ДИЗЪЮНКТОВ

РАЗНОСТНОГО ТИПА

В статье рассмотрена задача построения расписания выполнения работ на основе формальной модели, представленной системой дизъюнктов разностного типа. С помощью систем дизъюнктов разностного типа можно описывать поведение динамических систем, например дискретных систем управления, интеллектуальных роботов, систем планирования работ и др. Временной параметр играет роль временного шага. Представлен общий принцип решения вместе с соответствующей иллюстрацией его применения.

The paper considers a problem of making a time-table for a set of jobs which is based on the formal model represented by a system of difference disjuncts. With the help of difference disjunct systems one can describe a behavior of the dynamic systems, e.g. the discrete type control systems, intelligent robots, job planning systems etc. A time parameter plays a role of the time step. The general principle of solving difference disjunct systems alongside with the corresponding illustration are given.

Введение. В статье [1] был предложен метод синтеза управления дискретной системой с конечным числом состояний на основе техники эквивалентных подстановок. Правила поведения системы задаются в данной публикации в форме дизъюнктов с переменной времени I, устанавливающей номер шага, выполняемого алгоритмом. Однако рассматриваются только смежные моменты времени, что, разумеется, ограничивает общность подхода. Целью этой статьи является обобщение подхода, изложенного в работе [1] на случай не обязательно смежных моментов времени. Такие случаи имеют место при решении задач составления расписаний, например. Для описания подобных моделей задач мы вводим понятие дизъюнкта разностного типа.

Дизъюнктом разностного типа (разностным дизъюнктом) назовем формулу вида

xf^t + kx) v х2а 2(t + k2) v... v xam

\t + km),

где к1, к2, ..., кт — целые положительные числа из конечного диапазона;

х™ = xi при а' = 1;

х*' = х при а' = 0;

t - временной параметр (номер шага).

В качестве иллюстрации возьмем систему

х1(^) V х2(^ +1); х2(^) V х3(^); х2 (^ +1) V х3 (^ + 2); х1 (¿) V х^ +1) V х3 (^ + 2).

Интерпретируем (?') как переменные состояния системы в момент (на шаге) t'. Таким образом, поведение (траектория) системы определяется последовательностями переходов вида

х(0) ^ х(1) ^ ... ^ х(к); х(0 = (х^), х2(0, ..., х„(0.

Очевидно, значения хх(-), х2 (•), х3() должны удовлетворять (2), если рассматривать переходы, описываемые этой системой формул. Поведение системы может допускать множество различных траекторий (3). Нас интересует общее решение системы типа (2), позволяющее найти любую допустимую траекторию.

Пример. Рассмотрим задачу составления плана работ. Имеется четыре работы Аь А2, А3, А4. Работа А1 должна выполняться ранее работы А2. Работа А4 должна выполняться ранее работы А3. Если работа А1 выполняется второй, то работа А4 не может выполняться первой. Найти план выполнения работ, удовлетворяющий указанным условиям. Составим разностную систему:

1) ^ ); >А1^) V

A(t-

A(t-

2)-

1);

A(t+1) ^ 4(t);

A4(t + 2) ^ A3(t) v A3(t +1);

-2)

A3

A(t+1) ^ A(t);

^

^(t + 2);

Al(t) v A2(t) v A3(t) v A4(t); Ax(t) v A2(t); A() v A,(t); Ax(t) v A,(t); Az(t) v Aj(t);

Az(t) v A(t);

Aj(t) v A(t).

Задачи теории расписаний являются удобным вариантом интерпретации и обоснования систем разностных дизъюнктов. Подобные задачи имеют различные применения на практике, например, при планировании вычислительных процессов, управлении конвейерными операциями, процессами в системах коммутации и др.

Внимание к таким задачам было связано также с синтезом поведения в интеллектуальных системах [2, 3].

Определения и преобразования. Систему разностных дизъюнктов назовем определенной, если каждый дизъюнкт «действует» по всей траектории (3).

В определенной системе каждый дизъюнкт связывает значения каких-то переменных в текущий момент со значениями переменных в будущие моменты и (или) в текущем моменте. Если будущий момент не достижим, то это значит, что траектория (3) оборвалась на шаге г, для которого разностная система в момент г + 1 несовместна.

Рассмотрим дизъюнкт х2 (?) V х3 (?). Очевидно, должны выполняться дизъюнкты:

х2^ +1) V х3^ +1);

Х2

+ 2) V хз(/ + 2).

В действительности в определенной системе такт г = 2 достижим, поэтому истинны х2 (1) V х3 (1) и х2 (2) V х3 (2). Говорим в этом случае, что дизъюнкт х2(?)V х3^) порождает ассоциированные дизъюнкты х2 (? +1) V х3 (? +1) и х2^ + 2) V х3^ + 2) .

В то же время дизъюнкт

хх

не имеет ассоциированных дизъюнктов. Из сказанного ясно, что дизъюнкт

х2

в определенной системе порождает ассоциированный дизъюнкт х2 (?) V х3^ +1).

Система разностных дизъюнктов называется приведенной, если, во-первых, она определена (для всех тактов t = 0, 1, 2, ... , к) и, во-вторых, для каждого дизъюнкта в системе содержатся ассоциированные порожденные дизъюнкты (если ассоциированные дизъюнкты могут быть порождены).

Далее имеем дело только с приведенными разностными системами. Систему (2) расширим до приведенной системы следующего вида:

х1 ^) V х2^ +1);

х^ +1) V х2^ + 2);

х2^) V х3^); х2^ +1) V х3^ +1);

х2^ + 2) V х3^ + 2);

х2^ +1) V х3^ + 2), х2^) V х3^ +1); х^) V х^^ +1) V х3^ + 2).

Отыскание общих подстановок. Используем общую технику, изложенную в [1-3]. Сначала избавимся от всех литералов вида х™г ^ + к) , где к > 1. Так, избавимся от литерала х3 (I + 2) (х3 ^ + 2)). С этой целью найдем все возможные нетавтологические резольвенты дизъюнктов (5) с отсекаемой парой литералов х3 ^ + 2) (х3 ^ + 2)). Присоединим порожденные резольвенты к системе, а сами родительские дизъюнкты, участвовавшие в порождении резольвент, исключим. Дизъюнкты, не участвовавшие в порождении резольвент, переносятся в новую систему автоматически. Получим такую систему:

х1 ^) V х2^ +1); х^ +1) V х2^ + 2);

х2^) V х3^); х2^ +1) V х3^ +1);

х2 (+1) V х2(+2); х2 ^) V х3^ +1); х^) V x1(t +1) V х2 (t +1).

Теперь избавимся от литерала х2^ + 2) (х2(1 + 2)). Получим новую систему разностных дизъюнктов:

х1 ^) V х2^ +1); х2 ^) V х3

X1(t +1) V х2^ +1); х2 (t) V х3^ +1).

Проведенная операция отсечения литералов обладает следующим свойством: любое решение системы (7) может быть расширено до решения системы (5), а любое решение системы (5) содержит решение системы (7) (разумеется, если система (5) выполнима).

Теперь воспользуемся методом эквивалентных подстановок [3]. Выразим переменную

х2^ +1) = х^) -е^),

Составление плана работ на основе системы дизъюнктов разностного типа

133

где г^) - дополнительная переменная. Подстановка (8) и подобные ей, получаемые далее, находится так. Если выражаем литерал хп1 (I +1) без отрицания, то ищем все дизъюнкты F\, F2, ..., Fr, где данный литерал входит с отрицанием, и записываем подстановку в общем виде таким образом:

Xm ^ + 1) = Л * У2 * ... * Л ^т (^

где вт (t) - новая переменная; - часть дизъюнкта Fr, получаемая отбрасыванием из Fr литерала хт ^ +1). Аналогично можно получить подстановку для хт ^ +1), при этом надо использовать дизъюнкты, содержащие литерал хт ^ +1) без отрицания.

Подставим (8) в (7) и получим

х2 ^) V х3 ^);

) V х^+1);

г^) V х^ +1); x1(t) V х3^ +1); в1 (t) V x3(t +1); х2^) V х3^ +1).

Запишем очередную подстановку:

X3

Система (9) преобразуется к виду

х2(0 V x3(t); х^О V X1(t +1); г^) V Xl(t +1);

х^) V x2

т) vг2(t);

гl(t) V X2(t);

гl(t) vг2(t).

Получаем последнюю подстановку:

x1

Система (11) принимает следующий итого -вый вид:

х2 (0 V х3 ^);

) V х^);

) vг2

гl(t) V х^); гl(t) vг2(t).

Итак, цель достигнута: система (13) вместе с подстановками (8), (10), (12) определяет все

допустимые траектории исходной системы (5). В качестве иллюстрации построим какую-нибудь траекторию. Зададим начальное состояние, удовлетворяющее (13), например:

х1(0) = х2(0) = х3(0) = г1 (0) = г2(0) = 1. Тогда подстановки (8), (10), (12) дают

х1 (1) = 0, х2(1) = 0, х3(1) = 1.

Подставим эти значения в (13), получим

гД1);

г1(1) V г2 (1).

Положим, например, г1(1) = г2(1) = 1. Теперь найдем

хД2) = 1, хг

Эти значения дадут, например,

гД2) = г2(2) = 1;

х1(3) = 0, х2(3) = 0, х3(3) = 1.

Получим траекторию вида

(1, 1, 1) ^ (0, 0, 1) ^ (1, 1, 0) ^ (0, 0, 1).

Решение примера о расписании. Опуская все промежуточные выкладки, приводим итоговую систему подстановок для примера о расписании. Заметим, что если переменная А (^ =0, то на такте t работа Л, не выполняется. При составлении дизъюнктов ограничиваемся первыми тремя тактами, поскольку последний шаг однозначно определяется из предыдущих:

Л2^ +1) - Л^) • Лх{1 +1) • +1) • Л4^ +1);

Лз(t +1) - Л4^) • Л4 (t +1) • А^ +1);

Л1(t +1) - Л4^) • +1);

Л4 0 +1) - (Л, а) V Л4 ^)) • (Л а) V Л4 (t)).

Заметим, что подстановки (16) не используют вспомогательных переменных, поскольку нас интересует любое (одно) допустимое решение. Задаваясь состоянием

4(0)=4(0)=4(0) = 0, 4(0) = 1,

удовлетворяющим начальным условиям, получим интересующее нас решение в форме переходов на множестве состояний системы

(0, 0, 0, 1) ^ (1, 0, 0, 0) ^ (0, 1, 0, 0) ^ ^ (0, 0, 1, 0).

Заключение. Условие, связанное с приведением системы к определенному виду, не является обязательным. Процесс синтеза может быть адаптирован к ситуации в общем случае. При этом необходимо составлять систему дизъюнктов, «актуальных» на рассматриваемом шаге. В этом случае необходимо учитывать новые переменные е(0, вводимые в подстановках. Получаемые решения интегрируются в последующие шаги, так что ни одно решение потеряно быть не может.

Литература

1. Герман О. В., Садовская О. И. Метод синтеза поведения интеллектуальной системы // Труды БГТУ. 2013. № 6: Физ.- мат. науки и информатика. С.139-142.

2. Герман О. В., Семерюк Д. В. Одна полиномиально разрешимая задача синтеза поведения интеллектуального робота // Автоматика и телемеханика. 2001. № 2. С. 15-24.

3. Бохманн Д., Постхоф Х. Двоичные динамические системы. М.: Энергоатомиздат, 1966. 396 с.

Поступила 04.03.2014