Інтелектуалізація розв’язування наукових і прикладних задач на основі методів комп’ютерної алгебри
Структури даних та склад набору процедур вхідної мови універсальної системи комп'ютерної алгебри нового покоління для створення програмного забезпечення розв’язування складних задач. Теоретико-множинна модель задачі для обґрунтування властивостей мови.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | автореферат |
Язык | украинский |
Дата добавления | 28.07.2014 |
Размер файла | 158,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
НАЦІОНАЛЬНА АКАДЕМІЯ НАУК УКРАЇНИ
ІНСТИТУТ ПРОБЛЕМ МАТЕМАТИЧНИХ МАШИН І СИСТЕМ
01.05.03 - Математичне та програмне забезпечення обчислювальних машин і систем
АВТОРЕФЕРАТ
дисертації на здобуття наукового ступеня доктора технічних наук
Інтелектуалізація розв'язування наукових і прикладних задач на основі методів комп'ютерної алгебри
Ляхов Олександр Логвинович
Київ - 2004
Дисертацією є рукопис.
Робота виконана в Інституті проблем математичних машин і систем Національної академії наук України
Науковий консультант:
доктор фізико-математичних наук
Клименко Віталій Петрович,
Інститут проблем математичних машин і систем
НАН України, заступник директора з наукової роботи
Офіційні опоненти:
доктор фіз.-мат.-наук, член-кор. НАН України, професор
Перевозчикова Ольга Леонідівна,
Інститут кібернетики імені В.М. Глушкова
НАН України, завідуюча відділом доктор тех. наук, професор
Молчанов Олександр Артемович,
Національний технічний університет України „КПІ ”,
завідувач кафедри прикладної математики
доктор тех. наук, ст. наук. cпівробітник
Теслер Генадій Семенович,
Інститут проблем математичних машин і систем
НАН України, головний науковий співробітник
Провідна установа:
Київський національний університет імені Тараса Шевченка,
факультет кібернетики, кафедра математичної інформатики,
Міністерство освіти і науки України, м. Київ
Захист відбудеться 14.05. 2015 року о 14 годині на засіданні спеціалізованої вченої ради Д26.204.01 в Інституті проблем математичних машин і систем НАН України
за адресою: пр-т Академіка В.М. Глушкова, 42, м. Київ-187, 03680, МСП.
З дисертацією можна ознайомитись у бібліотеці Інституту проблем математичних машин і систем НАН України за адресою:
пр-т Академіка В.М. Глушкова, 40, Київ-187, 03680, МСП.
Автореферат розісланий 16.03.2015 р.
Вчений секретар
спеціалізованої вченої ради Ходак В.І.
ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ
Актуальність теми. Необхідність досліджувати місткі науково-технічні проблеми у їх природному аналітичному вигляді привела до створення і широкого розповсюдження засобів автоматизації чисельно-аналітичних методів - систем комп`ютерної алгебри (СКА). Це дає змогу отримувати більш якісний розв'язок та зменшувати обсяг високовартісних експериментальних і натурних досліджень і значною мірою визначає ефективність наукових та інженерно-технічних розроблень.
Дисертація базується на доробку багатьох учених. Серед них - В.М.Глушков, Л.В. Канторович, А.Н. Колмогоров, а також С.О.Абрамов, А.В.Анісімов, Р. Бенерджі, М.М. Васильєв, В.П. Гердт, В.Ф. Єднерал, Г.Б. Єфімов, Є.В. Зима, Ю.В. Капітонова, В.П.Клименко, О.А.Летічевський, О.А.Молчанов, А.О. Морозов, О.Л. Перевозчикова, Б.О. Попов, В.О. Ростовцев, А.О. Стогній, Г.С. Теслер, Ю.С. Фішман, К. Фу, Д.В. Ширков, J.H.Davenport, R.J. Fateman, K.O. Geddes, K. M. Heal, A.C. Hearn, R.D. Jenks, G. Labahn, W.A. Martin, J. Moses, B.Monagan, R.S. Sutor, N.A.Trufyn, S. Wolfram, S.M.Vorkoetter та інші. Їх уявлення про програмне забезпечення (ПЗ) як про засоби, що забезпечують ефективну взаємодію суб'єктів розв'язування задач - “людини” та “комп'ютера” - втілене у десятки систем комп'ютерної алгебри (СКА) різноманітного призначення. Найбільш відомі серед них універсальні СКА MACSYMA, FORMAC, REDUCE, MATHEMATICA v2-4, AXIOM, MAPLE V R3-6, вітчизняні АНАЛІТИК, обчислювальні комплекси СМ 1410 і СКА АНАЛІТИК-93 з мовами сім'ї АНАЛІТИК тощо.
Стрімкий розвиток обчислювальної техніки, відповідне зростання комп'ютерної та математичної підготовленості користувачів містять потенціал подальшого розширення області застосування чисельно-аналітичних методів (ЧАМ) на нові класи задач із недосяжним раніше обсягом та складністю аналітичних об'єктів. Але, як показали дослідження, у даний час для такого розширення характерне непродуктивне використання високовартісної праці людини. Тому стало актуальним створення теоретичних і прикладних основ розроблення прикладного ПЗ, зорієнтованого на автоматичне розв'язування складних наукових та прикладних задач. Розв'язання кола цих питань якісно підвищить ефективність математичного моделювання у різноманітних галузях фундаментальної й прикладної науки і техніки - вагомих складників виробничого потенціалу сучасного рівня в Україні.
Зв'язок роботи з науковими програмами, планами та темами. Робота виконана згідно з планами науково-дослідних робіт НАН України, Міністерства освіти і науки України, планами науково-дослідних робіт Інституту проблем математичних машин і систем НАН України і Полтавського національного технічного університету імені Юрія Кондратюка на 1996-2003 роки у межах таких держбюджетних тем: “Математичне моделювання в радіолокації, дефектоскопії, акустиці та механіці з використанням методів комп`ютерної алгебри”, ГР № 0100U000811, 2000-2003 (відповідальний виконавець); “Розроблення і дослідження математичних моделей напружено-деформованого стану просторових тіл з ускладненими властивостями”, ГР № 0196U000996, 1996-1997 (відповідальний виконавець); “Розроблення розв'язків задач механіки деформування структурно-неоднорідних тіл і їх реалізація методами комп'ютерної алгебри”, ГР № 0198U002688, 1998-1999 (відповідальний виконавець); “Розроблення теорії та методів дослідження міцнісних властивостей елементів конструкцій у вигляді брусів кусково-однорідної структури”, ГР № 0100U001318, 2000-2002 (виконавець) та ряду інших тем, що підтверджено відповідними документами.
Мета і задачі досліджень. Метою є створення теоретичних і прикладних основ інтелектуалізації програмного забезпечення для автоматичного розв'язування чисельно-аналітичними методами складних наукових і прикладних задач.
Для досягнення цієї мети необхідно розв'язати такі задачі:
Установити основні причини падіння продуктивності сучасних СКА при поширенні області застосування ЧАМ на нові класи наукових та прикладних задач. Дати конструктивне означення складності задач. Довести можливість і встановити напрями розв'язання цієї проблеми шляхом інтелектуалізації.
Розробити методологічні принципи інтелектуалізації. На цій основі розробити теоретико-множинну модель задачі для обґрунтування властивостей мови нового покоління для інтелектуалізації розв'язування складних задач. комп'ютерний алгебра прикладний задача
Обґрунтувати і розробити структури даних та склад набору процедур вхідної мови універсальної СКА нового покоління для створення програмного забезпечення розв'язування складних задач.
Розробити аналітичні моделі реальних прикладних задач, складних за своїми характеристиками.
Розробити методи й програмне забезпечення розв'язування цих задач, отримати розв'язки.
Отже, у даній дисертації:
Об'єкт дослідження - сучасні проблеми застосування комп'ютерної алгебри, які ускладнюють створення ПЗ наукових та прикладних задач.
Предмет дослідження - складні задачі, що виникають у прикладному математичному моделюванні, процес їх розв'язування, інтелектуалізація цього процесу, властивості вхідних мов СКА, орієнтованих на створення автоматичного ПЗ для розв'язування складних наукових і прикладних задач.
Методи дослідження ґрунтуються на використанні теоретико-множинного підходу, математичного аналізу, топології, теорії програмування та комп'ютерної алгебри, а також на принципах, розроблених у даній дисертації. Аналітичні моделі, методи розв'язування і ПЗ задач, вибраних для апробації, ґрунтуються на теорії узагальнених функцій, граничних інтегральних рівнянь, теорії пружності і на результатах, отриманих безпосередньо у дисертації.
Наукова новизна результатів дисертації. Створені теоретичні і прикладні основи інтелектуалізації програмного забезпечення для автоматичного розв'язування чисельно-аналітичними методами складних наукових і прикладних задач. Ці основи є подальшим розвитком, узагальненням, обґрунтуванням і застосуванням ідей та принципів, на яких розвиваються мови нового покоління сім'ї АНАЛІТИК. У дисертації:
У загальній проблемі автоматизації ЧАМ виділена проблема інтелектуалізації. Уперше означений об`єкт інтелектуалізації - клас складних задач комп'ютерної алгебри. Розроблено новий підхід до аналізу і виведені критерії порівняльної продуктивності автоматичного та діалогового режимів СКА. Встановлено можливість якісного підвищення продуктивності розв`язування складних задач шляхом інтелектуалізації при сучасному співвідношенні між характеристиками складових системи „людина-комп`ютер”.
Уперше розроблені методологічні принципи інтелектуалізації розв`язування складних задач. Встановлено, що інтелектуалізація повинна здійснюватися мовою на основі аналітичної граматики, доведено її існування.
Запропонована й здійснена розробка уявлень про задачу як об`єкт СКА з позицій теоретико-множинного підходу. Запропонована і розроблена нова теоретико-множинна модель задачі, обґрунтовані та отримали подальший розвиток уявлення про основний об'єкт мови нового покоління СКА, яким є вся сукупність даних про задачу, зчеплена відношенням залежності у процесі її розв'язування.
Уведено й обґрунтовано поняття структурних і функціональних властивостей даних, способи їх іменування та критерії складності. Узагальнені й розроблені нові основні структури даних для представлення процесу розв'язування складних задач. Доведена можливість здійснення незалежних перетворень на множині виразів, що є основою для розроблення нових методів та стратегій символьних перетворень при розв`язуванні складних задач.
Обґрунтований, отримав подальший розвиток і удосконалений до рівня, достатнього для практичного використання, склад набору базисних процедур вхідної мови СКА нового покоління.
Запропоновані нові стилі програмування такими мовами розв'язування складних задач.
Створено аналітичні моделі, методи розв`язування та програмне забезпечення нових за змістом, складних за своїми характеристиками й вагомих з точки зору впровадження прикладних задач теорії прокатки металу, просторової теорії пружності кусково-однорідних тіл та теорії опору композитних матеріалів.
Практичне значення одержаних результатів. У дисертації розроблені теоретичні та прикладні основи створення вхідних мов СКА нового покоління та програмного забезпечення автоматичного розв'язування складних задач, що є ґрунтом для нового витка підвищення якості й продуктивності науково-дослідних робіт, а також процесу навчання.
Розроблені методи та ПЗ дозволили реалізувати уточнену теорію напружено-деформованого стану при згині композитних брусів кусково-однорідної структури. Подібні методи є основою для створення ПЗ подальших удосконалень цієї теорії, можливість реалізації яких звичайними засобами у режимі діалогу різко знижується внаслідок наявності ітераційних алгоритмів.
Розроблено автоматизований метод побудови геометричної моделі осередку деформації при прокатці металу прокатними валками, що значно зменшує часові характеристики створення прогресивних ресурсозберігаючих технологій прокатки фасонних профілів.
Автоматизація підготовчого періоду дала змогу реалізувати новий чисельно-аналітичний варіант методу граничних елементів.
Розроблені методи й ПЗ є складовою частиною науково-технічних та дослідних держбюджетних робіт, виконаних згідно з планами ряду організацій НАН України та Міністерства освіти і науки України, що підтверджено документами про запровадження й використання отриманих результатів.
Теоретичні та прикладні результати дисертації цілком придатні до використання у теоретичних і експериментальних дослідженнях при створенні нових і вдосконаленні існуючих версій СКА, розробленні ПЗ математичного моделювання наукових та прикладних задач, у практичних інженерно-конструкторських розрахунках, а також для інтенсифікації навчання дисциплінам, насиченим математикою, у навчальних закладах усіх рівнів.
Особистий внесок здобувача. Усі результати дисертаційної роботи одержані особисто автором. У працях, написаних у співавторстві, особисто автору дисертації належать: у публікаціях [8, 10, 13, 24] методи й алгоритми розв'язування задач, ПЗ та отримані розв`язки; у працях [11, 30] при розробленні мови і при визначенні семантики її процедур використані результати даної роботи, а також процедура СПИСОК; у публікаціях [9,12,31] теоретико-множинний підхід, принципи інтелектуалізації, теореми, наслідки, уявлення про процес розв`язування задачі як про перетворення множини виразів з відношенням залежності, “нерв” як структура даних мови СКА нового покоління; у публікаціях [20-22, 25-27, 29] формулювання в термінах узагальнених функцій математичних моделей, ПЗ, метод та реалізація визначення пружної лінії прогину брусу; у працях [14-19] загальна методика моделювання й розрахунків геометричних параметрів осередку деформації, її реалізація.
Апробація роботи. Основні положення та результати дисертації доповідалися на V-VII Міжнародних наукових конференціях імені академіка М. Кравчука (Київ, 1996-1998рр.); XVI Міжнародній конференції “Математическое моделирование в механике деформируемых твердых тел. Методы конечных и граничных элементов” (Росія, Санкт-Петербург, 1998 р.); Second International conference on Composite Science and Technology (ICCST/2, Durban, South Africa, 1998); Першій міжнародній науково-практичній конференції з програмування (УкрПРОГ-98, Київ, 1998); Міжнародній конференції “Численные и аналитические методы расчета конструкций” (Росія, Самара, 1998 р.); 4-th International IMACS Conference on Application of Computer Algebra (IMACS-ACA'98, Czech Republic, Praha, 1998); VI Міжнародному симпозіумі українських інженерів-механіків (Львів, 1999 р.); II Білоруському конгресі з теоретичної та прикладної механіки (Бєларусь, Мінськ, 1999 р.); III Міжнародній науково-технічній конференції “Математичне моделювання в електротехніці та електроенергетиці” (Львів, 1999 р.); International conference “Composite science and technology” (ICCST/3, Durban, South Africa, 2000); II Міжнародній науково-практичній конференції “Інтернет-Освіта-Наука-2000” (IOH-2000, Вінниця, 2000 р.); III Всеросійському семінарі “Проблемы оптимального проектирования сооружений” (Росія, Новосибірськ, 2000 р.); VI Сибірському Конгресі з прикладної та індустріальної математики, присвяченому пам'яті М.А.Лаврентьєва (ІНПРІМ-2000, Росія, Новосибірськ, 2000р.); VI-й Міжнародній науково-технічній конференції “Пластична деформація металів” (Україна, Дніпропетровськ, 2002); 8-9-й Міжнародних наукових конференціях “Современные проблемы информатизации в технике и технологиях” (Росія, Воронеж,2003-4рр.).
Публікації. Список основних опублікованих праць за темою дисертації у кількості 31, із них 9 без співавторів, наведений у кінці автореферату. Серед них 21 стаття у наукових журналах, 6 - у збірниках наукових праць та 4 - тези міжнародних конференцій та конгресів.
Структура та обсяг дисертації. Дисертація складається зі вступу, семи розділів, висновків, списку використаних джерел, що містить 376 найменувань, й 5 додатків. Загальний обсяг становить 320 сторінок, серед яких основної частини 291 сторінка, 63 рисунки й 8 таблиць.
ОСНОВНИЙ ЗМІСТ ДИСЕРТАЦІЇ
У вступі обґрунтовані актуальність, теоретична та прикладна значущість вибраної теми, сформульовано мету і основні задачі дослідження, коротко викладено зміст дисертації, новизну і практичну цінність отриманих результатів, зазначені зв'язок роботи з науковими програмами, планами організацій, де виконувалася робота, апробація, публікації й перелік упроваджень.
Перший розділ присвячений огляду літератури та ПЗ за темою дисертації й обґрунтуванню вибору напряму досліджень. В огляді окреслені основні етапи розвитку СКА як засобів автоматизації чисельно-аналітичного розв'язування складних наукових і прикладних задач. Увага сконцентрована на етапах якісної зміни властивостей СКА для розширення області застосування й спектра ЧАМ у відповідності з природним розвитком науки та інженерії.
Установлено, що на кожному з цих етапів продуктивному застосуванню СКА відповідає певний розподіл функцій між компонентами системи “людина-комп'ютер”, зумовлений рівнем розвитку можливостей обчислювальної техніки, властивостями вхідних мов і вартістю праці. Критерії оцінювання продуктивного застосування ЧАМ є відображенням такого розподілу.
У результаті огляду та аналізу визначено об'єкт і предмет дослідження. Розкритий зв'язок теми дисертації із загальною проблемою автоматизації ЧАМ.
Визначальною складовою процесу чисельно-аналітичного розв`язування є аналіз властивостей даних і вибір шляхів їх перетворень. Необхідні для цього якості суб`єкта підпадають під значення терміна “інтелект” у тому прагматичному розумінні, яке надавалося йому з самого початку у словосполученні “artificial intelligence”, а відповідні функції, що виконуються на всіх етапах розв'язування, можна назвати інтелектуальними. Розроблення засобів автоматизації такої діяльності природно назвати інтелектуалізацією ПЗ. Отже, інтелектуалізація ПЗ є складовою загальної проблеми автоматизації розв'язування складних для людини задач. Виділені два аспекти: теоретичний та прикладний. Теоретичний полягає у розробленні уявлень про задачу як про об`єкт СКА і про властивості мови для створення ПЗ складних задач. Прикладний - у виділенні класів задач, розв'язування яких потребує інтелектуалізації, у розробленні відповідної мови та у напрацюванні практичних методів програмування.
Установлено, що внаслідок швидкого розширення області застосування комп'ютерної алгебри на представницькі класи задач найрізноманітнішої тематики в даний час все більшої значущості набувають труднощі програмування розв'язування, які полягають в існуванні “відносної алгоритмічної проблеми”. Проблематичним є не існування алгоритму, а можливість продуктивного представлення розв'язування задачі чітко окресленими засобами, тобто вхідною мовою даної СКА. Ця проблема є наслідком неповноти вхідних мов сучасних СКА, незважаючи на неперервне збільшення об`єму їх бібліотек (рис.1), і причиною вимушеного переведення розв'язування у режим діалогу.
Спроможності сучасної комп'ютерної техніки дають змогу переходити до розв'язування задач із недосяжним раніше обсягом даних. На рис. 2 а, б, в показані приклади, взяті із різноманітних галузей фундаментальної та прикладної науки: ядерної і математичної фізики, а також теорії пружності композитних матеріалів. Лінійній зміні параметра т, що характеризує ускладнення задачі (кількість членів ряду, підстановок, ітерацій ЧАМ), відповідає майже експоненціальне зростання функції ємнісної складності (довжина виразу в символах: - експериментальні дані, о - згладжені дані, масштаб логарифмічний).
При зростанні обсягу виразів продуктивність візуального аналізу їх властивостей у режимі діалогу швидко знижується. На рис. 3а у логарифмічному масштабі показаний аналог сигнальної часової складності для однієї і тієї ж задачі теорії опору композитних матеріалів, розв'язаної автоматичною програмою та у діалозі. Криві 1а та 1b - загальний час розв'язування: а - в режимі діалогу; b - автоматичною програмою. Крива 2 - “чистий” час процесора, що витрачений на виконання автоматичних перетворень. Криві на рис. 3а ілюструють й іншу особливість застосування ЧАМ: час зростає переважно за рахунок витрат на виконання інтелектуальних функцій. Для варіанта m=4 “чистий час” перетворень (крива 2) складає ~ 3.4% від загального часу розв'язування в інтерактивному (крива 1b) і 33% - в автоматичному (крива 1a) режимах. Порівняння часових сигнальних показано на рис. 3б і свідчить про падіння продуктивності інтерактивного режиму при одному прогоні програми з ускладненням задач.
Таким чином, з одного боку, наведені фактори ведуть до зниження продуктивності праці у режимі діалогу та підвищення ролі автоматичного режиму. З іншого боку, внаслідок існування “відносної алгоритмічної проблеми”, розв'язування задач треба переводити у діалоговий режим для виконання інтелектуальних функцій людиною. Ці фактори є причиною додаткових фізичних, матеріальних та інтелектуальних витрат при розв'язуванні, що відповідно до загального поняття складності дає підставу характеризувати такі задачі як складні. Отже, об'єктом дослідження є зазначені актуальні проблеми застосування комп'ютерної алгебри у науково-дослідних та інженерних роботах.
Втіленням цих проблем є предмет дослідження, тобто коло питань, окреслене навколо нового для комп'ютерної алгебри поняття “складна задача” як фактора зниження продуктивності застосування комп'ютерної алгебри.
На сучасному рівні розвитку СКА проблеми можуть бути розв'язані новим перерозподілом функцій між суб'єктами, при якому частина інтелектуальних функцій перекладається на комп'ютер і виконується автоматично, а частина, пов'язана з програмуванням та налагодженням програм, інтерактивно.
Установлено, що в усіх сучасних СКА розвиваються засоби, спроможні підтримувати такий розподіл функцій, але характерним є стихійність розвитку і відсутність єдиних уявлень про відповідні властивості вхідних мов. Виділено два альтернативних підходи до розв'язання цієї проблеми: конструктивний та аналітичний. Також установлено, що на даний час немає обґрунтування вибору між ними при загальному розв'язанні проблеми інтелектуалізації ПЗ.
Отже, актуальним є виділення із загальної проблеми автоматизації і розв'язання проблеми інтелектуалізації ПЗ, тобто розроблення теоретичних і прикладних основ створення ПЗ з новим розподілом функцій між суб'єктами при чисельно-аналітичному розв'язуванні складних задач.
У другому розділі обґрунтовані й розроблені шляхи та методи вирішення задач дослідження. Новий розподіл функцій потребує інших, ніж на попередніх етапах розвитку СКА, критеріїв оцінювання відносної продуктивності інтерактивного та автоматичного режимів праці. Доцільність інтелектуалізації випливає із сучасних спроможностей суб`єктів розв`язування до забезпечення більшої продуктивності автоматичного ПЗ порівняно з діалоговим.
При оцінках продуктивності враховані загальні витрати на всіх етапах розв`язування задачі і питома вартість одиниці праці кожного суб'єкта. Це відповідає суб'єктивній природі складності й доцільне з огляду на різнорідність природи та способів обробки інформації людиною і комп'ютером. Продуктивність П розглядається як
, (1)
де Р - загальна вартість розв'язування задачі. Її параметрами є швидкість обробки інформації , питома вартість праці суб'єкта, кількість прогонів програми за її “життя” та часові витрати T .
Для діалогової програми маємо
, (2)
де діал - діалог, інт - інтелектуальні функції, ком - програма, люд - людина, авт - автоматичний режим, Обч - автоматичні перетворення, N - кількість застосувань програми за час експлуатації.
За умови інтелектуалізації вартість автоматичної програми оцінюємо як
, (3)
де час, витрачений людиною на програмування та налагодження автоматичної програми. Для діалогової програми цим параметром нехтуємо, і для відносної продуктивності маємо
, та , (4)
де величиниі характеризують додаткові витрати на створення й виконання автоматичної програми; - характеристика складності задачі; - характеристика продуктивності розроблення автоматичної програми вибраною мовою програмування (, оскільки задачі складні); - відносна питома вартість праці; - відносна швидкість оброблення інформації людиною і комп`ютером .
Швидкість оброблення інформації людиною є сталою тільки при невеликій довжині коду:
, (5)
а потім спадає. Оцінка (5) є верхньою межею зміни швидкості виконання інтелектуальних функцій людиною при ускладненні задачі. Вважаємо, що у (4 ) має місце (5), а при ускладненні задачі спадає. Тоді - верхня межа відносної швидкості. Для питомих вартостей у даний час має місце
. (6).
Виходячи з об'єктивності природи задачі та розвитку комп'ютерної техніки, вважаємо, що у (4) і незалежні, а та . Доведено:
Твердження 1: Для підвищення продуктивності розв'язування шляхом інтелектуалізації ( у (4) ) необхідно і достатньо, щоб
. (7)
Критерій (7) представляє розв'язок задачі I. Основні результати його аналізу такі:
При розв'язуванні складних задач автоматичні програми, за умови інтелектуалізації, продуктивніші, ніж діалогові. Більше того, їх відносна продуктивність зростає разом зі складністю задачі.
Сучасні тенденції розвитку комп'ютерної техніки сприяють зменшенню значення та у (4) і таким чином сприяють виконанню нерівності (7) як достатньої умови. Значення та визначаються також властивостями вхідних мов сучасних СКА, рівень розвитку яких (розділ 1) недостатній для програмування автоматичного розв'язування складних задач.
Цим обґрунтовуються шляхи досягнення мети дисертації, викладені у вигляді задач 2-5.
Вихідним пунктом є такі уявлення про центральну складову предмета дослідження, які не суперечать відомим загальним положенням і відповідають об'єктивній природі задачі та сучасній розширеній практиці застосування СКА. Вважаємо, що:
Під науковою та прикладною задачею розуміється математична задача на знаходження, яка виникає і розв'язується чисельно-аналітичним методом при математичному моделюванні певної наукової або інженерної проблеми.
Усвідомлена та коректно поставлена задача має розв'язок.
Процес розв'язування задачі може бути представлений у вигляді алфавітного відображення:
, (8)
а кожний крок розв'язування також є алфавітним відображенням:
, (9)
де - скінченна кількість кроків розв'язування; - сукупності виразів деякої мови, кожна з яких у процесі розв'язування пов`язує початкові, проміжні та кінцеві дані; - поставлена та розв'язана задача; - послідовність функцій.
На кожному кроці і розв'язування множина виразів містить усю інформацію, необхідну для вибору і виконання перетворення , де вирази .
При розв'язуванні невідомими є об'єкт, представлений виразами і послідовність функцій f (процедурне невідоме за термінологією G.Polya).
Із сформульованих положень та відомого феноменологічного означення поняття “задача” (В.М.Глушков, G.Polya) витікає:
Твердження 2: Для розв'язування масової складної задачі достатньо синтезувати процедурне невідоме f.
Це твердження у сукупності з означенням поняття “автоматичні обчислення” (Th. Cormen) обґрунтовує достатність вирішення задач II-III для досягнення мети дисертації, а поставлені задачі зведені до розроблення мови представлення даних та синтезу процедурного невідомого.
Методика досліджень визначена шляхом аналізу означених у першому розділі альтернативних підходів до створення ПЗ для автоматичного розв'язування складних задач. При використанні конструктивного підходу властивості об'єктів іменуються ідентифікаторами, які конструюються за певними граматичними правилами з ідентифікаторів із допоміжного розбиття словника вхідної мови, які є іменами стандартних типів даних. Альтернативу вирішує
Твердження 3: У загальному випадку подання розв'язування складної задачі у вигляді (8)-(9) мовою, що породжується граматикою, містить відносну алгоритмічну проблему.
Для розв'язання проблеми інтелектуалізації програмного забезпечення автором розроблені принципи, які є обґрунтуванням, подальшим розвитком й узагальненням аналітичного підходу:
Задача об'єктивна. Вирази у (8)-(9) пов'язують між собою імена початкових, проміжних та невідомих даних і будуються за певними синтаксичними правилами, але їх вигляд, структура, а також вибір відображень fi зумовлені не тільки цими правилами, а є втіленням певних феноменологічних відношень на множині імен даних. Аналіз відношень між об'єктами складної задачі у процесі її розв'язування необхідно здійснювати на неконструктивній (канторівській) теоретико-множинній основі.
Мову представлення даних про складну задачу треба розробляти на основі аналітичної граматики, що відповідає теоретико-множинній моделі задачі:
Складна задача у процесі (8)-(9) розглядається як множина Ф виразів універсальної мови на словнику Г, що містить імена початкових, проміжних та невідомих даних. Інтелект наділяє множину Ф структурою мови шляхом аналізу відношень між виразами з Ф та їх складовими частинами.
Вхідна мова універсальної СКА, призначена для розв'язування складних задач, повинна бути відкритою для користувачів і містити підмножину засобів для надбудови гіпермови при розв'язуванні конкретної складної задачі.
Гіпермова має таку структурну четвірку:
, (10)
де Г - словник мови; Р - розбиття словника; Ф - множина виразів задачі на всіх етапах процесу розв'язування; - категорії вигляду (R(), F); R() - клас об'єктів; F - відповідний клас морфізмів; - феноменологічне відношення, що утворює категорію .
Методичну основу подальших досліджень становлять принципи:
Множини виразів у (8)-(9) розглядаються як вирази деякої мови (10) на аналітичній основі над вхідною мовою СКА.
Феноменологічні відношення абстрагуються суб'єктом при аналізі множини Ф. Кожне виражається деяким квантором узагальненості:
виконується - істина, (11)
є відношенням еквівалентності і задає властивість (клас) на множині Ф виразів вхідної мови.
Структура (10) мови динамічна і може збагачуватися за рахунок додавання нових категорій:
. (12)
Вхідна мова СКА є метамовою по відношенню до мови на аналітичній основі. Тому четвірка (10) визначає склад сукупності базисних процедур як компоненту сигнатури вхідної мови, над якою будується гіпермова для розв'язування складної задачі.
Базисними засобами для створення гіпермови є алфавіт вхідної мови СКА, словник Г та його розбиття Р, а також процедури для розширення або зміни Г і Р. Особливе значення мають базисні процедури для представлення категорій: для іменування класів об'єктів, перевірки належності деякого об'єкта заданому класу та здійснення алфавітних перетворень (9).
Реалізація базисних процедур повинна забезпечувати виконання аксіом для понять “клас”, “категорія”, “множина” тощо, фундаментальних для поняття “мова на основі аналітичної граматики”.
Базисні засоби вхідної мови СКА повинні бути орієнтовані на збереження компактності представлення даних у процесі розв'язування.
Отже, розв'язання задач дисертаційних досліджень зведене до доведення існування мови на аналітичній основі для представлення процесу (9) розв'язування задачі, розроблення структур для представлення даних, що забезпечують автоматичне виконання перетворень, до обгрунтування та розроблення відповідних процедур вхідної мови СКА, доведення відсутності відносної алгоритмічної проблеми при програмуванні розв'язування у термінах розроблених засобів, а також у апробації одержаних результатів і систематизації використаних стилів програмування. Цей перелік складає зміст подальших досліджень, а одержані результати - теоретичні й прикладні основи створення ПЗ, зорієнтованого на автоматичне розв'язування ЧАМ складних задач.
У третьому розділі розроблена теоретико-множинна модель задачі та процесу її розв'язування як об'єктів СКА. На цьому ґрунті доведене існування мови на аналітичній основі, розроблені узагальнені структури даних.
Загальні положення. Теоретико-множинна модель побудована як узагальнення відношень між даними у процесі розв'язування задач на знаходження:
1. Вирази з Ф у (8)-(9) утворені скінченними послідовностями на деякому словнику Г з розбиттям
, (13)
де - імена операцій; - імена даних (початкових , проміжних та невідомих), і є правилом запису обчислення його значення. У виразі існують головна І та одинична операції.
2. Кожній операції можна поставити в однозначну відповідність множину її операндів, кожному виразу систему таких множин, множині - систему, а відповідає система
, (14)
де - булеан множини Г``.
3. Розв'язок може бути представлений системою , у якій елементи мають вигляд
, (15)
де - ім'я невідомого або проміжного даних; .
4. Кожна система покриває . Система покриває .
Ототожнимо у системі О усі рівні між собою множини (у тому числі й одноелементні) і тим самим абстрагуємося від структурних властивостей, пов'язаних з обчисленням значень виразів. Множину вважаємо незалежною. Вона породжує на відношення залежності, причому у процесі (9) розв'язування задачі залежна система відображається на залежну.
Структуру сукупності з'ясовує
Лема 1: Схема відношень між виразами у множині Ф, зумовлена відношенням залежності між іменами даних, ізоморфна абстрактному комплексу K розмірності m, де m+1 - кількість різних імен даних у .
Системи , які відповідають виразам із у (9), ізоморфні симплексам комплексу .
Оскільки існування граматики, що породжує мову представлення процедурного невідомого f , не передбачається, то тут можна стверджувати тільки те, що на кожному кроці локальних перетворень у (9) існують прообрази та образи функцій . Існування мови на основі аналітичної граматики для представлення процесу (9) потребує доведення. У межах моделі справедлива
Теорема: Якщо на кожному кроці у (9) існують множини виразів з відношенням залежності, то існує мова на основі аналітичної граматики (10) для представлення процесу (9) розв'язування задачі.
Отже, дослідження зведені до розроблення засобів опису категорій (12) у термінах класів на Ф та відображень f. Методика розроблення визначена принципами інтелектуалізації.
Із леми 1 та теореми випливає, що на множині Ф виразів задачі у процесі розв'язування існують просторові топологічні відношення. Також має місце
Твердження 4: Топологія, що породжена метрикою простору реалізації комплексу К, індукує на множині виразів універсальної мови на Г функціональну властивість.
Ці твердження є підставою для просторових уявлень про основний об'єкт СКА, парадигму вхідних мов АНАЛІТИК-93,-2000, але встановлюють його топологічну, а не метричну природу.
Програмування розв'язування складної задачі у термінах категорій (12) потребує структур даних відповідної узагальненості і процедур вхідної мови для роботи з такими даними.
Узагальнені структури даних отримані шляхом аналізу семантики сукупностей виразів, що описують дані у процесі розв`язування прикладних математичних задач. Вони є, з одного боку, абстракцією відношень на множині операцій, які виконуються при обчисленні значень виразів або їх сукупності, а з іншого - припускають лінеаризацію, що відповідає архітектурі фон Неймана комп'ютерів, на яких базуються сучасні СКА.
Найменшою семантичною одиницею при запису розв'язування задачі є відокремлений вираз. Для усунення відношення залежності на і відокремлення виразів у (9) накладена
Умова 1: Вважаємо, що всі операнди всіх операцій у виразах , навіть якщо вони мають однакові імена, парами різні..
Семантика відокремленого виразу як запису правила автоматичного обчислення значення цього виразу може бути узагальнена відношенням на множині операцій
, (16)
де -імена операцій; - множини їх операндів. Загалом виразу відповідає
Лема 2: Система множин, зчеплена відношенням (16), ізоморфна орієнтованому дереву.
Схема (16) вільна від семантики операцій. Тому лема 2 при виконанні умови 1 природно поширюється на множину відокремлених виразів, упорядкованих черговістю виконання підстановок. Множині таких виразів також відповідає певне орієнтоване дерево, точніше, об'єднання дерев. Обернена відповідність у множину виразів універсальної мови не однозначна. Мають місце
Твердження 5: Схема відношень на множині операцій, зумовлена зчепленням (16), породжує клас еквівалентності на множині виразів універсальної мови на Г .
Означення 2: Цей клас еквівалентності назвемо структурною властивістю виразу мови на Г, а спільну схему відношень - просто схемою.
Важливим для програмування автоматичного розв'язування задач є:
Твердження 6: Схема, зумовлена зчепленням (16), є структурою даних.
Відокремлені вирази різноманітних типів є основними об'єктами вхідних мов провідних СКА, оброблення яких підтримує й АНАЛІТИК-93,-2000. Але при усуненні залежності між даними процедурне невідоме f у (8)-(9) може бути синтезоване тільки у вигляді послідовності перетворень, в якій обчисленню значення кожного відокремленого виразу передує підставлення замість імен даних їх поточних значень, що веде до стрімкого зростання обсягу даних. Отже при програмуванні автоматичного виконання процесу (8)-(9) у термінах відокремлених виразів не можна уникнути характерного (розділ 1) для складних задач явища - “вибуху даних”.
Одним із шляхів подолання подібних труднощів вважається розроблення у сучасних СКА апарату керування процесом підстановок. Найбільш повна реалізація такого апарату здійснена в СКА АНАЛІТИК-2000, проте його нинішня реалізація здебільшого зорієнтована на режим діалогу, оскільки мова не містить автоматичних засобів для вироблення критеріїв для такого керування.
Для організації автоматичних перетворень із збереженням компактності даних необхідне розроблення інших, принципово нових представлень даних і відповідних базисних процедур мови. Такі структури виділені із загальної схеми відношень на множині виразів задачі.
Скасуємо на Ф умову 1. Схема відношень на множині операцій, що виконуються при обчисленні значень виразів, пов'язаних відношенням залежності, на кожному кроці процесу розв'язування (9) може бути узагальнена у вигляді відношення
, (17)
де - також операція з О. При цьому має місце
Лема 3: Схема відношень на множині операцій у , обумовлена (17), ізоморфна абстрактному симпліціальному комплексові.
Для такої схеми не виконується сформульована вище умова 1. У загальному випадку абстрактний комплекс тільки частково впорядкована множина своїх власних симплексів, загальні алгоритми його лінеаризації невідомі.
Виберемо як поле вершин множину ідентифікаторів , що іменують вирази у . Тоді вершини , для яких, згідно з (17), має місце
, (18)
де - множина операндів деякої операції, утворюють абстрактні симплекси, а вся сукупність подібних симплексів - абстрактний комплекс з остовом . Узвичаєній термінології відповідає
Означення 3. Комплекс (18) будемо називати “нервом” множини виразів задачі.
Накладемо на “нерв” умову відокремлення, вважаючи кратні вершини різними. Відношення залежності можна продовжити до лінійної упорядкованості на . Тоді має місце
Твердження 7: ”Нерв” множини виразів задачі, упорядкованих продовженим відношенням залежності, є структурою даних.
Операнд може бути обчислений тільки раз і потім підставлений в усі вирази , що утворюють цю грань „нерва”. Оскільки нерв є повним комплексом, у такий спосіб можна здійснити перетворення усієї множини виразів , передаючи обчислені значення між суміжними вершинами граней без рекурсивного виконання підстановок. Отже, залежність (18) між виразами, представлена у термінах нової структури даних “нерв”, надає принципово нові можливості для організації автоматичних перетворень і вирішення аспекту проблеми складних задач, пов'язаного із зростанням обсягу проміжних даних. Загалом має місце
Твердження 8: Автоматичні обчислення на множинах виразів з відношенням залежності можуть бути організовані незалежними процесами: як послідовність обчислень значень відокремлених виразів з рекурсивним виконанням підстановок; без рекурсивного виконання підстановок - незалежно вздовж кожного окремого ланцюга нерва, в якому вершини лінійно впорядковані відношенням залежності; обчисленням значень виразів, що є гранями (18) комплексу, з підставленням цих значень у вирази, які є вершинами цієї грані і, оскільки нерв є повним комплексом, обчислення переліченими способами значення множини виразів, ізоморфної цьому комплексу.
У важливому окремому випадку, коли множина виразів упорядкована черговістю виконання підстановок, нерв ізоморфний орієнтованому дереву. Це дозволяє проводити незалежні перетворення з передачею значень уздовж кожного відокремленого ланцюга нерва.
Сукупності виразів з однаковим нервом утворюють клас на множині виразів універсальної мови, і на цю сукупність природно поширюється поняття структурної властивості (означення 2). Ім'ям класу може бути вираз або із спеціального розбиття словника Г, або будь-який вираз даного класу. Отже, альтернативність природи конструктивного та аналітичного підходів у якісно різному способі іменування властивостей. Ураховуючи твердження 3, приймаємо:
Умова 2: Ім'ям класу виразів універсальної мови на Г може бути деякий вираз цього ж класу.
Умова 3: Ім'ям класу сукупностей виразів універсальної мови на Г, з відношенням залежності, може бути елемент цього класу.
Прийнятий спосіб іменування властивостей, відповідно до твердження 3, є основою для загального розв'язання другого аспекту складності задач - відносної алгоритмічної проблеми.
Структура даних “схема” (твердження 6) є узагальненням основних типів структур даних сучасних СКА, структура даних “нерв” є новою. Новими є принципи 1-11 та твердження 3-8. У розділі також доведено, що отримані у розділах 2-3 результати становлять достатню теоретичну основу для розроблення прикладних аспектів проблеми інтелектуалізації ПЗ.
У четвертому розділі розроблені прикладні основи інтелектуалізації: обґрунтований і розроблений набір базисних засобів для програмування мовою на аналітичній основі, встановлено, що серед вхідних мов сучасних СКА найбільшу повноту базису з урахуванням розроблень автора на даний час має СКА АНАЛІТИК-93,-2000, систематизовані стилі програмування мовами на аналітичній основі, а також уведені критерії оцінювання складності задач.
Автоматичне ПЗ складних задач створюється мовою програмування, що складається з двох компонент. Перша використовується для програмування частини перетворень (9), яку можна представити у термінах стандартних проблемних типів даних і процедур використовуваної СКА, і тому далі вона не розглядається. Інтелектуалізація ПЗ полягає (принципи 5-11) у розробленні на аналітичній основі другої компоненти зі структурою (10), яка застосовується для усунення проблем, пов'язаних зі складністю задачі, що розв'язується.
Перетворення в (9) плануються людиною й описуються в термінах категорій (,) мови при розробленні ПЗ (принципи 5-7). Термінами є вирази, що іменують властивості (умови 2-3), процедури, що розв'язують множину виразів універсальної мови на Г відносно класу об'єктів , і процедури, що здійснюють алфавітні відображення .
Отже, категорія мови є „парою” процедур спільного застосування (перевірка належності класу об'єктів, морфізм). Їх доцільно реалізовувати однією процедурою. Перша компонента „пари” має і самостійне значення як елемент керування гілкуванням програми. Цей результат обґрунтовує та узагальнює результат, вперше отриманий у роботах В.П. Клименка й Ю.С. Фішмана у вигляді процедури ЗАСТОСУВАТИ. Тут поняття „пари” обгрунтовано й узагальнено як один з основних елементів інтелектуалізації ПЗ складних задач.
Спосіб реалізації компонент „пари” може бути різним, проте безпосередньо з теореми існування мови на аналітичній основі (розділ 3) випливає:
Наслідок: Представлення розв'язування складних задач мовою на аналітичній основі передбачає таку реалізацію базисних процедур вхідної мови СКА, яка здійснює відображення зі збереженням відношення залежності.
Умова 4: Вираз вхідної мови СКА, що описує заголовок базисної процедури, призначеної для розв'язування множини виразів універсальної мови відносно класу об'єктів, повинен містити список імен залежних даних.
Серед провідних СКА тільки у вхідній мові MAPLE V окремі процедури реалізовані з виконанням цієї умови і тільки в найпростішому випадку, коли залежна множина містить одне ім'я.
Узвичаєна методика передбачає розподіл процесу розв'язування на етапи, які, з точки зору уявлень (8)-(9), якісно відрізняються виконуваними інтелектуальними функціями: А - постановка задачі, представлення умови, початкових, невідомих та проміжних даних й первинне формування сукупності виразів мовою СКА; Б - формалізація відношення залежності у вигляді (15), упорядкування множини вирів відповідно до цього відношення для представлення перетворень (9) у термінах структур даних (твердження 9 і 10)); В - синтез послідовності перетворень f у (9).
Склад базисних засобів обумовлений структурою мови (10) і його доцільно описати в міру збагачення на етапах А-В у процесі розроблення програм.
Умова та дані задачі є представленням певних знань. Тому інтелектуалізацію відповідної частини етапу А треба розглядати як проблему сумісної галузі - штучного інтелекту, про розроблення інтелектуальної системи, що ґрунтується на знаннях. Отже, застосування комп'ютерної алгебри починається тоді, коли людина володіє всією інформацією, достатньою для первинного формування виразів задачі у (9).
Формування вихідної множини виразів може бути поставлене і розв'язане як складна задача комп'ютерної алгебри (розділи 5-7) - у діалозі або автоматично програмою. При цьому вирази створюються та перетворюються як тексти на деякому словнику Г, тобто як вільна півгрупа із асоціативною некомутативною бінарною операцією конкатенації. Для надання словам відповідної семантики мова СКА повинна мати процедури ОПЕРАЦІЯ і ПЕРЕТВОРИТИ. Їхнє призначення: доцільна зміна семантики імені стандартної операції або розширення словника вхідної мови СКА до Г введенням імені і правила нової операції; перетворення тексту у множину виразів на розширенні Г словника. Для розбивки Р словника необхідна процедура СПИСОК, що повертає множину імен змінних в . Подальша розбивка словника визначається відношенням залежності на цьому списку. Воно відноситься до початкових даних задачі, отже повинно вводитися людиною у діалозі у вигляді певної сукупності виразів. Сукупність базисних засобів і структура гіпермови на етапі А подана у таблиці.
Таблиця
Базисні засоби для інтелектуалізації ПЗ складних задач
Базисні засоби |
Структура гіпермови |
Повнота базису |
||
А |
=(#, ОПЕР, ПЕРЕТ, СПИСОК, КО) ; Структури даних : текст; Найменування об'єктів : ідентифікатор, координати |
Достатня, АНАЛІТИК- 2000 |
||
Б |
= +(`,', ЗАЛЕЖНІСТЬ, ПОРЯДОК, РОЗМІРНІСТЬ, КООРДИНАТИ, rhs, lhs); : + (текст, схема); : + вирази, що іменують |
Достатня, АНАЛІТИК-2000 |
||
В |
= +( domain constructor, SOLVE, ГО, ВО, ЧИСЛО ОПЕРАЦІЙ, РІВЕНЬ, АСП (Position), КВ, ПІДСТАВИТИ, ФОРМУВАТИ, РОЗМІРНІСТЬ СИМПЛЕКСА, ЛАНЦЮГ, ГРАНЬ, РІВЕНЬ, ПРИНАЛ, ЗАСТОСУВАТИ, ПРОБЛЕМНА ФОРМА, ЗАМ); : + нерв; : |
Достатня, АНАЛІТИК- 2000 |
У таблиці курсивом показані процедури, запропоновані або узагальнені автором, жирним шрифтом - реалізовані автором мовою АНАЛІТИК-93.
Перетворення на етапі Б, у (9) здійснюються на основі функціональних властивостей виразів. Категорію утворюють клас об'єктів, вирази , а клас морфізмів - перестановки на . Ціль - упорядкування відношенням залежності. В результаті його структура стає ізоморфною структурі даних “нерв” (твердження 10). “Пару” реалізує процедура ПОРЯДОК, запропонована автором, яка здійснює топологічне сортування множини .
На етапі В перетворення полягають в обчисленні значень виразів із , де , поданих структурами даних (твердження 9-10). Доступ до об'єкта здійснюється посиланням на вирази, що іменують (умови 2-3), або за допомогою процедури КООРДИНАТИ, яка визначає його положення у відповідній схемі (твердження 9-10), а також АСП, ЛАНЦЮГ та ГРАНЬ, які іменують складові „нерва”. При розв'язуванні масової задачі кожен вираз треба розглядати як підклас. Його елементи - стани одного об'єкта, що відповідають різноманітним наборам значень імен початкових даних. Відповідно клас морфізмів F також може бути послідовністю класів відображень , що містять процедурне невідоме . Таким чином, представлення f потребує наявності двох „пар”, які відрізняються задачею розпізнавання. Встановлено, що обидві пари реалізовані тільки у мовах АНАЛІТИК-93 та АНАЛІТИК-2000 у вигляді процедур ЗАСТОСУВАТИ та ПРОБЛЕМНА ФОРМА.
Отриманий базисний набір процедур вхідної мови дає змогу створювати ПЗ, яке усуває чинники складності задачі: відносна алгоритмічна проблема усувається розширенням вхідної мови за рахунок компоненти, утворюваної на аналітичній основі; розроблені структури даних дозволяють проводити обчислення зі зберіганням компактного представлення даних. Результати зіставлення базисів провідних СКА ілюструє таблиця. В ній назви процедур мають імена тієї мови, якою вони реалізовані. Переважають імена мови АНАЛІТИК-2000, отже її базис найбільш повний.
Критерії складності задач. Дослідження й усунення труднощів, пов'язаних із складністю задач, потребує кількісних оцінок цього феномена. У розділі 2, за аналогією з відомим класом задач дискретної математики, введено функції часової та ємнісної складності. На основі створеної моделі розроблені кількісні характеристики та відповідні процедури (табл.) для складності:
функціональних властивостей сукупності виразів - РОЗМІРНІСТЬ;
структурних властивостей відокремленого виразу - ЧИСЛО ОПЕРАЦІЙ;
структурних властивостей сукупності виразів - РІВЕНЬ, РОЗМІРНІСТЬ СИМПЛЕКСУ (розмірність “нерва” або його симплексу (19));
„відносної алгоритмічної проблеми” - необхідна кількість категорій мови;
алгоритму розпізнавання властивостей об'єкта - довжина виразів мови, що іменують властивість.
Методика сучасного застосування СКА, зокрема, аналітичного підходу, в математичному моделюванні наукових та прикладних задач досліджена недостатньо. Тому важливим аспектом розроблення прикладних основ є впровадження отриманих результатів при створенні ПЗ важливих прикладних задач і систематизація досвіду програмування мовами на аналітичній основі. Зміст подальших розділів становить розв'язування задач, які, з одного боку, є складними, а з іншого, - їх ПЗ є віддзеркаленням певного стилю програмування із застосуванням розробленого апарату.
Структури даних “схема” та “нерв” дають змогу на рівні програми відображати структуру інформації, одностайну для об'єктів певного класу. Завдяки цьому, алгоритми автоматичних перетворень, записані у термінах “координат “ даних, не залежать від значень таких імен.
У п'ятому розділі цей стиль програмування використаний для розроблення ПЗ задач геометричного проектування, що полягають у синтезі аналітичного рівняння кусково-гладких плоских неперервних ліній на основі деякої неповної загальної геометричної інформації. Умова уточнюється безпосередньо при розв'язуванні кожної конкретної задачі.
Необхідність інтелектуалізації ПЗ викликана обома факторами складності цих задач. Математична модель задачі є множиною виразів , склад якої на кроці програмування не визначений, оскільки невідомі форма і кількість фрагментів, взаємне розташування, умова спряження тощо. може бути згенерована лише на основі початкових даних безпосередньо у процесі розв'язування. містить велику кількість метричних та просторових характеристик геометричних об'єктів, що знаходяться розв'язуванням системи нелінійних рівнянь. Склад системи й вектора невідомих також наперед невідомий і може бути згенерований лише після формування множини виразів .
Отже, при застосуванні звичайного підходу треба розробляти ПЗ для кожної окремої задачі цього класу. Це веде до значних трудових витрат, оскільки моделювання складних профілів геометричних об'єктів - типова складова частина багатьох прикладних та технологічних проблем.
Феноменологічне відношення , яке визначає кусково-гладкі лінії як клас геометричних об'єктів, абстраговане шляхом аналізу їх властивостей у вигляді об'єкта (рис.4). Його структура ізоморфна орієнтованому дереву і, таким чином, може бути представлена при програмуванні у термінах “схеми”. Наведений підхід є поширенням об'єктно-орієнтованого стилю програмування на чисельно-аналітичні методи.
...Подобные документы
Класифікація програмного забезпечення, системне та прикладне забезпечення, інструментальні системи. Програмна складова комп'ютерної системи, опис алгоритмів розв'язання певної задачі. Класифікація операційних систем, основні групи прикладних програм.
презентация [945,0 K], добавлен 01.04.2013Огляд переваг та недоліків мови Пролог, історія її створення. Числення предикатів як математична основа її функціонування. Порівняльна характеристика середовищ програмування Prolog. Алгоритми розв’язування математичних задач за допомогою цієї мови.
курсовая работа [504,5 K], добавлен 23.12.2014Аналіз предметної галузі задачі моделювання пострілу балісти через стіну по мішені. Структури даних та діаграми класів для розв'язання задачі. Схеми взаємодії об’єктів та алгоритми виконання їх методів. Опис розробленої програми, інструкція користувача.
курсовая работа [1,0 M], добавлен 18.05.2014Загальна характеристика мережі та мережевого обладнання, а також програмного забезпечення підприємства. Обґрунтування необхідності створення та налаштування комп’ютерної мережі, зміст відповідних заходів. Розрахунок затрат на матеріали і комплектуючі.
дипломная работа [2,4 M], добавлен 21.06.2014Основні функціональні можливості програми для забезпечення комп'ютерної системи дистанційного управління приладами. Функція пульта дистанційного керування мартфонів. Реалізація пультів дистанційного управління на основі апаратно-програмного комплексу.
дипломная работа [1,7 M], добавлен 09.07.2015Розробка програмного забезпечення для розв'язку системи лінійних рівнянь за формулами Крамера, головні особливості мови Turbo Pascal. Методи розв'язування задачі, архітектура програми та її опис. Контрольний приклад та результат машинного експерименту.
курсовая работа [47,7 K], добавлен 23.04.2010Розробка програмного забезпечення для розв'язку системи лінійних рівнянь за формулами Гаусса, головні особливості мови Turbo Pascal. Методи розв'язування задачі, архітектура програми та її опис. Контрольний приклад та результат машинного експерименту.
курсовая работа [40,3 K], добавлен 23.04.2010Загальна характеристика підприємства "Focus". Огляд програмного забезпечення для створення комп’ютерної мережі. Вибір мережевої служби та протоколів, архітектури, кабелю. Розрахунок обсягу даних, мінімальної конфігурації для серверів та робочих станцій.
курсовая работа [600,9 K], добавлен 20.05.2015Побудова апаратної структури для серверу, встановлення операційної системи і програмного забезпечення, розробка веб-сайту. Розрахунок річної суми економічного ефекту від впровадження комп’ютерної мережі. Проектування освітлення, засобів пожежогасіння.
дипломная работа [5,6 M], добавлен 02.07.2015Класифікація систем комп’ютерної графіки, її різновиди та сфери використання. Міні-комп’ютери як зменшена версія магістральних. Загальна структура і функції комп’ютерної графіки. Растрова графіка, класифікація, призначення і функції її прикладних систем.
контрольная работа [12,5 K], добавлен 12.10.2010Аналіз предметної області, опис проекту бази даних, моделей майбутнього програмного забезпечення гри для персонального комп'ютера "Міста". Функціональні можливості програмного забезпечення, які необхідно реалізувати. Інтерфейс програмного забезпечення.
курсовая работа [2,3 M], добавлен 02.06.2016Класифікація об'єктно-орієнтованих мов програмування. Розробка алгоритмічного та програмного забезпечення комп'ютерної системи управління процесом випалювання будівельних матеріалів. Тестування програмного забезпечення, оцінка його ефективності.
курсовая работа [1,6 M], добавлен 25.04.2015Відомості з теорії графів, методи отримання точних розв'язків задачі їх розфарбування. Алгоритм розфарбування графу методом неявного перебору. Комп'ютерна реалізація розв’язку задачі розфарбування графів. Типові задачі та існуючі програмні продукти.
курсовая работа [335,6 K], добавлен 15.06.2015Дослідження історії виникнення комп’ютерної томографії. Створення перших програмованих томографів. Фізико-технічні основи комп'ютерної томографії. Конфігурація сучасного спірального комп'ютерного томографа. Опис режимів сканування та отримання томограми.
отчет по практике [1,8 M], добавлен 01.12.2013Процес конфігурації комп’ютерної бухгалтерської системи, його специфіка та значення, основні етапи. Створення інтерфейсу, що призначається певній групі користувачів. Призначення користувачу створеного набору прав (повноважень) та структури інтерфейсу.
лабораторная работа [520,2 K], добавлен 24.11.2010Роль комп'ютерної техніки в різних сферах сучасного суспільства, необхідність його комп’ютеризації. Поняття про програмне забезпечення, складові, коротка характеристика його основних типів. Опис, призначення і можливості електронних таблиць MS Excel.
реферат [2,3 M], добавлен 10.10.2009Постановка задачі багатокритеріальної оптимізації та її та математична модель. Проблеми і класифікація методів вирішення таких задач, способи їх зведення до однокритеріальних. Метод послідовних поступок. Приклад розв'язування багатокритеріальної задачі.
курсовая работа [207,3 K], добавлен 22.12.2013Розрахунок елементів структурованої кабельної системи, ІР-адресації комп’ютерної мережі, плану прокладання кабельних трас та розміщення робочих місць. Створення моделі КМ у програмі PacketTracer. Особливості настройки її комутаторів та маршрутизаторів.
курсовая работа [1,6 M], добавлен 15.06.2014Різновиди архітектур баз даних. Архітектура "файл-сервер" і локальні бази даних. Обґрунтування вибору архітектури стосовно проектованої системи. Основні концепції мови SQL. Структура запитів до окремих таблиць. Інтерфейс користувача проектованої системи.
дипломная работа [972,5 K], добавлен 26.10.2012Вибір архітектури і топології мережі, її оптимальної конфігурації. Налагодження операційної системи сервера. Технічне та програмне обслуговування комп’ютерної мережі. Розрахунок необхідної довжини кабелю та кількості й типів мережного обладнання.
дипломная работа [6,2 M], добавлен 15.06.2014