Для простоти я розпочну лише з розгляду проблем «рішення», на які є відповідь «так / ні». Проблеми з функціонуванням працюють приблизно однаково, за винятком того, що замість так / ні, з кожним введеним словом є специфічне вихідне слово.
Мова : мова - це просто набір рядків. Якщо у вас є алфавіт, такий як
, то Σ ∗ - це набір усіх слів, що містять лише символи у Σ . Наприклад, { 0 , 1 } ∗ - це сукупність усіх бінарних послідовностей будь-якої довжини. Але алфавіт не повинен бути двійковим. Це може бути одинарний, потрійний тощо.ΣΣ∗Σ{0,1}∗
Мова над алфавітом - це будь-який підмножина Σ ∗ .ΣΣ∗
Проблема : Проблема - це запитання щодо запиту, на який ми б хотіли відповісти. Зокрема, проблема рішення - це питання, яке задає питання: "Чи відповідає наш вхід властивістю ?X
X
L={w∣wyXyX}
Визначення того, чи відповідає відповідь на вхід до проблеми рішення "так", рівнозначно, чи кодування цього вводу над алфавітом відповідає відповідній мові.
Алгоритм : Алгоритм - це покроковий спосіб вирішення проблеми. Зауважте, що алгоритм може бути виражений багатьма способами та багатьма мовами, і що існує багато різних алгоритмів, що вирішують будь-яку задачу.
M
L(M)={w∣Mw}
RRE
Взаємозв’язок між мовами та машинами Тюрінга полягає в наступному
Кожна машина Тьюрінга приймає рівно одну мову
Може бути кілька машин Тьюрінга, які приймають дану мову
Можливо, не існує машини Тьюрінга, яка б приймала дану мову.
Ми можемо сказати приблизно те саме про алгоритми та проблеми: кожен алгоритм вирішує одну проблему, але алгоритмів, що вирішують задану проблему, може бути 0, або багато.
Часова складність : Одне з найпоширеніших джерел плутанини між алгоритмами та проблемами стосується класів складності. Правильний розподіл можна підсумувати так:
- Алгоритм має складність у часі
- Проблема належить до класу складності
f(n)f(n)n
Проблеми не мають часу виконання, оскільки проблема не пов'язана з певним алгоритмом, який фактично працює. Натомість ми говоримо, що проблема належить до класу складності, якщо існує якийсь алгоритм, що вирішує цю проблему із заданою часовою складністю.
P,NP,PSPACE,EXPTIMEPXXPXXP