- •1. Обгрунтування актуальності розробки 5
- •2. Опис Функціонування програми 12
- •1. Обгрунтування актуальності розробки
- •1.1. Поняття генетичного алгоритму
- •1.1.1. Еволюційні методи побудови перевірочних тестів
- •1.1.2. Простий генетичний алгоритм для генерації тестів комбінаційних схем
- •1.2. Постановка задачі на розробку програми
- •2. Опис Функціонування програми
- •2.1. Призначення розробки
- •2.2. Вимоги до функціональних характеристик програми
- •2.2.1. Вимоги до надійності
- •2.2.2. Умови експлуатації
- •2.2.3. Вимоги до складу і параметрів технічних засобів
- •2.2.4. Вимоги до інформаційної та програмної сумісності
- •2.2.5. Вимоги до транспортування і зберігання
- •2.2.6. Стадії і етапи розробки
- •2.2.7. Порядок контролю і приймання
- •2.3. Опис генетичного алгоритму для формування тестових послідовностей комбінаційних схем
- •2.3.1. Створення вихідної популяції
- •2.3.2. Відбір батьків - селекція
- •2.3.3. Вибір оператора рекомбінації (кросинговеру)
- •2.3.4. Вибір оператора мутації
- •2.3.5. Вибір цільової функції
- •2.4. Опис алгоритму функціонування програми
- •2.5. Опис організації вхідних та вихідних даних
- •2.6. Опис вибору технічних і програмних засобів
- •2.6.1. Вибір інструментальних засобів розробки програми
- •2.6.2. Елементи мови та способи структуризації програми
- •2.6.4. Коментарі
- •2.6.5. Типи даних
- •2.6.6. Оператори
- •3.Опис структури програми
- •3.1. Опис функціональних можливостей й структури програми
- •3.2. Опис використовуваних методів
- •3.3. Функціонування генетичного алгоритму
- •3.4. Опис роботи з програмою
- •3.5. Текст програмних модулів
- •3.5.1. Модуль «ByuldSxemaUnit»
- •3.5.2. Модуль «Geneticalg»
- •3.6. Тестові перевірки програми
- •3.7. Результати дослідження генетичних операторів
- •4. Техніко-економічне обгрунтування розробки
- •4.1. Розрахунок собівартості програми
- •4.2. Калькуляція собівартості виробу
- •4.3. Оцінка ризику і страхування
- •4.4. Фінансовий план
- •Висновок
- •5. Охорона праці і навколишнього середовища
- •5.1. Загальні питання охорони праці
- •5.2. Промислова санітарія
- •5.3. Електробезпека
- •5.4. Ергономічні вимоги до робочого місця
- •5.5. Пожежна безпека
- •Висновок
- •Висновки
- •Список використаних джерел
2.3.3. Вибір оператора рекомбінації (кросинговеру)
Вибір оператора кросинговеру зупинено на двійковому одноточковому кросинговеру (рис. 2.1) з трьох причин:
• довжина хромосоми складає від 6 до 10 біт;
• в якості стратегії формування повної популяції вже обрано стратегію «покривала»;
• вхідні сигнали на цифрові комбінаційні схеми подаються у вигляді набору логічних нулів та одиниць.
Рис. 2.3. Одноточковий двійковий кросинговер
При одноточковому кросинговеру випадково вибирається точка схрещування з ймовірністю Рс=0,5 та проводиться обмін фрагментами хромосом після точки схрещування, як показано на рис. 2.3.
2.3.4. Вибір оператора мутації
Мутація з ймовірністю застосування операції Рмут проводить вибір одної з можливих операцій:
– вилучення одного вхідного вектору з випадково вибраної позиції. Застосування даної операції дозволяє зменшувати довжину тестової послідовності у тому випадку, коли вилучений вектор не погіршує тестові властивості послідовності;
– додавання одного вхідного вектора у випадкову позицію, що дозволяє розширити пошук можливих рішень;
– випадкова заміна бітів у тестовій послідовності.
Далі, вибір між трьома операторами мутації здійснюється з ймовірностями Рмут1, Рмут2 і Рмут3.
Оскільки програмі ми формуємо тестові послідовності для виявлення константних несправностей, то нас цікавить випадкова заміна бітів у тестовій послідовності, тобто «0» замінюємо на «1» й наоборот із заданою випадковим чином Рмут.
2.3.5. Вибір цільової функції
Оскільки метою генерації тестів є побудова несправності, на які максимально відрізняються значення сигналів в справній та несправній схемах, то якість тестової послідовності оцінюється як міра відмінності значень сигналів у справній та несправній схемах. В програмних системах генерації тестів використовуються різні фітнес – функції, що наведені в табл. 3.1. [6]
Метою даної роботи є отримання різних вихідних сигналів в справних та несправних схемах, то фітнес – функція, при пошуку наступного тестового набору в простішому випадку, визначається числом змін сигналів у схемі.
Таблиця 2.1.
Проблемно-зорієнтовані фітнес - функції для генерації тестів
№ п/п |
Позначення |
Значення фітнес - функції |
1 |
N |
Кількість вузлів у схемі |
2 |
Nd |
Кількість вузлів, що мають різні значення сигналів у справній і несправній схемах |
3 |
T |
Кількість тригерів у схемі |
4 |
Td |
Кількість тригерів, які змінили стан |
5 |
E |
Кількість подів у справній і несправній схемі |
6 |
L |
Довжина тестової послідовності |
7 |
F |
Кількість несправностей у схемі |
8 |
Fd |
Кількість перевірених несправностей |
9 |
Fdt |
Кількість несправностей, що активовані до тригерів |
10 |
D |
Прозорість несправності |
11 |
W |
Потужність послідовності |
12 |
O |
Прозорість тригерів |
13 |
Ef |
Кількість подій в несправній схемі |
14 |
Ts |
Кількість ідентифікованих тригерів |
За фітнес-функцію, в розробленій програмі, обрано кількість вузлів, які мають різні значення сигналів у справній і несправній схемах.