SlideShare a Scribd company logo
1 of 74
Download to read offline
Алгоритми та методи
обчислень
14(лекцій) *
(2 * 1(к.з.) + 1(к.) + 2 * 1(д.з.))
Алгоритми та методи
обчислень
Лекція 1
Тема №1. Вступ до теорії
алгоритмів.
1.1. Неформальне тлумачення
алгоритму.
1.1. Неформальне тлумачення
алгоритму.
План:
1.1.1. Історія поняття алгоритму.
1.1.2. Визначення алгоритму.
1.1.3. Основні властивості алгоритмів.
1.1.4. Параметри алгоритму.
1.1.5. Базові структури (алгоритмічні
конструкції) алгоритмів.
1.1.1. Історія поняття
алгоритму.
Слово алгоритм походить від
algorithmi - латинської форми
написання імені великого
математика IX ст. Аль-Хорезмі,
який сформулював правила
виконання арифметичних дій.
1.1.2. Визначення алгоритму.
Єдиного «істинного» визначення поняття «алгоритм» немає:
Алгоритм—скінчений набір правил, який визначає послідовність операцій для
розв’язку конкретної множини задач та володіє наступними важливими рисами:
скінченістю, визначеністю, вводом, виводом, ефективністю.
Алгоритм — система обчислень, що виконується за чітко визначеними
равилами, яка після деякої кількості кроків приводить до розв’язку поставленої
задачі.
Алгоритм — чітко детермінована послідовність дій, яка описує процесс
перетворення об’єкту із початкового стану в кінцевий, записана за допомогою
зрозумілих виконавцю команд.
Алгоритм — послідовність дій, направлених на отримання кінцевого
результату за скінчену кількість крокіів.
Алгоритм — послідовність дій, яка або приводить до розв’язку задачі, або
пояснює, чому такий розв’язок отримати не можливо.
Алгоритм — точна, однозначна, скінчена послідовність дій, яку необхідно
виконати для досягнення конкретної мети за скінчену кількість кроків.
Алгоритм — це скінчена послідовність команд, які потрібно виконати над
1.1.2. Визначення алгоритму.
Визначення абстрактного алгоритму
(за Черкаським М.В.)
1.1.3. Основні властивості
алгоритмів.
Властивості алгоритму:
Скінченність. Алгоритм має завжди завершуватись після
виконання скінченної кількості кроків.
Дискретність. Процес, що визначається алгоритмом, можна
розділити на окремі елементарні етапи.
Визначеність. Кожен крок алгоритму має бути точно визначений.
Вхідні дані. Алгоритм має деяку кількість (можливо, нульову)
вхідних даних.
Вихідні дані. Алгоритм має одне або декілька вихідних даних.
Ефективність. Алгоритм має завершуватися отриманням
результату обчислень, що записуються у вихідні дані.
Масовість. Властивість алгоритму, яка полягає в тому, що
алгоритм повинен забезпечувати розв'язання однотипних задач
для будь-яких вхідних даних.
1.1.4. Параметри алгоритму.
1. Правило початку.
2. Правило вводу даних.
3. Система(потенційно нескінченна) вхідних даних.
4. Правило безпосереднього перероблення .
5. Система проміжних результатів.
6. Система кінцевих результатів.
7. Правило виводу.
8. Правило закінчення.
1.1.5. Базові структури
(алгоритмічні конструкції)
алгоритмів.
Можна виділити чотири базові структури алгоритмів:
· лінійні;
· розгалужені;
· циклічні;
· змішані.
Алгоритми та методи
обчислень
Лекція 2
Тема №1. Вступ до теорії
алгоритмів.
1.2. Формалізація поняття
алгоритму.
1.2. Формалізація поняття
алгоритму.
План:
1.2.1. Введення в теорію алгоритмів.
1.2.2. Формалізація поняття алгоритму. Формальні
алгоритмічні системи(ФАС).
1.2.3. Скінченний автомат. Детермінований
скінченний автомат(DFA). Недетермінований
скінченний автомат(NFA). Магазинний
автомат(PDA).
1.2.4. Нормальні алгоритми Маркова.
1.2.5. Машина Тюрінга.
1.2.6. Формальні граматики та формальні мови.
Алгоритмічні ситеми
• Нехай Α= < φ ,Ρ > - деякий алгоритм із
системою правил Р .
• Алгоритм АF =< φ, PF >, де PF — формальний
опис системи Р , будемо називати
формальним еквівалентом алгоритму А.
• Алгоритмічною системою називають
спосіб задання алгоритмів у деякому
фіксованому формалізмі F, який дає змогу
для довільного наперед заданого алгоритму
А задати його формальний еквівалент АF.
Алгоритмічні системи
(Формальні алгоритмічні системи)
Алгоритмічні системи можна вважати формалізацією поняття
алгоритму. Виділяють три типи таких систем, які відрізняються
початковими евристичними міркуваннями стосовно того, що
таке алгоритм:
– у першому типі поняття алгоритму пов’язане з найтрадиційнішими
поняттями математики - обчисленнями та числовими функціями
(числовою називають функцію, значення якої та значення її
аргументів - невід’ємні числа). Рекурсивні функції - історично
перша формалізація поняття алгоритму;
– другий тип ґрунтується на уявленні про алгоритм як детермінований
пристрій, здатний виконувати в кожний окремий момент лише дуже
примітивні операції. Основна теоретична система цього типу -
машина Тьюрінга;
– третій тип алгоритмічних систем — це перетворення слів у
довільних алфавітах. Приклади систем цього типу – канонічна
система Поста й нормальні алгоритми Маркова.
• Машина Тюрінга.
• Машина Зенона.
• Машина Поста.
• Нормальні алгоритми Маркова.
• Акумуляторна машина.
• Регістрова машина.
• РАМ-машина.
• ПРАМ-машина.
• ПРАМ-машина на основі ПВДН.
• Детермінований скінченний автомат(DFA).
• Недетермінований скінченний автомат(NFA).
• Магазинний автомат(PDA) та стекова машина на його основі.
Абстрактний автомат
• Цифровий (дискретний) автомат – пристрій, який здійснює прийом,
зберігання та перетворення дискретної інформації за деяким
алгоритмом. В якомусь розумінні до автоматів можна віднести як
реальні пристрої (обчислювальні машини, живі організми і т. ін.), так і
абстрактні системи (математичні машини, аксіоматичні теорії та ін.).
• Загальну теорію автоматів підрозділяють на абстрактну і структурну
• Абстрактний кінцевий автомат описується трьома скінченними
множинами і двома функціями: A = {X, Y, S , δ, λ}, де:
X – множина вхідних сигналів або вхідний алфавіт,
Y – множина вихідних сигналів або вихідний алфавіт,
S – множина станів або алфавіт станів,
δ – функція переходів, s(t + 1) = δ(s(t), x(t)),
λ – функція виходів, y(t) = λ(s(t), x(t)).
• Недетермінований кінцевий автомат автомат визначається аналогічно,
але з тою різницею, що як δ, λ допускаються багатозначні функції.
Автомат з магазинною пам'яттю
(PDA)
Недетермінований скінченний
автомат
Недетерміно́ваний автомат це автомат, який при даному вхідному символі і
внутрішньому стані може переходити в декілька різних внутрішніх станів.
НДСА формально представляє п'ятірка, (Q, Σ, Δ, q0, F), в якій:
скінченна множина станів Q
скінченна множина Σ
функція переходу Δ : Q × Σ → P(Q).
початковий стан q0 ∈ Q
набір станів F позначених як допустимі (або кінцеві) стани F ⊆ Q.
Тут, P(Q) позначає Q. Нехай w = a1a2 … an буде словом в абетці Σ. Автомат M приймає
слово w якщо послідовність станів, r0,r1, …, rn, існує в Q з такими умовами:
r0 = q0
ri+1 ∈ Δ(ri, ai+1), for i = 0, …, n−1
rn ∈ F.
Нормальні алгоритми Маркова
Для формалізації поняття алгоритму А. Марков 1954 р. розробив систему
нормальних алгоритмів. Алгоритми Маркова — це формальна математична
система. Вони були основою для першої мови обробки рядів СОМІТ. Крім того, є
подібність між моделлю Маркова і мовою СНОБОЛ, яка з’явилась після СОМІТ.
Простою продукцією (формулою підстановки) називають запис вигляду:
u —> w
, де и, w - рядки в алфавіті V . У цьому разі V не містить символів ‘->' та ‘.‘.
Величину и називають ангицедентом , a w - консеквентом.
Вважають, що формула и —> w може бути застосована до рядка Z є F , якщо є хоча
б одне входження и в Z. В іншому випадку ця формула не застосовна до рядка Z.
Якщо формула може бути застосована, то канонічне (перше ліворуч) входження и в
Z замінюється на w. Наприклад, якщо формулу 'ba' —>’c' застосувати до вхідного
рядка 'ababab' , то в підсумку отримаємо рядок 'achab'. Проте формула 'baa' —>
'c' до рядка 'ababab' не може бути застосована.
Заключною продукцією (заключною підстановкою) називають запис вигляду:
u —> -w
Упорядковану множину продукцій Р1,Р7,...,Рn називають
нормальним алгоритмом, чи алгоритмом Маркова.
Нормальні алгоритми Маркова
П р и к л ад.
Нехай над словами з алфавіту V = {а,Ь,с} задано алгоритм з
такими формулами підстановки
Р1 : 'аb' —> 'b',
Р2 : ’ас' —> 'с',
Р3 : 'aa' —> 'a'.
Цей алгоритм вилучає всі входження символа 'a' з рядка, за
винятком випадку, коли 'а‘ є в кінці рядка.
Простежимо роботу алгоритму, якщо вхідний рядок має вигляд
'bacaabaa'. Нехай символ => означає результат перетворення, а
підрядок, який підлягає заміні, будемо підкреслювати:
'bacaabaa' => 'bacabaa' => 'bacbaa' => 'bcbaa ' => 'bcba'.
Р1 Р1 Р2 Р3
Оскільки далі жодна з формул не може бути застосована, то на
цьому робота алгоритму завершується.
Машина Тюрінга
• На змістовному рівні машина Тьюрінга (МТ) є деякою
гіпотетичною(умовною) машиною, яка складається з
трьох головних компонент: інформаційної стрічки,
головки для зчитування і запису та пристрою
керування.
Алгоритмічна система Тюрінга
Модель однострічкової детермінованої МТ:
М = < A, I, Q, q0, qf, a0, p >,
де A – кінцева множина символів зовнішнього алфавіту,
I – кінцева множина символів зовнішнього алфавіту на стрічці,
Q – кінцева множина символів внутрішнього алфавіту,
q0 – початковий стан,
qf – кінцевий стан,
q0, qf Є Q
a0 – позначення порожньої комірки стрічки,
p – така програма, яка не може мати двох команд, у яких би збігалися
два перші символи:
{A}x{Q} {A}{L,R,S}{Q},
де L – зсувати головку вліво,
R – зсувати головку вправо,
S – головка залишається на місці.
Машини Тюрінга
• Машини Тюрінга
– Змінна машина Тюрінга
– Нейронна машина Тюрінга
– Недетермінована машина Тюрінга
– Квантова машина Тюрінга
– Машина Поста-Тюрінга
– Імовірнісна машина Тюрінга
– Незмінна машина Тюрінга
– Незмінна машина Тюрінга з рухом праворуч
– Багатострічкова машина Тюрінга
– Симетрична машина Тюрінга
– Повна машина Тюрінга
– Однозначна машина Тюрінга
– Універсальна машина Тюрінга
– Машина Зенона
Універсальна машина Тюрінга
Машина Поста
(машина Поста-Тюрінга)
• Машина Поста має нескінченну інформаційну стрічку, на яку
записують інформацію в двійковому алфавіті {0,1}. Алгоритм
задають як скінченну впорядковану послідовність
перенумерованих правил — команд Поста.
• Є шість типів команд Поста:
– 1) відмітити активну комірку стрічки, тобто записати в неї І і
– перейти до виконання i-ї команди;
– 2) стерти відмітку активної комірки, тобто записати в неї 0 і
– перейти до виконання i-Ї команди;
– 3) змістити активну комірку на одну позицію вправо і перейти
– до виконання i-ї команди;
– 4), змістити активну комірку на одну позицію вліво і перейти
– до виконання i-ї команди;
– 5) якщо активна комірка відмічена, то перейти до виконання і-
– ї команди, інакше - до виконання j-Ї команди;
– 6) зупинка, закінчення роботи алгоритму.
• Формальна граматика або просто граматика в теорії формальних мов
— спосіб опису формальної мови, тобто виділення деякої підмножини з
множини всіх слів деякого скінченного алфавіту. Розрізняють
породжувальні і аналітичні граматики — перші ставлять правила, за
допомогою яких можна побудувати будь-яке слово мови, а другі
дозволяють по даному слову визначити, входить воно в мову чи ні.
Формальні граматики були введені американським вченим,
математиком та філософом, Н. Хомським у 50-тих роках XX сторіччя.
• Алфавіт — скінченна множина символів. ε — порожній ланцюжок.
Нехай Т — алфавіт, тоді:
– Т+ — множина усіх можливих послідовностей, що складені з елементів
цього алфавіту крім порожньої послідовності ε.
– Т* — множина усіх можливих послідовностей, що складені з елементів
цього алфавіту, будь-якої довжини. Отже:
– Тk — множина усіх можливих послідовностей,що складені з елементів цього
алфавіту, довжини не більше k.
• Мова в алфавіті Т це множина ланцюжків скінченної довжини в цьому
алфавіті. Зрозуміло, що кожна мова в алфавіті Т є підмножиною
множини Т*.
Формальні мови. Засоби опису
формальних мов
Формальна граматика
Формальні мови
та породжуючі граматики
Ієрархія Чомскі
Граматика Правила Мови
Тип-0 Довільна формальна
граматика
α → β
∈α V* N V*,
∈β V*
рекурсивно
зліченна
Автомат Машина Тюринга
Абр. KSV*
Тип-1 Контекстно-залежна
граматика
α A β → α'γ'β
∈A N, α, β ∈ V*, γ ∈ V+
S → ε дозволене, коли серед правил P
відсутнє α → β Sγ.
контекстно-
залежна
Автомати Лінійний обмежений автомат
Абр. КЗ
Тип-2 Контекстно-вільна граматика A → γ
∈A N,
∈γ V*
контекстно-вільна
Автомати недетермінований автомат з
магазинною пам'ятю
Абр. КВ
Тип-3 регулярна граматика S → ε
A → aB (праволінійна)
або A → Ba (ліволінійна)
A → a
A → ε
∈ ∈A, B N, a Σ
регулярна
Автомати Скінченний автомат
(детермінований і
недетермінований)
Абр. А
Позначення множин – ∪Σ, N, V=Σ N
Операції – C, K , S , V, *
Ієрархія Чомскі
Довільна формальна граматика
та рекурсивно зліченні мови
• Це найзагальніший клас граматик. На
правила не накладаються ніяких
обмежень, окрім зазначених у
визначенні. Вони еквівалентні Машині
Тюринга. Доведено існування мов, які
породжуються граматиками типу 0, але
не граматиками типу 1, але невідомі
прості приклади таких мов.
Контекстно-залежна граматика та
породжувані ними мови
• Контекстно-залежні граматики породжують контекстно-залежні
мови. Тобто, кожна КЗ граматика породжує КЗ мову, і для
кожної КЗ мови існує КЗ граматика, що її породжує.
• Контекстно-залежні мови можна розпізнати недетермінованою
лінійно-обмеженою машиною Тюринга (недетермінована
машина Тюринга зі стрічкою обмеженої довжини).
• Визначення приналежності слова мові (x ∈L) для КЗ-мов
розв'язувана.
Контекстно-залежні граматика та
породжувані ними мови
• Тобто в усіх правилах цього виду зліва стоїть
тільки один нетермінал. Тому вони і
контекстно вільні, бо на використання
правила для даного нетерміналу не
впливають символи, що оточують його. Ці
символи називають контекстом.
Контекстно-вільна граматика та
породжувальні ними мови
• Контекстно-вільні граматики породжують контекстно-вільні
мови, тобто, кожна КВ граматика породжує КВ мову, і для
кожної КВ мови існує КВ граматика, що її породжує.
• Контекстно-вільні мови можна розпізнати недетермінованим автоматом
з магазинною пам'ятю. За умови існування детермінованого автомату,
здатного розпізнати мову, її називають детермінованою КВ мовою. Ця
підмножина КВ мов утворює теоретичну основу для синтаксиса
багатьох мов програмування.
Регулярні граматики. А-граматики
• Граматики типу 3 можна визначити як праволінійну або ліволінійну граматику,
або як змішану. Також ці мови називають скінченно-автоматними, бо вони
еквівалентні скінченним автоматам, тобто клас мов, що породжуються
граматиками типу 3, збігається з класом мов, які розпізнаються скінченими
автоматами. Також ці граматики є основою регулярних виразів. Доведено, що
праволінійні та ліволінійні граматики еквівалентні, і існує алгоритм для
переведення правил граматики одного типу в інший тип.
Регулярна мова
• Регулярна мова (регулярна множина) - це формальна мова третього класу з
класифікації Чомскі.
• Регулярна мова може задаватись регулярною граматикою, регулярним виразом,
та розпізнаватись ДСкА чи НДСкА.
• Для визначення приналежності мови класу регулярних існує Лема про накачку
для регулярних мов та теорема Майхілла-Нероде.
Регулярні вирази
• Окрім автоматів і граматик для опису регулярних мов
зручно використовувати регулярні вирази.
• Регулярний вираз є послідовністю, що описує
множину рядків. Ці послідовності використовують для
точного описання множини без перелічення всіх її
елементів. Наприклад, множина, що складається із
слів «грати» та «ґрати» може бути описана
регулярним виразом «[гґ]рати». В більшості
формалізмів, якщо існує регулярний вираз, що описує
задану множину, тоді існує нескінченна кількість
варіантів, які описують цю множину
Метасимволи регулярних виразів
• . (крапка) – один довільний символ (крім
символу переходу на новий рядок)
• t – табуляція
• n – новий рядок
•  – власне  (backslash)
• s – один довільний пробільний символ
(пробіл, табуляція, новий рядок)
• S – один довільний символ, який не входить
у перелічені для  s
• d – одна довільна цифра (digit)
• D – один довільний символ, який не може
бути цифрою
Метасимволи регулярних виразів
• w – одна довільна літера або цифра або знак
підкреслювання (word character), те саме що [A-Za-z0-
9_]
• W – один довільний символ, який не входить у
перелічені для w
• - – позначає діапазон(у класі символів) або власне
цей символ, якщо це перший символ у класі ([-abc])
• $ – кінець рядка
• ^ – початок рядка або заперечення, якщо це перший
символ у класі символів ([^abc])
• ^$ – пустий рядок
• | - логічне АБО (використовується у групі символів)
Метасимволи регулярних виразів
• < – початок слова
• > – кінець слова
• b – межа слова (початок або кінець) або
символ backspace, якщо він знаходиться у
класі символів
• B – позиція, що не є межею слова
• . – власне крапка
• $ – власне символ $
• [, ] – власне квадратні дужки
• (, ) – власне круглі дужки
• {, } – власне фігурні дужки
Метасимволи регулярних виразів
Групування та повторення:
• * – нуль або більше разів повторений попередній символ (або група
символів)
• + – один або більше разів повторений попередній символ (або група
символів)
• ? – нуль або один раз повторений попередній символ (або група
символів)
• () – групують символи (всі, що присутні у дужках, можливе застосування
логічного АБО (символ |))
• [] – визначають клас (або множину) символів – неупорядковану групу
символів, з якої для відповідного регулярного виразу обирається один
довільний
• {n} – рівно n разів повторений попередній символ (або група символів)
• {n, m} – попередній символ (або група символів) повторений від n до m
разів
• {n, } – n або більше разів повторений попередній символ (або група
символів)
Регулярні вирази
Приклади
• [A-Za-z] – один довільний символ латинської абетки,
незалежно від регістру (тут не можна писати [A-z], бо
між літерами у великому та малому регістрах
знаходяться інші символи)
• [0-9] або (0|1|2|3|4|5|6|7|8|9) або d – одна довільна
цифра
• (d{3}) d{3}-d{4} – номер телефону у форматі (044)
123-4567
• #[0-9a-fA-F]{6} – шістнадцятковий код кольору
(наприклад, #12CCAA)
• ([0-9]|[1-9][0-9]|1[1-9][0-9]|2[0-4][0-9]|25[0-5]) –
довільне число з діапазону 0-255 (цей вираз можна
скоротити)
Нотація Бекуса-Наура
• Нота́ція Бе́куса—Нау́ра (англ. Backus-Naur form, BNF) — це
спосіб запису правил контекстно-вільної граматики, тобто
форма опису формальної мови.
• БНФ визначає скінченну кількість символів (нетерміналів). Крім
того, вона визначає правила заміни символу на якусь
послідовність букв (терміналів) і символів. Процес отримання
ланцюжка букв можна визначити поетапно: спочатку є один
символ (символи зазвичай знаходяться у кутових дужках, а їх
назва не несе жодної інформації). Потім цей символ
замінюється на деяку послідовність букв і символів, відповідно
до одного з правил. Потім процес повторюється (на кожному
кроці один із символів замінюється на послідовність, згідно з
правилом). Зрештою , виходить ланцюжок , що складається з
букв і не містить символів. Це означає , що отриманий
ланцюжок може бути виведений з початкового символу.
Нотація Бекуса-Наура
Нотація БНФ є набором «продукцій», кожна з яких
відповідає зразку:
<символ> ::= <вираз, що містить символи>
<вираз, що містить символи> це послідовність
символів або послідовності символів, розділених
вертикальною рискою |, що повністю перелічують
можливий вибір символ з лівої частини формули.
Наступні чотири символи є символами мета-мови, вони
не визначені у мові, котру описують:
– < — лівий обмежувач виразу
– > — правий обмежувач виразу
– ::= — визначене як
– | — або
Інші символи належать до «абетки» описуваної мови.
Нотація Бекуса-Наура
Розширена нотація Бекуса-
Наура
• Розши́рена фо́рма Бе́куса — На́ура
(англ. extended Backus–Naur form,
EBNF) була розроблена Ніклавсом
Віртом, яка сьогодні існує в багатьох
варіантах, перед усім — ISO-14977.
РБНФ відрізняється від БНФ більш
«ємкими» конструкціями, що
дозволяють при тій же виразності
спростити і скоротити в обсязі опис.
Розширена нотація Бекуса-Наура
При використанні розширеної форми Бекуса-Наура
(EBNF):
• не термінальні символи записуються як окремі слова
• термінальні символи записуються в лапках
• вертикальна риска |, як і в БНФ, використовується для
визначення альтернатив
• круглі дужки використовуються для групування
• квадратні дужки використовуються для визначення
можливого входження символу або групи символів
• фігурні дужки використовуються для визначення
можливого повторення символу або групи символів
• символ рівності використовується замість символу :: =
• конкатенація позначається комою
• символ крапки використовується для позначення кінця
правила
• коментарі записуються між символами (* ... *)
Розширена нотація Бекуса-Наура
Домашнє завдання №1
Домашнє завдання №1
Домашнє завдання №2
Домашнє завдання №2
Домашнє завдання №2
Домашнє завдання №2
kozaknazar.github.io
П р и к л ад.
Нехай над словами з алфавіту V = {а,Ь,с} задано алгоритм з
такими формулами підстановки
Р1 : 'аb' —> 'b',
Р2 : ’ас' —> 'с',
Р3 : 'aa' —> 'a'.
Цей алгоритм вилучає всі входження символа 'a' з рядка, за
винятком випадку, коли 'а‘ є в кінці рядка.
Простежимо роботу алгоритму, якщо вхідний рядок має вигляд
'bacaabaa'. Нехай символ => означає результат перетворення, а
підрядок, який підлягає заміні, будемо підкреслювати:
'bacaabaa' => 'bacabaa' => 'bacbaa' => 'bcbaa ' => 'bcba'.
Р1 Р1 Р2 Р3
Оскільки далі жодна з формул не може бути застосована, то на
цьому робота алгоритму завершується.
Операторні алгоритмічні системи
• Однією з особливостей алгоритмічних систем, за винятком машини Поста, є
незмінність набору допустимих засобів, використовуваних для запису
алгоритмів і процесів Їхнього виконання. В системі нормальних алгоритмів
такими є один оператор(підстановки) і один розпізнавач (входження); у системі
рекурсивних функцій фіксованим є набір базових функцій (S, 0, /) і набір
операторів (S, R, М, М’); під час обчислення на машині Тьюрінга елементарні
такти обмежені фіксованим набором операцій (заміна символа в комірці, зміна
стану машини і позиції головки).
• Водночас під час вивчення конкретних алгоритмів бажано мати такі допустимі
засоби їхнього опису, які найзручніші для цього класу алгоритмів. Наприклад,
алгоритми лінійної алгебри найзручніше описувати за допомогою чотирьох
арифметичних дій, а алгоритми обчислення функцій алгебри логіки - за
допомогою тих логічних операцій, у термінах яких ці функції записані.
• Операторні алгоритмічні системи першими почали орієнтувати на конкретні
мови програмування, тобто на реальні обчислювальні машини. До визначення
алгоритму в разі практичного використання ставлять такі вимоги:
– можливість вибору засобів опису алгоримів залежно від класу алгоритмів;
– дозвіл формування команд алгоритму в процесі його виконання;
– дозвіл використання широкого діапазону елементарних логічних операцій над
об’єктами.

More Related Content

What's hot

моделі. типи моделей
моделі. типи моделеймоделі. типи моделей
моделі. типи моделейtania_semeshchuk
 
Реферат На тему: « Використання інтерактивних технологій на уроках в початков...
Реферат На тему: « Використання інтерактивних технологій на уроках в початков...Реферат На тему: « Використання інтерактивних технологій на уроках в початков...
Реферат На тему: « Використання інтерактивних технологій на уроках в початков...270479
 
формування ключових компетентностей
формування ключових  компетентностейформування ключових  компетентностей
формування ключових компетентностейlika1308
 
пристрої для роботи з інформацією
пристрої для роботи з інформацієюпристрої для роботи з інформацією
пристрої для роботи з інформацієюMychailoBarko
 
можливості хмарних технологій у дошкільній та початковій освіті
можливості хмарних технологій у дошкільній та початковій освітіможливості хмарних технологій у дошкільній та початковій освіті
можливості хмарних технологій у дошкільній та початковій освітіМарина Дерябина
 
використання ікт на уроках математики
використання ікт на уроках математикивикористання ікт на уроках математики
використання ікт на уроках математикиAndrey1977
 
Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...
Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...
Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...Светлана Брюховецкая
 
внутрішня система забезпечення якості освіти
внутрішня система забезпечення якості освітивнутрішня система забезпечення якості освіти
внутрішня система забезпечення якості освітиssuser551660
 
портфоліо 3
портфоліо 3портфоліо 3
портфоліо 3Alex Lisov
 
Приклади проблемних завдань
Приклади проблемних завданьПриклади проблемних завдань
Приклади проблемних завданьМарина Оленюк
 
створення зв’язків між таблицями
створення зв’язків між таблицямистворення зв’язків між таблицями
створення зв’язків між таблицямиОльга Казанцева
 
арифметична і геометрична прогресії в літературі
арифметична і геометрична прогресії в літературіарифметична і геометрична прогресії в літературі
арифметична і геометрична прогресії в літературіValyu66
 
антична філософія
антична філософіяантична філософія
антична філософіяvergil0102
 
Україна в інформатиці
Україна в інформатиціУкраїна в інформатиці
Україна в інформатиціYaroslava Bondar
 
портфоліо вчителя математики та інформатики Ренчківської В. В.
портфоліо вчителя математики та інформатики Ренчківської В. В.портфоліо вчителя математики та інформатики Ренчківської В. В.
портфоліо вчителя математики та інформатики Ренчківської В. В.ssuser42f769
 
Десяткові дроби.Посібник
Десяткові дроби.ПосібникДесяткові дроби.Посібник
Десяткові дроби.Посібникуля стукало
 

What's hot (20)

моделі. типи моделей
моделі. типи моделеймоделі. типи моделей
моделі. типи моделей
 
Реферат На тему: « Використання інтерактивних технологій на уроках в початков...
Реферат На тему: « Використання інтерактивних технологій на уроках в початков...Реферат На тему: « Використання інтерактивних технологій на уроках в початков...
Реферат На тему: « Використання інтерактивних технологій на уроках в початков...
 
формування ключових компетентностей
формування ключових  компетентностейформування ключових  компетентностей
формування ключових компетентностей
 
пристрої для роботи з інформацією
пристрої для роботи з інформацієюпристрої для роботи з інформацією
пристрої для роботи з інформацією
 
можливості хмарних технологій у дошкільній та початковій освіті
можливості хмарних технологій у дошкільній та початковій освітіможливості хмарних технологій у дошкільній та початковій освіті
можливості хмарних технологій у дошкільній та початковій освіті
 
використання ікт на уроках математики
використання ікт на уроках математикивикористання ікт на уроках математики
використання ікт на уроках математики
 
Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...
Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...
Портфоліо Парамонової Ірини Володимирівни, вчителя початкових класів КЗ "Луга...
 
внутрішня система забезпечення якості освіти
внутрішня система забезпечення якості освітивнутрішня система забезпечення якості освіти
внутрішня система забезпечення якості освіти
 
портфоліо 3
портфоліо 3портфоліо 3
портфоліо 3
 
Приклади проблемних завдань
Приклади проблемних завданьПриклади проблемних завдань
Приклади проблемних завдань
 
створення зв’язків між таблицями
створення зв’язків між таблицямистворення зв’язків між таблицями
створення зв’язків між таблицями
 
арифметична і геометрична прогресії в літературі
арифметична і геометрична прогресії в літературіарифметична і геометрична прогресії в літературі
арифметична і геометрична прогресії в літературі
 
з досвіду роботи
з досвіду роботиз досвіду роботи
з досвіду роботи
 
антична філософія
антична філософіяантична філософія
антична філософія
 
Йонний зв'язок
Йонний зв'язокЙонний зв'язок
Йонний зв'язок
 
портфоліо вчителя
портфоліо вчителяпортфоліо вчителя
портфоліо вчителя
 
Україна в інформатиці
Україна в інформатиціУкраїна в інформатиці
Україна в інформатиці
 
портфоліо вчителя математики та інформатики Ренчківської В. В.
портфоліо вчителя математики та інформатики Ренчківської В. В.портфоліо вчителя математики та інформатики Ренчківської В. В.
портфоліо вчителя математики та інформатики Ренчківської В. В.
 
Віртуальне спілкування
Віртуальне спілкуванняВіртуальне спілкування
Віртуальне спілкування
 
Десяткові дроби.Посібник
Десяткові дроби.ПосібникДесяткові дроби.Посібник
Десяткові дроби.Посібник
 

Similar to Amo2020 lection2

Алгоритмізація та програмування
Алгоритмізація та програмуванняАлгоритмізація та програмування
Алгоритмізація та програмуванняt0hins
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуШкола №7 Миргород
 
БазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiвБазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiвdnzcpto1
 
2 алгортми
2 алгортми2 алгортми
2 алгортмиbasikk077
 
алгоритми
алгоритмиалгоритми
алгоритми1cana1
 
Кодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмівКодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмівt0hins
 
11 клас 2 урок
11 клас 2 урок11 клас 2 урок
11 клас 2 урокStAlKeRoV
 
Введення до теорії алгоритмів та програмування
Введення до теорії алгоритмів та програмуванняВведення до теорії алгоритмів та програмування
Введення до теорії алгоритмів та програмуванняssuser847e42
 
Algoritmi formi podannja-algoritmiv
Algoritmi formi podannja-algoritmivAlgoritmi formi podannja-algoritmiv
Algoritmi formi podannja-algoritmivxitrik
 
алгоритми
алгоритмиалгоритми
алгоритмиborys1982
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівЗоя Муляр
 

Similar to Amo2020 lection2 (20)

Amo l14
Amo l14Amo l14
Amo l14
 
Алгоритмізація та програмування
Алгоритмізація та програмуванняАлгоритмізація та програмування
Алгоритмізація та програмування
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
 
базовI структури алгоритму урок 4
базовI структури алгоритму урок 4базовI структури алгоритму урок 4
базовI структури алгоритму урок 4
 
5971 789623
5971 7896235971 789623
5971 789623
 
l9
l9l9
l9
 
БазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiвБазовI структури алгоритмiв. конструювання алгоритмiв
БазовI структури алгоритмiв. конструювання алгоритмiв
 
2 алгортми
2 алгортми2 алгортми
2 алгортми
 
алгоритми
алгоритмиалгоритми
алгоритми
 
Кодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмівКодування алгоритмів. Поняття складності алгоритмів
Кодування алгоритмів. Поняття складності алгоритмів
 
11 клас 2 урок
11 клас 2 урок11 клас 2 урок
11 клас 2 урок
 
алгоритм урок 3
алгоритм урок 3алгоритм урок 3
алгоритм урок 3
 
Введення до теорії алгоритмів та програмування
Введення до теорії алгоритмів та програмуванняВведення до теорії алгоритмів та програмування
Введення до теорії алгоритмів та програмування
 
6 клас (урок№2)
6 клас (урок№2)6 клас (урок№2)
6 клас (урок№2)
 
Algoritmi formi podannja-algoritmiv
Algoritmi formi podannja-algoritmivAlgoritmi formi podannja-algoritmiv
Algoritmi formi podannja-algoritmiv
 
алгоритми
алгоритмиалгоритми
алгоритми
 
amo_20172018
amo_20172018amo_20172018
amo_20172018
 
розділ 3 алгоритми 1
розділ 3 алгоритми 1розділ 3 алгоритми 1
розділ 3 алгоритми 1
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмів
 
алгоритми
алгоритмиалгоритми
алгоритми
 

Recently uploaded

О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяAdriana Himinets
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptxssuserc301ed1
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfssuser15a891
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»tetiana1958
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfssuser54595a
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяssuser0a4f48
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняAdriana Himinets
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxOlgaDidenko6
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»tetiana1958
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...JurgenstiX
 

Recently uploaded (13)

О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. Біографія
 
Віртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptxВіртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptx
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
Її величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptxЇї величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptx
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентація
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповідання
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 

Amo2020 lection2

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. 14(лекцій) * (2 * 1(к.з.) + 1(к.) + 2 * 1(д.з.))
  • 12. Алгоритми та методи обчислень Лекція 1 Тема №1. Вступ до теорії алгоритмів. 1.1. Неформальне тлумачення алгоритму.
  • 13. 1.1. Неформальне тлумачення алгоритму. План: 1.1.1. Історія поняття алгоритму. 1.1.2. Визначення алгоритму. 1.1.3. Основні властивості алгоритмів. 1.1.4. Параметри алгоритму. 1.1.5. Базові структури (алгоритмічні конструкції) алгоритмів.
  • 14. 1.1.1. Історія поняття алгоритму. Слово алгоритм походить від algorithmi - латинської форми написання імені великого математика IX ст. Аль-Хорезмі, який сформулював правила виконання арифметичних дій.
  • 15.
  • 16. 1.1.2. Визначення алгоритму. Єдиного «істинного» визначення поняття «алгоритм» немає: Алгоритм—скінчений набір правил, який визначає послідовність операцій для розв’язку конкретної множини задач та володіє наступними важливими рисами: скінченістю, визначеністю, вводом, виводом, ефективністю. Алгоритм — система обчислень, що виконується за чітко визначеними равилами, яка після деякої кількості кроків приводить до розв’язку поставленої задачі. Алгоритм — чітко детермінована послідовність дій, яка описує процесс перетворення об’єкту із початкового стану в кінцевий, записана за допомогою зрозумілих виконавцю команд. Алгоритм — послідовність дій, направлених на отримання кінцевого результату за скінчену кількість крокіів. Алгоритм — послідовність дій, яка або приводить до розв’язку задачі, або пояснює, чому такий розв’язок отримати не можливо. Алгоритм — точна, однозначна, скінчена послідовність дій, яку необхідно виконати для досягнення конкретної мети за скінчену кількість кроків. Алгоритм — це скінчена послідовність команд, які потрібно виконати над
  • 17. 1.1.2. Визначення алгоритму. Визначення абстрактного алгоритму (за Черкаським М.В.)
  • 18. 1.1.3. Основні властивості алгоритмів. Властивості алгоритму: Скінченність. Алгоритм має завжди завершуватись після виконання скінченної кількості кроків. Дискретність. Процес, що визначається алгоритмом, можна розділити на окремі елементарні етапи. Визначеність. Кожен крок алгоритму має бути точно визначений. Вхідні дані. Алгоритм має деяку кількість (можливо, нульову) вхідних даних. Вихідні дані. Алгоритм має одне або декілька вихідних даних. Ефективність. Алгоритм має завершуватися отриманням результату обчислень, що записуються у вихідні дані. Масовість. Властивість алгоритму, яка полягає в тому, що алгоритм повинен забезпечувати розв'язання однотипних задач для будь-яких вхідних даних.
  • 19.
  • 20. 1.1.4. Параметри алгоритму. 1. Правило початку. 2. Правило вводу даних. 3. Система(потенційно нескінченна) вхідних даних. 4. Правило безпосереднього перероблення . 5. Система проміжних результатів. 6. Система кінцевих результатів. 7. Правило виводу. 8. Правило закінчення.
  • 21.
  • 22. 1.1.5. Базові структури (алгоритмічні конструкції) алгоритмів. Можна виділити чотири базові структури алгоритмів: · лінійні; · розгалужені; · циклічні; · змішані.
  • 23. Алгоритми та методи обчислень Лекція 2 Тема №1. Вступ до теорії алгоритмів. 1.2. Формалізація поняття алгоритму.
  • 24. 1.2. Формалізація поняття алгоритму. План: 1.2.1. Введення в теорію алгоритмів. 1.2.2. Формалізація поняття алгоритму. Формальні алгоритмічні системи(ФАС). 1.2.3. Скінченний автомат. Детермінований скінченний автомат(DFA). Недетермінований скінченний автомат(NFA). Магазинний автомат(PDA). 1.2.4. Нормальні алгоритми Маркова. 1.2.5. Машина Тюрінга. 1.2.6. Формальні граматики та формальні мови.
  • 25. Алгоритмічні ситеми • Нехай Α= < φ ,Ρ > - деякий алгоритм із системою правил Р . • Алгоритм АF =< φ, PF >, де PF — формальний опис системи Р , будемо називати формальним еквівалентом алгоритму А. • Алгоритмічною системою називають спосіб задання алгоритмів у деякому фіксованому формалізмі F, який дає змогу для довільного наперед заданого алгоритму А задати його формальний еквівалент АF.
  • 26. Алгоритмічні системи (Формальні алгоритмічні системи) Алгоритмічні системи можна вважати формалізацією поняття алгоритму. Виділяють три типи таких систем, які відрізняються початковими евристичними міркуваннями стосовно того, що таке алгоритм: – у першому типі поняття алгоритму пов’язане з найтрадиційнішими поняттями математики - обчисленнями та числовими функціями (числовою називають функцію, значення якої та значення її аргументів - невід’ємні числа). Рекурсивні функції - історично перша формалізація поняття алгоритму; – другий тип ґрунтується на уявленні про алгоритм як детермінований пристрій, здатний виконувати в кожний окремий момент лише дуже примітивні операції. Основна теоретична система цього типу - машина Тьюрінга; – третій тип алгоритмічних систем — це перетворення слів у довільних алфавітах. Приклади систем цього типу – канонічна система Поста й нормальні алгоритми Маркова.
  • 27. • Машина Тюрінга. • Машина Зенона. • Машина Поста. • Нормальні алгоритми Маркова. • Акумуляторна машина. • Регістрова машина. • РАМ-машина. • ПРАМ-машина. • ПРАМ-машина на основі ПВДН. • Детермінований скінченний автомат(DFA). • Недетермінований скінченний автомат(NFA). • Магазинний автомат(PDA) та стекова машина на його основі.
  • 28.
  • 29. Абстрактний автомат • Цифровий (дискретний) автомат – пристрій, який здійснює прийом, зберігання та перетворення дискретної інформації за деяким алгоритмом. В якомусь розумінні до автоматів можна віднести як реальні пристрої (обчислювальні машини, живі організми і т. ін.), так і абстрактні системи (математичні машини, аксіоматичні теорії та ін.). • Загальну теорію автоматів підрозділяють на абстрактну і структурну • Абстрактний кінцевий автомат описується трьома скінченними множинами і двома функціями: A = {X, Y, S , δ, λ}, де: X – множина вхідних сигналів або вхідний алфавіт, Y – множина вихідних сигналів або вихідний алфавіт, S – множина станів або алфавіт станів, δ – функція переходів, s(t + 1) = δ(s(t), x(t)), λ – функція виходів, y(t) = λ(s(t), x(t)). • Недетермінований кінцевий автомат автомат визначається аналогічно, але з тою різницею, що як δ, λ допускаються багатозначні функції.
  • 30. Автомат з магазинною пам'яттю (PDA)
  • 31. Недетермінований скінченний автомат Недетерміно́ваний автомат це автомат, який при даному вхідному символі і внутрішньому стані може переходити в декілька різних внутрішніх станів. НДСА формально представляє п'ятірка, (Q, Σ, Δ, q0, F), в якій: скінченна множина станів Q скінченна множина Σ функція переходу Δ : Q × Σ → P(Q). початковий стан q0 ∈ Q набір станів F позначених як допустимі (або кінцеві) стани F ⊆ Q. Тут, P(Q) позначає Q. Нехай w = a1a2 … an буде словом в абетці Σ. Автомат M приймає слово w якщо послідовність станів, r0,r1, …, rn, існує в Q з такими умовами: r0 = q0 ri+1 ∈ Δ(ri, ai+1), for i = 0, …, n−1 rn ∈ F.
  • 32. Нормальні алгоритми Маркова Для формалізації поняття алгоритму А. Марков 1954 р. розробив систему нормальних алгоритмів. Алгоритми Маркова — це формальна математична система. Вони були основою для першої мови обробки рядів СОМІТ. Крім того, є подібність між моделлю Маркова і мовою СНОБОЛ, яка з’явилась після СОМІТ. Простою продукцією (формулою підстановки) називають запис вигляду: u —> w , де и, w - рядки в алфавіті V . У цьому разі V не містить символів ‘->' та ‘.‘. Величину и називають ангицедентом , a w - консеквентом. Вважають, що формула и —> w може бути застосована до рядка Z є F , якщо є хоча б одне входження и в Z. В іншому випадку ця формула не застосовна до рядка Z. Якщо формула може бути застосована, то канонічне (перше ліворуч) входження и в Z замінюється на w. Наприклад, якщо формулу 'ba' —>’c' застосувати до вхідного рядка 'ababab' , то в підсумку отримаємо рядок 'achab'. Проте формула 'baa' —> 'c' до рядка 'ababab' не може бути застосована. Заключною продукцією (заключною підстановкою) називають запис вигляду: u —> -w Упорядковану множину продукцій Р1,Р7,...,Рn називають нормальним алгоритмом, чи алгоритмом Маркова.
  • 33. Нормальні алгоритми Маркова П р и к л ад. Нехай над словами з алфавіту V = {а,Ь,с} задано алгоритм з такими формулами підстановки Р1 : 'аb' —> 'b', Р2 : ’ас' —> 'с', Р3 : 'aa' —> 'a'. Цей алгоритм вилучає всі входження символа 'a' з рядка, за винятком випадку, коли 'а‘ є в кінці рядка. Простежимо роботу алгоритму, якщо вхідний рядок має вигляд 'bacaabaa'. Нехай символ => означає результат перетворення, а підрядок, який підлягає заміні, будемо підкреслювати: 'bacaabaa' => 'bacabaa' => 'bacbaa' => 'bcbaa ' => 'bcba'. Р1 Р1 Р2 Р3 Оскільки далі жодна з формул не може бути застосована, то на цьому робота алгоритму завершується.
  • 34. Машина Тюрінга • На змістовному рівні машина Тьюрінга (МТ) є деякою гіпотетичною(умовною) машиною, яка складається з трьох головних компонент: інформаційної стрічки, головки для зчитування і запису та пристрою керування.
  • 35.
  • 36. Алгоритмічна система Тюрінга Модель однострічкової детермінованої МТ: М = < A, I, Q, q0, qf, a0, p >, де A – кінцева множина символів зовнішнього алфавіту, I – кінцева множина символів зовнішнього алфавіту на стрічці, Q – кінцева множина символів внутрішнього алфавіту, q0 – початковий стан, qf – кінцевий стан, q0, qf Є Q a0 – позначення порожньої комірки стрічки, p – така програма, яка не може мати двох команд, у яких би збігалися два перші символи: {A}x{Q} {A}{L,R,S}{Q}, де L – зсувати головку вліво, R – зсувати головку вправо, S – головка залишається на місці.
  • 37.
  • 38. Машини Тюрінга • Машини Тюрінга – Змінна машина Тюрінга – Нейронна машина Тюрінга – Недетермінована машина Тюрінга – Квантова машина Тюрінга – Машина Поста-Тюрінга – Імовірнісна машина Тюрінга – Незмінна машина Тюрінга – Незмінна машина Тюрінга з рухом праворуч – Багатострічкова машина Тюрінга – Симетрична машина Тюрінга – Повна машина Тюрінга – Однозначна машина Тюрінга – Універсальна машина Тюрінга – Машина Зенона
  • 40. Машина Поста (машина Поста-Тюрінга) • Машина Поста має нескінченну інформаційну стрічку, на яку записують інформацію в двійковому алфавіті {0,1}. Алгоритм задають як скінченну впорядковану послідовність перенумерованих правил — команд Поста. • Є шість типів команд Поста: – 1) відмітити активну комірку стрічки, тобто записати в неї І і – перейти до виконання i-ї команди; – 2) стерти відмітку активної комірки, тобто записати в неї 0 і – перейти до виконання i-Ї команди; – 3) змістити активну комірку на одну позицію вправо і перейти – до виконання i-ї команди; – 4), змістити активну комірку на одну позицію вліво і перейти – до виконання i-ї команди; – 5) якщо активна комірка відмічена, то перейти до виконання і- – ї команди, інакше - до виконання j-Ї команди; – 6) зупинка, закінчення роботи алгоритму.
  • 41. • Формальна граматика або просто граматика в теорії формальних мов — спосіб опису формальної мови, тобто виділення деякої підмножини з множини всіх слів деякого скінченного алфавіту. Розрізняють породжувальні і аналітичні граматики — перші ставлять правила, за допомогою яких можна побудувати будь-яке слово мови, а другі дозволяють по даному слову визначити, входить воно в мову чи ні. Формальні граматики були введені американським вченим, математиком та філософом, Н. Хомським у 50-тих роках XX сторіччя. • Алфавіт — скінченна множина символів. ε — порожній ланцюжок. Нехай Т — алфавіт, тоді: – Т+ — множина усіх можливих послідовностей, що складені з елементів цього алфавіту крім порожньої послідовності ε. – Т* — множина усіх можливих послідовностей, що складені з елементів цього алфавіту, будь-якої довжини. Отже: – Тk — множина усіх можливих послідовностей,що складені з елементів цього алфавіту, довжини не більше k. • Мова в алфавіті Т це множина ланцюжків скінченної довжини в цьому алфавіті. Зрозуміло, що кожна мова в алфавіті Т є підмножиною множини Т*. Формальні мови. Засоби опису формальних мов
  • 44. Ієрархія Чомскі Граматика Правила Мови Тип-0 Довільна формальна граматика α → β ∈α V* N V*, ∈β V* рекурсивно зліченна Автомат Машина Тюринга Абр. KSV* Тип-1 Контекстно-залежна граматика α A β → α'γ'β ∈A N, α, β ∈ V*, γ ∈ V+ S → ε дозволене, коли серед правил P відсутнє α → β Sγ. контекстно- залежна Автомати Лінійний обмежений автомат Абр. КЗ Тип-2 Контекстно-вільна граматика A → γ ∈A N, ∈γ V* контекстно-вільна Автомати недетермінований автомат з магазинною пам'ятю Абр. КВ Тип-3 регулярна граматика S → ε A → aB (праволінійна) або A → Ba (ліволінійна) A → a A → ε ∈ ∈A, B N, a Σ регулярна Автомати Скінченний автомат (детермінований і недетермінований) Абр. А Позначення множин – ∪Σ, N, V=Σ N Операції – C, K , S , V, *
  • 46. Довільна формальна граматика та рекурсивно зліченні мови • Це найзагальніший клас граматик. На правила не накладаються ніяких обмежень, окрім зазначених у визначенні. Вони еквівалентні Машині Тюринга. Доведено існування мов, які породжуються граматиками типу 0, але не граматиками типу 1, але невідомі прості приклади таких мов.
  • 47. Контекстно-залежна граматика та породжувані ними мови • Контекстно-залежні граматики породжують контекстно-залежні мови. Тобто, кожна КЗ граматика породжує КЗ мову, і для кожної КЗ мови існує КЗ граматика, що її породжує. • Контекстно-залежні мови можна розпізнати недетермінованою лінійно-обмеженою машиною Тюринга (недетермінована машина Тюринга зі стрічкою обмеженої довжини). • Визначення приналежності слова мові (x ∈L) для КЗ-мов розв'язувана.
  • 48. Контекстно-залежні граматика та породжувані ними мови • Тобто в усіх правилах цього виду зліва стоїть тільки один нетермінал. Тому вони і контекстно вільні, бо на використання правила для даного нетерміналу не впливають символи, що оточують його. Ці символи називають контекстом.
  • 49. Контекстно-вільна граматика та породжувальні ними мови • Контекстно-вільні граматики породжують контекстно-вільні мови, тобто, кожна КВ граматика породжує КВ мову, і для кожної КВ мови існує КВ граматика, що її породжує. • Контекстно-вільні мови можна розпізнати недетермінованим автоматом з магазинною пам'ятю. За умови існування детермінованого автомату, здатного розпізнати мову, її називають детермінованою КВ мовою. Ця підмножина КВ мов утворює теоретичну основу для синтаксиса багатьох мов програмування.
  • 50. Регулярні граматики. А-граматики • Граматики типу 3 можна визначити як праволінійну або ліволінійну граматику, або як змішану. Також ці мови називають скінченно-автоматними, бо вони еквівалентні скінченним автоматам, тобто клас мов, що породжуються граматиками типу 3, збігається з класом мов, які розпізнаються скінченими автоматами. Також ці граматики є основою регулярних виразів. Доведено, що праволінійні та ліволінійні граматики еквівалентні, і існує алгоритм для переведення правил граматики одного типу в інший тип.
  • 51. Регулярна мова • Регулярна мова (регулярна множина) - це формальна мова третього класу з класифікації Чомскі. • Регулярна мова може задаватись регулярною граматикою, регулярним виразом, та розпізнаватись ДСкА чи НДСкА. • Для визначення приналежності мови класу регулярних існує Лема про накачку для регулярних мов та теорема Майхілла-Нероде.
  • 52. Регулярні вирази • Окрім автоматів і граматик для опису регулярних мов зручно використовувати регулярні вирази. • Регулярний вираз є послідовністю, що описує множину рядків. Ці послідовності використовують для точного описання множини без перелічення всіх її елементів. Наприклад, множина, що складається із слів «грати» та «ґрати» може бути описана регулярним виразом «[гґ]рати». В більшості формалізмів, якщо існує регулярний вираз, що описує задану множину, тоді існує нескінченна кількість варіантів, які описують цю множину
  • 53. Метасимволи регулярних виразів • . (крапка) – один довільний символ (крім символу переходу на новий рядок) • t – табуляція • n – новий рядок • – власне (backslash) • s – один довільний пробільний символ (пробіл, табуляція, новий рядок) • S – один довільний символ, який не входить у перелічені для s • d – одна довільна цифра (digit) • D – один довільний символ, який не може бути цифрою
  • 54. Метасимволи регулярних виразів • w – одна довільна літера або цифра або знак підкреслювання (word character), те саме що [A-Za-z0- 9_] • W – один довільний символ, який не входить у перелічені для w • - – позначає діапазон(у класі символів) або власне цей символ, якщо це перший символ у класі ([-abc]) • $ – кінець рядка • ^ – початок рядка або заперечення, якщо це перший символ у класі символів ([^abc]) • ^$ – пустий рядок • | - логічне АБО (використовується у групі символів)
  • 55. Метасимволи регулярних виразів • < – початок слова • > – кінець слова • b – межа слова (початок або кінець) або символ backspace, якщо він знаходиться у класі символів • B – позиція, що не є межею слова • . – власне крапка • $ – власне символ $ • [, ] – власне квадратні дужки • (, ) – власне круглі дужки • {, } – власне фігурні дужки
  • 56. Метасимволи регулярних виразів Групування та повторення: • * – нуль або більше разів повторений попередній символ (або група символів) • + – один або більше разів повторений попередній символ (або група символів) • ? – нуль або один раз повторений попередній символ (або група символів) • () – групують символи (всі, що присутні у дужках, можливе застосування логічного АБО (символ |)) • [] – визначають клас (або множину) символів – неупорядковану групу символів, з якої для відповідного регулярного виразу обирається один довільний • {n} – рівно n разів повторений попередній символ (або група символів) • {n, m} – попередній символ (або група символів) повторений від n до m разів • {n, } – n або більше разів повторений попередній символ (або група символів)
  • 57. Регулярні вирази Приклади • [A-Za-z] – один довільний символ латинської абетки, незалежно від регістру (тут не можна писати [A-z], бо між літерами у великому та малому регістрах знаходяться інші символи) • [0-9] або (0|1|2|3|4|5|6|7|8|9) або d – одна довільна цифра • (d{3}) d{3}-d{4} – номер телефону у форматі (044) 123-4567 • #[0-9a-fA-F]{6} – шістнадцятковий код кольору (наприклад, #12CCAA) • ([0-9]|[1-9][0-9]|1[1-9][0-9]|2[0-4][0-9]|25[0-5]) – довільне число з діапазону 0-255 (цей вираз можна скоротити)
  • 58. Нотація Бекуса-Наура • Нота́ція Бе́куса—Нау́ра (англ. Backus-Naur form, BNF) — це спосіб запису правил контекстно-вільної граматики, тобто форма опису формальної мови. • БНФ визначає скінченну кількість символів (нетерміналів). Крім того, вона визначає правила заміни символу на якусь послідовність букв (терміналів) і символів. Процес отримання ланцюжка букв можна визначити поетапно: спочатку є один символ (символи зазвичай знаходяться у кутових дужках, а їх назва не несе жодної інформації). Потім цей символ замінюється на деяку послідовність букв і символів, відповідно до одного з правил. Потім процес повторюється (на кожному кроці один із символів замінюється на послідовність, згідно з правилом). Зрештою , виходить ланцюжок , що складається з букв і не містить символів. Це означає , що отриманий ланцюжок може бути виведений з початкового символу.
  • 59. Нотація Бекуса-Наура Нотація БНФ є набором «продукцій», кожна з яких відповідає зразку: <символ> ::= <вираз, що містить символи> <вираз, що містить символи> це послідовність символів або послідовності символів, розділених вертикальною рискою |, що повністю перелічують можливий вибір символ з лівої частини формули. Наступні чотири символи є символами мета-мови, вони не визначені у мові, котру описують: – < — лівий обмежувач виразу – > — правий обмежувач виразу – ::= — визначене як – | — або Інші символи належать до «абетки» описуваної мови.
  • 61. Розширена нотація Бекуса- Наура • Розши́рена фо́рма Бе́куса — На́ура (англ. extended Backus–Naur form, EBNF) була розроблена Ніклавсом Віртом, яка сьогодні існує в багатьох варіантах, перед усім — ISO-14977. РБНФ відрізняється від БНФ більш «ємкими» конструкціями, що дозволяють при тій же виразності спростити і скоротити в обсязі опис.
  • 62. Розширена нотація Бекуса-Наура При використанні розширеної форми Бекуса-Наура (EBNF): • не термінальні символи записуються як окремі слова • термінальні символи записуються в лапках • вертикальна риска |, як і в БНФ, використовується для визначення альтернатив • круглі дужки використовуються для групування • квадратні дужки використовуються для визначення можливого входження символу або групи символів • фігурні дужки використовуються для визначення можливого повторення символу або групи символів • символ рівності використовується замість символу :: = • конкатенація позначається комою • символ крапки використовується для позначення кінця правила • коментарі записуються між символами (* ... *)
  • 64.
  • 72. П р и к л ад. Нехай над словами з алфавіту V = {а,Ь,с} задано алгоритм з такими формулами підстановки Р1 : 'аb' —> 'b', Р2 : ’ас' —> 'с', Р3 : 'aa' —> 'a'. Цей алгоритм вилучає всі входження символа 'a' з рядка, за винятком випадку, коли 'а‘ є в кінці рядка. Простежимо роботу алгоритму, якщо вхідний рядок має вигляд 'bacaabaa'. Нехай символ => означає результат перетворення, а підрядок, який підлягає заміні, будемо підкреслювати: 'bacaabaa' => 'bacabaa' => 'bacbaa' => 'bcbaa ' => 'bcba'. Р1 Р1 Р2 Р3 Оскільки далі жодна з формул не може бути застосована, то на цьому робота алгоритму завершується.
  • 73.
  • 74. Операторні алгоритмічні системи • Однією з особливостей алгоритмічних систем, за винятком машини Поста, є незмінність набору допустимих засобів, використовуваних для запису алгоритмів і процесів Їхнього виконання. В системі нормальних алгоритмів такими є один оператор(підстановки) і один розпізнавач (входження); у системі рекурсивних функцій фіксованим є набір базових функцій (S, 0, /) і набір операторів (S, R, М, М’); під час обчислення на машині Тьюрінга елементарні такти обмежені фіксованим набором операцій (заміна символа в комірці, зміна стану машини і позиції головки). • Водночас під час вивчення конкретних алгоритмів бажано мати такі допустимі засоби їхнього опису, які найзручніші для цього класу алгоритмів. Наприклад, алгоритми лінійної алгебри найзручніше описувати за допомогою чотирьох арифметичних дій, а алгоритми обчислення функцій алгебри логіки - за допомогою тих логічних операцій, у термінах яких ці функції записані. • Операторні алгоритмічні системи першими почали орієнтувати на конкретні мови програмування, тобто на реальні обчислювальні машини. До визначення алгоритму в разі практичного використання ставлять такі вимоги: – можливість вибору засобів опису алгоримів залежно від класу алгоритмів; – дозвіл формування команд алгоритму в процесі його виконання; – дозвіл використання широкого діапазону елементарних логічних операцій над об’єктами.