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

кандидата физико-математических наук
Ермолаева, Елизавета Каральбиевна
город
Нальчик
год
2000
специальность ВАК РФ
05.13.16
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка адаптивной экспертной системы сравнительного анализа алгоритмов и программ»

Автореферат диссертации по теме "Разработка адаптивной экспертной системы сравнительного анализа алгоритмов и программ"

ргв ед

1 ^ ¿¿л

На правах рукописи

Ермолаева Елизавета Каральбиевна

Разработка адаптивной экспертной системы сравнительного анализа алгоритмов и программ

Специальность 05.13.16 - Применение вычислительной техники,

математического моделирования и математических методов в научных исследованиях

Автореферат

диссертации на соискание ученой степени кандидата физико-математических наук

Нальчик-2000

Работа выполнена в Кабардино-Балкарском государственном университете им. X. М. Бербекова

Научный руководитель: доктор технических наук,

кандидат физико-математических наук, профессор Тимофеев A.B.

Официальные оппоненты: доктор технических наук,

кандидат физико-математических наук, профессор Ошхунов ММ.;

доктор физико-математических наук, профессор Наталуха И.А.

Ведущая организация: Институт информатики и проблем

регионального управления КБНЦ РАН.

Защита состоится « 29 » марта 2000 г. в 10 часов на заседании регионального диссертационного совета К200.74.01 в НИИ ПМА КБНЦ РАН, по адресу: 360000, г. Нальчик, ул, Шортанова, 89 «а».

С диссертацией можно ознакомиться в научной библиотеке НИИ ПМА КБНЦ РАН

Автореферат разослан « <?» 2000 г.

Ученый секретарь РДС К200.74.01 к.ф.-м.н _

J

Шибзухов З.М.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

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

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

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

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

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

ранжирования объектов а1,а2,...,ат составляющих множество

А = {ах,а2,...,ат} по критериям Р = Рп} и метод взвешен-

ной линейной свертки для сертификации качества программ в четкой и нечеткой среде.

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

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

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

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

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

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

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

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

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

Реализация результатов работы. Реализованные в диссертационной работе методы и алгоритмы легли в основу программного средства «Эксперт», реализованного на IBM PC совместимых компьютерах.

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

> III международной конференции «Региональная информатика -95», 1995г, С.-Петербург;

> II Всероссийской конференции «Распознавание образов и анализ изображений: новые информационные технологии», 1995г, Ульяновск;

> Международной научко-практической конференции «Зльбрус'97 - новые информационные технологии и их региональное развитие», 1997г, Приэльбрусье.

> На научно-исследовательском семинаре отдела интеллектуали-зиции информационных и управляющих систем НИИ ПМА КБНЦ РАН.

> На расширенном семинаре кафедры «Информатики и математического обеспечения автоматизированных систем» Кабардино-Балкарского государственного университета, 1999г, Нальчик.

Публикации. Результаты диссертации опубликованы в 6 работах. Объем и структура диссертации. Диссертация состоит из введения, пяти глав, заключения и приложения. Общий объем диссертации составляет 100 стр.______

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

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

1. «какие качества ... подлежат рассмотрению в смысле влияния на оценку сравнительного достоинства»;

2. «каким числом каждое из этих качеств в отдельности измеряется»;

3. «какие относительные множители приписываются тем качествам, коим дается предпочтение».

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

Упрощенная схема построения сводного показателя (2 некоторого исследуемого объекта предсгавима в виде:

1. Формируется вектор Р = [Р1,Р2,...,РП] исходных характеристик, каждая из которых необходима, а все они вместе - достаточны для полного, всестороннего оценивания исследуемого объекта.

2. Формируется вектор <7 = {<71><72>--->'7л/} отдельных показателей, представляющих функции с/ДР), г = 1,2,...,Л/, исходных показателей Р — \Р^,Рг,...,Рп} и оценивающих различные аспекты исследуемого объекта с использованием М различных критериев. В простейшем случае каждый отдельный показатель является функцией одной исходной характеристики х{: д, = ), г = 1,2,..., М, М = п.

3. Выбирается вид синтезирующей функции ()(ц), сопоставляющей вектору отдельных показателей д = {ч^Чг^-^Ям) сводную оценку Q ~ 0(ч)> характеризующую исследуемый объект в целом. Синтезирующая функция Q зависит от вектора О) = {(У, ,а)2,...,0)м } положительных параметров со] ,6)2 ,...,а)м , определяющих значимость отдельных показателей для сводной оценки (? соответственно:

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

Дополнительное условие нормировки (¿у, +а>2 + ...-Ьб)и — 1) позволяет говорить о значении параметра (о1 как об оценке относительного веса отдельного показателя д1.

На множестве всех оцениваемых объектов, отождествляемых с

векторами показателей = {д^Кд^К—у^м1} ) = 1,2,...,»г рассмотрим отношение покомпонентного доминирования, обозначаемое > и определяемое соотношением:

(*<'> / дГ Ы?) и (з }, д? >*?>)).

Это соотношение можно трактовать следующим образом: объект д(г) предпочтительнее по оцениваемому качеству (по эффективности, по

надежности, по мобильности и т.д.), чем объект тогда и только тогда, когда он не менее предпочтителен по каждому отдельному критерию и существует критерий, по которому первый объект предпочтительней второго.

Отношение порядка введем следующим образом:

(?(г) Ьд<'>)е>((д<г> > 4™)ипи^ = *<'>)). Существенной трудностью, возникающей при упорядочении программ или алгоритмов с помощью отношения покомпонентного доминирования, является наличие большого числа программ или алгоритмов

д(г\д^), несравнимых по отношению О . _—--

Для решения этой проблемы привлекается дополнительная информация, позволяющая все же сравнивать «несравнимые» векторы

д(г),д(!) отдельных показателей путем перехода к сводным показателям £К(?<Г))> бО?*'*)- Синтезирующая функция ()((}) является монотонной, т.е. удовлетворяет условию > <?<,)):=> ^

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

Формирование сводного показателя (2{(}(РУ,&>) исследуемых объектов обычно происходит в условиях дефицита информации, когда имеет место неопределенность выбора функций (¡¡(Р), / = 1,2

()((]) и вектора (О = {(У, ,й)2,...,й)м }. Указанная неопределенность усугубляется еще и тем, что во многих случаях доступная информация не имеет числового характера и описывается при помощи лингвистических переменных. В таком случае значение сводного показателя представляется нечеткой величиной.

Пусть С,М} — лингвистическая переменная, описы-

вающая сводный показатель, Т ~ {Т^-} — ее базовое терм-множество, |Т| = п. По определению лингвистической переменной каждое ее значение Т{ является наименованием нечеткой переменной где С| = Обозначим носитель нечеткого множества с; через .

хеХ

Пусть (р,х,с0}~ нечеткая переменная, семантика которой определена нечетким множеством с0, вычисленным в результате выполнения некоторого нечеткого алгоритма. Пусть также известно, что данная нечеткая переменная является значением лингвистической переменной ув.

Требуется найти наименование нечеткой переменной р в расширенном терм-множестве Т лингвистической переменной /7.

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

Для формального описания характеристик программ используем лингвистическую переменную ¡3 с терм-множеством

Т = {" плохое"," среднее"," хорошее"}.

Построим элементы расширенного терм-множества Т . Процедуру G представим в виде контекстно-свободной грамматики:

G = (VN,Vr,U,n), (1)

где

Vn={A,B,C,D,E,F,H,U},

VT = {Л,_и_,_или_,не_,очень_}иТ;

П: £/ -» АВЕН CDF, U АВЕ\

Н ->_и_, Н —>_или_; А -> не_, А->Л;„

В-кочень_, В-+Л; С A, D->B;

F->E, £->Г,; Е-+Т2, Е-*ТЪ.

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

VT —множество терминальных символов;

VN — множество нетерминальных символов;

U — начальный символ; Л — пустой символ; П — множество правил подстановки.

Тогда Т* = L(G),, где L(G) — язык порождаемый грамматикой (1).

Язык L(G) состоит из цепочек двух типов 7, и ?]2.

Цепочки типа JJ{ имеют вид mlm2T, цепочки типа TJ2 — вид

т][_и_tj" либо. ц[_или_77, . Здесь ml е {не_,Л},

Tt вТ, m2 е {очень_,Л}, т][ и Т}'2 - цепочки типа

Семантика каждого из термов Tj 6 Т* задается процедурой М, которую опишем следующим образом:

М(Т,) = сГ, М(ие_7]) - с]; М{очень__Т1) = (с>)2;

М{не_очень_7]) = (с;)2;

М(т][ __или_rf) = М\т)\) uМ(?/");

Построение нечеткого множества С(- для терма 7], осуществляется на основании экспертных оценок. Остальные уравнения описывают аналитические преобразования семантики базовых термов, задаваемой

нечеткими множествами с{.

Пусть Т., Т. — два терма лингвистической переменной /?; С(.,Су € С — соответствующие им нечеткие множества.

Нечеткое отношение сходства 5 между нечеткими множествами, описывающими значения термов лингвистической переменной, зададим

функцией принадлежности //5 : Сх С —» [ОД]

Вид функции Ц5 определяется выражением: кпсу|

где [/4] — мощность нечеткого множества А.

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

с к = тах/у,(с0,с.),

г с С

где С —система нечетких множеств, соответствующих термам

6 г*.

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

Логико-вероятностная модель оценки качества программ и алгоритмов.

Пусть дано множество алгоритмов и программ

А = (а, ,а2 ,—,ат }, которые в дальнейшем будем называть объектами. Каждый объект множества А описывается набором показателей качества Р = {Р1,Р2,...,Рп), 1 =1,2,...,и, Р;: А —» , где V. ~ дискретное множество значений / — го показателя качества, определенное на [#,/?], а,Р 6 {О,//}, ./V — множество натуральных чисел. Каждый объект из

А характеризуется показателем эффективности, который описывается целевой переменной И^ = {И/1,И/2,...,И/Г}, г е /V, 1¥:А—

IV; е [ОД], г = 1,2,...,г. Задано некоторое подмножество А° С А. Для о 10

каждого а € А известны значения показателей качества р1 — р^ = р„(а°) и значение целевой переменной

Щ =Ща°), ¿ = 1,2

Эмпирическая информация задана в виде таблицы. Данные таблицы описываются множеством

У = где 7=1,2,

Р/ = Р1 (аJ ) - значение / — го показателя Р1 е Р у - го объекта а - е А; И7^ = й^(Оу) — значение показателя эффективности у —го объекта а] е А, ^ е [ОД], е {1,2,..., г}.

Требуется построить систему решающих правил Е, где

^-Г\Р< = Р1 е РГ, е {1,2,...,г}, л > р ,

1/2 < р <1, которая позволяла бы для каждого объекта а - е А находить значение показателя эффективности на основе значений показателя качества Р/Р/,..., Р/.

Введем обозначение ^{р°>•■■>это соотношение означает, что значение показателя эффективности, полученное по системе решающих правил £ при заданных значениях показателя качества

>•••■>р1 . равно ¡^Г, еИ^, 70 € (1,2,...,г} с вероятностью р, где р> р*.

Система правил 2 должна удовлетворять следующим требованиям:

1. Система 2 должна давать правильные ответы на множестве объектов А° :

Уа° е А0

где р> р*;

2. Система правил должна быть оптимальной, например, минимальной по сложности представления и позволяющей принимать решения за минимальное число шагов.

Логико-вероятностная модель оценки качества объектов состоит из следующих шагов:

> Формирования обучающей базы данных А0 с: А;

> Формализации процедуры построения системы решающих правил 21.

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

Для обучающей выборки А0 разработаем структуру базы данных и заполним ее.

База данных представлена отношением

ЛаР.хР. х... х Р х РГ х УЯ.

—■ I 4 П

Элементом отношения К являются кортежи арности п + 2. Каждой строке исходной таблицы соответствует кортеж отношения К, а каждый столбец соответствует одному и тому же компоненту декартова произведения.

Разработанная схема реляционной базы данных представится в виде

Поля базы данных с именами Рх,...,Рп,1¥ заполняются из таблицы.

Определим вероятностную оценку а . е А0, } — 1,2,...,т.

Обучающую выборку А0 разобьем на классы (г = {(/,,..., С, где # е {1,2,...,/и}, / = 1,2,...,^, элементы I-

го класса С, — строки таблицы V (записи базы данных), содержащие одинаковый набор значений показателей качества при раз-

личных или одинаковых значениях показателя эффективности, то есть список объектов попавших в класс Ог, описывается кортежем вида

где ^ € IV, I = 1,2,..., для каждого

1,7'е/,. с {1,2,...,г}.

Для каждого значения показателя эффективности IV^ £ IV определим частоту его появления в классе О, по формуле:

рл =-—-, € {1,2,..., г\, где —общее число элементов в 1-м классе,

И{/ — IV^ — число элементов в 1-м классе со значением показателя эффективности / = ^ е IV, и запишем полученное значение в

соответствующее поле УК базы данных.

В таблице V могут присутствовать строки, в которых частота р

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

А

Построим обучающую базу данных Ас: А:

I. В качестве первоначальной обучающей выборки возьмем подмножество А1 С А0. По выбранной обучающей выборке А1 строится система правил Е1;

II. Формируем контрольную выборку А* с: А° \ А1.

1). Если 3 ак е Ак : ,...,Р„к)=Игк и

и р'>р* или и р'<р') (2)

то необходимо переобучение или дообучение системы правил, после чего

V* 2 к як

получим систему решающих правил £ . Элемент а е А , для которого верно соотношение (2) включается в А1.

Процесс продолжается до тех пор, пока не найдется система ре_шающих правил ХУ , удовлетворяющих условию:

УакеА° р>р, (3)

2) Если на очередном шаге у =/0 с {1,2,..., от} множество

А = 0, а условие (3) не выполнилось, то возникшая проблема связана:

а) с неполнотой обучающей выборки А0. В этом случае необ-

ло.

ходимо увеличение мощности А ,

б) с недостаточным или противоречивым описанием объекта а] 6 А. В этом случае необходимо добавление в набор системы показателей новых информативных показателей объекта.

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

м «=1 V. * /

где к 6 /, с {1,2,...,г}.

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

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

Процедура построения решающих правил корректна, если обучающая выборка А° удовлетворяет условиям:

А) р

В) р

Р{а) = 1У°1Г\Р1{а) = р°

м0

=1,

£р

где 10 с {1,2,...,«}, е Уг

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

зателя эффективности, то в систему правил Е поступает коньюктив-

ное правило, составленное по строке таблицы на Р^ , истин-

. «

ное с вероятностью р > р .

Сформированная таким образом система решающих правил записывается в базу знаний экспертной системы.

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

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

1. Анализируя обучающую базу данных подбираем к исследуемому

к I

объекту а наиболее близкий объект а . Мера близости между объектами определяется суммой невязок между соответствующими значениями показателей качества Pi,...,Pll, сравниваемых объектов при определенном критерии значимости.

2. Значение показателя эффективности объекта а берется равным

значению показателя эффективности объекта а' и в базу знаний экспертной системы поступает правило: м

f)P* =

где W° — значение эффективности объекта а',

р° — вероятностная оценка / — го объекта, представленная в виде:

р° = —, а, с е N, N — множество натуральных чисел, с

, а +1 ,

р =--вероятностная оценка к — го объекта.

с + 1

Обучающая база данных А1 дополняется кортежем вида: (Рхк ,W° ,VR0^, VR° — вероятностная оценка р' к- го

объекта.

Экспертный метод сертификации программ.

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

Для описания программного продукта отобраны 26 характеристик качества. Выделены 12 факторов программ. Для каждого фактора задается подмножество характеристик.

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

равно» (>) , «больше» (>), «значительно больше» (»).

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

Пусть О — непрерывное конечное множество, где П е [1,9} На множестве £> задан набор характеристик Х = {Х1},1 = 1,2 к < 26, значения которых задаются экспертом; каждая характеристика

Х{ принимает значение из множества Ш — {1,2,. ..,9}.

Заданное, упорядоченное экспертом по убыванию важности, множество X разбито на подмножества X = {.АгД где } = 1,2,...,/?!,

X ^ =^Cj,...,XJ¡,...,Xj где х — / характеристика у —го подмножества, е {1,2,...,п- — число характеристик в } — м подмножестве.

Отметим, что в общем случае 3 /, /: Х1 Г) X} Ф 0. На множестве характеристик определено множество факторов /={/„...,/;.,...,/„}, т < 12.

Предположим, что значение фактора определяется по набору характеристик множества Х1 как ее линейная комбинация

м

где рг е Р = {р1 }, N = 20,

Ру — заранее неизвестны,

X; е Х-, П; — число характеристик, определяющих г — й фактор,

ij е{1,2,...,4 /б/,, I^ — {1,2,..., N +1}.

Весовые коэффициенты набора характеристик г — го фактора заранее неизвестны. Значения весовых коэффициентов множества

Р — вычисляются по формуле Pj=(j — l)/N,

Предполагается, что при к <26 достаточно выбрать Л^ = 20. Для каждого фактора экспертом задается отношение порядка

а,- е {>,>,»? между каждой парой х- и X, соседних характери-

'/♦I

стик.

Обозначим = {а,',...,«^,...,«^ },

где _

/1,-1

ОГу —отношение порядка между ] — ой и 7+1— ой характеристикой

{ — го фактора в J — наборе отношений порядка, т1 — число возможных наборов значений заданного отношения порядка а для /-го фактора. пх — число характеристик в г — м факторе, (X е {>, >,»} заданное множество отношений порядка между соседними характеристиками I — го фактора.

Пусть Р/ = множество значений набо-

ров весовых коэффициентов характеристик г — го фактора.

Характеристике х^ соответствует вес ру е Р- . Множеству характеристик Х1 соответствует множество наборов Р/. Можно утверждать, что Х1 : К; —> Р/, где Р/ с Р = РхРх...хР - множество

у_1___—-■—- ' "

наборов, удовлетворяющих следующим условиям:

о IX =1;

>1

2) В соотношение х, а х, , описывающем отношение по-

•у- У + 1

рядка ОТ е {>, >,»} между парой соседних характеристик I — го фактора, если СС — отношение порядка типа:

а) «больше или равно (>)», то Р/ - т} + Р/ , где т, е [0,1 / (4)

б)«больше(>)»,тоРУ =т2 + Р/л, где т2 е [1/20,1/5]; (5)

в) «значительно больше (»)», то Р/ = тъ + Р{ , где тъ е [1/4,1) (6)

Так как множеству Х1 соответствует множество наборов Р/,

то в общем случае (при / > 1) согласно (*) получаем несколько значений i — го фактора. За искомое значение г — го фактора принимаем среднее арифметическое всех полученных значений I — го фактора, вычисленных при различных наборах Р/ весовых коэффициентов.

Значение качества программного продукта вычислим по формуле

С7)

тм

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

требуется найти тахр.

Р/сР

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

т1,т2,т3 существует линейная зависимость вида: т2 = кхтх, тъ = кгт2.

В силу нечеткости отношения порядка невозможно указать точные значения к1 и к2. Пусть кх 6 (1,3 /2], к2 е{3/ 2,2} Тогда, учитывая заданное отношение порядка, соотношения (4)-(6) и , выбирая значения кх и кг из соответствующих интервалов с заданным шагом, получим набор систем уравнений

0 = (8) Решением множества систем уравнений (8) является множество (2).

Логические модели решения задачи сравнительного анализа алгоритмов и программ.

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

Пусть задано множество объектов А = {а1,а2,...,ап}. Каждый объект множества А рассматривается на множестве ситуаций 5 = {у,}, разбитых на классы С = {с,,е2,...,с,}, где с; е C¡Г^Cj =0 при / -ф _/, / —количество классов, 1 <1<к. Элементы множества А рассматриваются в пространстве признаков Р — {Р1,Р2,...,Рп). Для каждого г =1,2,...,п Р1 — это функция, такая,

что Р, : Л х 5 -> Д., где Д = \ос,(3\ а,Р е Д + , Д - множество

значений I — го показателя качества. Для каждого а0 £ А в заданной о

ситуации 6 известны значения показателей качества Введем следующие определения:

Определение 1. Критерием сравнения любых объектов ак и а-, к Ф в произвольной ситуации 5 е Я назовем выбранный набор показателей качества Кк,...^(¿0 = е {1,2,...,«}.

При д = 1 имеем скалярный критерий сравнения (по показателю качества Р.), а при д ^ 1 — векторный критерий сравнения (по показателям качества Р; ,...,Р ).

Н 'я

Определение 2 (правило предпочтения для любых объектов ак и а - в ситуации $г по критерию сравнения К^ (. (5) ).

Если ... , то алгоритм ак предпочтитель-

--

нее а^ в ситуации sr по критерию сравнения К- - (5).

Определение 3 (правило предпочтения для любых объектов ак и а ■, при к Ф в классе ситуаций = ^ и^ fj е {1,2,...,«}, I <п по критерию сравнения А",- (5) ).

Если ■<... , то объект ак предпочтительнее

а. в классе ситуаций с' а Б по критерию сравнения К^ ; (х).

Определение 4 (правило абсолютного предпочтения для любых объектов ак и ау, при к Ф у, по критерию сравнения К^ у (.у) ).

Если ... для любой ситуации то

объект ак предпочтительнее а ■ по критерию сравнения К-н 1 (5) для всех ситуаций £ е «У, то есть ак абсолютно предпочтительнее а ■ по критерию д (.у).

На практике возможны ситуации, когда два алгоритма ак и ане сравнимы по выбранному критерию предпочтения К^ . , q по правилам 2-4, и все же интуитивные и практические знания экспертов позволяют сравнить выбранные алгоритмы. Например, алгоритм ах более точен по сравнению с алгоритмом аг, а алгоритм аг обладает меньшей вычислительной сложностью по сравнению с алгоритмом а,. Тогда алгоритмы а, и а2 не сравнимы по критерию К12 = Р2}, где

Р] — показатель точности, а Р2 — показатель вычислительной сложности алгоритма. Однако, знания экспертов могут предсказать, что предпочтение надо отдать алгоритму, который несколько менее точен, но зато обладает меньшей вычислительной сложностью по сравнению с первым алгоритмом.

Данный пример подсказывает идею введения интегральных критериев сравнения вида ()(Л,5,Р) >0, где ()— некоторый функционал от указанных параметров, формализующий выше рассмотренные знания экспертов.

Рассмотрим простейший случай:

а = Ща,., *) ■ Р1 (а,, *) + IV(а, («„*), где ИГ(в<,*)е[о4 Р£а.^)е[а,р\ а,реЯ\ г =1,2, ] —1,2, то есть случай использования линейного функционала.

Определение 5. Если В J: Р^(ак,с') < P¡J{aJ,c') и 0(ак,с',Р) > 0(арс',РЪ где / = {1,2,...,^},

0.{ак,с\Р) = Ф(с',Р;•) е [0,1}

1Ч = }, то объект

предпочтительнее объекта аJ в классе ситуаций с' по критерию

К, '.....■'»

Определение 6. Если ,Р) > 0(аэ,с',Р), где

/ = 1,2,...,/и, с' с »У, аэ — эталонный объект, для которого

СС,/? е то все объекты с номерами I = 1,2,...,т назовем лучшими

в классе ситуаций с' по критершо К, , .

......«

Если значения весовых коэффициентов Ж; € IV и показателей качества РУ определены нечеткими понятиями (словесно), то описание

показателя качества формализуется нечетким множеством, функция принадлежности которой описывается стандартной л — функцией.

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

(\(ри(ак,с')>ри{а],с')),

где 1<1 < к,

I

ак, aj е А, или

л

где Г б {1,2,-.,4 =

Исходные значения задаются экспертом в виде:

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

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

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

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

Экспертная система рассматривается как система искусственного интеллекта, в которой в частично формализованном виде накапливаются

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

> накопление высококачественных знаний экспертов-специалистов в области анализа качества программ;

> возможность использования этих знаний неспециалистами и непрограммирующими пользователями.

В разработанной экспертной системе реализованы три группы основных функций интеллектуальных систем:

> функции представления и обработки знаний;

> функции рассуждений;

> функции общения с пользователем.

Указанные обобщенные функции реализованы соответствующими совокупностями процедур.

Для функции представления и обработки знаний такими процедурами являются, например:

> накопление и получение знаний в предметной области при помощи: а) логических решающих правил, б) логико-вероятностных решающих правил, в) решающих процедур в четкой и нечеткой среде, основанных на методах ранжирования объектов и нечеткого отношения предпочтения;

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

> получение и обработка знаний от нескольких экспертов.

Для функции рассуждений - это:

> осуществление выводов на основе логических, логико-вероятностных решающих правил и различных процедур ранжирования;

> инициализация процессов пополнения базы знаний в случаях получения знаний, не выводимых из нее в процессе вывода.

Функция общения с пользователем обеспечивается процедурами:

> общения на естественном языке;

> введения знаний о целях и возможностях пользователя;

> формирования по запросу пользователя объяснений своей деятельности (то есть «как сделано»);^________—

->—документирования информации в форме, необходимой пользова-

телю.

Структурно - функциональная схема адаптивной экспертной системы представлена в виде:

1_

В базе данных хранятся факты, носящие конкретный характер: > факты, характеризующие текущую ситуацию, текущее состояние по входным данным решаемой задачи;

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

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

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

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

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

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

> редактор исходных баз данных содержащих обучающую информацию и экспертные оценки показателей качества исследуемых объектов;

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

> модуль определения компетентности экспертов.

Методо-орнентированная база знаний построенной экспертной

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

Процедурные знания экспертной системы содержат знания основанные на нечетком отношении предпочтения и бинарном сравнении объектов задачи ранжирования.

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

Адаптивная экспертная система реализована в среде Borland Delphi

3.0.

ЗАКЛЮЧЕНИЕ

В диссертационной работе получены следующие основные результаты:

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

2. Разработан метод и алгоритм построения логико-вероятностных решающих правил.

3. Построены иерархические системы показателей качества алгоритмов и программ.

4. Разработаны и реализованы алгоритмы задачи ранжирования объектов на основе нечеткого отношения предпочтения и бинарного сравнения объекта.

5. Разработан демонстрационный прототип адаптивной экспертной системы «Эксперт» оценки качества и выбора программ

и алгоритмов, реализованный для IBM PC совместимых компьютеров.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Ермолаева Е.К. (в соавторстве с А.А.Богдановым, Н.В.Ивановой, А.В.Тимофеевым, З.М.Шибзуховым). Серия компьютерных учебников для компьютерных сетей университетов и технология их создания: Тез. докл. IV международная конференция «Региональная информатика - 95». - С.-Петербург, 1995. - 4.2. -С. 217.

2. Ермолаева Е.К. (в соавторстве с Тимофеевым A.B., Шауцуко-вой JI.3., Шибзуховым З.М.). Методы синтеза экспертных систем для распознавания образов и сравнительного анализа алгоритмов: Тез. докл. II Всероссийская конференция «Распознавание образов и анализ изображений: новые информационные технологии» РО-АИ-2-95.- Ульяновск, 1995.- С. 178.

3. Ермолаева Е.К. (в соавторстве с Хашировой Т.Ю.). Имитационная модель комплексной оценки качества природных вод.//Вестник Кабардино-Балкарского государственного университета. Серия Физико-математические науки. - Нальчик, 1996. -Вып1. - С. 141-149.

4. Ермолаева Е.К. (в соавторстве с Тимофеевым A.B.). модели сравнительного анализа алгоритмов и программ на основе логико-вероятностных и нечетких представлений: Тез. докл. Международная конференция «Нелокальные краевые задачи и родственные проблемы математической биологии, информатики и физики». -Нальчик: НИИ ПМА КБНЦ РАН, 1996.-35-36.

5. Ермолаева Е.К. (в соавторстве с Тимофеевым A.B., Шибзуховым З.М.). Принципы построения систем управления базами данных и базами знаний в задачах распознавания и диагностики с позиции теории управления: Тез. докл. Международная научно-практическая конференция «Эльбрус - 97 - новые информацион-

лые технологии и их региональное -развитие»---Приэльбрусье,

НальчикГкБГУЛ997Тс.25-26.

6. Ермолаева Е.К. Интегрированная экспертная система принятия решений.: Сб. науч. тр./КБГУ. - Нальчик, 1999. -С. 19-22.

Оглавление автор диссертации — кандидата физико-математических наук Ермолаева, Елизавета Каральбиевна

ВВЕДЕНИЕ.

Глава I

АНАЛИТИЧЕСКИЙ ОБЗОР И ОБОСНОВАНИЕ ЦЕЛЕЙ РАБОТЫ

Глава II

ФОРМАЛИЗАЦИЯ ОСНОВНЫХ ПОДАТЕЛЕЙ КАЧЕСТВА ПРОГРАММНЫХ ПРОДУКТОВ

И АЛГОРИТМОВ.

§ 2.1. структура и жизненный цикл программы.

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

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

§ 2.4. описание значений качественных характеристик программ и алгоритмов.

§ 2.5. построение интегральных показателей программ и алгоритмов.

§ 2.6. лингвистическая аппроксимация

Глава III

МАТЕМАТИЧЕСКИЕ МОДЕЛИ РЕШЕНИЯ ЗАДАЧИ СРАВНКТеЛЬНОГО АНАЛИЗА АЛГОРИТМОВ И ПРОГРАММ.-.

§ 3.1. логико-вероятностная модель оценки качества программ и алгоритмов

§ 3.2. экспертный метод сертификации программ.

§ 3.3. ЛОГИЧЕСКИЕ МОДЕЛИ РЕШЕНИЯ ЗАДАЧИ СРАВНИТЕЛЬНОГО АНАЛИЗА алгоритмов и программ.

§ 3.4. модель многомерного ранжирования объектов.

§ 3.5. алгоритм нахождения множества оптимальных решений

§ 3.6. метод многокритериального выбора алгоритмов и программ на основе нечеткого отношения предпочтения.

Глава IV

СТРУКТУРА И ФУНКЦИИ АДАПТИВНОЙ

ЭКСПЕРТНОЙ СИСТЕМЫ СРАВНИТЕЛЬНОГО АНАЛИЗА АЛГОРИТМОВ И ПРОГРАММ.

§ 4.1 .ОСНОВНЫЕ ФУНКЦИИ, СТРУКТУРА И ОСОБЕННОСТИ ПОСТРОЕНИЯ

§ 4.2. ОБЩЕЕ ОПИСАНИЕ БАЗЫ ЗНАНИЙ

ЭКСПЕРТНОЙ СИСТЕМЫ "ЭКСПЕРТ".

Глава V

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ.

§5.1. общие сведения.

§ 5.2. основные функции системы "Эксперт".

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

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

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

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

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

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

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

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

Именно такое направление исследований было выбрано в качестве основного в диссертационной работе.

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

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

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

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

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

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

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

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

Для достижения указанных целей были поставлены и решены следующие задачи:

1. Исследование характеристики, влияющие на качество изучаемых объектов;

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

3. Разработка комплекса математических моделей и методов решения задачи сравнительного анализа и сертификации алгоритмов и программ;

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

5. Разработка методики создания экспертной системы с учетом специфики области исследования;

6. Построение демонстрационного прототипа адаптивной экспертной системы анализа алгоритмов и программ на основании разработанной целесообразной совокупности характеристик качества программных продуктов и алгоритмов.

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

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

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

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

2. Построена двухуровневая система показателей качества алгоритмов и программ;

3. Разработаны математические даетоцы модели сравнительного анализа алгоритмов и программ:

Логические модели и решающие правила сравнительного анализа и оценки качества в четкой и нечеткой среде;

Логико-вероятностные модули и решающие правила оценки качества в четкой и нечеткой среде;

Разработка нечеткой и четкой модели на основе экспертного метода сертификации алгоритмов и программ;

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

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

Реализация результатов работы. Реализованные в диссертационной работе методы и алгоритмы легли в основу программного средства «Эксперт», реализованного на IBM PC совместимых компьютерах.

Апробация работы. Основные результаты были представлены на следующих конференциях и семинарах: Ш международной конференции «Региональная информатика - 95», 1995г, С.-Петербург; И Всероссийской конференции «Распознавание образов и анализ изображений: новые информационные технологии», 1995г, Ульяновск; международной научно-практической конференции «Эльбрус'97 - новые информационные технологии и их региональное развитие», 1997г, При-эльбрусье; на научно-исследовательском семинаре отдела интеллектуализиции информационных и управляющих систем НИИ ПМА КБНЦ РАН; на расширенном семинаре кафедры «Информатики и математического обеспечения автоматизированных систем» Кабардино-Балкарского государственного университета, 1999г, Нальчик.

Публикации. Результаты диссертации опубликованы в 6 работах [56]-[61].

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

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

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

Практичность: работоспособность; возможность обучения, коммуникативность, объем ввода-вывода, скорость ввода-вывода;

Целостность: регулирование доступа, контроль доступа;

Эффективность: эффективность использования памяти, эффективность функционирования;

Корректность: трассируемость, завершенность, согласованность;

Надежность: точность, устойчивость к ошибкам, согласованность, простота;

Удобство обслуживания: согласованность, простота; краткость, информативность, модульность;

Оцениваемость: простоте, наличие измерительных средств, информативность, модульность;

Гибкость: распространяемость, общность, информативность, модульность;

Возможность использования в других условиях: общность, информативность, модульность, машинонезависимость, независимость от других программных средств;

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

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

1. «какие качества . подлежат рассмотрению в смысле влияния на оценку сравнительного достоинства»;

2. «каким числом каждое из этих качеств в отдельности измеряется»;

3. «какие относительные множители приписываются тем качествам, коим дается предпочтение».

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

Формирование сводного показателя 0.(д(Р)-,со) исследуемых объектов обычно происходит в условиях дефицита информации, когда имеет место неопределенность выбора функций д,(Р), ¿ = 1,2,.,М, Q{q) и вектора со = {а>^а>2,.,а)м}. Указанная неопределенность усугубляется еще и тем, что во многих случаях доступная информация не имеет числового характера и описывается при помощи лингвистических переменных. В таком слу чае значение сводного показателя представляется нечеткой величиной, описываемой лингвистической переменной Т, .

Здесь Т = {Г1}~ ее базовое терм-множество, |7'[ = п. По определению лингвистической переменной каждое ее значение Т. является наименованием нечеткой переменной (Тпх,с(), где с,. = У¡л[/х.

ЛГёХ

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

Требуется найти наименование нечеткой переменной р в расширенном терм-множестве Т* лингвистической переменной ¡3.

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

Для формального описания качественных характеристик программ используется лингвистическая переменная ¡5 с терм-множеством

Т = {" плохое"," среднее"," хорошее").

Строятся элементы расширенного терм-множества Т*. Семантика каждого из термов Т] е Т* задается описанной в параграфе 2.6 процедурой М.

Процедура (7 представлена в виде контекстно-свободной грамматики

В третьей главе исследуются математические модели решения задачи сравнительного анализа алгоритмов и программ: Логико-вероятностная модель оценки качества программ и алгоритмов.

Пусть дано множество алгоритмов и программ А = {а1,а2,.,ат1 которые в дальнейшем будем называть объектами. Каждый объект множества А описывается набором показателей качества Р = {Р1,Р2,.,РП\ / = 1,2,.,и, Р . Агде

V; - дискретное множество значений г - го показателя качества, определенное на \а,р\ {0,]У} N - множество натуральных чисел. Каждый объект из А характеризуется показателем эффективности, который описывается целевой переменной IV = V/ \ А Щ фд], / =1,2. г. Задано некоторое подмножество А" с А. Для каждого аь е А0 известны значения показателей качества р° = рх(а°),.,р1 = р„(а°) и значение целевой переменной Щ = Ща°), г = 1,2,.,г.

Эмпирическая информация задана в виде таблицы. Данные таблицы описываются множеством

Г = {Р',^,} где 7=1,2

Р(а;) = Р' ={]]',.,Р/,.,1>,11

Р/ = Р.(а.)- значение /-го показателя Р. е.Р 7-го объекта а; е А, = Ж (а значение показателя эффективности у-го объекта а/. е А, ]¥: е[0,1],

Требуется построить систему решающих правил Е, где £ = {сг 1,.,<тк,.,(ты\ ^ ПWJk еЖ, е{1,2,.,4 Рк >р, 1/2<р <1, которая позволяла бы для каждого объекта а. е А находить значение показателя эффективности Ж, на основе значений показателя качества Р/,.,Р/,.,.,Р/. Экспертный метод сертификации программ.

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

Для описания программного гфодукта отобраны 26 характеристик качества. Выделены 12 факторов программ. Для каждог о фактора задается подмножество характеристик.

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

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

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

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

Пусть задано множество объектов А = {а1,а2,.,ат}. Каждый объект множества А рассматривается на множестве ситуаций 5 = {^.л^}, разбитых на классы С = {с1,с2,.,с1\ где с,, е с^с^О!) при / *у, /-количество классов, 1 <1<к.

Элементы множества А рассматриваются в пространстве признаков Р = {Р1,Р2,.,Рп}. Для каждого / = 1,2,., и Р. - это функция, такая, что Р1 : Ах Б -» В., где = [а,р\ а,/ЗеЯ\ О. - множество значений /-го показателя качества. Для каждого а0 е А в заданной ситуации известны значения показателей качества

Для решения задачи сравнения строится система логических решающих правил на основе введенных определений: р|[Р„(ак,с') > Р»(а;,с')\ где с' = , 1 < / < ак,ау е А, или j=1 i=i л

РАак,с') < РАагс')) л [ f](Pü (uk,c') > Р,(а;;с:')) л({дХак,с',Р)>д(а^с',Р)), где J'g{1,2,.,4 J'*J, Q{at, с, Р) = J W(c', Pj) ■ Ptj, Щс',^.) e[0,lj а, e А, j=i

Pvz[a,ß\ a,ßsR+, c'cS,l = {k,j}. в третьей главе приводится обобщение на нечеткий случай: модифицированного метода «Электра» и алгоритма построения оптимальных решений. Рассматривается алгоритм на основе нечеткого отношения предпочтения.

Исходные значения, используемые в рассмотренных моделях задаются экспертом в виде:

1. Четких чисел, помещаемых в базу данных. Тогда система логических правил записывается в базу знаний экспертной системы, как система правил продукционного типа:

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

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

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

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

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

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

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

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

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

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

В диссертационной работе получены следующие основные результаты:

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

2. Разработан метод и алгоритм построения логико-вероятностных решающих правил оценки качества исследуемых объектов.

3. Построены иерархические системы показателей качества алгоритмов и программ.

4. Разработаны и реализованы алгоритмы задачи ранжирования объектов на основе нечеткого отношения предпочтения и бинарного сравнения объекта.

5. Разработан демонстрационный прототип адаптивной экспертной системы «Эксперт» оценки качества и выбора программ и алгоритмов, реализованный для IBM PC совместимых компьютеров.

Заключение диссертация на тему "Разработка адаптивной экспертной системы сравнительного анализа алгоритмов и программ"

Заключение

В диссертационной работе получены следующие основные результаты:

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

2. Разработан метод и алгоритм построения логико-вероятностных решающих правил оценки качества алгоритмов и программ.

3. Построены иерархические системы показателей качества алгоритмов и программ.

4. Разработаны и реализованы алгоритмы задачи ранжирования объектов на основе нечеткого отношения предпочтения и бинарного сравнения объекта.

5. Разработан демонстрационный прототип адаптивной экспертной системы «Эксперт» оценки качества и выбора программ и алгоритмов, реализованный для IBM PC совместимых компьютеров.

Библиография Ермолаева, Елизавета Каральбиевна, диссертация по теме Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)

1. Боэм Б. Дж. Браун, Каспар X., Липов М., Мак-Леод Г., Мерит М. Характеристики качества программного обеспечения. - М.:Мир, 1981.-208 с.

2. Оценка качества программных средств. Общие положения ГОСТ 28195-89 М.: Издательство стандартов, 1989.

3. Липаев В. В. «Качество программного обеспечения». М.: Финансы и статистика, 1983.-263 с.

4. Липаев В. В. Проектирование программных средств. М.: Высшая школа, 1990.

5. Транхтенброт. Б. А. Алгоритмы и машинное решение задач. М.: Государственное издательство физико-математической литературы, 1960. - 118 с.

6. Колмогоров А.Н. Три подхода к определению понятия «количество информации».-«Проблемы передачи информации». 5(1969) - №3. - С.3-7.

7. Агафонов В.Н. Сложность алгоритмов и вычислений. Новосибирск, 1975. - с. 146.

8. Хованов Н.В. Статистические модели теории квалиметрических шкал. Л.: ЛГУ, 1986.

9. Воробьев В.И., Копыльцов A.B., Пальчун Б.П., Юсупов P.M. Методы и модели оценивания качества программного обеспечения / СПИИРАН.-СП6., 1992 (Препринт).

10. Юсупов P.M., Пальчун Б.П. Оценка надежности программного обеспечения. СПб.: Наука, 1992.

11. Материалы Всесоюзного семинара "Методы повышения качества программного обеспечения". Владивосток: ДВО АН СССР, 1990.

12. Копыльцов A.B. Об оценке качества программных продуктов/Шроблемы информатизации. -1994. -№3-4.

13. НильсонМ.Дж. Принципы искусственного интеллекта. -М.: Радио и связь, 1985.

14. Заде Л.А. Понятие лингвистической переменной и ее применение к принятию приближенных решений. -М.: Мир, 1976.

15. Руа Б. Классификация и выбор при нескольких критериях(метод Электра) //Вопросы анализа и процедуры принятия решений М.: Мир, 1976,- с.80-107.

16. Борисов А.Н., Алексеев A.B., Крумберг O.A. и др. Модели принятия решений на основе лингвистической переменной-Рига: Зинатне, 1982.

17. Малышев Н.Г., Бернштейн Л.С., Боженюк A.B. Нечеткие модели для экспертных систем в САПР. -М.: Энершатомиздат, 1991.

18. Марков A.A. Теория алгорифмов/Яр. МИАН CCCP.-1954.-t.39 -С. 176- 189.

19. Чечкин A.B. Математическая информатика,- М.: Наука, Главная редакция физико-математической литературы, 1991.

20. Варнаков В.В., Погодин В.П. Доминирование при бинарном сравнении в задачах ранжирования объектов.//Автоматика и Телемеханика, 1994,- №1,- С. 171-180.

21. Ногин В.Д. Протодьяконов И.О., Евлампиев Ч.И. Основы теории оптимизации. М.: Высшая школа, 1986. - 384 с.

22. Экспертные системы: Инструментальные средства разработки: Учебн. Посо-бие/Л.А.Керов, АПЧастиков, Ю.В.Юдин, В.А. Юхтенко; Под ред. Ю.В.Юдина. -СПб: Политехника, 1996. 220 с.

23. Борисов А.Н., Алексеев А. В. и др. Обработка нечеткой информации в системах принятия решений. -М.: Радио и связь, 1989. 303 с.

24. Кузнецов В.Е. Представление в ЭВМ неформальных процедур. М.: Наука, 1989.— 158с.

25. Лигун A.A., Малышева А.Д. Математическая обработка результатов эксперимента. Днепродзержинск: ДИИ, 1992.—47с.

26. Ивахненко А. Г. Долгосрочное прогнозирование и управление сложными системами. К.: Техника, 1975,—312с.

27. Васильев В. И., Коноваленко В. В., Горелов Ю. И. Имитационное управление неопределенными объектами. К.: Наукова думка, 1989.—216с.

28. Половинкин А. И. Основы инженерного творчества. М.: Машиностроение, 1988.— 368с.

29. ДюкВ. А. Компьютерная психодиагностика. СПб.:Братство, 1994.—360с.

30. Искусственный интеллект: справочник в 3-х книгах. М.: "Мир", 1990.

31. Ивахненко А. Е, Самообучающиеся системы распознавания и автоматического регулирования. К: Наукова думка, Г96у. —349 с.

32. Ивахненко А. Е. Моделирование сложных систем: информационный подход. К.: Наукова думка, 1987. 136 с.

33. Лорьер Ж.-Л. Системы искусственного интеллекта. М.: Мир, 1991—342 с.

34. У. Росс Эшби. Конструкция мозга. Происхождение адаптивного поведения. М.: Издательство иностранной литературы, 1962. —392 с.

35. A.B. Тимофеев. Роботы и искусственный интеллект. М.: Наука 1978. 192 с.

36. К. Нейлор. Как построить свою экспертную систему. М.: Энергоатомиздат, 1991. -287с.

37. Мазуров В.Д. Метод комитетов в задачах оптимизации и классификации М.: Наука, 1990.

38. Распознавание, классификация, прогноз. Математические методы и их применение. -М.: Наука, 1992.

39. Выявление экспертных знаний -М.: Наука, 1989.

40. Калмогоров А.Н. О понятии алгоритма//УМН, -1953 выпуск 4. - С. 175-176.

41. Экспертные системы. Принципы работы и примеры. /Под ред. Р.Форсайта. М.: Радио и связь, 1987.

42. Экспертные системы: состояние и перспективы. М.: Наука, 1989.

43. Искусственный интеллект. Справочник / Под ред. Э. В. Попова. М.: Радио и связь, 1990.

44. Саати Т. Л. Математические модели конфликтных ситуаций. М.: Советское радио, 1977.

45. Майерс Г. Надежность программного обеспечения/Пер. с англ. под ред. В.Ш Кауфмана. М.: Мир, 1980. 360с.

46. Хованов Н.В. Статистические модели теории квалиметрических шкал. Л.: ЛГУ, 1986.

47. Справочник по системотехнике/Под ред. Р.Макола. Пер. с англ. под ред. А.В.Шилейко. М.: Сов. Радио, 1970. 760 с.

48. Холстед М.Х. Начала науки о программах/Пер. с англ. В.М. Юфы. М.: Финансы и статистика, 1981. 128 с.

49. Bowen I.B. Are current approache sufficient for measuring software quality? Software Engineering Notes, 1978, v.3, №3, p. 148-155.

50. Сложность алгоритмов и вычислений. Пер. с англ. М.: Мир, 1974. 216 с.

51. Липаев В.В. Конструктивные показатели качества программ и их связь с технологией проектирования//Известия АН СССР, Техническая кибернетика. 1982. - № 2. - с. 151163.

52. Akiyama F. An Example of Software System Debuqinq/ IFIP Congr. 71, North Holland Publ., 1972, v. 1, p. 353-359.

53. Тимофеев A.B., Шибзухов З.М. Методы синтеза и оптимизации баз знаний по базам данных на основе локально-оптимальных логико-вероятностных алгоритмов. International journal "Information theories and applications", 1995, v.3, №2, pp. 12-19.

54. Колмогоров A.H. Алгоритм, информация, сложность//Математика и кибернетика. -1991 -№ 1.-44 с.

55. Хованов Н.В. Анализ и синтез показателей при информационном дефиците. СПб.: Издательство С.-Петербургского университета, 1996. -195 с.

56. Ермолаева Е.К. (в соавторстве с Хашировой Т.Ю.). Имитационная модель комплексной оценки качества природных вод.//Вестник Кабардино-Балкарского государственного университета. Серия Физико-математические науки. Нальчик, 1996. - Вып1. -С. 141-149.

57. Ермолаева Е.К. Интегрированная экспертная система принятия решений.: Сб. науч. тр./КБГУ. Нальчик, 1999. -С. 19-22.