ТЕОРІЯ АЛГЕБРИ СЕКВЕНЦІЙНИХ АЛГОРИТМІВ

Матеріал з Вікіпідручника

ТЕОРІЯ АЛГЕБРИ СЕКВЕНЦІЙНИХ АЛГОРИТМІВ[ред.]

Ключові слова: секвенційні алгоритми; програма; інтерфейс програми; математична модель; секвенційна формула алгоритму

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

The generation system provides automatic generation application the formulas in the theory of sequential algorithms. We know that the actual problem is the organization and interface support data exchange and management of information. Therefore, system interface generation programs of the formulas of the theory of sequential algorithms should also provide for the exchange of information between the user and the application. The exercise involves the generation recording algorithm in theory formulas sequential algorithms. The algorithm has keywords and the same formula transactions recorded sequential theory of algorithms. The principle of building a system for generating, which includes interface with fields sequential algorithm variables sequential areas variables, menu commands, messages, system status and results of the program, sections name, start and end of the algorithm, variable and real, subsystems check all sections and identifying operations sequential theory of algorithms and generation. Ключові слова (англ): sequencing algorithms; program, interface; mathematical model; sequin probability formula algorithm

Теорія алгоритмів (англ. Theory of computation) — окремий розділ математики, що вивчає загальні властивості алгоритмів. Виникла в 30-х роках 20 століття[1-15]. Алгоритми, проте, простежуються в математиці протягом всього часу її існування. Необхідність точного математичного уточнення інтуїтивного поняття алгоритму стала неминучою після усвідомлення неможливості існування алгоритмів розв'язку багатьох масових проблем, в першу чергу пов'язаних з арифметикою та математичною логікою (проблеми істинності арифметичних формул та формул першопорядкового числення предикатів, 10-та проблема Гільберта про розв'язність діофантових рівнянь та ін.). Для доведення неіснування алгоритму треба мати його точне математичне визначення, тому після сформування поняття алгоритму як нової та окремої сутності першочерговою стала проблема знаходження адекватних формальних моделей алгоритму та дослідження їх властивостей. При цьому формальні моделі були запропоновані як для первісного поняття алгоритму, так і для похідного поняття алгоритмічно обчислюваної функції. Вперше поняття алгоритму з'явилося в працях Е. Бореля (1912) та Г. Вейля (1921). Першими формальними моделями алгоритмічно обчислюваних функцій були λ-означувані функції (Алонзо Черч, 1932) та загальнорекурсивні функції (Курт Гедель, 1934). Вказані класи визначались як функції, графіки яких породжуються відповідно численням λ-конверсій та численням Ербрана-Геделя. В 1936 році Стівен Коул Кліні поширив поняття загальнорекурсивної функції на випадок часткових функцій, ввівши поняття частково рекурсивної функції, та описав клас таких функцій в чисто функціональних термінах. В 1943 році Еміль Пост запропонував модель обчислюваних функцій на основі введеного ним числення спеціального вигляду (канонічних систем) [5-20]. Для формалізації самого поняття алгоритму були запропоновані точні математичні описи алгоритмічної машини та обчислюваності на ній. Першою формальною моделлю алгоритмічної машини була машина Тюрінга (Алан Тюрінг, Еміль Пост, 1936). Із пізніших моделей відзначимо нормальні алгоритми (А. Марков, 1952) та регістрові машини (Д. Шепердсон, Г. Стерджіс, 1963). В 1936 р. А. Черч та С. Кліні довели збіг класів загально-рекурсивних та λ-означуваних функцій. На основі цього факту та аналізу ідей, які привели до вказаних понять, А. Черч висунув тезу про збіг класу АОФ з класом загальнорекурсивних функцій. С. Кліні узагальнив цю тезу для випадку часткових функцій. Доведений А. Тьюрінгом в 1937 р. збіг класів частково рекурсивних функцій та функцій, обчислюваних на машинах Тюрінга, стало ще одним підтвердженням тези Черча. Пізніше такі збіги були встановлені для всіх відомих формальних моделей АОФ. Тому є всі підстави вважати, що кожна із названих вище формальних моделей адекватно уточнює інтуїтивне поняття АОФ. Теорія алгоритмів виникла як розділ математичної логіки, поняття алгоритму тісно пов'язане з поняттям числення. Перші та найчисельніші застосування теорія алгоритмів має саме в математичній логіці. Теорія алгоритмів є теоретичним фундаментом програмування, вона має застосування всюди, де зустрічаються алгоритмічні проблеми (основи математики, теорія інформації, теорія керування, конструктивний аналіз, обчислювальна математика, теорія ймовірності, лінгвістика, економіка та ін.) [5-12].

Основні поняття теорії алгоритмів[ред.]

Областю застосовності алгоритму називається сукупність тих об'єктів, до яких його можна застосувати, тобто в застосуванні до яких він дає результат. Про алгоритм U кажуть, що він: 1) «обчислює функцію f», коли його область застосування збігається з областю визначення f, і U перетворює будь-який х зі своєї області застосування в f(х); 2) «розв'язує множину A відносно множини X», коли він застосовується до будь-якого х з X, і перетворює будь-який х з X∩A на слово «так», а будь-який х з Х\А — на слово «ні»; 3) «перераховує множину B», коли його область застосування є натуральний ряд, а сукупність результатів є B. Функція наз. обчислюваною, якщо існує алгоритм, що її обчислює. Множина називається розв'язною відносно X, якщо існує алгоритм, що розв'язує її відносно X. Множина наз. перераховуваною, якщо або вона порожня, або існує перераховуючий її алгоритм[15-22]. Детальний аналіз поняття «алгоритм» виявляє, що (I) область можливих вихідних даних і область застосовності будь-якого алгоритму є перераховуваними множинами. Своєю чергою, (II) для будь-якої пари вкладених одна в другу перераховуваних множин можна підібрати алгоритм, у якого більша множина слугує областю можливих вихідних даних, а менша — областю застосовності. Мають місце такі основні теореми: (III) функція f обчислювана тоді і тільки тоді, коли перераховуваний її графік, тобто множина всіх пар вигляду <х, f(x)>. (IV) Підмножина А перераховуваної множини X тоді і тільки тоді розв'язна відносно X, коли А і X\A перераховувані. (V) Якщо А і В перераховувані, то A об'єднати B і A∩B також перераховувані. (VI) В кожній нескінченній перераховуваній множині X існує перераховувана підмножина з неперераховуваним доповненням (в силу (IV) ця перераховувана підмножина буде нерозв'язною відносно X). (VII) Для кожної нескінченної перераховуваної множини X існує обчислювана функція, визначена на підмножині цієї множини і яка не продовжувана до обчислюваної функції, визначеної на всій X. Твердження (VI) і (II) в сукупності дають приклад алгоритму з нерозв'язною областю застосовуваності. Розв'язні і перераховувані множини складають найпростіші (і найважливіші) приклади множин, структура яких задається за допомогою тих чи тих алгоритмічних процедур. Систематичне вивчення множин конструктивних об'єктів з точки зору таких властивостей цих множин, які зв'язані з наявністю тих чи тих алгоритмів, утворює так звану алгоритмічну теорію множин. Теорію алгоритмів можна розділити на дескриптивну (якісну) і метричну (кількісну). Перша досліджує алгоритми з точки зору встановлюваної ними відповідності між вихідними даними і результатами; до неї належать, зокрема, проблеми побудови алгоритму, що йому властиві ті чи ті властивості,— алгоритмічні проблеми. Друга досліджує алгоритми з точки зору складності як самих алгоритмів, так і обчислень, що ними задаються, тобто процесів послідовного перетворення конструктивних об'єктів (див. Складність алгоритму). Важливо підкреслити, що як складність алгоритмів, так і складність обчислень можуть визначатися різними способами. Розробка методів оцінки складності алгоритмів і обчислень має важливе теоретичне і практичне значення. Формалізація поняття алгоритму Серед інших поширених математичних моделей алгоритмів можна назвати[1]: • Мережі Петрі описані Карлом Петрі в 1962 році[2], як і машини Тюрінга, мають різні форми — звичайні та з обмеженнями, регулярні, вільні, розфарбовані[3], само-змінювані, тощо[4] • Векторні машини, запропоновані Праттом, Рабіном, Стокмаєром в 1974 році[5]. • Нейронні мережі, найпростіші моделі з'явились в 1943 р. з появою статті нейрофізіолога Уоррена Маккалоха і математика Волтера Піттса. Подібно до машини Тюрінга існує кілька різновидів: зі сталими вагами, з керованим та некерованим навчанням, з прямим поширенням або рекурентні[6] • Автомат фон Неймана та загальні клітинні автомати[7]. • Запропоноване Колмогоровим визначення алгоритму в 1953 році[8][9] • скінченні автомати, перші праці про які зазвичай приписують Маккалоху і Піттсу[6], праці з формальним описом структури були написані Мілі[10], Стівеном Кліні[11] та Муром[12]. Подібно до машин Тюрінга скінченні автомати також мають низку різновидів: без пам'яті, автономні, без виведення або приймальні автомати, детерміновані та недетерміновані[13], стохастичні автомати, тощо. • Машина Мінського запропонована Марвіном Мінським в 1967 році[14-20]. • зі змінюваною пам'яттю, або так звані «машини Шенхаге», запропоновані в 1980 році[1-5]. • рівнодоступна адресна машина (РАМ), запропоновані Шефердсоном та Старгісом в 1963 році[16] з варіантами — рівнодоступна адресна машина з програмою, що зберігається (РАСП), запропоновані Елготом і Робінсоном в 1964 році[17]; паралельні рівнодоступні машини (ПРАМ); • Машини обробки масивів описані Льовеном та Відерманом в 1985 році[8-9]; • Багатовимірна модель обчислень та обчисльвальних систем розроблена М. С. Бургіним та А. Ю. Карасіком[19][20]. • Систолічний масив запропоновані Кунгом та Лейсерсоном в 1978 році[21]. • Машини, що змінюють апаратне забезпечення, описані Даймондом та Куком в 1989 році[22] • Числення Поста запропоноване Емілем Постом в 1943 році[3-9]. • Нормальні алгоритми Маркова, запропоновані А. Марковим в 1954 році[4-8] • Формальні граматики, які подібно до машин Тюрінга мають низку різновидів: регулярні, контекстно-вільні, контекстно-залежні, тощо[2][6][7].

Моделі обчислень[ред.]

Машина Тьюринга — абстрактний виконавець (абстрактна обчислювальна машина). Була запропонована Аланом Тьюрингом в 1936 році для формалізації поняття алгоритму. Машина Тьюринга є розширенням кінцевого автомата і, згідно з тезою Черча — Тьюринга, здатна імітувати всі інші виконавці (за допомогою завдання правил переходу), будь-яким чином реалізують процес покрокового обчислення, в якому кожен крок обчислення досить елементарний. Лямбда-числення — розглядається пара — λ-вираз і його аргумент, — а обчисленням вважається застосування, або аппліцирування, першого члена пари до другого. Це дозволяє відокремити функцію і те, до чого вона застосовується. У більш загальному випадку обчисленням вважаються ланцюжки, що починаються з вихідного λ-виразу, за яким слідує кінцева послідовність λ-виразів, кожне з яких виходить з попереднього застосування β-редукції, тобто правила підстановки. Комбінаторна логіка — трактування обчислення подібне до λ-обчислень, але є і важливі відмінності (наприклад, комбінатор нерухомої точки Y має нормальну форму в комбінаторній логіці, а в λ-численні — не має). Комбінаторна логіка була спочатку розроблена для вивчення природи парадоксів і для побудови концептуально ясних підстав математики, причому уявлення про змінну виключалося зовсім, що допомагало прояснити роль і місце змінних в математиці. RAM-машина — абстрактна обчислювальна машина, що моделює комп'ютер з довільним доступом до пам'яті. Саме ця модель обчислень найбільш часто використовується при аналізі алгоритмів. Алан Тьюринг висловив припущення (відоме як Теза Черча — Тьюринга), що будь-який алгоритм в інтуїтивному сенсі цього слова може бути представлений еквівалентною машиною Тьюринга. Уточнення уявлення про обчислюваності на основі поняття машини Тьюринга (і інших аналогічних їй понять) відкрило можливості для суворого доказу алгоритмічної нерозв'язності різних масових проблем (тобто проблем про знаходження єдиного методу рішення деякого класу задач, умови яких можуть змінюватися в певних межах). Найпростішим прикладом алгоритмічно нерозв'язної масової проблеми є так звана проблема застосовності алгоритму (звана також проблемою зупинки). Вона полягає в наступному: потрібно знайти спільний метод, який дозволяв би для довільної машини Тьюринга (заданої за допомогою своєї програми) і довільного початкового стану стрічки цієї машини визначити, чи завершиться робота машини за кінцеве число кроків, або ж буде тривати необмежено довго[5-22].

Протягом першого десятиліття історії теорії алгоритмів нерозв'язні масові проблеми були виявлені лише всередині самої цієї теорії (сюди відноситься описана вище проблема застосовності), а також всередині математичної логіки (проблема виводу в класичному численні предикатів). Тому вважалося, що теорія алгоритмів є узбіччя математики, що не має значення для таких її класичних розділів, як абстрактна алгебра або математичний аналіз. Положення змінилося після того, як А. А. Марков і Е. Л. Пост в 1947 році встановили алгоритмічну нерозв'язність відомої в алгебрі проблеми рівності для кінцево-створених і кінцево-визначених напівгруп (т. з. Проблеми ТУЕ). Згодом було встановлено алгоритмічна нерозв'язність і багатьох інших «чисто математичних» масових проблем. Одним з найбільш відомих результатів в цій області є доведена Ю. В. Матіясевіч алгоритмічна нерозв'язність десятої проблеми Гільберта.

Застосування теорії алгоритмів[ред.]

У всіх галузях математики, в яких зустрічаються алгоритмічні проблеми. Такі проблеми виникають практично в усіх розділах математики. В математичній логіці для кожної теорії формулюється проблема розв'язування множини всіх істинних або довідних тверджень цієї теорії відносно множини всіх її пропозиції (теорії поділяються на розв'язні і нерозв'язні в залежності від розв'язності або нерозв'язності вказаної проблеми); у 1936 р. А. Черч встановив нерозв'язність проблеми розв'язності для множини всіх істинних пропозицій логіки предикатів, подальші важливі результати в цьому напрямі належать А. Тарському, А. І. Мальцеву та інші. Нерозв'язні алгоритмічні проблеми зустрічаються в алгебрі (проблема тотожності для напівгруп і, зокрема, для груп; перші приклади напівгруп з нерозв'язною проблемою тотожності були винайдені в 1947 р. незалежно А. А. Марковим і Е. Постом, а приклад групи з нерозв'язною проблемою тотожності — в 1952 р. П. С. Новіковим); в топології (проблема гомеоморфії, нерозв'язність якої для важливого класу випадків була доведена в 1958 р. А. А. Марковим); в теорії чисел (проблема розв'язності діофантових рівнянь, нерозв'язність якої була встановлена в 1970 р. Ю. В. Матіясевичем) та в інших розділах математики[5-20].

Теорія алгоритмів тісно зв'язана:[ред.]

з математичною логікою, оскільки в термінах алгоритмів може бути викладено одне з центральних понять математичної логіки — поняття числення (і тому, наприклад, теорема Геделя про неповноту формальних систем може бути одержана як наслідок теорем теорії алгоритмів); з основами математики, в яких одне з центральних місць займає проблема співвідношення конструктивного і неконструктивного (зокрема, теорія алгоритмів надає апарат, необхідний для розробки конструктивного напряму в математиці); в 1965 р. А. М. Колмогоров запропонував використовувати теорію алгоритмів для обґрунтування теорії інформації; з кібернетикою, в якій важливе місце займає вивчення алгоритмів керування. Теорія алгоритмів утворює теоретичний фундамент для низки питань обчислювальної математики. В даний час теорія алгоритмів розвивається, головним чином, за трьома напрямками. Класична теорія алгоритмів вивчає проблеми формулювання завдань в термінах формальних мов, вводить поняття завдання дозволу, проводить класифікацію задач за класами складності (P, NP і ін.). Теорія асимптотичного аналізу алгоритмів розглядає методи отримання асимптотичних оцінок ємності або часу виконання алгоритмів, зокрема, для рекурсивних алгоритмів. Асимптотичний аналіз дозволяє оцінити зростання потреби алгоритму в ресурсах (наприклад, часу виконання) зі збільшенням обсягу вхідних даних.

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

Аналіз алгоритмів[ред.]

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

Трудомісткість алгоритмів по-різному залежить від вхідних даних. Для деяких алгоритмів трудомісткість залежить тільки від обсягу даних, для інших алгоритмів — від значень даних, в деяких випадках порядок надходження даних може впливати на трудомісткість. Трудомісткість багатьох алгоритмів може в тій чи іншій мірі залежати від всіх перерахованих вище факторів. Одним з спрощених видів аналізу, що використовуються на практиці, є асимптотичний аналіз алгоритмів. Метою асимптотичного аналізу є порівняння витрат часу та інших ресурсів різними алгоритмами, призначеними для вирішення однієї і тієї ж задачі, при великих обсягах вхідних даних. Використовувана в асимптотичному аналізі оцінка функції трудомісткості, звана складністю алгоритму, дозволяє визначити, як швидко зростає трудомісткість алгоритму зі збільшенням обсягу даних. У асимптотичному аналізі алгоритмів використовуються позначення, прийняті в математичному асимптотичному аналізі. Нижче перераховані основні оцінки складності. В рамках класичної теорії здійснюється класифікація завдань за класами складності (P-складні, NP-складні, експоненціально складні і ін.). До класу P відносяться завдання, які можуть бути вирішені за час, залежне від обсягу вихідних даних, за допомогою детермінованої обчислювальної машини (наприклад, машини Тьюринга), а до класу NP — завдання, які можуть бути вирішені за виражений час за допомогою недетермінованої обчислювальної машини, тобто машини, наступний стан якої не завжди однозначно визначається попередніми. Роботу такої машини можна уявити як розгалужується на кожній неоднозначності процесу: завдання вважається вирішеним, якщо хоча б одна гілка процесу прийшла до відповіді. Інше визначення класу NP: до класу NP відносяться завдання, вирішення яких за допомогою додаткової інформації довжини, даної нам згори, ми можемо перевірити за поліноміальний час. Зокрема, до класу NP відносяться всі завдання, вирішення яких можна перевірити за поліноміального часу. Клас P міститься в класі NP. Класичним прикладом NP-задачі є задача про комівояжера[1-12]. Оскільки клас P міститься в класі NP, приналежність того чи іншого завдання до класу NP часто відображає наше поточне уявлення про способи вирішення даного завдання і носить неостаточний характер. У загальному випадку немає підстав вважати, що для того чи іншого NP-завдання не може бути знайдено P-рішення. Питання про можливість еквівалентності класів P і NP (тобто про можливість знаходження P-рішення для будь-якої NP-задачі) вважається одним з основних питань сучасної теорії складності алгоритмів. Відповідь на це питання не знайдена досі. Сама постановка питання про еквівалентність класів P і NP можлива завдяки введенню поняття NP-повних задач. NP-повні задачі складають підмножина NP-задач і відрізняються тією властивістю, що все NP-завдання можуть бути тим чи іншим способом зведені до них. З цього випливає, що якщо для NP-повної задачі буде знайдено P-рішення, то P-рішення буде знайдено для всіх завдань класу NP. Прикладом NP-повної задачі є задача про кон'юнктивні форми. Дослідження складності алгоритмів дозволили по-новому поглянути на вирішення багатьох класичних математичних задач і знайти для ряду таких завдань (множення многочленів і матриць, рішення лінійних систем рівнянь і ін.) Рішення, які вимагають менше ресурсів, ніж традиційні.

Математичні застосування теорії алгоритмів[ред.]

1. Дослідження масових проблем. 2. Застосування в основах математики: конструктивна семантика. 3. Застосування в математичній логіці: аналіз формалізованих мов логіки і арифметики. 4. Аналіз обчислюваності. 5. Нумеровані структури. 6. Застосування в теорії ймовірностей: визначення випадкової послідовності. 7. Застосування в теорії інформації: алгоритмічний підхід до поняття кількості інформації. 8. Оцінення складності розв'язування окремих задач. 9. Вплив теорії алгоритмів на алгоритмічну практику.

Алгебра алгоритмів — вивчає властивості алгоритмів, виникла в 80-х роках 20 століття. При цьому формальні моделі були запропоновані для первісного поняття алгоритму. Алгебра алгоритмів АА = {A, W}, як і будь-яка алгебра, — це основа А і сигнатура W операцій з елементами цієї основи. За допомогою операції сигнатури можна додати довільний елемент q Î AA. Це називається системою утворювальної алгебри Першою формальною моделлю алгоритмічної машини була машина Тюрінга (Алан Тюрінг, Еміль Пост, 1936). Із пізніших моделей відзначимо нормальні алгоритми (А. Марков, І952) .Дослідження і побудова алгебри алгоритмів або алгоритмічної алгебри почалося з проектування логічних структур ЕОМ під керівництвом академіка В. М. Глушкова. Як результат була створена теорія систем алгоритмічних алгебр (САА), що потім Г. О. Цейтліним була покладена в основу узагальненої теорії структурованих схем алгоритмів і програм, названою ним алгоритмікою. Для формалізації самого поняття алгебри алгоритму були запропоновані точні математичні описи .Алгебра алгоритмів виникла як розділ математичної логіки. Перші застосування алгебри алгоритмів -в математичній логіці. Алгебра алгоритмів є теоретичним фундаментом програмування, вона має застосування, де зустрічаються алгоритмічні проблеми (математики, теорія інформації, теорія керування, конструктивний аналіз, обчислювальна математика, теорія ймовірності, лінгвістика, економіка та ін.).Наразі розроблено кілька алгоритмічних алгебр, найвідомішими з яких є алгебра Дейкстри, алгебра схем Янова та алгоритміка програм, досліджена у працях В. М. Глушкова і Г. О. Цейтліна, а також теорія секвенційних алгоритмів, комп'ютерна реалізація алгебри алгоритмів.Основними поняттями алгебри алгоритмів є:– операції над множинами, булеві операції, предикати, функції й оператори;– бінарні і n-арні відношення, еквівалентність, частково і цілком упорядковані множини;– графи-схеми й операції над графовими структурами;– операції сигнатури САА, аксіоми і правила визначення властивостей програм на основі стратегії згортання, розгортання і їх комбінацій;– методи синтаксичного аналізу структурних програм і символьна обробка. Операції алгебри задовольняють наступні аксіоматичні закони: асоціативності, комутативності, ідемпотентності, закони виключення третього і суперечності. Теорія секвенційних алгоритмів і проектування комп'ютерних систем. Редактор формул алгоритмів і аналіз синтаксису і семантики алгебри алгоритмів-секвенцій. Засоби еквівалентних перетворень алгоритмів. Методи підвищення ефективності математичного моделювання алгоритмів інформаційно-технологічних систем. Принципи побудови комп'ютерної бібліотеки абстрактних алгоритмів. Застосування Синтез, оптимізація і дослідження математичних моделей алгоритмів керування електроприводом друкарської машини і проектування комп'ютерних систем. Практичним результатом досліджень алгебри алгоритмів є побудова оригінальних інструментальних систем проектування програм на основі сучасних засобів підтримки ООП (Rational Rose) [15-22].


Література:[ред.]

1. Крап Н. П. Нейронні мережі як засіб управління конфігураціями проектів туристичних потоків / Н. П. Крап, В. М. Юзевич // Управління розвитком складних систем. – 2013. – №14. – С. 37-40. 2. Бушуєв С.Д., Бойко О.О. Формування потоку цінності володіння в Канбан при реалізації проектів розробки програмного забезпечення // Управління розвитком складних систем. – 2014. – №20. – С. 17-20. 3. Овсяк В. АЛҐОРИТМИ: методи побудови, оптимізації, дослідження вірогідності. – Львів: Світ, 2001. – 160 с. 4. Огірко О. Принцип побудови системи генерації програм з операцій теорії секвенційних алгоритмів. // КВАЛІЛОГІЯ КНИГИ, № 6, 2003. – С. 189-193. 5. Огірко О. Модель комп’ютерної системи генерації програм з операцій алгоритмів // Комп'ютерні технології друкарства, № 6, 2001. – С. 93-97. 6. Огірко О. Синтаксис оптимізації моделі та моделювання синтаксису механізму розпізнавання символіки алгебри алгоритмів секвенції // Комп"ютерні технології друкарства, № 5, 2000. – С. 296- 303. 7. Овсяк В. Засоби еквівалентних перетворень алгоритмів / Овсяк В. // Доповіді національної академії наук України. –1996. –№ 9. – C. 83-89. 8. Овсяк В.К., Бритковський В.М., Овсяк О.В., Овсяк Ю. В. Теорія секвенційних алгоритмів і проектування комп'ютерних систем : Навчальний посібник. – Львів: УАД, 2001. – 141 с. 9. Owsiak W., Owsiak A., Owsiak J. Teoria algorytmów abstrakcyjnych i modelowanie matematyczne systemów informacyjnych / Owsiak W., Owsiak A., Owsiak J. –Opole: Politechnika Opolska, 2005. –275 s. 10. Рижакова Г.М, Стеценко С.П., Лагутіна З.В. Альтернативні аналітичні інструменти забезпечення економічної безпеки державного інвестування будівельних проектів // Управління розвитком складних систем. – 2013. –16. – С. 204–208. 11. Цейтлин Г. Е. Введение в алгоритмику. – К.: Сфера, 1998. – 310 с 12. Цюцюра С.В. Методи проекції об'єктних моделей на структури даних / С.В. Цюцюра, Є.В. Бородавка // Управління розвитком складних систем, 2015. – № 21. – С. 92-98.

References:[ред.]

1. Krap N.P. (2013). Neural networks as a means of configuration management projects of tourist flows / N.P.Krap, V.N. Yuzevych // Managing the development of complex systems. − 2013 − Vol. 14. − P. 37-40 2. Bushuev, S.D, & Boyko, O.O. (2014). Formation of flow values possessions in the implementation of Kanban software development projects // Management of development of complex systems, 20, 17-20. 3. Owsiak V. (2001). ALGORYTMY, methods of construction, optimization, probability studies. − Lviv: World, 2001. − 160 p.\ Ogirko, O. (2003). The principle of building generation system operations programs theory of sequential algorithms. // Kva- lilohiya books, number 6, 2003. − P. 189-193. 4. Ogirko O. (2001). Тhe computer model books generation system with operations software algorithms. // Computer tech- nologies of printing, number 6, 2001. − P. 93-97. 5. Ogirko O. (2000). Syntax optimization models and modeling syntax recognition mechanism algebra algorithms sequence of symbols // Computer Books printing technology, number 5, 2000. − P. 296-303 6. Owsiak V. (1996). Means equivalent transformation algorithms / Owsiak V. // Reports of the National Academy of Sciences of Ukraine. − number 9. 1996. − P. 83-89. 7. Owsiak V.K., Brytkovsky V.M., Owsiak O.V., & Owsiak U.V. (2001). Theory sequential of algorithms and design of computer sys tems: Textbook. − Lviv: UAH works, 2001. − 141 p. 8. Owsiak W., Owsiak A., & Owsiak J. (2005). Teoria algorytmów, abstrakcyjnych i modelowanie matematyczne systemów infor- macyjnych / Owsiak W., Owsiak A., Owsiak J. − Opole: Politechnika Opolska, 2005.− 275 p. 9. Ryzhakova H.M, Stetsenko S.P., & Lagutina Z.V. (2013). Alternative analytical tools to ensure the economic security of public investment construction projects // Managing the development of complex systems, 2013, №16. - P. 204-208 10. Zeitlin G. E. (1998). Introduction to Algorithmics. – Kiev:"Sphere", 1998. – 310 p. 11. Tsutsura S.V., & Borodavka E.V. (2015). The methods projection object models for data structure // Managing the development of complex systems, 2015, number 21. – P. 92-98. 12. Л. М. Клакович, С. М. Левицька. Теорія алгоритмів: Навчальний посібник. — Друге видання, доповнене. — Львів : Видавничий центр ЛНУ ім. Івана Франка, 2015. — 161 с. 13. «Енциклопедія кібернетики», відповідальний ред. В. Глушков, 2 тт., 1973. 14. Michael Sipser. Introduction to the Theory of Computation. — Boston : PWS Publishing Company, 1997. — 387 с. — ISBN 0-534-94728-X. 15. Вейль Г., О философии математики, пер. с нем., М.— Л., 1934; 16. Марков А. А., Нагорный Н. М., Теория алгоритмов, М., 1984; 17. Мальцев А. И., Алгоритмы и рекурсивные функции, М., 1965; 18. Роджерс X., Теория рекурсивных функций и эффективная вычислимость, пер. с англ., М., 1972; 19. Успенский В. А., Машина Поста, М., 1979; его же, Теорема Гёделя о неполноте, М., 1982; 20. Проблемы математической логики. Сложность алгоритмов и классы вычислимых функций. Сб. переводов, М., 1970; 21. Колмогоров А. Н., «Проблемы передачи информации», 1965, т. 1, № 1, с. 3—11; 22. Успенский В. А., Семенов А. Л., «Квант», 1985, № 7, с. 9—15.

Див. також[ред.]

Автори курсу -Огірко І.В.та Огірко О.І. Огірко Ігор Васильович.