Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
286
Добавлен:
18.03.2015
Размер:
8.45 Mб
Скачать

18.3. Вопросы проектирования сои

СОИ являются составной частью иерархической структуры комплекса бортового оборудования и представляют собой сложную многоуровневую информационную систему. В связи с этим методика проектирования СОИ, с одной стороны, должна базироваться на существующих методах проектирования сложных информационно-вычислительных систем, а с другой стороны, - учитывать специфические особенности данного класса бортового оборудования. К числу таких особенностей относятся:

  • высокая размерность задачи проектирования, обусловленная существованием большого числа допустимых проектных альтернатив;

  • неопределенность условий, в которых осуществляется процедура проектирования;

  • отсутствие методологии аналитического синтеза структур подобных сложных многофункциональных систем, что является объективной предпосылкой для эвристического подхода при формировании их оптимального облика.

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

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

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

Процедура выбора оптимального облика комплекса устройств отображения информации включает следующие взаимосвязанные задачи:

- формирование множества допустимых вариантов исходя из существующих требований к составу бортового оборудования;

- формирование критерия оптимальности, адекватного целям проектирования;

- выбор оптимальной проектной альтернативы из множества допустимых вариантов.

При решении первой задачи необходимо учитывать рассмотренные ранее факторы, определяющие состав бортовых устройств отображения информации: характеристики летательного аппарата, ожидаемые условия эксплуатации, существующую систему технического обслуживания, подготовки экипажей и наземного персонала. Все отмеченные факторы нашли свое отражение в действующих нормативных документах, таких как EHЛГС, АП, FAR, JAR, а также в соответствующих рекомендациях ARINC. Еще одним фактором, существенно влияющим на возможности реализации потенциальных преимуществ разрабатываемой системы, является программно-аппаратная среда, в рамках которой формируется множество допустимых вариантов.

В процессе разработки видеокомпьютерных систем отображения информации соотношение программных и аппаратных средств постоянно менялось. Начальный период создания и развития подобных систем характеризовался развитием графических систем, ориентированных на конкретное оборудование. Фактически этот период можно охарактеризовать как ориентацию на технические средства. В следующий период более актуальной стала проблема создания программного обеспечения. Эта проблема решалась в двух аспектах, во-первых, велась разработка алгоритмов машинной графики - генерация примитивных элементов, интерполяция, аппроксимация, формы и методов представления изображений с учетом специфики зрительного аппарата человека, во-вторых, создавались инструментальные средства машинной графики - графические языки, пакеты процедур, языки диалога. Разработка программного обеспечения, независимого от аппаратуры, стимулировалась развитием информационно-вычислительных систем, оснащенных терминальными устройствами различных типов. Первые результаты в этой области были получены применительно к сети ARPA в рамках работ по разработке протоколов для аппаратно и машинно-независимого представления графических данных в сети.

Модель работы пользователя в сети с применением графического протокола можно представить в следующем виде.

Рис. 18.27. Модель использования протокола ARPA

Пользователь терминальной ЭВМ, инициирует связь с центральной ЭВМ сети. Прикладная программа центральной ЭВМ при необходимости выполнить ввод/вывод использует обслуживающую программу, поддерживающую интерфейс прикладной программы с сетевым графическим протоколом. Терминальная программа используется для интерпретации протокола в подходящую аппаратно-зависимую форму и для реализации функций ввода. Данные в сети передаются только в стандартной форме, следовательно, на передающей стороне выполняется кодирование, а на приемной - декодирование информации. Предусмотрено два уровня протокола вывода: сегментированный и структурированный форматы. В сегментированном формате изображение строится из отдельных сегментов, представляющих собой список графических примитивов (точек, линий, строк текста). Терминальная программа выполняет только перекодировку и может быть достаточно простой. В структурированном формате изображение строится из вызовов отдельных сегментов, состоящих из примитивов и вызовов других сегментов. Объем передаваемых данных уменьшается, но на терминальной ЭВМ, как правило, требуется программное выполнение преобразований.

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

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

Структура прикладной графической системы, удовлетворяющей сформулированным требованиям, может быть представлена в виде шестиуровневой модели (см. рис. 18.28).

Процесс преобразования информации при выполнении графического вывода включает, как это показано на рис. 18.29, следующие этапы.

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

Рис. 18.28. Модель прикладной графической системы

2. Нормализующие преобразования мировой системы координат в т.н. нормализованные координаты устройства, имеющие фиксированные пределы изменения, например, от 0.0 до 1.0.

3. Преобразования сегментов, позволяющие манипулировать отдельными сегментами изображения.

4. Преобразования «3D2D» и «2D3D». Первое преобразование необходимо, когда имеется 3D описание изображения и 2D устройства вывода, чтобы спроецировать изображение на заданную картинную плоскость. Наоборот, при 2D сцене и 3D устройстве вывода необходимо выполнить второе преобразование, связанное с размещением изображения. При выполнении этих преобразований может потребоваться выполнение отсечения частей изображения.

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

Рис. 18.29. Процедура графического вывода

Концептуальная модель архитектуры переносимой графической системы представлена на рис. 18.30. На этом рисунке указаны интерфейсы, при стандартизации которых может быть обеспечена переносимость графической системы. Верхний уровень стандартизации - IGES предназначен для обеспечения мобильности компонент прикладной области.

Средний уровень стандартизации - уровень базового графического пакета (GKS) определяется выбором базовых функций системы. Этот интерфейс делает базовую графическую систему независимой от области применения.

Нижний уровень стандартизации - уровень связи с виртуальным графическим устройством (CGI) зависит от выбора примитивов ввода/вывода, что делает базовую графическую систему аппаратно-независимой.

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

Рис. 18.30. Модель архитектуры переносимой графической системы

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

Рассмотрим особенности этих двух способов построения геометрических языков.

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

Первый подход позволяет создать язык, наиболее соответствующий специфике работы с графической и геометрической информацией, но только в том классе приложений, для которых предназначался язык. Характерными примерами графических систем с автономным языком высокого уровня могут служить системы геометрического моделирования трехмерных тел - COMPAC и СИМАК-Д.

Система COMPAC (Computer Oriented Part Coding) предназначена для формирования описания объемных тел из объемных элементов формы - (метод конструктивной геометрии). Кроме трех базовых объемных элементов (кубы, цилиндры, конусы), могут использоваться профилированные детали, получаемые перемещением замкнутого контура вдоль прямой или дуги, а также тела вращения, получаемые вращением замкнутого контура вокруг оси. Элементы задаются, позиционируются и масштабируются специальными языковыми конструкциями. Составление детали из объемных элементов производится с помощью операций объединения, вычитания и отсечения.

Отличия СИМАК-Д от COMPAC состоят в несколько ином входном языке и ином наборе базовых элементов формы, включающем в себя точку, плоскость, прямоугольный параллелепипед, круговые цилиндры и конус.

Как отмечалось, автономные графические языки обладают высокой эффективностью в своей области приложений, однако разработка и использование таких языков сопряжена с рядом проблем:

  • значительные затраты на создание языка и транслятора для него;

  • трудности с последующим расширением языка;

  • недостаточные интерактивные возможности;

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

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

  • модификация существующего транслятора;

  • использование препроцессора, либо макропроцессора, обрабатывающего программу на расширенном языке и превращающего его в программу на исходном языке;

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

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

В качестве примера графического расширения FORTRAN рассмотрим систему GALA. В ней вводится новый тип данных - BILD. Значениями этого типа могут обладать переменные и константы. В качестве системных констант этого типа используются элементарные изображения. Над данными этого типа определены операторы преобразований. Для построения сложных изображений служит оператор совмещения. Над изображением определены операторы манипулирования и опроса. Изображения могут проверяться в условных операторах. Имеются операторы вывода изображений с назначением преобразований и окна отсечения. Средства ввода обеспечивают ожидание и получение данных, разрешение и запрет прерываний. GALA-программа может структурироваться на поименованные сегменты с параметрами или без.

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

Отмеченные недостатки систем с графическим языком высокого уровня привели к тому, что в настоящее время наибольшее применение получили процедурные графические расширения алгоритмических языков, так называемые процедурные языки.

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

Назначение графической системы в такой модели заключается в преобразовании двух или трехмерной модели объекта, формируемой прикладной программой, в графические команды и данные, которые либо передаются на устройства, либо запоминаются в той или иной графической структуре данных.

Использование пакетов графических подпрограмм обеспечивает следующие возможности:

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

  • адаптируемость прикладных программ, т.е. простая приспосабливаемость к новым функциональным требованиям;

  • мобильность прикладных программ, т.е. легкость их переноса в иное окружение.

Аппаратная независимость средств отображения обеспечивается иерархическом принципом их построения в виде некоторого набора логических уровней. Каждый уровень является для последующего виртуальным графическим устройством. Такой подход позволяет безболезненно модифицировать (улучшать) отдельные уровни, легко распределять программное обеспечение между различными ЭВМ, стыковать графическую систему с другими компонентами программного обеспечения. При этом на нижнем уровне находятся аппаратно-зависимые драйверы устройств (иногда организованные в виде самостоятельных графпакетов), обладающие достаточным набором типичных элементарных функций. Назначение этого уровня - формирование файлов вывода на графические устройства. На следующем, среднем уровне, находится аппаратно-независимый графпакет общего назначения. И на верхнем уровне находятся проблемно-ориентированные графпакеты. По иерархическому принципу организовано большинство современных графических систем.

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

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

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

Несмотря на отмеченные недостатки, можно утверждать, что создание пакетов графических подпрограмм стало фундаментом для разработки современных стандартов программного обеспечения видеокомпьютерных средств отображения информации. Главными организациями, формирующими международные стандарты в области информационных технологий, являются ISO (International Organization for Standartization) и IEC (International Electrotechnical Commission). Результатом их деятельности стали следующие стандарты.

1. Основная система (Core-System) - графическая система, позволяющая стандартизовать графический интерфейс.

2. Базовая графическая система (GKS) - набор базовых функций для 2D аппаратно-независимой машинной графики.

3. Базовая система трехмерной графики (GKS-3D) - расширение GKS для поддержки базовых функций в 3D.

4. Иерархическая интерактивная графическая система (PHIGS) - набор базовых функций 3D графики аналогичный GKS-3D, но в отличие от GKS-3D, ориентированной на непосредственный вывод графических примитивов, группируемых в сегменты, графическая информация накапливается в иерархической структуре данных. В целом PHIGS ориентирована на приложения, требующие быстрой модификации графических данных, описывающих геометрию объектов.

5. Языковые интерфейсы (Language bindings) - представление функций и типов данных функциональных графических стандартов в стандартизованных языках программирования.

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

7. Интерфейс компьютерной графики (CGI) - набор базовых элементов для управления и обмена данными между аппаратно-независимым и аппаратно-зависимым уровнями графической системы.

8. CGRM (Computer Graphics Reference Model) - модель стандартов в машинной графике, которая определяет концепции и взаимоотношения применительно к будущим стандартам.

Охарактеризуем основные особенности перечисленных стандартов.

Модель стандарта Core-System приведена на рис. 18.31.

Рис. 18.31. Модель стандарта Core-System

Основные принципы, положенные в основу Core-System, состоят в следующем:

  • разделение функций ввода и вывода;

  • минимизация отличий между выводом на интерактивный дисплей и другие средства отображения информации;

  • концепция двух координатных систем - мировой системы координат, в которой конструируется выдаваемое изображение, и приборной системы координат, в которой представляются данные для отображения;

  • концепция дисплейного файла, содержащего приборную координатную информацию;

  • понятие дисплейного файла сегментов, каждый из которых может независимо модифицироваться как элемент;

  • обеспечение функций преобразования данных из мировой системы координат в приборную путем преобразования форматов.

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

Базовая графическая система (GKS), представленная на рис. 18.32, имеет ряд фундаментальных концепций, отличающих ее от Core-System.

Рис. 18.32. Модель стандарта GKS

Основной отличительной особенностью является понятие рабочей станции, представляющей собой обобщение совокупности виртуальных устройств ввода/вывода, что более полно соответствует современной тенденции использования интеллектуальных терминалов. Рабочая станция обладает следующими свойствами:

  • имеет одну адресуемую поверхность вывода с фиксированным разрешением;

  • допускает только прямоугольное поле отображения, которое не может состоять из нескольких отдельных частей;

  • позволяет задавать и использовать поля отображения, которые меньше максимально возможного, при условии, что изображение не генерируется вне заданного поля отображения;

  • поддерживает несколько типов линий, шрифтов текста, размеров символов и т.д. для вывода примитивов с различными атрибутами;

  • имеет одно или больше устройств ввода для каждого класса устройств, которые независимо друг от друга могут работать в одном из трех режимов - синхронный ввод, опрос, асинхронный ввод;

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

Ясно, что использование рабочей станции излишне, когда приходится иметь дело с одним устройством вывода и ввода. Основная ценность рабочей станции состоит в удобном и естественном способе разделения аппаратно-независимой и аппаратно-зависимой частей.

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

В отличие от Core-System в GKS нет понятия текущей позиции, так что построение примитива не зависит от предыстории вычерчивания. В GKS используется 2 способа задания атрибутов примитивов. Первый – это индивидуальный способ, который не зависит от рабочей станции и основан на индивидуальном задании атрибутов, сохраняющих свое значение пока не будут изменены прикладной программой. Второй - групповой способ, который зависит от рабочей станции и основан на задании независимых групп значений атрибутов.

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

Средства сегментации GKS позволяют манипулировать с сегментами на заданной рабочей станции и на рабочей станции специального типа - приборно-независимым хранилищем сегментов (ПНХС).

Для повышения эффективности конкретных приложений в GKS предусмотрено разбиение на уровни. Используется три уровня вывода и три уровня всех остальных функций.

Отличия базовой системы трехмерной графики (GKS-3D) от GKS заключаются в добавлении 3D функций:

  • примитивов 3D вывода;

  • установки атрибутов вывода (2 функции);

  • поддержки 3D преобразований (9 функций);

  • работы с 3D сегментами и преобразований 2D сегментов в 3D и наоборот (4 функции);

  • ввода с 3D координатных устройств (10 функций);

  • утилит работы с матрицами 3D преобразований (2 функции).

В целом GKS может рассматриваться как подмножество GKS-3D, т.е. 2D приложения, написанные на GKS, гарантированно исполняются в 3D окружении без каких-либо изменений.

Использование GKS или GKS-3D для отображения результатов оценки внешней обстановки предполагает, что моделирование процессов внешней обстановки целиком должна выполнять прикладная программа, так как эти системы ориентированы на прямой ввод/вывод и в них не предусмотрено иного манипулирования графическими данными, кроме накопления в сегментах.

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

Еще одно принципиальное отличие PHIGS от GKS состоит в том, что в PHIGS создание и отображение изображения разделены на две независимых фазы - занесение в централизованную структурную память (CSS - Centralized Structure Store) и отображение заданной структуры на требуемую рабочую станцию.

Структура состоит из графических и неграфических элементов, поддерживаются возможности создания и редактирования структур в CSS. Исходная структура может вызывать другие структуры за счет чего создаются иерархии. Предусмотрено 10 классов структурных элементов:

  • примитивы вывода;

  • локальное преобразование моделирования;

  • обобщенный структурный элемент;

  • глобальное преобразование моделирования;

  • спецификация атрибута;

  • редактирование;

  • прикладные данные;

  • управление;

  • отсечение;

  • исполнить структуру.

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

При интерпретации структуры из ее элементов генерируются примитивы вывода с использованием текущего модельного преобразования. Координаты сгенерированных примитивов вывода заданы в мировой системе координат (World Coordinates - WC).

Отображение в PHIGS выполняется в две стадии. На первой, называемой View Orientation (ориентация отображения), координатная система преобразуется в необходимую для отображения выводимого объекта. На второй стадии, называемой View Mapping (преобразование отображения), объект преобразуется в аппаратно-независимые нормализованные координаты устройства, готовые для вывода на каждой открытой рабочей станции. Проецирование выполняется на этой стадии.

При ориентации отображения мировая система координат заменяется на систему координат точки наблюдения (View Reference Coordinate system - VRC). Суть такой замены состоит в переносе начала координат в точку фактического наблюдения объекта с направлением осей согласно требуемой проекции.

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

Для многих применений требуется одновременное наличие нескольких видов объекта. В PHIGS такая возможность реализуется с помощью оператора «Установить представление вида», который определяет как заданный вид объекта будет показан на требуемой рабочей станции. Отсечение производится для создания части пространства нормализованных координат проекции (Normalized Projection Coordinates - NPC), потенциально видимой на рабочей станции для этого вида.

Существует расширение PHIGS - PHIGS+, имеющее дополнительные функциональные возможности для приложений, требующих учета освещенности, раскраски (интерполяции цветов по поверхности), а также дополнительные возможности по управлению отображением и новые примитивы для поддержки эффективного описания сложных поверхностей. Предоставлена возможность задания в структуре «ограничивающего бокса». Когда он обрабатывается, то устанавливаются флаги отсечения (если ограничивающий бокс полностью вне области вывода) и отбраковки (если ограничивающий бокс меньше заданного размера). Этот дополнительный элемент структуры предназначен для управления пропуском исполнения структуры, образ которой находится вне области вывода, и позволяет повысить скорость отображения.

Интерфейс компьютерной графики (CGI) - это стандарт ISO на интерфейс между аппаратно-независимой частью графического программного обеспечения (базисной графической системой) и аппаратно-зависимой (драйверами).

Для эффективного использования аппаратных возможностей современных графических устройств набор функций CGI перекрывает аппаратно-реализуемые возможности и включает в себя следующие функции:

  • управление устройством;

  • вывод графических примитивов;

  • изменение графических атрибутов;

  • сегментация изображений;

  • графический ввод;

  • растровые операции.

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

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

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

Графические протоколы. Анализ применяемых в настоящее время графических протоколов позволяет выделить следующие их типы:

  • аппаратно-зависимые графические протоколы или команды графических устройств;

  • аппаратно-независимые графические протоколы или метафайлы;

  • прикладные графические протоколы;

  • растровые графические файлы.

Аппаратно-зависимые графические протоколы разрабатываются фирмами, производящими графическое оборудование. Они представляют собой последовательность команд для построения изображений на устройствах выпускаемых данной фирмой. Для интерпретации таких протоколов не требуется дополнительных ресурсов, если используется соответствующее устройство. Поэтому, такие протоколы могут успешно применяться в распределенных системах при отсутствии терминальной ЭВМ.

Вопрос о поддержке тех или иных аппаратно-зависимых графических протоколов определяется составом используемого оборудования. Целесообразно, чтобы центральная ЭВМ обеспечивала возможность генерации команд для наиболее распространенных графических устройств. В настоящее время значительная часть производящейся в мире графической аппаратуры работает с протоколами TEKTRONIX, REGIS и HPGL. Поддержка этих протоколов обеспечивается также в наиболее распространенных зарубежных программных продуктах.

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

Более совершенный вариант этого графического протокола содержит следующие основные группы команд:

  • команды построения векторных примитивов;

  • команды работы с растровыми изображениями;

  • команды управления сегментацией изображения;

  • команды задания цветовых и геометрических атрибутов;

  • команды графического ввода;

  • команды управления плоскостями вывода;

  • команды выполнения видовых преобразований;

  • команды определения символов (графических образов).

Кроме перечисленных функций протокол TEKTRONIX включает множество функций управления алфавитно-цифровым режимом, каналом передачи данных и дополнительными внешними устройствами.

Протокол HP-GL фирмой Hewlett Packard и поддерживается множеством других фирм, выпускающих графопостроители. Операторы языка содержат символьное имя команды и несколько параметров, также подготовленных в печатном текстовом виде. Всего в языке 88 операторов, разбитых на 9 функциональных групп. Ядро языка содержит 5 групп из 55 операторов, которые должны поддерживаться на всех устройствах. Оставшиеся 3 группы из 33 операторов являются специфичными для некоторых устройств. В целом, благодаря использованию явного текстового представления, язык легко читается и интерпретируется.

Языки описания страниц позволят не описывать графические объекты как некоторый пиксельный массив, а использовать описание на высоком уровне в терминах абстрактных графических элементов.

Вывод с использованием языка описания страниц ыыполняется в две стадии:

1. Приложение генерирует аппаратно-независимое описание на языке описания страниц.

2. Программа, управляющая некоторым растровым устройством вывода, интерпретирует описание и отображение его на устройство.

Эти две стадии могут быть выполнены в разное время и в разных местах. Примитивы вывода выдаются на растровое устройство вывода процессом, называемым преобразованием сканирования (растеризация).

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

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

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

Операторы (арифметические, логические, графические и управления) записываются в постфиксной записи и манипулируют со стеком типа LIFO.

В язык встроены следующие изобразительные возможности:

  • изображения строятся из отрезков линий, дуг и кубических кривых;

  • примитивы могут быть выведены линиями требуемого вида, закрашены любым цветом или использоваться для задания области отсечения для других графических элементов;

  • текст полностью интегрирован с графикой, символы как стандартных шрифтов, так и определенных пользователем, рассматриваются как графические образы, которые обрабатываются графическими операторами языка;

  • 2D общая координатная система поддерживает обычные линейные преобразования и их комбинации (сдвиг, поворот, масштабирование, отражение и т.д.);

  • как построенные графическими операторами, так и естественные изображения, введенные, например, с РЛС, могут иметь требуемые разрешение и динамический диапазон.

Аппаратно-независимые графические протоколы или метафайлы представляют собой процедурное описание изображения в функциях виртуального графического устройства. Они обеспечивают возможность запоминать графическую информацию единым образом, передавать ее между различными графическими системами (в том числе работающими на различных ЭВМ) и интерпретировать информацию для вывода на различные графические устройства. Для интерпретации метафайла требуется терминальная ЭВМ, выполняющая эмуляцию не реализованных в аппаратуре функций и кодирование в команды конкретных устройств.

В настоящее время в мировой практике наиболее активно поддерживаются стандартизованные аппаратно-независимые протоколы NAPLPS, GKSM, CGM и WMF - стандарт де-факто фирмы Microsoft на метафайл.

Американский стандарт на представление графических данных в сетях NAPLPS предоставляет следующие возможности:

  • передача графической информации в потоке буквенно-цифровых данных;

  • минимизация объема передаваемых графических данных;

  • простота интерпретации и возможность вывода изображений на простейшие графические устройства.

Обеспечение этих требований привело к тому, что был разработан эффективный способ упаковки графической информации в 7-ми или 8-битные коды ASCII. Эти же требования привели к ограничению функциональных возможностей протокола, что не позволяет получить высокое качество изображений при использовании современных графических устройств.

Graphical Kernel System Metafile (GKSM). Это фактический стандарт на графический метафайл в рамках базисной графической системы GKS. По функциональным возможностям этот протокол полностью соответствует системе GKS со всеми ее достоинствами и недостатками. Поэтому, он легко интерпретируется в системах, соответствующих стандарту GKS.

Недостатком GKSM-протокола (равно как и системы GKS) является, например, минимальный набор стандартизованных графических примитивов (их всего 5), что не позволяет эффективно использовать современные интеллектуальные графические устройства и увеличивает объем передаваемой информации.

Кодирование в GKSM текстовое, что позволяет читать (просматривать, редактировать) метафайл, но требует большего объема, чем символьное кодирование, применяемое в NAPLPS или CGM.

Computer Graphics Metafile (CGM). Это стандарт ISO на графический метафайл. Функционально этот протокол соответствует стандарту на интерфейс виртуального устройства CGI, предназначенного для обеспечения связи различных графических систем с разнотипным графическим оборудованием. В CGM предусмотрены три способа кодирования - символьное, двоичное и текстовое. Символьное кодирование предназначено для хранения и транспортировки графической информации. Двоичное кодирование используется внутрисистемно при генерации и интерпретации. Текстовое кодирование наиболее наглядно и обеспечивает возможность визуального просмотра и редактирования графических файлов.

DXF. Это формат графических файлов, с которыми работает система AutoCad. Его следовало бы отнести к категории аппаратно-зависимых протоколов, но в настоящее время нет ни одного устройства, понимающего этот формат. Применение этого формата целесообразно в том случае, когда возникает необходимость использования графических возможностей системы Autocad.

Windows Metafile Format (WMF) предназначен для сохранения и последующего использования цветных изображений. Метафайл содержит заголовок и собственно описание изображения в виде записей GDI-функций. Всего предусмотрено три варианта метафайла - стандартный, размещаемый (placeable) и буферный (clipboard). Отличия вариантов состоят только в разных структурах заголовков. В составе Windows предусмотрены функции для создания, манипулирования и воспроизведения метафайлов.

Перечисленные аппаратно-независимые графические протоколы ограничиваются 2-мерными графическими примитивами, что не позволяет использовать ресурсы терминальной ЭВМ для сокращения объема передаваемой информации при работе с 3D изображениями. Поэтому представляется целесообразной разработка двухуровневого графического протокола, согласованного с CGM и обеспечивающего возможность передачи 3D объектов. Сокращение нагрузки на линию связи будет происходить в данном случае не только за счет повышения семантической насыщенности передаваемой информации, но и за счет возможности получения на терминальной ЭВМ множества изображений с различными параметрами визуализации (например, множество изображений пространственного объекта с различных точек зрения).

Проблемно-ориентированные протоколы - это объектно-ориентированные протоколы передачи данных между прикладными системами. Они наиболее компактны (вследствие высокой семантической насыщенности), допускают свободу в выборе различных способов графического представления, но требуют большей мощности терминальной ЭВМ для интерпретации. В качестве примеров можно привести следующие стандарты: IGES (Initial Graphics Exchange Specification), STEP (STandard for the Exchange Product Model Data), MAP (Manufacturing Automation Protocol), VDAFS (Sculptured Surface Interface), EDIF (Electronic Design Interchange Format).

Основные трудности, связанные с разработкой протоколов этого уровня, состоят в том, что во многих областях применения до сих пор не унифицированы основные объекты (в том числе графические) и операции над ними.

Растровые графические файлы используются для компактного хранения и транспортировки графической информации, отображаемой на растровых дисплеях. К наиболее известным относятся следующие типы растровых графических файлов: TIFF (Tag Image File Format), GIF (Graphics Interchange Format), PIC, PCX, MAC (MacPaint), BMP (Bitmap).

TIFF (Tag Image File Format). Основной концепцией формата TIFF является цветовая модель изображения. Под этим понимается набор характеристик изображения, определяющих способ представления цвета. Стандартизованы следующие цветовые модели:

  • двухуровневое изображение (bi-level image);

  • монохромное изображение (gray-scale image);

  • индексированное цветное изображение (paletted color image);

  • полное цветное изображение (full RGB image).

Помимо информации о модели изображения формат TIFF содержит метрические характеристики, а именно: размеры изображения, плотность (количество пикселов на единицу длины), с которой создавалось изображение. TIFF не накладывает практически никаких ограничений на параметры изображения. Так, например размеры изображения могут достигать 4 миллиардов бит. Количество битов на пиксел ограничено этим же числом.

TIFF является открытым форматом и позволяет создать любую модель изображения.

GIF (Graphics Interchange Format) использует наиболее распространенную модель изображения - индексированное цветное изображение. Хотя он позволяет хранить изображения двухуровневой и монохромной моделей. Эта возможность реализуется путем соответствующей настройки таблицы цветности.

Достоинством формата GIF является наличие стандартизованного протокола передачи GIF-изображения по линии связи. Формат GIF, в отличие от TIFF, организован по принципу последовательного доступа. Он не содержит оглавлений или каких-либо ссылок внутри себя. Это делает его удобным при передаче изображений в распределенной графической системе.

ZSoft (PCX) использует очень неэффективный метод кодирования, который дает низкий коэффициент сжатия. Однако время, используемое на кодирование/декодирование, практически равно времени кодирования без всякой упаковки. Это обеспечивает преимущества при использовании данного формата в интерактивных системах с быстрой сменой изображений.

MacPaint (MAC) является основным форматом в графических редакторах персональных компьютеров фирмы Apple (Macintosh, Lisa).

BitMap (BMP) служит одним из основных форматов представления растровых изображений в системе Windows. Файл имеет достаточно простую структуру и сохраняет единственное изображение с одним, четырьмя, восемью и двадцатью четырьмя битами на пиксел. Одно-, четырех- и восьмибитовое представления соответствуют индексированному цветному изображению. Для таких изображений в заголовке BMP-файла хранится таблица цветности. Изображение может быть сжато с использованием кодированием длин серий для четырех- и восьмибитовых изображений.

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

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

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

Соответствие цели, которое состоит в том, что проектировщик, зная значение показателя в той или иной ситуации, полностью представляет себе, в какой степени достигается цель проектирования.

Содержательность и интерпретируемость. Сам показатель эффективности, а также его компоненты должны быть понятны проектировщику и иметь ясный физический смысл.

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

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

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

Минимальность числа используемых частных показателей. Как показывают исследования, человек может достаточно легко оперировать с одним - тремя показателями без использования машинных методов обработки. В зависимости от степени подготовленности проектировщика верхняя граница размерности векторного критерия определяется величиной 7 ± 2: при этом с ростом числа показателей увеличивается время анализа получаемых результатов.

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

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

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

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

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

Пусть оценка эффективности исследуемого объекта осуществляется с помощью определенного набора показателей e={e1,e2,...,ep}. Показатели ei и ej имеют одинаковую важность («равноценны»), если значения e(1) и e(2) оказываются эквивалентными с точки зрения оценки эффективности объекта, при условии, что ek(2)= ek(1) для k=1,2,...,n; k¹i; k¹j; и ei(2) = ej(1); ej(2) = ei(1).

В свою очередь, показатель ei превосходит по важности показатель ej, если из ei(1) > ej(2) следует, что значение e(1) соответствует более высокому уровню эффективности, чем e(2). Здесь e(1) и e(2) имеют смысл аналогичный предыдущему случаю.

Опишем теперь методику оценки вариантов компоновки СОИ применительно к отмеченным выше характерным случаям выработки решающего правила.

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

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

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

X1*: max e1(x), по всем x принадлежащим X;

X2*: max e2(x), по всем x принадлежащим X1*; (18.1)

. . . . . . . . . . . . . . . . . . . . .

Xk*: max ek(x), по всем x принадлежащим X*k-1.

Здесь X - исходное множество оцениваемых объектов; совокупность подмножеств X*k, X*k-1, X*1 включает объекты равнозначные в смысле эффективности с точки зрения соответствующего показателя. Процедура (18.1) продолжается до тех пор, пока не будут перебраны все показатели, либо пока для некоторого k мощность множества X*k не окажется равной единице. После этого процедура (18.1) повторяется для элементов множества X(1)=X/X*1 и так далее до тех пор, пока не будет получено разбиение исходного множества X=X1*ÈX1(1)* È...ÈX1(r)*.

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

X*: max e0(x), по всем x X; (18.2)

здесь ;;k = p-1, p-2, ..., 1; rp>0 - произвольное положительное число; dk - нижняя оценка минимально возможного приращения значения k-го показателя, определяемая следующим образом: 0 < dk £ min {ïek(xi) - ek(xj)ï}, по всем i,j=1,2,...,n; причем i¹j и ek(xi) ¹ ek(xj); Dk - верхняя оценка максимально возможного приращения значения k-го показателя, определяемая из условия: ,i=1,2,...,n.

Описанные алгоритмы позволяют проранжировать множество компоновок СОИ по классам эффективности, а также сформировать условные оценки эффективности для этих объектов

Wi = a/ri + b, (18.3)

здесь ri - стандартизированный ранг i-го объекта; b = min W - нижняя грань оценочной функции W; a = (max W - min W) - диапазон изменения значений этой оценочной функции.

Оценка в случае возможных «уступок» по отдельным показателям. Этот случай тесно связан с рассмотренным выше методом оценки по «главному» показателю. Однако на практике приходится сталкиваться с возможным разбросом значений оценочных функций, обусловленным недостатком информации, погрешностями измерений, неточностью исходных данных и т.п. причинами. Указанное обстоятельство необходимо учитывать при выработке решающего правила оценки эффективности вариантов компоновки СОИ. В результате многошаговый алгоритм лексикографической оценки приобретает следующий вид.

После ранжирования показателей эффективности по важности определяется объект, наиболее предпочтительный по главному показателю

, i=1,2,...,n. (18.4)

Далее назначается «уступка» D1 по данному показателю, отражающая возможный разброс значений этого показателя. При этом все объекты, у которых значения исследуемого показателя укладываются в рамки назначенной уступки, считаются равноценными: xl X1*(D1), если e1(xl) ³ e1(xk*) - D1.

На следующем шаге алгоритма определяется объект из найденного множества X1*(D1), наиболее предпочтительный по второму показателю

xr*: max e2(xi), по всем xi X1*(D1). (18.5)

Аналогичные операции осуществляются по всем оставшимся показателям эффективности.

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

. (18.6)

Помимо этого широко используют мультипликативные функции агрегирования вида

. (18.7)

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

Общим случаем агрегирования является средняя степенная функция

; r ¹ 0, (18.8)

где величина r отражает допустимую степень компенсации одних показателей другими.

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

; . (18.9)

Приведем два эффективных алгоритма, реализующих методику свертки оценочных функций в виде (18.6).

Первый алгоритм направлен на выявление взаимонезависимости набора частных показателей по предпочтению и возможности их представления в эквивалентной форме (18.6).

Шаг 1: Разбить множество показателей e на пары вида {e1;ei}, i=2,3,...,p; и положить i=2.

Шаг 2: Зафиксировать каждый показатель ej, j¹i; j=2,...,p; на уровне ejmax.

Шаг 3: Разбить области значений [e1min; e1max] и [eimin; eimax] на две примерно одинаковые части с границами e1*; ei*.

Шаг 4: Образовать пары значений вида (e1min;ei*); (e1*;ei*).

Шаг 5: Уменьшить значение ei на фиксированную величину di < ei*-eimin.

Шаг 6: Найти эквивалент предпочтения для уменьшенного значения ei, т.е. такие значения D1 и D2 изменения оценки e1, чтобы выполнялись условия: пара значений (e1min;ei*) эквивалентна по предпочтительности паре (e1min+D1; eimin-di) и (e1*;ei*) эквивалентна (e1*+D2; ei*-di).

Шаг 7: Образовать пары значений (e1min;eimax) и (e1*;eimax).

Шаг 8: Сформировать значение уступки bi по оценке показателя ei в точке (e1min;eimax), компенсирующей увеличение значения e1 на величину D1 так, чтобы выполнялось условие: пара значений (e1min; eimax) эквивалентна паре (e1min+D1;eimax-bi) по эффективности.

Шаг 9: Оценить выполнения условия: пара (e1*; eimax) эквивалентна по эффективности паре (e1*+D2; eimax-bi).

Шаг 10: Если условие выполняется, идти к шагу 11, в противном случае агрегирование показателей в форме (18.6) невозможно.

Шаг 11: Зафиксировать показатели ej, j¹i; j=2,3,...,p на уровнях ejmin и повторить шаги 3 - 10.

Шаг 12: Положить i=i+1 и проверить условие i > p; если условие не выполняется - перейти к шагу 2, в противном случае - закончить алгоритм с выводом о возможности использования формы (18.6).

Второй алгоритм основывается на методе половинного деления и предназначается определения весовых коэффициентов nk (k=1,2,...,p) в формуле (18.6).

Шаг 1: Установить области изменения оценок по каждому показателю [eimin; eimax], i=1,2,...,p.

Шаг 2: Положить fi(eimin)=0; fi(eimax)=1.

Шаг 3: Разбить области изменения оценок на две подобласти граничными точками ei*, i=1,2,...,p.

Шаг 4: Для каждого j=1,2,...,p выполнить шаги 5-11.

Шаг 5: Присвоить значения y-=ejmin; y+=ejmax и положить r=1.

Шаг 6: Зафиксировать значения частных показателей ei на уровнях ei*; i¹j; i=1,2,...,p и положить yл = y-; yп= y+.

Шаг 7: Вычислить y(r) = 0,5(yл + yп).

Шаг 8: Получить оценку предпочтительности увеличения ej от значения y- до y(r) над увеличением ej от y(r) до y+ вследствие уменьшения значений остальных показателей ei; i=1,2,...,p; i¹j.

Шаг 9: Если предпочтительнее переход y- ® y(r), то положить yп= y(r), если предпочтительнее переход y(r) ® y+, то yл = y(r); перейти к шагу 8. Если переходы одинаковы по предпочтительности, то присвоить

fj(y(r)) = 0,5, если r=1;

fj(y(r)) = 0,25, если r=2;

fj(y(r)) = 0,75, если r=3.

Шаг 10: Положить r = r+1 и проверить условие r > 3: да - окончить вычисления, нет - перейти к шагу 11.

Шаг 11: Присвоить

y- = ejmin, y+ = y(1), если r=2;

y- = y(1), y+ = ejmax, если r=3.

Перейти к шагу 6.

Шаг 12: Осуществить линейную интерполяцию функциональных зависимостей fi(ei); i=1,2,...,p.

Шаг 13: Для всех пар (k,l), k¹l; k,l=1,2,...,p; выполнить шаги 14-16.

Шаг 14: Осуществить попарное сравнение оценок e(k) и e(l), где ei(k)=eimin, при i¹k; и ek(k)=ekmax; в свою очередь ei(l)=eimin, при i¹l; и el(l)=elmax.

Шаг 15: Если e(k) предпочтительнее e(l), то найти такую величину ek*<ekmax, при которой оценки e(k) и e(l) окажутся эквивалентными; если el(l) предпочтительнее e(k), то определить аналогичную величину el*.

Шаг 16: Составить уравнение

nkfk(ek*) = nl; (или nlfl(el*) = nk).

Если при выполнении шага 15 оценки e(k) и e(l) эквивалентны, положить nk = nl.

Шаг 17: Решить систему уравнений относительно ni

nifi(ei) = nj; i¹j; i,j=1,2,..., p; .

Шаг 18: Конец.

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

Выбор варианта оптимальной компоновки СОИ. Методы глобального случайного поиска, копирующие механизмы естественной биологической эволюции, получили название генетических алгоритмов (ГА).

Поиск оптимального решения при этом похож на эволюцию популяции индивидов, представленных их наборами хромосом (генотипами). Каждому индивиду приписывается определенный «индекс пригодности (приспособленности)» в зависимости от того, насколько удачным является данный конкретный вариант решения задачи. Далее, наиболее пригодным индивидам предоставляются возможности «размножения» путем «скрещивания» с другими индивидами в популяции и видоизменения за счет мутации хромосом. В результате этого появляются новые индивиды - «потомки», которые наследуют часть признаков от каждого из своих «родителей». Среди членов полученной таким образом популяции производится «селекция» – отбор наиболее пригодных представителей. В силу этого новое «поколение» сохраняет в значительно большей пропорции те качества (признаки), которые были присущи лучшим представителям предыдущего поколения. Применяя описанную выше схему из поколения в поколение и поощряя скрещивание и обмен признаками прежде всего среди наиболее пригодных индивидов, происходит последовательное улучшение популяции, путем сохранения и преумножения в ней наиболее предпочтительных генотипов. Другими словами, в процессе поиска будут исследоваться наиболее многообещающие перспективные области пространства допустимых вариантов. При правильном функционировании генетического алгоритма, сформированная с его помощью популяция сходится к оптимальному решению задачи.

Для того, чтобы начать процедуру поиска, создается начальная популяция S(0), например, из N двоичных хромосом , , каждая из которых содержитM бит. Под двоичным вектором-хромосомой s здесь понимается двоичное представление (кодирование) исходного оптимизируемого параметра V, физический смысл которого определяется особенностями конкретной решаемой задачи. Обычно такая популяция создается случайным образом, т.к. заранее не известно, где именно в Ω находится глобально оптимальное решение.

Используя указанную выше популяцию S(0), можно перейти к вычислению последующих популяций S(1), S(2) и т.д. Для этой цели обычно используют три генетических оператора – отбора (selection), кроссинговера (crossing-over) и мутации (mutation).

В качестве метода отбора в стандартном ГА используется т.н. метод «колеса рулетки». При этом методе отбора хромосомы-кандидаты из t-го поколения S(t) выбираются в следующее поколение S(t+1) путем использования колеса рулетки, где каждая хромосома si(t) в популяции представлена на колесе в виде сектора, ширина которого пропорциональна соответствующему значению функции пригодности f(si), которая оценивает качество соответствующего варианта. Процедура отбора сводится к вращению колеса рулетки N раз и принятием в следующее поколение тех хромосом s1, s2,…, sN, которые будут выделены по завершении вращения.

Оператор кроссинговера применяется по отношению к паре случайно выбранных хромосом из S(t). Далее для этой пары определяется случайное число , называемое местом (сайтом) кроссинговера, или же точкой разрыва. Затем биты двух выбранных хромосом меняются местами послеk-го бита. Этот процесс повторяется определенное количество раз для других пар хромосом.

Пример действия оператора кроссинговера для точки разрыва k=3 над двумя 5-битовыми хромосомами представлен на рис. 18.33.

Рис. 18.33. Оператор кроссинговера

После осуществления кроссинговера к случайно выбранной хромосоме из S(t) применяется оператор мутации. Его действие состоит в случайном изменении (на противоположное) значения каждого бита с заданной вероятностью мутации Pмут.

Из перечисленных выше трех операторов оператор кроссинговера является наиболее критичным с точки зрения получения глобальных результатов. Он отвечает, прежде всего, за смешивание информации, содержащейся в хромосомах. В отличие от него, целью оператора мутации является диверсификация, т.е. повышение разнообразия поиска и введение новых хромосом в популяцию для того, чтобы более полно исследовать пространство поиска. Мутация инициирует разнообразие состава популяции, позволяя просматривать больше точек в пространстве поиска и преодолевать таким образом локальные экстремумы. Однако слишком частое применение мутации приводит к разрушению хромосом с высокой приспособленностью, что влияет на сходимость решения. Поэтому она обычно осуществляется с малой вероятностью 0.001≤ Pмут ≤0.01.

Хотя генетические алгоритмы являются эффективным средством решения задач дискретной оптимизации, но им свойственно следующее противоречие - чем выше скорость сходимости алгоритма, тем больше вероятность получения локально-эффективного решения. Это противоречие можно устранить на основе компромисса между широтой и глубиной поиска, что реализуется в адаптивных ГА. Главное отличие таких алгоритмов от стандартного заключается в настройке параметров генетических операторов таким образом, чтобы обеспечить оптимальную скорость сходимости, гарантирующую приемлемое качество найденного решения. Однако в настоящее время отсутствуют достаточно универсальные механизмы адаптации, позволяющие гибко перестраивать стратегию поиска в зависимости от достигнутого результата.

Рассмотрим версию адаптивного генетического алгоритма, модифицированного к задаче поиска оптимального состава комплекса бортового оборудования. Каждое возможное решение этой задачи кодируется в виде составной хромосомы с помощью стандартного двоичного кода Грея. По существу, такая кодировка соответствует разбиению пространства решений на гиперкубы, которым соответствуют уникальные комбинации битов в строке - хромосоме. При этом длина M каждой хромосомы соответствует номенклатуре используемого оборудования, а их число N - количеству исследуемых вариантов построения бортового комплекса. Хромосомы представляют собой наборы двоичных элементов Si=(q1,q2,…, qM), i=1…N, разделенные на участки (гены), соответствующие различным видам. Бинарная кодировка производится следующим образом:

где j=1…M.

В качестве примера подобной кодировки ниже приведены пять возможных вариантов построения бортовых комплексов. В табл. 18.1 приводится расшифровка состава оборудования для каждого варианта.

S1=10000010010000001000101

S2=01000001001000000100011

S3=00100000100100000010101

S4=00010010000010000001011

S5=00001001000001001000101.

Таблица 18.1

Варианты распределения оборудования по комплексам

Используемое оборудование

Варианты КБО

Средства отображения информации

МФИ 10-5

1

0

0

0

0

МФИ 10-6

0

1

0

0

0

МФИ-104

0

0

1

0

0

ЖК-АМ МФИ-2000-1

0

0

0

1

0

TDS-10LH/TDS-10LL

0

0

0

0

1

TDS-10PH/TDS-10PL

0

0

0

0

0

Многофункциональные пульты управления

ПС-2 сер.1

1

0

0

1

0

ПС-5

0

1

0

0

1

ПСИ

0

0

1

0

0

Система управления полетом

БИАВС

1

0

0

0

0

ВСС-95-1

0

1

0

0

0

КАБРИС-31

0

0

1

0

0

АБРИС

0

0

0

1

0

FMS

0

0

0

0

1

ЛИНС-2000

0

0

0

0

0

ИСС-1

0

0

0

0

0

Навигационный приемник

СН-3022

1

0

0

0

1

СН-99

0

1

0

0

0

СН-3704

0

0

1

0

0

СН-3301

0

0

0

1

0

Система предупреждения опасной близости земли

GPWS

1

0

1

0

1

TAWS (TTA-124)

0

1

0

1

0

Система предотвращения столкновений в воздухе

TCAS

1

1

1

1

1

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

В качестве оценочных функций исследуемых вариантов были выбраны: масса (Massaj), объем (Objemj) и оценка эффективности работы (Ozenkaj). Значения этих показателей для рассматриваемых устройств приведены в табл. 18.2.

Таблица 18.2

Технические характеристики устройств

изд.

Изделие

Объем, дм3

Масса, кг

Оценка

Средства отображения информации

1

МФИ 10-5

10,978

8

75

2

МФИ 10-6

7,057

5,1

85

3

МФИ-104

8,364

9

90

4

ЖК-АМ МФИ-2000-1

7,451

7

93

5

TDS-10LH/TDS-10LL

6,273

6

90

6

TDS-10PH/TDS-10PL

6,273

6

85

Многофункциональные пульты управления

7

ПС-2 сер.1

7,322

7

75

8

ПС-5

5,305

8,5

85

9

Пульт системы индикации (ПСИ)

2,745

3,5

65

Системы управления полетом

10

БИАВС

2,646

3

85

11

ВСС-95-1

5,691

4,5

75

12

КАБРИС-31

7,436

5,5

85

13

АБРИС

10,921

6,2

90

14

FMS

2,981

2,5

85

15

ЛИНС-2000

8,872

9

85

16

ИСС-1

22,08

18

75

Навигационные приемники

17

СН-3022

0,212

1

85

18

СН-99

1,415

1,2

70

19

СН-3704

0,215

0,14

80

20

СН-3301

2,311

2,4

75

Система предупреждения опасной близости земли

21

GPWS

3,792

3,64

80

22

TAWS(TTA-124)

3,516

5

85

Система предотвращения столкновений в воздухе

23

TCAS

0,360

8,28

85

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

;

;

. (18.10)

Таблица 18.3

Суммарные оценочные функции

вар-та

Вариант КБО

Sum_Massa

Sum_Objem

Sum_Ozenka

1

100000 100 1000000 1000 10 1

30,92

124,1095

485

2

010000 010 0100000 0100 01 1

32,58

23,344

465

3

001000 001 0010000 0010 10 1

30,06

22,912

505

4

000100 100 0001000 0001 01 1

35,88

31,881

503

5

000010 010 0000100 1000 10 1

29,92

18,923

490

Для вычисления функции пригодности f(si) каждой особи (также иногда называемой термином фитнесс – fitness), используется метод обобщенных рангов. С этой целью производится ранжирование особей, входящих в рассматриваемую популяцию, в соответствии с полученными суммарными характеристиками, и каждому варианту присваивается ранг в виде натурального числа (см. табл. 18.4), причем наивысшим рангом обладает лучшее, с точки зрения соответствующей оценочной функции, оборудование.

Таблица 18.4

вар-та

Rang_Massa

Rang_Objem

Rang_Ozenka

Sum_Rang

1

3

1

2

6

2

2

3

1

6

3

4

4

5

13

4

1

2

4

7

5

5

5

3

13

В качестве функции пригодности берется суммарный ранг каждой хромосомы в популяции (Sum_Rangi). Его величина для одной и той же хромосомы входящей в состав отличных друг от друга популяций может изменяться. Это связанно с тем, что величина целевой функции хромосомы определяется не только ее собственными элементами, но и ее «соседями» по популяции, их численностью и их оценочными функциями.

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

После ранжирования осуществляется процедура «элитного отбора»: в новую популяцию S(t+1) помещаются представители популяции S(t), имеющие максимальные ранги - insert(S(t+1),Si|Sum_Rangi=max) (в описанном выше примере, это хромосомы №3 и №5).

Между оставшимися представителями популяции производятся операции кроссинговера и мутации. Процедура кроссинговера позволяет реализовать механизм адаптации параметров алгоритма оптимизации на основе компромисса между скоростью сходимости и качеством получаемого локально-оптимального решения. Суть предлагаемого механизма адаптации сводится к тому, что вероятность p(Si) отбора особей гибко меняется в зависимости от предыстории поиска. С этой целью используется нормальный закон распределения вероятности отбора. Математическое ожидание принимается равным значению функции пригодности наилучшей для данного поколения хромосомы популяции М=Max(Sum_Rangi). Если в очередном поколении произошла смена наилучшей хромосомы, то дисперсия принимает максимальное значение, расширяя тем самым диапазон поиска. Если же на протяжении нескольких поколений более предпочтительная хромосома не находится, то дисперсия уменьшается, в простейшем случае, пропорционально числу поколений

, (18.11)

где Dmax – максимальное значение дисперсии; β – коэффициент, определяющий скорость сходимости алгоритма; g – число «неудачных» поколений.

В соответствии с p(Si) выбираются родительские особи SC1=Get(S(t)) и SC2=Get(S(t)), и производится операция кроссинговера SC=Crossover(SC1,SC2). Специфика рассматриваемой задачи оптимизации влияет на способ проведения этой операции. Чтобы сохранить состав оборудования, необходимый для выполнения его основных функций. разрыв родительских хромосом осуществляется только в точках их деления на гены, соответствующие различным видам используемого оборудования. Более гибкой является схема, когда выбирается несколько точек разрыва и выполняется многоточечный кроссинговер.

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

Полученные в результате кроссинговера и мутации хромосомы потомков случайным образом отбираются в следующее поколение. Хромосомы отбираются из расширенной популяции, которая пополняется новыми представителями - потомками, образованными вследствие кроссинговера, и мутировавшими хромосомами. Для этого сначала производится перерасчет значений функции пригодности всех членов расширенной популяции, а затем совершается адаптивный отбор insert(S(t+1),SС,SM). При этом каждый новый потомок проходит «проверку на идентичность», суть которой состоит в недопущении попадания в новую популяцию одинаковых особей insert(S(t+1),SС, SM |SC, SM Si S(t+1)).

Блок-схема описанного ГА показана на рис. 18.34.

Используемый в данном алгоритме механизм адаптации обеспечивает еще одно важное преимущество – задает логически обоснованный критерий остановки поиска. Обычно в качестве такого критерия используется либо произвольно заданное число поколений, либо желаемое значение функции пригодности, при достижении которых поиск прекращается. В нашем случае поиск прекращается, если дисперсия уменьшается до такой величины, когда вероятность изменения лучшего из найденных вариантов бортового оборудования становится пренебрежимо малой. Пусть в качестве порогового значения СКО выбирается величина, равная 10% от его максимального значения. Тогда при достижении СКО порогового значения случайная величина Sum_Rangi с вероятностью 0.997 будет находиться в интервале [Sum_Rangmax–0,3; Sum_Rangmax+0,3]. Поскольку функция пригодности, заданная суммарным рангом, может принимать только целочисленные значения, то это означает, что заведомо будет отобрана наилучшая хромосома с максимальной функцией пригодности. Следовательно, поиск перестает быть случайным и его дальнейшее продолжение теряет смысл.

Рис. 18.34. Блок-схема модифицированного генетического алгоритма

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

Соседние файлы в папке ГЛ.16,17,18,19