Дипломная работа: Автоматизированная система управления санаторным комплексом. Подсистема Диетпитание
ГЛАВА 3
ИНФОРМАЦИОННОЕ ПРЕДСТАВЛЕНИЕ ПОДСИСТЕМЫ
«ДИЕТПИТАНИЕ» НА ОСНОВЕ МЕТОДА
БЛОЧНЫХ АЛЬТЕРНАТИВНЫХ СЕТЕЙ
3.1. Метод
блочных альтернативных сетей
3.1.1. Элементарный
блок альтернатив
Пусть задан объект или группа объектов {}. Предположим, что такая совокупность объектов отражается в
информационном аспекте в
виде некоторого информационного портрета предметной области, представленная множеством атрибутов Аi, где i = 1, 2, ..., n.
Будем исходить из того, что Аi
покрывают полную совокупность свойств объекта
.
Каждый атрибут Аi может принимать
множество альтернативных
значений . Аi: () (логическое отношение «ИЛИ»). Количество значений атрибута определяется самим атрибутом.
Альтернатива –
это необходимость выбора между взаимоисключающими возможностями, каждая из
исключающих друг друга возможностей. Набор альтернативных
значений, которые может принимать атрибут, имеет непрерывный дискретный характер.
Значения являются альтернативными, т. к. предполагается, что в каждый момент
времени атрибут может принимать одно и только одно значение. Сложные задачи
всегда формируют решения на основе различных сочетаний
исходных данных, в силу чего образуются совокупности альтернативных (исключающих друг друга) решений. Для сложного объекта: А = (А1,..., Аi,…,
Аn) (логическое отношение «И»).
Каждый
атрибут определяется множеством его значений, и решение будет задаваться
матрицей атрибутов:
А1 = (a11, …, a1j, …, a1m1)
…………………………..
Аn = (an1, …, anj, …, anmn)
……………………………
AN = (aN1, …, aNj, …, aNmN)
Естественно, что значения атрибутов, а в ряде случаев и сами атрибуты
могут выступать в качестве альтернативных характеристик или величин-параметров.
В рассмотрение можно включить некоторый атрибут Аn и набор его альтернативных значений anj, если сам атрибут и его значения заданы. Следует
отметить, что значения anj
атрибута Аn могут иметь
непрерывный или дискретный характер. Это могут быть числовые величины или
некоторые понятия. Отношение атрибут-значение можно представить в виде
первичного дерева иерархии (рис. 3.1).
Здесь атрибут Аn выступает в качестве корневой
вершины, а значения anj (j=l,... ,N)
определяются как альтернативные, так как предполагается, что в любой момент
времени атрибут Аn может принимать
одно и только одно значение anj.
Элементарный
блок альтернатив (ЭБА) можно представить как поименованную структуру
организации данных, т.е. класс, определяющий множество объектов-альтернатив.
Рис.3.1.
Первичное дерево альтернатив
Аi - имя блока;
ai1,
…, aij , …,aim – значения атрибутов
(совокупность альтернатив).
Если представить информацию об атрибуте в иерархической модели, то
можно ввести еще один блок, который называется якорь, т.е. выходной блок.
Рис.3.2. Первичное
дерево альтернатив
с замыкающей
вершиной «якорем»
Следует
отметить, что в элементарном блоке имеет место три вида вершин:
а) вершины
первого ранга: вход и выход;
б) вершины
второго ранга: значения атрибутов;
в)
вспомогательные вершины: рекурсия и транзит.
В подобной
структуре должна быть реализована функция выбора альтернативы (ФВА) при условии
существования значения (кода) альтернативы. Обычно подобная функция содержит в своем теле две составляющие:
рекурсивный (R) и транзитный (Т) блоки.
Транзитный блок
используется в тех случаях, когда ни одна из альтернатив в общем решении не
участвует, а в частном случае может выступать как ограничитель для рекурсивного
перебора альтернатив. То есть когда
ни одно значение атрибута не используется, то можно пройти с входа на выход через
транзитную вершину Тi. Если поиск по альтернативным атрибутам Аi продолжается, то путь лежит через рекурсивный блок Ri. Другими словами, рекурсивный блок используется,
когда необходимо решить задачу поиска альтернативного значения на массиве
альтернатив, т. е. организовать циклический процесс.
В результате
дополнив двухуровневую схему атрибута замыкающей вершиной («якорем»),
транзитным и рекурсивным вершинами, получим структуру элементарного блока альтернатив (рис.3.3.).
Рис.3.3. Структурная схема элементарного блока альтернатив (ЭБА)
Аi - имя блока;
Ri - рекурсивная вершина;
Ti - транзитная вершина;
A*i - замыкание
альтернатив.
Для упрощения совокупность альтернатив назовем блоком альтернатив
(БА); упрощенный вид ЭБА представлен на рис.
Рис. 3.4. Упрощенный вид ЭБА
БAi
= {ai1, …, aij , …,aim }
Совокупность таких последовательно соединенных элементарных блоков образует простую БАС. ЭБА — это базовый блок для формирования сетей. Его использование дает возможность порождать любые
конфигурации сетей или структур.
3.1.2. Алгоритмы навигации на БАС
Для работы с
БАС необходимо создать алгоритмы навигации на
сети. Существует три метода навигации на сети:
•
последовательный;
•
параллельный;
•
смешанный.
Результатом работы алгоритма навигации
является формирование вершинного
маршрута. Формируется маршрут М=(). Основная цель таких алгоритмов
заключается в определении каждого элемента , в оценке согласованности с другими.
Каждый элемент интерпретируется как частное локальное решение. Маршрут интерпретируется как модель
результата решения. Если необходимо сгенерировать некоторую совокупность решений,
то формируется несколько маршрутов, образующих парадигму решений. На массиве
решений возможны реализации задач анализа, выбора, упорядочивания,
оптимизации.
Возможные структуры БАС определяются иерархией отношений между классами
объектов-альтернатив.
Последовательная БАС
Для
последовательной сети последовательный алгоритм навигации может быть реализован
двумя базовыми способами.
1. Прохождение
сети реализуется последовательно, начиная с первого a1 и заканчивая последним аN блоками.
Алгоритм обращается к блоку a1,
просматривает его содержимое и через транзитные вершины передает
результат. Далее переходит к следующему блоку. В итоге образуется некоторый
вершинный маршрут Мj =(a1j, ..., anj,
..., aNj),
который и представляет данные о результате решения. Если какое-то решение
несовместно, то выявляется причина несовместимости и ищется новое решение.
2. Алгоритм обращается
последовательно к каждому блоку и результат из каждого блока передается
обратно в алгоритм. Массив частных решений преобразуется в маршрут, далее
процедура продолжается.
При
последовательной навигации определяется логика прохождения сети, т.е. порядок входа в каждый из блоков, порядок
поиска частного решения внутри блока,
порядок выхода из блока, входа в следующий
блок и «склеивания» частных решений.
Пусть задан кортеж атрибутов (множество
альтернатив):
А
= {an: (n
= 1, 2, …, n)}. Осуществим последовательную генерацию исходов А* = {an*:
(n = 1, 2, …, n)} для каждой из альтернатив с помощью последовательной БАС.
БАС с последовательной стратегией представлена на рис. 3.7.
Рис. 3.7.
Пример последовательной разомкнутой трехблочной БАС
Рис.3.8.
Пример последовательной замкнутой трехблочной БАС
В последовательных БАС генерируемые альтернативные решения соединяются в одну связку с генерирующими следующего ЭБА попарно. В результате вершины А*n и Аn+1 сливаются в одну Аn+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 , aij),
где Аi - атрибут;
rij - определяет отношение между атрибутом и
вершиной-значением aij;
aij
- значение атрибута Аi.
Полное
представление внутриблокового маршрута по схеме исток-сток будет представлять
собой объединение:
AMi : (Аi , rij ,aij) U
(aij ,rji
,A*i),
или в общем виде
для вершин-альтернатив получим вершинный ациклический маршрут:
AMi: (Аi, aij, 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 имеют
место.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
|