Файл: Алферова, З. В. Математическое обеспечение экономических расчетов с использованием теории графов.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2024
Просмотров: 80
Скачиваний: 0
2.Установление всех ограничений на множестве данных V и операций F.
3.Установление всех функциональных связей на предметном множестве U всех тех ^-объектов, которые составляют данную проблему.
4.Определение возможно полного класса А всех проблем, спе цифицированных множествами U и F проблемы щ.
5.Решение вопроса о выборе языковых средств и средств ре ализации проблемы, т. е. какие требования необходимо предъяв
лять классу вычислительных машин в специфицированном проб
лемой |
аспекте, |
с тем чтобы можно было описать для |
машины |
метод |
решения |
проблемы и ожидать, что машина решит |
проблему. |
6. Выделение различных вариантов решения проблемы, т. е. уточнение различных пониманий проблемы ai. Нужно заметить, что если известен хороший метод решения проблемы, то она не нуждается в том, чтобы ее изучали или понимали, т. е. аналист, минуя второй этап, переходит к третьему — программированию. Другими словами, после спецификации собственно проблемы не обходимо уточнить метод ее решения на основании результатов анализа проблемы на первом этапе.
Поскольку окончательный выбор языка (вернее, языковой си стемы) не является точным процессом из-за разнообразия языков и большого числа оценочных критериев выбора, то необходимо выделить конечную совокупность наиболее важных критериев и определить их как доминирующие при выборе конкретных языко вых систем. Это можно сделать лишь на основе как результатов анализа конкретной области действия L-языка, так и оценки мощности языковых Ln-множеств, ранее использовавшихся либо в данной среде, либо в примыкающих к ней проблемных средах. Таким образом, основной концепцией определения оценочных кри териев и факторов, определяющих схему выбора, является как тип критериев выбора, так и собственно алгоритм выбора, зада ваемые средой, специфицированной как область действий L-язы
ка — DL.
Процесс исследования области действия языков программиро
вания DL |
базируется на следующих |
методологических принципах: |
1. Необходимо знать возможности различных языков и харак |
||
теристику |
состава основных средств |
применяемых L-языков. Для |
этого необходим тщательный анализ и изучение достаточно пред ставительного класса /.„-языков программирования. Безусловен тот факт, что внимательное изучение языков программирования с их характеристиками поможет пользователю избежать неправиль ного выбора конкретно требуемого L-языка.
2. Необходимо знать все типы алгоритмов выбранного для изу чения класса А проблем, их конструктивные особенности, а также типы и категории объектов, с которыми работает исследуемое мно жество алгоритмов из класса А. Необходимо в результате изуче ния строения L-языков уметь подвести базу под те принципы, ко-
143
торые лежат в основе различия |
между «хорошим» |
и «плохим» |
||||
языками. Эта база строится на детальном изучении как |
проблем, |
|||||
которые |
должен описывать L-язык, так и способов |
реализации |
||||
L-языка |
в |
языковую систему. На |
основании |
анализа |
строения |
|
алгоритмов |
из представительного |
проблемного |
класса |
А |
возмож |
|
но сделать |
обобщающие выводы |
по основным |
факторам, |
опреде |
ляющим язык программирования как хороший с точки зрения пользователя.
3. Необходимо знать определяющие факторы и основные оце ночные характеристики, специфицирующие процесс внедрения и наилучшего применения языка программирования для конкретно задаваемой проблемы из класса А . Этот методологический прин цип основан на том, что способ реализации L-языка, т. е. компиля тор и вся языковая система в целом определяют оптимальный ба ланс между высокой скоростью вычисления исходной программы и эффективностью целевой программы. Отсюда, чтобы выработать набор специфицирующих требований к хорошему языку в аспекте оптимальности реализации L-языка, проводится анализ различных реализаций L-программ или компилирующих систем, т. е. анализ на оптимальность соответствия характеристик языковых систем
мерам |
качества, |
определяющим |
оптимальность реализации. |
||
4. |
Необходимо |
иметь |
строгую |
классификацию |
как языкового |
L, так и проблемного А |
классов |
по их оценочным |
характеристи |
кам. Классификация должна быть строгой в смысле формальности подхода к выбору характеристик, специфицирующих L-языки и алгоритмы из класса А . Кроме того, классификация должна быть унифицированной в смысле соответствия характеристик L-языка и алгоритмов проблем из класса А . Этот принцип своей базой име ет тот факт, что выбор L-языка должен производиться из подклас
са |
L N языков |
программирования. Сведение |
класса |
L N к некоторо |
му |
подклассу |
позволяет конкретизировать |
набор |
основных оце |
ночных критериев, используемых разрешающим алгоритмом вы бора, т. е. становится возможным выделить совокупность наиболее важных критериев, которые являются доминирующими при окон чательном выборе языка программирования для конкретного при менения. Результатом такого выбора является априорный выбор языка, т. е. выбор языка без учета техники его реализации, но в предположении, что реализация должна отвечать всем мерам ка чества.
5. Необходимо иметь единую формальную систему, в рамках которой однозначно определяются L-языки и содержательные ал гебры проблем А как алгоритмические системы, т. е. формальная система в таком аспекте интерпретируется как единый способ за дания языков программирования и класса изучаемых проблем. Выбранная формальная система должна быть полной в смысле содержательного отображения всех компонент алгоритмических языков и проблемных систем. Кроме того, формальная система должна служить основанием для построения содержательной тео-
144
рии, определяющей разрешимость оценочного алгоритма выбора языков программирования для конкретного применения. Этот ме тодологический принцип строится на том основании, что оценочные критерии хорошего языка и требования, предъявляемые к языку, подходящему для данного класса проблем, можно получить лишь при том условии, что анализ языкового и проблемного множеств проводится в строгом соответствии с основными характеристика ми, заданными в единой системе измерения. Таким образом, за дача построения разрешающего оценочного алгоритма выбора языков программирования для конкретного применения является комплексной.
Научный аспект проблемы связан с выявлением факторов и критериев, определяющих сущность алгоритма выбора, и с непо средственным конструированием схемы алгоритма. Как первое, так и второе должно базироваться на научном обобщении резуль татов анализа и классификации языкового L n и проблемного А классов. Кроме того, построение системы оценочных функций сво им основанием имеет оценочные характеристики, получаемые пре образованием оценочных параметров в числовые эквиваленты. С помощью этих функций с достаточной степенью вероятности и однозначности можно определить меру качества выбираемого из
семейства языков с одним модусным признаком L-языка |
(или |
|||||||||
языковой системы). Оценочные параметры возможно |
получить |
|||||||||
лишь как результат анализа L-программ и проблем из класса А . |
||||||||||
Организационный |
аспект проблемы — это |
способ |
организации |
|||||||
входной и рабочей информации для оценочного |
алгоритма, |
а |
так |
|||||||
же возможный способ заданий общей системы выбора как |
некото |
|||||||||
рой операционной системы, работающей в |
режиме |
диалога. |
|
|||||||
Пусть дан некоторый абстрактный язык L |
из |
семейства |
L n , |
|||||||
определяемый на множестве констант L-языка и множестве пове |
||||||||||
лительных и декларативных сообщений. Тогда |
L-язык |
можно |
оп |
|||||||
ределить как параметризированную |
систему |
|
|
|
|
|
|
|||
|
|
P(L)=P(/, , |
h, |
/ 3 , |
/ 4 ) |
, |
|
|
|
|
где |
l\, h, h, U — четыре основных параметра |
L-языка. |
|
|
|
|
||||
Параметр U—универсальное |
множество |
абстрактных £-объек- |
||||||||
тов, |
определяемых |
в предметной |
области |
UE, |
например, |
числа, |
символы строк, символы операций и функций, специальные сим волы, т. е.'полная номенклатура компонент, которые могут исполь зоваться при формировании проблемы.
Параметр |
1% — основное множество соотношений, |
заданных на |
f/в-множестве. |
|
|
Параметр |
/3 — форма базовой структуры L-языка. |
Это отно |
сится к основным методам, по которым ассемблируются |
сообщения |
|
в L-языке. |
Ц — совокупность правил способа представления ба |
|
Параметр |
||
зовых форм |
L-языка, указывающих на соответствие между форма- |
10. Заказ 4230. |
145 |
ми базовой структуры и конкретной формой представления сооб щения.
Параметр U языковой системы программирования может иметь различные конкретные значения для заданной параметрами l2, h абстрактной схемы языка. В зависимости от фактического значе ния /4 одна и та же схема абстрактного языка может принимать различные интерпретации. Но в любой из них конкретно представ ляемые L-языки должны быть эквивалентны, если они определены одними и теми же 12, / 3 . Термин «базовая форма» содержательно эквивалентен основному конструктивному представлению выраже ний операторов, объявлений, программы в целом для конкретного языка программирования.
Параметр /4 зависит от фактического преемника, т. е. вычис
лительной |
машины |
Mj |
или |
конструктивной |
модели носителя |
язы |
|||||
ка. Если |
базовую |
структуру языка |
представить |
как внутренний |
|||||||
L-язык некоторой |
абстрактной |
машины Mj, то |
Ц (или |
правила |
|||||||
представления |
базовой |
структуры) |
можно |
интерпретировать |
как |
||||||
гипотетический |
преобразователь |
сообщений |
L-языка, а 12 (основ |
||||||||
ное множество |
соотношений) — как |
библиотеку стандартных |
под |
||||||||
программ |
или |
некоторые |
информационные |
структуры, |
которые |
включаются при написании сообщений согласно схеме, заданной базовой структурой L-языка. По аналогии параметр h можно от нести к совокупности возможных промежуточных и конечных зна чений, которые получаются в процессе вычисления строк по задан
ной схеме |
/ 3 . |
С тем, чтобы |
параметрическая |
система Р позволяла |
|
отображать |
не |
только содержательный |
состав алгоритмической |
||
системы, но и представляла |
формально |
через |
параметры строение |
и смысл функций алгоритма информационной системы / или строе
ние |
и смысл примитивных |
процедур, удобно расчленить параметр |
/з |
на его составляющие |
компоненты. Первая будет определять |
форму, или синтаксис, вторая — смысл, или семантику.
Покажем, каким образом параметризуется алгоритмическая система проблем. В этом случае информационная система есть совокупность проблем или класс А взаимосвязанных проблем. Пусть мы имеем некоторую абстрактную проблему щ из класса А, определенную на предметном множестве UA. Тогда проблемный класс А однородных проблем а* в системе параметров предста вится следующим образом:
|
Р ( Л ) = Р ( а ь |
а2, а3 , а 4 ) . |
|
Параметр |
а\ — вся номенклатура |
^-объектов, определенных |
|
для класса проблем А. |
|
|
|
Параметр |
а2 — конкретное множество ^-объектов, определяю |
||
щих решаемую проблему at. |
всех |
форм элементарных проце |
|
Параметр |
аз — совокупность |
дур, перерабатывающих информацию, в частности, все выраже
ния, |
функции и операции, применяемые при решении проб |
лемы |
CLi. |
146
Параметр ой — совокупность всех возможных представлений алгоритмов, решающих проблему аг- или проблемы из класса Л.
Рассмотрим, каким образом возможно построить процесс срав нительного анализа алгоритмических систем различной природы в рамках параметризированной системы Р и как система парамет ров определяет схему анализа. Пусть даны две параметризиро-
ванные системы: |
языковая |
Р |
(L) =Р |
12, / 3 , |
/ 4 ) |
и проблемная |
||
Р ( Л ) = Р ( а ь |
а2, |
«з, |
« 4 |
) . |
Назначение |
языка |
программирования |
|
заключается |
в том, чтобы |
|
описывать |
алгоритмы Лг -еЛ. Тогда |
||||
смысл базовых форм, задаваемых через |
параметр /3 , должен со |
|||||||
ответствовать |
смыслу |
вычислительного |
процесса, |
задаваемого |
примитивными процедурами. В свою очередь параметр 13 синтези
рует параметры 1\ и 12, т. е. семантика |
декларативных |
и |
повели |
||||||||
тельных |
сообщений |
L-языка |
определяется параметрами |
1\ |
и 12. |
||||||
Константы |
L-языка |
своим значением определены |
на |
множестве |
|||||||
L-объектов. |
Отсюда |
очевидно, |
что |
параметры |
ai |
и а2 |
задают то |
||||
множество |
объектов |
Е, для которых однозначно задаются объек |
|||||||||
ты L-языка. Тогда |
правомерным |
будет |
утверждение, |
что |
одно |
||||||
значное |
соответствие |
параметров ai, а2 |
и 1\, 12 задается |
соответст |
|||||||
вующей |
функцией |
фь в том |
случае, |
если, |
с |
одной |
|
стороны, |
|||
рассматриваемый L-язык строго специфицирован |
для данной проб |
||||||||||
лемы и, с другой стороны, параметр |
/3 , представляемый семантичес |
ким аспектом, должен полностью соответствовать параметру аз. Компонента параметра / 3 определяет направленность сравнитель ного анализа между языковыми системами в целях выбора наи более удобных ;танструктивных представлений базовых форм и оп ределяет L-язык как хороший в аспекте его общности и практи ческой реализации для данной проблемы. Компонента U должна соответствовать компоненте 0С4 в смысле способов изобразитель ного представления алгоритма Л,-, который является наиболее удобным для решаемой проблемы. В заключение можно отметить, что конкретная оценка применимости L-языка для выбранной проблемы в рамках параметризированной системы Р может быть сведена к сравнительному сопоставлению параметризированных схем языковых и проблемных алгоритмических систем и опреде лению степени совместимости характеристических множеств каж дого из параметров схемы.
§ 6. 2. АЛГОРИТМ ВЫБОРА ЯЗЫКА ПРОГРАММИРОВАНИЯ ДЛЯ КОНКРЕТНОГО ПРИМЕНЕНИЯ
С точки зрения разработки алгоритма задачу априорного вы бора языка программирования можно определить следующим образом: для заданного класса задач и заданного множества язы ков программирования определить язык, обеспечивающий опти мальное программирование задач из заданного класса.
10* |
147 |