Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
модуль.docx
Скачиваний:
352
Добавлен:
05.03.2016
Размер:
2.15 Mб
Скачать

1.2.4. Реалізація візуалізації алгоритмів дискретної математики та програмування

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

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

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

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

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

1.2.5. Штучний інтелект

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

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

1.2.6. Створення прикладного програмного забезпечення для мобільних пристроїв та мікроконтролерів

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

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

Оскільки програмні забезпечення для мобільних систем повинні використати простір екрана та системні ресурси ефективно, скінченні автомати є особливо корисними при розробленні програмного забезпечення для таких застосувань.

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

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