Автоматизированная система управления санаторным комплексом. Подсистема Диетпитание (3.1)

Посмотреть архив целиком

92



ГЛАВА 3

ИНФОРМАЦИОННОЕ ПРЕДСТАВЛЕНИЕ ПОДСИСТЕМЫ

«ДИЕТПИТАНИЕ» НА ОСНОВЕ МЕТОДА

БЛОЧНЫХ АЛЬТЕРНАТИВНЫХ СЕТЕЙ


3.1. Метод блочных альтернативных сетей

3.1.1. Элементарный блок альтернатив

Пусть задан объект или группа объектов {}. Предполо­жим, что такая совокупность объектов отражается в информацион­ном аспекте в виде некоторого информационного портрета пред­метной области, представленная множеством атрибутов Аi, где i = 1, 2, ..., n. Будем исходить из того, что Аi покрывают полную сово­купность свойств объекта .

Каждый атрибут Аi может принимать множество альтерна­тивных значений . Аi: () (логическое отношение «ИЛИ»). Количество значений атри­бута определяется самим атрибутом.

Альтернатива – это необходимость выбора между взаимоисключающими возможностями, каждая из исключающих друг друга возможностей. Набор альтернативных значений, которые может принимать атрибут, имеет непрерывный дискретный характер. Значения являются альтернативными, т. к. предполагается, что в каждый момент времени атрибут может принимать одно и только одно значение. Сложные задачи всегда формируют решения на основе различных сочетаний исходных данных, в силу чего образуются совокупности альтернативных (исключающих друг друга) решений. Для сложного объекта: А = (А1,..., Аi,…, Аn) (логическое отношение «И»).

Каждый атрибут определяется множеством его значений, и решение будет задаваться матрицей атрибутов:

А1 = (11, …, 1j, …, 1m1)

…………………………..

А = (1, …, j, …, m)

……………………………

AN = (N1, …, Nj, …, NmN)


Естественно, что значения атрибутов, а в ряде случаев и сами атрибуты могут выступать в качестве альтернативных характеристик или величин-параметров. В рассмотрение можно включить некоторый атрибут А и набор его альтернативных значений j, если сам ат­рибут и его значения заданы. Следует отметить, что значения j атрибута А могут иметь непрерывный или дискретный характер. Это могут быть числовые величины или некоторые понятия. Отношение ат­рибут-значение можно представить в виде первичного дерева иерар­хии (рис. 3.1).

Здесь атрибут А выступает в качестве корневой вершины, а значения j (j=l,... ,N) определяются как альтернативные, так как предполагается, что в любой момент времени атрибут А может при­нимать одно и только одно значение j.

Элементарный блок альтернатив (ЭБА) можно представить как пои­менованную структуру организации данных, т.е. класс, определяющий множество объектов-альтернатив.

Рис.3.1. Первичное дерево альтернатив


Аi - имя блока;

i1, …, ij , …,im – значения атрибутов (совокупность альтернатив).

Если представить информацию об атрибуте в иерархической моде­ли, то можно ввести еще один блок, который называется якорь, т.е. выходной блок.





Рис.3.2. Первичное дерево альтернатив

с замыкающей вершиной «якорем»

Следует отметить, что в элементарном блоке имеет место три вида вершин:

а) вершины первого ранга: вход и выход;

б) вершины второго ранга: значения атрибутов;

в) вспомогательные вершины: рекурсия и транзит.

В подобной структуре должна быть реализована функция выбора альтернативы (ФВА) при условии существования значения (кода) альтернативы. Обычно подобная функция содержит в своем теле две составляющие: рекурсивный (R) и транзитный (Т) блоки.

Транзитный блок используется в тех случаях, когда ни одна из альтернатив в общем решении не участвует, а в частном случае может выступать как ограничитель для рекурсивного перебора альтернатив. То есть когда ни одно значение атрибута не используется, то можно пройти с входа на выход через транзитную вершину Тi. Если поиск по альтернативным атрибутам Аi продолжается, то путь лежит через рекурсивный блок Ri. Другими словами, рекурсивный блок используется, когда необходимо решить задачу поиска альтернативного значения на массиве альтернатив, т. е. организовать циклический процесс.

В результате дополнив двухуровневую схему атрибута замыкающей вершиной («якорем»), транзитным и рекурсивным вершинами, получим структуру элементарного блока альтер­натив (рис.3.3.).

Рис.3.3. Структурная схема элементарного блока альтер­натив (ЭБА)


Аi - имя блока;

Ri - рекурсивная вершина;

Ti - транзитная вершина;

A*i - замыкание альтернатив.

Для упрощения совокупность альтернатив назовем блоком альтернатив (БА); упрощенный вид ЭБА представлен на рис.

Рис. 3.4. Упрощенный вид ЭБА


БAi = {i1, …, ij , …,im }

Совокупность таких последовательно соединенных элемен­тарных блоков образует простую БАС. ЭБА — это базовый блок для формирования сетей. Его использование дает возможность порождать любые конфигурации сетей или структур.


3.1.2. Алгоритмы навигации на БАС


Для работы с БАС необходимо создать алгоритмы на­вигации на сети. Существует три метода навигации на сети:

  • последовательный;

  • параллельный;

  • смешанный.

Результатом работы алгоритма навигации является формирование вершинного маршрута. Формируется маршрут М=(). Основная цель таких алгоритмов заключается в определении каждого элемента , в оценке согласованности с другими.

Каждый элемент интерпретируется как частное локальное решение. Маршрут интерпретируется как модель результата реше­ния. Если необходимо сгенерировать некоторую совокупность ре­шений, то формируется несколько маршрутов, образующих пара­дигму решений. На массиве решений возможны реализации задач анализа, выбора, упорядочивания, оптимизации.

Возможные структуры БАС определяются иерархией отношений между классами объектов-альтернатив.


Последовательная БАС

Для последовательной сети последовательный алгоритм навигации может быть реализован двумя базовыми способами.

1. Прохождение сети реализуется последовательно, начиная с первого a1 и заканчивая последним аN блоками. Алгоритм обращается к блоку a1, просматривает его содержимое и через транзитные вершины передает результат. Далее переходит к следующему блоку. В итоге образуется некоторый вершинный маршрут Мj =(1j, ..., j, ..., Nj), который и представляет данные о результате решения. Если какое-то решение несовместно, то выявляется причина не­совместимости и ищется новое решение.

2. Алгоритм обращается последовательно к каждому блоку и результат из каждого блока передается обратно в алгоритм. Массив частных решений преобразуется в маршрут, далее процедура продол­жается.

При последовательной навигации определяется логика прохо­ждения сети, т.е. порядок входа в каждый из блоков, порядок поиска частного решения внутри блока, порядок выхода из блока, входа в следующий блок и «склеивания» частных решений.

Пусть задан кортеж атрибутов (множество альтернатив):

А = {: ( = 1, 2, …, n)}. Осуществим последова­тельную генерацию исходов А* = {*: ( = 1, 2, …, n)} для каждой из альтернатив с помощью последовательной БАС.

БАС с последовательной стратегией предс­тавлена на рис. 3.7.

БА1

БА2

БА3

Рис. 3.7. Пример последовательной разомкнутой трехблочной БАС

БА2

БА1

БА3

Рис.3.8. Пример последовательной замкнутой трехблочной БАС


В последовательных БАС генерируемые альтернативные решения соединяются в одну связку с генерирующими следующего ЭБА попарно. В результате вершины А* и А+1 сливаются в одну А+1.


Параллельная БАС

При алгоритме с параллельной организацией навигации воз­можны как минимум две схемы:

  • одноуровневый алгоритм;

  • двухуровневый алгоритм.


Одноуровневый алгоритм

По схеме одноуровневого алгоритма все элементы сети связаны друг с другом и включают координирующую и исполнительную функции. Одноуровневый алгоритм является децентрализованной схемой навигации.

Рис. 3.9. Параллельная одноуровневая структура БАС


На рисунке 3.9 связь реализуется через общую транзитивную вершину (раздельный вход и выход).

Можно замкнуть параллельную БАС через:

  • вершины транзита и рекурсии;

  • включить в качестве дополнительной некоторую вер­шину агрегирования.

При параллельной генерации решений в каждом блоке БАi работает свой алгоритм формирования исходов. Алгоритмы работают одновременно, и матрица альтернативных решений заполняет­ся построчно.

Двухуровневый алгоритм

На верхнем уровне двухуровневого алгоритма (рис.3.10) находится координирующий алгоритм, а на нижнем - исполняющий. По ко­манде координирующего алгоритма каждый исполняющий алго­ритм входит в свой блок, определяет частное решение внутри блока и передает результат в координирующий алгоритм. Последний осу­ществляет функцию сопряжения частных решений в единое общее решение. Этот процесс может быть итеративным, формализующим соответственные парадигмы решений. Данный двухуровневый алго­ритм является централизованной схемой навигации.

Выход

Рис. 3.10. Параллельная двухуровневая структура БАС


3.1.3. Маршруты на БАС


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

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

Внутриблоковый – это такой маршрут МiN МN (i = 1, …, n), который тем или иным образом связывает две соседние вершины () первого ранга, принадлежащие i-му блоку. Другими словами, внутриблоковый маршрут формируется как последовательность вершин, связанных определенным отношением.

Межблоковые – маршруты МilN , которые связывают некоторые пары вершин первого ранга {(), i = 1, …, n; k = 1, 2, …, n; }. Межблоковые маршруты используются при формировании циклов, и, следовательно, связываемые вершины () для таких маршрутов отождествляются.

При использовании БАС для решения конкретных задач могут возникать ситуации, когда тот или иной внутриблоковый маршрут МiN формируется неоднозначным образом. При этом возможны три случая:

1) внутриблоковый маршрут МiN проходится один раз слева направо;

2) внутриблоковый маршрут МiN для маршрута МN является запрещенным;

3) внутриблоковый маршрут МiN должен быть пройден неоднократно.

В соответствии с названными случаями, определим три типа маршрутов: ациклические AMiN, транзитные ТMiN и циклические СMiN.


Ациклические маршруты

Наиболее простыми маршрутами МN являются ациклические (или незамкнутые) AMiN.

Ациклический маршрут (АМi) формируется как последовательность

вершин совместно с отношением между вершинами:

AMi : (Ai , rij , ij),

где Аi - атрибут;

rij - определяет отношение между атрибутом и вершиной-значе­нием ij;

ij - значение атрибута Аi.

Полное представление внутриблокового маршрута по схеме ис­ток-сток будет представлять собой объединение:

AMi : (Аi , rij ,ij) U (ij ,rji ,A*i),

или в общем виде для вершин-альтернатив получим вершинный ацикли­ческий маршрут:

AMi: (Аi, ij, A*i).

Аналогично для маршрута, проходящего через транзитивную верши­ну:

АMiT: (Ai, rT, A*i),

что эквивалентно записи

AMiT: (Ai, T, A*i).

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

Внутриблоковые ациклические маршруты всегда проходят через вершины (j = 1,2, … , m; i = 1,2, … , n) второго ранга. В общем случае маршрут AMiN может быть задан последовательностью:

AMiN = {(); (j = 1,2, … , m; I = 1, 2, …, n)}

В этой последовательности и обозначают дуги между соответствующими парами вершин внутри i-го блока. Кратко это выражение можно записать так:

AMiN = (3.1)

Отметим, что на сети любой внутриблоковый маршрут AMiN всегда начинается с входной вершины .

Транзитные маршруты

Достаточно часто при использовании сети могут возникать случаи, когда прохождение через блок (i = 1, 2, …, n) или совокупность блоков запрещено. Иными словами, запрещены в рассмотренном выше смысле ациклические маршруты AMiN или AMi,lN, при этом полные маршруты AMN имеют место.

Для описания подобного рода случаев введено понятие транзитного маршрута ТМN (для сети в целом понятие транзитного маршрута не имеет смысла.) Прежде чем дать определение транзитного внутриблокового маршрута ТMiN, введем и определим понятие транзитной вершины . Транзитными являются такие вершины (i = 1, 2, …, n) второго ранга, которые не несут семантической нагрузки в соответствии с признаком , а определяют лишь маршрут следования внутри блока