УДК 519.715
НЕПРЕРЫВНО-ЛОГИЧЕСКИЕ АЛГОРИТМЫ РЕШЕНИЯ КОМБИНАТОРНЫХ ЗАДАЧ В.И. Левин
Пензенская государственная технологическая академия Представлена членом редколлегии профессором Ю.Л. Муромцевым
Ключевые слова и фразы: взаиморасположение последовательностей интервалов; конечный динамический автомат; непрерывная логика.
Аннотация: Сформулирован класс комбинаторных задач, эквивалентных задаче определения взаиморасположения п последовательностей интервалов. Показано, что адекватной математической моделью решения поставленной задачи является конечный динамический автомат без памяти, а адекватным математическим аппаратом - непрерывная логика. Построены алгоритмы решения. Приведен пример.
1. Введение
Многие задачи обработки данных, планирования работ, проектирования систем управления объектами и т.д. сводятся математически к решению комбинаторной задачи - определению взаиморасположения п последовательностей интервалов (временных или пространственных) и нахождению условий, при которых это взаиморасположение имеет тот или иной качественный характер. Приведем несколько примеров таких задач.
1. Пусть имеется последовательность А временных интервалов, в которых некоторое основное техническое устройство работоспособно, и последовательность В временных интервалов, в которых работоспособно резервное устройство. Система «основное и резервное устройства» является работоспособной, если работоспособно хотя бы одно из двух ее устройств - основное или резервное. Т аким образом, для того чтобы установить последовательность интервалов работоспособности всей системы, надо определить взаиморасположение последовательностей интервалов работоспособности основного устройства (последовательность А ) и резервного устройства (последовательность В ) и найти те промежутки времени, на которых действуют интервалы хотя бы одной из последовательностей - А или В; они и будут интервалами работоспособности системы. А для того чтобы, например, установить, когда система работоспособна на произвольном заданном отрезке времени Т , надо найти условия, при которых взаиморасположение последовательностей интервалов А и В таково, что на отрезке Т интервалы последовательности В накрывают промежутки между интервалами последовательности
А.
2. Рассмотрим последовательность А временных интервалов, в которых некоторая организация (магазин, банк, ремонтная мастерская и т.д.) выполняет обслуживание клиентов, и последовательность В временных интервалов, в которых
некоторый клиент может посетить обслуживающую организацию. Для того чтобы установить последовательность промежутков времени возможного обслуживания клиента, надо определить взаиморасположение последовательностей интервалов А и В и выявить те промежутки времени, на которых действуют интервалы обеих последовательностей - А и В; они и будут промежутками времени возможного обслуживания клиента. А для того, чтобы установить, к примеру, когда организация может обслужить клиента при его обращении в любой доступный для него момент времени, надо найти условия, при которых расположение последовательностей интервалов А и В таково, что интервалы последовательности А накрывают все интервалы последовательности В.
3. Пусть заданы последовательность А временных интервалов, в которых председатель совета может провести его заседание, и последовательности В]_,..., В10 временных интервалов, в которых члены совета 1,...,10 могут участвовать в этом заседании. Заседание совета возможно только при участии в нем председателя и не менее 5 любых членов совета. Для того чтобы установить последовательность промежутков времени, в которых возможно проведение заседания совета, надо определить взаиморасположение последовательностей интервалов А, В1,... , В10 и найти те промежутки времени, на которых одновременно действуют интервалы последовательности А и интервалы каких-нибудь 5 или более из 10 последовательностей В1,...,Вю ; они и будут промежутками времени возможного проведения заседания совета. А для того чтобы установить, например, когда проведение заседания совета оказывается возможным на произвольном заданном отрезке времени Т , надо найти условия, при которых взаиморасположение последовательностей интервалов А,В1,...,Вю таково, что отрезок Т накрывается каким-либо интервалом последовательности А и какими-либо 5 или более интервалами, взятыми из 5 или более соответствующих последовательностей В1,...,Вю .
Задача определения взаиморасположения п последовательностей интервалов, примеры которой приведены выше, является комбинаторной задачей. При решении комбинаторных задач данного типа можно использовать различные переборные методы. Однако большие недостатки этих методов (быстрый рост сложности вычислений при увеличении размеров задачи; неаналитический (поисковый) характер алгоритма решения; невозможность обозримого представления алгоритма решения в случае высокоразмерной задачи) заставляют искать другие пути решения данной задачи. Возможный подход заключается в том, чтобы найти для этой задачи готовую адекватную математическую модель, которая глубоко и детально разработана на базе какого-нибудь удобного аналитического аппарата. В настоящей статье показано, что такой моделью может служить динамический конечный автомат [1-4], а таким аппаратом - непрерывная (бесконечнозначная) логика [1, 2, 5, 6].
2. Постановка задачи
Математическая постановка решаемой задачи может быть описана следующим образом. Задано п конечных последовательностей непересекающихся интервалов:
А1 = (а11,ь11), (а12,Ь12),..., (а1п11,ь1тг);
А2 = (а21,Ь21),(а22,Ь22),...,(а2т2 ,Ь2т2 );
An = (anb bnlX^, bn2 ),*•*, (anmn , bnmn ) *
Требуется:
1) определить взаиморасположение имеющейся системы последовательностей интервалов (1);
2) найти условия, при которых это взаиморасположение имеет тот или иной качественный характер.
Сформулированные две задачи различаются тем, что первая из них нацелена на то, чтобы по заданному положению всех интервалов всех последовательностей (1) определить взаиморасположение любых комбинаций (по две, по три и т. д.) любых подпоследовательностей последовательностей (1), в то время как вторая имеет целью найти условия, накладываемые на положение всех интервалов всех подпоследовательностей (1), при которых указанное взаиморасположение имеет тот или иной требуемый вид. Таким образом, задача 1 является задачей анализа имеющейся системы последовательностей интервалов (1), а задача 2 - задачей синтеза такой системы. Задачи анализа и синтеза системы последовательностей интервалов вида (1) мы будем решать, используя адекватную системе (1) математическую модель конечного динамического автомата без памяти и математический аппарат непрерывной логики, необходимый для адекватного описания указанного автомата. Решение предлагается получать в аналитической форме суперпозиции непрерывно-логических операций, которая одновременно дает логический алгоритм получения численного решения.
3. Динамические конечные автоматы и непрерывная логика
Динамический конечный автомат (ДА) без памяти [1, 2, 4] представляет собой математическую модель в виде (п,1)-полюсника (рис. 1), реализующего на выходе у некоторую булеву логическую функцию своих входов *1,..., хп
у = /(*!,...,Хп), *1,...,Хп, у е {0,1} . (2)
На входы ДА (см. рис. 1) подаются входные двоичные динамические процессы: *1(0 = 1(ап, Ьп)0(—, -)1(а12, Й12)...1(а1т1, ЬЫх); ........................................................ (3)
Хп () = 1(ап1, Ьп1)0(—,—)1(ап2, Ьп2)...1(аптп , Ьптп ),
в которых 1(а,Ь) означают интервалы времени единичных значений процесса (импульсы), а 0(—, —) - промежуточные интервалы времени нулевых значений
процесса (паузы). С выхода ДА (см. рис. 1) снимается выходной двоичный дина-
мический процесс
у(0 = 1(^1,4)0(—, —)1(С2,й2)..1(Ст, йт ), (4)
соответствующий поданным входным процессам (3) ДА и его реализуемой булевой логической функции (2). Основной задачей для ДА без памяти является задача отыскания выходного динамического процесса у(/) по его известным входным динамическим процессам *1(/),..., хп (?) и реализуемой булевой логической функции /. В 1971-1972 гг. автором было уста-
Рис. 1
новлено, что эта задача может быть решена в аналитической форме для любого ДА без памяти, имеющего любые число входов, входные процессы и реализуемую функцию, с помощью математического аппарата непрерывной (бесконечнозначной) логики (НЛ) [1, 2, 4, 5]. Определяется НЛ следующим образом. Пусть несущее множество С = [А, В] - произвольный отрезок на оси вещественных чисел.
Тогда для любых чисел а,Ь,е е С можно ввести следующие логические операции:
а V Ь = тах(а,Ь) - дизъюнкция, (5)
а л Ь = тт(а, Ь) - конъюнкция, (6)
е = А + В — е - отрицание. (7)
Операции НЛ (5) - (7) подобны соответствующим операциям двузначной (булевой) логики (где несущее множество С = {0,1}) и обобщают их на случай непрерывного несущего множества. В НЛ сохраняют силу некоторые законы двузначной логики:
а V а = а, а л а = а - тавтологии; (8)
а V Ь = Ь V а, а л Ь = Ь л а - переместительный; (9)
(а V Ь) V с = а V (Ь V с), (а л Ь) л с = а л (Ь л с) - сочетательный; (10)
а л (Ь V с) = (а л Ь) V (а л с), а V (Ь л с) = (а V Ь) л (а V с) — распределительный; (11)
а V Ь = а л Ь, а л Ь = а V Ь- де Моргана; (12)
а V (а л Ь) = а, а л (а V Ь) = а - поглощения. (13)
Кроме них, в НЛ действуют некоторые важные специфические законы, например, законы оценки и упрощения логического выражения:
а V Ь > а, Ь; а л Ь < а, Ь; (14)
а1v...v а—1v а v а+1v...v ат =
(15)
= а1 V... V аг—1 V аг+1 V... V ат при аг < ак (к Ф г); а1 л... л аг- —1 л аг- л аг-+1 л... л ат =
(16)
= а1 л... л аг —1 л аг+1 л... л ат при аг > ак (К Ф г).
Идея отыскания выходного процесса ДА без памяти по его заданным входным процессам и реализуемой логической функции проста и изложена ниже. Обозначим: 1 - двоичный динамический процесс, принимающий постоянное значение 1;
0 - двоичный динамический процесс, принимающий постоянное значение 0;
1 - изменение значения двоичного динамического процесса 0 ® 1; 0' - изменение значения двоичного динамического процесса 1 ® 0 ; 1а - изменение 1' в момент времени а ; 0Ь - изменение 0' в момент времени Ь ; 1'а0Ь - импульс 1(а, Ь) в интервале времени (а,Ь); 0а1Ь - пауза 0(а,Ь) в интервале времени (а,Ь). Любой двоичный динамический процесс можно записать в виде последовательности импульсов и пауз (как в (3)) либо последовательности изменений значения процесса. Например, процесс на рис. 2 можно записать в виде
x(t) = 1(-¥, a)0(-, —)1(b, е)0(-, ¥) или x(t) = 0^1,0'
b
Рис. 2
Число изменений значения двоичного процесса называется его глубиной. Например, глубина процесса на рис. 2 равна 3. Для системы (вектора) двоичных процессов соответствующим понятием является векторная глубина. Например, векторная глубина системы двух процессов х^) = 1(а, Ь), Х2(О = 1(с, ё) равна (2,2).
Покажем на примерах, как с помощью НЛ определить выходной процесс ДА без памяти по его входным процессам и реализуемой логической функции. Ограничимся простейшими ДА - двухвходовыми дизъюнкторами и конъюнкторами, реализующими булевы логические функции дизъюнкцию V и конъюнкцию л :
У = X V Х2 =
0 при Х1 = Х2 = 0;
1 в иных случаях;
У = Xi A X2 =
1 при Х1 = Х2 = 1; 0 в иных случаях,
(17)
и простейшими входными процессами с глубиной не выше 1. Пусть, скажем, надо найти выходной процесс конъюнктора на входные процессы Х^) = 1'а , Х2(?) = 0Ь . Искомый процесс, очевидно, равен одиночному импульсу 1(а, Ь) или тождественному нулю, в зависимости от того, что больше: Ь или а . Поэтому, интерпретируя тождественный нуль как одиночный импульс с совмещенными началом и концом, можем записать искомый процесс в виде:
y(t) = X (t) a X2 (t) = i'a a 0b =
1(a,b) при b > a;
0 = 1(a, a) при b < a.
Отсюда при помощи операции дизъюнкции НЛ V окончательно находим
1'а л 0Ь = 1(а, а V Ь).
(18)
(19)
Выходные процессы в дизъюнкторе и конъюнкторе при всех остальных входных процессах с глубиной не выше 1 получаются аналогично:
0 л °а=0 л 1Ь=0;1 л Ха=Ха; 0ал 0Ь=0аль; ^л ^=^ь; ^л 0Ь=1(аа v Ь);
1 v 0а=1 v 1'ь=1; 0 v Ха=Ха; 0аv 0ь=0аVь; 4v ^ =1аль; ^v 0ь=0(ь,а v ь).
(20)
Формулы (20) наглядно демонстрируют удобство и адекватность аппарата НЛ как средства отыскания выходных процессов ДА без памяти по их входным процессам и реализуемой логической функции.
Если входные процессы дизъюнктора или конъюнктора имеют кратность выше 1, то отыскание их выходных процессов требует применения формальных методов. Основные из них - прямой метод, метод декомпозиции и метод инверсии. Прямой метод основан на полном переборе всех возможных случаев взаимного расположения входных процессов элемента. Для каждого случая выходной процесс элемента записывается в явном виде отдельно. Общее выражение этого
0
t
a
e
процесса получается из частных с использованием НЛ. Метод декомпозиции состоит в том, что один из двух входных процессов элемента Х^/) и Х2(?) , например, Х^/) разбивается на два последовательных подпроцесса Хц(/) и Х^^). Затем находятся составляющие выходные процессы у^) и >2(0 - реакции элемента на составляющие входные процессы {Хц(/), Х2(/)} и {х^/ ), Х2(/)}. Если (/) и >2 (0 не пересекаются во времени участками, содержащими все изменения значения процесса, то искомый выходной процесс у(/) определяется как последовательность процессов (/) и >2(0 . Метод инверсии основан на формулах:
Х^О v Х2(/) = Х!(/) л Х2(/), Х!(/) л Х2(/) = Х^/) V Х2(/), (21)
вытекающих из закона де Моргана двузначной (булевой) логики и позволяющих по уже известной реакции дизъюнктора (конъюнктора) на входные процессы Х1(/), Х2 (/) легко определить реакцию конъюнктора (дизъюнктора) на входные
процессы Х1(/), Х2 (/) . Используя эти методы, нетрудно получить формулы для выходных процессов дизъюнктора и конъюнктора при различных входных процессах с глубиной (1, 2) :
0'а V 1(Ь, с) = 0(а, а V Ь)1(-, а V с); 1а V 1(Ь, с) = 1(а л Ь, с)0(—, а V с);
0^ V 0(Ь, с) = 0(а V Ь, а V с); 1а V 0(Ь, с) = 0(а л Ь, а л с);
0'а л 1(Ь, с) = 1(а л Ь, а л с); 1'а л 1(Ь, с) = 1(а V Ь, а V с);
0'а л 0(Ь, с) = 0(а л Ь, с)1(—, а V с); 1^^ л 0(Ь, с) = 1(а, а V Ь)0(-, а V с);
входных процессах с глубиной (2, 2) :
1(а, Ь) V 1(с, ё) = 1[а л с, (а л ё) V (Ь л с)]0(—, — )1(а V с, Ь V ё);
1(а, Ь) л 1(с, ё) = 1[а V с, а V с V (Ь л ё)]; 0(а, Ь) V 0(с, ё) = 0[(а л ё) V (Ь л с), Ь л ё]; 0(а, Ь) л 0(с, ё) = 0[а л с, (а л ё) V (Ь л с)]1(—, а V с)0(—, Ь V ё);
0(а, Ь) V 1(с, ё) = 0(а л с, Ь л с)1(—, а V ё)0(—, Ь V ё);
0(а, Ь) л 1(с, ё) = 1(а л с, а л ё)0(—, Ь V с)1(—, Ь V ё)
(23)
и т.д. Аналогично находятся НЛ-выражения выходных процессов многовходовых дизъюнкторов и конъюнкторов, реализующих многоместные булевы дизъюнкцию и конъюнкцию, аналогичные их двуместным прототипам (17), например:
0а л0Ь л... л 0ё = 0алЬл...лё; л1Ь л... л1ё = 1аvЬv...vё;
1'а л 1'ь л... л1ё л 0; л 0' л... л 0'г = 1[а V Ь V... V ё; а V Ь V... V ё V (е л g л... л /)];
(24)
0а v0Ь v...v0ё = 0avЬv...vё; ^а ^Ь v...v= 1 алЬл...лё;
1а V 1ь V... v1ё V 0; V 0^ V... V 0/ = 0[е V g V... V /; е V g V... V / V (а лЬ л... лё)].
4. Идея и метод решения
Интерпретируем интервалы в системе последовательностей интервалов (1) как временные интервалы. Тогда системе (1) можно поставить во взаимно однозначное соответствие совокупность двоичных динамических процессов Хг- (/) (3). Именно, г-й процесс этой совокупности соответствует г-й последовательности
системы (г = 1, п), причем к-й импульс процесса соответствует к-му интервалу последовательности (к = 1, тг). Другими словами, двоичная переменная Хг (г = 1,п) является индикатором присутствия какого-то интервала г-й последовательности интервалов (1): Хг = 1 означает присутствие, а Хг = 0 - отсутствие интервала. Подадим определенную описанным образом совокупность двоичных динамических процессов Хг (/) (3) на входы Х1,..., Хп ДА без памяти (см. рис. 1), который реализует некоторую выбранную нами булеву логическую функцию входов у = /(Х1,...,Хп) вида (2). Тогда ДА выдаст на выходе у некоторый двоичный динамический процесс у(/) вида (4). Что же характеризует этот процесс? Как известно, любая булева логическая функция определяется заданным множеством единичных наборов значений аргументов, на которых функция принимает значение 1. Таким образом, выбранная нами определенная булева логическая функция /, предназначенная для реализации в ДА без памяти (см. рис. 1), заставляет этот ДА вырабатывать на выходе определенный двоичный динамический процесс у(/) вида (4), импульсы которого соответствуют интервалам времени, где входные процессы Хг (/) (3) ДА принимают набор значений, совпадающий с одним из единичных наборов функции / . Последнее означает, что при подаче на входы ДА без памяти совокупности двоичных процессов Хг (/) (3), взаимно-однозначно соответствующих системе последовательностей интервалов (1), выбор для реализации в этом ДА некоторой булевой логической функции у = /(Х1,...,Хп) означает выбор соответствующего частного показателя взаиморасположения системы последовательностей интервалов (1), а реализуемый на выходе ДА двоичный процесс у(/) (4) - числовое значение этого показателя. Например, если в качестве функции / выбрана многоместная булева конъюнкция, это означает (поскольку у такой функции есть только один единичный набор (1, 1, ... , 1) ) выбор частного показателя взаиморасположения системы последовательностей интервалов (1) в виде выделения всех случаев, когда интервалы всех п последовательностей (1) пересекаются. При этом числовое значение данного показателя имеет вид двоичного процесса у(/ ) (4), импульсы которого соответствуют отрезкам времени, где интервалы всех п последовательностей (1) пересекаются.
Итак, в качестве адекватной математической модели для решения задачи анализа системы последовательностей интервалов (1) можно выбрать ДА без памяти (см. рис. 1). Входными двоичными динамическими процессами этого ДА является совокупность процессов (3), взаимно-однозначно соответствующая системе последовательностей интервалов (1), то есть совокупность процессов, моделирующая эту систему. ДА реализует некоторую, выбранную нами булеву логическую функцию у = /(Х1,..., Хп), являющуюся некоторым частным показателем взаиморасположения системы последовательностей интервалов. Тогда на выходе ДА вырабатывается двоичный динамический процесс у(/ ) (4), дающий числовое значение выбранного частного показателя взаиморасположения интервалов (более точно, выделяющий отрезки времени, где интервалы системы (1) находятся в данном взаиморасположении). То есть выходной процесс (4) ДА-модели (см. рис. 1) моделирует числовое значение того или иного частного показателя взаиморасположения системы последовательностей интервалов (1), соответствующего выбранной булевой логической функции /, реализуемой ДА.
Алгоритм решения задачи анализа имеющейся системы последовательностей интервалов (1), в соответствии с изложенной идеей, выглядит следующим образом.
Шаг 1. Выбирается некоторый частный показатель П, характеризующий взаиморасположение интервалов системы (1) (если показатель П уже задан условиями задачи, шаг 1 опускается).
Шаг 2. Строится булева логическая функция у = / (Х1,..., Хп), соответствующая показателю П.
Шаг 3. Строится математическая модель задачи - схема ДА без памяти (см. рис. 1), реализующая функцию / и получающая на п своих входах двоичные динамические процессы Хг (/) (3), совокупность которых взаимно-однозначно соответствует заданной системе последовательностей интервалов (1). Выходной двоичный процесс ДА у(/) (4) моделирует показатель взаиморасположения системы интервалов (1) (выделяет периоды, где интервалы находятся в данном взаиморасположении).
Шаг 4. Методами теории ДА [1-4] по входным процессам ДА-модели Х1(/),...,Хп(/) и его реализуемой функции / находится его выходной процесс у(/) (4). Параметры (моменты изменения значений) этого процесса выражаются через аналогичные параметры входных процессов ДА-модели в аналитической форме с помощью операций дизъюнкции V и конъюнкции л НЛ.
Шаг 5. Развернув найденные на шаге 4 аналитические выражения параметров выходного процесса ДА-модели у(/), получаем алгоритмы вычисления этих параметров в терминах операций НЛ V и л .
Шаг 6. Вычислив параметры выходного процесса ДА-модели у(/) по алгоритмам, найденным на шаге 5, получаем числовое значение этого процесса, являющееся числовым значением выбранного частного показателя П (или / ) взаиморасположения системы последовательностей интервалов.
Конец алгоритма.
Заметим, что в общем случае решение задачи анализа имеющейся системы последовательностей интервалов (1) может потребовать использования не одного, а нескольких частных показателей взаиморасположения интервалов системы (1). В этом случае получается общая задача анализа, распадающаяся на несколько частных задач, соответствующих указанным частным показателям. Для решения общей задачи анализа следует решить с помощью описанного алгоритма все частные задачи и объединить полученные решения.
Алгоритм решения задачи синтеза системы последовательностей интервалов (1), соответствующей заданным требованиям к взаиморасположению интервалов, строится с использованием описанного выше алгоритма решения задачи анализа системы (1). Он состоит из следующих шагов.
Шаг 1. Решение частичной задачи анализа (путем выполнения шагов 1-4 алгоритма анализа) для подлежащей синтезу системы последовательностей интервалов (1) в предположении, что задан показатель взаиморасположения интервалов, а все параметры системы (1) (координаты начала и конца всех интервалов) заданы в буквенной форме. В результате получается двоичный процесс у(/), моделирующий заданный показатель взаиморасположения интервалов (1) (точнее, содержащий импульсы-периоды, где интервалы находятся в заданном взаиморасположении).
Шаг 2. Составление системы уравнений и неравенств, выражающих в математической форме заданные требования к взаиморасположению интервалов (1). Эта система получается путем выписывания требуемых соотношений (>, =) меж-
ду координатами начала и конца соответствующих импульсов процесса у(/). Поскольку эти координаты выражаются через параметры интервалов (1) с помощью операций НЛ, полученная система есть система уравнений и неравенств НЛ.
Шаг 3. Решение системы уравнений и неравенств НЛ, полученной на шаге 2, с помощью специальных методов [1, 2, 5, 6], основанных на принципе последовательного расчленения отдельного уравнения (неравенства) НЛ на несколько более простых уравнений (неравенств). В результате решения указанной системы уравнений (неравенств) НЛ получаются условия на параметры отдельных интервалов (1), при выполнении которых взаиморасположение этих интервалов отвечает заданным требованиям.
Конец алгоритма.
5. Пример
Магазин открыт в течение дня с ац до Ьц и с а^ до часов (Ьц < а^). Двое работающих приятелей собираются вместе посетить этот магазин. Первый из них свободен и может это сделать в промежутке времени с а21 до Ь21 часов, аналогично второй - в промежутке с азі до Ьзі часов. Требуется определить периоды времени, в каждом из которых приятели могут реализовать свой план посещения магазина, и установить, при каких условиях это посещение возможно, то есть указанные периоды существуют (не вырождены).
Приятели могут реализовать свой план посещения магазина в те и только те периоды времени, когда магазин открыт, а оба они свободны. Следовательно, для ответа на первый поставленный вопрос надо решить задачу анализа системы последовательностей интервалов
Аі = (a11, ЬііХ Ь12);
Л2 = (а2Ъ Ь21);
А3 = (а31, Ь31),
то есть определить нужное взаиморасположение интервалов этой системы. Конкретно, нас интересуют те периоды времени, в которых взаиморасположение таково, что присутствуют интервалы всех трех последовательностей: Лі,А2,А3 . Для решения задачи применим алгоритм анализа, описанный в п. 4.
Шаг 1. Показатель П, характеризующий нужное взаиморасположение интервалов системы Аі, Л2, А3, содержательно уже задан условиями задачи.
Шаг 2. Булева логическая функция у = /(*і, Х2, Х3), соответствующая показателю П, есть трехместная конъюнкция у = *і л *2 л *3.
Шаг 3. Математическая модель задачи - ДА без памяти с 3 входами и і выходом, реализующий на выходе указанную функцию / своих входов (рис. 3). На входы ДА-модели поступают двоичные процессы
Xl(t) = 1(au, bll)0(-,-)1(al2, bl2); x2 (t) = 1(a21, b21); x3(t) = l(a31, b31),
взаимно-однозначно соответствующие заданной системе интервалов (A2, A3). С выхода ДА снимается двоичный процесс y(t) вида (4), моделирующий показатель П взаиморасположения системы интервалов (A1,A2,A3).
Шаг 4. По входным процессам x^t), X2(t), X3(t) ДА-модели и его реализуемой функции f = л находим его выходной процесс y(t) [1, 2, 4], используя готовую формулу 1(a, b) л 1(с, d) = 1[a v c, a v c v (b л d)]:
y(t) = X1 (t) л X2 (t) л X3 (t) = X1 (t) л [X2 (t) л X3 (t)] = [1(a11, bn )0(-, -)1(a12, b12)] л л[1(a21, b21) л 1(a31, b31)] = [1(a11, b11)0(—, —)1(a12, b12)] л л1[а21 v a31, a21 v a31 v (b21 л Й31)] = {1(an, bu) л 1[‘]}0(—, —){1(a12, b12) л 1[-]> =
= 1{an v a21 v a31, an v a21 v a31 v [bu л (a21 v a31 v (b21 л Й31))]}0(—, — )1{a12 v va21 v aзl, a12 v a21 v a31 v [b12 л (a21 v a31 v (b21 л b31))]}.
Шаг 5. Найденные на шаге 4 аналитические выражения параметров
A, B, C, D выходного процесса y(t) = 1(A, B)0(—, —)1(C, D) ДА-модели дают алгоритмы вычисления этого процесса в терминах операций НЛ v(max) и л(шш). Например, A = max(an, a21, a31), B = max (A, min(b11,max(a21, a31, min(b21,b31)))) и т.д.
Шаг 6. По алгоритмам, найденным на шаге 5, вычисляем параметры выходного процесса y(t) ДА-модели, соответствующие конкретным значениям параметров atj, bjj входных процессов X1 (t), X2 (t), X3 (t). Например, при an = 9,
a12 = 14, Ьц = 13, b12 = 20, a21 = 12, b21 = 16, a31 = 11, b31 = 15 находим A = 12, B = 13, C = 14, D = 15. Т аким образом, есть два периода времени, в которых оба приятеля могут совместно посетить магазин: (12,13) и (14,15).
Для того чтобы установить, при каких общих условиях возможно совместное посещение магазина двумя приятелями, надо определить, когда существуют (не вырождены) периоды времени, в которых приятели могут совместно посетить магазин. Таким образом, для ответа на второй поставленный вопрос надо решить задачу синтеза системы последовательностей интервалов (A1, A2, A3), то есть найти условия, при которых взаиморасположение интервалов этой системы имеет нужный качественный характер, благодаря чему и обеспечивается существование указанных периодов времени. Для решения задачи применим алгоритм синтеза, описанный в п. 4.
Шаг 1. Уже выполнен и содержится в шагах 1-4 алгоритма анализа системы (A1, A2, A3), рассмотренных выше.
Шаг 2. Систему уравнений и неравенств НЛ, выражающих требования к взаиморасположению интервалов системы (A1, A2, A3), обеспечивающие существование нужных периодов времени, получаем, потребовав, чтобы найденный в процессе анализа системы (A1,A2,A3) выходной процесс y(t) = 1(A,B)0(—, —)1(C,D) ДА-модели, моделирующий заданный показатель взаиморасположения интервалов, имел невырожденные импульсы, моделирующие нужные нам периоды времени
B > A или D > C .
Подставив сюда выражения для A, B, C, D из развернутого выражения процесса y(t), приведенного выше, получим
ац v a21 v a31 v [Ьц л (a21 v a31 v (b21 л b31))] > an v a21 v a31 или a12 v a21 v a31 v [b12 л (a21 v a31 v (b21 л b31))] > a12 v a21 v a31.
Шаг 3. Решение полученной на шаге 2 системы неравенств НЛ имеет вид
b11 л [a21 v a31 v (b21 л b31
)] > ап v a21 v a31 или b12 л [a21 v a31 v (b21 л b31)] > a12 v a21 v a31.
Итак, взаиморасположение интервалов системы (A1,A2,A3), отвечающее хотя бы одному из выписанных неравенств, обеспечивает существование периодов времени, в которых приятели могут совместно посетить магазин. Еще раз обратим внимание, что обе части выписанных неравенств (условий) представляют собой выражения, построенные из параметров интервалов системы (A1,A2,A3) при помощи операций НЛ - дизъюнкции v и конъюнкции л .
6. Заключение
В настоящей работе показано, что изучение класса комбинаторных задач, эквивалентных комбинаторной задаче определения взаиморасположения n последовательностей интервалов, можно осуществлять с помощью математической модели динамического конечного автомата без памяти и математического аппарата непрерывной логики. Такой подход позволяет формально находить алгоритмы решения указанных задач, а также формально анализировать эти решения, например, находить необходимые и достаточные условия их существования. Другим преимуществом предложенного подхода является его применимость к решению задач произвольно высокой размерности.
Список литературы
1. Левин, В.И. Введение в динамическую теорию конечных автоматов /
В.И. Левин. - Рига : Зинатне, 1975. - 376 с.
2. Bochmann, D. Dinamische Processes in Automaten / D. Bochmann, V.N. Roginskij, V.I. Levin. - Berlin : Technik, 1977.
3. Левин, В.И. Динамика логических устройств и систем / В.И. Левин. - М. : Энергия, 1980. - 224 с.
4. Левин, В.И. Теория динамических автоматов / В.И. Левин. - Пенза : Изд-во Пенз. гос. техн. ун-та, 1995. - 408 с.
5. Левин, В.И. Бесконечнозначная логика в задачах кибернетики / В.И. Левин. - М. : Радио и связь, 1982. - 176 с.
6. Левин, В.И. Структурно-логические методы исследования сложных систем /
В.И. Левин. - М. : Наука, 1987. - 304 c.
Continuous Logic Algorithms of Solution to Combined Tasks
V.I. Levin
Penza State Technological Academy
Key words and phrases: continuous logic; final dynamic automat; interposition of intervals sequences.
Abstract: The class of combined tasks equivalent to the task of determination of interposition of n interval sequences is formulated. It is shown that adequate mathematical model of solution to the given task is final dynamic automat without memory and adequate mathematical apparatus is continuous logic. Algorithms of solution are constructed. The example is given.
Ununterbrochen-logischen Algorithmen der Losung der kombinatorischen Aufgaben
Zusammenfassung: Es ist die Klasse der kombinatorischen Aufgaben, die der Aufgabe der Bestimmung der gegenseitigen Anordnung der n-Reihenfolgen der Intervalle Equivalent sind, formuliert. Es ist aufgezeigt, dafl ein adaquates matematisches Modell der Losung der gestellten Aufgabe der endliche dynamische Automat ohne Speicher ist, und ein adaquater matematischer Apparat - die stetige Logik ist. Es sind die Algorithmen der Losung angebaut. Es ist das Beispiel angefuhrt.
Algorithmes continus et logiques de la solution des problemes combinatoires
Resume: Est formulee une classe des problemes combinatoires equivalents au probleme de la definition de la disposition mutuelle des successions n des intervalles. Est montre que le modele mathematique adequat de la solution du probleme pose est un automate final dynamique sans memoire et l’appareil mathematique adequat est la logique continue. Sont construits les algorithmes de la solution. Est cite l’exemple.