- •1. Інформаційні технології та інформаційні системи
- •1. Інструментальні засоби розробки інформаційних технологій, case-технології
- •1. Інформаційні технології та інформаційні системи
- •2. Критерії надійності та якості інформаційних систем.
- •1. Інформаційні технології та інформаційні системи
- •3. Застосування інформаційних технологій у виробництві
- •Управленческий учет и отчетность
- •Автоматизированные информационные системы
- •1. Інформаційні технології та інформаційні системи
- •4. Застосування інформаційних технологій у банківській та фінансовій справі
- •1. Інформаційні технології та інформаційні системи
- •5. Безпека функціонування інформаційних систем
- •1. Інформаційні технології та інформаційні системи
- •6. Засоби моделювання автоматизованих інформаційних систем
- •1. Інформаційні технології та інформаційні системи
- •7. Моделі життєвого циклу програмних засобів.
- •Waterfall («водоспад», каскадна модель)
- •Прототипування
- •Ітераційна модель
- •Життєвий цикл «спіраль»
- •1. Інформаційні технології та інформаційні системи
- •1. Інформаційні технології та інформаційні системи
- •9. Класифікація запитів
- •1. Інформаційні технології та інформаційні системи
- •10. Реляційна модель Кодда. Реляційна алгебра
- •1. Інформаційні технології та інформаційні системи
- •11. Функціонально повна залежність. 2-нормальна форма (2нф).
- •1. Інформаційні технології та інформаційні системи
- •12. Мінімальна структура функціональних залежностей
- •1. Інформаційні технології та інформаційні системи
- •13. Аксіоми Армстронга
- •1. Інформаційні технології та інформаційні системи
- •14. Третя нормальна форма та третя нормальна форма Бойса-Кодда
- •1. Інформаційні технології та інформаційні системи
- •15. Багатозначні залежності. 4-нормальна форма
- •1. Інформаційні технології та інформаційні системи
- •16. Стратегії розподілу даних в розподілених базах даних
- •1. Централізація.
- •2. Розчленування.
- •3. Дублювання.
- •4. Змішана.
- •2. Системне програмування
- •1. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системне програмування
- •2. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системне програмування
- •3. Регулярні множини та регулярні вирази, їх звязок із скінченними автоматами. Основні тотожності в алгебрі регулярних виразів.
- •2. Системне програмування
- •4. Вивід у граматиці. Дерево виводу. Лівостороння та правостороння стратегії виводу.
- •2. Системне програмування
- •5. Ll(k)-граматики. Перевірка ll(1)-умови для довільної кв- граматики
- •2. Системне програмування
- •6. Побудова ll(1)-таблиці для управління ll(1)-синтаксичним аналізатором
- •2. Системне програмування
- •7. Атрибутний метод визначення семантики програм. Синтезовані та успадковані атрибути. Порядок та правила обчислення атрибутів.
- •2. Системне програмування
- •8. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •1. Розподіл оперативної пам’яті, поняття сегменту та зсуву. Сторінкова організація пам’яті.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •2. Канали та порти вводу-виводу
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •3. Поняття про переривання та їх класифікація
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •4. Поняття про відеосистему. Режими роботи відеосистеми
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •5. Структура таблиці розміщення файлів на магнітних дисках. Фізичний та логічний формати магнітних дисків. Коренева директорія.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •6. Системи телеобробки даних. Функціональне середовище для взаємодії систем телеобробки. Етапи у взаємодії систем телеобробки.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •7. Модель відкритої системи, стек протоколів. Концепція еталонної моделі osi.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •8. Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •9. Архітектура мережевої телеобробки: однорангова, клієнт/сервер, трирівнева
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •10. Надійність систем телеобробки та комп’ютерних мереж. Класи безпеки. Міжмережеві екрани. Proxy-сервери, брандмауери.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •11. Мультиплексування цифрових каналів з розділенням у часі (tdm). Плезіохронні та синхронні цифрові ієрархії. Широкосмугові канали зв’язку.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •12. Повторювачі, мости, маршрутизатори, шлюзи та їх місце в профілі osi
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •13. Поняття мереж комутації: пакетів, каналів, повідомлень. Контроль перевантажень в мережах комутації пакетів.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •14. Інформаційна глобальна мережа internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •15. Система доменних імен глобальної мережі internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •16. Система електронної пошти глобальної системи internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •17. Поняття універсального вказівника ресурсу. Основні типи ресурсів
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •18. Поняття раутінгу в мережах tcp/ip
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •19. Технології, що забезпечують відмовостійкість мереж tcp/ip
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •20. Класифікація комп’ютерних мереж.
- •4. Теорія програмування та обчислень
- •1. Основні аспекти програм
- •4. Теорія програмування та обчислень
- •2. Основні поняття програмування
- •4. Теорія програмування та обчислень
- •3. Методи подання синтаксису мов програмування
- •4. Теорія програмування та обчислень
- •4. Класифікація породжувальних граматик
- •4. Теорія програмування та обчислень
- •5. Автоматна характеристика основних класів мов
- •4. Теорія програмування та обчислень
- •6. Метод нерухомої точки
- •4. Теорія програмування та обчислень
- •7. Методи формальної семантики
- •4. Теорія програмування та обчислень
- •8. Формальні методи програмування
- •4. Теорія програмування та обчислень
- •9. Функції складності (сигналізуючі) за часом та за пам’яттю. Теорема про прискорення.
- •4. Теорія програмування та обчислень
- •10. Функції, елементарні за Кальмаром
- •4. Теорія програмування та обчислень
- •11. Співвідношення між класами примітивно рекурсивних та елементарних функцій
- •4. Теорія програмування та обчислень
- •12. Техніка слідів. Лема про заміщення
- •4. Теорія програмування та обчислень
- •13. Функції, обчислювані за реальний час
- •5. Системи штучного інтелекту
- •1. Знання. Класифікація знань
- •5. Системи штучного інтелекту
- •2. Фреймова модель задання знань
- •5. Системи штучного інтелекту
- •3. Семантичні мережі
- •5. Системи штучного інтелекту
- •4. Продукційна модель задання знань
- •5. Системи штучного інтелекту
- •5. Розпізнавання образів
- •5. Системи штучного інтелекту
- •6. Поняття діалогової системи та її компоненти
- •5. Системи штучного інтелекту
- •7. Теорія ігор. Експліцитні та імпліцитні дерева гри
- •5. Системи штучного інтелекту
- •8. Метод резолюцій як основа логічного виведення
- •5. Системи штучного інтелекту
- •9. Мова функціонального програмування лісп
- •5. Системи штучного інтелекту
- •10. Мова логічного програмування пролог
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •1. Складність алгоритмів, зведення задач, нижні оцінки складності задач
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •7. Означення та властивості діаграми Вороного. Побудова діаграми Вороного.
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •11. Кільце остач від ділення на многочлен над скінченним полем
5. Системи штучного інтелекту
6. Поняття діалогової системи та її компоненти
Системи обробки природньої мови – СОПМ.
Спілкуванням – коммунікативна взаємодія.
Під діалогом будемо розуміти процес досягнення його учасниками, конкретних погоджених цілей, шляхом обміну зв`язаними висловеннями в деякій мові вибраної предметної області.
Мета діалога визначає структуру діалогу. Структура діалогу може розглядатись на трьох рівнях: глобальному, тематичному і локальному. Глобальний рівень визначає загальні властивості вирішуваних задач. Тематичний рівень визначається алгоритмом вирішення поставленої задачі і розподілом ролей між учасниками діалогу. На локальному рівні аналізуються конкретні пари “запит - відповідь”.
Узагальнена схема СОПМ
Серед обов`язкових функцій СОПМ можна виділити наступні:
з нової стрічки ведення діалогу - визначення його структури і ролі, яку виконує пара користувач - система на даному кроці діалогу;
розуміння - перетворення отримуваних від користувача висловлень на природній мові (ПМ) в висловлення мови внутрішнього задання;
обробка висловлень - формування і визначення завдань для вирішення задач і підзадач данного кроку діалогу;
генерація - формування вихідних висловлень природньою мовою.
До основних задач діалогового компонента (ДК) відносяться ведення діалогу і формування та обробка перехватів ініціатив. По структурі і поточному стану діалогу ДК формує (якщо ініціатива належить системі) або визначає (коли ініціатива належить користувачу) завдання, яке виконує система на поточному кроці: що це генерація питання, чи це розуміння відповіді і її формування і т.д.
Діалог може вестись або користувачем, або ж системою. Якщо ролі учасників спілкування визначаються під час спілкування, тоді структуру діалогу називають гнучкою.
Друга задача ДК заключається в обробці ситуації, коли реакція одного з учасників може не співпадати з очікуваннями іншого. Формування перехвату буває, коли система взнає, що поточна ситуація не відповідає ситуації передбаченої структурою діалогу. Якщо ж перехват ініціативи виконує користувач, тоді система повинна обробити його, розпізнати присутність ініціативи, визначити нову тему спілкування і перейти на структуру діалогу, яка відповідає новій темі.
5. Системи штучного інтелекту
7. Теорія ігор. Експліцитні та імпліцитні дерева гри
Теорія ігор – це математична дисципліна, що вивчає питання поведінки учасників конфліктних ситуацій та має на меті виробити оптимальну для кожного з учасників стратегію такої поведінки. Конфліктною при цьому називають ситуацію, коли гравці мають різні цілі (різні функції виграшу) та можуть вибирати різні засоби досягнення своїх цілей (стратегії).
Залежно від кількості гравців розрізняють ігри двох та n гравців. Ігри трьох і більше гравців менше досліджені через принципові складності й технічні можливості отримання розв’язку.
За кількістю стратегій ігри поділяють на скінченні та нескінченні. Якщо у грі всі гравці мають скінченне число можливих стратегій, то її називають скінченною. Якщо ж хоча б один із гравців має необмежену кількість можливих стратегій, то гру називають нескінченною.
За характером взаємодії ігри поділяються на безкоаліційні (гравці не мають права вступати в угоди, утворювати коаліції) та коаліційні (кооперативні), з дозволом вступати в коаліції. У кооперативних іграх коаліції визначають заздалегідь.
За характером виграшу ігри класифікують так: ігри з нульовою сумою (загальний капітал усіх гравців не змінюється, а перерозподіляється між гравцями; сума виграшів усіх гравців дорівнює нулю) та ігри з ненульовою сумою.
За виглядом функцій виграшу ігри поділяють на матричні, біматричні, безупинні, опуклі, сепарабельні, типу дуелей та ін.
Матрична гра – це скінченна гра двох гравців із нульовою сумою, у якій задано виграш першого гравця у вигляді матриці (рядок матриці відповідає номеру застосованої стратегії першого гравця, стовпчик – номеру застосованої стратегії другого гравця; на перетині рядка і стовпця матриці – виграш першого гравця, що відповідає застосованим стратегіям). Для матричних ігор доведено, що будь-яка з них має рішення і його можна легко знайти шляхом зведення гри до задачі лінійного програмування.
Біматрична гра – це скінченна гра двох гравців із ненульовою сумою, у якій виграші кожного гравця можна задати матрицями окремо для відповідного гравця (у кожній матриці рядок відповідає стратегії першого гравця, стовпчик – стратегії другого гравця, на перетині рядка і стовпця в першій матриці знаходиться виграш першого гравця, у другій матриці – виграш другого гравця). Для біматричних ігор також розроблено теорію оптимальної поведінки гравців, однак пошук розв’язків для таких ігор складніший, ніж для звичайних матричних.
Неперервною вважають гру, в якій функція виграшів кожного гравця є неперервною, незалежно від стратегій. Доведено, що ігри цього класу мають розв’язки, однак практично не розроблено прийнятних методів їх знаходження.
Якщо функція виграшів є опуклою, то таку гру називають опуклою. Для таких ігор розроблено прийнятні методи рішення, суть яких у відшуканні чистої оптимальної стратегії (визначеного числа) для одного гравця та імовірностей застосування чистих оптимальних стратегій для іншого гравця. Таке завдання розв’язують порівняно легко.
Матричну гру двох гравців із нульовою сумою можна розглядати як наступну абстрактну гру двох гравців.
Перший гравець має m стратегій i = 1, 2, ..., m, другий – n стратегій j = 1, 2, ..., n. Кожній парі стратегій (i, j) поставлено у відповідність число аij, яке виражає виграш першого гравця за рахунок другого гравця, якщо кожен з гравців візьме свою стратегію.
Кожен із гравців робить один хід: перший гравець вибирає свою i-ту стратегію ( ), а другий – свою j-ту стратегію ( ), після чого перший одержує виграш аij за рахунок другого (якщо аij < 0, то це означає, що перший гравець винен другому суму |аij|). На цьому гру закінчують.
Кожну стратегію гравців , часто називають чистою стратегією.
Якщо розглянути матрицю
,
то проведення кожної партії матричної гри за матрицею А зводиться до вибору першим гравцем i-го рядка, а другим – j-го стовпця й одержання першим гравцем (за рахунок другого) виграшу аij.
Головним у дослідженні ігор є поняття оптимальних стратегій гравців. У це поняття інтуїтивно вкладають такий зміст: стратегія гравця є оптимальною, якщо застосування цієї стратегії забезпечує йому найбільший гарантований виграш за будь-яких стратегій іншого гравця. Враховуючи це, перший гравець досліджує матрицю виграшів А у такий спосіб: для кожного значення i ( ) визначають мінімальне значення виграшу, залежно від стратегій другого гравця:
( ),
тобто мінімальний виграш для першого гравця за умови, що він візьме свою i-ту чисту стратегію, далі із цих мінімальних виграшів відшукують таку стратегію i = iпро, за якої цей мінімальний виграш буде максимальним, тобто знаходять
.
Число , визначене за формулою (10.1), називають нижньою чистою ціною гри; воно показує, який мінімальний виграш може гарантувати собі перший гравець, застосовуючи свої чисті стратегії за будь-яких дій другого гравця.
Другий гравець за своєї оптимальної поведінки прагне завдяки своїм стратегіям максимально зменшити виграш першого гравця. Тому для другого гравця відшукують , тобто визначають найбільший можливий виграш першого, за умови, що другий гравець застосує свою j-ту чисту стратегію, а далі відшукає таку свою j = j1 стратегію, за якої перший гравець одержить мінімальний виграш, тобто знаходить
.
Число , обчислене за формулою (10.2), називають чистою верхньою ціною гри; воно показує, який максимальний виграш завдяки своїм стратегіям може собі гарантувати перший гравець.
Інакше кажучи, застосовуючи свої чисті стратегії, перший гравець може забезпечити собі виграш не менше , а другий гравець завдяки застосуванню своїх чистих стратегій може не допустити виграшу першого гравця більшого за .
Якщо в грі з матрицею А , то кажуть, що така гра має сідлову точку в чистих стратегіях та чисту ціну гри .
Пару чистих стратегій першого і другого гравців, що утворює сідлову точку і сідловий елемент, називають розв’язком гри.
Якщо ж у грі немає сідлової точки, тоді слід знайти нижню й верхню чисті ціни цієї гри, які вказують, що перший гравець не може сподіватись на виграш, більший за верхню ціну гри, і може бути впевненим в одержанні виграшу, не меншого за нижню ціну гри. Поліпшення рішень матричних ігор варто шукати у використанні таємності застосування чистих стратегій і можливості багатократного повторення ігор у вигляді партії. Цього результату досягають шляхом застосування чистих стратегій випадково, із визначеною ймовірністю.
Змішаною стратегією гравця називають повний набір імовірностей застосування його чистих стратегій.
Таким чином, якщо перший гравець має m чистих стратегій 1, 2, ..., m, то його змішана стратегія x – це набір чисел x = (x1, ..., xm), які задовольняють відношенню
Аналогічно для другого гравця, який має n чистих стратегій, змішана стратегія y – це набір чисел:
Середній виграш першого гравця у матричній грі з матрицею А виражають у вигляді математичного очікування його виграшів:
Перший гравець має на меті за рахунок зміни своїх змішаних стратегій х максимально збільшити свій середній виграш Е(А, х, y), а другий – за рахунок своїх змішаних стратегій зробити Е(А, х, y) мінімальним, тобто для розв’язання гри необхідно знайти такі х і y, за яких досягають верхньої ціни гри:
Аналогічною має бути ситуація і для другого гравця, тобто нижня ціна гри є такою:
Подібно до ігор, які мають сідлові точки в чистих стратегіях, дамо визначення: оптимальними змішаними стратегіями першого і другого гравців називають такі набори хо, уо відповідно, які задовольняють рівності
Величину Е(А, хо, уо) називають ціною гри і позначають через v.
Оптимальні змішані стратегії та ціну гри називають розв’язком матричної гри
Теорема (про мінімакс). Для матричної гри з будь-якою матрицею А величини і існують і є рівними.
Вaжливою частиною більшості ігрових програм є процедура аналізу «дерева логічних можливостей».
Існує два типи дерев: дерева гри і дерева цілей. Гілки в дереві гри задають можливі ходи, ходи у відповідь і т. д. Дерево цілі показує, що деякої початкової цілі можна досягти, коли буде досягнуто певних підцілей; у свою чергу аналогічно перевіряють досягнення підцілей. Оскільки дерева мають тенденцію сильно розростатись, виникає потреба ефективного виділення істотних частин дерева. Дерево гри може бути експліцитним та імпліцитним. Експліцитне дерево гри задають у явному вигляді, імпліцитне ж дерево задають виділенням початкової позиції і правил формування дерева.
Корінь цього дерева збігається з початковою позицією. Кожен вузол цього дерева характеризується номером гравця, що має робити хід. Дуги відповідають ходам, тобто, якщо в позиції 1 можливий хід, який переводить позицію 1 в позицію 2, то з позиції 1 до позиції 2 йде орієнтована дуга, яка відповідає цьому ходу. Право вибору ходу в позиції 2 належить, звичайно, уже іншому гравцеві. Кожен вузол дерева корисно характеризувати також його рівнем, тобто відстанню від кореня. Якщо на k-му рівні право вибору ходу належить одному з гравців, то на (k + 1)-му рівні воно переходить до його суперника.
Нехай грають два гравці – А і В. Для визначеності вважатимемо, що право вибору ходу в початковій позиції належить гравцеві А. Функція виграшу збігається з функцією виграшу цього гравця, тобто гравець А аналізує дерево гри зі свого погляду та прагне максимізувати виграш. Вершини, в яких право ходу належить гравцеві А, прийнято називати α-вершинами; вершини ж, у яких право ходу належить його суперникові, називають β-вершинами.
Для будь-якої гри, що завершується за скінченну кількість ходів, є теоретично можливим побудувати повне дерево гри, що охоплює всі можливі позиції. Почнемо аналіз дерева з завершальних позицій (листків дерева). Розглянемо довільні завершальні позиції, які мають одного батька. Нехай для визначеності це α-вершини. Кожна завершальна позиція має оцінку, що збігається з функцією виграшу та є результатом гри. Ясно, що гравець В, якому належить право вибору ходу у батьківській вершині, вибере хід, що мінімізує цю оцінку (мінімізує його програш). Ця мінімальна оцінка передається даній вершині знизу.
Нехай всі наступники довільної β-вершини уже проаналізовані та кожному передано знизу певну оцінку. Загальне правило можна сформулювати у такий спосіб: з β-вершини має бути зроблений хід, що веде до позиції-наступника з найменшою оцінкою.
За допомогою аналогічних міркувань можна встановити правило, згідно з яким повинен вибирати ходи гравець А: з α-вершини має бути зроблений хід, що веде до позиції-наступника з найбільшою оцінкою.
Такий аналіз можна зробити для будь-якої позиції, включаючи початкову. Ця процедура носить назву мінімаксної процедури.