Автоматизований експорт класифікаторів машинного навчання в C/C++ для вбудованих систем
Дане наукове дослідження зосереджено авторами на трьох алгоритмах: деревах прийняття рішень, випадкових лісах та екстремальних деревах, та їх адаптації для використання на вбудованих системах. Використовується спеціальний експортер для перетворення.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 06.12.2024 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Автоматизований експорт класифікаторів машинного навчання в C/C++ для вбудованих систем
Ваш Юрій Васильович аспірант спеціальності 122 Комп'ютерні науки, асистент кафедри програмного забезпечення систем, факультет інформаційних технологій, Ужгородський національний університет, м. Ужгород
Роль Мар'яна Іллівна старший викладач кафедри програмного забезпечення систем, факультет інформаційних технологій, Ужгородський національний університет, м. Ужгород,
Чижмар Микола Миколайович викладач кафедри програмного забезпечення систем, факультет інформаційних технологій, Ужгородський національний університет, м. УжгородАнотація
Дане дослідження зосереджено на трьох алгоритмах: деревах прийняття рішень, випадкових лісах та екстремальних деревах, та їх адаптації для використання на вбудованих системах. Використовується спеціальний експортер для перетворення цих навчених класифікаторів у код на C, враховуючи різні типи даних і оптимізації. Для емпіричної валідації були проведені серії тестів на мікроконтролері ESP32 та платі ESP32-NodeMCU. Класифікатори на основі дерев додатково розділяються на реалізації на основі масивів та на основі розгалужень. Дослідження охоплює такі параметри, як точність, час виконання і використання пам'яті для цих алгоритмів. Оцінки використання ресурсів спиралися на звіти компілятора Platform.io, які надають дані про використання оперативної пам'яті та флеш-пам'яті на ESP32 у відсотковому співвідношенні. Час виконання вимірювався в мікросекундах. За продуктивністю, дерева прийняття рішень продемонстрували високу точність з подвійними типами даних, водночас показуючи досить малий час виконання та використання пам'яті за різних типів даних і оптимізацій. Випадкові ліси та екстремальні дерева, хоча і досягли вищої точності, вимагали більше обчислювальних ресурсів. Їх розгалужені версії, представлені у виді умовних операторів описаних в фіксованих функціях, споживаючи менше ОЗП, поступалися точністю та швидкістю, що відображає складний баланс у умовах обмежених ресурсів. У всіх протестованих алгоритмах виявився постійний компроміс між передбачуваною точністю, обчислювальним часом та використанням пам'яті, особливо з подвійними типами даних, які покращують точність, але збільшують потреби в ресурсах. Дерева прийняття рішень пропонують збалансовану продуктивність, випадкові ліси відзначаються високою точністю за рахунок вищого використання ресурсів, а екстремальні дерева оптимальні для подвійних типів даних, але потребують більше ресурсів. Ці компроміси служать орієнтиром для розгортання машинного навчання в обмежених середовищах, підкреслюючи необхідність налаштування алгоритмів відповідно до конкретних потреб і обмежень цільової платформи.
Ключові слова: машинне навчання, вбудовані системи, Scikit-learn, дерева прийняття рішень, випадкові ліси, екстримальні дерева, C/C++
Vash Yurii Vasylovych PhD student at the Department of Computer Science, Assistant at the Department of Software Systems, Faculty of Information Technology, Uzhhorod National University, Uzhhorod
Rol Mariana Illivna Senior Lecturer of the Department of System Software, Faculty of Information Technology, Uzhhorod National University, Uzhhorod
Chyzhmar Mykola Mykolayovych Lecturer of the Department of System Software, Faculty of Information Technology, Uzhhorod National University, Uzhhorod алгоритм експортер екстремальний
AUTOMATED EXPORTATION OF MACHINE LEARNING CLASSIFIERS TO C/C++ FOR EMBEDDED SYSTEMS
Abstract. This research focuses on three algorithms: decision trees, random forests, and extreme trees, and their adaptation for use on embedded systems. A custom exporter is used to convert these trained classifiers into C code, taking into account different data types and optimization. For empirical validation, a series of tests were conducted on the ESP32 microcontroller and the ESP32-NodeMCU board. Tree-based classifiers are further divided into tree-based and branching implementations. The study covers parameters such as accuracy, execution time and memory usage for these algorithms. Resource usage estimates were based on the Platform.io compiler reports, which provide RAM and flash memory usage on the ESP32 as a percentage. Execution time was measured in microseconds. In terms of performance, the decision trees demonstrated high accuracy with dual data types, while showing fairly low runtime and memory usage across different data types and optimizations. Random forests and extreme trees, although achieving higher accuracy, required more computing resources. Their branched versions, presented in the form of conditional operators described in fixed functions, while consuming less RAM, were inferior in accuracy and speed, reflecting a difficult balance under conditions of limited resources. All algorithms tested showed a consistent trade-off between predicted accuracy, computation time, and memory usage, especially with dual data types, which improve accuracy but increase resource requirements. Decision trees offer balanced performance, random forests are characterized by high accuracy due to higher resource utilization, and extreme trees are optimal for dual data types but require more resources. These trade-offs serve as guidelines for deploying machine learning in constrained environments, emphasizing the need to tailor algorithms to the specific needs and constraints of the target platform.
Keywords: Machine Learning, Embedded Systems, Scikit-learn, Decision Trees, Random Forest, Extreme Trees, C/C++
Постановка проблеми. Інтеграція алгоритмів дерева рішень у вбудовані системи, представляє унікальні виклики та можливості. Вбудовані системи характеризуються обмеженою обчислювальною потужністю, пам'яттю та енергетичними ресурсами, що вимагає ефективних та компактних алгоритмів для успішної реалізації [1]. Дерева прийняття рішень, відомі своєю простотою та інтерпретованістю, особливо підходять для цих систем через їх відносно низьку обчислювальну складність у порівнянні з більш ресурсомісткими методами, такими як нейронні мережі.
Значним викликом у розгортанні класифікаторів на базі дерев прийняття рішень на вбудованих системах є обмеження у обробці та експорті великих наборів даних. Вбудовані пристрої часто не мають можливості зберігати та обробляти великі обсяги даних, необхідні для тренування даних класифікаторів [2]. Це обмеження вимагає використання зовнішніх бібліотек і інструментів на більш потужних системах, таких як ПК, для тренування та оптимізації моделей. Після чого, натреновані моделі експортуються на вбудовані системи, часто вимагаючи оптимізації моделі. Використовуються такі техніки, як обрізання моделі, зберігання даних в різних типах даних і обмеження глибини дерев, для зменшення розміру моделі [3].
Аналіз останніх досліджень і публікацій. Важливі наукові дослідження в області використання алгоритмів машинного навчання були проведені такими авторами як Чен, Цуцуй да Сілва, Шізас, Ніколаос, Каррас та Сіутас. Однак, ефективна робота класифікаторів залежить від можливостей кожної конкретної платформи та можливостями ефективних обчислень використовуючи різні типи даних, на яких будується модель.
Мета статті - розробити спеціальний експортер, який конвертує попередньо натреновані класифікатори з відомої бібліотеки scikit-leam у C-код, що дозволяє їх розгортання на платформі ESP32. Проаналізувати продуктивність кожного алгоритму з точки зору точності, часу виконання та використання пам'яті, враховуючи варіації типів даних та налаштування оптимізації. Приділити особливу увагу обчислювальним ресурсам, пам'яті та кореляції між різними варіаціями реалізацій дерев прийняття рішень та типів даних використаних для їх реалізації. Оцінити можливості та проблеми пов'язані з використанням відносно простих класифікаторів у вбудованих системах.
Виклад основного матеріалу. Моделі машинного навчання тренуються з використанням бібліотеки Scikit-Learn у Python. Бібліотека пропонує багатий асортимент класифікаторів, включаючи, але не обмежуючись, деревами прийняття рішень, випадковими лісами та екстремальними деревами. Моделі тренуються на основі наданого набору даних, оптимізовані як для продуктивності, так і для обчислювальної ефективності.
Система експорту натренованих моделей в C/C++ реалізована за допомогою спеціального класу на мові програмування Python. Цей клас приймає різні параметри, включаючи типи даних за замовчуванням, такі як float або double, і типи цілих чисел за замовчуванням для обробки серіалізації структур. Доступаючись до внутрішніх змінних класів scikit-learn і ітерацій через контейнери всередині них, даний клас реконструює вже навчені моделі та класифікатори. Python-код генерує вихідний C-заголовок. Додатково, експортер включає можливість інтеграції невеликої підмножини даних для автоматичного створення тестової функції.
Класифікатори на основі дерев прийняття рішень, мають унікальну перевагу в тому, що їх можна легко перетворити на логіку на основі правил через умовні оператори if-else [4]. Основна концепція полягає в перетворенні вузлів рішень і листових вузлів дерева в ієрархію вкладених умовних операторів, зі заздалегідь визначеними пороговими значеннями та умовами розгалуження. Це представлення дозволяє проводити класифікацію без проходів дерева представленого в тому чи іншому вигляді.
У статичному підході, дерево представлене у виді статичних масивів. Цей підхід є особливо корисним для застосувань, де параметри моделі не змінюватимуться після розгортання або в випадку потреби апаратного прискорення математичних операцій та обходів масиву за допомогою векторизації.
Основна формула для прогнозування набору х з використанням підходу на основі масивів для дерев прийняття рішень описується як:
index =
(N[index + 3] х 6 if x[N[index + 1]] < N[index + 2]
1 N [index + 4] х 6 otherwise
Це рівняння описує простий обхід через масив вузлів N, оновлюючи поточний індекс на основі значень ознак у х та порогів, збережених у N. Часова складність для прогнозування у збалансованих деревах становить О (log N), де N - кількість точок даних. Логарифмічна складність є однією з причин, чому дерева прийняття рішень - це популярний класифікатор для використання у задачах реального часу. Даний класифікатор добре показує себе на менших наборах даних. Масив, який використовується цим алгоритмом, містить певну послідовність атрибутів даних, що полегшують обхід дерева. Ці атрибути допомагають визначати різні елементи структури дерева, такі як те, чи є вузол термінальним, індекс ознаки для розділення, порогове значення для цієї ознаки, індекси для лівого та правого дочірніх вузлів, та передбачений клас.
Для ансамблевих методів, таких як випадкові ліси та екстремальні дерева, експортер генерує загальну функцію, яка реалізує схему голосування більшістю. Ця функція оцінює вихід від кожного окремого класифікатора дерева та обирає клас, який отримує найбільшу кількість голосів.
У схемі більшості голосів передбачений результат у визначається як вибір найчастіше повторюваного значення серед прогнозів кожного окремого дерева ансамблю. Математично даний підхід можна описати через функцію: у = Majorityvoting (у t, у 2уп).
MajorityVoting - це функція, яка повертає найчастіше повторюване значення серед своїх аргументів, де у±, у 2,..., уп є результатами окремих дерев у ансамблі. Алгоритм більшості голосів працює, вибираючи клас з найбільшою кількістю голосів з М дерев. Більш детальна формула для передбаченого результату у:
М - це кількість дерев у лісі. Часова складність становить 0(МІод N), що вимагає більшої кількості ресурсів для використання випадкових лісів порівняно з деревами прийняття рішень, але все ще прийнятними для вбудованих систем із помірною обчислювальною потужністю.
Розгалужені версії цих класифікаторів забезпечують постійну часову складність 0(1), оскільки вони працюють з фіксованою кількістю умов і порогів. Розгалужена версія працює подібно до стандартних дерев, але використовує жорстко закодовані умови та пороги, що спрощує обчислювальні вимоги та прискорює прогнози в реальному часі.
У дослідженні було проведено серію тестів для критичної оцінки продуктивності та ефективності різних класифікаторів машинного навчання при експорті у вбудовані системи з обмеженими ресурсами. Для тестів було обрано мікроконтролер ESP32 та плату ESP32-NodeMCU. Ця плата є особливо потужною за свою ціну, маючи 520 КБ оперативної пам'яті та 4 МБ флеш- пам'яті. На відміну від дослідження представленого в роботі [5], що використовує обчислення на базі нерухомої коми, дане дослідження проведено на основі стандартних типів даних, таких як float, double та uint8_t. Також було введено додаткові оптимізації, позначені як 'O' і 'O2', для представлення вбудованих функцій класифікації (inline) та константних масивів даних. Також було враховано стандартний розмір стека, що складає 8 КБ, що вміщує близько 2048 значень типу double або float, оскільки це безпосередньо впливає на глибину вкладених умов.
Для емпіричної валідації, було обрано два встановлених набори даних: набір даних по раку молочної залози Вісконсина (Breast Cancer Wisconsin), що складається з 569 записів з 30 ознаками кожен, та набір даних з цифрами (DIGITS), який був модифікований, щоб включати лише п'ять з його початкових десяти класів через апаратні обмеження. Навчальні набори даних були використані в оригінальній формі без використання технік зменшення розмірності, таких як PCA. Кожена модель була перевірина на 50 тестових зразках протягом десяти тестових запусків для збору статистично значущих даних.
Досліджувані класифікатори включають дерева прийняття рішень, випадкові ліси та екстремальні дерева. Класифікатори на основі дерев додатково розділяються на реалізації на основі масивів та на основі розгалужень. Оцінки використання ресурсів спиралася на звіти компілятора Platform.io, які надають дані про використання оперативної пам'яті та флеш- пам'яті на ESP32 у відсотковому співвідношенні. Також було проаналізовано середній час класифікації, який вимірювався в мікросекундах, та точність класифікації з використанням різних типів даних в яких було проведено експорт порогових значень моделей та оптимізацій.
Результати середньої точності за типом даних та класифікатором (Рис. 1) показують, що найвищої точності досягнуто з використанням типу даних double для екстремальних дерев (100%).
Варіант uint8_t показав однакову високу точність (98%) у випадкових лісах та екстремальних деревах, що свідчить про ефективність використання цього типу даних у поєднанні з ансамблевими методами. Дерева прийняття рішень з типом даних double також показали високу середню точність (94%), перевищуючи інші конфігурації, які трималися на рівні 88%.
Рис. 1 Середня точність за типом даних та класифікатором
Розгалужені моделі класифікаторів, зокрема екстримальні дерева та випадкові ліси, показали нижчу точність у порівнянні з нерозгалуженими. Це видно з результатів для випадкових лісів, де точність для float знизилася до 80%, а для double до 84%. Це може вказувати на те, що розгалужені алгоритми менш ефективні для даного набору даних або втрачають точність через специфічні оптимізації компілятору.
На графіку середнього часу виконання за типом даних та класифікатором (Рис. 2) показано, що з використанням типу даних float для дерева прийняття рішень (68 мкс) та випадкових лісів (252 мкс) показують найшвидший результат. Проте, використання double значно збільшує час виконання для всіх класифікаторів, що вказує на необхідність обережного підходу до вибору типу даних залежно від вимог до часу виконання.
Найповільніший середній час виконання спостерігався для типу даних uint8_t (O) (1895 мкс), що пов'язане з потребою завантажувати дані моделі з ОЗП навідміну від флеш-пам'яті.
Рис. 2 Середній час виконання за типом даних та класифікатором
Додатково, розгалужені випадкові ліси показали значне збільшення часу виконання для обох типів даних. Час виконання для float, в випадку випадкових лісів, зріс з 252 мкс до 465 мкс. Ситуація для типу double, навпаки показує покращення в швидкості, з 873 мкс до 328 мкс. Цей тренд відстежується для всіх варіантів класифікаторів, що може бути спричинено кращою роботою ESP32 з типом даних float який розміщений в пам'яті стеку функції.
На графіку використання флеш-пам'яті (Рис. 3) видно, що найбільше пам'яті використовують екстремальні дерева з типом даних double (30.1%). Усі класифікатори використовують приблизно однаковий обсяг пам'яті (близько 27-28%), що вказує на незначний вплив типу даних на використання цього ресурсу. Додатково, ми бачимо, що варіант uint8_t (O) використав 26.8% пам'яті, що є найнижчим показником серед оптимізованих варіантів.
Розгалужені моделі, однак, показали незначне зниження використання флеш-пам'яті для обох типів даних. Використання пам'яті для float знизилось з 26.5% до 26.2%, а для double з 28.3% до 27.1%. Це свідчить про те, що розгалужені алгоритми можуть бути більш ефективними з точки зору пам'яті, хоча це не завжди корелює зі збільшенням продуктивності.
На графіку використання ОЗП за типом даних та класифікатором (Рис. 4) найменше ОЗП використовують оптимізовані дерева прийняття рішень з типом даних uint8_t (7.1%). Найбільше ОЗП використовують екстремальні дерева з типом даних double (28.4%). Це вказує на те, що для пам'яттєвих обмежень оптимізовані варіанти є кращим вибором. Однак, у випадкових лісах тип даних float використав лише 14.2% ОЗП, що робить його оптимальним для обчислень з обмеженими ресурсами.
Розгалужені моделі також продемонстрували зниження використання ОЗП. Для float використання ОЗП знизилось з 14.2% до 11.0%, а для double з 21.1% до 14.9%. Це вказує на те, що розгалужені алгоритми можуть забезпечити більш ефективне використання пам'яті, що є критично важливим для вбудованих систем з обмеженими ресурсами.
Під час проведення експериментів значним викликом стали розгалужені версії ансамблевих класифікаторів. Хоча дерева прийняття рішень зі своєю архітектурою на основі одного дерева були відносно простими у розгортанні, ансамблеві моделі представляли більшу складність з точки зору пам'яті.
Рис. 3 Використання флеш-пам'яті за типом даних та класифікатором
Рис. 4 Використання ОЗП за типом даних та класифікатором
Велике ансамблеве дерево, розгорнуте в серію операторів if-else, швидко перевищує обмеження стека ESP32, що призводить до помилки паніки ядра системи. Ця проблема була основним фактором, що привів до обмеження дослідження лише п'ятьма класами з набору даних Digits.
Висновки
В даному дослідженні була проведена всебічна оцінка трьох різних алгоритмів машинного навчання. Ці алгоритми були адаптовані для роботи на мікроконтролері ESP32, використовуючи експортер, який перетворює попередньо навчені класифікатори зі scikit-learn у код на мові C/C++.
Серед досліджуваних алгоритмів дерева прийняття рішень запропонували збалансований профіль продуктивності, забезпечуючи хорошу точність при відносно низьких вимогах до обчислювальних ресурсів і пам'яті. Випадкові ліси, хоча й загалом перевершували за точністю прогнозування, вимагали значно більше обчислювальних ресурсів і пам'яті. Екстремальні дерева виділялися своєю продуктивністю для даних з подвійною точністю, але були більш вимогливими до обчислювальних ресурсів та пам'яті, порівняно з іншими класифікаторами.
Розгалужені варіанти дерев, такі як випадкові ліси та екстремальні дерева, є більш ефективними у використанні пам'яті, але мають суттєві недоліки в вбудованих системах, зокрема перевищення розміру стека. Це ускладнює їх впровадження для великих моделей і свідчить про те, що економія пам'яті може загрожувати стабільності системи.
Дослідження показує постійний компроміс між усіма алгоритмами щодо точності, часу виконання та використання пам'яті. Дані з подвійною точністю покращують точність, але збільшують вимоги до ресурсів. Оптимізації дозволяють заощадити пам'ять, але можуть знижувати точність і збільшувати час виконання.
Література
1. Schizas, Nikolaos, Aristeidis Karras, Christos Karras, and Spyros Sioutas. 2022. "TinyML for Ultra-Low Power AI and Large Scale IoT Deployments: A Systematic Review" Future Internet 14, no. 12: 363.
2. Saha, S.S., Sandha, S.S. & Srivastava, M., 2022. Machine Learning for Microcontroller- Class Hardware: A Review. IEEE Sensors Journal, 22(22), pp.21362-21390.
3. B. Charbuty and A. Abdulazeez, "Classification based on decision tree algorithm for machine learning," Journal of Applied Science and Technology Trends, vol. 2, no. 01, pp. 20-28, 2021.
4. Chen, K.-H., Su, C., Hakert, C., Buschjager, S., Lee, C.-L., Lee, J.-K., Morik, K., and Chen, J.-J. (2022). Efficient Realization of Decision Trees for Real-Time Inference. ACM Transactions on Embedded Computing Systems, 21(6), Article 68, 26 pages.
5. L. Tsutsui da Silva, V. M. A. Souza and G. E. A. P. A. Batista, "EmbML Tool: Supporting the use of Supervised Learning Algorithms in Low-Cost Embedded Systems," 2019 IEEE 31st International Conference on Tools with Artificial Intelligence (ICTAI), Portland, OR, USA, 2019, pp. 1633-1637, doi: 10.1109/ICTAI.2019.00238.
6. References:
7. Schizas, Nikolaos, Aristeidis Karras, Christos Karras, and Spyros Sioutas. 2022. "TinyML for Ultra-Low Power AI and Large Scale IoT Deployments: A Systematic Review" Future Internet 14, no. 12: 363.
8. Saha, S.S., Sandha, S.S. & Srivastava, M., 2022. Machine Learning for Microcontroller- Class Hardware: A Review. IEEE Sensors Journal, 22(22), pp.21362-21390.
9. B. Charbuty and A. Abdulazeez, "Classification based on decision tree algorithm for machine learning," Journal of Applied Science and Technology Trends, vol. 2, no. 01, pp. 20-28, 2021.
10. Chen, K.-H., Su, C., Hakert, C., Buschjager, S., Lee, C.-L., Lee, J.-K., Morik, K., and Chen, J.-J. (2022). Efficient Realization of Decision Trees for Real-Time Inference. ACM Transactions on Embedded Computing Systems, 21(6), Article 68, 26 pages.
11. L. Tsutsui da Silva, V. M. A. Souza and G. E. A. P. A. Batista, "EmbML Tool: Supporting the use of Supervised Learning Algorithms in Low-Cost Embedded Systems," 2019 IEEE 31st International Conference on Tools with Artificial Intelligence (ICTAI), Portland, OR, USA, 2019, pp. 1633-1637, doi: 10.1109/ICTAI.2019.00238.
Размещено на Allbest.ru
...Подобные документы
Об'єктно-орієнтоване, або об'єктне, програмування. Поняття об'єктів і класів. Розробка програмного забезпечення. Створення операційних систем, прикладних програм, драйверів пристроїв, додатків для вбудованих систем, високопродуктивних серверів.
контрольная работа [135,2 K], добавлен 25.10.2013Алгебраїчні перетворення в Maple за допомогою вбудованих функцій елементарних перетворень. Позбавлення від ірраціональності в знаменнику. Побудування графіку функції в пакеті Maple-8. Пакет plottools – пакет для створення та роботи з графічними об’єктами.
контрольная работа [2,4 M], добавлен 18.07.2010Автоматизований та машинний види перекладу. Можливості подолання мовного бар’єру у спілкуванні. Існуючі класифікації систем машинного перекладу. Лінгвістичне дослідження міри автоматизованості перекладацької системи. Словник і синтаксис вхідної мови.
статья [23,5 K], добавлен 14.08.2017Проблеми при розробленні автоматизованих систем управління в банку. Сутність, загальні риси та відмінності серії стандартів MRP та MRPII. Види технологічного процесу автоматизованої обробки економічної інформації. Системи підтримки прийняття рішень.
контрольная работа [32,8 K], добавлен 26.07.2009Аспекти вирішення методологічної та теоретичної проблеми проектування інтелектуальних систем керування. Базовий алгоритм навчання СПР за методом функціонально-статистичних випробувань. Критерій оптимізації та алгоритм екзамену системи за цим методом.
курсовая работа [1,6 M], добавлен 22.09.2011Знайомство з системами підтримки прийняття рішень (СППР) та їх використання для підтримки прийняття рішень при створенні підприємства по торгівлі біжутерією з Азії. Вибір приміщення для розташування торговельного залу в пакеті "Prime Decisions".
лабораторная работа [4,2 M], добавлен 08.07.2011Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.
реферат [21,5 K], добавлен 19.02.2011Планування цілеспрямованих дій і прийняття рішень. Характеристика методу повного перебору - універсального методу вирішення оптимізаційних задач, якщо множина допустимих рішень обмежена. Експоненційна складність евристичного пошуку. Складність алгоритмів.
реферат [62,2 K], добавлен 13.06.2010Теоретичне дослідження особливостей проектування систем дистанційного навчання. Створення програмного забезпечення процедури статистичної обробки результатів тестування знань і оцінки якості тесту. Економічне обґрунтування доцільності розробки програми.
дипломная работа [3,6 M], добавлен 22.10.2012Комп’ютерні інформаційні системи СППР (системи підтримки прийняття рішень). Призначення, переваги, компоненти, архітектура. Приклади використовуваних СППР, їх основні види і опис. Нейронні мережі та СППР. Чинники, які сприяють сприйняттю і поширенню СППР.
курсовая работа [323,7 K], добавлен 28.12.2010Суть числового методу дослідження систем і процесів за допомогою моделюючого алгоритму. Способи генерування рівномірної випадкової послідовності: табличний, програмний та фізичне генерування. Моделювання випадкових величин та генератори випадкових чисел.
курсовая работа [194,4 K], добавлен 04.03.2010Операційні системи реального часу сімейства VxWorks корпорації WindRiver Systems для розробки програмного забезпечення вбудованих комп'ютерів. Архітектура операційної системи VxWorks клієнт-сервер, побудова у відповідності з технологією мікроядра.
реферат [1,7 M], добавлен 21.05.2010Проектування інтерфейсу користувача. Стилі взаємодії користувача з програмними системами. Стилі представлення інформації і доцільність графічного представлення даних. Правила проектування засобів підтримки користувача, вбудованих в програмне забезпечення.
доклад [1,2 M], добавлен 08.12.2008Опис додаткового обладнання персонального комп'ютера, що дозволяє обробляти звук. Порівняння основних технічних характеристик звукових карт різних виробників. Аналіз особливостей вбудованих, мультимедійних, напівпрофесійних та професійних звукових карт.
курсовая работа [1,9 M], добавлен 08.01.2014Моделювання в області системотехніки та системного аналізу. Імітація випадкових величин, використання систем масового обслуговування, дискретних і дискретно-безперервних марковських процесів, імовірнісних автоматів для моделювання складних систем.
методичка [753,5 K], добавлен 24.04.2011Особливості технології Flash, основні переваги: невеликий розмір файлів, наявність вмонтованої мови опису сценаріїв. Розгляд вимог до діагностичних тестів: валідність, надійність, простота. Аналіз принципів побудови автоматизованих систем контролю знань.
дипломная работа [5,0 M], добавлен 22.10.2012Написання програми, яка дозволяє перейменувати файл і скопіювати задані файли та каталоги. Використання рекурсивної функції для перегляду дерева підкаталогів при вході в них. Використання системного сервісу файлу, який зосереджено в перериванні 21h.
курсовая работа [11,8 K], добавлен 12.08.2009Принципи інформаційної безпеки. Статистика атак в Інтернеті. Засоби захисту інформації у системах передачі даних. Загальні поняття та визначення в галузі проектування захищених автоматизованих систем. Захист телефонної лінії від прослуховування.
магистерская работа [1,2 M], добавлен 07.03.2011Автоматизований банк даних як специфічна база даних, яка проектується і наповнюється, щоб підтримувати створення рішень в організації. Інструментальні засоби кінцевого користувача для аналізу інформації. Компоненти, що забезпечують виділення даних.
реферат [93,1 K], добавлен 27.07.2009Дослідження теоретичних аспектів проектування автоматизованих систем тестування знань. Розробка програми, яка призначена для забезпечення автоматизації процесу формування тестів та всього процесу контролю знань у дистанційній навчальній системі.
дипломная работа [2,1 M], добавлен 26.10.2012