2

УДК 004.78:004.042

Ляшкевич В.Я., к.т.н., Сидорук А.В.


АЛГОРИТМІЧНІ Й ПРОГРАМНІ МЕТОДИ ЯК ЗАСОБИ ПІДВИЩЕННЯ ЕФЕКТИВНОСТІ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ РЕАЛЬНОГО ЧАСУ ПРИ ВИРІШЕННІ ДИНАМІЧНИХ ЗАДАЧ НЕЧІТКОЇ ЛОГІКИ


Чернівецький національний університет імені Юрія Федьковича


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



Вступ

Науково-технічний прогрес постійно стимулює вдосконалення засобів вирішення різної складності задач. Існують цілі класи задач, для яких потрібні обчислювальні машини, здатні вирішувати задачі в реальному часі. Кожна з таких задач вимагає особливого підходу, що створює необхідність будувати окремі системи для, вирішення створювати певний базовий механізм, який дозволить вирішити поставлену задачу.

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

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

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


Постановка задачі

Для вирішення динамічних задач нечіткої логіки в реальному часі використовуються багато інструментальних засобів при цьому застосовуються різноманітні підходи [1,2], кожен із підходів можна розбити на два умовні етапи, перший з яких вибір базового механізму вирішення задачі, як правило розробка окремого механізму, другий – використання цього механізму для безпосереднього вирішення задачі. При цьому необхідно забезпечити відповідну реакцію.

Реакція систем реального часу на подію визначається сумарним проміжком часу, необхідним для одержання даних про стан об'єкта управління, обробки даних, і формування керуючого впливу. Тривалість обробки даних у подібних задачах визначається не тільки архітектурними особливостями системи, але й ефективністю планування обчислювальних процесів за допомогою засобів динамічного програмування нечіткої логіки [3]. Однак, оскільки задачі динамічного програмування нечіткої логіки вирішуються різноманітними засобами програмування, методика яких для кожної задачі формується як правило окремо, це приводить до додаткових витрат часу й ресурсів. Зменшення таких витрат є однією з найважливіших актуальних задач підвищення ефективності засобів динамічного програмування нечіткої логіки.

Подолання зазначених труднощів, що виникають при організації обчислень у системах реального часу, є актуальною проблемою, яка немає ефективного рішення відомими методами й засобами [4,5]. Таким чином, існує важлива проблема, для вирішення якої необхідна розробка – загальної бази для створення ефективних механізмів побудови бази, що матиме високу продуктивність за рахунок використання ефективних засобів роботи з динамічними обчислювальними процесами нечіткої логіки на рівні команд, програмних модулів і програм, а також легко адаптованою до різноманітних умов застосування.

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

  • автоматизувати написання програм нечіткої логіки, використавши віртуальний рівень;

  • надає адаптивні можливості за рахунок можливості динамічного перепрограмування;

  • знімає всі обмеження які присутні в статичному програмуванні.

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



Використання віртуального процесора в якості загального механізму для вирішення динамічних задач нечіткої логіки в реальному часі

При постановці задачі, яка вимагає виконання вимог динаміки, нечіткої логіки та роботи в реальному часі, виникає необхідність будувати механізми які будуть:

  • максимально швидкими (забезпечується розробкою єдиного механізму, що дає змогу вдосконалювати його багатьма споживачами, на відміну від імпровізованих для кожної задачі, а відповідно й невідтестованих належним чином механізмів),

  • дозволять працювати паралельно з багатьма потоками, що необхідно для роботи в реальному часі (віртуальний процесор на командному рівні дозволяє використовувати багато узгоджених потоків, і при цьому проводити складні обчислення),

  • максимально динамічними (віртуальний процесор дозволяє на командному рівні створювати алгоритми, які дозволяють корегувати в процесі виконання на якісному рівні код програми, як, звичайно, і дані, що забезпечує максимально можливу гнучкість для алгоритмів, що його застосовують),

  • застосовувати нечітку логіку (віртуальний процесор на командному рівні дозволяє будувати системи, які мають можливість використовувати неоднозначні твердження, тобто реалістичні – не тільки так і ні, а й довільний ряд проміжних значень, а також можливість само програмування за рахунок зворотних зв’язків).


Прийняття рішень нечіткої логіки з допомогою віртуального процесора

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

  • наявність деякого процесу;

  • наявність керуючих дій;

  • наявність мети заради якої проводиться операція;

  • вибір найліпшого (оптимального) керування, при якому досягається мета.

Операція – система дій об’єднана одним задумом і направлена на досягнення певної мети. Головна задача – теорії оптимальних рішень полягає в представленні обґрунтованих кількісних даних і рекомендацій для прийняття оптимальних рішень.

Є кілька моделей прийняття рішень:

  • довготривале стратегічне планування;

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

  • оперативне керування.

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


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

Наукова новизна полягає в створенні узагальнюючої методики для розвитку обчислювальних систем із динамічними задачами нечіткої логіки в реальному часі шляхом розробки нових ефективних методів і засобів прискорення обчислювальних процесів за рахунок нового підходу до створення програмної бази для виконання поставленої задачі, підвищення надійності, і забезпечення простоти адаптації до різних умов застосування (до різних об'єктів управління) [6].

Сутність наукової новизни полягає в запропонованому способі вибору методики базового механізму, що розроблено спеціально для даної мети, механізм дозволяє приймати вибіркові рішення, які (вибираються), і прямо залежать від обсягу корисної (релевантної) інформації у вихідних даних, від її збереження при динамічних перетвореннях і прямого впливу на результативність обґрунтованого рішення – отримання (або вказівку) варіантів із характеристиками, які більшою мірою задовольняють поставлені задачі, – також безпосередній вплив не тільки на можливості використовувати методи гнучкості, але й класичні можливості програмування, що особливо виразно виявляється у випадках, коли йдеться про проектування якісно нових спеціалізованих систем для використання в нетривіальних ситуаціях керування та обробки даних.

Контекстуально це означає глибоке оперування кодом програми, починаючи з етапу його початкового складання [7] (який слід уважати необхідним етапом усього процесу проектування) у формі так званої “області допустимих значень параметрів розв’язання даної задачі в даних супровідних умовах”, що складає зміст вимог, і продовжуючи в трансформаціях (і можливих, коректуючи доповненнях) на наступних етапах роботи самого коду безпосередньо. При цьому вимоги до функціональних (цільових) характеристик в установленому порядку перетворюються на вимоги до технічного засобу, тобто базової системи, виконання яких необхідне для забезпечення досягнення заданих значень наведених функціональних характеристик (наскільки це конкретно можливо).

Основою для таких проектно-інформаційних перетворень є операція – підстановки поетапний розгляд варіантів, які представлені їх, характеристиками, з відповідним виділенням останніх як чергових вимог до наступного внутрішнього етапу аналізу зі своїми варіантами результатів, що потім зводиться до єдиної гілки рішень. У такий спосіб відбувається перехід від початкової задачі про шуканий результат до реального багатовимірного результату, який використовується для внутрішніх проміжних операцій (взаємодій). Необхідність цього більш очевидна при проектуванні спеціалізованих задач [8], де потрібне більш широке застосування адаптивного коду.

Структурно робота динамічного коду являє собою множину векторів до всіх значущих вхідних характеристик, на якій за допомогою відношень переваги та еквівалентності визначено так званий квазілінійний порядок, внаслідок чого утворюється ієрархія з виділенням нижньої межі допустимих вимог. У порівнянні із класичним підходом критеріального виду, ядром якого є відносно визначена вимога – максимізації деякої характеристики, така конструкція дозволяє формулювати значно більш невизначені [9,10] (непрямі, не безпосередні) вимоги та продуктивніше максимізувати відповідність цим вимогам сукупностей значень характеристик, які описують варіанти, що розглядаються в даній задачі, і тому є особливо придатною для побудови спеціалізованих задач. У цілому задана технологія – обґрунтування вибору концепції результативніша, ніж класична. Вона дозволяє формувати менш повні, і точні постановки вхідних даних та характеристик їх, допусків, і тому може служити еталоном при побудові дієвих систем високої складності з динамічними переходами нечіткої логіки в реальному часі [6].


Можливості, які дозволить реалізувати віртуальний процесор при застосуванні до поставлених задач

Практичне значення одержаних результатів. Вибір даного процесора для вирішення проблеми яка виникає при побудові складних динамічних систем викликане необхідністю вирішити проблеми, що виникають при реалізації алгоритмів для спеціалізованих задач, для використання у високо відповідальних автоматизованих системах, насамперед на рівні визначальних дій головних механізмів прийняття рішень, де першочерговим є результат [11] – і принципово важливим стосовно такого призначення обґрунтоване використання – нової системи орієнтованої на вирішення подібних задач. І тому практичність отриманих результатів досліджень слід оцінювати насамперед за досягненнями принципово нового результату в розв’язанні проблеми створення бази динамічності, яка, зрозуміло, є важливою для роботи із критичними до часу, та обмеженими у вхідних даних задачах [12].


Висновки

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

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

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

Подальшим напрямком досліджень це вдосконалення оперативних можливостей віртуального процесора для вирішення специфічних задач.




Література

  1. Молчанов А.А. Моделирование и проектирование сложных систем. – К.: Вища школа, 1988.

  2. Черноруцкий И.Г. Методы оптимизации и принятия решений. – СПб.: Лань, 2001.

  3. Герасимов Б.М., Локазюк В.М., Оксіюк О.Г., Поморова О.В. Інтелектуальні системи підтримки прийняття рішень: Навч. посібник. – К.: Вид-во Європ. ун-ту, 2007. – 355 с.

  4. Згуровский М.3., Мельник B.C. Нелинейный анализ и управление бесконечномерными системами. – К.: Наукова думка, 1999.

  5. Прикладные нечеткие системы. Под ред. Т. Тэрано, К. Асаи, М. Сугэно. – М.: Мир, 1993.

  6. Игнатьева А.В., Максимцов М.М. Исследование систем управления. – М.: ЮНИТИ, 2000.

  7. В.Л. Береснев. Дискретные задачи размещения и полиномы от булевых переменных. Новосибирск.: Изд-во Инст. математики. 2005.

  8. Кинг Д. Создание эффективного программного обеспечения: Пер. с англ. – М.: Мир, 1991. – 288 с.

  9. Вирт Н. Алгоритмы и структуры данных. – М.: Мир, 1989. - 360 с.

  10. Гуц А. К. Математическая логика и теория алгоритмов: Уч. пособие. - Омск: Изд-во „Диалог-Сибирь”, 2003. – 108 с.

  11. Бардачев Ю.Н., Цокуренко А.А., Желебовский И.И. Математические основы критериальных методов управления. – Херсон, 2000.

  12. М. Гэри, Д. Джонсон. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. с. 154–191.


Статья создана 2008-2009 рр. Опубликована 28.09.2018 

Назад

 

TerminalCoin

2018-09-30 07:54:26